{"version":3,"file":"static/js/index.67dc51ff.js","sources":["webpack://mw-mypage2/./src/Enums.ts","webpack://mw-mypage2/./src/Types.ts","webpack://mw-mypage2/./src/__generated__/documentsPaginationQuery_CasePotentialBuyer.graphql.ts","webpack://mw-mypage2/./src/__generated__/mainNavigationNotificationsRefreshQuery.graphql.ts","webpack://mw-mypage2/./src/__generated__/registerOpenHouseQuery.graphql.ts","webpack://mw-mypage2/./src/app/context/ThemeContext.ts","webpack://mw-mypage2/./src/__generated__/viewerContextQuery.graphql.ts","webpack://mw-mypage2/./src/app/contexts/viewerContext.tsx","webpack://mw-mypage2/./src/app/mixpanel/MixPanelProvider.tsx","webpack://mw-mypage2/./src/app/pages/activities/tab.ts","webpack://mw-mypage2/./src/app/pages/favorites/tab.ts","webpack://mw-mypage2/./src/app/pages/match/tab.ts","webpack://mw-mypage2/./src/app/pages/my-sales/tab.ts","webpack://mw-mypage2/./src/hooks/use-navigate-to-top.tsx","webpack://mw-mypage2/./src/components/atoms/button/button.tsx","webpack://mw-mypage2/./src/assets/icons/svgs/AddPin.svg","webpack://mw-mypage2/./src/assets/icons/svgs/AndroidAddHomeScreen.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowDown.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowFilled.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowLeft.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowLeftLong.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowRight.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowRightLong.svg","webpack://mw-mypage2/./src/assets/icons/svgs/ArrowUp.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Avatar.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Banner.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Bell.svg","webpack://mw-mypage2/./src/assets/icons/svgs/BellOff.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Boligsiden.svg","webpack://mw-mypage2/./src/assets/icons/svgs/BurgerMenu.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Calendar.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Camera.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Cart.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Chat.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Check.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Clip.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Clock.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Cross.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Cross1.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Delete.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Dot.svg","webpack://mw-mypage2/./src/assets/icons/svgs/DotsMenu.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Download.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Dropdown.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Expand.svg","webpack://mw-mypage2/./src/assets/icons/svgs/FB.svg","webpack://mw-mypage2/./src/assets/icons/svgs/FavouritePin.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Files.svg","webpack://mw-mypage2/./src/assets/icons/svgs/FilesCheck.svg","webpack://mw-mypage2/./src/assets/icons/svgs/FullArrowLeft.svg","webpack://mw-mypage2/./src/assets/icons/svgs/FullArrowRight.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Heart.svg","webpack://mw-mypage2/./src/assets/icons/svgs/HeartFilled.svg","webpack://mw-mypage2/./src/assets/icons/svgs/HeartOutline.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Home.svg","webpack://mw-mypage2/./src/assets/icons/svgs/House.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Image.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Images.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Info.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Lead.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Letter.svg","webpack://mw-mypage2/./src/assets/icons/svgs/LogOut.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Minus.svg","webpack://mw-mypage2/./src/assets/icons/svgs/NewMessage.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Note.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Pen.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Person.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Pin.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Plan.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Play.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Plus.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Search.svg","webpack://mw-mypage2/./src/assets/icons/svgs/SellerSays.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Send.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Share.svg","webpack://mw-mypage2/./src/assets/icons/svgs/StarFilled.svg","webpack://mw-mypage2/./src/assets/icons/svgs/StarOutline.svg","webpack://mw-mypage2/./src/assets/icons/svgs/TickDown.svg","webpack://mw-mypage2/./src/assets/icons/svgs/Trashcan.svg","webpack://mw-mypage2/./src/components/atoms/icon/icon.tsx","webpack://mw-mypage2/./src/components/atoms/loader/loader.tsx","webpack://mw-mypage2/./src/components/atoms/spinner/spinner.tsx","webpack://mw-mypage2/./src/components/atoms/tag/tag.tsx","webpack://mw-mypage2/./src/components/atoms/typography/typography.tsx","webpack://mw-mypage2/./src/utils/avatarVersions.ts","webpack://mw-mypage2/./src/components/molecules/avatar/avatar.tsx","webpack://mw-mypage2/./src/components/molecules/chat-actions/chat-actions.tsx","webpack://mw-mypage2/./src/components/molecules/checkbox/checkbox.tsx","webpack://mw-mypage2/./src/__generated__/contactCard_employee.graphql.ts","webpack://mw-mypage2/./src/components/molecules/contact-card/contact-card.tsx","webpack://mw-mypage2/./src/components/molecules/custom-select/custom-select.tsx","webpack://mw-mypage2/./src/components/molecules/date-picker/date-picker.tsx","webpack://mw-mypage2/./src/components/molecules/empty-module/empty-module.tsx","webpack://mw-mypage2/./src/components/molecules/file-input/file-input.tsx","webpack://mw-mypage2/./src/components/molecules/indeterminate-checkbox/indeterminate-checkbox.tsx","webpack://mw-mypage2/./src/components/molecules/input/input.tsx","webpack://mw-mypage2/./src/__generated__/openHouseImageOverlay_baseCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-images/open-house-image-overlay.tsx","webpack://mw-mypage2/./src/components/molecules/modal/modal.tsx","webpack://mw-mypage2/./src/components/molecules/not-found/not-found.tsx","webpack://mw-mypage2/./src/components/molecules/popup-overlay/popup-overlay.tsx","webpack://mw-mypage2/./src/__generated__/leadListItemFragment.graphql.ts","webpack://mw-mypage2/./src/components/molecules/card/card.tsx","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/lead-list-item.tsx","webpack://mw-mypage2/./src/__generated__/saleByOwnerMutation.graphql.ts","webpack://mw-mypage2/./src/__generated__/saleByOwnerGridFragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadDialogContent.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadDialogContentViewer.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadPresentationDialogContent.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadPresentationDialogContentViewer.graphql.ts","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/dialog/utils.ts","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/dialog/lead-presentation-dialog-content.tsx","webpack://mw-mypage2/./src/__generated__/leadContactDialogContentFragment.graphql.ts","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/dialog/lead-contact-dialog-content.tsx","webpack://mw-mypage2/./src/__generated__/leadOpenHouseDialogContent.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadOpenHouseDialogContentViewer.graphql.ts","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/dialog/lead-open-house-dialog-content.tsx","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/dialog/lead-dialog-content.tsx","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/sale-by-owner-grid.tsx","webpack://mw-mypage2/./src/components/molecules/select/select.tsx","webpack://mw-mypage2/./src/components/molecules/simple-modal/simple-modal.tsx","webpack://mw-mypage2/./src/components/molecules/textarea/textarea.tsx","webpack://mw-mypage2/./src/__generated__/contactModuleOffmarket_offmarketCase.graphql.ts","webpack://mw-mypage2/./src/components/organisms/contact-module/contact-module-offmarket.tsx","webpack://mw-mypage2/./src/__generated__/contactModule_baseCase.graphql.ts","webpack://mw-mypage2/./src/components/organisms/contact-module/contact-module.tsx","webpack://mw-mypage2/./src/__generated__/contactSellerModal_customerIdQuery.graphql.ts","webpack://mw-mypage2/./src/__generated__/createThread_Mutation.graphql.ts","webpack://mw-mypage2/./src/components/organisms/contact-seller-form/contact-seller-form.tsx","webpack://mw-mypage2/./src/components/organisms/contact-seller-modal/contact-seller-modal.tsx","webpack://mw-mypage2/./src/components/atoms/select/select.tsx","webpack://mw-mypage2/./src/components/molecules/table-select/table-select.tsx","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table-footer.tsx","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table-header.tsx","webpack://mw-mypage2/./src/__generated__/documentsTableRowFragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table-row.tsx","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table-state-context.ts","webpack://mw-mypage2/./src/components/organisms/documents-table/utils.ts","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table-state-reducer.ts","webpack://mw-mypage2/./src/components/organisms/documents-table/documents-table.tsx","webpack://mw-mypage2/./src/components/organisms/documents-table/empty-table-body.tsx","webpack://mw-mypage2/./src/components/organisms/documents-table/table-skeleton.tsx","webpack://mw-mypage2/./src/__generated__/caseImages_Media.graphql.ts","webpack://mw-mypage2/./src/components/molecules/gallery-navigation/gallery-navigation.tsx","webpack://mw-mypage2/./src/__generated__/caseGallery_mediaDataConnection.graphql.ts","webpack://mw-mypage2/./src/__generated__/caseGallerySwiper_mediaDataConnection.graphql.ts","webpack://mw-mypage2/./src/components/molecules/swiper-navigation/swiper-navigation.tsx","webpack://mw-mypage2/./src/components/molecules/images-swiper/video.tsx","webpack://mw-mypage2/./src/components/molecules/images-swiper/image.tsx","webpack://mw-mypage2/./src/components/organisms/case-gallery-swiper/case-gallery-swiper.tsx","webpack://mw-mypage2/./src/components/organisms/case-gallery/case-gallery.tsx","webpack://mw-mypage2/./src/components/organisms/map-overlay/map-overlay.tsx","webpack://mw-mypage2/./src/__generated__/caseImagesSwiper_mediaDataConnection.graphql.ts","webpack://mw-mypage2/./src/components/molecules/case-images-swiper/case-images-swiper.tsx","webpack://mw-mypage2/./src/__generated__/caseFullscreenGallery_mediaDataConnection.graphql.ts","webpack://mw-mypage2/./src/components/molecules/case-fullscreen-gallery/case-fullscreen-gallery.tsx","webpack://mw-mypage2/./src/components/organisms/images/case-images.tsx","webpack://mw-mypage2/./src/__generated__/matchHeroDetailsFragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/matchHeroContentAgriculturalCase_baseCase.graphql.ts","webpack://mw-mypage2/./src/__generated__/matchHeroContentBusinessSalesCase.graphql.ts","webpack://mw-mypage2/./src/__generated__/bookShowcasingModal_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/createPresentationMutation.graphql.ts","webpack://mw-mypage2/./src/__generated__/matchHeroContentFragment_baseCase.graphql.ts","webpack://mw-mypage2/./src/__generated__/matchHeroContentFragment_offmarketCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-content-agriculturalcase/match-hero-content-agricultural-case.tsx","webpack://mw-mypage2/./src/components/molecules/match-hero-content-businesssalescase/match-hero-content-business-sales-case.tsx","webpack://mw-mypage2/./src/__generated__/matchHeroContentCounselingCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-content-counselingcase/match-hero-content-counseling-case.tsx","webpack://mw-mypage2/./src/__generated__/matchHeroContentRentalCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-content-rentalcase/match-hero-content-rental-case.tsx","webpack://mw-mypage2/./src/__generated__/matchHeroContentSalesCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-content-salescase/match-hero-content-sales-case.tsx","webpack://mw-mypage2/./src/components/molecules/match-hero-details/match-hero-details.tsx","webpack://mw-mypage2/./src/__generated__/matchHeroOffmarketDetailsFragment_offmarketCase.graphql.ts","webpack://mw-mypage2/./src/components/molecules/match-hero-details/match-hero-offmarket-details.tsx","webpack://mw-mypage2/./src/components/organisms/book-showcasing-modal/book-showcasing-modal.tsx","webpack://mw-mypage2/./src/components/organisms/match-hero-content/match-hero-content.tsx","webpack://mw-mypage2/./src/__generated__/myPageSpotsEntity.graphql.ts","webpack://mw-mypage2/./src/components/organisms/my-page-spots/my-page-spots.tsx","webpack://mw-mypage2/./src/__generated__/registerOpenHouseModal_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/registerOpenHouseModalFragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/registerOpenHouseModalMutation.graphql.ts","webpack://mw-mypage2/./src/components/organisms/register-open-house-modal/success-summit.tsx","webpack://mw-mypage2/./src/components/organisms/register-open-house-modal/register-open-house-modal.tsx","webpack://mw-mypage2/./src/components/organisms/self-sale/appointment-modal-content.tsx","webpack://mw-mypage2/./src/__generated__/chooseActivityModal_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation.graphql.ts","webpack://mw-mypage2/./src/components/organisms/self-sale/components/headline.tsx","webpack://mw-mypage2/./src/components/organisms/self-sale/components/show-casing-input.tsx","webpack://mw-mypage2/./src/components/organisms/self-sale/choose-activity-modal.tsx","webpack://mw-mypage2/./src/components/molecules/timepicker/timerpicker.tsx","webpack://mw-mypage2/./src/components/organisms/self-sale/components/appointment-timepicker.tsx","webpack://mw-mypage2/./src/components/organisms/self-sale/self-sale-functions.ts","webpack://mw-mypage2/./src/components/organisms/tab-component/tab-component.tsx","webpack://mw-mypage2/./src/components/templates/error-boundary-block.tsx","webpack://mw-mypage2/./src/components/templates/suspense-hoc.tsx","webpack://mw-mypage2/./src/components/utilities/block/block.tsx","webpack://mw-mypage2/./src/components/utilities/column/column.tsx","webpack://mw-mypage2/./src/components/utilities/container/container.tsx","webpack://mw-mypage2/./src/components/utilities/module-wrapper/module-wrapper.tsx","webpack://mw-mypage2/./src/components/utilities/row/row.tsx","webpack://mw-mypage2/./src/hooks/relay/useCreate.tsx","webpack://mw-mypage2/./src/hooks/relay/relay-utils.ts","webpack://mw-mypage2/./src/hooks/relay/useUpdate.tsx","webpack://mw-mypage2/./src/hooks/use-on-click-outside.ts","webpack://mw-mypage2/./src/hooks/useIntersectionObserver.ts","webpack://mw-mypage2/./src/hooks/useWindowSize.ts","webpack://mw-mypage2/./src/hooks/useIsMobile.ts","webpack://mw-mypage2/./src/hooks/useList.tsx","webpack://mw-mypage2/./src/hooks/useMixPanel.ts","webpack://mw-mypage2/./src/hooks/useNodes.ts","webpack://mw-mypage2/./src/hooks/usePropertyCategories.ts","webpack://mw-mypage2/./src/hooks/useSubscriptionWithReconnect.ts","webpack://mw-mypage2/./src/hooks/useToggle.ts","webpack://mw-mypage2/./src/__generated__/defaultLayout_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/defaultLayout_unreadNotifications_Subscription.graphql.ts","webpack://mw-mypage2/./src/__generated__/notifications_fragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/subscribeClientMutation.graphql.ts","webpack://mw-mypage2/./src/__generated__/unsubscribeClientMutation.graphql.ts","webpack://mw-mypage2/./src/__generated__/favoritePage_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/favoritePageHero_fragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/favoritePageDocumentsRender_Query.graphql.ts","webpack://mw-mypage2/./src/__generated__/favoritePageDocumentsBody_CasePotentialBuyer.graphql.ts","webpack://mw-mypage2/./src/__generated__/saleByOwnerPageQuery.graphql.ts","webpack://mw-mypage2/./src/reportWebVitals.ts","webpack://mw-mypage2/./src/__generated__/stickyChat_fragment.graphql.ts","webpack://mw-mypage2/./src/components/molecules/sticky-chat/sticky-chat.tsx","webpack://mw-mypage2/./src/components/organisms/footer/footer.tsx","webpack://mw-mypage2/./src/components/organisms/install-pwa-modal/installPWA.tsx","webpack://mw-mypage2/./src/hooks/useIsIOS.ts","webpack://mw-mypage2/./src/__generated__/mainNavigation_fragment.graphql.ts","webpack://mw-mypage2/./src/components/atoms/badge/badge.tsx","webpack://mw-mypage2/./src/utils/arrayBufferToBase64.tsx","webpack://mw-mypage2/./src/utils/requestNotificationPermission.ts","webpack://mw-mypage2/./src/__generated__/notificationComponent_fragment.graphql.ts","webpack://mw-mypage2/./src/__generated__/leadNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/lead-notification.tsx","webpack://mw-mypage2/./src/__generated__/openHouseFavoriteCaseNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/open-house-favorite-case-notification.tsx","webpack://mw-mypage2/./src/__generated__/priceChangeFavoriteCaseNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/price-change-favorite-case-notification.tsx","webpack://mw-mypage2/./src/__generated__/priceChangeOnMatchCaseNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/price-change-on-match-case-notification.tsx","webpack://mw-mypage2/./src/__generated__/activityNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/activity-notification.tsx","webpack://mw-mypage2/./src/__generated__/documentAccessGrantedNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/document-access-granted-notification.tsx","webpack://mw-mypage2/./src/__generated__/documentSigningNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/document-signing-notification.tsx","webpack://mw-mypage2/./src/__generated__/messageNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/message-notification.tsx","webpack://mw-mypage2/./src/__generated__/requestedDocumentNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/requested-document-notification.tsx","webpack://mw-mypage2/./src/__generated__/searchProfileMatchNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/search-profile-match-notification.tsx","webpack://mw-mypage2/./src/__generated__/searchProfileMatchedCaseNotification_fragment.graphql.ts","webpack://mw-mypage2/./src/components/organisms/notifications/components/search-profile-matched-case-notification.tsx","webpack://mw-mypage2/./src/components/organisms/notifications/components/notification-component.tsx","webpack://mw-mypage2/./src/components/organisms/notifications/no-notification-data.tsx","webpack://mw-mypage2/./src/components/organisms/notifications/notifications.tsx","webpack://mw-mypage2/./src/app/pages/favorites/favorite-page-hero.tsx","webpack://mw-mypage2/./src/app/pages/favorites/documents/favorite-page-documents-body.tsx","webpack://mw-mypage2/./src/app/pages/favorites/documents/favorite-page-documents-render.tsx","webpack://mw-mypage2/./src/__generated__/saleByOwnerProcessedGridFragment.graphql.ts","webpack://mw-mypage2/./src/components/molecules/sale-by-owner/sale-by-owner-processed-grid.tsx","webpack://mw-mypage2/./src/app/pages/sale-by-owner/sale-by-owner-page.tsx","webpack://mw-mypage2/./src/app/router/routes-setup.tsx","webpack://mw-mypage2/./src/app/pages/favorites/favorite-page.tsx","webpack://mw-mypage2/./src/components/organisms/home-link/home-link.tsx","webpack://mw-mypage2/./src/components/organisms/logout-button/logout-button.tsx","webpack://mw-mypage2/./src/app/mixpanel/util.tsx","webpack://mw-mypage2/./src/components/organisms/bell-highlight-popup/bell-highlight-popup.tsx","webpack://mw-mypage2/./src/components/organisms/main-navigation/main-navigation.tsx","webpack://mw-mypage2/./src/services/error-boundary/error-boundary.tsx","webpack://mw-mypage2/./src/app/layouts/default-layout.tsx","webpack://mw-mypage2/./src/services/relay/relay-environment.ts","webpack://mw-mypage2/./src/services/translations/IntlProvider.tsx","webpack://mw-mypage2/./src/components/molecules/top-level-toast-container/top-level-toast-container.tsx","webpack://mw-mypage2/./src/app/contexts/userDeviceContext.tsx","webpack://mw-mypage2/./src/app/AppRoot.tsx","webpack://mw-mypage2/./src/setup/setup-react-app.tsx","webpack://mw-mypage2/./src/index.tsx","webpack://mw-mypage2/./src/serviceWorkerRegistration.ts","webpack://mw-mypage2/./src/services/authentication/authentication-service.ts","webpack://mw-mypage2/./src/services/errors/LogProxy.ts","webpack://mw-mypage2/./src/__generated__/markNotificationAsRead_Mutation.graphql.ts","webpack://mw-mypage2/./src/services/relay/mutations/markNotificationAsRead.tsx","webpack://mw-mypage2/./src/__generated__/updateSearchProfileMatchedCase_Mutation.graphql.ts","webpack://mw-mypage2/./src/services/relay/mutations/updateSearchProfileMatchedCase.ts","webpack://mw-mypage2/./src/app/context/SignalrConnectionContext.ts","webpack://mw-mypage2/./src/services/relay/signalr-connection-provider.tsx","webpack://mw-mypage2/./src/services/relay/signalr-connection.ts","webpack://mw-mypage2/./src/setup/setup-app-settings.ts","webpack://mw-mypage2/./src/configs/app-settings-defaults.ts","webpack://mw-mypage2/./src/setup/setup-theme.ts","webpack://mw-mypage2/./src/tools/string-formatters.ts","webpack://mw-mypage2/./src/trans/TypeTranslations.ts","webpack://mw-mypage2/./src/utils/navigation.tsx"],"sourcesContent":["export type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n  ID: { input: string; output: string; }\n  String: { input: string; output: string; }\n  Boolean: { input: boolean; output: boolean; }\n  Int: { input: number; output: number; }\n  Float: { input: number; output: number; }\n  /** The `Date` scalar type represents a year, month and day in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */\n  Date: { input: any; output: any; }\n  /** The `DateTime` scalar type represents a date and time. `DateTime` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */\n  DateTime: { input: any; output: any; }\n  /** The `DateTimeOffset` scalar type represents a date, time and offset from UTC. `DateTimeOffset` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */\n  DateTimeOffset: { input: any; output: any; }\n  Decimal: { input: any; output: any; }\n  /** The `Milliseconds` scalar type represents a period of time represented as the total number of milliseconds in range [-922337203685477, 922337203685477]. */\n  Milliseconds: { input: any; output: any; }\n  /** The `Seconds` scalar type represents a period of time represented as the total number of seconds in range [-922337203685, 922337203685]. */\n  Seconds: { input: any; output: any; }\n  ULong: { input: any; output: any; }\n};\n\nexport enum ActivityTypeCategoryEnum {\n  /** BuyerAdvisorObjectionExtension */\n  BuyerAdvisorObjectionExtension = 'BuyerAdvisorObjectionExtension',\n  /** BuyerFinancialInstitutionObjectionExtension */\n  BuyerFinancialInstitutionObjectionExtension = 'BuyerFinancialInstitutionObjectionExtension',\n  /** CounselingCases */\n  CounselingCases = 'CounselingCases',\n  /** CreditAssessment */\n  CreditAssessment = 'CreditAssessment',\n  /** CustomerMeetings */\n  CustomerMeetings = 'CustomerMeetings',\n  /** DeedAvailableForSignatureExtension */\n  DeedAvailableForSignatureExtension = 'DeedAvailableForSignatureExtension',\n  /** DeedConditionalFinalSignatureExtension */\n  DeedConditionalFinalSignatureExtension = 'DeedConditionalFinalSignatureExtension',\n  /** DeedLatestSignatureExtension */\n  DeedLatestSignatureExtension = 'DeedLatestSignatureExtension',\n  /** DeedReportedToLandRegistrationExtension */\n  DeedReportedToLandRegistrationExtension = 'DeedReportedToLandRegistrationExtension',\n  /** Education */\n  Education = 'Education',\n  /** ExternalMeeting */\n  ExternalMeeting = 'ExternalMeeting',\n  /** FirstDepositDeadlineExtension */\n  FirstDepositDeadlineExtension = 'FirstDepositDeadlineExtension',\n  /** GuaranteeExtension */\n  GuaranteeExtension = 'GuaranteeExtension',\n  /** InternalMeeting */\n  InternalMeeting = 'InternalMeeting',\n  /** KeyCollection */\n  KeyCollection = 'KeyCollection',\n  /** Miscellaneous */\n  Miscellaneous = 'Miscellaneous',\n  /** OpenHouse */\n  OpenHouse = 'OpenHouse',\n  /** OpenHouseWithRegistration */\n  OpenHouseWithRegistration = 'OpenHouseWithRegistration',\n  /** PaidValuation */\n  PaidValuation = 'PaidValuation',\n  /** Private */\n  Private = 'Private',\n  /** ProcessClosingProtest */\n  ProcessClosingProtest = 'ProcessClosingProtest',\n  /** PurchaseAgreementMeetingBuyer */\n  PurchaseAgreementMeetingBuyer = 'PurchaseAgreementMeetingBuyer',\n  /** PurchaseAgreementMeetingSeller */\n  PurchaseAgreementMeetingSeller = 'PurchaseAgreementMeetingSeller',\n  /** RectifyCases */\n  RectifyCases = 'RectifyCases',\n  /** RiskAssessmentReview */\n  RiskAssessmentReview = 'RiskAssessmentReview',\n  /** SalesValuation */\n  SalesValuation = 'SalesValuation',\n  /** SecondDepositDeadlineExtension */\n  SecondDepositDeadlineExtension = 'SecondDepositDeadlineExtension',\n  /** SellerAdvisorObjectionExtension */\n  SellerAdvisorObjectionExtension = 'SellerAdvisorObjectionExtension',\n  /** SellerFinancialInstitutionObjectionExtension */\n  SellerFinancialInstitutionObjectionExtension = 'SellerFinancialInstitutionObjectionExtension',\n  /** Showcasing */\n  Showcasing = 'Showcasing',\n  /** SignedUpOpenHouse */\n  SignedUpOpenHouse = 'SignedUpOpenHouse',\n  /** StatusMeetingBuyer */\n  StatusMeetingBuyer = 'StatusMeetingBuyer',\n  /** StatusMeetingSeller */\n  StatusMeetingSeller = 'StatusMeetingSeller',\n  /** StatusReport */\n  StatusReport = 'StatusReport',\n  /** Transfer */\n  Transfer = 'Transfer'\n}\n\nexport enum AddressType {\n  /** NewAddress */\n  NewAddress = 'NewAddress',\n  /** Private */\n  Private = 'Private',\n  /** VacationHousing */\n  VacationHousing = 'VacationHousing',\n  /** Work */\n  Work = 'Work'\n}\n\nexport enum AgriculturePropertyTypeCategory {\n  /** CattleFarm */\n  CattleFarm = 'CattleFarm',\n  /** CropsFarm */\n  CropsFarm = 'CropsFarm',\n  /** FarmHouseAgriculture */\n  FarmHouseAgriculture = 'FarmHouseAgriculture',\n  /** ForestProperties */\n  ForestProperties = 'ForestProperties',\n  /** Liebhaveri */\n  Liebhaveri = 'Liebhaveri',\n  /** PigFarm */\n  PigFarm = 'PigFarm',\n  /** SpecialProduction */\n  SpecialProduction = 'SpecialProduction'\n}\n\nexport type AppointmentActivityCustomerInputType = {\n  email?: InputMaybe<Scalars['String']['input']>;\n  firstname?: InputMaybe<Scalars['String']['input']>;\n  lastname?: InputMaybe<Scalars['String']['input']>;\n  phone?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum AppointmentActivityStatusEnum {\n  /** Cancelled */\n  Cancelled = 'Cancelled',\n  /** Planned */\n  Planned = 'Planned'\n}\n\nexport enum BuildingInclAreaTypeGraphType {\n  /** Carport */\n  Carport = 'Carport',\n  /** Commercial */\n  Commercial = 'Commercial',\n  /** Conservatory */\n  Conservatory = 'Conservatory',\n  /** Garage */\n  Garage = 'Garage',\n  /** Other */\n  Other = 'Other',\n  /** Outhouse */\n  Outhouse = 'Outhouse'\n}\n\nexport enum BusinessBuildingTypeGraphType {\n  /** Abandoned */\n  Abandoned = 'Abandoned',\n  /** AdventurePark */\n  AdventurePark = 'AdventurePark',\n  /** AllDayService */\n  AllDayService = 'AllDayService',\n  /** AllYearRoundHousingAnex */\n  AllYearRoundHousingAnex = 'AllYearRoundHousingAnex',\n  /** AllotmentHut */\n  AllotmentHut = 'AllotmentHut',\n  /** Apartment */\n  Apartment = 'Apartment',\n  /** Aviation */\n  Aviation = 'Aviation',\n  /** Barracks */\n  Barracks = 'Barracks',\n  /** BedAndbreakfast */\n  BedAndbreakfast = 'BedAndbreakfast',\n  /** Carport */\n  Carport = 'Carport',\n  /** ChurchOrOtherStateRecognizedBuildingForReligiousCommunities */\n  ChurchOrOtherStateRecognizedBuildingForReligiousCommunities = 'ChurchOrOtherStateRecognizedBuildingForReligiousCommunities',\n  /** CinemaTheaterConcertVenue */\n  CinemaTheaterConcertVenue = 'CinemaTheaterConcertVenue',\n  /** ClubhouseForLeisureAndSport */\n  ClubhouseForLeisureAndSport = 'ClubhouseForLeisureAndSport',\n  /** College */\n  College = 'College',\n  /** CombinedDetached */\n  CombinedDetached = 'CombinedDetached',\n  /** DayCareFacility */\n  DayCareFacility = 'DayCareFacility',\n  /** Detached */\n  Detached = 'Detached',\n  /** DetachedCover */\n  DetachedCover = 'DetachedCover',\n  /** DetachedSunroom */\n  DetachedSunroom = 'DetachedSunroom',\n  /** Double */\n  Double = 'Double',\n  /** EnergyProduction */\n  EnergyProduction = 'EnergyProduction',\n  /** FarmhouseForAgriculturalProperty */\n  FarmhouseForAgriculturalProperty = 'FarmhouseForAgriculturalProperty',\n  /** FeedStorage */\n  FeedStorage = 'FeedStorage',\n  /** Garage */\n  Garage = 'Garage',\n  /** GasStation */\n  GasStation = 'GasStation',\n  /** Greenhouse */\n  Greenhouse = 'Greenhouse',\n  /** HealthCenter */\n  HealthCenter = 'HealthCenter',\n  /** HolidayApartmentForBusinessRental */\n  HolidayApartmentForBusinessRental = 'HolidayApartmentForBusinessRental',\n  /** HolidayApartmentForOwn */\n  HolidayApartmentForOwn = 'HolidayApartmentForOwn',\n  /** HolidayCenter */\n  HolidayCenter = 'HolidayCenter',\n  /** Hospital */\n  Hospital = 'Hospital',\n  /** HotelInnConferenceCenterWithAccommodation */\n  HotelInnConferenceCenterWithAccommodation = 'HotelInnConferenceCenterWithAccommodation',\n  /** IndoorPool */\n  IndoorPool = 'IndoorPool',\n  /** IndustryWithIntegratedProduction */\n  IndustryWithIntegratedProduction = 'IndustryWithIntegratedProduction',\n  /** IndustryWithoutIntegratedProduction */\n  IndustryWithoutIntegratedProduction = 'IndustryWithoutIntegratedProduction',\n  /** Jail */\n  Jail = 'Jail',\n  /** Library */\n  Library = 'Library',\n  /** LivestockStable */\n  LivestockStable = 'LivestockStable',\n  /** MachineHouse */\n  MachineHouse = 'MachineHouse',\n  /** MinkHall */\n  MinkHall = 'MinkHall',\n  /** MoreThanTwoVehiclesParkingAssociatedWithHousing */\n  MoreThanTwoVehiclesParkingAssociatedWithHousing = 'MoreThanTwoVehiclesParkingAssociatedWithHousing',\n  /** Museum */\n  Museum = 'Museum',\n  /** Office */\n  Office = 'Office',\n  /** Orangery */\n  Orangery = 'Orangery',\n  /** Other */\n  Other = 'Other',\n  /** OtherBuildingForAgriculture */\n  OtherBuildingForAgriculture = 'OtherBuildingForAgriculture',\n  /** OtherBuildingForCulturalPurposes */\n  OtherBuildingForCulturalPurposes = 'OtherBuildingForCulturalPurposes',\n  /** OtherBuildingForHealthCare */\n  OtherBuildingForHealthCare = 'OtherBuildingForHealthCare',\n  /** OtherBuildingForHoliday */\n  OtherBuildingForHoliday = 'OtherBuildingForHoliday',\n  /** OtherBuildingForInstitutionalPurposes */\n  OtherBuildingForInstitutionalPurposes = 'OtherBuildingForInstitutionalPurposes',\n  /** OtherBuildingForLeisurePurpose */\n  OtherBuildingForLeisurePurpose = 'OtherBuildingForLeisurePurpose',\n  /** OtherBuildingForOfficeStorageCommercial */\n  OtherBuildingForOfficeStorageCommercial = 'OtherBuildingForOfficeStorageCommercial',\n  /** OtherBuildingForProduction */\n  OtherBuildingForProduction = 'OtherBuildingForProduction',\n  /** OtherBuildingForServiceIndustry */\n  OtherBuildingForServiceIndustry = 'OtherBuildingForServiceIndustry',\n  /** OtherBuildingForSport */\n  OtherBuildingForSport = 'OtherBuildingForSport',\n  /** OtherBuildingForSupplyAndEnergyDistribution */\n  OtherBuildingForSupplyAndEnergyDistribution = 'OtherBuildingForSupplyAndEnergyDistribution',\n  /** OtherBuildingTeachingAndResearch */\n  OtherBuildingTeachingAndResearch = 'OtherBuildingTeachingAndResearch',\n  /** OtherBuildingToAllYearRoundHousing */\n  OtherBuildingToAllYearRoundHousing = 'OtherBuildingToAllYearRoundHousing',\n  /** OtherTransportFacility */\n  OtherTransportFacility = 'OtherTransportFacility',\n  /** Outhouse */\n  Outhouse = 'Outhouse',\n  /** ParkingAndTransportFacilities */\n  ParkingAndTransportFacilities = 'ParkingAndTransportFacilities',\n  /** PigStable */\n  PigStable = 'PigStable',\n  /** PortFacilities */\n  PortFacilities = 'PortFacilities',\n  /** PoultryStable */\n  PoultryStable = 'PoultryStable',\n  /** PrimarySchool */\n  PrimarySchool = 'PrimarySchool',\n  /** PrivateServiceCompany */\n  PrivateServiceCompany = 'PrivateServiceCompany',\n  /** RailAndBusOperations */\n  RailAndBusOperations = 'RailAndBusOperations',\n  /** RemainingAgricultural */\n  RemainingAgricultural = 'RemainingAgricultural',\n  /** ResidentialInstitution */\n  ResidentialInstitution = 'ResidentialInstitution',\n  /** RestaurantCafeAndConferenceCenterWithoutAccommodation */\n  RestaurantCafeAndConferenceCenterWithoutAccommodation = 'RestaurantCafeAndConferenceCenterWithoutAccommodation',\n  /** Retail */\n  Retail = 'Retail',\n  /** RidingSchool */\n  RidingSchool = 'RidingSchool',\n  /** ShoppingCentre */\n  ShoppingCentre = 'ShoppingCentre',\n  /** SportHall */\n  SportHall = 'SportHall',\n  /** Storage */\n  Storage = 'Storage',\n  /** StrawStorage */\n  StrawStorage = 'StrawStorage',\n  /** SummerHouse */\n  SummerHouse = 'SummerHouse',\n  /** SupplyAndEnergyDistribution */\n  SupplyAndEnergyDistribution = 'SupplyAndEnergyDistribution',\n  /** TerracedAndLinked */\n  TerracedAndLinked = 'TerracedAndLinked',\n  /** TrashAndWastewater */\n  TrashAndWastewater = 'TrashAndWastewater',\n  /** TreatmentCenter */\n  TreatmentCenter = 'TreatmentCenter',\n  /** TribuneAssociatedWithStadium */\n  TribuneAssociatedWithStadium = 'TribuneAssociatedWithStadium',\n  /** University */\n  University = 'University',\n  /** VacationAndSummerHouseAnex */\n  VacationAndSummerHouseAnex = 'VacationAndSummerHouseAnex',\n  /** VillageHall */\n  VillageHall = 'VillageHall',\n  /** WaterSupply */\n  WaterSupply = 'WaterSupply',\n  /** Workshop */\n  Workshop = 'Workshop'\n}\n\nexport enum BusinessPropertyCategory {\n  /** CattleFarm */\n  CattleFarm = 'CattleFarm',\n  /** Cellar */\n  Cellar = 'Cellar',\n  /** Clinic */\n  Clinic = 'Clinic',\n  /** CropFarms */\n  CropFarms = 'CropFarms',\n  /** ForestProperties */\n  ForestProperties = 'ForestProperties',\n  /** Garage */\n  Garage = 'Garage',\n  /** HotelOrRestaurant */\n  HotelOrRestaurant = 'HotelOrRestaurant',\n  /** HousingAndBusiness */\n  HousingAndBusiness = 'HousingAndBusiness',\n  /** Investment */\n  Investment = 'Investment',\n  /** Liberal */\n  Liberal = 'Liberal',\n  /** Office */\n  Office = 'Office',\n  /** Parking */\n  Parking = 'Parking',\n  /** PigFarm */\n  PigFarm = 'PigFarm',\n  /** Plot */\n  Plot = 'Plot',\n  /** PrivateResidence */\n  PrivateResidence = 'PrivateResidence',\n  /** ProductionFacility */\n  ProductionFacility = 'ProductionFacility',\n  /** ShoppingCenter */\n  ShoppingCenter = 'ShoppingCenter',\n  /** Showroom */\n  Showroom = 'Showroom',\n  /** SpecialProduction */\n  SpecialProduction = 'SpecialProduction',\n  /** Store */\n  Store = 'Store',\n  /** WareHouse */\n  WareHouse = 'WareHouse',\n  /** WarehouseAndProduction */\n  WarehouseAndProduction = 'WarehouseAndProduction',\n  /** Workshop */\n  Workshop = 'Workshop'\n}\n\nexport enum BusinessPropertyType {\n  /** Cattle */\n  Cattle = 'Cattle',\n  /** Cellar */\n  Cellar = 'Cellar',\n  /** Clinic */\n  Clinic = 'Clinic',\n  /** Crop */\n  Crop = 'Crop',\n  /** FarmLand */\n  FarmLand = 'FarmLand',\n  /** ForestProperty */\n  ForestProperty = 'ForestProperty',\n  /** FreeLand */\n  FreeLand = 'FreeLand',\n  /** Garage */\n  Garage = 'Garage',\n  /** HotelOrRestaurant */\n  HotelOrRestaurant = 'HotelOrRestaurant',\n  /** HousingAndBusiness */\n  HousingAndBusiness = 'HousingAndBusiness',\n  /** HousingCooperative */\n  HousingCooperative = 'HousingCooperative',\n  /** Investment */\n  Investment = 'Investment',\n  /** Liberal */\n  Liberal = 'Liberal',\n  /** MinkAndFurAnimals */\n  MinkAndFurAnimals = 'MinkAndFurAnimals',\n  /** Office */\n  Office = 'Office',\n  /** Parking */\n  Parking = 'Parking',\n  /** Pigs */\n  Pigs = 'Pigs',\n  /** Plot */\n  Plot = 'Plot',\n  /** PoultryProduction */\n  PoultryProduction = 'PoultryProduction',\n  /** ProductionFacility */\n  ProductionFacility = 'ProductionFacility',\n  /** ShoppingCenter */\n  ShoppingCenter = 'ShoppingCenter',\n  /** Showroom */\n  Showroom = 'Showroom',\n  /** SpecialProduction */\n  SpecialProduction = 'SpecialProduction',\n  /** Store */\n  Store = 'Store',\n  /** WareHouse */\n  WareHouse = 'WareHouse',\n  /** WareHouseAndProduction */\n  WareHouseAndProduction = 'WareHouseAndProduction',\n  /** Workshop */\n  Workshop = 'Workshop'\n}\n\nexport enum BusinessRentalCaseStatus {\n  /** Commissioned */\n  Commissioned = 'Commissioned',\n  /** Discontinued */\n  Discontinued = 'Discontinued',\n  /** ForRent */\n  ForRent = 'ForRent',\n  /** LostCommission */\n  LostCommission = 'LostCommission',\n  /** LostSale */\n  LostSale = 'LostSale',\n  /** None */\n  None = 'None',\n  /** Rented */\n  Rented = 'Rented',\n  /** UnderRent */\n  UnderRent = 'UnderRent',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\nexport enum BusinessSalesCaseStatus {\n  /** BeforeSale */\n  BeforeSale = 'BeforeSale',\n  /** FinallyTrade */\n  FinallyTrade = 'FinallyTrade',\n  /** ForSale */\n  ForSale = 'ForSale',\n  /** LostCommission */\n  LostCommission = 'LostCommission',\n  /** NotDefined */\n  NotDefined = 'NotDefined',\n  /** Return */\n  Return = 'Return',\n  /** Sold */\n  Sold = 'Sold',\n  /** UnderSale */\n  UnderSale = 'UnderSale',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\nexport enum BusinessSearchProfilePropertyCategory {\n  Cellar = 'Cellar',\n  Clinic = 'Clinic',\n  Garage = 'Garage',\n  HotelOrRestaurant = 'HotelOrRestaurant',\n  HousingAndBusiness = 'HousingAndBusiness',\n  Investment = 'Investment',\n  Liberal = 'Liberal',\n  Office = 'Office',\n  Parking = 'Parking',\n  Plot = 'Plot',\n  ProductionFacility = 'ProductionFacility',\n  ShoppingCenter = 'ShoppingCenter',\n  Showroom = 'Showroom',\n  Store = 'Store',\n  WareHouse = 'WareHouse',\n  WarehouseAndProduction = 'WarehouseAndProduction',\n  Workshop = 'Workshop'\n}\n\nexport type CancelAppointmentActivityInputType = {\n  id: Scalars['ID']['input'];\n};\n\nexport enum CaseAnnouncedType {\n  /** Boligsiden */\n  Boligsiden = 'Boligsiden',\n  /** BoligsidenPreview */\n  BoligsidenPreview = 'BoligsidenPreview',\n  /** BorsenEjendomslink */\n  BorsenEjendomslink = 'BorsenEjendomslink',\n  /** Landbrugsavisen */\n  Landbrugsavisen = 'Landbrugsavisen',\n  /** Landbrugsmarkedet */\n  Landbrugsmarkedet = 'Landbrugsmarkedet',\n  /** LokaleBasen */\n  LokaleBasen = 'LokaleBasen',\n  /** Offmarket */\n  Offmarket = 'Offmarket',\n  /** Oline */\n  Oline = 'Oline',\n  /** Respace */\n  Respace = 'Respace',\n  /** Website */\n  Website = 'Website'\n}\n\nexport type CasePromotionInputType = {\n  caseId: Scalars['ID']['input'];\n  ownerSaysPropertyHighlights?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysThisIsTheNeighborhood?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysWeRelaxHere?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysWeShopHere?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysWeShowOurGuestsThis?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysWhyWeMovedHere?: InputMaybe<Scalars['String']['input']>;\n  ownerSaysWhyWereMovingAway?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CaseTypeEnumGraphType {\n  /** BusinessRental */\n  BusinessRental = 'BusinessRental',\n  /** BusinessSale */\n  BusinessSale = 'BusinessSale',\n  /** BusinessValuation */\n  BusinessValuation = 'BusinessValuation',\n  /** Counseling */\n  Counseling = 'Counseling',\n  /** CounselingProperty */\n  CounselingProperty = 'CounselingProperty',\n  /** Loan */\n  Loan = 'Loan',\n  /** Rectify */\n  Rectify = 'Rectify',\n  /** Rental */\n  Rental = 'Rental',\n  /** Sale */\n  Sale = 'Sale',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\n/** Input object for creating a contact employee lead. */\nexport type ContactEmployee = {\n  caseId: Scalars['ID']['input'];\n  consentIdGlobal: Scalars['ID']['input'];\n  email?: InputMaybe<Scalars['String']['input']>;\n  firstName: Scalars['String']['input'];\n  lastName: Scalars['String']['input'];\n  message: Scalars['String']['input'];\n  phoneNumber: Scalars['String']['input'];\n  sourceIdGlobal?: InputMaybe<Scalars['ID']['input']>;\n};\n\nexport enum CounselingCaseStatus {\n  /** Deal */\n  Deal = 'Deal',\n  /** DealDisregarded */\n  DealDisregarded = 'DealDisregarded',\n  /** DealMade */\n  DealMade = 'DealMade',\n  /** DealNotMade */\n  DealNotMade = 'DealNotMade',\n  /** FinallyTrade */\n  FinallyTrade = 'FinallyTrade',\n  /** Return */\n  Return = 'Return',\n  /** Sold */\n  Sold = 'Sold'\n}\n\nexport enum CounselingPropertyCaseStatus {\n  /** Initial */\n  Initial = 'Initial',\n  /** Rejected */\n  Rejected = 'Rejected',\n  /** Selected */\n  Selected = 'Selected'\n}\n\n/** Input object for creating and updating the address for a customer. */\nexport type CreateAddressInput = {\n  att?: InputMaybe<Scalars['String']['input']>;\n  /** Care of. The letter is to be delivered and entrusted to the care of... */\n  co?: InputMaybe<Scalars['String']['input']>;\n  countryId?: InputMaybe<Scalars['ID']['input']>;\n  door?: InputMaybe<Scalars['String']['input']>;\n  doorLocation?: InputMaybe<Scalars['String']['input']>;\n  floor?: InputMaybe<Scalars['String']['input']>;\n  houseName?: InputMaybe<Scalars['String']['input']>;\n  houseNumber?: InputMaybe<Scalars['String']['input']>;\n  locationCityName?: InputMaybe<Scalars['String']['input']>;\n  roadName?: InputMaybe<Scalars['String']['input']>;\n  /** The foreign address */\n  text?: InputMaybe<Scalars['String']['input']>;\n  zipCodeId?: InputMaybe<Scalars['ID']['input']>;\n};\n\nexport type CreateAgricultureSearchProfileInput = {\n  /** Property categories */\n  agriculturePropertyCategories?: InputMaybe<Array<AgriculturePropertyTypeCategory>>;\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Consent of the customer to create a searchprofile */\n  consentId: Scalars['ID']['input'];\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type CreateAppointmentActivityInputType = {\n  activityTypeId: Scalars['ID']['input'];\n  caseId: Scalars['ID']['input'];\n  customer?: InputMaybe<AppointmentActivityCustomerInputType>;\n  endDatetime: Scalars['DateTime']['input'];\n  startDatetime: Scalars['DateTime']['input'];\n};\n\nexport type CreateAppointmentActivityNoteInputType = {\n  activityId: Scalars['ID']['input'];\n  content: Scalars['String']['input'];\n};\n\nexport type CreateBusinessSearchProfileInput = {\n  /** Property categories */\n  businessPropertyCategories?: InputMaybe<Array<BusinessSearchProfilePropertyCategory>>;\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Consent of the customer to create a searchprofile */\n  consentId: Scalars['ID']['input'];\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Rate of return from in percent */\n  rateOfReturnFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Rate of return to in percent */\n  rateOfReturnTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type CreateConsentOnCustomerInputType = {\n  /** The id of consent */\n  consentId?: InputMaybe<Scalars['ID']['input']>;\n};\n\nexport type CreateCustomerAddressInput = {\n  /** The customer address */\n  address: CreateAddressInput;\n  /** The address type */\n  addressType: AddressType;\n  /** The customer address valid from */\n  validFrom?: InputMaybe<Scalars['DateTime']['input']>;\n};\n\nexport type CreateCustomerEmailInput = {\n  customerId: Scalars['ID']['input'];\n  email?: InputMaybe<Scalars['String']['input']>;\n  emailType?: InputMaybe<EmailType>;\n  isLoginEmail?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CreateMessageResponseInput = {\n  /** Boolean value response. Only one of BooleanValue, StringValue or DateValue can be set. */\n  booleanValue?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Date value response. Only one of BooleanValue, StringValue or DateValue can be set. */\n  dateValue?: InputMaybe<Scalars['DateTime']['input']>;\n  /** The id of the message to respond to */\n  messageId: Scalars['ID']['input'];\n  /** String value response. Only one of BooleanValue, StringValue or DateValue can be set. */\n  stringValue?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateNeighborhoodPinInputType = {\n  /** The category of pins that a pin belongs to */\n  category: NeighborhoodPinCategory;\n  /** A detailed description of the pin */\n  description: Scalars['String']['input'];\n  /** The latitude component of the GPS-coordinate for the pin */\n  lat: Scalars['Float']['input'];\n  /** The longtitude component of the GPS-coordinate for the pin */\n  lng: Scalars['Float']['input'];\n  /** The short title of the pin */\n  title: Scalars['String']['input'];\n};\n\nexport type CreateSearchProfileInput = {\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Consent of the customer to create a searchprofile */\n  consentId: Scalars['ID']['input'];\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Cumulative number of days on market (from) */\n  cumulativeDaysOnMarketFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Cumulative number of days on market (to) */\n  cumulativeDaysOnMarketTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Distance to coast in meters (from) */\n  distanceCoastFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to coast in meters (to) */\n  distanceCoastTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to daycare in meters (from) */\n  distanceDaycareFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to daycare in meters (to) */\n  distanceDaycareTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to public transportation (bus, metro, S train, train) in meters (from) */\n  distancePublicTransportationFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to public transportation (bus, metro, S train, train) in meters (to) */\n  distancePublicTransportationTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to school in meters (from) */\n  distanceSchoolFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to school in meters (to) */\n  distanceSchoolTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to supermarket in meters (from) */\n  distanceSupermarketFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to supermarket in meters (to) */\n  distanceSupermarketTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The number of living rooms from */\n  livingRoomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of living rooms to */\n  livingRoomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Property categories */\n  propertyCategories?: InputMaybe<Array<PropertyCategory>>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  /** Search profile words */\n  searchProfileWords?: InputMaybe<Array<InputMaybe<SearchProfileWord>>>;\n  /** Customer special wishes */\n  specialWishes?: InputMaybe<Scalars['String']['input']>;\n  /** The number of toilets from */\n  toiletCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of toilets to */\n  toiletCountTo?: InputMaybe<Scalars['Int']['input']>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type CreateThreadInput = {\n  /** Id of activity to send to */\n  activityId?: InputMaybe<Scalars['ID']['input']>;\n  /** Message attachments */\n  attachmentIDs?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Id of case to send to */\n  caseId?: InputMaybe<Scalars['ID']['input']>;\n  /** Initial message */\n  initialMessage: Scalars['String']['input'];\n  /** Id of the participant */\n  participantId: Scalars['ID']['input'];\n  /** The thread name */\n  subject: Scalars['String']['input'];\n};\n\nexport enum CustomerContext {\n  /** Buyer */\n  Buyer = 'Buyer',\n  /** Counselee */\n  Counselee = 'Counselee',\n  /** Landlord */\n  Landlord = 'Landlord',\n  /** MatchCase */\n  MatchCase = 'MatchCase',\n  /** None */\n  None = 'None',\n  /** PotentialBuyer */\n  PotentialBuyer = 'PotentialBuyer',\n  /** Seller */\n  Seller = 'Seller',\n  /** Tenant */\n  Tenant = 'Tenant'\n}\n\nexport type CustomerEmailInputType = {\n  email?: InputMaybe<Scalars['String']['input']>;\n  emailType?: InputMaybe<EmailType>;\n  isLoginEmail?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CustomerPhoneInputType = {\n  countryCode?: InputMaybe<Scalars['String']['input']>;\n  phone?: InputMaybe<Scalars['String']['input']>;\n  phoneType?: InputMaybe<PhoneType>;\n};\n\nexport type DeleteCustomerConsentInputType = {\n  /** The customer consent global id */\n  customerConsentId: Scalars['ID']['input'];\n};\n\nexport type DeleteInput = {\n  id: Scalars['ID']['input'];\n};\n\nexport type DeleteNeighborhoodPinInputType = {\n  /** The unique identifier for the neighborhood pin */\n  id: Scalars['ID']['input'];\n};\n\nexport type DeleteSearchProfileInput = {\n  /** The globally unique Id */\n  id: Scalars['ID']['input'];\n};\n\nexport enum DocumentOrderBy {\n  /** Description */\n  Description = 'Description',\n  /** Id */\n  Id = 'Id',\n  /** Status */\n  Status = 'Status',\n  /** Type */\n  Type = 'Type',\n  /** VisibleDate */\n  VisibleDate = 'VisibleDate'\n}\n\nexport enum DocumentPreviewState {\n  /** FullVersion */\n  FullVersion = 'FullVersion',\n  /** HoverPreview */\n  HoverPreview = 'HoverPreview',\n  /** IconPreview */\n  IconPreview = 'IconPreview'\n}\n\nexport enum DocumentSignatureStatus {\n  /** AwaitingSigning */\n  AwaitingSigning = 'AwaitingSigning',\n  /** SigningFailed */\n  SigningFailed = 'SigningFailed',\n  /** SigningRejected */\n  SigningRejected = 'SigningRejected',\n  /** SigningSucceeded */\n  SigningSucceeded = 'SigningSucceeded',\n  /** Unknown */\n  Unknown = 'Unknown'\n}\n\nexport enum EmailType {\n  /** Private */\n  Private = 'Private',\n  /** Work */\n  Work = 'Work'\n}\n\nexport enum EmployeeOfferRole {\n  /** AccountableBroker */\n  AccountableBroker = 'AccountableBroker',\n  /** BuyerAdvisor */\n  BuyerAdvisor = 'BuyerAdvisor',\n  /** Caseworker */\n  Caseworker = 'Caseworker',\n  /** CommissionBroker */\n  CommissionBroker = 'CommissionBroker',\n  /** MarketingBroker */\n  MarketingBroker = 'MarketingBroker',\n  /** SellingBroker */\n  SellingBroker = 'SellingBroker',\n  /** ServiceCenterCaseworker */\n  ServiceCenterCaseworker = 'ServiceCenterCaseworker'\n}\n\nexport enum EnergyMarkSeverity {\n  /** A */\n  A = 'A',\n  /** A1 */\n  A1 = 'A1',\n  /** A2 */\n  A2 = 'A2',\n  /** A2010 */\n  A2010 = 'A2010',\n  /** A2015 */\n  A2015 = 'A2015',\n  /** A2020 */\n  A2020 = 'A2020',\n  /** B */\n  B = 'B',\n  /** C */\n  C = 'C',\n  /** D */\n  D = 'D',\n  /** E */\n  E = 'E',\n  /** F */\n  F = 'F',\n  /** G */\n  G = 'G',\n  /** Unknown */\n  Unknown = 'Unknown'\n}\n\nexport enum EnergyMarkSeverityEnum {\n  /** A */\n  A = 'A',\n  /** A1 */\n  A1 = 'A1',\n  /** A2 */\n  A2 = 'A2',\n  /** A2010 */\n  A2010 = 'A2010',\n  /** A2015 */\n  A2015 = 'A2015',\n  /** A2020 */\n  A2020 = 'A2020',\n  /** B */\n  B = 'B',\n  /** C */\n  C = 'C',\n  /** D */\n  D = 'D',\n  /** E */\n  E = 'E',\n  /** F */\n  F = 'F',\n  /** G */\n  G = 'G',\n  /** Unknown */\n  Unknown = 'Unknown'\n}\n\nexport enum ErrorType {\n  /** Exist */\n  Exist = 'Exist',\n  /** InvalidValue */\n  InvalidValue = 'InvalidValue',\n  /** NotComplete */\n  NotComplete = 'NotComplete',\n  /** Other */\n  Other = 'Other',\n  /** Required */\n  Required = 'Required'\n}\n\nexport enum GoogleAnalyticsSource {\n  /** Boliga */\n  Boliga = 'Boliga',\n  /** Boligsiden */\n  Boligsiden = 'Boligsiden',\n  /** Direct */\n  Direct = 'Direct',\n  /** Ejendomstorvet */\n  Ejendomstorvet = 'Ejendomstorvet',\n  /** Facebook */\n  Facebook = 'Facebook',\n  /** Google */\n  Google = 'Google',\n  /** Instagram */\n  Instagram = 'Instagram',\n  /** Landbrugsavisen */\n  Landbrugsavisen = 'Landbrugsavisen',\n  /** Landbrugsmarkedet */\n  Landbrugsmarkedet = 'Landbrugsmarkedet',\n  /** LinkedIn */\n  LinkedIn = 'LinkedIn',\n  /** Lokalebasen */\n  Lokalebasen = 'Lokalebasen',\n  /** Other */\n  Other = 'Other'\n}\n\nexport enum InsuranceCoverage {\n  /** Full */\n  Full = 'Full',\n  /** None */\n  None = 'None',\n  /** SumInsured */\n  SumInsured = 'SumInsured',\n  /** Text */\n  Text = 'Text'\n}\n\nexport enum LeadStatusTypeEnum {\n  /** ConvertedToCustomer */\n  ConvertedToCustomer = 'ConvertedToCustomer',\n  /** InProgress */\n  InProgress = 'InProgress',\n  /** MarkAsSpam */\n  MarkAsSpam = 'MarkAsSpam',\n  /** NotConvertedToCustomer */\n  NotConvertedToCustomer = 'NotConvertedToCustomer',\n  /** Processed */\n  Processed = 'Processed',\n  /** Recieved */\n  Recieved = 'Recieved'\n}\n\nexport enum LeadTypeEnum {\n  /** BankEvaluation */\n  BankEvaluation = 'BankEvaluation',\n  /** BuyersAdvice */\n  BuyersAdvice = 'BuyersAdvice',\n  /** BuyersRegistration */\n  BuyersRegistration = 'BuyersRegistration',\n  /** Contact */\n  Contact = 'Contact',\n  /** ContactEmployee */\n  ContactEmployee = 'ContactEmployee',\n  /** Favorite */\n  Favorite = 'Favorite',\n  /** IndicativeValuation */\n  IndicativeValuation = 'IndicativeValuation',\n  /** LeadBankReferralBuyerConsultation */\n  LeadBankReferralBuyerConsultation = 'LeadBankReferralBuyerConsultation',\n  /** LeadBankReferralSalesEvaluation */\n  LeadBankReferralSalesEvaluation = 'LeadBankReferralSalesEvaluation',\n  /** LeadBuyerReference */\n  LeadBuyerReference = 'LeadBuyerReference',\n  /** LeadCrossBrandReferral */\n  LeadCrossBrandReferral = 'LeadCrossBrandReferral',\n  /** LeadCustomerBankReferral */\n  LeadCustomerBankReferral = 'LeadCustomerBankReferral',\n  /** LeadCustomerInternalReferral */\n  LeadCustomerInternalReferral = 'LeadCustomerInternalReferral',\n  /** OpenHouse */\n  OpenHouse = 'OpenHouse',\n  /** OwnershipChangeValuation */\n  OwnershipChangeValuation = 'OwnershipChangeValuation',\n  /** Presentation */\n  Presentation = 'Presentation',\n  /** PurchaseOffer */\n  PurchaseOffer = 'PurchaseOffer',\n  /** SalesMaterial */\n  SalesMaterial = 'SalesMaterial',\n  /** SalesMaterialWithContact */\n  SalesMaterialWithContact = 'SalesMaterialWithContact',\n  /** SalesValuation */\n  SalesValuation = 'SalesValuation',\n  /** TKValuation */\n  TKValuation = 'TKValuation'\n}\n\nexport enum MarketDataCaseOrderBy {\n  /** Address */\n  Address = 'Address',\n  /** HouseArea */\n  HouseArea = 'HouseArea',\n  /** Id */\n  Id = 'Id',\n  /** Price */\n  Price = 'Price',\n  /** SalesPrice */\n  SalesPrice = 'SalesPrice'\n}\n\nexport enum MarketingCampaignInteractionTypeEnum {\n  /** Click */\n  Click = 'Click',\n  /** Comment */\n  Comment = 'Comment',\n  /** Like */\n  Like = 'Like',\n  /** Share */\n  Share = 'Share',\n  /** Unknown */\n  Unknown = 'Unknown',\n  /** View */\n  View = 'View'\n}\n\nexport enum MarketingCampaignPlacementEnum {\n  /** Display */\n  Display = 'Display',\n  /** Facebook */\n  Facebook = 'Facebook',\n  /** FacebookWallPost */\n  FacebookWallPost = 'FacebookWallPost',\n  /** Instagram */\n  Instagram = 'Instagram',\n  /** InstagramWallPost */\n  InstagramWallPost = 'InstagramWallPost',\n  /** LinkedIn */\n  LinkedIn = 'LinkedIn',\n  /** Meta */\n  Meta = 'Meta',\n  /** Snapchat */\n  Snapchat = 'Snapchat',\n  /** Unknown */\n  Unknown = 'Unknown',\n  /** YouTube */\n  YouTube = 'YouTube'\n}\n\nexport enum MarketingCampaignStatusEnum {\n  /** Done */\n  Done = 'Done',\n  /** Failed */\n  Failed = 'Failed',\n  /** Ongoing */\n  Ongoing = 'Ongoing',\n  /** Pending */\n  Pending = 'Pending',\n  /** Stopped */\n  Stopped = 'Stopped'\n}\n\nexport enum MatchProfileStatus {\n  /** Favorite */\n  Favorite = 'Favorite',\n  /** None */\n  None = 'None',\n  /** Removed */\n  Removed = 'Removed',\n  /** Selected */\n  Selected = 'Selected'\n}\n\nexport enum MatchedCaseHighlightStatus {\n  /** NewMatch */\n  NewMatch = 'NewMatch',\n  /** NewPriceForExistingMatch */\n  NewPriceForExistingMatch = 'NewPriceForExistingMatch',\n  /** None */\n  None = 'None'\n}\n\nexport enum MediaResourceType {\n  /** The asset */\n  Asset = 'Asset',\n  /** A presentation of the asset */\n  Presentation = 'Presentation',\n  /** A preview of the asset */\n  Preview = 'Preview',\n  /** A thumbnail of the asset */\n  Thumbnail = 'Thumbnail'\n}\n\nexport enum MyPageCaseRelation {\n  /** Case */\n  Case = 'Case',\n  /** MatchedCase */\n  MatchedCase = 'MatchedCase',\n  /** None */\n  None = 'None',\n  /** Offer */\n  Offer = 'Offer'\n}\n\nexport enum MyPageSpotRole {\n  /** Buyer */\n  Buyer = 'Buyer',\n  /** Frontpage */\n  Frontpage = 'Frontpage',\n  /** PotentialBuyer */\n  PotentialBuyer = 'PotentialBuyer',\n  /** Seller */\n  Seller = 'Seller'\n}\n\nexport enum MyPageTextSection {\n  /** CasePromotion */\n  CasePromotion = 'CasePromotion',\n  /** Consent */\n  Consent = 'Consent',\n  /** CustomerGDPR */\n  CustomerGDPR = 'CustomerGDPR',\n  /** EditSearchProfile */\n  EditSearchProfile = 'EditSearchProfile',\n  /** Favorites */\n  Favorites = 'Favorites',\n  /** FinishedActivties */\n  FinishedActivties = 'FinishedActivties',\n  /** GetStarted */\n  GetStarted = 'GetStarted',\n  /** Match */\n  Match = 'Match',\n  /** Messages */\n  Messages = 'Messages',\n  /** MyNeighbourhood */\n  MyNeighbourhood = 'MyNeighbourhood',\n  /** OtherBrokerFavorites */\n  OtherBrokerFavorites = 'OtherBrokerFavorites',\n  /** SearchProfileMatch */\n  SearchProfileMatch = 'SearchProfileMatch',\n  /** UpcomingActivities */\n  UpcomingActivities = 'UpcomingActivities',\n  /** UserProfile */\n  UserProfile = 'UserProfile',\n  /** Welcome */\n  Welcome = 'Welcome',\n  /** WelcomeHeadline */\n  WelcomeHeadline = 'WelcomeHeadline'\n}\n\nexport enum NeighborhoodPinCategory {\n  /** Dining */\n  Dining = 'Dining',\n  /** Events */\n  Events = 'Events',\n  /** ExerciseAndRecreation */\n  ExerciseAndRecreation = 'ExerciseAndRecreation',\n  /** ForKids */\n  ForKids = 'ForKids',\n  /** Nature */\n  Nature = 'Nature',\n  /** Nightlife */\n  Nightlife = 'Nightlife',\n  /** NoteworhtyLandmark */\n  NoteworhtyLandmark = 'NoteworhtyLandmark',\n  /** Other */\n  Other = 'Other',\n  /** Shopping */\n  Shopping = 'Shopping',\n  /** SocialMeetup */\n  SocialMeetup = 'SocialMeetup'\n}\n\nexport type OpenHouseInputType = {\n  consentIdGlobal: Scalars['ID']['input'];\n  email?: InputMaybe<Scalars['String']['input']>;\n  firstName: Scalars['String']['input'];\n  lastName: Scalars['String']['input'];\n  /** The id of the open house */\n  openHouseId: Scalars['ID']['input'];\n  phoneNumber: Scalars['String']['input'];\n  sourceIdGlobal?: InputMaybe<Scalars['ID']['input']>;\n};\n\nexport enum OperatingCostType {\n  /** PricePrM2 */\n  PricePrM2 = 'PricePrM2',\n  /** Total */\n  Total = 'Total'\n}\n\nexport enum OrderDirection {\n  /** Ascending order. */\n  asc = 'asc',\n  /** Descending order. */\n  desc = 'desc'\n}\n\nexport enum PhoneType {\n  /** Main */\n  Main = 'Main',\n  /** Mobile */\n  Mobile = 'Mobile',\n  /** Private */\n  Private = 'Private',\n  /** Work */\n  Work = 'Work'\n}\n\nexport enum PotentialBuyerCreateContext {\n  /** BrookerChoice */\n  BrookerChoice = 'BrookerChoice',\n  /** LeadSalesMaterialRequest */\n  LeadSalesMaterialRequest = 'LeadSalesMaterialRequest',\n  /** Match */\n  Match = 'Match',\n  /** OpenHouse */\n  OpenHouse = 'OpenHouse',\n  /** OwnChoice */\n  OwnChoice = 'OwnChoice',\n  /** PurchaseOffer */\n  PurchaseOffer = 'PurchaseOffer',\n  /** Showcase */\n  Showcase = 'Showcase'\n}\n\n/** Input object for creating a presentation lead. */\nexport type Presentation = {\n  caseId: Scalars['ID']['input'];\n  comment?: InputMaybe<Scalars['String']['input']>;\n  consentIdGlobal: Scalars['ID']['input'];\n  email?: InputMaybe<Scalars['String']['input']>;\n  firstName: Scalars['String']['input'];\n  lastName: Scalars['String']['input'];\n  phoneNumber: Scalars['String']['input'];\n  presentationDate?: InputMaybe<Scalars['DateTime']['input']>;\n  sourceIdGlobal?: InputMaybe<Scalars['ID']['input']>;\n};\n\nexport enum PreservationType {\n  /** FreeText */\n  FreeText = 'FreeText',\n  /** NoPreservation */\n  NoPreservation = 'NoPreservation',\n  /** PreservationValue1 */\n  PreservationValue1 = 'PreservationValue1',\n  /** PreservationValue2 */\n  PreservationValue2 = 'PreservationValue2',\n  /** PreservationValue3 */\n  PreservationValue3 = 'PreservationValue3',\n  /** PreservationValue4 */\n  PreservationValue4 = 'PreservationValue4',\n  /** PreservationValue5 */\n  PreservationValue5 = 'PreservationValue5',\n  /** PreservationValue6 */\n  PreservationValue6 = 'PreservationValue6',\n  /** PreservationValue7 */\n  PreservationValue7 = 'PreservationValue7',\n  /** PreservationValue8 */\n  PreservationValue8 = 'PreservationValue8',\n  /** PreservationValue9 */\n  PreservationValue9 = 'PreservationValue9',\n  /** Preserved */\n  Preserved = 'Preserved'\n}\n\nexport enum PrivateBuildingTypeGraphType {\n  /** Carport */\n  Carport = 'Carport',\n  /** Commercial */\n  Commercial = 'Commercial',\n  /** Garage */\n  Garage = 'Garage',\n  /** Other */\n  Other = 'Other',\n  /** Outhouse */\n  Outhouse = 'Outhouse'\n}\n\nexport enum PropertyCategory {\n  /** AllYearRoundPlot */\n  AllYearRoundPlot = 'AllYearRoundPlot',\n  /** Condo */\n  Condo = 'Condo',\n  /** CropsFarm */\n  CropsFarm = 'CropsFarm',\n  /** FarmHouse */\n  FarmHouse = 'FarmHouse',\n  /** HousingCooperative */\n  HousingCooperative = 'HousingCooperative',\n  /** Liebhaveri */\n  Liebhaveri = 'Liebhaveri',\n  /** TerracedHouse */\n  TerracedHouse = 'TerracedHouse',\n  /** VacationHousing */\n  VacationHousing = 'VacationHousing',\n  /** VacationPlot */\n  VacationPlot = 'VacationPlot',\n  /** Villa */\n  Villa = 'Villa',\n  /** VillaApartment */\n  VillaApartment = 'VillaApartment'\n}\n\nexport enum PropertyType {\n  /** AllYearRoundPlot */\n  AllYearRoundPlot = 'AllYearRoundPlot',\n  /** AllotmentHut */\n  AllotmentHut = 'AllotmentHut',\n  /** AllotmentPlot */\n  AllotmentPlot = 'AllotmentPlot',\n  /** Condo */\n  Condo = 'Condo',\n  /** FarmHouseAgriculture */\n  FarmHouseAgriculture = 'FarmHouseAgriculture',\n  /** FormerFarm */\n  FormerFarm = 'FormerFarm',\n  /** FreeLand */\n  FreeLand = 'FreeLand',\n  /** HobbyAgriculture */\n  HobbyAgriculture = 'HobbyAgriculture',\n  /** HousingCooperative */\n  HousingCooperative = 'HousingCooperative',\n  /** IdeelAnpartCondo */\n  IdeelAnpartCondo = 'IdeelAnpartCondo',\n  /** IdeelAnpartTerracedHouse */\n  IdeelAnpartTerracedHouse = 'IdeelAnpartTerracedHouse',\n  /** IdeelAnpartVilla */\n  IdeelAnpartVilla = 'IdeelAnpartVilla',\n  /** Liebhaveri */\n  Liebhaveri = 'Liebhaveri',\n  /** MixedHousingAndBusiness */\n  MixedHousingAndBusiness = 'MixedHousingAndBusiness',\n  /** PartnershipOrLimitedPartnershipCondo */\n  PartnershipOrLimitedPartnershipCondo = 'PartnershipOrLimitedPartnershipCondo',\n  /** PartnershipOrLimitedPartnershipTerracedHouse */\n  PartnershipOrLimitedPartnershipTerracedHouse = 'PartnershipOrLimitedPartnershipTerracedHouse',\n  /** PartnershipOrLimitedPartnershipVilla */\n  PartnershipOrLimitedPartnershipVilla = 'PartnershipOrLimitedPartnershipVilla',\n  /** TerracedHouse */\n  TerracedHouse = 'TerracedHouse',\n  /** TerracedHouseWithCondoStatus */\n  TerracedHouseWithCondoStatus = 'TerracedHouseWithCondoStatus',\n  /** TwoFamilyProperty */\n  TwoFamilyProperty = 'TwoFamilyProperty',\n  /** VacationCondo */\n  VacationCondo = 'VacationCondo',\n  /** VacationHousing */\n  VacationHousing = 'VacationHousing',\n  /** VacationPlot */\n  VacationPlot = 'VacationPlot',\n  /** Villa */\n  Villa = 'Villa',\n  /** VillaApartment */\n  VillaApartment = 'VillaApartment',\n  /** VillaWithCondoStatus */\n  VillaWithCondoStatus = 'VillaWithCondoStatus'\n}\n\nexport enum QuestionnaireMetaDataType {\n  /** Aml */\n  Aml = 'Aml',\n  /** BuyerInformation */\n  BuyerInformation = 'BuyerInformation',\n  /** NoType */\n  NoType = 'NoType',\n  /** SellerInformation */\n  SellerInformation = 'SellerInformation',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\nexport enum RectifyCaseStatus {\n  /** Deal */\n  Deal = 'Deal',\n  /** DealDisregarded */\n  DealDisregarded = 'DealDisregarded',\n  /** DealMade */\n  DealMade = 'DealMade',\n  /** DealNotMade */\n  DealNotMade = 'DealNotMade',\n  /** FinallyTrade */\n  FinallyTrade = 'FinallyTrade',\n  /** Return */\n  Return = 'Return',\n  /** Sold */\n  Sold = 'Sold'\n}\n\nexport enum RentalCaseStatus {\n  /** Commissioned */\n  Commissioned = 'Commissioned',\n  /** Discontinued */\n  Discontinued = 'Discontinued',\n  /** ForRent */\n  ForRent = 'ForRent',\n  /** LostCommission */\n  LostCommission = 'LostCommission',\n  /** LostSale */\n  LostSale = 'LostSale',\n  /** Rented */\n  Rented = 'Rented',\n  /** UnderRent */\n  UnderRent = 'UnderRent',\n  /** Unknown */\n  Unknown = 'Unknown',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\nexport enum ResponseType {\n  /** BooleanAndStringType */\n  BooleanAndStringType = 'BooleanAndStringType',\n  /** BooleanType */\n  BooleanType = 'BooleanType',\n  /** DropdownStringType */\n  DropdownStringType = 'DropdownStringType'\n}\n\nexport enum SalesCaseStatus {\n  /** BeforeSale */\n  BeforeSale = 'BeforeSale',\n  /** FinallyTrade */\n  FinallyTrade = 'FinallyTrade',\n  /** ForSale */\n  ForSale = 'ForSale',\n  /** LostCommission */\n  LostCommission = 'LostCommission',\n  /** NotDefined */\n  NotDefined = 'NotDefined',\n  /** Return */\n  Return = 'Return',\n  /** Sold */\n  Sold = 'Sold',\n  /** UnderSale */\n  UnderSale = 'UnderSale',\n  /** Valuation */\n  Valuation = 'Valuation'\n}\n\nexport enum SearchProfileEnabledType {\n  /** A searchprofile for business salescases, using the agriculture propertyTypes */\n  AgricultureSearchProfile = 'AgricultureSearchProfile',\n  /** A searchprofile for business rentalcases, using business propertyTypes */\n  BusinessRentalSearchProfile = 'BusinessRentalSearchProfile',\n  /** A searchprofile for business salescases, using the business propertyTypes */\n  BusinessSaleSearchProfile = 'BusinessSaleSearchProfile',\n  /** A searchprofile for private rentalcases, using private propertyTypes */\n  PrivateRentalSearchProfile = 'PrivateRentalSearchProfile',\n  /** A searchprofile for private salescases, using private propertyTypes */\n  PrivateSaleSearchProfile = 'PrivateSaleSearchProfile'\n}\n\nexport enum SearchProfileMatchedCaseOrderBy {\n  /** Address */\n  Address = 'Address',\n  /** Date */\n  Date = 'Date',\n  /** HouseArea */\n  HouseArea = 'HouseArea',\n  /** Price */\n  Price = 'Price',\n  /** Status */\n  Status = 'Status',\n  /** VisibleForCustomerDate */\n  VisibleForCustomerDate = 'VisibleForCustomerDate'\n}\n\nexport enum SearchProfileStatus {\n  /** Active */\n  Active = 'Active',\n  /** Looking */\n  Looking = 'Looking'\n}\n\nexport enum SearchProfileType {\n  /** Agriculture */\n  Agriculture = 'Agriculture',\n  /** BusinessRental */\n  BusinessRental = 'BusinessRental',\n  /** BusinessSale */\n  BusinessSale = 'BusinessSale',\n  /** Rental */\n  Rental = 'Rental',\n  /** Sale */\n  Sale = 'Sale'\n}\n\nexport enum SearchProfileWord {\n  /** Balcony */\n  Balcony = 'Balcony',\n  /** Elevator */\n  Elevator = 'Elevator',\n  /** Furnished */\n  Furnished = 'Furnished',\n  /** IsProjectCase */\n  IsProjectCase = 'IsProjectCase',\n  /** Liebhaveri */\n  Liebhaveri = 'Liebhaveri',\n  /** ParkingSpace */\n  ParkingSpace = 'ParkingSpace',\n  /** Pets */\n  Pets = 'Pets',\n  /** ResidenceRequirement */\n  ResidenceRequirement = 'ResidenceRequirement',\n  /** Shareable */\n  Shareable = 'Shareable',\n  /** Terrace */\n  Terrace = 'Terrace'\n}\n\nexport type SendMessageInput = {\n  attachmentIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  message: Scalars['String']['input'];\n  threadId: Scalars['ID']['input'];\n};\n\nexport enum TaskActivityStatusEnum {\n  /** Cancelled */\n  Cancelled = 'Cancelled',\n  /** Finished */\n  Finished = 'Finished',\n  /** Planned */\n  Planned = 'Planned',\n  /** Postponed */\n  Postponed = 'Postponed'\n}\n\nexport type ThreadEventInput = {\n  threadId: Scalars['ID']['input'];\n};\n\nexport enum ThreadOrderBy {\n  /** CreateDate */\n  CreateDate = 'CreateDate',\n  /** Id */\n  Id = 'Id',\n  /** LastMessageCreatedDate */\n  LastMessageCreatedDate = 'LastMessageCreatedDate',\n  /** Subject */\n  Subject = 'Subject'\n}\n\nexport enum TimelineActivityType {\n  /** Appointment */\n  Appointment = 'Appointment',\n  /** TimelineNote */\n  TimelineNote = 'TimelineNote'\n}\n\nexport type UpdateAgricultureSearchProfileInput = {\n  /** Property categories */\n  agriculturePropertyCategories?: InputMaybe<Array<AgriculturePropertyTypeCategory>>;\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The globally unique Id */\n  id: Scalars['ID']['input'];\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type UpdateAppointmentActivityInputType = {\n  customer?: InputMaybe<AppointmentActivityCustomerInputType>;\n  endDatetime: Scalars['DateTime']['input'];\n  id: Scalars['ID']['input'];\n  startDatetime: Scalars['DateTime']['input'];\n};\n\nexport type UpdateBusinessSearchProfileInput = {\n  /** Property categories */\n  businessPropertyCategories?: InputMaybe<Array<BusinessSearchProfilePropertyCategory>>;\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The globally unique Id */\n  id: Scalars['ID']['input'];\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Rate of return from in percent */\n  rateOfReturnFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Rate of return to in percent */\n  rateOfReturnTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type UpdateCustomerAddressInput = {\n  /** The customer address */\n  address: CreateAddressInput;\n  /** The address type */\n  addressType: AddressType;\n  /** The customer address global id */\n  id: Scalars['ID']['input'];\n  /** The customer address valid from */\n  validFrom?: InputMaybe<Scalars['DateTime']['input']>;\n};\n\nexport type UpdateCustomerConsentInputType = {\n  active?: InputMaybe<Scalars['Boolean']['input']>;\n  /** The customer consent global id */\n  customerConsentId: Scalars['ID']['input'];\n};\n\nexport type UpdateCustomerEmailInput = {\n  email?: InputMaybe<Scalars['String']['input']>;\n  emailType?: InputMaybe<EmailType>;\n  id: Scalars['ID']['input'];\n  isLoginEmail?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** Input object for updating a customer. */\nexport type UpdateCustomerInput = {\n  /** The customer address */\n  address: CreateCustomerAddressInput;\n  email?: InputMaybe<CustomerEmailInputType>;\n  firstName?: InputMaybe<Scalars['String']['input']>;\n  lastName?: InputMaybe<Scalars['String']['input']>;\n  phone?: InputMaybe<CustomerPhoneInputType>;\n  title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCustomerPhoneInput = {\n  countryCode?: InputMaybe<Scalars['String']['input']>;\n  id: Scalars['ID']['input'];\n  phone?: InputMaybe<Scalars['String']['input']>;\n  phoneType?: InputMaybe<PhoneType>;\n};\n\nexport type UpdateFavoriteCaseInput = {\n  /** The id of the case */\n  caseId: Scalars['ID']['input'];\n};\n\nexport type UpdateLeadInputType = {\n  leadIdGlobal: Scalars['ID']['input'];\n  statusType?: InputMaybe<LeadStatusTypeEnum>;\n};\n\nexport type UpdateNeighborhoodPinInputType = {\n  /** The category of pins that a pin belongs to */\n  category?: InputMaybe<NeighborhoodPinCategory>;\n  /** A detailed description of the pin */\n  description?: InputMaybe<Scalars['String']['input']>;\n  /** The unique identifier for the neighborhood pin */\n  id: Scalars['ID']['input'];\n  /** The latitude component of the GPS-coordinate for the pin */\n  lat?: InputMaybe<Scalars['Float']['input']>;\n  /** The longtitude component of the GPS-coordinate for the pin */\n  lng?: InputMaybe<Scalars['Float']['input']>;\n  /** The short title of the pin */\n  title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateSearchProfileInput = {\n  /** Can be contacted */\n  canBeContacted?: InputMaybe<Scalars['Boolean']['input']>;\n  /** Can be contacted by phone */\n  canBeContactedByPhone?: InputMaybe<Scalars['Boolean']['input']>;\n  contactShopId?: InputMaybe<Scalars['ID']['input']>;\n  /** Cumulative number of days on market (from) */\n  cumulativeDaysOnMarketFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Cumulative number of days on market (to) */\n  cumulativeDaysOnMarketTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Date of deletion */\n  deletionDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Distance to coast in meters (from) */\n  distanceCoastFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to coast in meters (to) */\n  distanceCoastTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to daycare in meters (from) */\n  distanceDaycareFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to daycare in meters (to) */\n  distanceDaycareTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to public transportation (bus, metro, S train, train) in meters (from) */\n  distancePublicTransportationFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to public transportation (bus, metro, S train, train) in meters (to) */\n  distancePublicTransportationTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to school in meters (from) */\n  distanceSchoolFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to school in meters (to) */\n  distanceSchoolTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to supermarket in meters (from) */\n  distanceSupermarketFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Distance to supermarket in meters (to) */\n  distanceSupermarketTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The number of floors from */\n  floorCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of floors to */\n  floorCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number from */\n  floorNumberFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The floor number to */\n  floorNumberTo?: InputMaybe<Scalars['Int']['input']>;\n  /** House area from */\n  houseAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** House area to */\n  houseAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** The globally unique Id */\n  id: Scalars['ID']['input'];\n  /** The number of living rooms from */\n  livingRoomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of living rooms to */\n  livingRoomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Multi polygon (lat,lon) */\n  multiPolygon?: InputMaybe<Scalars['String']['input']>;\n  /** Multi polygon (lon,lat) */\n  multiPolygonLonLat?: InputMaybe<Scalars['String']['input']>;\n  /** Name of search profile */\n  name?: InputMaybe<Scalars['String']['input']>;\n  ownerCostFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  ownerCostTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area from */\n  plotAreaFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Plot area to */\n  plotAreaTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Predefined Areas */\n  predefinedAreasIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n  /** Price from */\n  priceFrom?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Price to */\n  priceTo?: InputMaybe<Scalars['Decimal']['input']>;\n  /** Property categories */\n  propertyCategories?: InputMaybe<Array<PropertyCategory>>;\n  /** Room count from */\n  roomCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Room count to */\n  roomCountTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Energy mark severities */\n  searchProfileEnergyMarkSeverities?: InputMaybe<Array<InputMaybe<EnergyMarkSeverityEnum>>>;\n  /** Number of the searchprofile */\n  searchProfileNo?: InputMaybe<Scalars['String']['input']>;\n  /** Search profile status */\n  searchProfileStatus?: InputMaybe<SearchProfileStatus>;\n  /** Search profile words */\n  searchProfileWords?: InputMaybe<Array<InputMaybe<SearchProfileWord>>>;\n  /** Customer special wishes */\n  specialWishes?: InputMaybe<Scalars['String']['input']>;\n  /** The number of toilets from */\n  toiletCountFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** The number of toilets to */\n  toiletCountTo?: InputMaybe<Scalars['Int']['input']>;\n  totalCommercialAreaFrom?: InputMaybe<Scalars['Float']['input']>;\n  totalCommercialAreaTo?: InputMaybe<Scalars['Float']['input']>;\n  /** Profile valid to date */\n  validToDate?: InputMaybe<Scalars['DateTime']['input']>;\n  /** Year built from */\n  yearBuiltFrom?: InputMaybe<Scalars['Int']['input']>;\n  /** Year built to */\n  yearBuiltTo?: InputMaybe<Scalars['Int']['input']>;\n  /** Zip codes */\n  zipCodesIds?: InputMaybe<Array<InputMaybe<Scalars['ID']['input']>>>;\n};\n\nexport type UpdateSearchProfileMarketDataMatchedCaseInput = {\n  /** The globally unique Id of matched case */\n  id: Scalars['ID']['input'];\n  /** The status of matched case */\n  status: MatchProfileStatus;\n};\n\nexport type UpdateSearchProfileMatchedCaseInput = {\n  /** The globally unique Id of matched case */\n  id: Scalars['ID']['input'];\n  /** The status of matched case */\n  status: MatchProfileStatus;\n};\n\nexport type UploadOfferDocumentInputType = {\n  documentTypeId?: InputMaybe<Scalars['ID']['input']>;\n  offerId: Scalars['ID']['input'];\n};\n\nexport enum ValuationCaseStatus {\n  /** RequiresValuation */\n  RequiresValuation = 'RequiresValuation',\n  /** UnderValuation */\n  UnderValuation = 'UnderValuation',\n  /** ValuationCompleted */\n  ValuationCompleted = 'ValuationCompleted'\n}\n\nexport type WebPushSubscriptionInput = {\n  auth: Scalars['String']['input'];\n  endpoint: Scalars['String']['input'];\n  p256Dh: Scalars['String']['input'];\n};\n","/* \n\nThis file has been autogenerated by the mw-frontend-tools codegen tool. \n\nPlease do not manually edit this file. Any changes made here will be overwritten when the code generation is run again.\n\nIf you need to modify or add new types, please update your GraphQL schema or adjust the code generation configuration as necessary.\n\n*/\n\nexport const ActivityNote = \"ActivityNote\";\n\nexport const ActivityNotification = \"ActivityNotification\";\n\nexport const ActivityType = \"ActivityType\";\n\nexport const Address = \"Address\";\n\nexport const AgricultureSearchProfile = \"AgricultureSearchProfile\";\n\nexport const AnalyticsData = \"AnalyticsData\";\n\nexport const AnalyticsReport = \"AnalyticsReport\";\n\nexport const AnalyticsReportPercentage = \"AnalyticsReportPercentage\";\n\nexport const AppointmentActivity = \"AppointmentActivity\";\n\nexport const AppointmentActivityConnection = \"AppointmentActivityConnection\";\n\nexport const AppointmentActivityEdge = \"AppointmentActivityEdge\";\n\nexport const AppointmentActivityType = \"AppointmentActivityType\";\n\nexport const BaseCase = \"BaseCase\";\n\nexport const BaseCaseMainOffer = \"BaseCaseMainOffer\";\n\nexport const Building = \"Building\";\n\nexport const BuildingInclArea = \"BuildingInclArea\";\n\nexport const BusinessBuilding = \"BusinessBuilding\";\n\nexport const BusinessCase = \"BusinessCase\";\n\nexport const BusinessRentalCase = \"BusinessRentalCase\";\n\nexport const BusinessRentalSearchProfile = \"BusinessRentalSearchProfile\";\n\nexport const BusinessSaleSearchProfile = \"BusinessSaleSearchProfile\";\n\nexport const BusinessSalesCase = \"BusinessSalesCase\";\n\nexport const BusinessSalesPresentation = \"BusinessSalesPresentation\";\n\nexport const BusinessValuationCase = \"BusinessValuationCase\";\n\nexport const CaseAnnounced = \"CaseAnnounced\";\n\nexport const CaseAreas = \"CaseAreas\";\n\nexport const CaseMarketingCampaignStatistics = \"CaseMarketingCampaignStatistics\";\n\nexport const CasePotentialBuyer = \"CasePotentialBuyer\";\n\nexport const CasePromotion = \"CasePromotion\";\n\nexport const CaseRelation = \"CaseRelation\";\n\nexport const ConfigurableTextSection = \"ConfigurableTextSection\";\n\nexport const Consent = \"Consent\";\n\nexport const ContractOfRentInterface = \"ContractOfRentInterface\";\n\nexport const ContractOfSaleBusiness = \"ContractOfSaleBusiness\";\n\nexport const ContractOfSaleInterface = \"ContractOfSaleInterface\";\n\nexport const ContractOfSalePrivate = \"ContractOfSalePrivate\";\n\nexport const CounselingCase = \"CounselingCase\";\n\nexport const CounselingPropertyCase = \"CounselingPropertyCase\";\n\nexport const Country = \"Country\";\n\nexport const Customer = \"Customer\";\n\nexport const CustomerAddress = \"CustomerAddress\";\n\nexport const CustomerConsent = \"CustomerConsent\";\n\nexport const CustomerContactInfo = \"CustomerContactInfo\";\n\nexport const CustomerEmail = \"CustomerEmail\";\n\nexport const CustomerFavoriteCaseConnection = \"CustomerFavoriteCaseConnection\";\n\nexport const CustomerFavoriteCaseEdge = \"CustomerFavoriteCaseEdge\";\n\nexport const CustomerPhone = \"CustomerPhone\";\n\nexport const Document = \"Document\";\n\nexport const DocumentAccessGrantedNotification = \"DocumentAccessGrantedNotification\";\n\nexport const DocumentConnection = \"DocumentConnection\";\n\nexport const DocumentEdge = \"DocumentEdge\";\n\nexport const DocumentSignature = \"DocumentSignature\";\n\nexport const DocumentSigningNotification = \"DocumentSigningNotification\";\n\nexport const DocumentType = \"DocumentType\";\n\nexport const Employee = \"Employee\";\n\nexport const EmployeeOffer = \"EmployeeOffer\";\n\nexport const Error = \"Error\";\n\nexport const FeatureToggle = \"FeatureToggle\";\n\nexport const INotificationBadgeCount = \"INotificationBadgeCount\";\n\nexport const IThreadBadgeCount = \"IThreadBadgeCount\";\n\nexport const IncreasePerYear = \"IncreasePerYear\";\n\nexport const LeadConsentGraphType = \"LeadConsentGraphType\";\n\nexport const LeadContactEmployee = \"LeadContactEmployee\";\n\nexport const LeadInterface = \"LeadInterface\";\n\nexport const LeadNotification = \"LeadNotification\";\n\nexport const LeadOpenHouse = \"LeadOpenHouse\";\n\nexport const LeadPresentation = \"LeadPresentation\";\n\nexport const LeadSalesMaterialWithContact = \"LeadSalesMaterialWithContact\";\n\nexport const LeadTypeGraphType = \"LeadTypeGraphType\";\n\nexport const MarketDataCase = \"MarketDataCase\";\n\nexport const MarketDataCasePrimaryImage = \"MarketDataCasePrimaryImage\";\n\nexport const MarketingCampaign = \"MarketingCampaign\";\n\nexport const MarketingCampaignAdTimelineItem = \"MarketingCampaignAdTimelineItem\";\n\nexport const MarketingCampaignInteraction = \"MarketingCampaignInteraction\";\n\nexport const MarketingCampaignInteractionStatistics = \"MarketingCampaignInteractionStatistics\";\n\nexport const MarketingCampaignInteractionsStatistics = \"MarketingCampaignInteractionsStatistics\";\n\nexport const MarketingCampaignLink = \"MarketingCampaignLink\";\n\nexport const MarketingCampaignTotals = \"MarketingCampaignTotals\";\n\nexport const MarketingPlacementsTimeline = \"MarketingPlacementsTimeline\";\n\nexport const Media = \"Media\";\n\nexport const MediaDataConnection = \"MediaDataConnection\";\n\nexport const MediaDataEdge = \"MediaDataEdge\";\n\nexport const MediaType = \"MediaType\";\n\nexport const Message = \"Message\";\n\nexport const MessageConnection = \"MessageConnection\";\n\nexport const MessageEdge = \"MessageEdge\";\n\nexport const MessageNotification = \"MessageNotification\";\n\nexport const Mutation = \"Mutation\";\n\nexport const MyPageMwSubscription = \"MyPageMwSubscription\";\n\nexport const MyPageSpot = \"MyPageSpot\";\n\nexport const MyPageSpotEntry = \"MyPageSpotEntry\";\n\nexport const Neighborhood = \"Neighborhood\";\n\nexport const NeighborhoodPin = \"NeighborhoodPin\";\n\nexport const NeighborhoodPinConnection = \"NeighborhoodPinConnection\";\n\nexport const NeighborhoodPinEdge = \"NeighborhoodPinEdge\";\n\nexport const Node = \"Node\";\n\nexport const NotificationInterface = \"NotificationInterface\";\n\nexport const NotificationInterfaceConnection = \"NotificationInterfaceConnection\";\n\nexport const NotificationInterfaceEdge = \"NotificationInterfaceEdge\";\n\nexport const Offer = \"Offer\";\n\nexport const OfferConnection = \"OfferConnection\";\n\nexport const OfferEdge = \"OfferEdge\";\n\nexport const OfferPriceHistory = \"OfferPriceHistory\";\n\nexport const OffmarketCase = \"OffmarketCase\";\n\nexport const OpenHouse = \"OpenHouse\";\n\nexport const OpenHouseOnFavoriteCaseNotification = \"OpenHouseOnFavoriteCaseNotification\";\n\nexport const OwnerCost = \"OwnerCost\";\n\nexport const PageInfo = \"PageInfo\";\n\nexport const ParticipantIdentity = \"ParticipantIdentity\";\n\nexport const Person = \"Person\";\n\nexport const Portfolio = \"Portfolio\";\n\nexport const PredefinedArea = \"PredefinedArea\";\n\nexport const PriceChangeOnFavoriteCaseNotification = \"PriceChangeOnFavoriteCaseNotification\";\n\nexport const PriceChangedOnMatchedCaseNotification = \"PriceChangedOnMatchedCaseNotification\";\n\nexport const PrivateBuilding = \"PrivateBuilding\";\n\nexport const PrivateRentalSearchProfile = \"PrivateRentalSearchProfile\";\n\nexport const PrivateSaleSearchProfile = \"PrivateSaleSearchProfile\";\n\nexport const Query = \"Query\";\n\nexport const QuestionnaireMetaData = \"QuestionnaireMetaData\";\n\nexport const RectifyCase = \"RectifyCase\";\n\nexport const RentalCase = \"RentalCase\";\n\nexport const RentalPresentation = \"RentalPresentation\";\n\nexport const RentalPresentationBusiness = \"RentalPresentationBusiness\";\n\nexport const RentalPresentationPrivate = \"RentalPresentationPrivate\";\n\nexport const RequestedDocumentNotification = \"RequestedDocumentNotification\";\n\nexport const RequestedDocumentType = \"RequestedDocumentType\";\n\nexport const Response = \"Response\";\n\nexport const SalesCase = \"SalesCase\";\n\nexport const SalesPresentation = \"SalesPresentation\";\n\nexport const SalesPresentationPrivate = \"SalesPresentationPrivate\";\n\nexport const SearchArea = \"SearchArea\";\n\nexport const SearchProfile = \"SearchProfile\";\n\nexport const SearchProfileExternalMatchedCase = \"SearchProfileExternalMatchedCase\";\n\nexport const SearchProfileExternalMatchedCaseConnection = \"SearchProfileExternalMatchedCaseConnection\";\n\nexport const SearchProfileExternalMatchedCaseEdge = \"SearchProfileExternalMatchedCaseEdge\";\n\nexport const SearchProfileInterfaceConnection = \"SearchProfileInterfaceConnection\";\n\nexport const SearchProfileInterfaceEdge = \"SearchProfileInterfaceEdge\";\n\nexport const SearchProfileMatchNotification = \"SearchProfileMatchNotification\";\n\nexport const SearchProfileMatchedCase = \"SearchProfileMatchedCase\";\n\nexport const SearchProfileMatchedCaseConnection = \"SearchProfileMatchedCaseConnection\";\n\nexport const SearchProfileMatchedCaseEdge = \"SearchProfileMatchedCaseEdge\";\n\nexport const SearchProfileMatchedCaseNotification = \"SearchProfileMatchedCaseNotification\";\n\nexport const ServiceIdentity = \"ServiceIdentity\";\n\nexport const Shop = \"Shop\";\n\nexport const StakeholderIdentity = \"StakeholderIdentity\";\n\nexport const StakeholderInOffer = \"StakeholderInOffer\";\n\nexport const StakeholderInRegistry = \"StakeholderInRegistry\";\n\nexport const TaskActivityConnection = \"TaskActivityConnection\";\n\nexport const TaskActivityEdge = \"TaskActivityEdge\";\n\nexport const TaskActivityGraph = \"TaskActivityGraph\";\n\nexport const Thread = \"Thread\";\n\nexport const ThreadConnection = \"ThreadConnection\";\n\nexport const ThreadEdge = \"ThreadEdge\";\n\nexport const ThreadParticipant = \"ThreadParticipant\";\n\nexport const TimelineActivity = \"TimelineActivity\";\n\nexport const TimelineActivityConnection = \"TimelineActivityConnection\";\n\nexport const TimelineActivityEdge = \"TimelineActivityEdge\";\n\nexport const TimelineActivityNote = \"TimelineActivityNote\";\n\nexport const TotalCosts = \"TotalCosts\";\n\nexport const ValuationCase = \"ValuationCase\";\n\nexport const Viewer = \"Viewer\";\n\nexport const ZipCode = \"ZipCode\";","/**\n * @generated SignedSource<<00e89441f297038570c67f9aebc74a19>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type documentsPaginationQuery_CasePotentialBuyer$variables = {\n  count?: number | null | undefined;\n  cursor?: string | null | undefined;\n  id: string;\n  searchText?: string | null | undefined;\n};\nexport type documentsPaginationQuery_CasePotentialBuyer$data = {\n  readonly node: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"favoritePageDocumentsBody_CasePotentialBuyer\">;\n  } | null | undefined;\n};\nexport type documentsPaginationQuery_CasePotentialBuyer = {\n  response: documentsPaginationQuery_CasePotentialBuyer$data;\n  variables: documentsPaginationQuery_CasePotentialBuyer$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"defaultValue\": 10,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"count\"\n},\nv1 = {\n  \"defaultValue\": null,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"cursor\"\n},\nv2 = {\n  \"defaultValue\": null,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"id\"\n},\nv3 = {\n  \"defaultValue\": null,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"searchText\"\n},\nv4 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"id\",\n    \"variableName\": \"id\"\n  }\n],\nv5 = {\n  \"kind\": \"Variable\",\n  \"name\": \"searchText\",\n  \"variableName\": \"searchText\"\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv8 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"after\",\n    \"variableName\": \"cursor\"\n  },\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"first\",\n    \"variableName\": \"count\"\n  },\n  (v5/*: any*/)\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [\n      (v0/*: any*/),\n      (v1/*: any*/),\n      (v2/*: any*/),\n      (v3/*: any*/)\n    ],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"documentsPaginationQuery_CasePotentialBuyer\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v4/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": [\n              {\n                \"kind\": \"Variable\",\n                \"name\": \"count\",\n                \"variableName\": \"count\"\n              },\n              {\n                \"kind\": \"Variable\",\n                \"name\": \"cursor\",\n                \"variableName\": \"cursor\"\n              },\n              (v5/*: any*/)\n            ],\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"favoritePageDocumentsBody_CasePotentialBuyer\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [\n      (v0/*: any*/),\n      (v1/*: any*/),\n      (v3/*: any*/),\n      (v2/*: any*/)\n    ],\n    \"kind\": \"Operation\",\n    \"name\": \"documentsPaginationQuery_CasePotentialBuyer\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v4/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          (v6/*: any*/),\n          (v7/*: any*/),\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": null,\n                \"kind\": \"LinkedField\",\n                \"name\": \"baseCase\",\n                \"plural\": false,\n                \"selections\": [\n                  (v6/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"publicDocumentAllDownloadUrl\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"publicDocumentMultipleDownloadUrl\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": (v8/*: any*/),\n                    \"concreteType\": \"DocumentConnection\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"publicDocumentConnection\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"DocumentEdge\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"edges\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"concreteType\": \"Document\",\n                            \"kind\": \"LinkedField\",\n                            \"name\": \"node\",\n                            \"plural\": false,\n                            \"selections\": [\n                              (v7/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": [\n                                  {\n                                    \"kind\": \"Literal\",\n                                    \"name\": \"inline\",\n                                    \"value\": false\n                                  },\n                                  {\n                                    \"kind\": \"Literal\",\n                                    \"name\": \"previewState\",\n                                    \"value\": \"FullVersion\"\n                                  }\n                                ],\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentDownloadUrlCookieAuth\",\n                                \"storageKey\": \"documentDownloadUrlCookieAuth(inline:false,previewState:\\\"FullVersion\\\")\"\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"propertyOverviewUrl\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentName\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentTypeName\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"readDate\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"grantedDate\",\n                                \"storageKey\": null\n                              },\n                              (v6/*: any*/)\n                            ],\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"cursor\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"totalCount\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"PageInfo\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"pageInfo\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"endCursor\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"hasNextPage\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": (v8/*: any*/),\n                    \"filters\": [\n                      \"searchText\"\n                    ],\n                    \"handle\": \"connection\",\n                    \"key\": \"documents__publicDocumentConnection\",\n                    \"kind\": \"LinkedHandle\",\n                    \"name\": \"publicDocumentConnection\"\n                  },\n                  (v7/*: any*/)\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"type\": \"CasePotentialBuyer\",\n            \"abstractKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"b3fb07edd6c4d600aa84abf52e34cdea\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"documentsPaginationQuery_CasePotentialBuyer\",\n    \"operationKind\": \"query\",\n    \"text\": \"query documentsPaginationQuery_CasePotentialBuyer(\\n  $count: Int = 10\\n  $cursor: String\\n  $searchText: String\\n  $id: ID!\\n) {\\n  node(id: $id) {\\n    __typename\\n    ...favoritePageDocumentsBody_CasePotentialBuyer_4CrFSY\\n    id\\n  }\\n}\\n\\nfragment documentsTableRowFragment on Document {\\n  id\\n  documentDownloadUrlCookieAuth(inline: false, previewState: FullVersion)\\n  propertyOverviewUrl\\n  documentName\\n  documentTypeName\\n  readDate\\n  grantedDate\\n}\\n\\nfragment favoritePageDocumentsBody_CasePotentialBuyer_4CrFSY on CasePotentialBuyer {\\n  baseCase {\\n    __typename\\n    publicDocumentAllDownloadUrl\\n    publicDocumentMultipleDownloadUrl\\n    publicDocumentConnection(first: $count, after: $cursor, searchText: $searchText) {\\n      edges {\\n        node {\\n          id\\n          ...documentsTableRowFragment\\n          __typename\\n        }\\n        cursor\\n      }\\n      totalCount\\n      pageInfo {\\n        endCursor\\n        hasNextPage\\n      }\\n    }\\n    id\\n  }\\n  id\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"c2b974d0419d58f7a2dca71dab9701e0\";\n\nexport default node;\n","/**\n * @generated SignedSource<<deaf86eb059beb5fa20a4157a37d0a3c>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type mainNavigationNotificationsRefreshQuery$variables = {\n  after?: string | null | undefined;\n  first?: number | null | undefined;\n  id: string;\n};\nexport type mainNavigationNotificationsRefreshQuery$data = {\n  readonly node: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"notifications_fragment\">;\n  } | null | undefined;\n};\nexport type mainNavigationNotificationsRefreshQuery = {\n  response: mainNavigationNotificationsRefreshQuery$data;\n  variables: mainNavigationNotificationsRefreshQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"after\"\n  },\n  {\n    \"defaultValue\": 12,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"first\"\n  },\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"id\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"id\",\n    \"variableName\": \"id\"\n  }\n],\nv2 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"after\",\n    \"variableName\": \"after\"\n  },\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"first\",\n    \"variableName\": \"first\"\n  }\n],\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"createdDate\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"read\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"relationId\",\n  \"storageKey\": null\n},\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"CaseRelation\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"relationType\",\n  \"plural\": false,\n  \"selections\": [\n    (v7/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"relationType\",\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv9 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": null,\n  \"kind\": \"LinkedField\",\n  \"name\": \"baseCase\",\n  \"plural\": false,\n  \"selections\": [\n    (v3/*: any*/),\n    (v8/*: any*/),\n    (v4/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv10 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"address\",\n  \"storageKey\": null\n},\nv11 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"name\",\n  \"storageKey\": null\n},\nv12 = [\n  (v6/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"AppointmentActivity\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"appointmentActivity\",\n    \"plural\": false,\n    \"selections\": [\n      (v11/*: any*/),\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"location\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"baseCase\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          (v10/*: any*/),\n          (v4/*: any*/)\n        ],\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"startDate\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"endDate\",\n        \"storageKey\": null\n      },\n      (v4/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v5/*: any*/)\n],\nv13 = [\n  (v3/*: any*/),\n  (v10/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"CaseRelation\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"relationType\",\n    \"plural\": false,\n    \"selections\": [\n      (v7/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v4/*: any*/)\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"mainNavigationNotificationsRefreshQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": (v2/*: any*/),\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"notifications_fragment\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"mainNavigationNotificationsRefreshQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          (v4/*: any*/),\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": (v2/*: any*/),\n                \"concreteType\": \"NotificationInterfaceConnection\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"notificationConnection\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"NotificationInterfaceEdge\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"edges\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": null,\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"node\",\n                        \"plural\": false,\n                        \"selections\": [\n                          (v4/*: any*/),\n                          (v3/*: any*/),\n                          {\n                            \"kind\": \"TypeDiscriminator\",\n                            \"abstractKey\": \"__isNotificationInterface\"\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"threadId\",\n                                \"storageKey\": null\n                              },\n                              (v5/*: any*/),\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"subject\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"authorName\",\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"MessageNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              (v9/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"Document\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"document\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"documentTypeName\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v10/*: any*/),\n                              (v5/*: any*/)\n                            ],\n                            \"type\": \"DocumentSigningNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": (v12/*: any*/),\n                            \"type\": \"ActivityNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfile\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v3/*: any*/),\n                                  (v4/*: any*/),\n                                  (v11/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v5/*: any*/)\n                            ],\n                            \"type\": \"SearchProfileMatchNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              (v9/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"typeName\",\n                                \"storageKey\": null\n                              },\n                              (v5/*: any*/)\n                            ],\n                            \"type\": \"RequestedDocumentNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v5/*: any*/),\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"SearchProfileMatchedCase\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfileMatchedCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"baseCase\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v3/*: any*/),\n                                      (v10/*: any*/),\n                                      (v8/*: any*/),\n                                      (v4/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfile\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v3/*: any*/),\n                                  (v11/*: any*/),\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"SearchProfileMatchedCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"baseCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v3/*: any*/),\n                                  (v8/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"caseNo\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v5/*: any*/),\n                              (v6/*: any*/),\n                              (v10/*: any*/)\n                            ],\n                            \"type\": \"DocumentAccessGrantedNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"lead\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v3/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"statusType\",\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": \"LeadTypeGraphType\",\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"type\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"displayName\",\n                                        \"storageKey\": null\n                                      },\n                                      (v4/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"receivedDate\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"LeadNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              (v5/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"case\",\n                                \"plural\": false,\n                                \"selections\": (v13/*: any*/),\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"PriceChangeOnFavoriteCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              (v5/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"SearchProfileMatchedCase\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfileMatchedCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"baseCase\",\n                                    \"plural\": false,\n                                    \"selections\": (v13/*: any*/),\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"PriceChangedOnMatchedCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": (v12/*: any*/),\n                            \"type\": \"OpenHouseOnFavoriteCaseNotification\",\n                            \"abstractKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"cursor\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"PageInfo\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"pageInfo\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"endCursor\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"hasNextPage\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": (v2/*: any*/),\n                \"filters\": null,\n                \"handle\": \"connection\",\n                \"key\": \"mainNavigation_notificationConnection\",\n                \"kind\": \"LinkedHandle\",\n                \"name\": \"notificationConnection\"\n              }\n            ],\n            \"type\": \"Customer\",\n            \"abstractKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"2b107dbad6564d3707091e6b53ea6e92\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"mainNavigationNotificationsRefreshQuery\",\n    \"operationKind\": \"query\",\n    \"text\": \"query mainNavigationNotificationsRefreshQuery(\\n  $after: String\\n  $first: Int = 12\\n  $id: ID!\\n) {\\n  node(id: $id) {\\n    __typename\\n    ...notifications_fragment_2HEEH6\\n    id\\n  }\\n}\\n\\nfragment activityNotification_fragment on ActivityNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment documentAccessGrantedNotification_fragment on DocumentAccessGrantedNotification {\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    caseNo\\n    id\\n  }\\n  id\\n  createdDate\\n  read\\n  address\\n}\\n\\nfragment documentSigningNotification_fragment on DocumentSigningNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  document {\\n    documentTypeName\\n    id\\n  }\\n  address\\n  createdDate\\n}\\n\\nfragment leadNotification_fragment on LeadNotification {\\n  read\\n  lead {\\n    __typename\\n    statusType\\n    type {\\n      displayName\\n      id\\n    }\\n    receivedDate\\n    id\\n  }\\n}\\n\\nfragment messageNotification_fragment on MessageNotification {\\n  createdDate\\n  read\\n  subject\\n  authorName\\n}\\n\\nfragment notificationComponent_fragment on NotificationInterface {\\n  __isNotificationInterface: __typename\\n  __typename\\n  ... on MessageNotification {\\n    threadId\\n  }\\n  ...messageNotification_fragment\\n  ...documentSigningNotification_fragment\\n  ...activityNotification_fragment\\n  ...searchProfileMatchNotification_fragment\\n  ...requestedDocumentNotification_fragment\\n  ...searchProfileMatchedCaseNotification_fragment\\n  ...documentAccessGrantedNotification_fragment\\n  ...leadNotification_fragment\\n  ...priceChangeFavoriteCaseNotification_fragment\\n  ...priceChangeOnMatchCaseNotification_fragment\\n  ...openHouseFavoriteCaseNotification_fragment\\n}\\n\\nfragment notifications_fragment_2HEEH6 on Customer {\\n  notificationConnection(first: $first, after: $after) {\\n    edges {\\n      node {\\n        id\\n        __typename\\n        ...notificationComponent_fragment\\n      }\\n      cursor\\n    }\\n    pageInfo {\\n      endCursor\\n      hasNextPage\\n    }\\n  }\\n  id\\n}\\n\\nfragment openHouseFavoriteCaseNotification_fragment on OpenHouseOnFavoriteCaseNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment priceChangeFavoriteCaseNotification_fragment on PriceChangeOnFavoriteCaseNotification {\\n  id\\n  read\\n  createdDate\\n  case {\\n    __typename\\n    address\\n    relationType {\\n      relationId\\n    }\\n    id\\n  }\\n}\\n\\nfragment priceChangeOnMatchCaseNotification_fragment on PriceChangedOnMatchedCaseNotification {\\n  id\\n  read\\n  createdDate\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n      }\\n      id\\n    }\\n    id\\n  }\\n}\\n\\nfragment requestedDocumentNotification_fragment on RequestedDocumentNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  typeName\\n  createdDate\\n}\\n\\nfragment searchProfileMatchNotification_fragment on SearchProfileMatchNotification {\\n  read\\n  searchProfile {\\n    __typename\\n    id\\n    name\\n  }\\n  createdDate\\n}\\n\\nfragment searchProfileMatchedCaseNotification_fragment on SearchProfileMatchedCaseNotification {\\n  id\\n  createdDate\\n  __typename\\n  read\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n        relationType\\n      }\\n      id\\n    }\\n    id\\n  }\\n  searchProfile {\\n    __typename\\n    name\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"85745bf75789444887bbdc3e339133d5\";\n\nexport default node;\n","/**\n * @generated SignedSource<<6df910821495976ef8a6bc79cd0cae50>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type registerOpenHouseQuery$variables = {\n  id: string;\n};\nexport type registerOpenHouseQuery$data = {\n  readonly node: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"registerOpenHouseModalFragment\">;\n  } | null | undefined;\n};\nexport type registerOpenHouseQuery = {\n  response: registerOpenHouseQuery$data;\n  variables: registerOpenHouseQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"id\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"id\",\n    \"variableName\": \"id\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"registerOpenHouseQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": null,\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"registerOpenHouseModalFragment\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"registerOpenHouseQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"kind\": \"ScalarField\",\n            \"name\": \"__typename\",\n            \"storageKey\": null\n          },\n          (v2/*: any*/),\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": [\n                  {\n                    \"kind\": \"Literal\",\n                    \"name\": \"amount\",\n                    \"value\": 2\n                  }\n                ],\n                \"concreteType\": \"OpenHouse\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"openHouse\",\n                \"plural\": true,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"ActivityType\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"activityType\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"isRegistration\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"nameOnTimeline\",\n                        \"storageKey\": null\n                      },\n                      (v2/*: any*/)\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"isRegistred\",\n                    \"storageKey\": null\n                  },\n                  (v2/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"startDate\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"endDate\",\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": \"openHouse(amount:2)\"\n              }\n            ],\n            \"type\": \"BaseCase\",\n            \"abstractKey\": \"__isBaseCase\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"38e7405d5808fb8e8e1424c74d72356a\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"registerOpenHouseQuery\",\n    \"operationKind\": \"query\",\n    \"text\": \"query registerOpenHouseQuery(\\n  $id: ID!\\n) {\\n  node(id: $id) {\\n    __typename\\n    ...registerOpenHouseModalFragment\\n    id\\n  }\\n}\\n\\nfragment registerOpenHouseModalFragment on BaseCase {\\n  __isBaseCase: __typename\\n  openHouse(amount: 2) {\\n    activityType {\\n      isRegistration\\n      nameOnTimeline\\n      id\\n    }\\n    isRegistred\\n    id\\n    startDate\\n    endDate\\n  }\\n  id\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"302468eb38bd271c0d6733f7ec1c2cc9\";\n\nexport default node;\n","import { AppTheme } from 'configs/app-theme-defaults';\nimport React, { useContext } from 'react';\n\nconst ThemeContext = React.createContext<AppTheme | null>(null);\n\nconst useTheme = () => {\n  const theme = useContext(ThemeContext);\n\n  return theme;\n};\n\nexport { ThemeContext, useTheme };\n","/**\n * @generated SignedSource<<d3f3a025736974b7f0f74804efae3438>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type MyPageTextSection = \"CasePromotion\" | \"Consent\" | \"CustomerGDPR\" | \"EditSearchProfile\" | \"Favorites\" | \"FinishedActivties\" | \"GetStarted\" | \"Match\" | \"Messages\" | \"MyNeighbourhood\" | \"OtherBrokerFavorites\" | \"SearchProfileMatch\" | \"UpcomingActivities\" | \"UserProfile\" | \"Welcome\" | \"WelcomeHeadline\";\nexport type SearchProfileEnabledType = \"AgricultureSearchProfile\" | \"BusinessRentalSearchProfile\" | \"BusinessSaleSearchProfile\" | \"PrivateRentalSearchProfile\" | \"PrivateSaleSearchProfile\";\nexport type SearchProfileWord = \"Balcony\" | \"Elevator\" | \"Furnished\" | \"IsProjectCase\" | \"Liebhaveri\" | \"ParkingSpace\" | \"Pets\" | \"ResidenceRequirement\" | \"Shareable\" | \"Terrace\";\nexport type viewerContextQuery$variables = Record<PropertyKey, never>;\nexport type viewerContextQuery$data = {\n  readonly viewer: {\n    readonly configurableTextSections: ReadonlyArray<{\n      readonly fileDownloadUrl: string | null | undefined;\n      readonly myPageTextSection: MyPageTextSection | null | undefined;\n      readonly sectionText: string | null | undefined;\n    } | null | undefined> | null | undefined;\n    readonly customer: {\n      readonly id: string;\n    } | null | undefined;\n    readonly featureToggle: {\n      readonly isAnalyticReportsEnabled: boolean | null | undefined;\n      readonly isCanBeContactedByPhoneEnabled: boolean | null | undefined;\n      readonly isMatchExternalMarketCaseEnabled: boolean | null | undefined;\n      readonly isMyNeighborhoodEnabled: boolean | null | undefined;\n      readonly isPropertyForSaleByOwnerEnabled: boolean | null | undefined;\n      readonly isSelfDeletingCustomerEnabled: boolean;\n      readonly isSellerSaysEnabled: boolean | null | undefined;\n      readonly isWebPushNotificationsEnabled: boolean | null | undefined;\n      readonly rentalSearchProfileEnabled: boolean;\n      readonly searchProfileTypes: ReadonlyArray<SearchProfileEnabledType | null | undefined> | null | undefined;\n      readonly searchProfileWords: ReadonlyArray<SearchProfileWord | null | undefined> | null | undefined;\n      readonly useCumulativeDaysOnMarketInSearchProfile: boolean;\n      readonly useDistancesInSearchProfile: boolean;\n      readonly useGenerelConsent: boolean | null | undefined;\n      readonly useSearchProfileContactShop: boolean | null | undefined;\n    };\n    readonly vapidPublicKey: string | null | undefined;\n  } | null | undefined;\n};\nexport type viewerContextQuery = {\n  response: viewerContextQuery$data;\n  variables: viewerContextQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"vapidPublicKey\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"FeatureToggle\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"featureToggle\",\n  \"plural\": false,\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isAnalyticReportsEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isSellerSaysEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isMyNeighborhoodEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isMatchExternalMarketCaseEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isWebPushNotificationsEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isCanBeContactedByPhoneEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"searchProfileTypes\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isPropertyForSaleByOwnerEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"useSearchProfileContactShop\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"rentalSearchProfileEnabled\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"useCumulativeDaysOnMarketInSearchProfile\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"searchProfileWords\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"useGenerelConsent\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"useDistancesInSearchProfile\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"isSelfDeletingCustomerEnabled\",\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"Customer\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"customer\",\n  \"plural\": false,\n  \"selections\": [\n    (v2/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv4 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"myPageTextSections\",\n    \"value\": [\n      \"CasePromotion\",\n      \"Consent\",\n      \"CustomerGDPR\",\n      \"Favorites\",\n      \"GetStarted\",\n      \"Match\",\n      \"MyNeighbourhood\",\n      \"UserProfile\",\n      \"Welcome\",\n      \"WelcomeHeadline\",\n      \"Messages\",\n      \"UpcomingActivities\",\n      \"FinishedActivties\",\n      \"OtherBrokerFavorites\",\n      \"EditSearchProfile\",\n      \"SearchProfileMatch\"\n    ]\n  }\n],\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"sectionText\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"myPageTextSection\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"fileDownloadUrl\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"viewerContextQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v0/*: any*/),\n          (v1/*: any*/),\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": (v4/*: any*/),\n            \"concreteType\": \"ConfigurableTextSection\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"configurableTextSections\",\n            \"plural\": true,\n            \"selections\": [\n              (v5/*: any*/),\n              (v6/*: any*/),\n              (v7/*: any*/)\n            ],\n            \"storageKey\": \"configurableTextSections(myPageTextSections:[\\\"CasePromotion\\\",\\\"Consent\\\",\\\"CustomerGDPR\\\",\\\"Favorites\\\",\\\"GetStarted\\\",\\\"Match\\\",\\\"MyNeighbourhood\\\",\\\"UserProfile\\\",\\\"Welcome\\\",\\\"WelcomeHeadline\\\",\\\"Messages\\\",\\\"UpcomingActivities\\\",\\\"FinishedActivties\\\",\\\"OtherBrokerFavorites\\\",\\\"EditSearchProfile\\\",\\\"SearchProfileMatch\\\"])\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"viewerContextQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v0/*: any*/),\n          (v1/*: any*/),\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": (v4/*: any*/),\n            \"concreteType\": \"ConfigurableTextSection\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"configurableTextSections\",\n            \"plural\": true,\n            \"selections\": [\n              (v5/*: any*/),\n              (v6/*: any*/),\n              (v7/*: any*/),\n              (v2/*: any*/)\n            ],\n            \"storageKey\": \"configurableTextSections(myPageTextSections:[\\\"CasePromotion\\\",\\\"Consent\\\",\\\"CustomerGDPR\\\",\\\"Favorites\\\",\\\"GetStarted\\\",\\\"Match\\\",\\\"MyNeighbourhood\\\",\\\"UserProfile\\\",\\\"Welcome\\\",\\\"WelcomeHeadline\\\",\\\"Messages\\\",\\\"UpcomingActivities\\\",\\\"FinishedActivties\\\",\\\"OtherBrokerFavorites\\\",\\\"EditSearchProfile\\\",\\\"SearchProfileMatch\\\"])\"\n          },\n          (v2/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"740c79ab221fcbac231aac5fdd64414b\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"viewerContextQuery\",\n    \"operationKind\": \"query\",\n    \"text\": \"query viewerContextQuery {\\n  viewer {\\n    vapidPublicKey\\n    featureToggle {\\n      isAnalyticReportsEnabled\\n      isSellerSaysEnabled\\n      isMyNeighborhoodEnabled\\n      isMatchExternalMarketCaseEnabled\\n      isWebPushNotificationsEnabled\\n      isCanBeContactedByPhoneEnabled\\n      searchProfileTypes\\n      isPropertyForSaleByOwnerEnabled\\n      useSearchProfileContactShop\\n      rentalSearchProfileEnabled\\n      useCumulativeDaysOnMarketInSearchProfile\\n      searchProfileWords\\n      useGenerelConsent\\n      useDistancesInSearchProfile\\n      isSelfDeletingCustomerEnabled\\n    }\\n    customer {\\n      id\\n    }\\n    configurableTextSections(myPageTextSections: [CasePromotion, Consent, CustomerGDPR, Favorites, GetStarted, Match, MyNeighbourhood, UserProfile, Welcome, WelcomeHeadline, Messages, UpcomingActivities, FinishedActivties, OtherBrokerFavorites, EditSearchProfile, SearchProfileMatch]) {\\n      sectionText\\n      myPageTextSection\\n      fileDownloadUrl\\n      id\\n    }\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"de6796e40ebb73e3da5e194fd205ffc0\";\n\nexport default node;\n","import { MyPageTextSection } from 'Enums';\nimport { viewerContextQuery, viewerContextQuery$data } from '__generated__/viewerContextQuery.graphql';\nimport { FC, ReactNode, createContext, useContext } from 'react';\nimport { graphql } from 'react-relay';\nimport { useQuery } from 'relay-hooks';\n\nexport type Viewer = NonNullable<viewerContextQuery$data['viewer']> | null;\nexport type ConfigurableText = NonNullable<\n  NonNullable<viewerContextQuery$data['viewer']>['configurableTextSections']\n> | null;\n\nconst ViewerContext = createContext<Viewer>(null);\nexport const useViewer = () => useContext(ViewerContext);\n\ntype Props = {\n  children: ReactNode;\n};\n\nconst ViewerProvider: FC<Props> = (providerProps) => {\n  const query = graphql`\n    query viewerContextQuery {\n      viewer {\n        vapidPublicKey\n        featureToggle {\n          isAnalyticReportsEnabled\n          isSellerSaysEnabled\n          isMyNeighborhoodEnabled\n          isMatchExternalMarketCaseEnabled\n          isWebPushNotificationsEnabled\n          isCanBeContactedByPhoneEnabled\n          searchProfileTypes\n          isPropertyForSaleByOwnerEnabled\n          useSearchProfileContactShop\n          rentalSearchProfileEnabled\n          useCumulativeDaysOnMarketInSearchProfile\n          searchProfileWords\n          useGenerelConsent\n          useDistancesInSearchProfile\n          isSelfDeletingCustomerEnabled\n        }\n        customer {\n          id\n        }\n        configurableTextSections(\n          myPageTextSections: [\n            CasePromotion\n            Consent\n            CustomerGDPR\n            Favorites\n            GetStarted\n            Match\n            MyNeighbourhood\n            UserProfile\n            Welcome\n            WelcomeHeadline\n            Messages\n            UpcomingActivities\n            FinishedActivties\n            OtherBrokerFavorites\n            EditSearchProfile\n            SearchProfileMatch\n          ]\n        ) {\n          sectionText\n          myPageTextSection\n          fileDownloadUrl\n        }\n      }\n    }\n  `;\n\n  const { error, data } = useQuery<viewerContextQuery>(query);\n\n  if (error) {\n    throw error;\n  }\n\n  if (!data?.viewer) {\n    return null;\n  }\n\n  return <ViewerContext.Provider value={data.viewer}>{providerProps.children}</ViewerContext.Provider>;\n};\n\nexport default ViewerProvider;\n\nexport const findConfigurableSectionText = (textList: ConfigurableText, key: MyPageTextSection) => {\n  const arr = textList || [];\n  return arr.find((text) => text?.myPageTextSection === key);\n};\n","import mixpanel, { Dict } from 'mixpanel-browser';\nimport { FC, ReactNode, createContext, useEffect } from 'react';\nimport { MixPanelEvents } from './mixpanelEvents';\n\ntype MixPanelUser = {\n  userId: string;\n};\n\ntype State = {\n  track: <T extends keyof MixPanelEvents>(event: T, properties?: MixPanelEvents[T]) => void;\n  identify: (user: MixPanelUser) => void;\n};\n\nexport const MixpanelContext = createContext<State>({\n  track: () => {},\n  identify: () => {},\n});\n\ntype Props = {\n  children: ReactNode;\n  token: string;\n};\n\nexport const MixPanelProvider: FC<Props> = ({ children, token }) => {\n  useEffect(() => {\n    if (token) {\n      mixpanel.init(token, { api_host: 'https://api-eu.mixpanel.com' });\n    }\n  }, [token]);\n\n  const track = <T extends keyof MixPanelEvents>(event: T, properties?: MixPanelEvents[T]) => {\n    if (!token) {\n      return;\n    }\n\n    mixpanel.track(event, properties as Dict);\n  };\n\n  const identify = (user: MixPanelUser) => {\n    if (!token) return;\n    mixpanel.identify(user.userId);\n    mixpanel.register_once({ ...user });\n  };\n\n  return <MixpanelContext.Provider value={{ track, identify }}>{children}</MixpanelContext.Provider>;\n};\n","export const ActivitiesTab = {\n  ACTIVITIES: 'activities',\n  PAST_ACTIVITIES: 'pastActivities',\n};\n","export const FavouritesTab = {\n  FAVORITES: 'favorites',\n  FAVORITES_OTHER_BROKER: 'favorites-other-broker',\n};\n","export const MatchTab = {\n  MATCHES: 'matches',\n  SEARCH_PROFILES: 'searchProfiles',\n};\n","export const MySalesTab = {\n  ACTIVE: 'active',\n  FINISHED: 'finished',\n};\n","import { useNavigate } from 'react-router-dom';\n\n/** Navigate to the top of a page so that the scroll position isn't persisted between pages. Use this instead of React Dom's build-in @see {@link useNavigate}. */\nexport const useNavigateToTop = () => {\n  const navigate = useNavigate();\n\n  const navigateAndReset = (to: string) => {\n    navigate(to);\n    window.scrollTo(0, 0);\n  };\n\n  return navigateAndReset;\n};\n","import classNames from 'classnames';\nimport Icon, { IconProps } from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport { useNavigateToTop } from 'hooks/use-navigate-to-top';\nimport { AnchorHTMLAttributes, ComponentPropsWithoutRef, FC, Fragment, MouseEventHandler } from 'react';\nimport { Link } from 'react-router-dom';\nimport { HashLink } from 'react-router-hash-link';\nimport './button.scss';\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n  anchorTag?: boolean;\n  download?: boolean;\n  hideText?: boolean;\n  href?: string;\n  iconClassname?: string;\n  iconEnd?: IconProps['name'];\n  iconHeight?: number;\n  iconStart?: IconProps['name'];\n  iconWidth?: number;\n  inline?: boolean;\n  isFullWidth?: boolean;\n  padding?: boolean;\n  selected?: boolean;\n  version?: 'primary' | 'secondary' | 'link' | 'tag';\n  wrapper?: boolean;\n}\n\nconst Button: FC<ButtonProps> = (props) => {\n  const {\n    anchorTag,\n    children,\n    className,\n    disabled,\n    href,\n    hideText,\n    iconClassname,\n    iconHeight,\n    iconStart,\n    iconWidth,\n    iconEnd,\n    isFullWidth,\n    type,\n    padding = true,\n    version = 'primary',\n    selected,\n    download,\n    inline,\n    wrapper,\n    ...rest\n  } = props;\n\n  const navigateToTop = useNavigateToTop();\n\n  const navigateAndReset: MouseEventHandler<HTMLAnchorElement> = (event) => {\n    event.preventDefault();\n    navigateToTop(href || '');\n  };\n\n  const classList = wrapper\n    ? 'reset-styles'\n    : classNames('button', version, className, {\n        hideText,\n        isDisabled: disabled,\n        isFullWidth,\n        isInline: inline,\n        isSelected: selected,\n        padding,\n      });\n\n  const getInnerContent = () => {\n    return (\n      <Fragment>\n        {iconStart && (\n          <Icon\n            className={classNames('iconStart', iconClassname)}\n            height={iconHeight}\n            name={iconStart}\n            width={iconWidth}\n          />\n        )}\n        <Typography className=\"text\" tagStyle={version !== 'link' ? 'cta' : undefined}>\n          {children}\n        </Typography>\n        {iconEnd && <Icon className=\"iconEnd\" height={iconHeight} name={iconEnd} width={iconWidth} />}\n      </Fragment>\n    );\n  };\n\n  if (anchorTag && href && href?.includes('http')) {\n    return (\n      <a\n        className={classList}\n        download={download}\n        href={href}\n        target=\"blank\"\n        {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\n      >\n        {getInnerContent()}\n      </a>\n    );\n  }\n\n  if (anchorTag && href && href?.includes('#')) {\n    return (\n      <HashLink\n        className={classList}\n        to={href}\n        {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\n        scroll={(el) => {\n          // add offset to scroll\n          el.scrollIntoView();\n          window.scrollBy(0, -56);\n        }}\n        smooth\n      >\n        {getInnerContent()}\n      </HashLink>\n    );\n  }\n\n  if (anchorTag && href) {\n    return (\n      <Link\n        className={classList}\n        onClick={navigateAndReset}\n        to={href}\n        {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\n      >\n        {getInnerContent()}\n      </Link>\n    );\n  }\n\n  return (\n    <button className={classList} type={type || 'button'} {...rest}>\n      {getInnerContent()}\n    </button>\n  );\n};\n\nexport default Button;\n","import * as React from \"react\";\nconst SvgAddPin = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={28} height={40} fill=\"none\" viewBox=\"0 0 28 40\" {...props}><path fill=\"current\" fillRule=\"evenodd\" d=\"M28 5a5 5 0 0 0-5-5H5a5 5 0 0 0-5 5v20.981a5 5 0 0 0 1.461 3.533l9 9.016a5 5 0 0 0 7.078 0l9-9.016A5 5 0 0 0 28 25.98z\" clipRule=\"evenodd\" /><path fill=\"#fff\" d=\"M17.57 14.618h-2.827v2.898h-1.484v-2.898H10.43v-1.344h2.828v-2.898h1.484v2.898h2.828z\" /></svg>;\nexport default SvgAddPin;","import * as React from \"react\";\nconst SvgAndroidAddHomeScreen = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={17} height={22} viewBox=\"0 0 17 22\" {...props}><g fill=\"none\" fillRule=\"evenodd\"><path d=\"M-3-1h24v24H-3z\" /><path fill=\"#1D1D1D\" d=\"M15 .01 5 0C3.9 0 3 .9 3 2v3c0 .55.45 1 1 1s1-.45 1-1V4h10v14H5v-1c0-.55-.45-1-1-1s-1 .45-1 1v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V2c0-1.1-.9-1.99-2-1.99M8 14c.55 0 1-.45 1-1V8c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1s.45 1 1 1h2.59L.7 13.89a.996.996 0 1 0 1.41 1.41L7 10.41V13c0 .55.45 1 1 1\" /></g></svg>;\nexport default SvgAndroidAddHomeScreen;","import * as React from \"react\";\nconst SvgArrowDown = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m12 16 6-6-1.41-1.41L12 13.17 7.41 8.59 6 10z\" /></svg>;\nexport default SvgArrowDown;","import * as React from \"react\";\nconst SvgArrowFilled = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={10} height={5} fill=\"none\" viewBox=\"0 0 10 5\" {...props}><path fill=\"current\" d=\"m0 0 5 5 5-5z\" /></svg>;\nexport default SvgArrowFilled;","import * as React from \"react\";\nconst SvgArrowLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z\" /></svg>;\nexport default SvgArrowLeft;","import * as React from \"react\";\nconst SvgArrowLeftLong = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M21 11H6.83l3.58-3.59L9 6l-6 6 6 6 1.41-1.41L6.83 13H21z\" /></svg>;\nexport default SvgArrowLeftLong;","import * as React from \"react\";\nconst SvgArrowRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" /></svg>;\nexport default SvgArrowRight;","import * as React from \"react\";\nconst SvgArrowRightLong = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M3 13h14.17l-3.58 3.59L15 18l6-6-6-6-1.41 1.41L17.17 11H3z\" /></svg>;\nexport default SvgArrowRightLong;","import * as React from \"react\";\nconst SvgArrowUp = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\" /></svg>;\nexport default SvgArrowUp;","import * as React from \"react\";\nconst SvgAvatar = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={40} height={40} fill=\"transparent\" viewBox=\"0 0 40 40\" {...props}><circle cx={20} cy={20} r={19.5} stroke=\"#DBDBDB\" /><path fill=\"#000\" d=\"M23.5 22h-.79l-.28-.27A6.47 6.47 0 0 0 24 17.5a6.5 6.5 0 1 0-6.5 6.5c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L28.49 27zm-6 0c-2.49 0-4.5-2.01-4.5-4.5s2.01-4.5 4.5-4.5 4.5 2.01 4.5 4.5-2.01 4.5-4.5 4.5\" /></svg>;\nexport default SvgAvatar;","import * as React from \"react\";\nconst SvgBanner = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"7 10 35 35\" {...props}><defs><style>{\".Banner_svg__st1{fill:#fcee21}.Banner_svg__st2{fill:#fff}\"}</style></defs><path d=\"M39.6 27.9c0 8.3-6.7 15.1-15.1 15.1S9.4 36.3 9.4 27.9s6.7-15.1 15.1-15.1 15.1 6.7 15.1 15.1\" style={{\n    fill: \"#f15a24\"\n  }} /><path d=\"M22.2 29.2\" className=\"Banner_svg__st1\" /><path d=\"M30.8 17.4c-.4-.4-.8-.6-1.4-.6h-10c-.5 0-1 .2-1.4.6s-.6.8-.6 1.4v18.4c0 .5.2 1 .6 1.4s.8.6 1.4.6h10c.5 0 1-.2 1.4-.6s.6-.9.6-1.4V18.8c0-.5-.2-1-.6-1.4m-1 20.2H19.2V21.3h10.6z\" className=\"Banner_svg__st2\" /><path d=\"M24.6 27.1h1.5v1h-1.5z\" className=\"Banner_svg__st2\" /><path d=\"M21.2 31h6.4c.7 0 1.3-.7 1.3-1.6v-5.3c0-.9-.6-1.6-1.3-1.6h-6.4c-.7 0-1.3.7-1.3 1.6v5.3c0 .9.6 1.6 1.3 1.6m3.3-6.9 3 1.9h-1v3h-2.4v-2h-1v2h-.6v-3h-1zM20.6 32.2c-.2 0-.4.2-.4.4s.2.4.4.4h8c.2 0 .4-.2.4-.4s-.2-.4-.4-.4zM26.6 33.2h-6c-.2 0-.4.2-.4.4s.2.4.4.4h6c.2 0 .4-.2.4-.4s-.2-.4-.4-.4\" className=\"Banner_svg__st2\" /></svg>;\nexport default SvgBanner;","import * as React from \"react\";\nconst SvgBell = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M19.29 17.29 18 16v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-1.29 1.29c-.63.63-.19 1.71.7 1.71h13.17c.9 0 1.34-1.08.71-1.71M16 17H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5zm-4 5c1.1 0 2-.9 2-2h-4a2 2 0 0 0 2 2\" /></svg>;\nexport default SvgBell;","import * as React from \"react\";\nconst SvgBellOff = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={800} height={800} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"#000\" fillRule=\"evenodd\" d=\"M9.443 19.17a1 1 0 0 1 1.388.273c.099.148.253.288.46.391.209.104.453.162.709.162s.5-.058.708-.162c.208-.103.362-.243.461-.391a1 1 0 1 1 1.662 1.114 3.2 3.2 0 0 1-1.231 1.068 3.6 3.6 0 0 1-1.6.371 3.6 3.6 0 0 1-1.6-.371 3.2 3.2 0 0 1-1.23-1.068 1 1 0 0 1 .273-1.388M2.293 2.293a1 1 0 0 1 1.414 0l18 18a1 1 0 0 1-1.414 1.414l-18-18a1 1 0 0 1 0-1.414\" clipRule=\"evenodd\" /><path fill=\"#000\" fillRule=\"evenodd\" d=\"M6.225 5.639c-.379.91-.558 1.922-.558 2.961v1.733c0 .244-.11.538-.395.917-.274.363-.63.703-1.022 1.08l-.066.063A3.78 3.78 0 0 0 3 15.133C3 16.67 4.198 18 5.778 18h12.444q.174 0 .343-.021zM19.97 16.557c.211.211.563.192.7-.074.211-.406.329-.868.329-1.35 0-1.133-.5-2.084-1.184-2.74l-.066-.063c-.393-.377-.748-.717-1.022-1.08-.285-.38-.395-.673-.395-.917V8.6c0-1.73-.497-3.383-1.581-4.62C15.65 2.727 14.03 2 12 2c-1.794 0-3.268.567-4.347 1.565a.47.47 0 0 0 .002.676z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBellOff;","import * as React from \"react\";\nconst SvgBoligsiden = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"#900d09\" d=\"m13.734 11.321.395 1.434 3.562-1.323-.892-.378Z\" data-name=\"Path 3\" /><path fill=\"#fff\" d=\"M18.3 17.403h-12v-5.948l5.9-6.052 6.1 5.935Zm-10.433-1.56h8.864v-4.481h-4.536l.03-3.746-4.358 4.472Z\" data-name=\"Path 2\" /><path fill=\"#aaa\" d=\"M16.722 11.351v.462l1.579-.462Z\" data-name=\"Path 4\" /></svg>;\nexport default SvgBoligsiden;","import * as React from \"react\";\nconst SvgBurgerMenu = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" fillRule=\"evenodd\" d=\"M3 7V5h18v2zm0 6h18v-2H3zm0 6h18v-2H3z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBurgerMenu;","import * as React from \"react\";\nconst SvgCalendar = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={48} height={48} fill=\"currentColor\" viewBox=\"-9 -5 65 65\" {...props}><path d=\"M40 6h-2V2h-4v4H14V2h-4v4H8c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4m0 36H8V20h32zm0-26H8v-6h32z\" /></svg>;\nexport default SvgCalendar;","import * as React from \"react\";\nconst SvgCamera = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M20 4h-3.17L15 2H9L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 14H4V6h4.05l1.83-2h4.24l1.83 2H20zM12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3\" /></svg>;\nexport default SvgCamera;","import * as React from \"react\";\nconst SvgCart = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"current\" viewBox=\"0 0 24 24\" {...props}><path d=\"M17 18c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2m0-3 1.1-2h7.45c.75 0 1.41-.41 1.75-1.03L21.7 4H5.21l-.94-2H1v2h2l3.6 7.59L3.62 17H19v-2z\" /></svg>;\nexport default SvgCart;","import * as React from \"react\";\nconst SvgChat = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H6l-2 2V4h16z\" /></svg>;\nexport default SvgChat;","import * as React from \"react\";\nconst SvgCheck = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" /></svg>;\nexport default SvgCheck;","import * as React from \"react\";\nconst SvgClip = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" fillRule=\"evenodd\" d=\"M15.402 3.1a2.93 2.93 0 0 0-2.902.84l-.012.012-8.014 8.228c-1.965 2.018-1.965 5.3 0 7.318a4.89 4.89 0 0 0 7.052 0L21.981 8.76l1.433 1.396L12.96 20.893a6.89 6.89 0 0 1-9.918 0C.32 18.1.32 13.58 3.041 10.785l8.008-8.223a4.93 4.93 0 0 1 4.872-1.394c1.758.473 3.114 1.876 3.566 3.652a5.18 5.18 0 0 1-1.349 4.945l-8.007 8.227-.013.013a2.963 2.963 0 0 1-4.224-.037 3.093 3.093 0 0 1-.037-4.262l.012-.012 8.712-8.949 1.433 1.395-8.705 8.942a1.093 1.093 0 0 0 .018 1.49.963.963 0 0 0 1.378.018l8.006-8.226.012-.012a3.18 3.18 0 0 0 .826-3.038c-.28-1.096-1.107-1.935-2.147-2.214\" clipRule=\"evenodd\" /></svg>;\nexport default SvgClip;","import * as React from \"react\";\nconst SvgClock = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"current\" d=\"M7.993 1.333A6.663 6.663 0 0 0 1.333 8c0 3.68 2.98 6.666 6.66 6.666A6.67 6.67 0 0 0 14.667 8a6.67 6.67 0 0 0-6.674-6.667m.007 12A5.33 5.33 0 0 1 2.667 8 5.33 5.33 0 0 1 8 2.666 5.33 5.33 0 0 1 13.333 8 5.33 5.33 0 0 1 8 13.333m.333-8.667h-1v4l3.5 2.1.5-.82-3-1.78z\" /></svg>;\nexport default SvgClock;","import * as React from \"react\";\nconst SvgCross = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" /></svg>;\nexport default SvgCross;","import * as React from \"react\";\nconst SvgCross1 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><g clipPath=\"url(#Cross1_svg__a)\"><circle cx={12} cy={12} r={11.75} fill=\"#fff\" stroke=\"#F3F3F3\" strokeWidth={0.5} /><path fill=\"#333\" d=\"m16.5 8.406-.906-.906L12 11.094 8.406 7.5l-.906.906L11.094 12 7.5 15.594l.906.906L12 12.906l3.594 3.594.906-.906L12.906 12z\" /></g><defs><clipPath id=\"Cross1_svg__a\"><path fill=\"#fff\" d=\"M0 0h24v24H0z\" /></clipPath></defs></svg>;\nexport default SvgCross1;","import * as React from \"react\";\nconst SvgDelete = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M6 21h12V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\" /></svg>;\nexport default SvgDelete;","import * as React from \"react\";\nconst SvgDot = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" viewBox=\"0 0 16 16\" {...props}><circle cx={8} cy={8} r={4} fill=\"#2F80ED\" /></svg>;\nexport default SvgDot;","import * as React from \"react\";\nconst SvgDotsMenu = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"current\" viewBox=\"0 0 24 24\" {...props}><path d=\"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\" /></svg>;\nexport default SvgDotsMenu;","import * as React from \"react\";\nconst SvgDownload = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 -960 960 960\" {...props}><path d=\"M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58zM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160z\" /></svg>;\nexport default SvgDownload;","import * as React from \"react\";\nconst SvgDropdown = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m7 10 5 5 5-5z\" /></svg>;\nexport default SvgDropdown;","import * as React from \"react\";\nconst SvgExpand = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m15 3 2.3 2.3-2.89 2.87 1.42 1.42L18.7 6.7 21 9V3zM3 9l2.3-2.3 2.87 2.89 1.42-1.42L6.7 5.3 9 3H3zm6 12-2.3-2.3 2.89-2.87-1.42-1.42L5.3 17.3 3 15v6zm12-6-2.3 2.3-2.87-2.89-1.42 1.42 2.89 2.87L15 21h6z\" /></svg>;\nexport default SvgExpand;","import * as React from \"react\";\nconst SvgFb = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"#fff\" d=\"M14.658 6.064h-1.439a2.516 2.516 0 0 0-2.662 2.707v1.248h-1.45a.225.225 0 0 0-.226.224v1.809a.225.225 0 0 0 .226.224h1.45v4.563a.225.225 0 0 0 .226.224h1.888a.225.225 0 0 0 .226-.224v-4.563h1.692a.225.225 0 0 0 .226-.224v-1.808a.22.22 0 0 0-.066-.159.23.23 0 0 0-.16-.066h-1.691V8.964c0-.509.122-.767.791-.767h.969a.225.225 0 0 0 .226-.224V6.291a.225.225 0 0 0-.226-.227\" /></svg>;\nexport default SvgFb;","import * as React from \"react\";\nconst SvgFavouritePin = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={48} height={48} fill=\"none\" viewBox=\"0 0 48 48\" {...props}><circle cx={24} cy={24} r={24} fill=\"#EB9688\" fillOpacity={0.2} /><circle cx={24} cy={24} r={14.4} fill=\"#F5968B\" /><path fill=\"#fff\" d=\"M32.145 23.914a2.44 2.44 0 0 0 0-3.366l-1.787-1.85a2.24 2.24 0 0 0-3.249 0l-1.787 1.85c-.898.93-2.352.93-3.25 0l-1.786-1.85a2.24 2.24 0 0 0-3.249 0l-1.786 1.851a2.44 2.44 0 0 0 0 3.366l6.822 7.068c.897.93 2.352.93 3.249 0l1.787-1.851.022-.024z\" /></svg>;\nexport default SvgFavouritePin;","import * as React from \"react\";\nconst SvgFiles = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4H8c-1.1 0-1.99.9-1.99 2L6 21c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V11zM8 21V7h6v5h5v9z\" /></svg>;\nexport default SvgFiles;","import * as React from \"react\";\nconst SvgFilesCheck = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={112} height={112} fill=\"none\" viewBox=\"0 0 112 112\" {...props}><path fill=\"#DBDBDB\" d=\"M74.667 4.667h-56c-5.134 0-9.334 4.2-9.334 9.333v65.333h9.334V14h56zM70 23.333H37.333c-5.133 0-9.286 4.2-9.286 9.334L28 98c0 5.133 4.153 9.333 9.287 9.333h51.38c5.133 0 9.333-4.2 9.333-9.333V51.333zM37.333 98V32.667h28V56h23.334v42z\" /><path fill=\"#34A853\" d=\"M79.5 85.035 70.465 76l-3.077 3.055L79.5 91.167l26-26-3.055-3.055z\" /></svg>;\nexport default SvgFilesCheck;","import * as React from \"react\";\nconst SvgFullArrowLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M21 11H6.83l3.58-3.59L9 6l-6 6 6 6 1.41-1.41L6.83 13H21z\" /></svg>;\nexport default SvgFullArrowLeft;","import * as React from \"react\";\nconst SvgFullArrowRight = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M3 13h14.17l-3.58 3.59L15 18l6-6-6-6-1.41 1.41L17.17 11H3z\" /></svg>;\nexport default SvgFullArrowRight;","import * as React from \"react\";\nconst SvgHeart = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={50} height={32} fill=\"none\" viewBox=\"0 0 50 32\" {...props}><path fill=\"#F5968B\" d=\"M47.483 13.197c1.201-1.2 1.201-3.148 0-4.348l-5.62-5.621a3.075 3.075 0 0 0-4.349 0l-5.62 5.62a3.075 3.075 0 0 1-4.35 0l-5.62-5.62a3.075 3.075 0 0 0-4.35 0l-5.62 5.62a3.075 3.075 0 0 0 0 4.35l15.59 15.589a3.06 3.06 0 0 0 1.892.888 3.07 3.07 0 0 0 2.458-.888z\" /><path fill=\"#FDD7D1\" d=\"M7.653 28.778c1.2 1.201 3.148 1.201 4.349 0l3.287-3.287c1.2-1.201 1.2-3.148 0-4.349l-5.588-5.588a3.075 3.075 0 0 0-4.35 0L2.065 18.84a3.075 3.075 0 0 0 0 4.349z\" /></svg>;\nexport default SvgHeart;","import * as React from \"react\";\nconst SvgHeartFilled = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" {...props}><path d=\"m15.94 27.51-.6-.5c-.3-.3-7.9-6.2-10.4-9.5-1.6-2.1-2.3-4.6-1.9-6.9.3-2 1.5-3.7 3.3-4.9 3.7-2.5 7.6-.7 9.7 1.1 2.1-1.8 6-3.6 10-.9 1.8 1.4 2.9 3.2 3 5.3.2 2.4-.8 5-2.7 7-2.6 3.2-9.4 8.5-9.7 8.8z\" style={{\n    fill: \"#333\"\n  }} /></svg>;\nexport default SvgHeartFilled;","import * as React from \"react\";\nconst SvgHeartOutline = props => <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" {...props}><path d=\"m15.94 27.51-.6-.5c-.3-.3-7.9-6.2-10.4-9.5-1.6-2.1-2.3-4.6-1.9-6.9.3-2 1.5-3.7 3.3-4.9 3.7-2.5 7.6-.7 9.7 1.1 2.1-1.8 6-3.6 10-.9 1.8 1.4 2.9 3.2 3 5.3.2 2.4-.8 5-2.7 7-2.6 3.2-9.4 8.5-9.7 8.8zm-5.8-21c-.9 0-1.8.2-2.8.9-1.3.9-2.2 2.1-2.4 3.6-.3 1.7.3 3.7 1.6 5.4 1.9 2.6 7.5 7.2 9.4 8.7 1.8-1.4 6.8-5.5 8.8-8 1.5-1.7 2.3-3.7 2.2-5.5-.1-1.5-.9-2.8-2.2-3.9-4.2-2.8-7.9 1.2-8.1 1.3l-.7.8-.7-.8c-.1-.2-2.3-2.5-5.1-2.5\" style={{\n    fill: \"#333\"\n  }} /></svg>;\nexport default SvgHeartOutline;","import * as React from \"react\";\nconst SvgHome = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\" /></svg>;\nexport default SvgHome;","import * as React from \"react\";\nconst SvgHouse = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={48} height={48} fill=\"none\" viewBox=\"0 0 48 48\" {...props}><path fill=\"currentColor\" d=\"m24 11.38 10 9V36h-4V24H18v12h-4V20.38zM24 6 4 24h6v16h12V28h4v12h12V24h6z\" /></svg>;\nexport default SvgHouse;","import * as React from \"react\";\nconst SvgImage = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-4.86 8.86-3 3.87L9 13.14 6 17h12z\" /></svg>;\nexport default SvgImage;","import * as React from \"react\";\nconst SvgImages = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M20 4v12H8V4zm0-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-8.5 9.67 1.69 2.26 2.48-3.1L19 15H9zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6z\" /></svg>;\nexport default SvgImages;","import * as React from \"react\";\nconst SvgInfo = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M11 7h2v2h-2zm1 10c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1s-1 .45-1 1v4c0 .55.45 1 1 1m0-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\" /></svg>;\nexport default SvgInfo;","import * as React from \"react\";\nconst SvgLead = props => <svg aria-hidden=\"true\" className=\"Lead_svg__MuiSvgIcon-root\" style={{\n  fontSize: 14,\n  color: \"#000\"\n}} viewBox=\"0 0 24 24\" {...props}><path d=\"M20 5.41 18.59 4 7 15.59V9H5v10h10v-2H8.41z\" /></svg>;\nexport default SvgLead;","import * as React from \"react\";\nconst SvgLetter = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={48} height={48} fill=\"none\" viewBox=\"0 0 48 48\" {...props}><path fill=\"#767676\" d=\"M44 12c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4zm-4 0L24 22 8 12zm0 24H8V16l16 10 16-10z\" /></svg>;\nexport default SvgLetter;","import * as React from \"react\";\nconst SvgLogOut = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2M11 16l4-4-4-4v3H1v2h10zM21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2M11 16l4-4-4-4v3H1v2h10z\" /></svg>;\nexport default SvgLogOut;","import * as React from \"react\";\nconst SvgMinus = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M19 13H5v-2h14z\" /></svg>;\nexport default SvgMinus;","import * as React from \"react\";\nconst SvgNewMessage = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 512 512\" {...props}><path d=\"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16zm48 124-.2.2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3v-80H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0h384c35.3 0 64 28.7 64 64v288c0 35.3-28.7 64-64 64H309.3z\" /></svg>;\nexport default SvgNewMessage;","import * as React from \"react\";\nconst SvgNote = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={48} height={48} viewBox=\"0 0 48 48\" {...props}><path d=\"M44 20 32 8H8c-2.2 0-4 1.8-4 4v24.02C4 38.22 5.8 40 8 40l32-.02c2.2 0 4-1.78 4-3.98zm-14-9 11 11H30z\" /><path fill=\"none\" d=\"M0 0h48v48H0z\" /></svg>;\nexport default SvgNote;","import * as React from \"react\";\nconst SvgPen = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" fillRule=\"evenodd\" d=\"M17.659 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83a.996.996 0 0 0 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 6.02.92.92L5.919 19h-.92v-.92zm-11.06 8.23 11.06-11.06 3.75 3.75L6.749 21h-3.75z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgPen;","import * as React from \"react\";\nconst SvgPerson = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={512} height={512} viewBox=\"0 0 512 512\" {...props}><path d=\"M332.64 64.58C313.18 43.57 286 32 256 32c-30.16 0-57.43 11.5-76.8 32.38-19.58 21.11-29.12 49.8-26.88 80.78C156.76 206.28 203.27 256 256 256s99.16-49.71 103.67-110.82c2.27-30.7-7.33-59.33-27.03-80.6M432 480H80a31 31 0 0 1-24.2-11.13c-6.5-7.77-9.12-18.38-7.18-29.11C57.06 392.94 83.4 353.61 124.8 326c36.78-24.51 83.37-38 131.2-38s94.42 13.5 131.2 38c41.4 27.6 67.74 66.93 76.18 113.75 1.94 10.73-.68 21.34-7.18 29.11A31 31 0 0 1 432 480\" /></svg>;\nexport default SvgPerson;","import * as React from \"react\";\nconst SvgPin = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7M7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 2.88-2.88 7.19-5 9.88C9.92 16.21 7 11.85 7 9\" /><path fill=\"current\" d=\"M12 11.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5\" /></svg>;\nexport default SvgPin;","import * as React from \"react\";\nconst SvgPlan = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" fillRule=\"evenodd\" d=\"M16 17h5V3H3v18h13zm-2 2v-9h2v5h3V5h-3v2h-2V5H5v10h6v2H5v2z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgPlan;","import * as React from \"react\";\nconst SvgPlay = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M4 6H2v14c0 1.1.9 2 2 2h14v-2H4zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H8V4h12zM12 5.5v9l6-4.5z\" /></svg>;\nexport default SvgPlay;","import * as React from \"react\";\nconst SvgPlus = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\" /></svg>;\nexport default SvgPlus;","import * as React from \"react\";\nconst SvgSearch = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\" /></svg>;\nexport default SvgSearch;","import * as React from \"react\";\nconst SvgSellerSays = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={50} height={32} fill=\"none\" viewBox=\"0 0 50 32\" {...props}><rect width={38.4} height={5.527} x={5.527} y={2.618} fill=\"#FFE6CB\" rx={1.501} /><rect width={47.127} height={5.527} x={1.164} y={12.509} fill=\"#C7B299\" rx={1.501} /><rect width={38.4} height={5.527} x={5.527} y={22.4} fill=\"#006664\" rx={1.501} /><path fill=\"#006664\" d=\"M30.043 27.122a1.21 1.21 0 0 1 1.026-1.853h3.781a1.21 1.21 0 0 1 1.038 1.832l-1.849 3.082a1.21 1.21 0 0 1-2.063.02z\" /></svg>;\nexport default SvgSellerSays;","import * as React from \"react\";\nconst SvgSend = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m4.01 6.03 7.51 3.22-7.52-1zm7.5 8.72L4 17.97v-2.22zM2.01 3 2 10l15 2-15 2 .01 7L23 12z\" /></svg>;\nexport default SvgSend;","import * as React from \"react\";\nconst SvgShare = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"none\" d=\"M0 0h24v24H0z\" /><path d=\"m16 5-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4zm4 5v11c0 1.1-.9 2-2 2H6a2 2 0 0 1-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3a2 2 0 0 1 2 2\" /></svg>;\nexport default SvgShare;","import * as React from \"react\";\nconst SvgStarFilled = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\" /></svg>;\nexport default SvgStarFilled;","import * as React from \"react\";\nconst SvgStarOutline = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} fill=\"none\" viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28z\" /></svg>;\nexport default SvgStarOutline;","import * as React from \"react\";\nconst SvgTickDown = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={10} height={5} fill=\"none\" viewBox=\"0 0 10 5\" {...props}><path fill=\"current\" d=\"m0 0 5 5 5-5z\" /></svg>;\nexport default SvgTickDown;","import * as React from \"react\";\nconst SvgTrashcan = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path fill=\"current\" d=\"M6 21h12V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\" /></svg>;\nexport default SvgTrashcan;","import * as Icons from 'assets/icons/icons';\nimport classNames from 'classnames';\nimport './icon.scss';\nimport { FC, HTMLAttributes } from 'react';\n\nexport type IconName = keyof typeof Icons;\n\nexport type Fill =\n  | 'CurrentColor'\n  | 'None'\n  | 'var(--color-notification)'\n  | 'var(--color-text-grey)'\n  | 'var(--color-brand)'\n  | 'var(--color-success)';\n\nexport interface IconProps extends HTMLAttributes<HTMLDivElement> {\n  fill?: Fill;\n  height?: number | 'auto';\n  name: IconName;\n  noWrapper?: boolean;\n  width?: number | 'auto';\n}\n\nconst Icon: FC<IconProps> = ({\n  className,\n  name,\n  height = 24,\n  width = 24,\n  fill = 'CurrentColor',\n  noWrapper,\n  ...rest\n}) => {\n  const IconComponent = Icons[name];\n\n  if (noWrapper) {\n    return (\n      <IconComponent className=\"icon\" fill={fill} height={height} preserveAspectRatio=\"xMidYMid meet\" width={width} />\n    );\n  }\n\n  return (\n    <div {...rest} className={classNames('icon-component', className)}>\n      <IconComponent className=\"icon\" fill={fill} height={height} preserveAspectRatio=\"xMidYMid meet\" width={width} />\n    </div>\n  );\n};\n\nexport default Icon;\n","import './loader.scss';\n\nconst Loader = () => {\n  return (\n    <svg\n      className=\"loader\"\n      enableBackground=\"new 0 0 0 0\"\n      fill=\"current\"\n      id=\"L9\"\n      stroke=\"current\"\n      version=\"1.1\"\n      viewBox=\"0 0 100 100\"\n      x=\"0px\"\n      xmlSpace=\"preserve\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      y=\"0px\"\n    >\n      <path\n        d=\"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50\"\n        fill=\"current\"\n        stroke=\"current\"\n      >\n        <animateTransform\n          attributeName=\"transform\"\n          attributeType=\"XML\"\n          dur=\"1s\"\n          from=\"0 50 50\"\n          repeatCount=\"indefinite\"\n          to=\"360 50 50\"\n          type=\"rotate\"\n        />\n      </path>\n    </svg>\n  );\n};\n\nexport default Loader;\n","import './spinner.scss';\n\nexport const Spinner = () => {\n  return (\n    <svg\n      className=\"spinner\"\n      enableBackground=\"new 0 0 0 0\"\n      fill=\"current\"\n      id=\"L9\"\n      stroke=\"current\"\n      version=\"1.1\"\n      viewBox=\"0 0 100 100\"\n      x=\"0px\"\n      xmlSpace=\"preserve\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      y=\"0px\"\n    >\n      <path\n        d=\"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50\"\n        fill=\"current\"\n        stroke=\"current\"\n      >\n        <animateTransform\n          attributeName=\"transform\"\n          attributeType=\"XML\"\n          dur=\"1s\"\n          from=\"0 50 50\"\n          repeatCount=\"indefinite\"\n          to=\"360 50 50\"\n          type=\"rotate\"\n        />\n      </path>\n    </svg>\n  );\n};\n","import classNames from 'classnames';\nimport Typography, { TypographyProps } from 'components/atoms/typography/typography';\n\nimport './tag.scss';\nimport { FC } from 'react';\n\nconst Tag: FC<TypographyProps> = (props) => {\n  const { children, className, ...rest } = props;\n  return (\n    <Typography className={classNames('tag-component', className)} {...rest} tagStyle=\"bodyMedium\">\n      {children}\n    </Typography>\n  );\n};\n\nexport default Tag;\n","import classNames from 'classnames';\n\nimport './typography.global.scss';\nimport { ElementType, forwardRef, HTMLAttributes } from 'react';\n\ntype TypographyTags = 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | 'label' | 'small';\n\ntype TypographyStyles =\n  | 'bodyLarge'\n  | 'bodyMedium'\n  | 'bodySmall'\n  | 'bodyXSmall'\n  | 'cta'\n  | 'emphasize'\n  | 'headlineLarge'\n  | 'headlineMedium'\n  | 'headlineSmall'\n  | 'navigation'\n  | 'display';\n\ntype TypographySubjectColors = 'error' | 'success' | 'primary' | 'gray' | 'white' | 'brand';\n\nexport interface TypographyProps extends HTMLAttributes<HTMLElement> {\n  alignRight?: boolean;\n  elipsis?: boolean;\n  htmlFor?: string;\n  subjectColor?: TypographySubjectColors;\n  tag?: TypographyTags;\n  tagStyle?: TypographyStyles;\n  upperCase?: boolean;\n}\n\nconst Typography = forwardRef<HTMLElement, TypographyProps>(\n  ({ children, tag = 'span', tagStyle, upperCase, subjectColor, className, elipsis, alignRight, ...props }, ref) => {\n    const Tag: ElementType = tag;\n\n    return (\n      <Tag //@ts-ignore\n        ref={ref}\n        className={classNames(tagStyle, className, subjectColor, {\n          'align-right': alignRight,\n          elipsis,\n          uppercase: upperCase,\n        })}\n        {...props}\n      >\n        {children}\n      </Tag>\n    );\n  },\n);\n\nTypography.displayName = 'Typography';\n\nexport default Typography;\n","const getVersion = (version: number) => {\n  switch (version) {\n    case 0:\n      return {\n        backgroundColor: '#EAEFE6',\n        textColor: '#69785E',\n      };\n    case 1:\n      return {\n        backgroundColor: '#E0E6EB',\n        textColor: '#2D3A46',\n      };\n    case 2:\n      return {\n        backgroundColor: '#E4E2F3',\n        textColor: '#280F6D',\n      };\n    case 3:\n      return {\n        backgroundColor: '#E6DFEC',\n        textColor: '#37364F',\n      };\n    case 4:\n      return {\n        backgroundColor: '#E2F4E8',\n        textColor: '#363548',\n      };\n    case 5: {\n      return {\n        backgroundColor: '#E6EBEF',\n        textColor: '#4D176E',\n      };\n    }\n    case 6: {\n      return {\n        backgroundColor: '#EBE6EF',\n        textColor: '#AB133E',\n      };\n    }\n    case 7: {\n      return {\n        backgroundColor: '#E8DEF6',\n        textColor: '#420790',\n      };\n    }\n    case 8: {\n      return { backgroundColor: '#D8E8F3', textColor: '#222A54' };\n    }\n    case 9: {\n      return { backgroundColor: '#EBE0FE', textColor: '#EBE0FE' };\n    }\n  }\n};\n\nexport default getVersion;\n","import classNames from 'classnames';\nimport getVersion from 'utils/avatarVersions';\nimport './avatar.scss';\nimport { FC } from 'react';\n\nexport type AvatarVersion = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;\n\nexport interface AvatarProps {\n  backgroundColor?: string;\n  customVersion?: boolean;\n  initials?: string;\n  size?: 'lg' | 'sm' | 'xl';\n  textColor?: string;\n  version?: AvatarVersion;\n}\n\nconst Avatar: FC<AvatarProps> = ({ initials = '', customVersion, size, version = 1, backgroundColor, textColor }) => {\n  const avatarVersion = getVersion(version);\n\n  return (\n    <div\n      className={classNames('avatar', {\n        'avatar--extralarge': size === 'xl',\n        'avatar--large': size === 'lg',\n      })}\n      style={customVersion ? { backgroundColor: backgroundColor, color: textColor } : avatarVersion}\n    >\n      <span className=\"avatar__initials\">{initials}</span>\n    </div>\n  );\n};\n\nexport default Avatar;\n","import Icon from 'components/atoms/icon/icon';\nimport FileInput from 'components/molecules/file-input/file-input';\nimport { ComponentPropsWithoutRef, FC } from 'react';\nimport './chat-actions.scss';\nimport { isMobile, isTablet } from 'react-device-detect';\nimport { useMixPanel } from 'hooks/useMixPanel';\n\nexport interface FileInputInterface extends File {\n  id: string;\n}\n\nexport interface ChatActionsProps extends ComponentPropsWithoutRef<'input'> {\n  onFileUpload: (file: FileInputInterface) => void;\n}\n\nconst ChatActions: FC<ChatActionsProps> = ({ onFileUpload, ...rest }) => {\n  const { track } = useMixPanel();\n  const clickImageUpload = () => {\n    track('Messages', { action: 'ATTACH-IMAGE' });\n  };\n\n  const clickFileUpload = () => {\n    track('Messages', { action: 'ATTACH-FILE' });\n  };\n\n  return (\n    <div className=\"chat-actions\">\n      <FileInput\n        accept=\"image/*\"\n        className=\"chat-actions__icon\"\n        id=\"image-input\"\n        label={<Icon name=\"Image\" />}\n        name=\"image-input\"\n        onFileSelectError={(error) => console.log(error)}\n        onFileSelectSuccess={(file) => onFileUpload(file)}\n        onClick={clickImageUpload}\n        {...rest}\n      />\n      <FileInput\n        accept=\"application/msword, application/vnd.ms-excel, text/plain, application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, message/rfc822, application/vnd.ms-outlook\"\n        className=\"chat-actions__icon\"\n        id=\"document-input\"\n        label={<Icon name=\"Clip\" />}\n        name=\"document-input\"\n        onFileSelectError={(error) => console.log(error)}\n        onFileSelectSuccess={(file) => onFileUpload(file)}\n        onClick={clickFileUpload}\n        {...rest}\n      />\n      {(isMobile || isTablet) && (\n        <FileInput\n          accept=\"image/*\"\n          capture=\"environment\"\n          className=\"chat-actions__icon chat-actions__icon--camera\"\n          id=\"camera-input\"\n          label={<Icon name=\"Camera\" />}\n          name=\"camera-input\"\n          onFileSelectError={(error) => console.log(error)}\n          onFileSelectSuccess={(file) => onFileUpload(file)}\n          {...rest}\n        />\n      )}\n    </div>\n  );\n};\n\nexport default ChatActions;\n","import classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\n\nimport './checkbox.scss';\nimport { forwardRef, HTMLAttributes, ReactNode } from 'react';\n\nexport interface CheckboxProps extends HTMLAttributes<HTMLInputElement> {\n  checked?: boolean;\n  disabled?: boolean;\n  error?: boolean;\n  label?: ReactNode;\n  value?: string | number | readonly string[];\n}\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\n  const { value, checked, className, disabled, error, label, children, onChange, ...rest } = props;\n  return (\n    <div\n      className={classNames('checkbox', className, {\n        hasError: error,\n        isChecked: checked,\n        isDisabled: disabled,\n      })}\n    >\n      <label className=\"label\">\n        <input\n          ref={ref}\n          checked={checked}\n          className=\"input\"\n          onChange={(e) => onChange?.(e)}\n          type=\"checkbox\"\n          value={value}\n          {...rest}\n        />\n        <div className=\"checkmark\" />\n        {(label || children) && (\n          <div className=\"text\">\n            <Typography tagStyle=\"bodyMedium\">\n              {label} {children}\n            </Typography>\n          </div>\n        )}\n      </label>\n    </div>\n  );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n","/**\n * @generated SignedSource<<dd96f4ce885b7e5f3d2235ef9dde3e51>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type contactCard_employee$data = {\n  readonly employeePrimaryImageUrl: string | null | undefined;\n  readonly firstName: string | null | undefined;\n  readonly fullName: string | null | undefined;\n  readonly lastName: string | null | undefined;\n  readonly offerShop: {\n    readonly address: string | null | undefined;\n    readonly city: string | null | undefined;\n    readonly name: string | null | undefined;\n    readonly phone: string | null | undefined;\n  } | null | undefined;\n  readonly phone: string | null | undefined;\n  readonly title: string | null | undefined;\n  readonly \" $fragmentType\": \"contactCard_employee\";\n};\nexport type contactCard_employee$key = {\n  readonly \" $data\"?: contactCard_employee$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"contactCard_employee\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"phone\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"contactCard_employee\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"lastName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"firstName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"fullName\",\n      \"storageKey\": null\n    },\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"employeePrimaryImageUrl\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"title\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"Shop\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"offerShop\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"name\",\n          \"storageKey\": null\n        },\n        (v0/*: any*/),\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"city\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"address\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Employee\",\n  \"abstractKey\": null\n};\n})();\n\n(node as any).hash = \"0497032d96a38795200f4b7cee717d0d\";\n\nexport default node;\n","import { contactCard_employee$key } from '__generated__/contactCard_employee.graphql';\nimport Typography from 'components/atoms/typography/typography';\nimport Avatar from 'components/molecules/avatar/avatar';\nimport Block from 'components/utilities/block/block';\nimport { FC } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport { getInitialsFromFullname } from 'tools/string-formatters';\nimport './contact-card.scss';\n\nexport interface ContactCardProps {\n  fragment: contactCard_employee$key | null;\n}\n\nconst contactCardFragment = graphql`\n  fragment contactCard_employee on Employee {\n    lastName\n    firstName\n    fullName\n    phone\n    employeePrimaryImageUrl\n    title\n    offerShop {\n      name\n      phone\n      city\n      address\n    }\n  }\n`;\n\nconst ContactCard: FC<ContactCardProps> = (props) => {\n  const data = useFragment(contactCardFragment, props.fragment);\n\n  const initials = getInitialsFromFullname(\n    `${data?.firstName ? data.firstName : ''}  ${data?.lastName ? data.lastName : ''}`,\n  );\n\n  return (\n    <Block backgroundColor=\"white\" boxShadow className=\"contact-card\">\n      <Block>\n        {data?.employeePrimaryImageUrl ? (\n          <img className=\"contact-card__image\" src={data.employeePrimaryImageUrl} />\n        ) : (\n          <Avatar\n            backgroundColor=\"var(--color-brand)\"\n            customVersion\n            initials={initials}\n            size=\"xl\"\n            textColor=\"var(--color-text-white)\"\n          />\n        )}\n      </Block>\n      <Block>\n        <Block className=\"contact-card__name\">\n          <Typography tag=\"h3\" tagStyle=\"headlineMedium\">\n            {data?.fullName}\n          </Typography>\n          {data?.title && (\n            <Typography subjectColor=\"gray\" tag=\"p\" tagStyle=\"bodySmall\">\n              {data?.title}\n            </Typography>\n          )}\n        </Block>\n        <Block className=\"contact-card__address\">\n          <Typography tag=\"p\" tagStyle=\"bodyMedium\">\n            {data?.offerShop?.name || ''}, <br /> {data?.offerShop?.address || ''}, {data?.offerShop?.city || ''}\n          </Typography>\n        </Block>\n        <Block className=\"contact-card__phone\">\n          <Typography tag=\"p\" tagStyle=\"headlineMedium\">\n            {data?.phone ? data.phone : data?.offerShop?.phone}\n          </Typography>\n        </Block>\n      </Block>\n    </Block>\n  );\n};\n\nexport default ContactCard;\n","import classNames from 'classnames';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport useOnClickOutside from 'hooks/use-on-click-outside';\nimport { Fragment, useRef, useState } from 'react';\nimport './custom-select.scss';\n\ninterface SelectOption {\n  name: string;\n  selected?: boolean;\n  value: string;\n}\n\nexport interface CustomSelectProps {\n  bigVersion?: boolean;\n  disabled?: boolean;\n  errorMessage?: string;\n  label?: string;\n  onChange: (option: SelectOption) => void;\n  options?: SelectOption[];\n  placeholder?: string;\n  selectedOption?: SelectOption;\n}\n\nconst CustomSelect = (props: CustomSelectProps) => {\n  const { bigVersion, options, label, placeholder, disabled, errorMessage, onChange, selectedOption } = props;\n\n  const [isOpen, setIsOpen] = useState(false);\n  const customSelectRef = useRef<HTMLDivElement>(null);\n\n  useOnClickOutside(customSelectRef, () => setIsOpen(false));\n\n  return (\n    <Fragment>\n      <div ref={customSelectRef} className={classNames('custom-select', { bigVersion, disabled })}>\n        <Typography className=\"custom-select__label\" tag=\"label\" tagStyle=\"bodySmall\">\n          {label}\n        </Typography>\n        <Button\n          className={classNames('custom-select__value', {\n            placeholder: !selectedOption,\n          })}\n          iconEnd=\"TickDown\"\n          iconHeight={5}\n          iconWidth={10}\n          onClick={() => setIsOpen((prev) => !prev)}\n          version=\"link\"\n        >\n          {selectedOption?.name || placeholder}\n        </Button>\n\n        {isOpen && (\n          <div className=\"custom-select__options\">\n            {options?.map((option) => (\n              <Button\n                key={option.value}\n                className=\"custom-select__options--item\"\n                onClick={() => {\n                  onChange(option);\n                  setIsOpen(false);\n                }}\n                version=\"link\"\n              >\n                {option.name}\n              </Button>\n            ))}\n          </div>\n        )}\n      </div>\n      {errorMessage && (\n        <Typography subjectColor=\"error\" tag=\"span\" tagStyle=\"bodySmall\">\n          *{errorMessage}\n        </Typography>\n      )}\n    </Fragment>\n  );\n};\n\nCustomSelect.displayName = 'CustomSelect';\n\nexport default CustomSelect;\n","import Icon from 'components/atoms/icon/icon';\nimport { format } from 'date-fns';\nimport da from 'date-fns/locale/da';\nimport {\n  CaptionProps,\n  DayPicker,\n  DayPickerDefaultProps,\n  DayPickerMultipleProps,\n  DayPickerRangeProps,\n  DayPickerSingleProps,\n  useNavigation,\n} from 'react-day-picker';\nimport 'react-day-picker/dist/style.css';\nimport { FormattedMessage } from 'react-intl';\nimport './date-picker.scss';\nimport { FC } from 'react';\n\nexport type DatePickerProps =\n  | DayPickerDefaultProps\n  | DayPickerSingleProps\n  | DayPickerMultipleProps\n  | DayPickerRangeProps;\n\nconst DatePicker: FC<DatePickerProps> = (props) => {\n  return (\n    <DayPicker\n      className=\"rdpModifier\"\n      components={{\n        Caption: CustomCaption,\n      }}\n      locale={da}\n      modifiersClassNames={{\n        outside: 'outside',\n        today: 'today',\n      }}\n      {...props}\n    />\n  );\n};\n\nconst CustomCaption = (props: CaptionProps) => {\n  const { goToMonth, nextMonth, previousMonth } = useNavigation();\n  return (\n    <div className=\"customCaption\">\n      <button className=\"prevMonth\" disabled={!previousMonth} onClick={() => previousMonth && goToMonth(previousMonth)}>\n        <span className=\"navButtonText\">\n          <FormattedMessage defaultMessage=\"Previous\" id=\"Calendar.Previous\" />\n        </span>\n        <Icon name=\"ArrowLeft\" />\n      </button>\n      <h3>{format(props.displayMonth, 'MMMM yyy', { locale: da })}</h3>\n      <button className=\"nextMonth\" disabled={!nextMonth} onClick={() => nextMonth && goToMonth(nextMonth)}>\n        <span className=\"navButtonText\">\n          <FormattedMessage defaultMessage=\"Next\" id=\"Calendar.Next\" />\n        </span>\n        <Icon name=\"ArrowRight\" />\n      </button>\n    </div>\n  );\n};\n\nexport default DatePicker;\n","import * as Icons from 'assets/icons/icons';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { FC, ReactElement, ReactNode } from 'react';\nimport './empty-module.scss';\n\nexport interface EmptyModuleProps {\n  iconName?: keyof typeof Icons;\n  message: ReactNode;\n  children?: ReactElement;\n}\n\nconst EmptyModule: FC<EmptyModuleProps> = (props) => {\n  const { iconName = 'Files', message, children } = props;\n\n  return (\n    <Block backgroundColor=\"white\" borderRadius className=\"empty-module\" column flex>\n      <Typography className=\"empty-module__text\" subjectColor=\"gray\" tagStyle=\"bodyLarge\">\n        <Icon className=\"empty-module__icon\" height={48} name={iconName} width={48} />\n        {message}\n      </Typography>\n      {children}\n    </Block>\n  );\n};\n\nexport default EmptyModule;\n","import classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport { ChangeEvent, ComponentPropsWithoutRef, forwardRef, ReactElement, ReactNode } from 'react';\nimport { FileInputInterface } from 'components/molecules/chat-actions/chat-actions';\nimport './file-input.scss';\n\nexport interface FileInputProps extends ComponentPropsWithoutRef<'input'> {\n  children?: ReactNode;\n  label?: string | ReactElement;\n  labelColor?: 'Link' | 'Secondary';\n  onFileSelectError: (error: string) => void;\n  onFileSelectSuccess: (file: FileInputInterface) => void;\n}\n\nconst FileInput = forwardRef<HTMLInputElement, FileInputProps>((props, ref) => {\n  const { children, label, onFileSelectSuccess, onFileSelectError, labelColor = 'Link', className, ...rest } = props;\n\n  //Todo: it should be possible to upload multiple files\n  const handleFileInput = (e: ChangeEvent<HTMLInputElement>) => {\n    const files = e.target.files;\n    if (!files || files.length === 0) {\n      return onFileSelectError('Somthing went wrong.');\n    }\n    const file = files[0] as FileInputInterface;\n    file.id = Date.now().toString();\n    onFileSelectSuccess(file);\n    e.target.value = ''; // reset file input value\n  };\n\n  return (\n    <div className={classNames('file-input', className)}>\n      <input ref={ref} className=\"file-input-field\" type=\"file\" {...rest} onChange={handleFileInput} />\n      {children ? (\n        children\n      ) : (\n        <Typography\n          className={classNames('file-input-label', {\n            'file-input-label__link': labelColor === 'Link',\n            'file-input-label__secondary': labelColor === 'Secondary',\n          })}\n          htmlFor={rest.id}\n          tag=\"label\"\n          tagStyle=\"bodyMedium\"\n        >\n          {label}\n        </Typography>\n      )}\n    </div>\n  );\n});\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\n","import Checkbox from 'components/molecules/checkbox/checkbox';\nimport { ComponentPropsWithoutRef, FC, useEffect, useRef } from 'react';\nimport './indeterminate-checkbox.scss';\n\nexport interface IndeterminateCheckboxProps extends ComponentPropsWithoutRef<'input'> {\n  indeterminate?: boolean;\n}\n\nconst IndeterminateCheckbox: FC<IndeterminateCheckboxProps> = ({ indeterminate, ...rest }) => {\n  const inputRef = useRef<HTMLInputElement>(null);\n\n  useEffect(() => {\n    if (typeof indeterminate === 'boolean' && inputRef.current) {\n      inputRef.current.indeterminate = !rest.checked && indeterminate;\n    }\n  }, [inputRef, indeterminate, rest.checked]);\n\n  return <Checkbox ref={inputRef} {...rest} />;\n};\n\nexport default IndeterminateCheckbox;\n","import classNames from 'classnames';\nimport Typography, { TypographyProps } from 'components/atoms/typography/typography';\nimport { ComponentPropsWithoutRef, forwardRef, Fragment, ReactNode, useEffect, useRef, useState } from 'react';\nimport { NumericFormat } from 'react-number-format';\nimport './input.scss';\n\nexport interface InputProps extends ComponentPropsWithoutRef<'input'> {\n  bigVersion?: boolean;\n  customPadding?: 'xs' | 'sm';\n  errorMessage?: string;\n  focusInput?: () => void;\n  formattedInput?: boolean;\n  hasError?: boolean;\n  isFullWidth?: boolean;\n  label?: ReactNode;\n  labelTagStyle?: TypographyProps['tagStyle'];\n  noBorder?: boolean;\n  noFloatingLabel?: boolean;\n  onValueChange?: (values: number) => void;\n  readonly?: boolean;\n  wrapperClassName?: string;\n  onClick?: () => void;\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>((props, ref) => {\n  const {\n    bigVersion,\n    className,\n    disabled,\n    formattedInput,\n    hasError,\n    label,\n    labelTagStyle = 'bodySmall',\n    onValueChange,\n    type,\n    isFullWidth,\n    noBorder,\n    noFloatingLabel,\n    customPadding,\n    readonly,\n    required,\n    onChange,\n    placeholder,\n    focusInput,\n    errorMessage,\n    wrapperClassName,\n    onClick,\n    ...rest\n  } = props;\n\n  const [isFocused, setIsFocused] = useState(false);\n  const [isLabelShown, setIsLabelShown] = useState(false);\n  const inputWrap = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    const value = (document.querySelector(`#${rest.name}`) as HTMLInputElement)?.value;\n    if (value) {\n      setIsLabelShown(true);\n    }\n  }, [rest.name]);\n\n  return (\n    <Fragment>\n      <div\n        className={classNames('input', wrapperClassName, {\n          bigVersion,\n          hasError: hasError || errorMessage,\n          isDisabled: disabled,\n          isFocused,\n          isFullWidth,\n          isLabelShown,\n          noBorder,\n          noFloatingLabel,\n          'padding-sm': customPadding === 'sm',\n          'padding-xs': customPadding === 'xs',\n        })}\n        onClick={() => {\n          focusInput?.();\n          onClick?.();\n        }}\n      >\n        {label && (\n          <Typography className=\"label\" htmlFor={rest.id} tag=\"label\" tagStyle={labelTagStyle}>\n            {label}\n            {required && <Typography subjectColor=\"error\">*</Typography>}\n          </Typography>\n        )}\n        <div ref={inputWrap} className=\"inputWrap\">\n          {formattedInput ? (\n            <NumericFormat\n              className=\"field\"\n              decimalSeparator=\",\"\n              max={rest.max}\n              min={rest.min}\n              onValueChange={(values) => onValueChange && values.floatValue && onValueChange(values.floatValue)}\n              readOnly={readonly}\n              thousandSeparator=\".\"\n              value={rest.value as any}\n            />\n          ) : (\n            <input\n              className={classNames('field', className)}\n              id={rest.name}\n              readOnly={readonly}\n              {...rest}\n              ref={ref}\n              onBlur={() => setIsFocused(false)}\n              onChange={(e) => {\n                e.target.value.length > 0 ? setIsLabelShown(true) : setIsLabelShown(false);\n                {\n                  onChange?.(e);\n                }\n              }}\n              onFocus={() => setIsFocused(true)}\n              placeholder={placeholder}\n              type={type || 'text'}\n            />\n          )}\n        </div>\n      </div>\n      {errorMessage && (\n        <Typography subjectColor=\"error\" tag=\"span\" tagStyle=\"bodyXSmall\">\n          *{errorMessage}\n        </Typography>\n      )}\n    </Fragment>\n  );\n});\n\nInput.displayName = 'Input';\n\nexport default Input;\n","/**\n * @generated SignedSource<<235b5f4792fab9cb21130f4cc6fb2a6b>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type openHouseImageOverlay_baseCase$data = {\n  readonly openHouse: ReadonlyArray<{\n    readonly activityType: {\n      readonly isRegistration: boolean | null | undefined;\n      readonly nameOnTimeline: string | null | undefined;\n    } | null | undefined;\n    readonly isRegistred: boolean | null | undefined;\n    readonly registrationDeadline: any | null | undefined;\n    readonly startDate: any | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"openHouseImageOverlay_baseCase\";\n};\nexport type openHouseImageOverlay_baseCase$key = {\n  readonly \" $data\"?: openHouseImageOverlay_baseCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"openHouseImageOverlay_baseCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"openHouseImageOverlay_baseCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": [\n        {\n          \"kind\": \"Literal\",\n          \"name\": \"amount\",\n          \"value\": 2\n        }\n      ],\n      \"concreteType\": \"OpenHouse\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"openHouse\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"registrationDeadline\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"ActivityType\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"activityType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"nameOnTimeline\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"isRegistration\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"startDate\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"isRegistred\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": \"openHouse(amount:2)\"\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n\n(node as any).hash = \"f0d7a68cc879a08432258b8fba129d2e\";\n\nexport default node;\n","import {\n  openHouseImageOverlay_baseCase$data,\n  openHouseImageOverlay_baseCase$key,\n} from '__generated__/openHouseImageOverlay_baseCase.graphql';\nimport Button from 'components/atoms/button/button';\nimport Block from 'components/utilities/block/block';\nimport { useList } from 'hooks/useList';\nimport { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatDate } from 'tools/string-formatters';\nimport { isAfter } from 'date-fns';\n\ntype OpenHouseImageOverlayProps = {\n  fragment: openHouseImageOverlay_baseCase$key;\n  handleOnClickOpenHouseModal: () => void;\n};\n\nconst openHouseImageOverlayFragment = graphql`\n  fragment openHouseImageOverlay_baseCase on BaseCase {\n    openHouse(amount: 2) {\n      registrationDeadline\n      activityType {\n        nameOnTimeline\n        isRegistration\n      }\n      startDate\n      isRegistred\n    }\n  }\n`;\n\ntype OpenHouse = NonNullable<openHouseImageOverlay_baseCase$data['openHouse']>[number];\nexport const OpenHouseImageOverlay: FC<OpenHouseImageOverlayProps> = (props) => {\n  const data = useFragment(openHouseImageOverlayFragment, props.fragment);\n  const openHouses = useList(data?.openHouse);\n\n  const getOpenHouseText = (openHouse: OpenHouse) => {\n    if (openHouse?.activityType?.isRegistration) {\n      return `${openHouse?.activityType?.nameOnTimeline || ''}`;\n    } else {\n      return `${openHouse?.activityType?.nameOnTimeline || ''} d. ${formatDate(openHouse?.startDate)}`;\n    }\n  };\n\n  const isRegistrationDeadlineAfterToday = (registrationDeadline: Date) => {\n    if (!registrationDeadline) {\n      return true;\n    }\n\n    const deadline = new Date(registrationDeadline);\n    const today = new Date();\n\n    return isAfter(deadline, today);\n  };\n\n  if (openHouses.length === 1) {\n    const openHouse = openHouses[0];\n    if (openHouse?.activityType?.isRegistration) {\n      if (openHouse?.isRegistred) {\n        return (\n          <div className=\"match-hero-images__open-house\">\n            <Block className=\"match-hero-images__open-house-button\" flex flexGutter=\"xs\">\n              <h3 className={'overlay__text'}>{getOpenHouseText(openHouse)}</h3>\n              <div className={'open-house-badge'}>\n                <p>\n                  <FormattedMessage defaultMessage=\"Registered\" id=\"Match.Registered\" />\n                </p>\n              </div>\n            </Block>\n          </div>\n        );\n      } else {\n        return (\n          <div className=\"match-hero-images__open-house\">\n            <Block className=\"match-hero-images__open-house-button\" flex flexGutter=\"xs\">\n              <h3 className={'overlay__text'}>{getOpenHouseText(openHouse)}</h3>\n              <Button\n                onClick={props.handleOnClickOpenHouseModal}\n                disabled={!isRegistrationDeadlineAfterToday(openHouse.registrationDeadline)}\n              >\n                <FormattedMessage defaultMessage=\"See more\" id=\"Match.OpenHouseClick\" />\n              </Button>\n            </Block>\n          </div>\n        );\n      }\n    } else {\n      return (\n        <div className=\"match-hero-images__open-house\">\n          <Block className=\"match-hero-images__open-house-button\" flex flexGutter=\"xs\">\n            <h3 className={'overlay__text'}>{getOpenHouseText(openHouse)}</h3>\n          </Block>\n        </div>\n      );\n    }\n  } else {\n    const openHouse = openHouses[0];\n    return (\n      <div className=\"match-hero-images__open-house\">\n        <Block className=\"match-hero-images__open-house-button\" flex flexGutter=\"xs\">\n          <h3 className={'overlay__text'}>{getOpenHouseText(openHouse)}</h3>\n          <Button onClick={props.handleOnClickOpenHouseModal}>\n            <FormattedMessage defaultMessage=\"See more\" id=\"Match.OpenHouseClick\" />\n          </Button>\n        </Block>\n      </div>\n    );\n  }\n};\n","import classNames from 'classnames';\nimport Button, { ButtonProps } from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport FocusTrap from 'focus-trap-react';\nimport { FC, KeyboardEvent, ReactNode, useEffect } from 'react';\nimport './modal.scss';\n\nexport interface ModalProps {\n  buttonConfig?: {\n    callback: () => void;\n    disabled?: boolean;\n    isFullWidth?: boolean;\n    label: string;\n    type?: 'button' | 'submit';\n    version?: ButtonProps['version'];\n  }[];\n  children?: ReactNode;\n  className?: string;\n  closeHandler?: () => void;\n  contentPadding?: boolean;\n  focusTrapOptions?: FocusTrap.Props['focusTrapOptions'];\n  headline?: ReactNode;\n  showCross?: boolean;\n}\n\nconst Modal: FC<ModalProps> = (props) => {\n  const {\n    headline,\n    showCross = true,\n    children,\n    className,\n    focusTrapOptions,\n    buttonConfig,\n    closeHandler,\n    contentPadding = true,\n  } = props;\n\n  useEffect(() => {\n    document.body.classList.add('lock-scroll');\n\n    return () => {\n      document.body.classList.remove('lock-scroll');\n    };\n  }, []);\n\n  const handleClosePopup = () => {\n    document.body.classList.remove('lock-scroll');\n    closeHandler?.();\n  };\n\n  const handleKeyDown = (event: KeyboardEvent<HTMLImageElement>) => {\n    if (event.key === 'Escape') {\n      handleClosePopup();\n    }\n  };\n\n  return (\n    <FocusTrap focusTrapOptions={focusTrapOptions}>\n      <div className={classNames('modal', className)} onKeyDown={handleKeyDown}>\n        <div className=\"modal__container\" onClick={(e) => e.stopPropagation()}>\n          <div className=\"modal__header\">\n            {headline && (\n              <div className=\"modal__header-title\">\n                <Typography tag=\"h2\" tagStyle=\"headlineMedium\">\n                  {headline}\n                </Typography>\n              </div>\n            )}\n            {showCross && (\n              <Button\n                className=\"modal__close\"\n                hideText\n                iconStart=\"Cross\"\n                onClick={handleClosePopup}\n                padding={false}\n                version=\"link\"\n              >\n                Close\n              </Button>\n            )}\n          </div>\n          <div className=\"modal__content\">\n            {contentPadding && (\n              <Block className=\"modal__content--block\" customPadding=\"xs\">\n                {children}\n              </Block>\n            )}\n            {!contentPadding && children}\n          </div>\n          {buttonConfig && (\n            <div className=\"modal__footer\">\n              <Block customPadding=\"xs\" flex flexGutter=\"xs\" flexWrap>\n                {buttonConfig.map((button) => (\n                  <Button\n                    key={button.label}\n                    disabled={button.disabled}\n                    isFullWidth={button.isFullWidth}\n                    onClick={() => button.callback()}\n                    type={button.type}\n                    version={button.version}\n                  >\n                    {button.label}\n                  </Button>\n                ))}\n              </Block>\n            </div>\n          )}\n        </div>\n      </div>\n    </FocusTrap>\n  );\n};\n\nexport default Modal;\n","import Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport Container from 'components/utilities/container/container';\nimport Row from 'components/utilities/row/row';\nimport { FormattedMessage } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\nimport './not-found.scss';\nimport { FC } from 'react';\n\ninterface NotFoundProps {\n  reload?: boolean;\n}\n\nconst NotFound: FC<NotFoundProps> = (props) => {\n  const navigate = useNavigate();\n\n  const handleRetry = () => {\n    // manually reload only when necesary (eg when the 404 is thrown by the error boundry)\n    if (props.reload) {\n      window.location.href = window.location.origin + '/';\n      return;\n    }\n    navigate('/');\n  };\n\n  return (\n    <Container>\n      <Row>\n        <div className=\"not-found\">\n          <Block>\n            <Typography className=\"not-found__headline\" subjectColor=\"gray\" tag=\"h1\" tagStyle=\"display\">\n              404\n            </Typography>\n            <Typography className=\"not-found__text\" subjectColor=\"gray\" tag=\"p\">\n              <FormattedMessage defaultMessage=\"Oops! Something went wrong.\" id=\"404Page.SomethingWentWrong\" />\n              <br />\n              <FormattedMessage\n                defaultMessage=\"Unfortunately, we cannot find the page you are looking for.\"\n                id=\"404Page.PageNotFound\"\n              />\n            </Typography>\n            <Button onClick={handleRetry}>\n              <FormattedMessage defaultMessage=\"Go to overview\" id=\"404Page.ButtonText\" />\n            </Button>\n          </Block>\n        </div>\n      </Row>\n    </Container>\n  );\n};\n\nexport default NotFound;\n","import classNames from 'classnames';\nimport Button from 'components/atoms/button/button';\nimport FocusTrap from 'focus-trap-react';\nimport { FC, KeyboardEvent, ReactNode, useEffect } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport './popup-overlay.scss';\n\nexport interface PopupOverlayProps {\n  children: ReactNode;\n  className?: string;\n  focusTrapOptions?: FocusTrap.Props['focusTrapOptions'];\n  onClose: () => void;\n}\n\nconst PopupOverlay: FC<PopupOverlayProps> = (props) => {\n  const { onClose, children, focusTrapOptions, className } = props;\n\n  useEffect(() => {\n    document.body.classList.add('lock-scroll');\n  }, []);\n\n  const handleClosePopup = () => {\n    document.body.classList.remove('lock-scroll');\n    onClose();\n  };\n\n  const handleKeyDown = (event: KeyboardEvent<HTMLImageElement>) => {\n    if (event.key === 'Escape') {\n      handleClosePopup();\n    }\n  };\n\n  return (\n    <FocusTrap focusTrapOptions={focusTrapOptions}>\n      <div className={classNames('popup-overlay', className)} onKeyDown={handleKeyDown}>\n        <div className=\"popup-overlay__close\">\n          <Button hideText iconHeight={32} iconStart=\"Cross\" iconWidth={32} onClick={handleClosePopup} version=\"link\">\n            <FormattedMessage defaultMessage=\"Close\" id=\"Popup.close\" />\n          </Button>\n        </div>\n        {children}\n      </div>\n    </FocusTrap>\n  );\n};\n\nexport default PopupOverlay;\n","/**\n * @generated SignedSource<<6b796a5cca627a31b559298a0d28ce33>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type LeadStatusTypeEnum = \"ConvertedToCustomer\" | \"InProgress\" | \"MarkAsSpam\" | \"NotConvertedToCustomer\" | \"Processed\" | \"Recieved\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadListItemFragment$data = {\n  readonly __typename: string;\n  readonly caseAddress?: string | null | undefined;\n  readonly caseZipAndCity?: string | null | undefined;\n  readonly comment?: string | null | undefined;\n  readonly email: string | null | undefined;\n  readonly firstName: string | null | undefined;\n  readonly id: string;\n  readonly lastName: string | null | undefined;\n  readonly openHouseStartTime?: string | null | undefined;\n  readonly phoneNumber: string | null | undefined;\n  readonly presentationDate?: any | null | undefined;\n  readonly statusType: LeadStatusTypeEnum | null | undefined;\n  readonly type: {\n    readonly displayName: string | null | undefined;\n    readonly id: string;\n  } | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadDialogContent\">;\n  readonly \" $fragmentType\": \"leadListItemFragment\";\n};\nexport type leadListItemFragment$key = {\n  readonly \" $data\"?: leadListItemFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadListItemFragment\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"comment\",\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseAddress\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseZipAndCity\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadListItemFragment\",\n  \"selections\": [\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        (v1/*: any*/),\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"presentationDate\",\n          \"storageKey\": null\n        },\n        (v2/*: any*/),\n        (v3/*: any*/)\n      ],\n      \"type\": \"LeadPresentation\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"openHouseStartTime\",\n          \"storageKey\": null\n        },\n        (v1/*: any*/),\n        (v2/*: any*/),\n        (v3/*: any*/)\n      ],\n      \"type\": \"LeadOpenHouse\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        (v1/*: any*/),\n        (v2/*: any*/),\n        (v3/*: any*/)\n      ],\n      \"type\": \"LeadSalesMaterialWithContact\",\n      \"abstractKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"email\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"phoneNumber\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"firstName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"lastName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"LeadTypeGraphType\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"type\",\n      \"plural\": false,\n      \"selections\": [\n        (v0/*: any*/),\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"displayName\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"statusType\",\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadDialogContent\"\n    }\n  ],\n  \"type\": \"LeadInterface\",\n  \"abstractKey\": \"__isLeadInterface\"\n};\n})();\n\n(node as any).hash = \"48744c1a46b0e2efa46f3a0f48fec76d\";\n\nexport default node;\n","import { ReactNode } from 'react';\nimport './card.scss';\n\ntype CardProps = {\n  title?: string | ReactNode;\n  children: ReactNode;\n};\nexport const Card = ({ title, children }: CardProps) => {\n  return (\n    <div className={'card'}>\n      {title && <div className={'card-title'}>{title}</div>}\n      {children}\n    </div>\n  );\n};\n","import { Card } from 'components/molecules/card/card';\nimport { FormattedMessage } from 'react-intl';\nimport { formatDate, formatTime } from 'tools/string-formatters';\nimport Button from 'components/atoms/button/button';\nimport { graphql, useFragment } from 'react-relay';\nimport { leadListItemFragment$data, leadListItemFragment$key } from '__generated__/leadListItemFragment.graphql';\nimport { LeadStatusTypeEnum } from 'Enums';\n\ntype Props = {\n  fragment: leadListItemFragment$key;\n  handleOnClick?: (lead: Lead) => void;\n  disabled?: boolean;\n};\n\nexport type Lead = NonNullable<leadListItemFragment$data>;\n\nconst leadListItemFragment = graphql`\n  fragment leadListItemFragment on LeadInterface {\n    id\n    __typename\n    ... on LeadPresentation {\n      comment\n      presentationDate\n      caseAddress\n      caseZipAndCity\n    }\n    ... on LeadOpenHouse {\n      openHouseStartTime\n      comment\n      caseAddress\n      caseZipAndCity\n    }\n    ... on LeadSalesMaterialWithContact {\n      comment\n      caseAddress\n      caseZipAndCity\n    }\n    email\n    phoneNumber\n    firstName\n    lastName\n    type {\n      id\n      displayName\n    }\n    statusType\n    ...leadDialogContent\n  }\n`;\n\nexport const LeadListItem = ({ fragment, ...props }: Props) => {\n  const lead = useFragment(leadListItemFragment, fragment);\n\n  const handleOnClick = (lead: leadListItemFragment$data) => {\n    if (props.handleOnClick) {\n      props.handleOnClick(lead);\n    }\n  };\n  return (\n    <div key={lead.id}>\n      <Card>\n        <div>\n          <h3>{lead.type?.displayName}</h3>\n        </div>\n        <div className={'info-section'}>\n          <span>{lead.caseAddress}</span>\n          <span>{lead.caseZipAndCity}</span>\n        </div>\n        <div className={'info-section'}>\n          <span>\n            <FormattedMessage defaultMessage={'Date'} id={'Default.Date'} />:\n          </span>\n          <span>\n            {lead.presentationDate || lead.openHouseStartTime\n              ? `${formatDate(lead.presentationDate || lead.openHouseStartTime)}, kl. ${formatTime(lead.presentationDate || lead.openHouseStartTime)}`\n              : ' '}\n          </span>\n        </div>\n        <div className={'info-section'}>\n          <span>\n            <FormattedMessage defaultMessage={'Info'} id={'Default.Info'} />:\n          </span>\n          <span>\n            {lead.firstName} {lead.lastName}\n          </span>\n          <span>{lead.email}</span>\n          <span>{lead.phoneNumber}</span>\n        </div>\n        {lead.comment && (\n          <div className={'info-section'}>\n            <span>\n              <FormattedMessage defaultMessage={'Remarks'} id={'Default.Remarks'} />:\n            </span>\n            <span>{lead.comment}</span>\n          </div>\n        )}\n        <Button\n          isFullWidth\n          onClick={() => handleOnClick(lead)}\n          disabled={props.disabled || !props.handleOnClick}\n          className=\"sales-card-button\"\n        >\n          <FormattedMessage\n            id={'saleByOwner.handle'}\n            defaultMessage={'{bool, select, true {Handle} false {Handled} other {Handle}}'}\n            values={{ bool: lead.statusType === LeadStatusTypeEnum.Recieved }}\n          />\n        </Button>\n      </Card>\n    </div>\n  );\n};\n","/**\n * @generated SignedSource<<42a31023c6498c41f9e6a565fc3a29f0>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type LeadStatusTypeEnum = \"ConvertedToCustomer\" | \"InProgress\" | \"MarkAsSpam\" | \"NotConvertedToCustomer\" | \"Processed\" | \"Recieved\";\nexport type UpdateLeadInputType = {\n  leadIdGlobal: string;\n  statusType?: LeadStatusTypeEnum | null | undefined;\n};\nexport type saleByOwnerMutation$variables = {\n  input: UpdateLeadInputType;\n};\nexport type saleByOwnerMutation$data = {\n  readonly updateLead: {\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n    readonly updatedObject: {\n      readonly id: string;\n      readonly statusType: LeadStatusTypeEnum | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type saleByOwnerMutation = {\n  response: saleByOwnerMutation$data;\n  variables: saleByOwnerMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"statusType\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"saleByOwnerMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadInterfaceUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"updateLead\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": null,\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              (v3/*: any*/),\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"saleByOwnerMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadInterfaceUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"updateLead\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/),\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": null,\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"__typename\",\n                \"storageKey\": null\n              },\n              (v3/*: any*/),\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"c637d28b3846fc311b23b5294aa4b84c\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"saleByOwnerMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation saleByOwnerMutation(\\n  $input: UpdateLeadInputType!\\n) {\\n  updateLead(input: $input) {\\n    errors {\\n      message\\n      id\\n    }\\n    updatedObject {\\n      __typename\\n      statusType\\n      id\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"bdcaa6efe5de3cf8b2c9d907fb72f078\";\n\nexport default node;\n","/**\n * @generated SignedSource<<1e727ff17607d601ad5de7ece115e25d>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type LeadStatusTypeEnum = \"ConvertedToCustomer\" | \"InProgress\" | \"MarkAsSpam\" | \"NotConvertedToCustomer\" | \"Processed\" | \"Recieved\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type saleByOwnerGridFragment$data = {\n  readonly myPageLeads: ReadonlyArray<{\n    readonly __typename: string;\n    readonly id: string;\n    readonly statusType: LeadStatusTypeEnum | null | undefined;\n    readonly \" $fragmentSpreads\": FragmentRefs<\"leadDialogContent\" | \"leadListItemFragment\">;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadDialogContentViewer\">;\n  readonly \" $fragmentType\": \"saleByOwnerGridFragment\";\n};\nexport type saleByOwnerGridFragment$key = {\n  readonly \" $data\"?: saleByOwnerGridFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"saleByOwnerGridFragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"saleByOwnerGridFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"myPageLeads\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"statusType\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"id\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"__typename\",\n          \"storageKey\": null\n        },\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"leadDialogContent\"\n        },\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"leadListItemFragment\"\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadDialogContentViewer\"\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"3e0c530d6809a37700d792b711fd438d\";\n\nexport default node;\n","/**\n * @generated SignedSource<<91f0956d065fa9a5724792ea77bb0807>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadDialogContent$data = {\n  readonly __typename: string;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadContactDialogContentFragment\" | \"leadOpenHouseDialogContent\" | \"leadPresentationDialogContent\">;\n  readonly \" $fragmentType\": \"leadDialogContent\";\n};\nexport type leadDialogContent$key = {\n  readonly \" $data\"?: leadDialogContent$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadDialogContent\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadDialogContent\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadContactDialogContentFragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadPresentationDialogContent\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadOpenHouseDialogContent\"\n    }\n  ],\n  \"type\": \"LeadInterface\",\n  \"abstractKey\": \"__isLeadInterface\"\n};\n\n(node as any).hash = \"723777cb940ae0f527733610403de611\";\n\nexport default node;\n","/**\n * @generated SignedSource<<db0ccb457474a2993f83922373a474ba>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadDialogContentViewer$data = {\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadOpenHouseDialogContentViewer\" | \"leadPresentationDialogContentViewer\">;\n  readonly \" $fragmentType\": \"leadDialogContentViewer\";\n};\nexport type leadDialogContentViewer$key = {\n  readonly \" $data\"?: leadDialogContentViewer$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadDialogContentViewer\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadDialogContentViewer\",\n  \"selections\": [\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadPresentationDialogContentViewer\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadOpenHouseDialogContentViewer\"\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"5987562b57362e4b0273da7fcbe78d3e\";\n\nexport default node;\n","/**\n * @generated SignedSource<<928bf47804aeb4964f90127d51c28575>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadPresentationDialogContent$data = {\n  readonly __typename: string;\n  readonly caseId?: string | null | undefined;\n  readonly email?: string | null | undefined;\n  readonly firstName?: string | null | undefined;\n  readonly id: string;\n  readonly lastName?: string | null | undefined;\n  readonly phoneNumber?: string | null | undefined;\n  readonly \" $fragmentType\": \"leadPresentationDialogContent\";\n};\nexport type leadPresentationDialogContent$key = {\n  readonly \" $data\"?: leadPresentationDialogContent$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadPresentationDialogContent\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadPresentationDialogContent\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"firstName\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"lastName\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"phoneNumber\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"email\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"caseId\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"LeadPresentation\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"LeadInterface\",\n  \"abstractKey\": \"__isLeadInterface\"\n};\n\n(node as any).hash = \"5c5db8aa9cdf49a566d184c7fd2bfd28\";\n\nexport default node;\n","/**\n * @generated SignedSource<<070eb81eb2110fd2fd125da720faa9a5>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type ActivityTypeCategoryEnum = \"BuyerAdvisorObjectionExtension\" | \"BuyerFinancialInstitutionObjectionExtension\" | \"CounselingCases\" | \"CreditAssessment\" | \"CustomerMeetings\" | \"DeedAvailableForSignatureExtension\" | \"DeedConditionalFinalSignatureExtension\" | \"DeedLatestSignatureExtension\" | \"DeedReportedToLandRegistrationExtension\" | \"Education\" | \"ExternalMeeting\" | \"FirstDepositDeadlineExtension\" | \"GuaranteeExtension\" | \"InternalMeeting\" | \"KeyCollection\" | \"Miscellaneous\" | \"OpenHouse\" | \"OpenHouseWithRegistration\" | \"PaidValuation\" | \"Private\" | \"ProcessClosingProtest\" | \"PurchaseAgreementMeetingBuyer\" | \"PurchaseAgreementMeetingSeller\" | \"RectifyCases\" | \"RiskAssessmentReview\" | \"SalesValuation\" | \"SecondDepositDeadlineExtension\" | \"SellerAdvisorObjectionExtension\" | \"SellerFinancialInstitutionObjectionExtension\" | \"Showcasing\" | \"SignedUpOpenHouse\" | \"StatusMeetingBuyer\" | \"StatusMeetingSeller\" | \"StatusReport\" | \"Transfer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadPresentationDialogContentViewer$data = {\n  readonly propertyForSaleByOwnerAppointmentActivityTypes: ReadonlyArray<{\n    readonly category: ActivityTypeCategoryEnum | null | undefined;\n    readonly id: string | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"leadPresentationDialogContentViewer\";\n};\nexport type leadPresentationDialogContentViewer$key = {\n  readonly \" $data\"?: leadPresentationDialogContentViewer$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadPresentationDialogContentViewer\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadPresentationDialogContentViewer\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"AppointmentActivityType\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"propertyForSaleByOwnerAppointmentActivityTypes\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"category\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"id\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"c45e9b4d9675286821318f95d83fcca3\";\n\nexport default node;\n","export const updateStartEndTimeFromDate = (newDate: Date, start: Date, end: Date): { start: Date; end: Date } => {\n  const startHours = start.getHours();\n  const startMinutes = start.getMinutes();\n\n  const endHours = end.getHours();\n  const endMinutes = end.getMinutes();\n\n  const newStartTime = new Date(newDate);\n  newStartTime.setHours(startHours, startMinutes, 0, 0);\n\n  const newEndTime = new Date(newDate);\n  newEndTime.setHours(endHours, endMinutes, 0, 0);\n  return { start: newStartTime, end: newEndTime };\n};\n","import { FormattedMessage } from 'react-intl';\nimport Button from 'components/atoms/button/button';\nimport { useUpdate } from 'hooks/relay/useUpdate';\nimport { saleByOwnerMutation } from 'components/molecules/sale-by-owner/sale-by-owner-mutation';\nimport DatePicker from 'components/molecules/date-picker/date-picker';\nimport { SelectSingleEventHandler } from 'react-day-picker';\nimport { ChangeEvent, useState } from 'react';\nimport { AppointmentTimePicker } from 'components/organisms/self-sale/components/appointment-timepicker';\nimport { add, set } from 'date-fns';\nimport { LeadStatusTypeEnum } from 'Enums';\nimport { chooseActivityModalCreate } from 'components/organisms/self-sale/choose-activity-modal';\nimport { graphql, useFragment } from 'react-relay';\nimport {\n  leadPresentationDialogContent$data,\n  leadPresentationDialogContent$key,\n} from '__generated__/leadPresentationDialogContent.graphql';\nimport { LeadInterface, LeadOpenHouse, LeadPresentation } from 'Types';\nimport { leadPresentationDialogContentViewer$key } from '__generated__/leadPresentationDialogContentViewer.graphql';\nimport { useList } from 'hooks/useList';\nimport { useMutation } from 'relay-hooks';\nimport {\n  chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation,\n  CreateAppointmentActivityInputType,\n} from '__generated__/chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation.graphql';\nimport { toast } from 'react-toastify';\nimport { updateStartEndTimeFromDate } from 'components/molecules/sale-by-owner/dialog/utils';\n\ntype Props = {\n  onClose: () => void;\n  fragment: leadPresentationDialogContent$key;\n  viewerFragment: leadPresentationDialogContentViewer$key;\n};\n\nconst DEFAULT_DURATION_MINUTES = 60;\nconst TODAY = new Date();\n\nexport const LeadPresentationDialogContent = ({ onClose, fragment, viewerFragment }: Props) => {\n  const lead = useFragment(\n    graphql`\n      fragment leadPresentationDialogContent on LeadInterface {\n        id\n        __typename\n        ... on LeadPresentation {\n          firstName\n          lastName\n          phoneNumber\n          email\n          caseId\n        }\n      }\n    `,\n    fragment,\n  );\n  const viewer = useFragment(\n    graphql`\n      fragment leadPresentationDialogContentViewer on Viewer {\n        propertyForSaleByOwnerAppointmentActivityTypes {\n          category\n          id\n        }\n      }\n    `,\n    viewerFragment,\n  );\n\n  const [updateLead, { loading: updateLeadLoading }] = useUpdate(saleByOwnerMutation, {\n    __typename: LeadInterface,\n  });\n\n  const [createActivity, { loading: createActivityLoading }] =\n    useMutation<chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation>(chooseActivityModalCreate);\n\n  const [selectedDate, setSelectedDate] = useState(TODAY);\n  const [time, setTime] = useState({\n    timeStart: TODAY,\n    timeEnd: add(TODAY, { minutes: DEFAULT_DURATION_MINUTES }),\n  });\n\n  const propertyForSaleByOwnerAppointmentActivityTypes = useList(viewer.propertyForSaleByOwnerAppointmentActivityTypes);\n\n  const handleProcessLead = async () => {\n    const activity = getActivityId(lead);\n    if (!activity || !activity.id) {\n      return toast.error(\n        <FormattedMessage id=\"Default.ErrorMessage\" defaultMessage=\"We are sorry, something went wrong\" />,\n      );\n    }\n\n    if (!lead.caseId) {\n      return toast.error(\n        <FormattedMessage id=\"Default.ErrorMessage\" defaultMessage=\"We are sorry, something went wrong\" />,\n      );\n    }\n\n    const { start, end } = updateStartEndTimeFromDate(selectedDate, time.timeStart, time.timeEnd);\n\n    const input: CreateAppointmentActivityInputType = {\n      activityTypeId: activity.id,\n      startDatetime: start,\n      endDatetime: end,\n      caseId: lead.caseId ?? '',\n      customer: {\n        firstname: lead.firstName,\n        lastname: lead.lastName,\n        email: lead.email,\n        phone: lead.phoneNumber,\n      },\n    };\n\n    try {\n      await createActivity({ variables: { input } });\n      await updateLead({\n        variables: {\n          input: {\n            leadIdGlobal: lead.id,\n            statusType: LeadStatusTypeEnum.Processed,\n          },\n        },\n      });\n      onClose();\n    } catch (e) {\n      console.error(e);\n    }\n  };\n\n  const getActivityId = (lead: leadPresentationDialogContent$data) => {\n    return propertyForSaleByOwnerAppointmentActivityTypes?.find((activity) => {\n      if (lead?.__typename === LeadOpenHouse) {\n        return activity?.category === 'OpenHouse';\n      } else if (lead?.__typename === LeadPresentation) {\n        return activity?.category === 'Showcasing';\n      }\n    });\n  };\n\n  const changeDay = (date: Date) => {\n    setSelectedDate(date);\n  };\n\n  const handleChangeTimeStart = (e: ChangeEvent<HTMLInputElement>) => {\n    const value = e.target.value.split(':');\n    const timeStart = set(selectedDate, { hours: Number(value[0]), minutes: Number(value[1]), seconds: 0 });\n    const timeEnd = add(timeStart, { minutes: DEFAULT_DURATION_MINUTES });\n    setTime({ timeStart, timeEnd });\n  };\n  const handleChangeTimeEnd = (e: ChangeEvent<HTMLInputElement>) => {\n    const value = e.target.value.split(':');\n    const timeEnd = set(selectedDate, { hours: Number(value[0]), minutes: Number(value[1]), seconds: 0 });\n    setTime((prevState) => {\n      return {\n        ...prevState,\n        timeEnd,\n      };\n    });\n  };\n  const handleBlurTimeStart = (_diff: number, _ms: number, e: ChangeEvent<HTMLInputElement>) => {\n    const value = e.target.value.split(':');\n    const timeStart = set(selectedDate, { hours: Number(value[0]), minutes: Number(value[1]), seconds: 0 });\n    const timeEnd = add(timeStart, { minutes: DEFAULT_DURATION_MINUTES });\n    setTime({ timeStart, timeEnd });\n  };\n  const handleBlurTimeEnd = (_diff: number, _mr: number, e: ChangeEvent<HTMLInputElement>) => {\n    const value = e.target.value.split(':');\n    const timeEnd = set(selectedDate, { hours: Number(value[0]), minutes: Number(value[1]), seconds: 0 });\n    setTime((prevState) => {\n      return {\n        ...prevState,\n        timeEnd,\n      };\n    });\n  };\n\n  return (\n    <div>\n      <h3>\n        <FormattedMessage id={'LeadContactDialogContent.bookPresentation'} defaultMessage={'Book show casing'} />\n      </h3>\n      <hr />\n      <div className=\"dialog-content-grid\">\n        <div>\n          <h4 className=\"dialog-date-picker-header\">\n            <FormattedMessage id={'LeadContactDialogContent.pickADate'} defaultMessage={'Pick a Date'} />\n          </h4>\n          <DatePicker\n            fromDate={new Date()}\n            mode=\"single\"\n            onSelect={changeDay as SelectSingleEventHandler}\n            selected={selectedDate}\n          />\n          <br />\n          <AppointmentTimePicker\n            labelStart={<FormattedMessage defaultMessage=\"Start time:\" id=\"Default.StartTime\" />}\n            labelEnd={<FormattedMessage defaultMessage=\"End time:\" id=\"endTime\" />}\n            timeStart={time.timeStart}\n            timeEnd={time.timeEnd}\n            handleChangeTimeStart={handleChangeTimeStart}\n            handleChangeTimeEnd={handleChangeTimeEnd}\n            handleBlurTimeStart={handleBlurTimeStart}\n            handleBlurTimeEnd={handleBlurTimeEnd}\n          />\n        </div>\n        <div className=\"dialog-content-customer\">\n          <h4>\n            <FormattedMessage id={'LeadContactDialogContent.customerInfo'} defaultMessage={'Customer info'} />\n          </h4>\n          <div className=\"customer-info\">\n            <p>{`${lead.firstName} ${lead.lastName}`}</p>\n            <p>{lead.phoneNumber}</p>\n            <p>{lead.email}</p>\n          </div>\n        </div>\n      </div>\n      <div className={'dialog-button'}>\n        <Button onClick={handleProcessLead} disabled={createActivityLoading || updateLeadLoading}>\n          {createActivityLoading || updateLeadLoading ? (\n            <FormattedMessage id=\"Default.Saving\" defaultMessage=\"Saving\" />\n          ) : (\n            <FormattedMessage id={'LeadContactDialogContent.processLead'} defaultMessage={'Process lead'} />\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n","/**\n * @generated SignedSource<<ef9eb7abd2b9d11ba290574e342b8a56>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadContactDialogContentFragment$data = {\n  readonly email: string | null | undefined;\n  readonly id: string;\n  readonly phoneNumber: string | null | undefined;\n  readonly \" $fragmentType\": \"leadContactDialogContentFragment\";\n};\nexport type leadContactDialogContentFragment$key = {\n  readonly \" $data\"?: leadContactDialogContentFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadContactDialogContentFragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadContactDialogContentFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"phoneNumber\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"email\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"LeadInterface\",\n  \"abstractKey\": \"__isLeadInterface\"\n};\n\n(node as any).hash = \"1ca0929f77f28262fc0529a0130ef9b4\";\n\nexport default node;\n","import { FormattedMessage } from 'react-intl';\nimport Button from 'components/atoms/button/button';\nimport { LeadStatusTypeEnum } from 'Enums';\nimport { useUpdate } from 'hooks/relay/useUpdate';\nimport { saleByOwnerMutation } from 'components/molecules/sale-by-owner/sale-by-owner-mutation';\nimport { graphql, useFragment } from 'react-relay';\nimport { leadContactDialogContentFragment$key } from '__generated__/leadContactDialogContentFragment.graphql';\nimport { LeadInterface } from 'Types';\n\ntype Props = {\n  fragment: leadContactDialogContentFragment$key;\n  onClose: () => void;\n};\n\nconst leadContactDialogContentFragment = graphql`\n  fragment leadContactDialogContentFragment on LeadInterface {\n    id\n    phoneNumber\n    email\n  }\n`;\n\nexport const LeadContactDialogContent = ({ fragment, onClose }: Props) => {\n  const lead = useFragment(leadContactDialogContentFragment, fragment);\n  const phoneNumber = lead.phoneNumber;\n  const email = lead.email;\n\n  const [updateLead, { loading: updateLeadLoading }] = useUpdate(saleByOwnerMutation, {\n    __typename: LeadInterface,\n  });\n\n  const handleProcessLead = async () => {\n    await updateLead({\n      variables: {\n        input: {\n          leadIdGlobal: lead.id,\n          statusType: LeadStatusTypeEnum.Processed,\n        },\n      },\n    });\n    onClose();\n  };\n\n  return (\n    <div>\n      <h3>\n        <FormattedMessage id={'LeadContactDialogContent.contactBuyer'} defaultMessage={'Contact buyer'} />\n      </h3>\n      <p>\n        <FormattedMessage\n          id={'LeadContactDialogContent.contactWays'}\n          defaultMessage={\n            'Choose a way to contact the buyer. When you have made contact with the buyer, you can end the lead by pressing the button.'\n          }\n        />\n      </p>\n      {phoneNumber && (\n        <div>\n          <p>\n            <a href={'tel:' + phoneNumber}>\n              <FormattedMessage id={'LeadContactDialogContent.call'} defaultMessage={'Call'} />: {phoneNumber}\n            </a>\n          </p>\n          <p>\n            <a href={'sms:' + phoneNumber}>\n              <FormattedMessage id={'LeadContactDialogContent.sms'} defaultMessage={'Send sms'} />: {phoneNumber}\n            </a>\n          </p>\n        </div>\n      )}\n\n      {email && (\n        <p>\n          <a href={'mailto:' + phoneNumber}>\n            <FormattedMessage id={'LeadContactDialogContent.email'} defaultMessage={'Send email'} />: {email}\n          </a>\n        </p>\n      )}\n      <div className={'dialog-button'}>\n        <Button onClick={handleProcessLead} disabled={updateLeadLoading}>\n          {updateLeadLoading ? (\n            <FormattedMessage id=\"Default.Saving\" defaultMessage=\"Saving\" />\n          ) : (\n            <FormattedMessage id={'LeadContactDialogContent.processLead'} defaultMessage={'Process lead'} />\n          )}{' '}\n        </Button>\n      </div>\n    </div>\n  );\n};\n","/**\n * @generated SignedSource<<b89e7ade5f50dd6b67c24ec9b7fc3a08>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadOpenHouseDialogContent$data = {\n  readonly __typename: string;\n  readonly caseId?: string | null | undefined;\n  readonly email?: string | null | undefined;\n  readonly firstName?: string | null | undefined;\n  readonly id: string;\n  readonly lastName?: string | null | undefined;\n  readonly openHouseStartTime?: string | null | undefined;\n  readonly phoneNumber?: string | null | undefined;\n  readonly \" $fragmentType\": \"leadOpenHouseDialogContent\";\n};\nexport type leadOpenHouseDialogContent$key = {\n  readonly \" $data\"?: leadOpenHouseDialogContent$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadOpenHouseDialogContent\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadOpenHouseDialogContent\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"openHouseStartTime\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"firstName\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"lastName\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"phoneNumber\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"email\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"caseId\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"LeadOpenHouse\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"LeadInterface\",\n  \"abstractKey\": \"__isLeadInterface\"\n};\n\n(node as any).hash = \"127f8c8c56f49da32e4e88674205894a\";\n\nexport default node;\n","/**\n * @generated SignedSource<<cee941d048ed3ad460e3c301166426ff>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type ActivityTypeCategoryEnum = \"BuyerAdvisorObjectionExtension\" | \"BuyerFinancialInstitutionObjectionExtension\" | \"CounselingCases\" | \"CreditAssessment\" | \"CustomerMeetings\" | \"DeedAvailableForSignatureExtension\" | \"DeedConditionalFinalSignatureExtension\" | \"DeedLatestSignatureExtension\" | \"DeedReportedToLandRegistrationExtension\" | \"Education\" | \"ExternalMeeting\" | \"FirstDepositDeadlineExtension\" | \"GuaranteeExtension\" | \"InternalMeeting\" | \"KeyCollection\" | \"Miscellaneous\" | \"OpenHouse\" | \"OpenHouseWithRegistration\" | \"PaidValuation\" | \"Private\" | \"ProcessClosingProtest\" | \"PurchaseAgreementMeetingBuyer\" | \"PurchaseAgreementMeetingSeller\" | \"RectifyCases\" | \"RiskAssessmentReview\" | \"SalesValuation\" | \"SecondDepositDeadlineExtension\" | \"SellerAdvisorObjectionExtension\" | \"SellerFinancialInstitutionObjectionExtension\" | \"Showcasing\" | \"SignedUpOpenHouse\" | \"StatusMeetingBuyer\" | \"StatusMeetingSeller\" | \"StatusReport\" | \"Transfer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadOpenHouseDialogContentViewer$data = {\n  readonly propertyForSaleByOwnerAppointmentActivityTypes: ReadonlyArray<{\n    readonly category: ActivityTypeCategoryEnum | null | undefined;\n    readonly id: string | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"leadOpenHouseDialogContentViewer\";\n};\nexport type leadOpenHouseDialogContentViewer$key = {\n  readonly \" $data\"?: leadOpenHouseDialogContentViewer$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadOpenHouseDialogContentViewer\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadOpenHouseDialogContentViewer\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"AppointmentActivityType\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"propertyForSaleByOwnerAppointmentActivityTypes\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"category\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"id\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"e33504b87fe6164732bd5946a6cd776a\";\n\nexport default node;\n","import { FormattedMessage } from 'react-intl';\nimport Button from 'components/atoms/button/button';\nimport { useUpdate } from 'hooks/relay/useUpdate';\nimport { saleByOwnerMutation } from 'components/molecules/sale-by-owner/sale-by-owner-mutation';\nimport { LeadStatusTypeEnum } from 'Enums';\nimport { graphql, useFragment } from 'react-relay';\nimport {\n  leadOpenHouseDialogContent$data,\n  leadOpenHouseDialogContent$key,\n} from '__generated__/leadOpenHouseDialogContent.graphql';\nimport {\n  chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation,\n  CreateAppointmentActivityInputType,\n} from '__generated__/chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation.graphql';\nimport { toast } from 'react-toastify';\nimport { leadOpenHouseDialogContentViewer$key } from '__generated__/leadOpenHouseDialogContentViewer.graphql';\nimport { LeadInterface, LeadOpenHouse, LeadPresentation } from 'Types';\nimport { useList } from 'hooks/useList';\nimport { useMutation } from 'relay-hooks';\nimport { chooseActivityModalCreate } from 'components/organisms/self-sale/choose-activity-modal';\nimport { add } from 'date-fns';\n\ntype Props = {\n  fragment: leadOpenHouseDialogContent$key;\n  onClose: () => void;\n  viewerFragment: leadOpenHouseDialogContentViewer$key;\n};\n\nexport const LeadOpenHouseDialogContent = ({ fragment, viewerFragment, onClose }: Props) => {\n  const lead = useFragment(\n    graphql`\n      fragment leadOpenHouseDialogContent on LeadInterface {\n        id\n        __typename\n        ... on LeadOpenHouse {\n          openHouseStartTime\n          firstName\n          lastName\n          phoneNumber\n          email\n          caseId\n        }\n      }\n    `,\n    fragment,\n  );\n\n  const viewer = useFragment(\n    graphql`\n      fragment leadOpenHouseDialogContentViewer on Viewer {\n        propertyForSaleByOwnerAppointmentActivityTypes {\n          category\n          id\n        }\n      }\n    `,\n    viewerFragment,\n  );\n  const [createActivity, { loading: createActivityLoading }] =\n    useMutation<chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation>(chooseActivityModalCreate);\n\n  const [updateLead, { loading: updateLeadLoading }] = useUpdate(saleByOwnerMutation, {\n    __typename: LeadInterface,\n  });\n\n  const propertyForSaleByOwnerAppointmentActivityTypes = useList(viewer.propertyForSaleByOwnerAppointmentActivityTypes);\n\n  const getActivityId = (lead: leadOpenHouseDialogContent$data) => {\n    return propertyForSaleByOwnerAppointmentActivityTypes?.find((activity) => {\n      if (lead?.__typename === LeadOpenHouse) {\n        return activity?.category === 'OpenHouse';\n      } else if (lead?.__typename === LeadPresentation) {\n        return activity?.category === 'Showcasing';\n      }\n    });\n  };\n\n  const handleProcessLead = async () => {\n    const activity = getActivityId(lead);\n    const startDate = lead.openHouseStartTime ? new Date(lead.openHouseStartTime) : new Date();\n    if (!activity || !activity.id) {\n      return toast.error(\n        <FormattedMessage id=\"Default.ErrorMessage\" defaultMessage=\"We are sorry, something went wrong\" />,\n      );\n    }\n\n    if (!lead.caseId) {\n      return toast.error(\n        <FormattedMessage id=\"Default.ErrorMessage\" defaultMessage=\"We are sorry, something went wrong\" />,\n      );\n    }\n\n    const input: CreateAppointmentActivityInputType = {\n      activityTypeId: activity.id,\n      startDatetime: lead.openHouseStartTime,\n      endDatetime: add(startDate, { hours: 1 }),\n      caseId: lead.caseId,\n      customer: {\n        firstname: lead.firstName,\n        lastname: lead.lastName,\n        email: lead.email,\n        phone: lead.phoneNumber,\n      },\n    };\n\n    try {\n      await createActivity({ variables: { input } });\n      await updateLead({\n        variables: {\n          input: {\n            leadIdGlobal: lead.id,\n            statusType: LeadStatusTypeEnum.Processed,\n          },\n        },\n      });\n      onClose();\n    } catch (e) {\n      console.error(e);\n      toast.error(<FormattedMessage id=\"Default.ErrorMessage\" defaultMessage=\"We are sorry, something went wrong\" />);\n    }\n  };\n\n  return (\n    <div>\n      <h3>\n        <FormattedMessage id={'LeadContactDialogContent.openHouse'} defaultMessage={'Register to open house'} />\n      </h3>\n      <p>\n        <FormattedMessage\n          id={'LeadContactDialogContent.acceptOpenHouseSubmission'}\n          defaultMessage={'Click on end lead to confirm that the buyer is registered for the open house'}\n        />\n      </p>\n      <div className={'dialog-button'}>\n        <Button onClick={handleProcessLead} disabled={createActivityLoading || updateLeadLoading}>\n          {createActivityLoading || updateLeadLoading ? (\n            <FormattedMessage id=\"Default.Saving\" defaultMessage=\"Saving\" />\n          ) : (\n            <FormattedMessage id={'LeadContactDialogContent.processLead'} defaultMessage={'Process lead'} />\n          )}\n        </Button>\n      </div>\n    </div>\n  );\n};\n","import { LeadOpenHouse, LeadPresentation, LeadSalesMaterialWithContact } from 'Types';\nimport { LeadPresentationDialogContent } from 'components/molecules/sale-by-owner/dialog/lead-presentation-dialog-content';\nimport { LeadContactDialogContent } from 'components/molecules/sale-by-owner/dialog/lead-contact-dialog-content';\nimport { FormattedMessage } from 'react-intl';\nimport { LeadOpenHouseDialogContent } from 'components/molecules/sale-by-owner/dialog/lead-open-house-dialog-content';\nimport { graphql, useFragment } from 'react-relay';\nimport { leadDialogContent$key } from '__generated__/leadDialogContent.graphql';\nimport { leadDialogContentViewer$key } from '__generated__/leadDialogContentViewer.graphql';\n\ntype Props = {\n  fragment: leadDialogContent$key;\n  handleOnClose: () => void;\n  viewerFragment: leadDialogContentViewer$key;\n};\n\nexport const LeadDialogContent = ({ fragment, handleOnClose, viewerFragment }: Props) => {\n  const lead = useFragment(\n    graphql`\n      fragment leadDialogContent on LeadInterface {\n        __typename\n        ...leadContactDialogContentFragment\n        ...leadPresentationDialogContent\n        ...leadOpenHouseDialogContent\n      }\n    `,\n    fragment,\n  );\n\n  const viewer = useFragment(\n    graphql`\n      fragment leadDialogContentViewer on Viewer {\n        ...leadPresentationDialogContentViewer\n        ...leadOpenHouseDialogContentViewer\n      }\n    `,\n    viewerFragment,\n  );\n\n  switch (lead?.__typename) {\n    case LeadOpenHouse:\n      return <LeadOpenHouseDialogContent fragment={lead} onClose={handleOnClose} viewerFragment={viewer} />;\n    case LeadPresentation:\n      return <LeadPresentationDialogContent fragment={lead} onClose={handleOnClose} viewerFragment={viewer} />;\n    case LeadSalesMaterialWithContact:\n      return <LeadContactDialogContent fragment={lead} onClose={handleOnClose} />;\n    default:\n      return (\n        <div>\n          <h4>\n            <FormattedMessage\n              id={'saleByOwner.unknownLeadType'}\n              defaultMessage={'An error has occurred, this lead type is unknown. Contact your employed broker'}\n            />\n          </h4>\n        </div>\n      );\n  }\n};\n","import { graphql, useFragment } from 'react-relay';\nimport { saleByOwnerGridFragment$key } from '__generated__/saleByOwnerGridFragment.graphql';\nimport Block from 'components/utilities/block/block';\nimport Row from 'components/utilities/row/row';\nimport Column from 'components/utilities/column/column';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport './sale-by-owner.scss';\nimport { useList } from 'hooks/useList';\nimport { FC, Fragment, useMemo, useState } from 'react';\nimport { SimpleModal } from 'components/molecules/simple-modal/simple-modal';\nimport useToggle from 'hooks/useToggle';\nimport Icon from 'components/atoms/icon/icon';\nimport { Lead, LeadListItem } from 'components/molecules/sale-by-owner/lead-list-item';\nimport { LeadDialogContent } from 'components/molecules/sale-by-owner/dialog/lead-dialog-content';\nimport EmptyModule from '../empty-module/empty-module';\nimport { LeadStatusTypeEnum } from 'Enums';\n\ntype Props = {\n  viewerFragment: saleByOwnerGridFragment$key;\n  maxAmountDisplayed?: number;\n};\n\nconst saleByOwnerGridFragment = graphql`\n  fragment saleByOwnerGridFragment on Viewer {\n    myPageLeads {\n      statusType\n      id\n      __typename\n      ...leadDialogContent\n      ...leadListItemFragment\n    }\n    ...leadDialogContentViewer\n  }\n`;\n\nexport const SaleByOwnerGrid: FC<Props> = ({ maxAmountDisplayed, viewerFragment }) => {\n  const data = useFragment(saleByOwnerGridFragment, viewerFragment);\n  const mypageLeads = useList(data.myPageLeads ?? []);\n  const [isModalOpen, toggleIsModalOpen] = useToggle();\n  const [selectedLead, setSelectedLead] = useState<Lead | null>(null);\n\n  const leads = useMemo(() => {\n    const filteredLeads = mypageLeads.filter((lead) => lead.statusType === LeadStatusTypeEnum.Recieved);\n    if (maxAmountDisplayed) {\n      return filteredLeads.slice(0, maxAmountDisplayed);\n    } else {\n      return filteredLeads;\n    }\n  }, [maxAmountDisplayed, mypageLeads]);\n\n  const handleOnClick = (lead: Lead) => {\n    toggleIsModalOpen();\n    setSelectedLead(lead);\n  };\n\n  const handleOnClose = () => {\n    toggleIsModalOpen();\n  };\n\n  return (\n    <Fragment>\n      <Block className=\"match-cards-list\">\n        <Row>\n          <Column>\n            <Typography className=\"match-cards-list__heading\" tag=\"h2\" tagStyle=\"headlineMedium\">\n              <FormattedMessage\n                defaultMessage={'Your leads ({count})'}\n                id={'saleByOwner.leads'}\n                values={{ count: leads.length }}\n              />\n            </Typography>\n          </Column>\n        </Row>\n        {leads.length > 0 ? (\n          <div className={'grid'}>\n            {leads.map((lead) => (\n              <LeadListItem key={lead.id} fragment={lead} handleOnClick={handleOnClick} />\n            ))}\n          </div>\n        ) : (\n          <EmptyModule\n            iconName=\"Lead\"\n            message={\n              <FormattedMessage\n                defaultMessage=\"You have no leads awaiting processing\"\n                id=\"saleByOwner.NoLeadsAwaiting\"\n              />\n            }\n          />\n        )}\n      </Block>\n      {isModalOpen && selectedLead && (\n        <SimpleModal onClose={handleOnClose}>\n          <div className={'dialog-container'}>\n            <div className={'dialog-icon-wrapper'}>\n              <Icon name={'Home'} className={'dialog-icon'} />\n            </div>\n            <div className={'dialog-content'}>\n              <LeadDialogContent fragment={selectedLead} handleOnClose={handleOnClose} viewerFragment={data} />\n            </div>\n          </div>\n        </SimpleModal>\n      )}\n    </Fragment>\n  );\n};\n","import classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport { ComponentPropsWithoutRef, Fragment, forwardRef, useEffect, useState } from 'react';\nimport './select.scss';\n\nexport interface SelectOption {\n  name: string;\n  selected?: boolean;\n  value: string;\n}\nexport interface SelectProps extends ComponentPropsWithoutRef<'select'> {\n  bigVersion?: boolean;\n  errorMessage?: string;\n  label?: string;\n  noFloatingLabel?: boolean;\n  options?: SelectOption[];\n  placeholder?: string;\n}\n\nconst Select = forwardRef<HTMLSelectElement, SelectProps>((props, ref) => {\n  const {\n    bigVersion,\n    className,\n    disabled,\n    errorMessage,\n    label,\n    placeholder,\n    required = false,\n    name,\n    noFloatingLabel,\n    onBlur,\n    onChange,\n    onFocus,\n    options,\n    ...rest\n  } = props;\n  const [selected, setSelected] = useState(() => options?.find((option) => option.selected)?.value);\n  const [isLabelShown, setIsLabelShown] = useState(false);\n  const [isPlaceholderSelected, setIsPlaceholderSelected] = useState(!selected);\n\n  useEffect(() => {\n    const value = (document.querySelector(`#${name}`) as HTMLSelectElement)?.value;\n    if (value) {\n      setIsLabelShown(true);\n      setIsPlaceholderSelected(false);\n    }\n  }, [name]);\n\n  return (\n    <Fragment>\n      <div\n        className={classNames('select', {\n          bigVersion,\n          className,\n          hasError: !!errorMessage,\n          isDisabled: disabled,\n          isLabelShown,\n          noFloatingLabel,\n        })}\n      >\n        {label && (\n          <Typography className=\"label\" htmlFor={rest.id} tag=\"label\" tagStyle=\"bodySmall\">\n            {label}\n          </Typography>\n        )}\n        <select\n          {...rest}\n          ref={ref}\n          className={classNames('select__field field', {\n            select__placeholder: isPlaceholderSelected,\n          })}\n          defaultValue={selected}\n          id={name}\n          name={name}\n          onBlur={onBlur}\n          onChange={(event) => {\n            event.target.value.length > 0 ? setIsLabelShown(true) : setIsLabelShown(false);\n            setSelected(event.currentTarget.value);\n            setIsPlaceholderSelected(false);\n            onChange?.(event);\n          }}\n          onFocus={onFocus}\n          required={required}\n        >\n          {placeholder && (\n            <option className=\"select__placeholder\" disabled selected value=\"\">\n              {placeholder}\n            </option>\n          )}\n          {options?.map((option) => (\n            <option key={option.value} className=\"option\" value={option.value}>\n              {option.name}\n            </option>\n          ))}\n        </select>\n      </div>\n      {errorMessage && (\n        <Typography subjectColor=\"error\" tag=\"span\" tagStyle=\"bodyXSmall\">\n          *{errorMessage}\n        </Typography>\n      )}\n    </Fragment>\n  );\n});\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","import { FC, Fragment, ReactNode, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport './simple-modal.scss';\nimport Icon from 'components/atoms/icon/icon';\nimport useOnClickOutside from 'hooks/use-on-click-outside';\n\ntype ModalProps = {\n  children: ReactNode;\n  onClose: () => void;\n  disableClickOutside?: boolean;\n};\n\nexport const SimpleModal: FC<ModalProps> = ({ children, onClose, disableClickOutside = false }) => {\n  const customSelectRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    const handleEsc = (event: KeyboardEvent) => {\n      if (event.code === 'Escape') {\n        onClose();\n      }\n    };\n\n    document.body.classList.add('lock-scroll');\n    window.addEventListener('keydown', handleEsc);\n\n    return () => {\n      document.body.classList.remove('lock-scroll');\n      window.removeEventListener('keydown', handleEsc);\n    };\n  }, [onClose]);\n\n  useOnClickOutside(customSelectRef, onClose);\n\n  return (\n    <Fragment>\n      {createPortal(\n        <div className=\"modal-bg\">\n          <div className=\"modal-container\" ref={disableClickOutside ? null : customSelectRef}>\n            <button className=\"modal-button\" onClick={onClose}>\n              <Icon name={'Cross'} />\n            </button>\n            {children}\n          </div>\n        </div>,\n        document.body,\n      )}\n    </Fragment>\n  );\n};\n","import classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport { forwardRef, Fragment, ReactNode, useEffect, useState } from 'react';\nimport ReactTextareaAutosize, { TextareaAutosizeProps } from 'react-textarea-autosize';\nimport './textarea.scss';\n\nexport interface TextareaProps extends TextareaAutosizeProps {\n  autoExpand?: boolean;\n  children?: ReactNode;\n  classNameInput?: string;\n  errorMessage?: string;\n  focusInput?: () => void;\n  isFullWidth?: boolean;\n  label?: string;\n  maxLength?: number;\n  noBorder?: boolean;\n  noFloatingLabel?: boolean;\n  onClick?: () => void;\n}\n\nconst Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>((props, ref) => {\n  const {\n    autoExpand,\n    className,\n    disabled,\n    errorMessage,\n    label,\n    isFullWidth,\n    classNameInput,\n    children,\n    focusInput,\n    noFloatingLabel,\n    noBorder,\n    onKeyUp,\n    onClick,\n    ...rest\n  } = props;\n\n  const [isLabelShown, setIsLabelShown] = useState(false);\n\n  useEffect(() => {\n    const value = (document.querySelector(`#${rest.name}`) as HTMLTextAreaElement)?.value;\n    if (value || rest.value) {\n      setIsLabelShown(true);\n    }\n  }, [rest.name, rest.value]);\n\n  return (\n    <Fragment>\n      <div\n        className={classNames('textarea', className, {\n          hasError: errorMessage,\n          isDisabled: disabled,\n          isFullWidth,\n          isLabelShown,\n          noBorder,\n          noFloatingLabel,\n        })}\n      >\n        {label && (\n          <Typography className=\"label\" htmlFor={rest.id} tag=\"label\" tagStyle=\"bodySmall\">\n            {label}\n          </Typography>\n        )}\n        <div className=\"inputWrap\">\n          <ReactTextareaAutosize\n            className={classNames('field p', classNameInput, {\n              hasError: !!errorMessage,\n              'is-autoexpand': autoExpand,\n            })}\n            {...rest}\n            ref={ref}\n            id={rest.name}\n            onChange={(e) => {\n              e.target.value.length > 0 ? setIsLabelShown(true) : setIsLabelShown(false);\n            }}\n            onClick={() => {\n              onClick?.();\n              focusInput?.();\n            }}\n            onKeyUp={onKeyUp}\n          />\n          {children}\n        </div>\n      </div>\n      {errorMessage && (\n        <Typography subjectColor=\"error\" tag=\"span\" tagStyle=\"bodyXSmall\">\n          *{errorMessage}\n        </Typography>\n      )}\n    </Fragment>\n  );\n});\n\nTextarea.displayName = 'Textarea';\nexport default Textarea;\n","/**\n * @generated SignedSource<<4a083b7784700c8e764692b4ab70340d>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type BusinessPropertyType = \"Cattle\" | \"Cellar\" | \"Clinic\" | \"Crop\" | \"FarmLand\" | \"ForestProperty\" | \"FreeLand\" | \"Garage\" | \"HotelOrRestaurant\" | \"HousingAndBusiness\" | \"HousingCooperative\" | \"Investment\" | \"Liberal\" | \"MinkAndFurAnimals\" | \"Office\" | \"Parking\" | \"Pigs\" | \"Plot\" | \"PoultryProduction\" | \"ProductionFacility\" | \"ShoppingCenter\" | \"Showroom\" | \"SpecialProduction\" | \"Store\" | \"WareHouse\" | \"WareHouseAndProduction\" | \"Workshop\";\nexport type PropertyType = \"AllYearRoundPlot\" | \"AllotmentHut\" | \"AllotmentPlot\" | \"Condo\" | \"FarmHouseAgriculture\" | \"FormerFarm\" | \"FreeLand\" | \"HobbyAgriculture\" | \"HousingCooperative\" | \"IdeelAnpartCondo\" | \"IdeelAnpartTerracedHouse\" | \"IdeelAnpartVilla\" | \"Liebhaveri\" | \"MixedHousingAndBusiness\" | \"PartnershipOrLimitedPartnershipCondo\" | \"PartnershipOrLimitedPartnershipTerracedHouse\" | \"PartnershipOrLimitedPartnershipVilla\" | \"TerracedHouse\" | \"TerracedHouseWithCondoStatus\" | \"TwoFamilyProperty\" | \"VacationCondo\" | \"VacationHousing\" | \"VacationPlot\" | \"Villa\" | \"VillaApartment\" | \"VillaWithCondoStatus\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type contactModuleOffmarket_offmarketCase$data = {\n  readonly businessPropertyType: BusinessPropertyType | null | undefined;\n  readonly caseDescriptionHeading: string | null | undefined;\n  readonly caseId: string;\n  readonly id: string;\n  readonly mainOfferEmployees: ReadonlyArray<{\n    readonly employee: {\n      readonly fullName: string | null | undefined;\n      readonly id: string;\n      readonly \" $fragmentSpreads\": FragmentRefs<\"contactCard_employee\">;\n    } | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly propertyType: PropertyType | null | undefined;\n  readonly \" $fragmentType\": \"contactModuleOffmarket_offmarketCase\";\n};\nexport type contactModuleOffmarket_offmarketCase$key = {\n  readonly \" $data\"?: contactModuleOffmarket_offmarketCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"contactModuleOffmarket_offmarketCase\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"contactModuleOffmarket_offmarketCase\",\n  \"selections\": [\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"caseId\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"caseDescriptionHeading\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"propertyType\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"businessPropertyType\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"EmployeeOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"mainOfferEmployees\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Employee\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"employee\",\n          \"plural\": false,\n          \"selections\": [\n            (v0/*: any*/),\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"fullName\",\n              \"storageKey\": null\n            },\n            {\n              \"args\": null,\n              \"kind\": \"FragmentSpread\",\n              \"name\": \"contactCard_employee\"\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"OffmarketCase\",\n  \"abstractKey\": null\n};\n})();\n\n(node as any).hash = \"df2a6e123d3a71af039b31d49dab7bb6\";\n\nexport default node;\n","import { contactModuleOffmarket_offmarketCase$key } from '__generated__/contactModuleOffmarket_offmarketCase.graphql';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport ContactCard from 'components/molecules/contact-card/contact-card';\nimport { SelectOption } from 'components/molecules/select/select';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport Row from 'components/utilities/row/row';\nimport { useList } from 'hooks/useList';\nimport { usePropertyType } from 'hooks/usePropertyCategories';\nimport { FC, Fragment, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport ContactSellerModal from '../contact-seller-modal/contact-seller-modal';\nimport './contact-module.scss';\n\nexport interface ContactModuleOffmarketProps {\n  fragment: contactModuleOffmarket_offmarketCase$key | null | undefined;\n}\n\nconst contactModuleOffmarketFragment = graphql`\n  fragment contactModuleOffmarket_offmarketCase on OffmarketCase {\n    id\n    caseId\n    caseDescriptionHeading\n    propertyType\n    businessPropertyType\n    mainOfferEmployees {\n      employee {\n        id\n        fullName\n        ...contactCard_employee\n      }\n    }\n  }\n`;\n\nconst ContactModuleOffmarket: FC<ContactModuleOffmarketProps> = (props) => {\n  const data = useFragment(contactModuleOffmarketFragment, props.fragment || null);\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const formatPropertyType = usePropertyType();\n\n  const employeeOffers = useList(data?.mainOfferEmployees);\n  const employee = employeeOffers?.[0]?.employee;\n  const propertyType = formatPropertyType(data?.propertyType || data?.businessPropertyType || '');\n\n  if (!employee) {\n    return <Fragment />;\n  }\n\n  const getRecipientOptions = () => {\n    const recipients: SelectOption[] = [];\n\n    employeeOffers.forEach((item) => {\n      recipients.push({\n        name: item?.employee?.fullName || '',\n        value: item?.employee?.id || '',\n      });\n    });\n\n    return recipients;\n  };\n\n  return (\n    <Container className=\"contact-module\">\n      <Row alignCenter className=\"contact-module-wrapper\" spaceBetween>\n        <Column width={{ tablet: 4 }}>\n          <ContactCard fragment={employee} />\n        </Column>\n\n        <Column width={{ tablet: 3 }}>\n          <Block className=\"contact-module-text\">\n            <Typography tag=\"h2\" tagStyle=\"headlineMedium\">\n              <FormattedMessage defaultMessage=\"Contact us\" id=\"ContactModule.Title\" />\n            </Typography>\n\n            <Typography tag=\"p\" tagStyle=\"bodyMedium\">\n              <FormattedMessage\n                defaultMessage=\"Do you have questions or would you like to know more about this property? Send us a message.\"\n                id=\"ContactModule.Paragraph\"\n              />\n            </Typography>\n          </Block>\n\n          <Button onClick={() => setIsModalOpen(true)}>\n            <FormattedMessage defaultMessage=\"Contact broker\" id=\"ContactModule.CTA\" />\n          </Button>\n        </Column>\n      </Row>\n      <ContactSellerModal\n        caseOptions={[\n          {\n            name: data?.caseDescriptionHeading || propertyType || '',\n            selected: true,\n            value: data?.caseId || '',\n          },\n        ]}\n        isOpen={isModalOpen}\n        onClose={() => setIsModalOpen(false)}\n        recipientOptions={getRecipientOptions()}\n      />\n    </Container>\n  );\n};\n\nexport default ContactModuleOffmarket;\n","/**\n * @generated SignedSource<<04e2807d5a6fcc97b9d2a7e1421be7f6>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type contactModule_baseCase$data = {\n  readonly address: string | null | undefined;\n  readonly baseCaseMainOffer: {\n    readonly employeeOffer: ReadonlyArray<{\n      readonly employee: {\n        readonly fullName: string | null | undefined;\n        readonly id: string;\n        readonly offerShop: {\n          readonly name: string | null | undefined;\n        } | null | undefined;\n        readonly \" $fragmentSpreads\": FragmentRefs<\"contactCard_employee\">;\n      } | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n  readonly id: string;\n  readonly \" $fragmentType\": \"contactModule_baseCase\";\n};\nexport type contactModule_baseCase$key = {\n  readonly \" $data\"?: contactModule_baseCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"contactModule_baseCase\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"contactModule_baseCase\",\n  \"selections\": [\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"address\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"BaseCaseMainOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCaseMainOffer\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"EmployeeOffer\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"employeeOffer\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"Employee\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"employee\",\n              \"plural\": false,\n              \"selections\": [\n                (v0/*: any*/),\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"fullName\",\n                  \"storageKey\": null\n                },\n                {\n                  \"args\": null,\n                  \"kind\": \"FragmentSpread\",\n                  \"name\": \"contactCard_employee\"\n                },\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"concreteType\": \"Shop\",\n                  \"kind\": \"LinkedField\",\n                  \"name\": \"offerShop\",\n                  \"plural\": false,\n                  \"selections\": [\n                    {\n                      \"alias\": null,\n                      \"args\": null,\n                      \"kind\": \"ScalarField\",\n                      \"name\": \"name\",\n                      \"storageKey\": null\n                    }\n                  ],\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n})();\n\n(node as any).hash = \"4549234df2bbf209af83aa023f73a8f5\";\n\nexport default node;\n","import { contactModule_baseCase$key } from '__generated__/contactModule_baseCase.graphql';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport ContactCard from 'components/molecules/contact-card/contact-card';\nimport { SelectOption } from 'components/molecules/select/select';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport Row from 'components/utilities/row/row';\nimport { useList } from 'hooks/useList';\nimport { FC, Fragment, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport ContactSellerModal from '../contact-seller-modal/contact-seller-modal';\nimport './contact-module.scss';\n\nexport interface ContactModuleProps {\n  fragment: contactModule_baseCase$key | null | undefined;\n  isSeller?: boolean;\n}\n\nconst contactModuleFragment = graphql`\n  fragment contactModule_baseCase on BaseCase {\n    id\n    address\n    baseCaseMainOffer {\n      employeeOffer {\n        employee {\n          id\n          fullName\n          ...contactCard_employee\n          offerShop {\n            name\n          }\n        }\n      }\n    }\n  }\n`;\n\nconst ContactModule: FC<ContactModuleProps> = (props) => {\n  const data = useFragment(contactModuleFragment, props.fragment || null);\n  const [isModalOpen, setIsModalOpen] = useState(false);\n\n  const employeeOffers = useList(data?.baseCaseMainOffer?.employeeOffer);\n  const firstEmployeeOffer = employeeOffers[0] ? employeeOffers[0] : null;\n  const employee = firstEmployeeOffer?.employee;\n\n  if (!employee) {\n    return <Fragment />;\n  }\n\n  const getRecipientOptions = () => {\n    const recipients: SelectOption[] = [];\n\n    employeeOffers.forEach((item) => {\n      recipients.push({\n        name: item?.employee?.fullName || '',\n        value: item?.employee?.id || '',\n      });\n    });\n\n    return recipients;\n  };\n\n  return (\n    <Container className=\"contact-module\">\n      <Row alignCenter className=\"contact-module-wrapper\" spaceBetween>\n        <Column width={{ tablet: 4 }}>\n          <ContactCard fragment={employee} />\n        </Column>\n\n        <Column width={{ tablet: 3 }}>\n          <Block className=\"contact-module-text\">\n            <Typography tag=\"h2\" tagStyle=\"headlineMedium\">\n              <FormattedMessage defaultMessage=\"Contact us\" id=\"ContactModule.Title\" />\n            </Typography>\n\n            <Typography tag=\"p\" tagStyle=\"bodyMedium\">\n              {props.isSeller ? (\n                <FormattedMessage\n                  defaultMessage=\"If you have any questions or need to contact {shopName}\"\n                  id=\"ContactModule.ParagraphSeller\"\n                  values={{\n                    shopName: employee.offerShop?.name,\n                  }}\n                />\n              ) : (\n                <FormattedMessage\n                  defaultMessage=\"Do you have questions or would you like to know more about this property? Send us a message.\"\n                  id=\"ContactModule.Paragraph\"\n                />\n              )}\n            </Typography>\n          </Block>\n\n          <Button onClick={() => setIsModalOpen(true)}>\n            <FormattedMessage defaultMessage=\"Contact broker\" id=\"ContactModule.CTA\" />\n          </Button>\n        </Column>\n      </Row>\n      <ContactSellerModal\n        caseOptions={[\n          {\n            name: data?.address || '',\n            selected: true,\n            value: data?.id || '',\n          },\n        ]}\n        isOpen={isModalOpen}\n        onClose={() => setIsModalOpen(false)}\n        recipientOptions={getRecipientOptions()}\n      />\n    </Container>\n  );\n};\n\nexport default ContactModule;\n","/**\n * @generated SignedSource<<135c360560a4c89f013510e640c72117>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type contactSellerModal_customerIdQuery$variables = Record<PropertyKey, never>;\nexport type contactSellerModal_customerIdQuery$data = {\n  readonly viewer: {\n    readonly customer: {\n      readonly id: string;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type contactSellerModal_customerIdQuery = {\n  response: contactSellerModal_customerIdQuery$data;\n  variables: contactSellerModal_customerIdQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"Customer\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"customer\",\n  \"plural\": false,\n  \"selections\": [\n    (v0/*: any*/)\n  ],\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"contactSellerModal_customerIdQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v1/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"contactSellerModal_customerIdQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v1/*: any*/),\n          (v0/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"e3dbfa247360d0ab61be81bcfcce8792\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"contactSellerModal_customerIdQuery\",\n    \"operationKind\": \"query\",\n    \"text\": \"query contactSellerModal_customerIdQuery {\\n  viewer {\\n    customer {\\n      id\\n    }\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"8255405f259562c02ca2251e5d8e4aa1\";\n\nexport default node;\n","/**\n * @generated SignedSource<<bd540236bc49ee0562397b71ee95bbd9>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type CreateThreadInput = {\n  activityId?: string | null | undefined;\n  attachmentIDs?: ReadonlyArray<string | null | undefined> | null | undefined;\n  caseId?: string | null | undefined;\n  initialMessage: string;\n  participantId: string;\n  subject: string;\n};\nexport type createThread_Mutation$variables = {\n  connections: ReadonlyArray<string>;\n  input?: CreateThreadInput | null | undefined;\n};\nexport type createThread_Mutation$data = {\n  readonly createThread: {\n    readonly createdObject: {\n      readonly createDate: any;\n      readonly hasNewMessages: boolean;\n      readonly id: string;\n      readonly lastMessage: {\n        readonly createDate: any;\n        readonly id: string;\n      } | null | undefined;\n      readonly messageConnection: {\n        readonly items: ReadonlyArray<{\n          readonly author: {\n            readonly fullName: string | null | undefined;\n          };\n        } | null | undefined> | null | undefined;\n      } | null | undefined;\n      readonly subject: string;\n      readonly threadParticipants: ReadonlyArray<{\n        readonly lastReadMessageDate: any | null | undefined;\n        readonly person: {\n          readonly fullName: string | null | undefined;\n        };\n      } | null | undefined>;\n    } | null | undefined;\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n};\nexport type createThread_Mutation = {\n  response: createThread_Mutation$data;\n  variables: createThread_Mutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"defaultValue\": null,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"connections\"\n},\nv1 = {\n  \"defaultValue\": null,\n  \"kind\": \"LocalArgument\",\n  \"name\": \"input\"\n},\nv2 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"createDate\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"subject\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"hasNewMessages\",\n  \"storageKey\": null\n},\nv7 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"first\",\n    \"value\": 1\n  }\n],\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"fullName\",\n  \"storageKey\": null\n},\nv9 = [\n  (v8/*: any*/)\n],\nv10 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"excludeSelf\",\n    \"value\": true\n  }\n],\nv11 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"lastReadMessageDate\",\n  \"storageKey\": null\n},\nv12 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n},\nv13 = [\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"kind\": \"ScalarField\",\n    \"name\": \"__typename\",\n    \"storageKey\": null\n  },\n  (v8/*: any*/),\n  (v3/*: any*/)\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [\n      (v0/*: any*/),\n      (v1/*: any*/)\n    ],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"createThread_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v2/*: any*/),\n        \"concreteType\": \"ThreadCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createThread\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Thread\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"createdObject\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"Message\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"lastMessage\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"kind\": \"RequiredField\",\n                    \"field\": (v3/*: any*/),\n                    \"action\": \"LOG\",\n                    \"path\": \"createThread.createdObject.lastMessage.id\"\n                  },\n                  {\n                    \"kind\": \"RequiredField\",\n                    \"field\": (v4/*: any*/),\n                    \"action\": \"LOG\",\n                    \"path\": \"createThread.createdObject.lastMessage.createDate\"\n                  }\n                ],\n                \"storageKey\": null\n              },\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/),\n              (v6/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": (v7/*: any*/),\n                \"concreteType\": \"MessageConnection\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"messageConnection\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"Message\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"items\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": null,\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"author\",\n                        \"plural\": false,\n                        \"selections\": (v9/*: any*/),\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": \"messageConnection(first:1)\"\n              },\n              {\n                \"alias\": null,\n                \"args\": (v10/*: any*/),\n                \"concreteType\": \"ThreadParticipant\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"threadParticipants\",\n                \"plural\": true,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": null,\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"person\",\n                    \"plural\": false,\n                    \"selections\": (v9/*: any*/),\n                    \"storageKey\": null\n                  },\n                  (v11/*: any*/)\n                ],\n                \"storageKey\": \"threadParticipants(excludeSelf:true)\"\n              }\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v12/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [\n      (v1/*: any*/),\n      (v0/*: any*/)\n    ],\n    \"kind\": \"Operation\",\n    \"name\": \"createThread_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v2/*: any*/),\n        \"concreteType\": \"ThreadCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createThread\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Thread\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"createdObject\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"Message\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"lastMessage\",\n                \"plural\": false,\n                \"selections\": [\n                  (v3/*: any*/),\n                  (v4/*: any*/)\n                ],\n                \"storageKey\": null\n              },\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/),\n              (v6/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": (v7/*: any*/),\n                \"concreteType\": \"MessageConnection\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"messageConnection\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"Message\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"items\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": null,\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"author\",\n                        \"plural\": false,\n                        \"selections\": (v13/*: any*/),\n                        \"storageKey\": null\n                      },\n                      (v3/*: any*/)\n                    ],\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": \"messageConnection(first:1)\"\n              },\n              {\n                \"alias\": null,\n                \"args\": (v10/*: any*/),\n                \"concreteType\": \"ThreadParticipant\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"threadParticipants\",\n                \"plural\": true,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": null,\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"person\",\n                    \"plural\": false,\n                    \"selections\": (v13/*: any*/),\n                    \"storageKey\": null\n                  },\n                  (v11/*: any*/),\n                  (v3/*: any*/)\n                ],\n                \"storageKey\": \"threadParticipants(excludeSelf:true)\"\n              }\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"filters\": null,\n            \"handle\": \"prependNode\",\n            \"key\": \"\",\n            \"kind\": \"LinkedHandle\",\n            \"name\": \"createdObject\",\n            \"handleArgs\": [\n              {\n                \"kind\": \"Variable\",\n                \"name\": \"connections\",\n                \"variableName\": \"connections\"\n              },\n              {\n                \"kind\": \"Literal\",\n                \"name\": \"edgeTypeName\",\n                \"value\": \"ReviewEdge\"\n              }\n            ]\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v12/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"fcffe605cef21a40dfab727637fbb057\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"createThread_Mutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation createThread_Mutation(\\n  $input: CreateThreadInput\\n) {\\n  createThread(input: $input) {\\n    createdObject {\\n      lastMessage {\\n        id\\n        createDate\\n      }\\n      id\\n      createDate\\n      subject\\n      hasNewMessages\\n      messageConnection(first: 1) {\\n        items {\\n          author {\\n            __typename\\n            fullName\\n            id\\n          }\\n          id\\n        }\\n      }\\n      threadParticipants(excludeSelf: true) {\\n        person {\\n          __typename\\n          fullName\\n          id\\n        }\\n        lastReadMessageDate\\n        id\\n      }\\n    }\\n    errors {\\n      message\\n      id\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"b75734ab7471571fc45997e483b5204a\";\n\nexport default node;\n","import { yupResolver } from '@hookform/resolvers/yup';\nimport Button from 'components/atoms/button/button';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport ChatActions, {\n  FileInputInterface,\n  FileInputInterface as FileInputType,\n} from 'components/molecules/chat-actions/chat-actions';\nimport CustomSelect from 'components/molecules/custom-select/custom-select';\nimport Input from 'components/molecules/input/input';\nimport Select, { SelectOption } from 'components/molecules/select/select';\nimport Textarea from 'components/molecules/textarea/textarea';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Row from 'components/utilities/row/row';\nimport useIsMobile from 'hooks/useIsMobile';\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport * as yup from 'yup';\nimport './contact-seller-form.scss';\n\nexport interface ContactSellerFormProps {\n  activityOptions?: SelectOption[];\n  caseOptions?: SelectOption[];\n  onCloseForm: () => void;\n  onSelectCase?: (caseId: string) => void;\n  onSubmit: (data: ContactSellerInputs) => void;\n  recipientOptions?: SelectOption[];\n}\nexport interface ContactSellerInputs {\n  activityId?: string;\n  caseId: string;\n  files?: FileInputInterface[];\n  initialMessage: string;\n  participantId: string;\n  subject: string;\n}\n\nconst ContactSellerForm: FC<ContactSellerFormProps> = ({\n  onCloseForm,\n  caseOptions,\n  activityOptions,\n  recipientOptions,\n  onSubmit,\n  onSelectCase,\n}) => {\n  const { formatMessage } = useIntl();\n  const isMobile = useIsMobile();\n\n  const [selectedCaseOption, setSelectedCaseOption] = useState<SelectOption>();\n  const [selectedRecepientOption, setSelectedRecepientOption] = useState<SelectOption>();\n\n  const schema = useMemo(() => {\n    return yup.object().shape({\n      activityId: yup.string().when([], {\n        is: () => !caseOptions,\n        otherwise: yup.string().notRequired().nullable(),\n        then: yup.string().required(\n          formatMessage({\n            defaultMessage: 'Choose an activity',\n            id: 'ContactSellerForm.activityRequired',\n          }),\n        ),\n      }),\n      caseId: yup.string().when([], {\n        is: () => caseOptions,\n        otherwise: yup.string().notRequired().nullable(),\n        then: yup.string().required(\n          formatMessage({\n            defaultMessage: 'Choose a case',\n            id: 'ContactSellerForm.casetRequired',\n          }),\n        ),\n      }),\n      files: yup.array().of(yup.mixed()).nullable(),\n      initialMessage: yup.string().required(\n        formatMessage({\n          defaultMessage: 'A message is required',\n          id: 'ContactSellerForm.messageRequired',\n        }),\n      ),\n      participantId: yup.string().required(\n        formatMessage({\n          defaultMessage: 'Choose a recipient',\n          id: 'ContactSellerForm.recipientRequired',\n        }),\n      ),\n      subject: yup.string().required(\n        formatMessage({\n          defaultMessage: 'Subject is required',\n          id: 'ContactSellerForm.subjectRequired',\n        }),\n      ),\n    });\n  }, [formatMessage, caseOptions]);\n\n  const {\n    formState: { errors, isSubmitSuccessful },\n    handleSubmit,\n    setFocus,\n    setValue,\n    register,\n    reset,\n    watch,\n  } = useForm<ContactSellerInputs>({\n    resolver: yupResolver(schema),\n  });\n\n  const handleSelectedCase = useCallback(\n    (option: SelectOption) => {\n      reset({ participantId: undefined });\n      setValue(caseOptions ? 'caseId' : 'activityId', option.value);\n      setSelectedCaseOption(option);\n      setSelectedRecepientOption(undefined);\n      onSelectCase?.(option.value);\n    },\n    [reset, setValue, caseOptions, onSelectCase],\n  );\n\n  useEffect(() => {\n    register(caseOptions ? 'caseId' : 'activityId');\n    register('participantId');\n    setValue(caseOptions ? 'caseId' : 'activityId', '');\n\n    if (caseOptions?.length === 1) {\n      handleSelectedCase(caseOptions[0]);\n    }\n  }, [register, caseOptions, setValue, handleSelectedCase]);\n\n  const watchedFiles = watch('files');\n\n  const onFileUpload = (file: FileInputType) => {\n    const newFiles = watchedFiles && watchedFiles.length > 0 ? [...watchedFiles, file] : [file];\n    setValue('files', newFiles);\n  };\n\n  const onDeleteFile = (fileId: string) => {\n    const newFiles = watchedFiles?.filter((file) => file.id !== fileId);\n    setValue('files', newFiles);\n  };\n\n  return isSubmitSuccessful ? (\n    <Block className=\"contact-seller-form__submitted\" column flex>\n      <Icon fill=\"var(--color-text-grey)\" height={48} name=\"Check\" width={48} />\n      <Typography tagStyle=\"bodyLarge\">\n        <FormattedMessage defaultMessage=\"The formular has been uploaded\" id=\"ContactSellerForm.SuccessMessage\" />\n      </Typography>\n      <Button className=\"contact-seller-form__submitted--button\" onClick={onCloseForm} type=\"submit\">\n        <FormattedMessage defaultMessage=\"Go back\" id=\"ContactSellerForm.CloseModal\" />\n      </Button>\n    </Block>\n  ) : (\n    <div className=\"contact-seller-form\">\n      <form onSubmit={handleSubmit(onSubmit)}>\n        <Row center pushBottom>\n          <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n            {!isMobile ? (\n              <CustomSelect\n                disabled={!!activityOptions}\n                errorMessage={errors.caseId?.message || errors.activityId?.message}\n                label={\n                  caseOptions\n                    ? formatMessage({\n                        defaultMessage: 'Case',\n                        id: 'ContactSeller.Case',\n                      })\n                    : formatMessage({\n                        defaultMessage: 'Activity',\n                        id: 'ContactSeller.Aktivitet',\n                      })\n                }\n                onChange={(option) => handleSelectedCase(option)}\n                options={caseOptions || activityOptions}\n                placeholder={\n                  caseOptions\n                    ? formatMessage({\n                        defaultMessage: 'Choose a case',\n                        id: 'ContactSeller.CasePlaceholder',\n                      })\n                    : formatMessage({\n                        defaultMessage: 'Choose an activity',\n                        id: 'ContactSeller.ActivityPlaceholder',\n                      })\n                }\n                selectedOption={selectedCaseOption}\n              />\n            ) : (\n              <Select\n                disabled={!!activityOptions}\n                {...register(caseOptions ? 'caseId' : 'activityId')}\n                errorMessage={errors.caseId?.message}\n                label={\n                  caseOptions\n                    ? formatMessage({\n                        defaultMessage: 'Case',\n                        id: 'ContactSeller.Case',\n                      })\n                    : formatMessage({\n                        defaultMessage: 'Activity',\n                        id: 'ContactSeller.Aktivitet',\n                      })\n                }\n                noFloatingLabel\n                onChange={(event) => onSelectCase?.(event.target.value)}\n                options={caseOptions || activityOptions}\n                placeholder={\n                  caseOptions\n                    ? formatMessage({\n                        defaultMessage: 'Choose a case',\n                        id: 'ContactSeller.CasePlaceholder',\n                      })\n                    : formatMessage({\n                        defaultMessage: 'Choose an activity',\n                        id: 'ContactSeller.ActivityPlaceholder',\n                      })\n                }\n              />\n            )}\n          </Column>\n          <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n            {!isMobile ? (\n              <CustomSelect\n                errorMessage={errors.participantId?.message}\n                label={formatMessage({\n                  defaultMessage: 'Recipient',\n                  id: 'ContactSeller.Recipient',\n                })}\n                onChange={(option) => {\n                  setValue('participantId', option.value);\n                  setSelectedRecepientOption(option);\n                }}\n                options={recipientOptions}\n                placeholder={formatMessage({\n                  defaultMessage: 'Recipient',\n                  id: 'ContactSeller.Recipient',\n                })}\n                selectedOption={selectedRecepientOption}\n              />\n            ) : (\n              <Select\n                {...register('participantId')}\n                errorMessage={errors.participantId?.message}\n                label={formatMessage({\n                  defaultMessage: 'Recipient',\n                  id: 'ContactSeller.Recipient',\n                })}\n                noFloatingLabel\n                options={recipientOptions}\n                placeholder={formatMessage({\n                  defaultMessage: 'Recipient',\n                  id: 'ContactSeller.Recipient',\n                })}\n              />\n            )}\n          </Column>\n          <Column marginBottom width={{ mobile: 8 }}>\n            <Input\n              errorMessage={errors.subject?.message}\n              focusInput={() => setFocus('subject')}\n              label={formatMessage({\n                defaultMessage: 'Subject',\n                id: 'ContactSeller.Subject',\n              })}\n              placeholder={formatMessage({\n                defaultMessage: 'Subject',\n                id: 'ContactSeller.Subject',\n              })}\n              {...register('subject')}\n            />\n          </Column>\n          <Column marginBottom width={{ mobile: 8 }}>\n            <Block marginBottom>\n              <Textarea\n                className=\"contact-seller-form__message-container\"\n                classNameInput=\"contact-seller-form__message\"\n                errorMessage={errors.initialMessage?.message}\n                minRows={5}\n                placeholder={formatMessage({\n                  defaultMessage: 'Type here...',\n                  id: 'ContactSeller.TypeHere',\n                })}\n                {...register('initialMessage')}\n                noFloatingLabel\n              >\n                <FileComponent onFileUpload={onFileUpload} />\n              </Textarea>\n            </Block>\n            {watchedFiles && watchedFiles.length > 0 && (\n              <div className=\"contact-seller-form__documents\">\n                {watchedFiles\n                  .filter((file) => !file.type.includes('image'))\n                  .map((file) => (\n                    <div key={file.id} className=\"contact-seller-form__documents--item\">\n                      <Icon name=\"Files\" />{' '}\n                      <Typography elipsis tagStyle=\"bodyMedium\">\n                        {file.name}\n                      </Typography>\n                      <Button\n                        className=\"contact-seller-form__delete\"\n                        hideText\n                        iconStart=\"Cross\"\n                        onClick={() => onDeleteFile(file.id)}\n                      >\n                        <FormattedMessage defaultMessage=\"Delete\" id=\"Messages.DeleteAttachment\" />\n                      </Button>\n                    </div>\n                  ))}\n              </div>\n            )}\n            {watchedFiles && watchedFiles.length > 0 && (\n              <div className=\"contact-seller-form__images\">\n                {watchedFiles\n                  .filter((file) => file.type.includes('image'))\n                  .map((file) => (\n                    <div key={file.id} className=\"contact-seller-form__images--item\">\n                      <img src={URL.createObjectURL(file)} />\n                      <Button\n                        className=\"contact-seller-form__delete\"\n                        hideText\n                        iconStart=\"Cross\"\n                        onClick={() => onDeleteFile(file.id)}\n                      >\n                        <FormattedMessage defaultMessage=\"Delete\" id=\"Messages.DeleteAttachment\" />\n                      </Button>\n                    </div>\n                  ))}\n              </div>\n            )}\n          </Column>\n        </Row>\n        <Block className=\"contact-seller-form__button-container\" flex justifyRight>\n          <Button onClick={onCloseForm} version=\"secondary\">\n            <FormattedMessage defaultMessage=\"Close\" id=\"ContactSellerForm.buttonClose\" />\n          </Button>\n          <Button type=\"submit\" version=\"primary\">\n            <FormattedMessage defaultMessage=\"Send\" id=\"ContactSellerForm.buttonSend\" />\n          </Button>\n        </Block>\n      </form>\n    </div>\n  );\n};\n\nconst FileComponent: FC<{\n  onFileUpload: (file: FileInputType) => void;\n}> = ({ onFileUpload }) => (\n  <Block className=\"contact-seller-form__file-input\" flex justifyRight>\n    <ChatActions onFileUpload={onFileUpload} />\n  </Block>\n);\n\nexport default ContactSellerForm;\n","import { contactSellerModal_customerIdQuery } from '__generated__/contactSellerModal_customerIdQuery.graphql';\nimport Modal from 'components/molecules/modal/modal';\nimport { SelectOption } from 'components/molecules/select/select';\nimport ContactSellerForm, { ContactSellerInputs } from 'components/organisms/contact-seller-form/contact-seller-form';\nimport { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { ConnectionHandler, graphql, useLazyLoadQuery, useMutation } from 'react-relay';\nimport { createThreadMutation } from 'services/relay/mutations/createThread';\nimport './contact-seller-modal.scss';\nimport { useMixPanel } from 'hooks/useMixPanel';\nimport { MixPanelEvents } from 'app/mixpanel/mixpanelEvents';\n\nexport interface ContactSellerModalProps {\n  activityOptions?: SelectOption[];\n  caseOptions?: SelectOption[];\n  isOpen: boolean;\n  onClose: () => void;\n  onSelectCase?: (caseId: string) => void;\n  recipientOptions: SelectOption[];\n}\n\nconst customerIdQuery = graphql`\n  query contactSellerModal_customerIdQuery {\n    viewer {\n      customer {\n        id\n      }\n    }\n  }\n`;\n\nconst ContactSellerModal: FC<ContactSellerModalProps> = ({\n  onClose,\n  isOpen,\n  activityOptions,\n  caseOptions,\n  recipientOptions,\n  onSelectCase,\n}) => {\n  const [commit] = useMutation(createThreadMutation);\n  const customerIdData = useLazyLoadQuery<contactSellerModal_customerIdQuery>(customerIdQuery, {});\n  const { track } = useMixPanel();\n\n  const connectionID = ConnectionHandler.getConnectionID(\n    customerIdData.viewer?.customer?.id || '',\n    'messagesInbox__threadConnection',\n  );\n\n  const handleSubmitContactForm = (data: ContactSellerInputs) => {\n    const { files, initialMessage, ...rest } = data;\n    const uploadables: { [key: string]: File } = {};\n    if (files) {\n      files.forEach((file) => {\n        uploadables[file.id + file.name] = file;\n      });\n    }\n\n    const haveFiles = files && files.length > 0;\n\n    commit({\n      updater: (store) => {\n        const thread = store.get(connectionID);\n        if (thread) {\n          const value = thread.getValue('totalCount');\n          thread.setValue(Number(value) + 1, 'totalCount');\n        }\n      },\n      uploadables: haveFiles ? uploadables : undefined,\n      variables: {\n        connections: [connectionID],\n        input: {\n          initialMessage: initialMessage.replace(/\\n\\r?/g, '<br />'),\n          ...rest,\n        },\n      },\n    });\n    track('Send_Message' as keyof MixPanelEvents, { sendFrom: 'DIALOG' });\n  };\n\n  return isOpen ? (\n    <Modal\n      closeHandler={onClose}\n      headline={<FormattedMessage defaultMessage=\"Contact the mediator of the case\" id=\"ContactSellerForm.title\" />}\n    >\n      <ContactSellerForm\n        activityOptions={activityOptions}\n        caseOptions={caseOptions}\n        onCloseForm={onClose}\n        onSelectCase={(caseId) => onSelectCase?.(caseId)}\n        onSubmit={(data) => handleSubmitContactForm(data)}\n        recipientOptions={recipientOptions}\n      />\n    </Modal>\n  ) : null;\n};\n\nexport default ContactSellerModal;\n","import Icon from 'components/atoms/icon/icon';\nimport { ComponentPropsWithoutRef, FC } from 'react';\nimport './select.scss';\nimport { FormattedMessage } from 'react-intl';\n\nexport interface SelectProps extends ComponentPropsWithoutRef<'select'> {\n  max: number;\n  options: number[];\n}\n\nconst Select: FC<SelectProps> = ({ options, max, ...props }) => {\n  return (\n    <div className=\"select-container\">\n      <select className=\"select\" defaultValue={options?.[0]} {...props}>\n        {options.map((option, i) => (\n          <option key={option}>{option}</option>\n        ))}\n        <option value={max}>\n          <FormattedMessage id=\"SearchProfile.All\" defaultMessage=\"All\" />\n        </option>\n      </select>\n      <Icon className=\"arrow\" name=\"ArrowDown\" />\n    </div>\n  );\n};\n\nexport default Select;\n","import Select from 'components/atoms/select/select';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { ComponentProps, FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport './table-select.scss';\n\nexport interface TableSelectProps extends Omit<ComponentProps<'select'>, 'onChange'> {\n  currentPage: number;\n  onChange: (val: number) => void;\n  options: number[];\n  pageSize: number;\n  totalItems: number;\n}\n\nconst TableSelect: FC<TableSelectProps> = ({ currentPage, pageSize, totalItems, options, onChange, ...props }) => {\n  const firstIndex = currentPage * pageSize - (pageSize - 1);\n  const lastIndex = pageSize * currentPage;\n\n  return (\n    <Block className=\"table-select\" flex spaceBetween>\n      <Typography tag=\"span\">\n        <FormattedMessage defaultMessage=\"Show\" id=\"TableSelect.vis\" />\n      </Typography>\n      <Select\n        className=\"select\"\n        max={totalItems}\n        onChange={(e) => onChange(Number(e.target.value))}\n        options={options}\n        {...props}\n      />\n      <Typography tag=\"span\">\n        <FormattedMessage defaultMessage=\"Per page\" id=\"Documents.PerPage\" />\n      </Typography>\n      <Typography className=\"table-select__grey-text\" tag=\"span\">\n        Vis {firstIndex}-{Math.min(lastIndex, totalItems)} af {totalItems}\n      </Typography>\n    </Block>\n  );\n};\n\nexport default TableSelect;\n","import Button from 'components/atoms/button/button';\nimport Icon from 'components/atoms/icon/icon';\nimport { Spinner } from 'components/atoms/spinner/spinner';\nimport Typography from 'components/atoms/typography/typography';\nimport TableSelect from 'components/molecules/table-select/table-select';\nimport DocumentsTableStateContext from 'components/organisms/documents-table/documents-table-state-context';\nimport { DEFAULT_OPTIONS, DIRECTION } from 'components/organisms/documents-table/documents-table-state-reducer';\nimport Block from 'components/utilities/block/block';\nimport { FC, useCallback, useContext, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { authenticationService } from 'services/authentication/authentication-service';\nimport './documents-table.scss';\n\nexport const DocumentsTableFooter: FC = () => {\n  const { state, dispatch } = useContext(DocumentsTableStateContext);\n\n  const [isDownloading, setIsDownloading] = useState(false);\n\n  const handleDownloadDocuments = useCallback(async () => {\n    setIsDownloading(true);\n\n    const token = await authenticationService.tokenAsync();\n\n    const requestOptions: RequestInit = {\n      headers: {\n        Authorization: `Bearer ${token}`,\n        'Content-Type': 'application/json',\n      },\n    };\n\n    const response =\n      state.rowSelection.length === 0\n        ? await fetch(`${state.downloadAllUrl}`, { ...requestOptions, method: 'GET' })\n        : await fetch(`${state.downloadMultipleUrl}`, {\n            ...requestOptions,\n            method: 'POST',\n            body: JSON.stringify(state.rowSelection),\n          });\n\n    const blob = await response.blob();\n    saveAs(blob, 'dokumenter.zip');\n\n    setIsDownloading(false);\n  }, [state.downloadAllUrl, state.downloadMultipleUrl, state.rowSelection]);\n\n  const saveAs = (blob: Blob, fileName: string) => {\n    const a = document.createElement('a');\n    a.download = fileName;\n    a.rel = 'noopener';\n    a.href = URL.createObjectURL(blob);\n    setTimeout(() => URL.revokeObjectURL(a.href), 60 * 1000);\n    setTimeout(() => a.click(), 0);\n  };\n\n  const onPageChange = (direction: DIRECTION) => {\n    dispatch({ type: 'SET_PAGE', payload: direction });\n  };\n\n  const onRowsPerPageChange = (val: number) => {\n    dispatch({ type: 'SET_PAGE_SIZE', payload: val });\n  };\n\n  const renderLeftArrow = () => {\n    if (state.page === 1) {\n      return <span className=\"whitespace\">&nbsp;</span>;\n    } else {\n      return <Icon name={'ArrowLeft'} className=\"buttonIcon\" onClick={() => onPageChange(DIRECTION.PREVIOUS)} />;\n    }\n  };\n\n  const renderRightArrow = () => {\n    if (state.pageSize >= state.count || state.page * state.pageSize >= state.count) {\n      return <span className=\"whitespace\">&nbsp;</span>;\n    } else {\n      return (\n        <Icon name={'ArrowRight'} className=\"table__footer-buttonIcon\" onClick={() => onPageChange(DIRECTION.NEXT)} />\n      );\n    }\n  };\n\n  return (\n    <tfoot>\n      <tr>\n        <td colSpan={6}>\n          <Block className=\"table__footer\" flex spaceBetween positionRelative>\n            <Button\n              disabled={isDownloading}\n              className=\"same button\"\n              onClick={handleDownloadDocuments}\n              version=\"primary\"\n            >\n              <Typography tag=\"span\">\n                <FormattedMessage defaultMessage=\"Download\" id=\"Documents.Download\" />{' '}\n                {state.rowSelection.length > 0 ? (\n                  <FormattedMessage defaultMessage=\"Selected\" id=\"Documents.Selected\" />\n                ) : (\n                  <FormattedMessage defaultMessage=\"all\" id=\"Documents.All\" />\n                )}\n              </Typography>\n              {isDownloading && <Spinner />}\n            </Button>\n\n            <TableSelect\n              currentPage={state.page}\n              onChange={onRowsPerPageChange}\n              options={DEFAULT_OPTIONS}\n              pageSize={state.pageSize}\n              totalItems={state.count || 0}\n            />\n            <div className=\"footer__navigation\">\n              {renderLeftArrow()}\n              {renderRightArrow()}\n            </div>\n          </Block>\n        </td>\n      </tr>\n    </tfoot>\n  );\n};\n","import Typography from 'components/atoms/typography/typography';\nimport IndeterminateCheckbox from 'components/molecules/indeterminate-checkbox/indeterminate-checkbox';\nimport DocumentsTableStateContext from 'components/organisms/documents-table/documents-table-state-context';\nimport { useContext, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport './documents-table.scss';\nimport { DocumentOrderBy, OrderDirection } from 'Enums';\n\nexport const DocumentsTableHeader = () => {\n  const { state, dispatch } = useContext(DocumentsTableStateContext);\n\n  const [currentSortKey, setCurrentSortKey] = useState<keyof typeof DocumentOrderBy>(DocumentOrderBy.Type);\n  const [currentSortOrder, setCurrentSortOrder] = useState<keyof typeof OrderDirection>(OrderDirection.asc);\n\n  const isAllSelected = useMemo(\n    () => state.rowSelection.length === state.slicedDocuments.length && state.slicedDocuments.length !== 0,\n    [state.rowSelection.length, state.slicedDocuments.length],\n  );\n\n  const handleRowSelection = () => {\n    if (state.rowSelection.length === state.slicedDocuments.length) {\n      dispatch({\n        type: 'RESET_ROW_SELECTION',\n      });\n    } else {\n      dispatch({\n        type: 'SELECT_ALL_ROW_SELECTION',\n      });\n    }\n  };\n\n  const handleSort = (key: keyof typeof DocumentOrderBy) => {\n    const newSortOrder =\n      currentSortKey === key && currentSortOrder === OrderDirection.asc ? OrderDirection.desc : OrderDirection.asc;\n\n    setCurrentSortKey(key);\n    setCurrentSortOrder(newSortOrder);\n\n    dispatch({\n      type: 'SET_SORTING',\n      payload: { key: key, order: newSortOrder },\n    });\n  };\n\n  const renderSortableColumn = (id: keyof typeof DocumentOrderBy, label: string) => (\n    <th className=\"documents-table__cell table__th table__can-sort\" onClick={() => handleSort(id)}>\n      <div className=\"table__header-content\">\n        <Typography>\n          <FormattedMessage defaultMessage={label} id={`Documents.${label}`} />\n        </Typography>\n        {currentSortKey === id && (\n          <span className={`table__sort-icon ${currentSortOrder}`}>\n            {currentSortOrder === OrderDirection.asc ? '↑' : '↓'}\n          </span>\n        )}\n      </div>\n    </th>\n  );\n\n  return (\n    <thead>\n      <tr>\n        <th className=\"documents-table__checkbox table__th\" colSpan={1}>\n          <IndeterminateCheckbox\n            {...{\n              checked: isAllSelected,\n              indeterminate: false,\n              onChange: handleRowSelection,\n            }}\n          />\n        </th>\n        {renderSortableColumn('Type', 'Type')}\n        {renderSortableColumn('Description', 'Description')}\n        {renderSortableColumn('Status', 'Status')}\n        {renderSortableColumn('VisibleDate', 'Visible')}\n        <th className=\"documents-table__cell table__th\">\n          <div>\n            <Typography>\n              <FormattedMessage defaultMessage={'Handling'} id={'Documents.Handling'} />\n            </Typography>\n          </div>\n        </th>\n      </tr>\n      <tr>\n        <th colSpan={6}>\n          <hr className=\"table__hr\" />\n        </th>\n      </tr>\n    </thead>\n  );\n};\n","/**\n * @generated SignedSource<<768379bf60c384d0494e13b836ac6cab>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type documentsTableRowFragment$data = {\n  readonly documentDownloadUrlCookieAuth: string | null | undefined;\n  readonly documentName: string | null | undefined;\n  readonly documentTypeName: string | null | undefined;\n  readonly grantedDate: any | null | undefined;\n  readonly id: string;\n  readonly propertyOverviewUrl: string | null | undefined;\n  readonly readDate: any | null | undefined;\n  readonly \" $fragmentType\": \"documentsTableRowFragment\";\n};\nexport type documentsTableRowFragment$key = {\n  readonly \" $data\"?: documentsTableRowFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"documentsTableRowFragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"documentsTableRowFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": [\n        {\n          \"kind\": \"Literal\",\n          \"name\": \"inline\",\n          \"value\": false\n        },\n        {\n          \"kind\": \"Literal\",\n          \"name\": \"previewState\",\n          \"value\": \"FullVersion\"\n        }\n      ],\n      \"kind\": \"ScalarField\",\n      \"name\": \"documentDownloadUrlCookieAuth\",\n      \"storageKey\": \"documentDownloadUrlCookieAuth(inline:false,previewState:\\\"FullVersion\\\")\"\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"propertyOverviewUrl\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"documentName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"documentTypeName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"readDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"grantedDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Document\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"a9f9d99d7803e186fdc62496ebc8af8e\";\n\nexport default node;\n","import { documentsTableRowFragment$key } from '__generated__/documentsTableRowFragment.graphql';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport IndeterminateCheckbox from 'components/molecules/indeterminate-checkbox/indeterminate-checkbox';\nimport Block from 'components/utilities/block/block';\nimport { FC, Fragment } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatDate } from 'tools/string-formatters';\nimport './documents-table.scss';\n\ninterface Props {\n  rowSelection: string[];\n  setRowSelection: (id?: string) => void;\n  documentFragment: documentsTableRowFragment$key;\n}\n\nconst documentsTableRowFragment = graphql`\n  fragment documentsTableRowFragment on Document {\n    id\n    documentDownloadUrlCookieAuth(inline: false, previewState: FullVersion)\n    propertyOverviewUrl\n    documentName\n    documentTypeName\n    readDate\n    grantedDate\n  }\n`;\nexport const DocumentsTableRow: FC<Props> = ({ documentFragment, rowSelection, setRowSelection }) => {\n  const document = useFragment(documentsTableRowFragment, documentFragment);\n\n  return (\n    <tr>\n      <td className=\"documents-table__checkbox\">\n        <IndeterminateCheckbox\n          {...{\n            checked: rowSelection.includes(document.id),\n            indeterminate: false,\n            onChange: () => setRowSelection(document.id),\n          }}\n        />\n      </td>\n      <td className=\"documents-table__cell\">\n        <Block flex>\n          <Button\n            anchorTag\n            className=\"documents-table__cell--text\"\n            iconHeight={16}\n            iconStart=\"Files\"\n            iconWidth={16}\n            href={document.documentDownloadUrlCookieAuth || ''}\n            padding={false}\n            version=\"link\"\n          >\n            <Typography tagStyle=\"bodyMedium\">{document.documentName}</Typography>\n          </Button>\n        </Block>\n      </td>\n      <td className=\"hideMobile documents-table__cell\">\n        <Typography className=\"documents-table__cell--text\" tagStyle=\"bodySmall\">\n          {document.documentTypeName}\n        </Typography>\n      </td>\n      <td className=\"hideMobile documents-table__cell\">\n        <Typography subjectColor=\"success\" tag=\"span\" tagStyle=\"bodySmall\">\n          {document.readDate && (\n            <Fragment>\n              <FormattedMessage\n                id=\"DocumentsTable.Read\"\n                defaultMessage=\"Read {date}\"\n                values={{ date: formatDate(document.readDate) }}\n              />\n            </Fragment>\n          )}\n        </Typography>\n      </td>\n      <td className=\"documents-table__cell\">\n        {document.grantedDate && <Typography tagStyle=\"bodySmall\">{formatDate(document.grantedDate)}</Typography>}\n      </td>\n      <td className=\"documents-table__cell\">\n        <Button\n          anchorTag\n          className=\"documents-table__link\"\n          href={document.documentDownloadUrlCookieAuth || ''}\n          padding={false}\n          version=\"link\"\n        >\n          <Typography tagStyle=\"bodyMedium\">\n            <FormattedMessage defaultMessage=\"Open\" id=\"DocumentsTable.Open\" />\n          </Typography>\n        </Button>\n        {document.propertyOverviewUrl && (\n          <>\n            {' / '}\n            <Button\n              anchorTag\n              className=\"documents-table__link\"\n              href={document.propertyOverviewUrl || ''}\n              padding={false}\n              version=\"link\"\n            >\n              <Typography tagStyle=\"bodyMedium\">\n                <FormattedMessage id=\"DocumentsTable.SeeOnline\" defaultMessage=\"See online\" />\n              </Typography>\n            </Button>\n          </>\n        )}\n      </td>\n    </tr>\n  );\n};\n","import { createContext, Dispatch } from 'react';\nimport {\n  DocumentsTableAction,\n  documentsTableInitialState,\n  DocumentsTableState,\n} from 'components/organisms/documents-table/documents-table-state-reducer';\n\ninterface ContextProps {\n  state: DocumentsTableState;\n  dispatch: Dispatch<DocumentsTableAction>;\n}\n\nconst defaultDispatch: Dispatch<DocumentsTableAction> = () => undefined; // does nothing\n\nconst DocumentsTableStateContext = createContext<ContextProps>({\n  state: documentsTableInitialState,\n  dispatch: defaultDispatch,\n});\nexport default DocumentsTableStateContext;\n","export const getMappedDocumentsObject = (documents: readonly Record<string, unknown>[]): Record<number, string> => {\n  return documents.reduce<Record<number, string>>((obj, document, index) => {\n    obj[index] = document.id as string;\n    return obj;\n  }, {});\n};\n","import { DocumentOrderBy, OrderDirection } from 'Enums';\nimport { getMappedDocumentsObject } from 'components/organisms/documents-table/utils';\n\nexport interface DocumentsTableState {\n  searchInput: string;\n  documentsMappedOnIndex: Record<number, string>;\n  slicedDocuments: Record<string, unknown>[];\n  rowSelection: string[];\n  pageSize: number;\n  page: number;\n  count: number;\n  downloadAllUrl: string | null;\n  downloadMultipleUrl: string | null;\n  sorting: { key: keyof typeof DocumentOrderBy; order: keyof typeof OrderDirection };\n}\n\nexport enum DIRECTION {\n  NEXT = 'next',\n  PREVIOUS = 'previous',\n}\n\nexport const DEFAULT_OPTIONS = [10, 20, 30, 40, 50];\n\nexport type DocumentsTableAction =\n  | { type: 'SET_SEARCH_INPUT'; payload: string }\n  | { type: 'SET_DOCUMENTS_DATA'; payload: readonly Record<string, unknown>[] }\n  | { type: 'SET_ROW_SELECTION'; payload: string }\n  | { type: 'SET_COUNT'; payload: number }\n  | { type: 'SET_PAGE'; payload: string }\n  | { type: 'SET_PAGE_SIZE'; payload: number }\n  | { type: 'SET_DATA'; payload: { downloadAllUrl: string; downloadMultipleUrl: string; count: number } }\n  | { type: 'SET_DOWNLOAD_URL'; payload: { downloadAllUrl: string; downloadMultipleUrl: string } }\n  | { type: 'HANDLE_ROW_SELECTION'; payload: string }\n  | { type: 'RESET_ROW_SELECTION' }\n  | { type: 'SELECT_ALL_ROW_SELECTION' }\n  | { type: 'SET_SORTING'; payload: { key: string; order: keyof typeof OrderDirection } };\n\nconst rowSelect = (rowSelection: string[], id: string) => {\n  if (rowSelection.includes(id)) {\n    return rowSelection.filter((item) => item !== id);\n  }\n\n  return [...rowSelection, id];\n};\n\nexport const documentsTableInitialState: DocumentsTableState = {\n  searchInput: '',\n  slicedDocuments: [],\n  rowSelection: [],\n  pageSize: 10,\n  page: 1,\n  count: 0,\n  downloadAllUrl: null,\n  downloadMultipleUrl: null,\n  documentsMappedOnIndex: {},\n  sorting: { key: 'Type', order: 'asc' },\n};\n\nexport function documentsTableStateReducer(\n  state: DocumentsTableState,\n  action: DocumentsTableAction,\n): DocumentsTableState {\n  switch (action.type) {\n    case 'SET_SEARCH_INPUT':\n      return {\n        ...state,\n        searchInput: action.payload,\n      };\n    case 'SET_DOCUMENTS_DATA': {\n      const slicedDocuments = action.payload.slice(\n        state.page * state.pageSize - state.pageSize,\n        state.page * state.pageSize,\n      );\n      const documentsMappedOnIndex = getMappedDocumentsObject(slicedDocuments);\n\n      return {\n        ...state,\n        slicedDocuments: slicedDocuments,\n        documentsMappedOnIndex: documentsMappedOnIndex,\n      };\n    }\n    case 'SET_COUNT':\n      return {\n        ...state,\n        count: action.payload,\n      };\n    case 'SET_PAGE': {\n      const newPage = action.payload === DIRECTION.NEXT ? state.page + 1 : state.page - 1;\n      return {\n        ...state,\n        page: newPage,\n      };\n    }\n    case 'SET_PAGE_SIZE':\n      return {\n        ...state,\n        pageSize: action.payload,\n      };\n    case 'SET_ROW_SELECTION': {\n      const newRowSelection = rowSelect(state.rowSelection, action.payload);\n      return {\n        ...state,\n        rowSelection: newRowSelection,\n      };\n    }\n    case 'SET_DATA':\n      return {\n        ...state,\n        ...action.payload,\n      };\n    case 'RESET_ROW_SELECTION':\n      return {\n        ...state,\n        rowSelection: [],\n      };\n    case 'SELECT_ALL_ROW_SELECTION': {\n      const all = state.slicedDocuments.map((document) => document.id) as string[];\n      return {\n        ...state,\n        rowSelection: all,\n      };\n    }\n    case 'HANDLE_ROW_SELECTION': {\n      const rowIndex = action.payload;\n      if (state.rowSelection.includes(rowIndex)) {\n        const copyRowSelection = [...state.rowSelection];\n        const removeIndex = copyRowSelection.indexOf(rowIndex);\n        copyRowSelection.splice(removeIndex, 1);\n        return {\n          ...state,\n          rowSelection: copyRowSelection,\n        };\n      } else {\n        return {\n          ...state,\n          rowSelection: [...state.rowSelection, rowIndex],\n        };\n      }\n    }\n    case 'SET_SORTING': {\n      const { key, order } = action.payload;\n\n      const sortedDocuments = [...state.slicedDocuments].sort((a, b) => {\n        const valueA = a[key] as keyof typeof DocumentOrderBy;\n        const valueB = b[key] as keyof typeof DocumentOrderBy;\n\n        if (valueA < valueB) return order === 'asc' ? -1 : 1;\n        if (valueA > valueB) return order === 'asc' ? 1 : -1;\n        return 0;\n      });\n\n      return {\n        ...state,\n        slicedDocuments: sortedDocuments,\n        sorting: { key: key as keyof typeof DocumentOrderBy, order },\n      };\n    }\n    default:\n      throw new Error('Unhandled action type');\n  }\n}\n","import './documents-table.scss';\nimport { FC, ReactNode } from 'react';\n\ntype Props = {\n  children: ReactNode;\n};\n\nexport const DocumentsTable: FC<Props> = (props) => {\n  return (\n    <div className=\"documents-table\">\n      <table className=\"table\">{props.children}</table>\n    </div>\n  );\n};\n","import EmptyModule from 'components/molecules/empty-module/empty-module';\nimport { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\n\ntype Props = {\n  searchString: string;\n};\nconst EmptyTableBody: FC<Props> = (props) => {\n  if (props.searchString) {\n    return (\n      <tr>\n        <td colSpan={6}>\n          <EmptyModule\n            message={\n              <FormattedMessage defaultMessage=\"Your search yielded no results\" id=\"DocumentsTable.SearchIsEmpty\" />\n            }\n          />\n        </td>\n      </tr>\n    );\n  } else {\n    return (\n      <tr>\n        <td colSpan={6}>\n          <EmptyModule\n            message={\n              <FormattedMessage\n                defaultMessage=\"Your broker has not yet shared any documents with you\"\n                id=\"DocumentsTable.Empty\"\n              />\n            }\n          />\n        </td>\n      </tr>\n    );\n  }\n};\n\nexport default EmptyTableBody;\n","import { ReactElement } from 'react';\nimport './documents-table.scss';\n\nexport const TableSkeleton = () => {\n  const trs: ReactElement[] = [];\n  for (let i = 0; i < 10; i++) {\n    trs.push(\n      <tr style={{ height: '26px' }} key={i}>\n        <td className=\"documents-table__checkbox skeleton\" />\n        <td className=\"documents-table__cell skeleton\" />\n        <td className=\"hideMobile documents-table__cell skeleton\" />\n        <td className=\"hideMobile documents-table__cell skeleton\" />\n        <td className=\"documents-table__cell skeleton\" />\n        <td className=\"hideMobile documents-table__cell skeleton\" />\n      </tr>,\n    );\n  }\n  return <tbody className=\"table__body\">{trs}</tbody>;\n};\n","/**\n * @generated SignedSource<<58f0b476b776880f58a9dc11329d814d>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type caseImages_Media$data = {\n  readonly edges: ReadonlyArray<{\n    readonly node: {\n      readonly mediaType: {\n        readonly name: string;\n      } | null | undefined;\n      readonly resourceUrl: string | null | undefined;\n    } | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseFullscreenGallery_mediaDataConnection\" | \"caseGallery_mediaDataConnection\" | \"caseImagesSwiper_mediaDataConnection\">;\n  readonly \" $fragmentType\": \"caseImages_Media\";\n};\nexport type caseImages_Media$key = {\n  readonly \" $data\"?: caseImages_Media$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseImages_Media\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"caseImages_Media\",\n  \"selections\": [\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseGallery_mediaDataConnection\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseFullscreenGallery_mediaDataConnection\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseImagesSwiper_mediaDataConnection\"\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MediaDataEdge\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"edges\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Media\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"node\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": [\n                {\n                  \"kind\": \"Literal\",\n                  \"name\": \"resourceType\",\n                  \"value\": \"Asset\"\n                }\n              ],\n              \"kind\": \"ScalarField\",\n              \"name\": \"resourceUrl\",\n              \"storageKey\": \"resourceUrl(resourceType:\\\"Asset\\\")\"\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"MediaType\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"mediaType\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"name\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"MediaDataConnection\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"13d48affc09fd7f8b367a008dd768500\";\n\nexport default node;\n","import Button from 'components/atoms/button/button';\nimport { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport './gallery-navigation.scss';\n\nexport interface GalleryNavigationProps {\n  isFullscreenVisible?: boolean;\n  isPlanVisible?: boolean;\n  isMapVisible?: boolean;\n  isVideoInList?: boolean;\n  onSelectFullscreen: () => void;\n  onSelectMap: () => void;\n  onSelectPlan: () => void;\n  onSelectVideo: () => void;\n}\n\nconst GalleryNavigation: FC<GalleryNavigationProps> = (props) => {\n  const {\n    onSelectFullscreen,\n    onSelectMap,\n    onSelectPlan,\n    onSelectVideo,\n    isFullscreenVisible,\n    isPlanVisible = true,\n    isMapVisible = true,\n    isVideoInList = false,\n  } = props;\n\n  return (\n    <div className=\"gallery-navigation\">\n      {isVideoInList && (\n        <Button\n          className=\"gallery-navigation__button\"\n          hideText\n          iconStart=\"Play\"\n          onClick={onSelectVideo}\n          padding={false}\n        >\n          <FormattedMessage defaultMessage=\"Video\" id=\"Gallery.Video\" />\n        </Button>\n      )}\n      {isPlanVisible && (\n        <Button className=\"gallery-navigation__button\" hideText iconStart=\"Plan\" onClick={onSelectPlan} padding={false}>\n          <FormattedMessage defaultMessage=\"Plan\" id=\"Gallery.Plan\" />\n        </Button>\n      )}\n      {isFullscreenVisible && (\n        <Button\n          className=\"gallery-navigation__button\"\n          hideText\n          iconStart=\"Expand\"\n          onClick={onSelectFullscreen}\n          padding={false}\n        >\n          <FormattedMessage defaultMessage=\"Expand\" id=\"Gallery.Expand\" />\n        </Button>\n      )}\n      {isMapVisible && (\n        <Button className=\"gallery-navigation__button\" hideText iconStart=\"Pin\" onClick={onSelectMap} padding={false}>\n          <FormattedMessage defaultMessage=\"Map\" id=\"Gallery.Map\" />\n        </Button>\n      )}\n    </div>\n  );\n};\n\nexport default GalleryNavigation;\n","/**\n * @generated SignedSource<<723dae9d3528bbe58297b3f8a8ac1ede>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type caseGallery_mediaDataConnection$data = {\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseGallerySwiper_mediaDataConnection\">;\n  readonly \" $fragmentType\": \"caseGallery_mediaDataConnection\";\n};\nexport type caseGallery_mediaDataConnection$key = {\n  readonly \" $data\"?: caseGallery_mediaDataConnection$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseGallery_mediaDataConnection\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"caseGallery_mediaDataConnection\",\n  \"selections\": [\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseGallerySwiper_mediaDataConnection\"\n    }\n  ],\n  \"type\": \"MediaDataConnection\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"025ea3785e5cfc5a03382f338cb7e32f\";\n\nexport default node;\n","/**\n * @generated SignedSource<<95849cad8f1c89e86ec0ef061fbb0d77>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type caseGallerySwiper_mediaDataConnection$data = {\n  readonly edges: ReadonlyArray<{\n    readonly node: {\n      readonly id: string;\n      readonly mediaType: {\n        readonly name: string;\n      } | null | undefined;\n      readonly resourceUrl: string | null | undefined;\n    } | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"caseGallerySwiper_mediaDataConnection\";\n};\nexport type caseGallerySwiper_mediaDataConnection$key = {\n  readonly \" $data\"?: caseGallerySwiper_mediaDataConnection$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseGallerySwiper_mediaDataConnection\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"caseGallerySwiper_mediaDataConnection\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MediaDataEdge\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"edges\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Media\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"node\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"id\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": [\n                {\n                  \"kind\": \"Literal\",\n                  \"name\": \"resourceType\",\n                  \"value\": \"Asset\"\n                }\n              ],\n              \"kind\": \"ScalarField\",\n              \"name\": \"resourceUrl\",\n              \"storageKey\": \"resourceUrl(resourceType:\\\"Asset\\\")\"\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"MediaType\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"mediaType\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"name\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"MediaDataConnection\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"131004f792add142f0c47950309a50dc\";\n\nexport default node;\n","import Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\n\nimport { FormattedMessage } from 'react-intl';\nimport './swiper-navigation.scss';\nimport { FC } from 'react';\n\nexport interface SwiperNavigationProps {\n  activeImageIndex: number;\n  imagesLength: number;\n}\n\nconst SwiperNavigation: FC<SwiperNavigationProps> = (props) => {\n  const { activeImageIndex, imagesLength } = props;\n  return (\n    <div className=\"swiper-navigation\">\n      <div className=\"swiper-navigation__arrows\">\n        <Button className=\"swiper-navigation__arrow swiper-navigation__arrow--prev\" hideText iconStart=\"FullArrowLeft\">\n          <FormattedMessage defaultMessage=\"Previous image\" id=\"Gallery.Previous\" />\n        </Button>\n        <Button className=\"swiper-navigation__arrow swiper-navigation__arrow--next\" hideText iconStart=\"FullArrowRight\">\n          <FormattedMessage defaultMessage=\"Next image\" id=\"Gallery.Next\" />\n        </Button>\n      </div>\n      <div className=\"swiper-navigation__number\">\n        <Typography tagStyle=\"bodyLarge\">{activeImageIndex + 1} / </Typography>\n        <Typography subjectColor=\"gray\" tagStyle=\"bodyLarge\">\n          {imagesLength}\n        </Typography>\n      </div>\n    </div>\n  );\n};\n\nexport default SwiperNavigation;\n","import { FC } from 'react';\n\ntype Props = {\n  url: string;\n  onImageClick?: (index: number) => void;\n  activeSwiperIndex: number;\n  noPlay?: boolean;\n};\nexport const Video: FC<Props> = ({ url, onImageClick, activeSwiperIndex, noPlay }) => {\n  const attr = noPlay\n    ? { controls: false, muted: true, autoPlay: false }\n    : {\n        controls: true,\n        autoPlay: true,\n        muted: true,\n        loop: true,\n      };\n  return (\n    <video className=\"gallery-swiper__image\" onClick={() => onImageClick?.(activeSwiperIndex)} {...attr}>\n      <source src={url ?? ''} type=\"video/mp4\" />\n    </video>\n  );\n};\n","import { FC } from 'react';\n\ntype Props = {\n  url: string;\n  name: string;\n};\nexport const ImageElement: FC<Props> = ({ url, name }) => {\n  return (\n    <img\n      className={'gallery-swiper__image ' + (name === 'Plantegning' && 'gallery-swiper__image--plan')}\n      src={url}\n      alt={'case image'}\n    />\n  );\n};\n","import { caseGallerySwiper_mediaDataConnection$key } from '__generated__/caseGallerySwiper_mediaDataConnection.graphql';\nimport GalleryNavigation from 'components/molecules/gallery-navigation/gallery-navigation';\nimport SwiperNavigation from 'components/molecules/swiper-navigation/swiper-navigation';\nimport Container from 'components/utilities/container/container';\nimport { useNodes } from 'hooks/useNodes';\nimport { FC, useMemo, useRef, useState } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport SwiperCore, { Controller, Navigation } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport 'swiper/swiper.min.css';\nimport './case-gallery-swiper.scss';\nimport { Video } from 'components/molecules/images-swiper/video';\nimport { ImageElement } from 'components/molecules/images-swiper/image';\n\nconst caseGalleryFragment = graphql`\n  fragment caseGallerySwiper_mediaDataConnection on MediaDataConnection {\n    edges {\n      node {\n        id\n        resourceUrl(resourceType: Asset)\n        mediaType {\n          name\n        }\n      }\n    }\n  }\n`;\n\nexport interface CaseGallerySwiperProps {\n  mediaDataConnection: caseGallerySwiper_mediaDataConnection$key | null;\n  onSelectFullscreen: (imageIndex: number) => void;\n  onSelectMap: () => void;\n  slideToImage: number;\n}\n\nexport const CaseGallerySwiper: FC<CaseGallerySwiperProps> = (props) => {\n  const { onSelectFullscreen, onSelectMap, slideToImage } = props;\n  const mediaDataConnection = useFragment(caseGalleryFragment, props.mediaDataConnection);\n\n  const [firstSwiper, setFirstSwiper] = useState<SwiperCore>();\n  const [secondSwiper, setSecondSwiper] = useState<SwiperCore>();\n  const [activeSwiperIndex, setActiveSwiperIndex] = useState(0);\n  const gallerySwiperRef = useRef<HTMLDivElement>(null);\n\n  const images = useNodes(mediaDataConnection?.edges);\n  const hasPlan = useMemo(() => images.some((image) => image.mediaType?.name === 'Plantegning'), [images]);\n  const hasVideo = useMemo(() => images.some((image) => image.mediaType?.name === 'Video'), [images]);\n\n  const handleSelectPlan = () => {\n    const index = images.findIndex((image) => image.mediaType?.name === 'Plantegning');\n    firstSwiper?.slideTo(index);\n  };\n\n  const handleSelectVideo = () => {\n    const index = images.findIndex((image) => image.mediaType?.name === 'Video');\n    firstSwiper?.slideTo(index);\n  };\n\n  return (\n    <Container className=\"gallery-swiper__container\">\n      <div className=\"gallery-swiper\" ref={gallerySwiperRef}>\n        <Swiper\n          centeredSlides\n          className=\"gallery-swiper__images swiper-container-1\"\n          controller={{ control: secondSwiper }}\n          initialSlide={slideToImage || 0}\n          modules={[Navigation, Controller]}\n          navigation={{\n            nextEl: '.swiper-navigation__arrow--next',\n            prevEl: '.swiper-navigation__arrow--prev',\n          }}\n          onActiveIndexChange={(swiperCore) => setActiveSwiperIndex(swiperCore.activeIndex)}\n          onSwiper={setFirstSwiper}\n          slidesPerView={1}\n          spaceBetween={0}\n        >\n          {images.map((image) => (\n            <SwiperSlide key={image.id}>\n              {image.mediaType?.name === 'Video' ? (\n                <Video url={image.resourceUrl ?? ''} activeSwiperIndex={activeSwiperIndex} />\n              ) : (\n                <ImageElement url={image.resourceUrl ?? ''} name={image.mediaType?.name ?? ''} />\n              )}\n            </SwiperSlide>\n          ))}\n          <SwiperNavigation activeImageIndex={activeSwiperIndex} imagesLength={images.length} />\n          <GalleryNavigation\n            isFullscreenVisible\n            isPlanVisible={hasPlan}\n            isVideoInList={hasVideo}\n            onSelectFullscreen={() => onSelectFullscreen(activeSwiperIndex)}\n            onSelectMap={onSelectMap}\n            onSelectVideo={handleSelectVideo}\n            onSelectPlan={handleSelectPlan}\n          />\n        </Swiper>\n        <Swiper\n          centeredSlides\n          className=\"gallery-swiper__thumbs swiper-container-2\"\n          controller={{ control: firstSwiper }}\n          initialSlide={slideToImage || 0}\n          modules={[Controller]}\n          onSwiper={setSecondSwiper}\n          slideToClickedSlide\n          slidesPerView={'auto'}\n          spaceBetween={8}\n        >\n          {images.map((image) => (\n            <SwiperSlide key={image.id}>\n              {image.mediaType?.name === 'Video' ? (\n                <Video url={image.resourceUrl ?? ''} activeSwiperIndex={activeSwiperIndex} noPlay={true} />\n              ) : (\n                <ImageElement url={image.resourceUrl ?? ''} name={image.mediaType?.name ?? ''} />\n              )}\n            </SwiperSlide>\n          ))}\n        </Swiper>\n      </div>\n    </Container>\n  );\n};\n","import { caseGallery_mediaDataConnection$key } from '__generated__/caseGallery_mediaDataConnection.graphql';\nimport PopupOverlay from 'components/molecules/popup-overlay/popup-overlay';\nimport Container from 'components/utilities/container/container';\nimport { graphql, useFragment } from 'react-relay';\nimport { FC } from 'react';\nimport { CaseGallerySwiper } from '../case-gallery-swiper/case-gallery-swiper';\nimport './case-gallery.scss';\n\nconst caseGalleryFragment = graphql`\n  fragment caseGallery_mediaDataConnection on MediaDataConnection {\n    ...caseGallerySwiper_mediaDataConnection\n  }\n`;\nexport interface CaseGalleryProps {\n  onCloseGallery: () => void;\n  onSelectFullscreen: (imageIndex: number) => void;\n  onSelectMap: () => void;\n  slideToImage: number;\n  mediaDataConnection: caseGallery_mediaDataConnection$key | null;\n}\n\nexport const CaseGallery: FC<CaseGalleryProps> = (props) => {\n  const mediaDataConnection = useFragment(caseGalleryFragment, props.mediaDataConnection);\n\n  const { onSelectFullscreen, onSelectMap, onCloseGallery, slideToImage } = props;\n\n  return (\n    <div className=\"case-gallery\">\n      <PopupOverlay onClose={onCloseGallery}>\n        <Container>\n          <CaseGallerySwiper\n            mediaDataConnection={mediaDataConnection}\n            onSelectFullscreen={onSelectFullscreen}\n            onSelectMap={onSelectMap}\n            slideToImage={slideToImage}\n          />\n        </Container>\n      </PopupOverlay>\n    </div>\n  );\n};\n","import { GoogleMap, Libraries, Marker, useJsApiLoader } from '@react-google-maps/api';\nimport PopupOverlay from 'components/molecules/popup-overlay/popup-overlay';\n\nimport { FC } from 'react';\nimport { appSettings } from '../../../setup/setup-app-settings';\nimport './map-overlay.scss';\n\nexport interface MapOverlayProps {\n  lat: number;\n  lng: number;\n  onClose: () => void;\n}\n\nconst LIBRARIES: Libraries = ['places'];\n\nconst MapOverlay: FC<MapOverlayProps> = (props) => {\n  const { onClose, lat, lng } = props;\n\n  const mapOptions = {\n    fullscreenControl: false,\n    gestureHandling: 'greedy',\n    mapTypeControl: false,\n    overviewMapControl: true,\n    rotateControl: true,\n    scaleControl: true,\n    scrollwheel: true,\n    streetViewControl: false,\n    zoomControl: true,\n  };\n\n  const { isLoaded } = useJsApiLoader({\n    id: 'google-map-script',\n    libraries: LIBRARIES,\n    googleMapsApiKey: appSettings.settings.GOOGLE_MAPS_API_KEY,\n  });\n\n  return (\n    <PopupOverlay className=\"map-overlay\" onClose={onClose}>\n      <div className=\"map-overlay-map\">\n        {isLoaded && (\n          <GoogleMap center={{ lat, lng }} mapContainerStyle={{ height: '100%' }} options={mapOptions} zoom={14}>\n            <Marker position={{ lat, lng }} />\n          </GoogleMap>\n        )}\n      </div>\n    </PopupOverlay>\n  );\n};\n\nexport default MapOverlay;\n","/**\n * @generated SignedSource<<7ffbab76439b749b12881b5e768b3142>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type caseImagesSwiper_mediaDataConnection$data = {\n  readonly edges: ReadonlyArray<{\n    readonly node: {\n      readonly id: string;\n      readonly mediaType: {\n        readonly name: string;\n      } | null | undefined;\n      readonly resourceUrl: string | null | undefined;\n    } | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"caseImagesSwiper_mediaDataConnection\";\n};\nexport type caseImagesSwiper_mediaDataConnection$key = {\n  readonly \" $data\"?: caseImagesSwiper_mediaDataConnection$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseImagesSwiper_mediaDataConnection\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"caseImagesSwiper_mediaDataConnection\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MediaDataEdge\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"edges\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Media\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"node\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"id\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": [\n                {\n                  \"kind\": \"Literal\",\n                  \"name\": \"resourceType\",\n                  \"value\": \"Asset\"\n                }\n              ],\n              \"kind\": \"ScalarField\",\n              \"name\": \"resourceUrl\",\n              \"storageKey\": \"resourceUrl(resourceType:\\\"Asset\\\")\"\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"MediaType\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"mediaType\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"name\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"MediaDataConnection\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"45b595d47bf18ddcb27e47ccf57d9ec3\";\n\nexport default node;\n","import { caseImagesSwiper_mediaDataConnection$key } from '__generated__/caseImagesSwiper_mediaDataConnection.graphql';\nimport Icon from 'components/atoms/icon/icon';\nimport SwiperNavigation from 'components/molecules/swiper-navigation/swiper-navigation';\nimport { useNodes } from 'hooks/useNodes';\nimport { FC, ReactNode, useRef, useState } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport { Navigation } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport 'swiper/swiper.min.css';\nimport './case-images-swiper.scss';\nimport { Video } from 'components/molecules/images-swiper/video';\nimport { ImageElement } from 'components/molecules/images-swiper/image';\n\nconst caseImagesSwiperFragment = graphql`\n  fragment caseImagesSwiper_mediaDataConnection on MediaDataConnection {\n    edges {\n      node {\n        id\n        resourceUrl(resourceType: Asset)\n        mediaType {\n          name\n        }\n      }\n    }\n  }\n`;\n\ninterface CaseImagesSwiperProps {\n  children?: ReactNode;\n  mediaDataConnection: caseImagesSwiper_mediaDataConnection$key | null;\n  onImageClick?: (imageIndex: number) => void;\n  slideToImage?: number;\n}\n\nconst CaseImagesSwiper: FC<CaseImagesSwiperProps> = (props) => {\n  const mediaDataConnection = useFragment(caseImagesSwiperFragment, props.mediaDataConnection);\n\n  const { children, slideToImage, onImageClick } = props;\n\n  const [activeSwiperIndex, setActiveSwiperIndex] = useState(0);\n  const imagesSwiperRef = useRef<HTMLDivElement>(null);\n  const images = useNodes(mediaDataConnection?.edges);\n\n  const handleOnClick = (activeIndex: number) => {\n    if (onImageClick) {\n      onImageClick(activeIndex);\n    }\n  };\n\n  if (images.length === 0) {\n    return (\n      <div className=\"case-images-swiper\">\n        <Icon className=\"case-images-swiper__empty\" name=\"Image\" />\n      </div>\n    );\n  }\n\n  return (\n    <div className=\"case-images-swiper\" ref={imagesSwiperRef}>\n      <Swiper\n        centeredSlides\n        className=\"case-images-swiper__images swiper-container-1\"\n        initialSlide={slideToImage || 0}\n        modules={[Navigation]}\n        navigation={{\n          nextEl: '.swiper-navigation__arrow--next',\n          prevEl: '.swiper-navigation__arrow--prev',\n        }}\n        onActiveIndexChange={(swiperCore) => setActiveSwiperIndex(swiperCore.activeIndex)}\n        slidesPerView={1}\n        spaceBetween={0}\n      >\n        {images.map((image) => (\n          <SwiperSlide key={image.id}>\n            {image.mediaType?.name === 'Video' ? (\n              <Video activeSwiperIndex={activeSwiperIndex} url={image.resourceUrl ?? ''} onImageClick={handleOnClick} />\n            ) : (\n              <ImageElement name={image.mediaType?.name ?? ''} url={image.resourceUrl ?? ''} />\n            )}\n          </SwiperSlide>\n        ))}\n        <SwiperNavigation activeImageIndex={activeSwiperIndex} imagesLength={images.length} />\n        {children}\n      </Swiper>\n    </div>\n  );\n};\n\nexport default CaseImagesSwiper;\n","/**\n * @generated SignedSource<<3b9b13cf3eea54c32f7f410df2841d08>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type caseFullscreenGallery_mediaDataConnection$data = {\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseImagesSwiper_mediaDataConnection\">;\n  readonly \" $fragmentType\": \"caseFullscreenGallery_mediaDataConnection\";\n};\nexport type caseFullscreenGallery_mediaDataConnection$key = {\n  readonly \" $data\"?: caseFullscreenGallery_mediaDataConnection$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"caseFullscreenGallery_mediaDataConnection\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"caseFullscreenGallery_mediaDataConnection\",\n  \"selections\": [\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseImagesSwiper_mediaDataConnection\"\n    }\n  ],\n  \"type\": \"MediaDataConnection\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"fb8720a7358b2b1b600a9b8af05ccb53\";\n\nexport default node;\n","import { caseFullscreenGallery_mediaDataConnection$key } from '__generated__/caseFullscreenGallery_mediaDataConnection.graphql';\nimport { FC } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport CaseImagesSwiper from '../case-images-swiper/case-images-swiper';\nimport PopupOverlay from '../popup-overlay/popup-overlay';\nimport './case-fullscreen-gallery.scss';\n\nconst caseFullscreenGalleryFragment = graphql`\n  fragment caseFullscreenGallery_mediaDataConnection on MediaDataConnection {\n    ...caseImagesSwiper_mediaDataConnection\n  }\n`;\n\nexport interface CaseFullscreenGalleryProps {\n  mediaDataConnection: caseFullscreenGallery_mediaDataConnection$key | null;\n  onCloseFullscreen: () => void;\n  slideToImage: number;\n}\n\nexport const CaseFullscreenGallery: FC<CaseFullscreenGalleryProps> = (props) => {\n  const mediaDataConnection = useFragment(caseFullscreenGalleryFragment, props.mediaDataConnection);\n  const { slideToImage, onCloseFullscreen } = props;\n\n  return (\n    <div className=\"case-fullscreen-gallery\">\n      <PopupOverlay onClose={onCloseFullscreen}>\n        <CaseImagesSwiper mediaDataConnection={mediaDataConnection} slideToImage={slideToImage} />\n      </PopupOverlay>\n    </div>\n  );\n};\n","import Icon from 'components/atoms/icon/icon';\nimport Loader from 'components/atoms/loader/loader';\nimport Typography from 'components/atoms/typography/typography';\nimport GalleryNavigation from 'components/molecules/gallery-navigation/gallery-navigation';\nimport { CaseGallery } from 'components/organisms/case-gallery/case-gallery';\nimport MapOverlay from 'components/organisms/map-overlay/map-overlay';\nimport { SuspenseHoc } from 'components/templates/suspense-hoc';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport Row from 'components/utilities/row/row';\nimport { useNodes } from 'hooks/useNodes';\nimport { FC, Fragment, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { caseImages_Media$key } from '__generated__/caseImages_Media.graphql';\nimport CaseImagesSwiper from 'components/molecules/case-images-swiper/case-images-swiper';\nimport { CaseFullscreenGallery } from 'components/molecules/case-fullscreen-gallery/case-fullscreen-gallery';\n\nconst caseImagesFragment = graphql`\n  fragment caseImages_Media on MediaDataConnection {\n    ...caseGallery_mediaDataConnection\n    ...caseFullscreenGallery_mediaDataConnection\n    ...caseImagesSwiper_mediaDataConnection\n    edges {\n      node {\n        resourceUrl(resourceType: Asset)\n        mediaType {\n          name\n        }\n      }\n    }\n  }\n`;\n\nconst getImageColumnWidth = (images: readonly unknown[]) => {\n  if (images.length >= 3) {\n    return 6;\n  } else if (images.length === 2) {\n    return 4;\n  } else {\n    return 8;\n  }\n};\n\ninterface CaseImagesProps {\n  fragment: caseImages_Media$key | undefined | null;\n  gpsCoordinates: string;\n}\n\nexport const CaseImages: FC<CaseImagesProps> = ({ fragment, gpsCoordinates }) => {\n  const data = useFragment(caseImagesFragment, fragment ?? null);\n\n  const images = useNodes(data?.edges);\n  const firstImage = images[0] ? images[0] : null;\n  const secondImage = images[1] ? images[1] : null;\n  const thirdImage = images[2] ? images[2] : null;\n  const hiddenNumberOfImages = images.length - 3;\n\n  const [galleryOpen, setGalleryOpen] = useState<number | null>(null);\n  const [mapOverlayOpen, setMapOverlayOpen] = useState<{\n    lat: number;\n    lng: number;\n  } | null>(null);\n  const [fullscreenGalleryOpen, setFullscreenGalleryOpen] = useState<number | null>(null);\n\n  const hasPlan = useMemo(() => images.some((image) => image.mediaType?.name === 'Plantegning'), [images]);\n  const hasVideo = useMemo(() => images.some((image) => image.mediaType?.name === 'Video'), [images]);\n\n  const handleSelectMap = () => {\n    if (gpsCoordinates) {\n      const coords = gpsCoordinates.split(' ');\n      setMapOverlayOpen({\n        lat: +coords[0],\n        lng: +coords[1],\n      });\n    }\n  };\n\n  const onImageClick = (imageIndex: number) => {\n    if (images.length > 0) {\n      setGalleryOpen(imageIndex);\n    }\n  };\n  const onSelectFullscreen = (imageIndex: number) => setFullscreenGalleryOpen(imageIndex);\n\n  const onSelectPlan = () => {\n    setFullscreenGalleryOpen(images.findIndex((image) => image.mediaType?.name === 'Plantegning'));\n  };\n\n  const onSelectVideo = () => {\n    setFullscreenGalleryOpen(images.findIndex((image) => image.mediaType?.name === 'Video'));\n  };\n\n  if (!images) return <Loader />;\n\n  return (\n    <Fragment>\n      <Container className=\"case-hero-images\" fullWidth paddingBottomReset paddingTopReset>\n        <Row className=\"case-hero-images__desktop\">\n          <Column className=\"image-container\" width={{ mobile: 8, tablet: getImageColumnWidth(images) }}>\n            <div className=\"image-container__image\" onClick={() => onImageClick(0)}>\n              {firstImage && <img alt=\"firstImage\" src={firstImage?.resourceUrl ?? ''} />}\n              {!firstImage && <Icon name=\"Image\" />}\n            </div>\n          </Column>\n          {secondImage && (\n            <Column className=\"image-container\" width={{ mobile: 0, tablet: images.length >= 3 ? 2 : 4 }}>\n              <div className=\"image-container__image\" onClick={() => onImageClick(1)}>\n                <img alt=\"\" src={secondImage.resourceUrl ?? ''} />\n              </div>\n              {thirdImage && (\n                <div\n                  className={'image-container__image ' + (hiddenNumberOfImages > 0 ? 'has-overlay' : '')}\n                  onClick={() => onImageClick(2)}\n                >\n                  {hiddenNumberOfImages > 0 && (\n                    <div className=\"has-overlay__text\">\n                      <Icon name=\"Images\" />\n                      <Typography tagStyle=\"bodyMedium\">\n                        <FormattedMessage\n                          defaultMessage={'+ {count} {count, plural, one {billede} other {billeder}}'}\n                          values={{ count: hiddenNumberOfImages }}\n                          id=\"CaseGallery.image\"\n                        />\n                      </Typography>\n                    </div>\n                  )}\n\n                  <img alt=\"\" src={thirdImage?.resourceUrl ?? ''} />\n                </div>\n              )}\n            </Column>\n          )}\n        </Row>\n        <Row className=\"case-hero-images__mobile\">\n          <CaseImagesSwiper mediaDataConnection={data} onImageClick={(imageIndex) => onSelectFullscreen(imageIndex)} />\n        </Row>\n        <GalleryNavigation\n          isFullscreenVisible={images.length > 0}\n          isPlanVisible={hasPlan}\n          isVideoInList={hasVideo}\n          onSelectVideo={onSelectVideo}\n          onSelectFullscreen={() => onSelectFullscreen(0)}\n          onSelectMap={handleSelectMap}\n          onSelectPlan={onSelectPlan}\n        />\n      </Container>\n      {galleryOpen !== null && (\n        <SuspenseHoc fallback={<Loader />}>\n          <CaseGallery\n            onCloseGallery={() => setGalleryOpen(null)}\n            onSelectFullscreen={setFullscreenGalleryOpen}\n            onSelectMap={handleSelectMap}\n            slideToImage={galleryOpen}\n            mediaDataConnection={data}\n          />\n        </SuspenseHoc>\n      )}\n      {fullscreenGalleryOpen !== null && (\n        <CaseFullscreenGallery\n          mediaDataConnection={data}\n          onCloseFullscreen={() => setFullscreenGalleryOpen(null)}\n          slideToImage={fullscreenGalleryOpen}\n        />\n      )}\n      {mapOverlayOpen && (\n        <MapOverlay lat={mapOverlayOpen.lat} lng={mapOverlayOpen.lng} onClose={() => setMapOverlayOpen(null)} />\n      )}\n    </Fragment>\n  );\n};\n","/**\n * @generated SignedSource<<a7947d3cbb8a58d9415d0f97bac919d9>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type BusinessPropertyType = \"Cattle\" | \"Cellar\" | \"Clinic\" | \"Crop\" | \"FarmLand\" | \"ForestProperty\" | \"FreeLand\" | \"Garage\" | \"HotelOrRestaurant\" | \"HousingAndBusiness\" | \"HousingCooperative\" | \"Investment\" | \"Liberal\" | \"MinkAndFurAnimals\" | \"Office\" | \"Parking\" | \"Pigs\" | \"Plot\" | \"PoultryProduction\" | \"ProductionFacility\" | \"ShoppingCenter\" | \"Showroom\" | \"SpecialProduction\" | \"Store\" | \"WareHouse\" | \"WareHouseAndProduction\" | \"Workshop\";\nexport type PropertyType = \"AllYearRoundPlot\" | \"AllotmentHut\" | \"AllotmentPlot\" | \"Condo\" | \"FarmHouseAgriculture\" | \"FormerFarm\" | \"FreeLand\" | \"HobbyAgriculture\" | \"HousingCooperative\" | \"IdeelAnpartCondo\" | \"IdeelAnpartTerracedHouse\" | \"IdeelAnpartVilla\" | \"Liebhaveri\" | \"MixedHousingAndBusiness\" | \"PartnershipOrLimitedPartnershipCondo\" | \"PartnershipOrLimitedPartnershipTerracedHouse\" | \"PartnershipOrLimitedPartnershipVilla\" | \"TerracedHouse\" | \"TerracedHouseWithCondoStatus\" | \"TwoFamilyProperty\" | \"VacationCondo\" | \"VacationHousing\" | \"VacationPlot\" | \"Villa\" | \"VillaApartment\" | \"VillaWithCondoStatus\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroDetailsFragment$data = {\n  readonly __typename: \"SalesCase\";\n  readonly address: string | null | undefined;\n  readonly baseCaseMainOffer: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentCounselingCase\">;\n  } | null | undefined;\n  readonly businessPropertyType?: BusinessPropertyType;\n  readonly city: string | null | undefined;\n  readonly propertyType?: PropertyType;\n  readonly zipCode: string | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentAgriculturalCase_baseCase\" | \"matchHeroContentBusinessSalesCase\" | \"matchHeroContentRentalCase\" | \"matchHeroContentSalesCase\">;\n  readonly \" $fragmentType\": \"matchHeroDetailsFragment\";\n};\nexport type matchHeroDetailsFragment$key = {\n  readonly \" $data\"?: matchHeroDetailsFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroDetailsFragment\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv2 = [\n  (v1/*: any*/),\n  (v0/*: any*/)\n],\nv3 = [\n  (v1/*: any*/),\n  {\n    \"alias\": \"businessPropertyType\",\n    \"args\": null,\n    \"kind\": \"ScalarField\",\n    \"name\": \"propertyType\",\n    \"storageKey\": null\n  }\n];\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroDetailsFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"address\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"zipCode\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"city\",\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroContentAgriculturalCase_baseCase\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroContentSalesCase\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroContentRentalCase\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroContentBusinessSalesCase\"\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"BaseCaseMainOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCaseMainOffer\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"matchHeroContentCounselingCase\"\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        (v0/*: any*/),\n        (v1/*: any*/)\n      ],\n      \"type\": \"SalesCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v2/*: any*/),\n      \"type\": \"RectifyCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v2/*: any*/),\n      \"type\": \"CounselingPropertyCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v2/*: any*/),\n      \"type\": \"RentalCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v2/*: any*/),\n      \"type\": \"CounselingCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v3/*: any*/),\n      \"type\": \"BusinessSalesCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v3/*: any*/),\n      \"type\": \"BusinessRentalCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n})();\n\n(node as any).hash = \"0a0f08bbe58ce6492c7e53a0e4d030df\";\n\nexport default node;\n","/**\n * @generated SignedSource<<c8621b06729eb327bb80ad56efc6211b>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type BusinessPropertyType = \"Cattle\" | \"Cellar\" | \"Clinic\" | \"Crop\" | \"FarmLand\" | \"ForestProperty\" | \"FreeLand\" | \"Garage\" | \"HotelOrRestaurant\" | \"HousingAndBusiness\" | \"HousingCooperative\" | \"Investment\" | \"Liberal\" | \"MinkAndFurAnimals\" | \"Office\" | \"Parking\" | \"Pigs\" | \"Plot\" | \"PoultryProduction\" | \"ProductionFacility\" | \"ShoppingCenter\" | \"Showroom\" | \"SpecialProduction\" | \"Store\" | \"WareHouse\" | \"WareHouseAndProduction\" | \"Workshop\";\nexport type BusinessRentalCaseStatus = \"Commissioned\" | \"Discontinued\" | \"ForRent\" | \"LostCommission\" | \"LostSale\" | \"None\" | \"Rented\" | \"UnderRent\" | \"Valuation\";\nexport type BusinessSalesCaseStatus = \"BeforeSale\" | \"FinallyTrade\" | \"ForSale\" | \"LostCommission\" | \"NotDefined\" | \"Return\" | \"Sold\" | \"UnderSale\" | \"Valuation\";\nexport type EnergyMarkSeverity = \"A\" | \"A1\" | \"A2\" | \"A2010\" | \"A2015\" | \"A2020\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\" | \"Unknown\";\nexport type PropertyType = \"AllYearRoundPlot\" | \"AllotmentHut\" | \"AllotmentPlot\" | \"Condo\" | \"FarmHouseAgriculture\" | \"FormerFarm\" | \"FreeLand\" | \"HobbyAgriculture\" | \"HousingCooperative\" | \"IdeelAnpartCondo\" | \"IdeelAnpartTerracedHouse\" | \"IdeelAnpartVilla\" | \"Liebhaveri\" | \"MixedHousingAndBusiness\" | \"PartnershipOrLimitedPartnershipCondo\" | \"PartnershipOrLimitedPartnershipTerracedHouse\" | \"PartnershipOrLimitedPartnershipVilla\" | \"TerracedHouse\" | \"TerracedHouseWithCondoStatus\" | \"TwoFamilyProperty\" | \"VacationCondo\" | \"VacationHousing\" | \"VacationPlot\" | \"Villa\" | \"VillaApartment\" | \"VillaWithCondoStatus\";\nexport type RentalCaseStatus = \"Commissioned\" | \"Discontinued\" | \"ForRent\" | \"LostCommission\" | \"LostSale\" | \"Rented\" | \"UnderRent\" | \"Unknown\" | \"Valuation\";\nexport type SalesCaseStatus = \"BeforeSale\" | \"FinallyTrade\" | \"ForSale\" | \"LostCommission\" | \"NotDefined\" | \"Return\" | \"Sold\" | \"UnderSale\" | \"Valuation\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentAgriculturalCase_baseCase$data = {\n  readonly baseCaseMainOffer: {\n    readonly cashPrice: any | null | undefined;\n    readonly totalCosts: {\n      readonly minimumPayout: any | null | undefined;\n      readonly yearlyGrossOutput: any | null | undefined;\n      readonly yearlyNetOutput: any | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n  readonly businessPropertyType?: BusinessPropertyType;\n  readonly businessRentalCase?: BusinessRentalCaseStatus | null | undefined;\n  readonly businessSalesCaseStatus?: BusinessSalesCaseStatus | null | undefined;\n  readonly caseAreas: {\n    readonly livableArea: number | null | undefined;\n    readonly plotAreaSum: number | null | undefined;\n  } | null | undefined;\n  readonly energyMark: EnergyMarkSeverity | null | undefined;\n  readonly heat: string | null | undefined;\n  readonly ownerCostsTotalMonthly?: any | null | undefined;\n  readonly propertyType?: PropertyType;\n  readonly rentalStatus?: RentalCaseStatus | null | undefined;\n  readonly salesStatus?: SalesCaseStatus | null | undefined;\n  readonly yearBuilt: number | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroContentAgriculturalCase_baseCase\";\n};\nexport type matchHeroContentAgriculturalCase_baseCase$key = {\n  readonly \" $data\"?: matchHeroContentAgriculturalCase_baseCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentAgriculturalCase_baseCase\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n},\nv1 = [\n  (v0/*: any*/)\n],\nv2 = {\n  \"alias\": \"businessPropertyType\",\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentAgriculturalCase_baseCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"energyMark\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"yearBuilt\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"heat\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"BaseCaseMainOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCaseMainOffer\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"cashPrice\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"TotalCosts\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"totalCosts\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"yearlyGrossOutput\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"yearlyNetOutput\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"minimumPayout\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"CaseAreas\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"caseAreas\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"livableArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"plotAreaSum\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"ownerCostsTotalMonthly\",\n          \"storageKey\": null\n        },\n        (v0/*: any*/),\n        {\n          \"alias\": \"salesStatus\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"SalesCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v1/*: any*/),\n      \"type\": \"RectifyCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v1/*: any*/),\n      \"type\": \"CounselingPropertyCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        (v0/*: any*/),\n        {\n          \"alias\": \"rentalStatus\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"RentalCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": (v1/*: any*/),\n      \"type\": \"CounselingCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": \"businessSalesCaseStatus\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        },\n        (v2/*: any*/)\n      ],\n      \"type\": \"BusinessSalesCase\",\n      \"abstractKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        (v2/*: any*/),\n        {\n          \"alias\": \"businessRentalCase\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"BusinessRentalCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n})();\n\n(node as any).hash = \"ed2cc5e147f4bcf3957a176763578cf1\";\n\nexport default node;\n","/**\n * @generated SignedSource<<f672ae499bac2f7930323e5a3d594fb4>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type BusinessPropertyType = \"Cattle\" | \"Cellar\" | \"Clinic\" | \"Crop\" | \"FarmLand\" | \"ForestProperty\" | \"FreeLand\" | \"Garage\" | \"HotelOrRestaurant\" | \"HousingAndBusiness\" | \"HousingCooperative\" | \"Investment\" | \"Liberal\" | \"MinkAndFurAnimals\" | \"Office\" | \"Parking\" | \"Pigs\" | \"Plot\" | \"PoultryProduction\" | \"ProductionFacility\" | \"ShoppingCenter\" | \"Showroom\" | \"SpecialProduction\" | \"Store\" | \"WareHouse\" | \"WareHouseAndProduction\" | \"Workshop\";\nexport type BusinessSalesCaseStatus = \"BeforeSale\" | \"FinallyTrade\" | \"ForSale\" | \"LostCommission\" | \"NotDefined\" | \"Return\" | \"Sold\" | \"UnderSale\" | \"Valuation\";\nexport type EnergyMarkSeverity = \"A\" | \"A1\" | \"A2\" | \"A2010\" | \"A2015\" | \"A2020\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\" | \"Unknown\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentBusinessSalesCase$data = {\n  readonly baseCaseMainOffer: {\n    readonly cashPrice: any | null | undefined;\n    readonly rateOfReturn: ReadonlyArray<{\n      readonly annualAmount: any | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n  readonly buildings?: ReadonlyArray<{\n    readonly isMainBuilding: boolean;\n    readonly yearBuilt: number | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly businessPropertyType?: BusinessPropertyType;\n  readonly caseAreas: {\n    readonly builtUpArea: number | null | undefined;\n    readonly commercialArea: number | null | undefined;\n    readonly livableArea: number | null | undefined;\n    readonly plotAreaSum: number | null | undefined;\n  } | null | undefined;\n  readonly energyMark: EnergyMarkSeverity | null | undefined;\n  readonly investmentProperty?: boolean | null | undefined;\n  readonly status?: BusinessSalesCaseStatus | null | undefined;\n  readonly tenanciesYearlyRentTotal?: any | null | undefined;\n  readonly yearBuilt: number | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroContentBusinessSalesCase\";\n};\nexport type matchHeroContentBusinessSalesCase$key = {\n  readonly \" $data\"?: matchHeroContentBusinessSalesCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentBusinessSalesCase\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"yearBuilt\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentBusinessSalesCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"energyMark\",\n      \"storageKey\": null\n    },\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"BaseCaseMainOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCaseMainOffer\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"cashPrice\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"IncreasePerYear\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"rateOfReturn\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"annualAmount\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"CaseAreas\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"caseAreas\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"commercialArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"livableArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"plotAreaSum\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"builtUpArea\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": null,\n          \"kind\": \"LinkedField\",\n          \"name\": \"buildings\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"isMainBuilding\",\n              \"storageKey\": null\n            },\n            (v0/*: any*/)\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"investmentProperty\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": \"businessPropertyType\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"propertyType\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"tenanciesYearlyRentTotal\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"BusinessSalesCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n})();\n\n(node as any).hash = \"193f315bcfcb87c72792564a1f6fe0de\";\n\nexport default node;\n","/**\n * @generated SignedSource<<cb1b36203d780195d46a168ae3a27f61>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type bookShowcasingModal_Query$variables = Record<PropertyKey, never>;\nexport type bookShowcasingModal_Query$data = {\n  readonly viewer: {\n    readonly customer: {\n      readonly email: string | null | undefined;\n      readonly firstName: string | null | undefined;\n      readonly isCompany: boolean;\n      readonly lastName: string | null | undefined;\n      readonly phone: string | null | undefined;\n    } | null | undefined;\n    readonly leadTypeFromEnum: {\n      readonly currentConsent: {\n        readonly id: string;\n      } | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type bookShowcasingModal_Query = {\n  response: bookShowcasingModal_Query$data;\n  variables: bookShowcasingModal_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"isCompany\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"firstName\",\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"lastName\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"email\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"phone\",\n  \"storageKey\": null\n},\nv5 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"enum\",\n    \"value\": \"Presentation\"\n  }\n],\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"LeadConsentGraphType\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"currentConsent\",\n  \"plural\": false,\n  \"selections\": [\n    (v6/*: any*/)\n  ],\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"bookShowcasingModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              (v3/*: any*/),\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": (v5/*: any*/),\n            \"concreteType\": \"LeadTypeGraphType\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"leadTypeFromEnum\",\n            \"plural\": false,\n            \"selections\": [\n              (v7/*: any*/)\n            ],\n            \"storageKey\": \"leadTypeFromEnum(enum:\\\"Presentation\\\")\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"bookShowcasingModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v6/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": (v5/*: any*/),\n            \"concreteType\": \"LeadTypeGraphType\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"leadTypeFromEnum\",\n            \"plural\": false,\n            \"selections\": [\n              (v7/*: any*/),\n              (v6/*: any*/)\n            ],\n            \"storageKey\": \"leadTypeFromEnum(enum:\\\"Presentation\\\")\"\n          },\n          (v6/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"d5423e42d0a62f43b4fe6ac3bc96016b\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"bookShowcasingModal_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query bookShowcasingModal_Query {\\n  viewer {\\n    customer {\\n      isCompany\\n      firstName\\n      lastName\\n      email\\n      phone\\n      id\\n    }\\n    leadTypeFromEnum(enum: Presentation) {\\n      currentConsent {\\n        id\\n      }\\n      id\\n    }\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"c7a70be05557437f56256e9795557939\";\n\nexport default node;\n","/**\n * @generated SignedSource<<d80251a0f8ce331f3c60c306c89485f0>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type Presentation = {\n  caseId: string;\n  comment?: string | null | undefined;\n  consentIdGlobal: string;\n  email?: string | null | undefined;\n  firstName: string;\n  lastName: string;\n  phoneNumber: string;\n  presentationDate?: any | null | undefined;\n  sourceIdGlobal?: string | null | undefined;\n};\nexport type createPresentationMutation$variables = {\n  input: Presentation;\n};\nexport type createPresentationMutation$data = {\n  readonly createPresentation: {\n    readonly createdObject: {\n      readonly id: string;\n    } | null | undefined;\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n};\nexport type createPresentationMutation = {\n  response: createPresentationMutation$data;\n  variables: createPresentationMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"LeadPresentation\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"createdObject\",\n  \"plural\": false,\n  \"selections\": [\n    (v2/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"createPresentationMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadPresentationCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createPresentation\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"createPresentationMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadPresentationCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createPresentation\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v4/*: any*/),\n              (v2/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"015233bffb9a0a4144c3eb7e60ffa3c4\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"createPresentationMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation createPresentationMutation(\\n  $input: Presentation!\\n) {\\n  createPresentation(input: $input) {\\n    createdObject {\\n      id\\n    }\\n    errors {\\n      message\\n      id\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"328315634d0ecf9df28055da6f2dd0f9\";\n\nexport default node;\n","/**\n * @generated SignedSource<<d2cc35dd165f9f1625dd3c13caa00c56>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type CaseAnnouncedType = \"Boligsiden\" | \"BoligsidenPreview\" | \"BorsenEjendomslink\" | \"Landbrugsavisen\" | \"Landbrugsmarkedet\" | \"LokaleBasen\" | \"Offmarket\" | \"Oline\" | \"Respace\" | \"Website\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentFragment_baseCase$data = {\n  readonly __typename: \"SalesCase\";\n  readonly caseAnnounced: ReadonlyArray<{\n    readonly linkUrl: string | null | undefined;\n    readonly type: CaseAnnouncedType;\n  } | null | undefined> | null | undefined;\n  readonly caseDescription?: string | null | undefined;\n  readonly caseDescriptionHeading?: string | null | undefined;\n  readonly id: string;\n  readonly noAdvertisement?: boolean | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroDetailsFragment\">;\n  readonly \" $fragmentType\": \"matchHeroContentFragment_baseCase\";\n};\nexport type matchHeroContentFragment_baseCase$key = {\n  readonly \" $data\"?: matchHeroContentFragment_baseCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentFragment_baseCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentFragment_baseCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"CaseAnnounced\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"caseAnnounced\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"linkUrl\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"type\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroDetailsFragment\"\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"noAdvertisement\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"caseDescription\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"caseDescriptionHeading\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"__typename\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"SalesCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n\n(node as any).hash = \"d869ed0c28e039c737251421b6a9ae8d\";\n\nexport default node;\n","/**\n * @generated SignedSource<<06828c307c4d7e231e292318b115cbf2>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentFragment_offmarketCase$data = {\n  readonly caseDescription: string | null | undefined;\n  readonly caseDescriptionHeading: string | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroOffmarketDetailsFragment_offmarketCase\">;\n  readonly \" $fragmentType\": \"matchHeroContentFragment_offmarketCase\";\n};\nexport type matchHeroContentFragment_offmarketCase$key = {\n  readonly \" $data\"?: matchHeroContentFragment_offmarketCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentFragment_offmarketCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentFragment_offmarketCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"caseDescription\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"caseDescriptionHeading\",\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"matchHeroOffmarketDetailsFragment_offmarketCase\"\n    }\n  ],\n  \"type\": \"OffmarketCase\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"d6abeab55867c422590b5f550813ec72\";\n\nexport default node;\n","import { BusinessRentalCaseStatus, BusinessSalesCaseStatus, RentalCaseStatus, SalesCaseStatus } from 'Enums';\nimport { matchHeroContentAgriculturalCase_baseCase$key } from '__generated__/matchHeroContentAgriculturalCase_baseCase.graphql';\nimport classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { FC, Fragment, useMemo, useRef } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatNumber } from 'tools/string-formatters';\n\nexport interface MatchHeroContentAgriculturalcaseProps {\n  fragment: matchHeroContentAgriculturalCase_baseCase$key | null;\n  isExpanded?: boolean;\n}\n\nconst fragment = graphql`\n  fragment matchHeroContentAgriculturalCase_baseCase on BaseCase {\n    energyMark\n    yearBuilt\n    heat\n\n    baseCaseMainOffer {\n      cashPrice\n      totalCosts {\n        yearlyGrossOutput\n        yearlyNetOutput\n        minimumPayout\n      }\n    }\n    caseAreas {\n      livableArea\n      plotAreaSum\n    }\n\n    ... on SalesCase {\n      ownerCostsTotalMonthly\n      propertyType\n      salesStatus: status\n    }\n\n    ... on RectifyCase {\n      propertyType\n    }\n\n    ... on CounselingPropertyCase {\n      propertyType\n    }\n\n    ... on RentalCase {\n      propertyType\n      rentalStatus: status\n    }\n\n    ... on CounselingCase {\n      propertyType\n    }\n    ... on BusinessSalesCase {\n      businessSalesCaseStatus: status\n\n      businessPropertyType: propertyType\n    }\n    ... on BusinessRentalCase {\n      businessPropertyType: propertyType\n      businessRentalCase: status\n    }\n  }\n`;\n\nconst MatchHeroContentAgriculturalCase: FC<MatchHeroContentAgriculturalcaseProps> = (props) => {\n  const data = useFragment(fragment, props.fragment);\n\n  const showAdditionalInfo = useMemo(() => {\n    const propertyType = data?.propertyType || data?.businessPropertyType;\n    switch (propertyType) {\n      case 'HobbyAgriculture':\n      case 'Liebhaveri':\n      case 'Cattle':\n      case 'Pigs':\n      case 'Crop':\n      case 'SpecialProduction':\n      case 'ForestProperty':\n        return true;\n      default:\n        return false;\n    }\n  }, [data?.propertyType, data?.businessPropertyType]);\n\n  const moreInfoRef = useRef<HTMLElement>(null);\n\n  const isValuation =\n    data?.businessSalesCaseStatus === BusinessSalesCaseStatus.Valuation ||\n    data?.businessRentalCase === BusinessRentalCaseStatus.Valuation ||\n    data?.salesStatus === SalesCaseStatus.Valuation ||\n    data?.rentalStatus === RentalCaseStatus.Valuation;\n\n  return (\n    <Fragment>\n      {!isValuation && (\n        <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Case price\" id=\"Match.Cashprice\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.baseCaseMainOffer?.cashPrice)}</Typography>\n        </Block>\n      )}\n      {/* if: group2 */}\n      {showAdditionalInfo && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Housing area\" id=\"Match.Area\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.livableArea} m²</Typography>\n        </Block>\n      )}\n      <Block className=\"match-hero-details__row\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Ground area\" id=\"Match.groundArea\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.plotAreaSum} ha</Typography>\n      </Block>\n      {/* if: group 2 */}\n      {showAdditionalInfo && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Energy mark\" id=\"Match.Energymark\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.energyMark}</Typography>\n        </Block>\n      )}\n\n      <div\n        className={classNames('match-hero-details__expandable', {\n          isExpanded: props.isExpanded,\n        })}\n        id=\"section-content\"\n      >\n        <Typography ref={moreInfoRef} className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"More info\" id=\"Match.MoreInfo\" />\n        </Typography>\n\n        {/* if: group2 */}\n        {showAdditionalInfo && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Year build\" id=\"Match.YearBuild\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.yearBuilt}</Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Heat source\" id=\"Match.HeatSource\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.heat}</Typography>\n            </Block>\n          </Fragment>\n        )}\n\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"Finances\" id=\"Match.Finances\" />\n        </Typography>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Payment\" id=\"Match.Payment\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">\n            {formatNumber(data?.baseCaseMainOffer?.totalCosts?.minimumPayout, 'kr')}\n          </Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Monthly owner cost\" id=\"Match.OwnershipExpense\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.ownerCostsTotalMonthly)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Gross excl. cost of ownership\" id=\"Match.BruttoExcOwnership\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">\n            {formatNumber(data?.baseCaseMainOffer?.totalCosts?.yearlyGrossOutput, 'kr')}\n          </Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Net excl. cost of ownership\" id=\"Match.NettoExcOwnership\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">\n            {formatNumber(data?.baseCaseMainOffer?.totalCosts?.yearlyNetOutput, 'kr')}\n          </Typography>\n        </Block>\n      </div>\n    </Fragment>\n  );\n};\n\nexport default MatchHeroContentAgriculturalCase;\n","import { BusinessPropertyType, BusinessSalesCaseStatus } from 'Enums';\nimport { matchHeroContentBusinessSalesCase$key } from '__generated__/matchHeroContentBusinessSalesCase.graphql';\nimport classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { useList } from 'hooks/useList';\nimport { FC, Fragment, useMemo } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatNumber } from 'tools/string-formatters';\n\nexport interface MatchHeroContentBusinessSalesCaseProps {\n  fragment: matchHeroContentBusinessSalesCase$key | null;\n  isExpanded?: boolean;\n}\n\nconst fragment = graphql`\n  fragment matchHeroContentBusinessSalesCase on BaseCase {\n    energyMark\n    yearBuilt\n    baseCaseMainOffer {\n      cashPrice\n      rateOfReturn {\n        annualAmount\n      }\n    }\n    caseAreas {\n      commercialArea\n      livableArea\n      plotAreaSum\n      builtUpArea\n    }\n    ... on BusinessSalesCase {\n      buildings {\n        isMainBuilding\n        yearBuilt\n      }\n      investmentProperty\n      businessPropertyType: propertyType\n      status\n      tenanciesYearlyRentTotal\n    }\n  }\n`;\n\nconst MatchHeroContentBusinessSalesCase: FC<MatchHeroContentBusinessSalesCaseProps> = (props) => {\n  const data = useFragment(fragment, props.fragment);\n\n  const isValuation = data?.status === BusinessSalesCaseStatus.Valuation;\n  const isPlot = data?.businessPropertyType === BusinessPropertyType.Plot;\n  const buildings = useList(data?.buildings);\n\n  const yearBuilt = useMemo(() => {\n    if (data?.yearBuilt) return data.yearBuilt;\n\n    const mainBuilding = buildings.find((building) => building.isMainBuilding);\n    if (mainBuilding) {\n      return mainBuilding.yearBuilt;\n    } else {\n      return buildings.length > 0 ? buildings[0].yearBuilt : null;\n    }\n  }, [buildings, data?.yearBuilt]);\n\n  return (\n    <Fragment>\n      {!isValuation && (\n        <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Case price\" id=\"Match.Cashprice\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.baseCaseMainOffer?.cashPrice)}</Typography>\n        </Block>\n      )}\n      <Block className=\"match-hero-details__row\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Ground area\" id=\"Match.groundArea\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.plotAreaSum} m²</Typography>\n      </Block>\n      {/* if: group one */}\n      {!isPlot && (\n        <Fragment>\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Commercial area\" id=\"Match.CommercialArea\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.commercialArea} m²</Typography>\n          </Block>\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Housing area\" id=\"Match.Area\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.livableArea} m²</Typography>\n          </Block>\n        </Fragment>\n      )}\n      {/* if: group one */}\n      {!isPlot && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Energy mark\" id=\"Match.Energymark\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.energyMark}</Typography>\n        </Block>\n      )}\n\n      <div\n        className={classNames('match-hero-details__expandable', {\n          isExpanded: props.isExpanded,\n        })}\n        id=\"section-content\"\n      >\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"More info\" id=\"Match.MoreInfo\" />\n        </Typography>\n        {/* if: group 1 */}\n        {!isPlot && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Investment property\" id=\"Match.InvestmentProperty\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">\n                {data?.investmentProperty ? (\n                  <FormattedMessage defaultMessage=\"Yes\" id=\"Case.Yes\" />\n                ) : (\n                  <FormattedMessage defaultMessage=\"No\" id=\"Case.No\" />\n                )}\n              </Typography>\n            </Block>\n\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Built up area\" id=\"Match.BuiltUpArea\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.builtUpArea} m²</Typography>\n            </Block>\n          </Fragment>\n        )}\n\n        {/* if: group 1 */}\n        {!isPlot && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Year build\" id=\"Match.YearBuild\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{yearBuilt}</Typography>\n            </Block>\n          </Fragment>\n        )}\n\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"Finances\" id=\"Match.Finances\" />\n        </Typography>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Rate of return:\" id=\"Match.RateOfReturn\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">\n            {formatNumber(data?.baseCaseMainOffer?.rateOfReturn?.[0]?.annualAmount, '%')}\n          </Typography>\n        </Block>\n        {!isPlot && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage\n                defaultMessage=\"Rental income residential and business:\"\n                id=\"Match.tenanciesYearlyRentTotal\"\n              />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{formatNumber(data?.tenanciesYearlyRentTotal, 'kr')}</Typography>\n          </Block>\n        )}\n      </div>\n    </Fragment>\n  );\n};\n\nexport default MatchHeroContentBusinessSalesCase;\n","/**\n * @generated SignedSource<<49f4f09e5e137fdb6197a8a692238300>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentCounselingCase$data = {\n  readonly cashPrice: any | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroContentCounselingCase\";\n};\nexport type matchHeroContentCounselingCase$key = {\n  readonly \" $data\"?: matchHeroContentCounselingCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentCounselingCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentCounselingCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"cashPrice\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"BaseCaseMainOffer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"5f34e8e5b1ba9cc73e5cc25098feb15c\";\n\nexport default node;\n","import Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\n\nimport { matchHeroContentCounselingCase$key } from '__generated__/matchHeroContentCounselingCase.graphql';\nimport { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatNumber } from 'tools/string-formatters';\n\nexport interface MatchHeroContentCounselingCaseProps {\n  fragment: matchHeroContentCounselingCase$key | null | undefined;\n}\n\nconst fragment = graphql`\n  fragment matchHeroContentCounselingCase on BaseCaseMainOffer {\n    cashPrice\n  }\n`;\nconst MatchHeroContentCounselingCase: FC<MatchHeroContentCounselingCaseProps> = (props) => {\n  const data = useFragment(fragment, props.fragment || null);\n\n  return (\n    <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n      <Typography tagStyle=\"bodySmall\">\n        <FormattedMessage defaultMessage=\"Case price\" id=\"Match.Cashprice\" />\n      </Typography>\n      <Typography tagStyle=\"bodySmall\">{formatNumber(data?.cashPrice)}</Typography>\n    </Block>\n  );\n};\n\nexport default MatchHeroContentCounselingCase;\n","/**\n * @generated SignedSource<<f753187c5285622597baa73bcb1622fc>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type EnergyMarkSeverity = \"A\" | \"A1\" | \"A2\" | \"A2010\" | \"A2015\" | \"A2020\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\" | \"Unknown\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentRentalCase$data = {\n  readonly accountElectricity?: any | null | undefined;\n  readonly accountHeat?: any | null | undefined;\n  readonly accountWater?: any | null | undefined;\n  readonly caseAreas: {\n    readonly livableArea: number | null | undefined;\n  } | null | undefined;\n  readonly deposit?: any | null | undefined;\n  readonly energyMark: EnergyMarkSeverity | null | undefined;\n  readonly prepaidRent?: any | null | undefined;\n  readonly rentMonthly?: any | null | undefined;\n  readonly roomCount: number | null | undefined;\n  readonly yearBuilt: number | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroContentRentalCase\";\n};\nexport type matchHeroContentRentalCase$key = {\n  readonly \" $data\"?: matchHeroContentRentalCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentRentalCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentRentalCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"energyMark\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"yearBuilt\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"roomCount\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"CaseAreas\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"caseAreas\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"livableArea\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"rentMonthly\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"accountWater\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"accountHeat\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"accountElectricity\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"prepaidRent\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"deposit\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"RentalCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n\n(node as any).hash = \"eba1845af439cc8f9e366f061f8b7e10\";\n\nexport default node;\n","import { matchHeroContentRentalCase$key } from '__generated__/matchHeroContentRentalCase.graphql';\nimport classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { FC, Fragment } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatNumber } from 'tools/string-formatters';\n\nexport interface MatchHeroContentRentalCaseProps {\n  fragment: matchHeroContentRentalCase$key | null;\n  isExpanded?: boolean;\n}\n\nconst fragment = graphql`\n  fragment matchHeroContentRentalCase on BaseCase {\n    energyMark\n    yearBuilt\n    roomCount\n    caseAreas {\n      livableArea\n    }\n    ... on RentalCase {\n      rentMonthly\n      accountWater\n      accountHeat\n      accountElectricity\n      prepaidRent\n      deposit\n    }\n  }\n`;\n\nconst MatchHeroContentRentalCase: FC<MatchHeroContentRentalCaseProps> = (props) => {\n  const data = useFragment(fragment, props.fragment);\n\n  return (\n    <Fragment>\n      <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Monthly rent\" id=\"Match.RentMonthly\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{formatNumber(data?.rentMonthly)}</Typography>\n      </Block>\n      <Block className=\"match-hero-details__row\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Housing area\" id=\"Match.Area\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.livableArea} m²</Typography>\n      </Block>\n\n      <Block className=\"match-hero-details__row\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Rooms\" id=\"Match.NumberOfRooms\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{data?.roomCount}</Typography>\n      </Block>\n      <Block className=\"match-hero-details__row\" flex spaceBetween>\n        <Typography tagStyle=\"bodySmall\">\n          <FormattedMessage defaultMessage=\"Energy mark\" id=\"Match.Energymark\" />\n        </Typography>\n        <Typography tagStyle=\"bodySmall\">{data?.energyMark}</Typography>\n      </Block>\n\n      <div\n        className={classNames('match-hero-details__expandable', {\n          isExpanded: props.isExpanded,\n        })}\n        id=\"section-content\"\n      >\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"More info\" id=\"Match.MoreInfo\" />\n        </Typography>\n\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Year build\" id=\"Match.YearBuild\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.yearBuilt}</Typography>\n        </Block>\n\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"Finances\" id=\"Match.Finances\" />\n        </Typography>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Account water\" id=\"Match.AccountWater\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.accountWater)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Account heat\" id=\"Match.AccountHeat\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.accountHeat)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Account heat\" id=\"Match.AccountHeat\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.accountHeat)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Account electricity\" id=\"Match.AccountElectricity\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.accountElectricity)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Prepaid rent\" id=\"Match.PrepaidRent\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.prepaidRent)}</Typography>\n        </Block>\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Deposit\" id=\"Match.Deposit\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.deposit)}</Typography>\n        </Block>\n      </div>\n    </Fragment>\n  );\n};\n\nexport default MatchHeroContentRentalCase;\n","/**\n * @generated SignedSource<<1e43bfec027d5efd21f90d47422cbe89>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type EnergyMarkSeverity = \"A\" | \"A1\" | \"A2\" | \"A2010\" | \"A2015\" | \"A2020\" | \"B\" | \"C\" | \"D\" | \"E\" | \"F\" | \"G\" | \"Unknown\";\nexport type PropertyType = \"AllYearRoundPlot\" | \"AllotmentHut\" | \"AllotmentPlot\" | \"Condo\" | \"FarmHouseAgriculture\" | \"FormerFarm\" | \"FreeLand\" | \"HobbyAgriculture\" | \"HousingCooperative\" | \"IdeelAnpartCondo\" | \"IdeelAnpartTerracedHouse\" | \"IdeelAnpartVilla\" | \"Liebhaveri\" | \"MixedHousingAndBusiness\" | \"PartnershipOrLimitedPartnershipCondo\" | \"PartnershipOrLimitedPartnershipTerracedHouse\" | \"PartnershipOrLimitedPartnershipVilla\" | \"TerracedHouse\" | \"TerracedHouseWithCondoStatus\" | \"TwoFamilyProperty\" | \"VacationCondo\" | \"VacationHousing\" | \"VacationPlot\" | \"Villa\" | \"VillaApartment\" | \"VillaWithCondoStatus\";\nexport type SalesCaseStatus = \"BeforeSale\" | \"FinallyTrade\" | \"ForSale\" | \"LostCommission\" | \"NotDefined\" | \"Return\" | \"Sold\" | \"UnderSale\" | \"Valuation\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroContentSalesCase$data = {\n  readonly annualHeatingPrice: any | null | undefined;\n  readonly baseCaseMainOffer: {\n    readonly cashPrice: any | null | undefined;\n    readonly technicalPrice: any | null | undefined;\n    readonly totalCosts: {\n      readonly minimumPayout: any | null | undefined;\n      readonly yearlyGrossOutput: any | null | undefined;\n      readonly yearlyNetOutput: any | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n  readonly buildings: ReadonlyArray<{\n    readonly buildingInclAreas: ReadonlyArray<{\n      readonly area: any | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly caseAreas: {\n    readonly atticArea: number | null | undefined;\n    readonly basementArea: number | null | undefined;\n    readonly builtUpArea: number | null | undefined;\n    readonly livableArea: number | null | undefined;\n    readonly plotAreaSum: number | null | undefined;\n  } | null | undefined;\n  readonly energyMark: EnergyMarkSeverity | null | undefined;\n  readonly floorCount: number | null | undefined;\n  readonly heat: string | null | undefined;\n  readonly otherBuildingsSum: any | null | undefined;\n  readonly ownerCostsTotalMonthly?: any | null | undefined;\n  readonly propertyType?: PropertyType;\n  readonly roomCount: number | null | undefined;\n  readonly salesStatus?: SalesCaseStatus | null | undefined;\n  readonly yearBuilt: number | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroContentSalesCase\";\n};\nexport type matchHeroContentSalesCase$key = {\n  readonly \" $data\"?: matchHeroContentSalesCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentSalesCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroContentSalesCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"energyMark\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"yearBuilt\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"heat\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"otherBuildingsSum\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"annualHeatingPrice\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"floorCount\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"roomCount\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"buildings\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"BuildingInclArea\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"buildingInclAreas\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"area\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"BaseCaseMainOffer\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCaseMainOffer\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"cashPrice\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"technicalPrice\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"TotalCosts\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"totalCosts\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"yearlyGrossOutput\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"yearlyNetOutput\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"minimumPayout\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"CaseAreas\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"caseAreas\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"livableArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"plotAreaSum\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"atticArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"basementArea\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"builtUpArea\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"ownerCostsTotalMonthly\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"propertyType\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": \"salesStatus\",\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"status\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"SalesCase\",\n      \"abstractKey\": null\n    }\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n\n(node as any).hash = \"f51d88e8140e628ede9fd38f7fbbdba9\";\n\nexport default node;\n","import { PropertyType, SalesCaseStatus } from 'Enums';\nimport { matchHeroContentSalesCase$key } from '__generated__/matchHeroContentSalesCase.graphql';\nimport classNames from 'classnames';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { useList } from 'hooks/useList';\nimport { FC, Fragment, useMemo, useRef } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { formatNumber } from 'tools/string-formatters';\n\nexport interface MatchHeroContentSalesCaseProps {\n  fragment: matchHeroContentSalesCase$key | null;\n  isExpanded?: boolean;\n}\n\nconst fragment = graphql`\n  fragment matchHeroContentSalesCase on BaseCase {\n    energyMark\n    yearBuilt\n    heat\n    otherBuildingsSum\n    annualHeatingPrice\n    floorCount\n    roomCount\n    buildings {\n      buildingInclAreas {\n        area\n      }\n    }\n    baseCaseMainOffer {\n      cashPrice\n      technicalPrice\n      totalCosts {\n        yearlyGrossOutput\n        yearlyNetOutput\n        minimumPayout\n      }\n    }\n    caseAreas {\n      livableArea\n      plotAreaSum\n      atticArea\n      basementArea\n      builtUpArea\n    }\n    ... on SalesCase {\n      ownerCostsTotalMonthly\n      propertyType\n      salesStatus: status\n    }\n  }\n`;\n\nconst MatchHeroContentSalesCase: FC<MatchHeroContentSalesCaseProps> = (props) => {\n  const data = useFragment(fragment, props.fragment);\n  const moreInfoRef = useRef<HTMLElement>(null);\n\n  const isCondo = useMemo(() => {\n    switch (data?.propertyType) {\n      case PropertyType.VillaWithCondoStatus:\n      case PropertyType.TerracedHouseWithCondoStatus:\n      case PropertyType.Condo:\n      case PropertyType.PartnershipOrLimitedPartnershipCondo:\n      case PropertyType.VacationCondo:\n      case PropertyType.VillaApartment:\n      case PropertyType.IdeelAnpartCondo:\n        return true;\n      default:\n        return false;\n    }\n  }, [data?.propertyType]);\n\n  const isHousingCooperative = data?.propertyType === PropertyType.HousingCooperative;\n\n  const isPlot = useMemo(() => {\n    switch (data?.propertyType) {\n      case PropertyType.AllotmentPlot:\n      case PropertyType.AllYearRoundPlot:\n      case PropertyType.VacationPlot:\n      case PropertyType.FreeLand:\n        return true;\n      default:\n        return false;\n    }\n  }, [data?.propertyType]);\n\n  const isValuation = data?.salesStatus === SalesCaseStatus.Valuation;\n  const buildings = useList(data?.buildings);\n\n  if (!data) {\n    return null;\n  }\n\n  return (\n    <Fragment>\n      {!isValuation && (\n        <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Case price\" id=\"Match.Cashprice\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.baseCaseMainOffer?.cashPrice)}</Typography>\n        </Block>\n      )}\n      {/* if: not group 4 */}\n      {!isPlot && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Housing area\" id=\"Match.Area\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.livableArea} m²</Typography>\n        </Block>\n      )}\n      {/* if: group 1 or group 4 */}\n      {(isPlot || !isCondo || !isHousingCooperative) && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Ground area\" id=\"Match.groundArea\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.plotAreaSum} m²</Typography>\n        </Block>\n      )}\n      {/* if: not group 3 */}\n      {!isHousingCooperative && (\n        <Block className=\"match-hero-details__row\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Monthly owner cost\" id=\"Match.OwnershipExpense\" />\n          </Typography>\n          <Typography tagStyle=\"bodySmall\">{formatNumber(data?.ownerCostsTotalMonthly)}</Typography>\n        </Block>\n      )}\n\n      {/* if: not group 4 */}\n      {!isPlot && (\n        <Fragment>\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Rooms\" id=\"Match.NumberOfRooms\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.roomCount}</Typography>\n          </Block>\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Energy mark\" id=\"Match.Energymark\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.energyMark}</Typography>\n          </Block>\n        </Fragment>\n      )}\n\n      <div\n        className={classNames('match-hero-details__expandable', {\n          isExpanded: props.isExpanded,\n        })}\n        id=\"section-content\"\n      >\n        <Typography ref={moreInfoRef} className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"More info\" id=\"Match.MoreInfo\" />\n        </Typography>\n\n        {/* if: not group 4 */}\n        {!isPlot && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Year build\" id=\"Match.YearBuild\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.yearBuilt}</Typography>\n          </Block>\n        )}\n\n        {/* if: group 1 */}\n        {(!isPlot || !isCondo || !isHousingCooperative) && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage={'Floor area'} id=\"Match.floorArea\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.builtUpArea} m²</Typography>\n          </Block>\n        )}\n        {/* if: group 1 */}\n        {(!isPlot || !isCondo || !isHousingCooperative) && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Integrated areas\" id=\"Match.buildingInclAreas\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{buildings[0]?.buildingInclAreas?.[0]?.area || 0} m²</Typography>\n          </Block>\n        )}\n        {/* if: not group 4 */}\n        {!isPlot && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Basement\" id=\"Match.BasementArea\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.basementArea} m²</Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Rooftop\" id=\"Match.AtticArea\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.caseAreas?.atticArea} m²</Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Other buildings\" id=\"Match.OtherBuildings\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.otherBuildingsSum} m²</Typography>\n            </Block>\n          </Fragment>\n        )}\n\n        {/* if: not group 4 */}\n        {!isPlot && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Heat source\" id=\"Match.HeatSource\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.heat}</Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Heating price\" id=\"Match.AnnualHeatingPrice\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{formatNumber(data?.annualHeatingPrice)}</Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Number of floors\" id=\"Match.NumberOfFloors\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">{data?.floorCount}</Typography>\n            </Block>\n          </Fragment>\n        )}\n\n        <Typography className=\"match-hero-details__heading\" tag=\"h4\" tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"Finances\" id=\"Match.Finances\" />\n        </Typography>\n        {/* if: not group3 */}\n        {!isHousingCooperative && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Payment\" id=\"Match.Payment\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">\n                {formatNumber(data?.baseCaseMainOffer?.totalCosts?.minimumPayout, 'kr')}\n              </Typography>\n            </Block>\n          </Fragment>\n        )}\n        {/* if: group 3 */}\n        {isHousingCooperative && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Owner costs monthly total\" id=\"Match.ownerCostsTotalMonthlyCondo\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{formatNumber(data?.ownerCostsTotalMonthly)}</Typography>\n          </Block>\n        )}\n        {/* if: group3 */}\n        {isHousingCooperative && (\n          <Block className=\"match-hero-details__row\" flex spaceBetween>\n            <Typography tagStyle=\"bodySmall\">\n              <FormattedMessage defaultMessage=\"Technical price\" id=\"Match.TechnicalPrice\" />\n            </Typography>\n            <Typography tagStyle=\"bodySmall\">{formatNumber(data?.baseCaseMainOffer?.technicalPrice)}</Typography>\n          </Block>\n        )}\n        {/* if: not group3 */}\n        {!isHousingCooperative && (\n          <Fragment>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Gross excl. cost of ownership\" id=\"Match.BruttoExcOwnership\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">\n                {formatNumber(data?.baseCaseMainOffer?.totalCosts?.yearlyGrossOutput, 'kr')}\n              </Typography>\n            </Block>\n            <Block className=\"match-hero-details__row\" flex spaceBetween>\n              <Typography tagStyle=\"bodySmall\">\n                <FormattedMessage defaultMessage=\"Net excl. cost of ownership\" id=\"Match.NettoExcOwnership\" />\n              </Typography>\n              <Typography tagStyle=\"bodySmall\">\n                {formatNumber(data?.baseCaseMainOffer?.totalCosts?.yearlyNetOutput, 'kr')}\n              </Typography>\n            </Block>\n          </Fragment>\n        )}\n      </div>\n    </Fragment>\n  );\n};\n\nexport default MatchHeroContentSalesCase;\n","import { BusinessSalesCase, CounselingCase, RectifyCase, RentalCase, SalesCase } from 'Types';\nimport { matchHeroDetailsFragment$key } from '__generated__/matchHeroDetailsFragment.graphql';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { usePropertyType } from 'hooks/usePropertyCategories';\nimport { useMemo, useState } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport MatchHeroContentAgriculturalCase from '../match-hero-content-agriculturalcase/match-hero-content-agricultural-case';\nimport MatchHeroContentBusinessSalesCase from '../match-hero-content-businesssalescase/match-hero-content-business-sales-case';\nimport MatchHeroContentCounselingCase from '../match-hero-content-counselingcase/match-hero-content-counseling-case';\nimport MatchHeroContentRentalCase from '../match-hero-content-rentalcase/match-hero-content-rental-case';\nimport MatchHeroContentSalesCase from '../match-hero-content-salescase/match-hero-content-sales-case';\nimport './match-hero-details.scss';\n\nexport interface MatchHeroDetailsProps {\n  fragment: matchHeroDetailsFragment$key | null;\n}\n\nconst matchHeroDetailsFragment = graphql`\n  fragment matchHeroDetailsFragment on BaseCase {\n    address\n    zipCode\n    city\n    ...matchHeroContentAgriculturalCase_baseCase\n    ...matchHeroContentSalesCase\n    ...matchHeroContentRentalCase\n    ...matchHeroContentBusinessSalesCase\n    baseCaseMainOffer {\n      ...matchHeroContentCounselingCase\n    }\n    ... on SalesCase {\n      propertyType\n      __typename\n    }\n    ... on RectifyCase {\n      __typename\n      propertyType\n    }\n    ... on CounselingPropertyCase {\n      __typename\n      propertyType\n    }\n    ... on RentalCase {\n      __typename\n      propertyType\n    }\n    ... on CounselingCase {\n      __typename\n      propertyType\n    }\n    ... on BusinessSalesCase {\n      __typename\n      businessPropertyType: propertyType\n    }\n    ... on BusinessRentalCase {\n      __typename\n      businessPropertyType: propertyType\n    }\n  }\n`;\n\nconst propertyTypes = [\n  'HobbyAgriculture',\n  'Liebhaveri',\n  'Cattle',\n  'Pigs',\n  'Crop',\n  'SpecialProduction',\n  'ForestProperty',\n  'FreeLand',\n  'FarmLand',\n];\n\nexport const MatchHeroDetails = (props: MatchHeroDetailsProps) => {\n  const baseCase = useFragment(matchHeroDetailsFragment, props.fragment);\n  const [isExpanded, setIsExpanded] = useState(false);\n  const formatBusinessPropertyType = usePropertyType();\n\n  const isAgricultureCase = useMemo(() => {\n    const propertyType = baseCase?.businessPropertyType || baseCase?.propertyType;\n    if (propertyType) {\n      return propertyTypes.includes(propertyType);\n    }\n    return false;\n  }, [baseCase?.propertyType, baseCase?.businessPropertyType]);\n\n  const InfoComponent = () => {\n    if (isAgricultureCase) {\n      return <MatchHeroContentAgriculturalCase fragment={baseCase} isExpanded={isExpanded} />;\n    } else if (baseCase?.__typename === SalesCase) {\n      return <MatchHeroContentSalesCase fragment={baseCase} isExpanded={isExpanded} />;\n    } else if (baseCase?.__typename === RentalCase) {\n      return <MatchHeroContentRentalCase fragment={baseCase} isExpanded={isExpanded} />;\n    } else if (baseCase?.__typename === RectifyCase || baseCase?.__typename === CounselingCase) {\n      return <MatchHeroContentCounselingCase fragment={baseCase.baseCaseMainOffer} />;\n    } else if (baseCase?.__typename === BusinessSalesCase) {\n      return <MatchHeroContentBusinessSalesCase fragment={baseCase} isExpanded={isExpanded} />;\n    }\n  };\n\n  const propertyType = baseCase?.propertyType || baseCase?.businessPropertyType;\n\n  return (\n    <Block backgroundColor=\"white\" boxShadow className=\"match-hero-details\" customPadding=\"md\">\n      <Block className=\"match-hero-details__title\">\n        <Typography className=\"match-hero-details__title--street\" tag=\"h2\" tagStyle=\"headlineMedium\">\n          {propertyType && formatBusinessPropertyType(propertyType)} <br />\n          {baseCase?.address}\n        </Typography>\n        <Typography subjectColor=\"gray\" tagStyle=\"bodyMedium\">\n          {baseCase?.zipCode} {baseCase?.city}\n        </Typography>\n        {InfoComponent()}\n      </Block>\n\n      <Button\n        aria-controls={'section-content'}\n        aria-expanded={isExpanded}\n        className=\"match-hero-details__expand\"\n        hideText\n        iconStart={isExpanded ? 'Minus' : 'Plus'}\n        onClick={() => setIsExpanded((prevState) => !prevState)}\n        padding={false}\n        version=\"secondary\"\n      >\n        Expand\n      </Button>\n    </Block>\n  );\n};\n","/**\n * @generated SignedSource<<6d6f1e975380cbf795baa3c13f8ba7f4>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type BusinessPropertyType = \"Cattle\" | \"Cellar\" | \"Clinic\" | \"Crop\" | \"FarmLand\" | \"ForestProperty\" | \"FreeLand\" | \"Garage\" | \"HotelOrRestaurant\" | \"HousingAndBusiness\" | \"HousingCooperative\" | \"Investment\" | \"Liberal\" | \"MinkAndFurAnimals\" | \"Office\" | \"Parking\" | \"Pigs\" | \"Plot\" | \"PoultryProduction\" | \"ProductionFacility\" | \"ShoppingCenter\" | \"Showroom\" | \"SpecialProduction\" | \"Store\" | \"WareHouse\" | \"WareHouseAndProduction\" | \"Workshop\";\nexport type PropertyType = \"AllYearRoundPlot\" | \"AllotmentHut\" | \"AllotmentPlot\" | \"Condo\" | \"FarmHouseAgriculture\" | \"FormerFarm\" | \"FreeLand\" | \"HobbyAgriculture\" | \"HousingCooperative\" | \"IdeelAnpartCondo\" | \"IdeelAnpartTerracedHouse\" | \"IdeelAnpartVilla\" | \"Liebhaveri\" | \"MixedHousingAndBusiness\" | \"PartnershipOrLimitedPartnershipCondo\" | \"PartnershipOrLimitedPartnershipTerracedHouse\" | \"PartnershipOrLimitedPartnershipVilla\" | \"TerracedHouse\" | \"TerracedHouseWithCondoStatus\" | \"TwoFamilyProperty\" | \"VacationCondo\" | \"VacationHousing\" | \"VacationPlot\" | \"Villa\" | \"VillaApartment\" | \"VillaWithCondoStatus\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type matchHeroOffmarketDetailsFragment_offmarketCase$data = {\n  readonly businessPropertyType: BusinessPropertyType | null | undefined;\n  readonly propertyType: PropertyType | null | undefined;\n  readonly \" $fragmentType\": \"matchHeroOffmarketDetailsFragment_offmarketCase\";\n};\nexport type matchHeroOffmarketDetailsFragment_offmarketCase$key = {\n  readonly \" $data\"?: matchHeroOffmarketDetailsFragment_offmarketCase$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroOffmarketDetailsFragment_offmarketCase\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"matchHeroOffmarketDetailsFragment_offmarketCase\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"propertyType\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"businessPropertyType\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"OffmarketCase\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"b6f8c1332e09e304b2916350863639e8\";\n\nexport default node;\n","import { matchHeroOffmarketDetailsFragment_offmarketCase$key } from '__generated__/matchHeroOffmarketDetailsFragment_offmarketCase.graphql';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { usePropertyType } from 'hooks/usePropertyCategories';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport './match-hero-details.scss';\n\nexport interface MatchHeroOffmarketDetailsProps {\n  fragment: matchHeroOffmarketDetailsFragment_offmarketCase$key | null;\n}\n\nconst matchHeroOffmarketDetailsFragment = graphql`\n  fragment matchHeroOffmarketDetailsFragment_offmarketCase on OffmarketCase {\n    propertyType\n    businessPropertyType\n  }\n`;\n\nexport const MatchHeroOffmarketDetails = (props: MatchHeroOffmarketDetailsProps) => {\n  const baseCase = useFragment(matchHeroOffmarketDetailsFragment, props.fragment);\n  const formatBusinessPropertyType = usePropertyType();\n\n  const propertyType = baseCase?.propertyType || baseCase?.businessPropertyType;\n\n  return (\n    <Block backgroundColor=\"white\" boxShadow className=\"match-hero-details\" customPadding=\"md\">\n      <Block className=\"match-hero-details__title\">\n        <Typography className=\"match-hero-details__title--street\" tag=\"h2\" tagStyle=\"headlineMedium\">\n          {propertyType && formatBusinessPropertyType(propertyType)} <br />\n        </Typography>\n        <Block className=\"match-hero-details__row marginTop\" flex spaceBetween>\n          <Typography tagStyle=\"bodySmall\">\n            <FormattedMessage defaultMessage=\"Contact us for more information\" id=\"Match.ContactUs\" />\n          </Typography>\n        </Block>\n      </Block>\n    </Block>\n  );\n};\n","import { yupResolver } from '@hookform/resolvers/yup';\nimport { bookShowcasingModal_Query } from '__generated__/bookShowcasingModal_Query.graphql';\nimport { Presentation, createPresentationMutation } from '__generated__/createPresentationMutation.graphql';\nimport Button from 'components/atoms/button/button';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport Input from 'components/molecules/input/input';\nimport Modal from 'components/molecules/modal/modal';\nimport Textarea from 'components/molecules/textarea/textarea';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Row from 'components/utilities/row/row';\nimport { useTheme } from 'app/context/ThemeContext';\nimport { FC, Fragment, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { FormattedMessage, defineMessages, useIntl } from 'react-intl';\nimport { commitMutation, graphql, useLazyLoadQuery, useRelayEnvironment } from 'react-relay';\nimport { createPresentationMutationQuery } from 'services/relay/mutations/createPresentationMutation';\nimport { phoneRegExp } from 'tools/string-formatters';\nimport * as yup from 'yup';\nimport '../showcasing-form/showcasing-form.scss';\n\ntype Step = 1 | 2;\n\nconst STEPS = 2;\n\nexport interface ShowcasingFormInputs {\n  caseId: string;\n  comment?: string;\n  email?: string;\n  firstName?: string;\n  lastName?: string;\n  phoneNumber?: string;\n}\n\nexport interface BookShowcasingModalProps {\n  caseId: string;\n  handleClose: () => void;\n}\n\nconst customerDataQuery = graphql`\n  query bookShowcasingModal_Query {\n    viewer {\n      customer {\n        isCompany\n        firstName\n        lastName\n        email\n        phone\n      }\n      leadTypeFromEnum(enum: Presentation) {\n        currentConsent {\n          id\n        }\n      }\n    }\n  }\n`;\n\nexport const BookShowcasingModal: FC<BookShowcasingModalProps> = (props) => {\n  const customerData = useLazyLoadQuery<bookShowcasingModal_Query>(customerDataQuery, {});\n  const environment = useRelayEnvironment();\n  const [modalHasError, setModalHasError] = useState(false);\n\n  const closeModal = () => {\n    props.handleClose();\n    setModalHasError(false);\n  };\n\n  const handleOnSubmit = (data: ShowcasingFormInputs) => {\n    const input = {\n      ...data,\n      consentIdGlobal: customerData?.viewer?.leadTypeFromEnum?.currentConsent?.id || '',\n    };\n\n    commitMutation<createPresentationMutation>(environment, {\n      mutation: createPresentationMutationQuery,\n      onCompleted: () => {\n        setModalHasError(false);\n      },\n      onError: (err) => {\n        setModalHasError(true);\n        console.error(err);\n      },\n      variables: {\n        input: input as Presentation,\n      },\n    });\n  };\n\n  const customerInfo = customerData.viewer?.customer;\n\n  const [step, setStep] = useState<Step>(1);\n  const intl = useIntl();\n  const theme = useTheme();\n\n  const isCompany = customerData.viewer?.customer?.isCompany;\n\n  const messages = defineMessages({\n    companyNameRequired: {\n      defaultMessage: 'Company name is required',\n      id: 'ShowcasingForm.requiredCompanyName',\n    },\n    emailInvalid: {\n      defaultMessage: 'Enter a valid e-mail',\n      id: 'ShowcasingForm.invalidEmail',\n    },\n    emailRequired: {\n      defaultMessage: 'E-mail is required',\n      id: 'ShowcasingForm.requiredEmail',\n    },\n    firstNameRequired: {\n      defaultMessage: 'First name is required',\n      id: 'ShowcasingForm.requiredFirstName',\n    },\n    lastNameRequired: {\n      defaultMessage: 'Last name is required',\n      id: 'ShowcasingForm.requiredLastName',\n    },\n    phoneInvalid: {\n      defaultMessage: 'Enter a valid phone number',\n      id: 'ShowcasingForm.invalidPhone',\n    },\n    phoneRequired: {\n      defaultMessage: 'Phone number is required',\n      id: 'ShowcasingForm.requiredPhone',\n    },\n  });\n\n  const schema = yup.object().shape({\n    caseId: yup.string().required(),\n    comment: yup.string().nullable(),\n    email: yup\n      .string()\n      .email(intl.formatMessage(messages.emailInvalid))\n      .required(intl.formatMessage(messages.emailRequired))\n      .trim(),\n    firstName: yup\n      .string()\n      .required(\n        isCompany ? intl.formatMessage(messages.companyNameRequired) : intl.formatMessage(messages.firstNameRequired),\n      )\n      .trim(),\n    lastName: yup\n      .string()\n      .required(\n        isCompany ? intl.formatMessage(messages.companyNameRequired) : intl.formatMessage(messages.lastNameRequired),\n      )\n      .trim(),\n    phoneNumber: yup\n      .string()\n      .matches(phoneRegExp, {\n        message: intl.formatMessage(messages.phoneInvalid),\n      })\n      .required(intl.formatMessage(messages.phoneRequired))\n      .trim(),\n  });\n\n  const {\n    formState: { errors, isValid, isSubmitted },\n    handleSubmit,\n    trigger,\n    register,\n  } = useForm<ShowcasingFormInputs>({\n    defaultValues: {\n      caseId: props.caseId,\n      comment: '',\n      email: customerInfo?.email || '',\n      firstName: customerInfo?.firstName || '',\n      lastName: customerInfo?.lastName || '',\n      phoneNumber: customerInfo?.phone || '',\n    },\n    mode: 'onChange',\n    resolver: yupResolver(schema),\n  });\n\n  const isLastStep = step === STEPS;\n\n  const handleNextStep = async () => {\n    await trigger();\n\n    if (isValid && !isLastStep) {\n      setStep((step) => (step + 1) as Step);\n    }\n  };\n\n  return (\n    <Modal closeHandler={closeModal}>\n      {isSubmitted ? (\n        <div>\n          <Block className=\"showcasing-form__submitted\" flex>\n            <Icon\n              fill={modalHasError ? 'var(--color-notification)' : 'var(--color-success)'}\n              height={48}\n              name={modalHasError ? 'Cross' : 'Check'}\n              width={48}\n            />\n            <Typography tagStyle=\"bodyLarge\">\n              {modalHasError ? (\n                <FormattedMessage defaultMessage=\"There has been an error.\" id=\"BookShowcasingModal.ErrorMessage\" />\n              ) : (\n                <FormattedMessage\n                  defaultMessage=\"We have received your request for a demonstration and will contact you as soon as possible.\"\n                  id=\"BookShowcasingModal.SuccessMessage\"\n                />\n              )}\n            </Typography>\n          </Block>\n          <div className=\"showcasing-form__button-container\">\n            <Button onClick={closeModal}>\n              <FormattedMessage defaultMessage=\"Close\" id=\"ContactSellerForm.buttonClose\" />\n            </Button>\n          </div>\n        </div>\n      ) : (\n        <div className=\"showcasing-form\">\n          {isLastStep && (\n            <Button onClick={() => setStep((step - 1) as Step)} version=\"link\">\n              <Icon name=\"ArrowLeftLong\" />\n            </Button>\n          )}\n          <Typography className=\"showcasing-form__title\" tag=\"h2\">\n            <FormattedMessage defaultMessage=\"Order show casing\" id=\"ShowcasingForm.title\" />\n          </Typography>\n          <Typography className=\"showcasing-form__text\" tag=\"p\">\n            <FormattedMessage\n              defaultMessage=\"Fill in information about when it would suit you to have a show casing of the home.\"\n              id=\"Showcasing.subTitle\"\n            />\n          </Typography>\n          <form onSubmit={handleSubmit(handleOnSubmit)}>\n            {step === 1 && (\n              <Row>\n                {!isCompany && (\n                  <Fragment>\n                    <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n                      <Input\n                        errorMessage={errors.firstName?.message}\n                        label={intl.formatMessage({\n                          defaultMessage: 'First name',\n                          id: 'ShowcasingForm.firstname',\n                        })}\n                        placeholder={intl.formatMessage({\n                          defaultMessage: 'First name',\n                          id: 'ShowcasingForm.firstname',\n                        })}\n                        {...register('firstName')}\n                      />\n                    </Column>\n                    <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n                      <Input\n                        errorMessage={errors.lastName?.message}\n                        label={intl.formatMessage({\n                          defaultMessage: 'Middle name & last name',\n                          id: 'ShowcasingForm.lastname',\n                        })}\n                        placeholder={intl.formatMessage({\n                          defaultMessage: 'Middle name & last name',\n                          id: 'ShowcasingForm.lastname',\n                        })}\n                        {...register('lastName')}\n                      />\n                    </Column>\n                  </Fragment>\n                )}\n                {isCompany && (\n                  <Column marginBottom width={{ mobile: 8, tablet: 8 }}>\n                    <Input\n                      errorMessage={errors.firstName?.message}\n                      label={intl.formatMessage({\n                        defaultMessage: 'Company name',\n                        id: 'ShowcasingForm.companyName',\n                      })}\n                      placeholder={intl.formatMessage({\n                        defaultMessage: 'Company name',\n                        id: 'ShowcasingForm.companyName',\n                      })}\n                      {...register('firstName')}\n                    />\n                  </Column>\n                )}\n                <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n                  <Input\n                    errorMessage={errors.phoneNumber?.message}\n                    label={intl.formatMessage({\n                      defaultMessage: 'Phone',\n                      id: 'ShowcasingForm.phone',\n                    })}\n                    placeholder={intl.formatMessage({\n                      defaultMessage: 'Phone',\n                      id: 'ShowcasingForm.phone',\n                    })}\n                    {...register('phoneNumber')}\n                  />\n                </Column>\n                <Column marginBottom width={{ mobile: 8, tablet: 4 }}>\n                  <Input\n                    errorMessage={errors.email?.message}\n                    label=\"E-mail\"\n                    placeholder=\"E-mail\"\n                    {...register('email')}\n                  />\n                </Column>\n              </Row>\n            )}\n            {step === 2 && (\n              <Fragment>\n                <Textarea\n                  classNameInput=\"showcasing-form__comments\"\n                  errorMessage={errors.comment?.message}\n                  placeholder={intl.formatMessage({\n                    defaultMessage: 'Possible comment',\n                    id: 'ShowcasingForm.comment',\n                  })}\n                  {...register('comment')}\n                  noFloatingLabel\n                />\n                <Typography className=\"showcasing-form__privacyText\" tag=\"span\" tagStyle=\"bodySmall\">\n                  <FormattedMessage\n                    defaultMessage=\"To order a show casing you will accept \"\n                    id=\"ShowcasingForm.privacyText\"\n                  />{' '}\n                  <Button anchorTag href={theme?.privacyPolicyLink} inline version=\"link\">\n                    <FormattedMessage\n                      defaultMessage=\"{broker} guidelines for the use of personal information.\"\n                      id=\"ShowcasingForm.privacyLink\"\n                      values={{ broker: theme?.brokerageName }}\n                    />\n                  </Button>\n                  {'.'}\n                </Typography>\n              </Fragment>\n            )}\n            <Row>\n              <Column width={{ mobile: 8 }}>\n                {isLastStep && (\n                  <Button className=\"showcasing-form__button showcasing-form__button-step2\" isFullWidth type=\"submit\">\n                    <FormattedMessage defaultMessage=\"Order show casing\" id=\"ShowcasingForm.buttonText\" />\n                  </Button>\n                )}\n              </Column>\n            </Row>\n          </form>\n          {!isLastStep && (\n            <Button\n              anchorTag\n              className=\"showcasing-form__button showcasing-form__button-step1\"\n              isFullWidth\n              onClick={handleNextStep}\n            >\n              <FormattedMessage defaultMessage=\"Order show casing\" id=\"ShowcasingForm.buttonText\" />\n            </Button>\n          )}\n        </div>\n      )}\n    </Modal>\n  );\n};\n","import { CaseAnnouncedType } from 'Enums';\nimport { matchHeroContentFragment_baseCase$key } from '__generated__/matchHeroContentFragment_baseCase.graphql';\nimport { matchHeroContentFragment_offmarketCase$key } from '__generated__/matchHeroContentFragment_offmarketCase.graphql';\nimport classNames from 'classnames';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport { MatchHeroDetails } from 'components/molecules/match-hero-details/match-hero-details';\nimport { MatchHeroOffmarketDetails } from 'components/molecules/match-hero-details/match-hero-offmarket-details';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport ModuleWrapper from 'components/utilities/module-wrapper/module-wrapper';\nimport Row from 'components/utilities/row/row';\nimport { useTheme } from 'app/context/ThemeContext';\nimport DOMPurify from 'dompurify';\nimport { useList } from 'hooks/useList';\nimport { Fragment, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { BookShowcasingModal } from '../book-showcasing-modal/book-showcasing-modal';\nimport './match-hero-content.scss';\n\nexport interface MatchHeroContentProps {\n  fragment: matchHeroContentFragment_baseCase$key | null | undefined;\n  offmarketCase: matchHeroContentFragment_offmarketCase$key | null | undefined;\n}\n\nconst matchHeroContentFragment = graphql`\n  fragment matchHeroContentFragment_baseCase on BaseCase {\n    id\n    caseAnnounced {\n      linkUrl\n      type\n    }\n    ...matchHeroDetailsFragment\n    ... on SalesCase {\n      noAdvertisement\n      caseDescription\n      caseDescriptionHeading\n      __typename\n    }\n  }\n`;\n\nconst matchHeroContentOffmarketFragment = graphql`\n  fragment matchHeroContentFragment_offmarketCase on OffmarketCase {\n    caseDescription\n    caseDescriptionHeading\n    ...matchHeroOffmarketDetailsFragment_offmarketCase\n  }\n`;\n\nexport const MatchHeroContent = (props: MatchHeroContentProps) => {\n  const data = useFragment<matchHeroContentFragment_baseCase$key>(matchHeroContentFragment, props.fragment || null);\n  const offmarketCase = useFragment<matchHeroContentFragment_offmarketCase$key>(\n    matchHeroContentOffmarketFragment,\n    props.offmarketCase || null,\n  );\n  const [isExpanded, setIsExpanded] = useState(false);\n  const [isBookingShowcaseModalOpen, setIsBookingShowcaseModalOpen] = useState(false);\n\n  const theme = useTheme();\n  const caseAnnouncements = useList(data?.caseAnnounced);\n\n  const baseCase = data ?? offmarketCase;\n\n  if (!baseCase) {\n    return null;\n  }\n\n  const caseHeadline = baseCase.caseDescriptionHeading ? DOMPurify.sanitize(baseCase.caseDescriptionHeading) : '';\n\n  const caseDescription = baseCase.caseDescription ? DOMPurify.sanitize(baseCase.caseDescription) : '';\n\n  const getWebsiteLink = () => {\n    if (caseAnnouncements.length > 0) {\n      const websiteAnnouncements = caseAnnouncements.filter(\n        (announcement) => announcement?.type === CaseAnnouncedType.Website,\n      );\n      return websiteAnnouncements.length > 0 ? websiteAnnouncements[0].linkUrl : null;\n    }\n  };\n  return (\n    <ModuleWrapper backgroundColor=\"white\" className=\"match-hero-content__wrapper\">\n      <Container className=\"match-hero-content\">\n        <Row>\n          <Column order={{ mobile: 2, tablet: 1 }} width={{ tablet: 4 }}>\n            <Block>\n              {caseHeadline && (\n                // biome-ignore lint/security/noDangerouslySetInnerHtml: <explanation>\n                <h1 className=\"headlineMedium section-text\" dangerouslySetInnerHTML={{ __html: caseHeadline }} />\n              )}\n              {data && (\n                <Block className=\"match-hero-content__buttons\" flex flexGutter=\"xs\">\n                  <Button onClick={() => setIsBookingShowcaseModalOpen(true)}>\n                    <FormattedMessage defaultMessage=\"Book show casing\" id=\"Match.BookShowing\" />\n                  </Button>\n                  {!data?.noAdvertisement && (\n                    <Button anchorTag href={getWebsiteLink() ?? ''}>\n                      <FormattedMessage defaultMessage=\"Se på\" id=\"Match.SeeOn\" /> {theme?.websiteName}\n                    </Button>\n                  )}\n                </Block>\n              )}\n              <Block className=\"match-hero-content__description\">\n                {caseDescription && (\n                  <Fragment>\n                    <Typography\n                      className={classNames('match-hero-content__description--text', 'section-text', { isExpanded })}\n                      id=\"section-content\"\n                      tag=\"p\"\n                      tagStyle=\"bodyMedium\"\n                      // biome-ignore lint/security/noDangerouslySetInnerHtml: <explanation>\n                      dangerouslySetInnerHTML={{ __html: caseDescription }}\n                    />\n                    <Button\n                      aria-controls={'section-content'}\n                      aria-expanded={isExpanded}\n                      className=\"match-hero-content__expand\"\n                      hideText\n                      iconStart={isExpanded ? 'Minus' : 'Plus'}\n                      onClick={() => setIsExpanded((prevState) => !prevState)}\n                      version=\"secondary\"\n                    >\n                      Expand\n                    </Button>\n                  </Fragment>\n                )}\n              </Block>\n            </Block>\n          </Column>\n          <Column className=\"match-hero-content__details\" order={{ mobile: 1, tablet: 2 }} width={{ tablet: 4 }}>\n            {offmarketCase ? (\n              <MatchHeroOffmarketDetails fragment={offmarketCase} />\n            ) : (\n              <MatchHeroDetails fragment={data} />\n            )}\n          </Column>\n        </Row>\n      </Container>\n      {data?.id && isBookingShowcaseModalOpen && (\n        <BookShowcasingModal handleClose={() => setIsBookingShowcaseModalOpen(false)} caseId={data.id} />\n      )}\n    </ModuleWrapper>\n  );\n};\n","/**\n * @generated SignedSource<<856fdfedfdde62e252e61b2f80596f2a>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type MyPageSpotRole = \"Buyer\" | \"Frontpage\" | \"PotentialBuyer\" | \"Seller\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type myPageSpotsEntity$data = {\n  readonly myPageSpots: ReadonlyArray<{\n    readonly entries: ReadonlyArray<{\n      readonly id: string;\n      readonly imageUrl: string | null | undefined;\n      readonly linkUrl: string | null | undefined;\n      readonly width: number | null | undefined;\n    } | null | undefined> | null | undefined;\n    readonly myPageSpotRole: MyPageSpotRole;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"myPageSpotsEntity\";\n};\nexport type myPageSpotsEntity$key = {\n  readonly \" $data\"?: myPageSpotsEntity$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"myPageSpotsEntity\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"myPageSpotsEntity\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MyPageSpot\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"myPageSpots\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"myPageSpotRole\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"MyPageSpotEntry\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"entries\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"id\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"linkUrl\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"imageUrl\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"width\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"53b978491b212e6d3e8413bdd149fbe7\";\n\nexport default node;\n","import { myPageSpotsEntity$key } from '__generated__/myPageSpotsEntity.graphql';\nimport Container from 'components/utilities/container/container';\nimport { useList } from 'hooks/useList';\nimport { FC, useMemo } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport './my-page-spots.scss';\nimport { useMixPanel } from 'hooks/useMixPanel';\n\nexport interface MyPageSpotsProps {\n  myPageSpots: myPageSpotsEntity$key;\n  filter: string;\n}\n\nconst MyPageSpots: FC<MyPageSpotsProps> = (props) => {\n  const data = useFragment<myPageSpotsEntity$key>(\n    graphql`\n      fragment myPageSpotsEntity on Viewer {\n        myPageSpots {\n          myPageSpotRole\n          entries {\n            id\n            linkUrl\n            imageUrl\n            width\n          }\n        }\n      }\n    `,\n    props.myPageSpots,\n  );\n  const myPageSpot = useMemo(() => {\n    if (data.myPageSpots) {\n      return data.myPageSpots.find((spot) => spot?.myPageSpotRole === props.filter);\n    } else {\n      return null;\n    }\n  }, [data, props.filter]);\n\n  const entries = useList(myPageSpot?.entries);\n  const { track } = useMixPanel();\n\n  const link = useMemo(() => {\n    if (entries.length > 0) {\n      return entries[0]?.linkUrl ? entries[0].linkUrl : '';\n    } else {\n      return '';\n    }\n  }, [entries]);\n\n  const handleSpotImgClick = () => {\n    track('Spot_Module_Click', { segment: myPageSpot?.myPageSpotRole || 'no-role' });\n  };\n\n  return (\n    <Container>\n      {entries.length > 0 && (\n        <div className=\"my-page-spots\">\n          {link ? (\n            <a href={link} target=\"_blank\" rel=\"noopener noreferrer\">\n              <picture>\n                {entries.map((entry) => (\n                  <source\n                    className={'my-page-spots__image'}\n                    key={entry.id}\n                    media={`(min-width: ${entry.width ?? 0}px)`}\n                    srcSet={entry.imageUrl ?? ''}\n                  />\n                ))}\n\n                <img\n                  alt=\"my page spot img\"\n                  className={'my-page-spots__image'}\n                  src={entries[0]?.imageUrl ?? ''}\n                  onClick={handleSpotImgClick}\n                />\n              </picture>\n            </a>\n          ) : (\n            <picture>\n              {entries.map((entry) => (\n                <source\n                  className={'my-page-spots__image'}\n                  key={entry.id}\n                  media={`(max-width: ${entry.width ?? 0}px)`}\n                  srcSet={entry.imageUrl ?? ''}\n                />\n              ))}\n              <img\n                alt=\"my page spot img\"\n                className={'my-page-spots__image'}\n                src={entries[0]?.imageUrl ?? ''}\n                onClick={handleSpotImgClick}\n              />\n            </picture>\n          )}\n        </div>\n      )}\n    </Container>\n  );\n};\n\nexport default MyPageSpots;\n","/**\n * @generated SignedSource<<f54a767e238de44fef4521c1c802d8d5>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type registerOpenHouseModal_Query$variables = Record<PropertyKey, never>;\nexport type registerOpenHouseModal_Query$data = {\n  readonly viewer: {\n    readonly customer: {\n      readonly email: string | null | undefined;\n      readonly firstName: string | null | undefined;\n      readonly lastName: string | null | undefined;\n      readonly phone: string | null | undefined;\n    } | null | undefined;\n    readonly leadTypeFromEnum: {\n      readonly currentConsent: {\n        readonly id: string;\n      } | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type registerOpenHouseModal_Query = {\n  response: registerOpenHouseModal_Query$data;\n  variables: registerOpenHouseModal_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"firstName\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"lastName\",\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"email\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"phone\",\n  \"storageKey\": null\n},\nv4 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"enum\",\n    \"value\": \"OpenHouse\"\n  }\n],\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"LeadConsentGraphType\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"currentConsent\",\n  \"plural\": false,\n  \"selections\": [\n    (v5/*: any*/)\n  ],\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"registerOpenHouseModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": (v4/*: any*/),\n            \"concreteType\": \"LeadTypeGraphType\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"leadTypeFromEnum\",\n            \"plural\": false,\n            \"selections\": [\n              (v6/*: any*/)\n            ],\n            \"storageKey\": \"leadTypeFromEnum(enum:\\\"OpenHouse\\\")\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"registerOpenHouseModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              (v3/*: any*/),\n              (v5/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": (v4/*: any*/),\n            \"concreteType\": \"LeadTypeGraphType\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"leadTypeFromEnum\",\n            \"plural\": false,\n            \"selections\": [\n              (v6/*: any*/),\n              (v5/*: any*/)\n            ],\n            \"storageKey\": \"leadTypeFromEnum(enum:\\\"OpenHouse\\\")\"\n          },\n          (v5/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"860fb17b32c7b7fbfee80c912461a28e\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"registerOpenHouseModal_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query registerOpenHouseModal_Query {\\n  viewer {\\n    customer {\\n      firstName\\n      lastName\\n      email\\n      phone\\n      id\\n    }\\n    leadTypeFromEnum(enum: OpenHouse) {\\n      currentConsent {\\n        id\\n      }\\n      id\\n    }\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"b840cce54195401398a688bdb2a174f0\";\n\nexport default node;\n","/**\n * @generated SignedSource<<c1405ddf94016da9821d506b7d7ec70d>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ReaderFragment, RefetchableFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type registerOpenHouseModalFragment$data = {\n  readonly id: string;\n  readonly openHouse: ReadonlyArray<{\n    readonly activityType: {\n      readonly isRegistration: boolean | null | undefined;\n      readonly nameOnTimeline: string | null | undefined;\n    } | null | undefined;\n    readonly endDate: any | null | undefined;\n    readonly id: string | null | undefined;\n    readonly isRegistred: boolean | null | undefined;\n    readonly startDate: any | null | undefined;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"registerOpenHouseModalFragment\";\n};\nexport type registerOpenHouseModalFragment$key = {\n  readonly \" $data\"?: registerOpenHouseModalFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"registerOpenHouseModalFragment\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": {\n    \"refetch\": {\n      \"connection\": null,\n      \"fragmentPathInResult\": [\n        \"node\"\n      ],\n      \"operation\": require('./registerOpenHouseQuery.graphql'),\n      \"identifierInfo\": {\n        \"identifierField\": \"id\",\n        \"identifierQueryVariableName\": \"id\"\n      }\n    }\n  },\n  \"name\": \"registerOpenHouseModalFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": [\n        {\n          \"kind\": \"Literal\",\n          \"name\": \"amount\",\n          \"value\": 2\n        }\n      ],\n      \"concreteType\": \"OpenHouse\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"openHouse\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"ActivityType\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"activityType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"isRegistration\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"nameOnTimeline\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"isRegistred\",\n          \"storageKey\": null\n        },\n        (v0/*: any*/),\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"startDate\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"endDate\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": \"openHouse(amount:2)\"\n    },\n    (v0/*: any*/)\n  ],\n  \"type\": \"BaseCase\",\n  \"abstractKey\": \"__isBaseCase\"\n};\n})();\n\n(node as any).hash = \"302468eb38bd271c0d6733f7ec1c2cc9\";\n\nexport default node;\n","/**\n * @generated SignedSource<<c170f15fea25d3c7b93d6e9b15eccda6>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type OpenHouseInputType = {\n  consentIdGlobal: string;\n  email?: string | null | undefined;\n  firstName: string;\n  lastName: string;\n  openHouseId: string;\n  phoneNumber: string;\n  sourceIdGlobal?: string | null | undefined;\n};\nexport type registerOpenHouseModalMutation$variables = {\n  input: OpenHouseInputType;\n};\nexport type registerOpenHouseModalMutation$data = {\n  readonly createOpenhouse: {\n    readonly createdObject: {\n      readonly id: string;\n    } | null | undefined;\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n};\nexport type registerOpenHouseModalMutation = {\n  response: registerOpenHouseModalMutation$data;\n  variables: registerOpenHouseModalMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"LeadOpenHouse\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"createdObject\",\n  \"plural\": false,\n  \"selections\": [\n    (v2/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"registerOpenHouseModalMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadOpenHouseCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createOpenhouse\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v4/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"registerOpenHouseModalMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"LeadOpenHouseCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createOpenhouse\",\n        \"plural\": false,\n        \"selections\": [\n          (v3/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v4/*: any*/),\n              (v2/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"ae230e296c39c6b06d14885b8dd0b593\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"registerOpenHouseModalMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation registerOpenHouseModalMutation(\\n  $input: OpenHouseInputType!\\n) {\\n  createOpenhouse(input: $input) {\\n    createdObject {\\n      id\\n    }\\n    errors {\\n      message\\n      id\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"6835ad8903d5874df28d6070d388e663\";\n\nexport default node;\n","import Block from 'components/utilities/block/block';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport Button from 'components/atoms/button/button';\nimport { FC } from 'react';\n\ntype SuccessSummitProps = {\n  hasServerError: boolean;\n  closeModal: () => void;\n};\nexport const SuccessSummit: FC<SuccessSummitProps> = (props) => {\n  return (\n    <Block className=\"form-success\" flex>\n      <Icon\n        fill={props.hasServerError ? 'var(--color-notification)' : 'var(--color-text-grey)'}\n        height={48}\n        name={props.hasServerError ? 'Cross' : 'Check'}\n        width={48}\n        className=\"form-success__icon\"\n      />\n      <Typography tagStyle=\"bodyLarge\" className=\"form-success__text\">\n        {props.hasServerError ? (\n          <FormattedMessage defaultMessage=\"We are sorry, something went wrong\" id=\"Default.ErrorMessage\" />\n        ) : (\n          <FormattedMessage\n            defaultMessage=\"We have now received your request to participate in the Open House. We will contact you as soon as possible with a final confirmation of the time\"\n            id=\"RegisterOpenHouse.RegisteredOpenHouse\"\n          />\n        )}\n      </Typography>\n      <Button onClick={props.closeModal} type=\"submit\">\n        <FormattedMessage defaultMessage=\"Go back\" id=\"Default.goBack\" />\n      </Button>\n    </Block>\n  );\n};\n","import { yupResolver } from '@hookform/resolvers/yup';\nimport {\n  registerOpenHouseModalFragment$data,\n  registerOpenHouseModalFragment$key,\n} from '__generated__/registerOpenHouseModalFragment.graphql';\nimport {\n  OpenHouseInputType,\n  registerOpenHouseModalMutation,\n} from '__generated__/registerOpenHouseModalMutation.graphql';\nimport { registerOpenHouseModal_Query } from '__generated__/registerOpenHouseModal_Query.graphql';\nimport Button from 'components/atoms/button/button';\nimport { Spinner } from 'components/atoms/spinner/spinner';\nimport Typography from 'components/atoms/typography/typography';\nimport Input from 'components/molecules/input/input';\nimport { SimpleModal } from 'components/molecules/simple-modal/simple-modal';\nimport { SuccessSummit } from 'components/organisms/register-open-house-modal/success-summit';\nimport Row from 'components/utilities/row/row';\nimport { useTheme } from 'app/context/ThemeContext';\nimport { useList } from 'hooks/useList';\nimport { Fragment, useEffect, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport type { FieldErrors } from 'react-hook-form';\nimport { FormattedMessage, defineMessages, useIntl } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { useLazyLoadQuery, useMutation } from 'relay-hooks';\nimport { formatDate, formatTime, phoneRegExp } from 'tools/string-formatters';\nimport { InferType, object, string } from 'yup';\nimport './register-open-house-modal.scss';\nimport { updateSearchProfileMatchedCase } from 'services/relay/mutations/updateSearchProfileMatchedCase';\nimport { MatchProfileStatus } from 'Enums';\n\ninterface RegisterOpenHouseModalProps {\n  closeModal: () => void;\n  openHouses: registerOpenHouseModalFragment$key;\n  preSelectedOpenHouseId?: string;\n  matchId?: string | undefined;\n}\n\nexport const getOpenHouseText = (startDate: string, endDate?: string) => {\n  return `D. ${formatDate(startDate)}, kl ${formatTime(startDate)} - ${formatTime(endDate)}`;\n};\n\nconst registerOpenHouseModalQuery = graphql`\n  query registerOpenHouseModal_Query {\n    viewer {\n      customer {\n        firstName\n        lastName\n        email\n        phone\n      }\n      leadTypeFromEnum(enum: OpenHouse) {\n        currentConsent {\n          id\n        }\n      }\n    }\n  }\n`;\n\ntype OpenHouse = NonNullable<NonNullable<registerOpenHouseModalFragment$data['openHouse']>[number]>;\n\nconst messages = defineMessages({\n  companyNameRequired: {\n    defaultMessage: 'Company name is required',\n    id: 'ShowcasingForm.requiredCompanyName',\n  },\n  emailInvalid: {\n    defaultMessage: 'Enter a valid e-mail',\n    id: 'ShowcasingForm.invalidEmail',\n  },\n  emailRequired: {\n    defaultMessage: 'E-mail is required',\n    id: 'ShowcasingForm.requiredEmail',\n  },\n  firstNameRequired: {\n    defaultMessage: 'First name is required',\n    id: 'ShowcasingForm.requiredFirstName',\n  },\n  lastNameRequired: {\n    defaultMessage: 'Last name is required',\n    id: 'ShowcasingForm.requiredLastName',\n  },\n  phoneInvalid: {\n    defaultMessage: 'Enter a valid phone number',\n    id: 'ShowcasingForm.invalidPhone',\n  },\n  phoneRequired: {\n    defaultMessage: 'Phone number is required',\n    id: 'ShowcasingForm.requiredPhone',\n  },\n});\n\nconst registerOpenHouseModalFragment = graphql`\n  fragment registerOpenHouseModalFragment on BaseCase\n  @refetchable(queryName: \"registerOpenHouseQuery\") {\n    openHouse(amount: 2) {\n      activityType {\n        isRegistration\n        nameOnTimeline\n      }\n      isRegistred\n      id\n      startDate\n      endDate\n    }\n  }\n`;\n\nexport const createOpenHouseLeadMutation = graphql`\n  mutation registerOpenHouseModalMutation($input: OpenHouseInputType!) {\n    createOpenhouse(input: $input) {\n      createdObject {\n        id\n      }\n      errors {\n        message\n      }\n    }\n  }\n`;\nconst RegisterOpenHouseModal = (props: RegisterOpenHouseModalProps) => {\n  const { data: customerData } = useLazyLoadQuery<registerOpenHouseModal_Query>(registerOpenHouseModalQuery, {});\n  const data = useFragment(registerOpenHouseModalFragment, props.openHouses);\n  const theme = useTheme();\n  const intl = useIntl();\n\n  const [hasServerError, setHasServerError] = useState(false);\n  const [loading, setLoading] = useState(false);\n  const [selectedOpenHouse, setSelectedOpenHouse] = useState<OpenHouse | null>(null);\n  const [step, setStep] = useState(0);\n\n  const openHouses = useList(data.openHouse);\n\n  // Here we handle if we pass a open house id to the modal.\n  // If we can find it, then select it and go to next step\n  useEffect(() => {\n    if (!props.preSelectedOpenHouseId || !data) return;\n\n    const openHouseFound = data.openHouse?.find((oHouse) => oHouse?.id === props.preSelectedOpenHouseId);\n    if (openHouseFound) {\n      setSelectedOpenHouse(openHouseFound);\n      setStep(1);\n    }\n  }, [props.preSelectedOpenHouseId, data]);\n\n  const schema = object({\n    caseId: string().required().default(customerData?.viewer?.leadTypeFromEnum?.currentConsent?.id),\n    email: string()\n      .email(intl.formatMessage(messages.emailInvalid))\n      .trim()\n      .default(customerData?.viewer?.customer?.email ?? ''),\n    firstName: string()\n      .required(intl.formatMessage(messages.firstNameRequired))\n      .trim()\n      .default(customerData?.viewer?.customer?.firstName ?? ''),\n    lastName: string()\n      .required(intl.formatMessage(messages.lastNameRequired))\n      .trim()\n      .default(customerData?.viewer?.customer?.lastName ?? ''),\n    phoneNumber: string()\n      .matches(phoneRegExp, {\n        message: intl.formatMessage(messages.phoneInvalid),\n      })\n      .required(intl.formatMessage(messages.phoneRequired))\n      .trim()\n      .default(customerData?.viewer?.customer?.phone ?? ''),\n  }).required();\n\n  type RegisterOpenHouseSchemaType = InferType<typeof schema>;\n\n  const caseId = customerData?.viewer?.leadTypeFromEnum?.currentConsent?.id ?? '';\n\n  const [createOpenHouseLead] = useMutation<registerOpenHouseModalMutation>(createOpenHouseLeadMutation);\n\n  const [markAsFavourite] = useMutation(updateSearchProfileMatchedCase);\n\n  const {\n    formState: { errors, isSubmitSuccessful },\n    handleSubmit,\n    register,\n  } = useForm<RegisterOpenHouseSchemaType>({\n    defaultValues: schema.getDefault(),\n    mode: 'onChange',\n    resolver: yupResolver(schema),\n  });\n\n  const onSubmit = async (data: RegisterOpenHouseSchemaType) => {\n    if (loading) return false;\n    const input = {\n      consentIdGlobal: data.caseId,\n      firstName: data.firstName,\n      lastName: data.lastName,\n      phoneNumber: data.phoneNumber,\n      email: data.email,\n      openHouseId: selectedOpenHouse?.id || '',\n    };\n    setLoading(true);\n    try {\n      await createOpenHouseLead({\n        variables: {\n          input: input as OpenHouseInputType,\n        },\n      });\n\n      if (props.matchId) {\n        await markAsFavourite({\n          variables: {\n            input: {\n              id: props.matchId,\n              status: MatchProfileStatus.Favorite,\n            },\n          },\n        });\n      }\n\n      setHasServerError(false);\n    } catch (_e) {\n      setHasServerError(true);\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const onError = (error: FieldErrors) => {\n    console.error(error);\n    setHasServerError(true);\n    setLoading(false);\n  };\n\n  const handleClickOnRegisterOpenHouse = (openHouse: OpenHouse) => {\n    setSelectedOpenHouse(openHouse);\n    setStep(1);\n  };\n\n  if (caseId) {\n    return (\n      <SimpleModal onClose={props.closeModal}>\n        <div className=\"register-modal\">\n          {isSubmitSuccessful && <SuccessSummit closeModal={props.closeModal} hasServerError={hasServerError} />}\n          {!isSubmitSuccessful && (\n            <Fragment>\n              {step === 0 && (\n                <div className=\"modal-list\">\n                  {openHouses.length > 0 &&\n                    openHouses.map((openHouse) => (\n                      <Fragment key={openHouse?.id}>\n                        <div className={'modal-list__item'}>\n                          <div className=\"modal-list__item-text\">\n                            <h4>{openHouse?.activityType?.nameOnTimeline}</h4>\n                            <p>{getOpenHouseText(openHouse?.startDate, openHouse?.endDate)}</p>\n                          </div>\n\n                          {openHouse?.activityType?.isRegistration && openHouse?.isRegistred && (\n                            <div className={'modal-list__item-badge'}>\n                              <p>\n                                <FormattedMessage defaultMessage=\"Registered\" id=\"Match.Registered\" />\n                              </p>\n                            </div>\n                          )}\n                          {openHouse?.activityType?.isRegistration && !openHouse?.isRegistred && (\n                            <Button onClick={() => handleClickOnRegisterOpenHouse(openHouse)}>\n                              <FormattedMessage defaultMessage=\"Register\" id=\"Match.Register\" />\n                            </Button>\n                          )}\n                        </div>\n                      </Fragment>\n                    ))}\n                </div>\n              )}\n              {step === 1 && (\n                <div className=\"modal-form\">\n                  <Typography className=\"modal-form__title\" tag=\"h2\">\n                    <FormattedMessage defaultMessage=\"Register open house\" id=\"OpenHouse.registerOpenHouse\" />\n                  </Typography>\n                  <Typography className=\"modal-form__subtitle\" tag=\"p\">\n                    <FormattedMessage\n                      defaultMessage=\"You have wanted to register for the open house\"\n                      id=\"OpenHouse.subTitle\"\n                    />{' '}\n                    {getOpenHouseText(selectedOpenHouse?.startDate || '', selectedOpenHouse?.endDate || '')}\n                  </Typography>\n                  <form onSubmit={handleSubmit(onSubmit, onError)}>\n                    <div className=\"modal-form__form-grid form-grid form-grid--column-1 tablet:form-grid--column-2\">\n                      <div>\n                        <Input\n                          errorMessage={errors.firstName?.message}\n                          label={<FormattedMessage defaultMessage=\"First name\" id=\"Form.firstname\" />}\n                          placeholder={intl.formatMessage({\n                            defaultMessage: 'First name',\n                            id: 'Form.firstname',\n                          })}\n                          {...register('firstName')}\n                        />\n                      </div>\n\n                      <div>\n                        <Input\n                          errorMessage={errors.lastName?.message}\n                          label={<FormattedMessage defaultMessage=\"Middle name & last name\" id=\"Form.lastname\" />}\n                          placeholder={intl.formatMessage({\n                            defaultMessage: 'Middle name & last name',\n                            id: 'Form.lastname',\n                          })}\n                          {...register('lastName')}\n                        />\n                      </div>\n                      <div>\n                        <Input\n                          errorMessage={errors.phoneNumber?.message}\n                          label={<FormattedMessage defaultMessage=\"Telefon\" id=\"Form.phone\" />}\n                          placeholder={intl.formatMessage({\n                            defaultMessage: 'Telefon',\n                            id: 'Form.phone',\n                          })}\n                          {...register('phoneNumber')}\n                        />\n                      </div>\n                      <div>\n                        <Input\n                          errorMessage={errors.email?.message}\n                          label={<FormattedMessage defaultMessage=\"E-mail\" id=\"Form.email\" />}\n                          placeholder={intl.formatMessage({\n                            defaultMessage: 'E-mail',\n                            id: 'Form.email',\n                          })}\n                          {...register('email')}\n                        />\n                      </div>\n                    </div>\n                    <div className={'modal-form__privacy'}>\n                      <p className=\"modal-form__privacy-text\">\n                        <FormattedMessage\n                          defaultMessage=\"By registering for the Open House, you agree\"\n                          id=\"OpenHouse.privacyText\"\n                        />\n                      </p>\n                      <a href={theme?.privacyPolicyLink} target={'_blank'} rel=\"noreferrer\">\n                        <FormattedMessage\n                          defaultMessage=\"{broker} guidelines for the use of personal information.\"\n                          id=\"OpenHouse.privacyLink\"\n                          values={{ broker: theme?.brokerageName }}\n                        />\n                      </a>\n                    </div>\n                    <Row>\n                      <div className={'modal-form__button'}>\n                        <Button type=\"submit\">\n                          <FormattedMessage defaultMessage=\"Register open house\" id=\"OpenHouse.registerOpenHouse\" />\n                        </Button>\n                        {loading && <Spinner />}\n                      </div>\n                    </Row>\n                  </form>\n                </div>\n              )}\n            </Fragment>\n          )}\n        </div>\n      </SimpleModal>\n    );\n  } else {\n    return null;\n  }\n};\n\nexport default RegisterOpenHouseModal;\n","import { ChangeEvent, FC, ReactNode } from 'react';\nimport { SelectSingleEventHandler } from 'react-day-picker';\nimport DatePicker from 'components/molecules/date-picker/date-picker';\nimport Column from 'components/utilities/column/column';\nimport { AppointmentTimePicker } from './components/appointment-timepicker';\nimport { FormattedMessage } from 'react-intl';\nimport './choose-activity-modal.scss';\n\ntype Props = {\n  onChangeDay: (currentTimeStart: Date, currentTimeEnd: Date) => void;\n  time: time;\n  handleChangeTimeStart: (e: ChangeEvent<HTMLInputElement>) => void;\n  handleChangeTimeEnd: (e: ChangeEvent<HTMLInputElement>) => void;\n  handleBlurTimeStart: (timeDif: number, timeInMs: number) => void;\n  handleBlurTimeEnd: (timeDif: number, timeInMs: number, e?: ChangeEvent<HTMLInputElement>) => void;\n  children?: ReactNode;\n  secondChildren?: ReactNode;\n};\nexport type time = { timeStart: Date; timeEnd: Date };\nconst today = new Date();\n\nexport const AppointmentModalContent: FC<Props> = ({\n  onChangeDay,\n  time,\n  handleChangeTimeStart,\n  handleChangeTimeEnd,\n  handleBlurTimeStart,\n  handleBlurTimeEnd,\n  children,\n  secondChildren,\n}) => {\n  const changeDay = (date: Date) => {\n    const currentTimeStart = time.timeStart;\n    const currentTimeEnd = time.timeEnd;\n\n    currentTimeStart.setFullYear(date.getFullYear());\n    currentTimeStart.setMonth(date.getMonth());\n    currentTimeStart.setDate(date.getDate());\n\n    currentTimeEnd.setFullYear(date.getFullYear());\n    currentTimeEnd.setMonth(date.getMonth());\n    currentTimeEnd.setDate(date.getDate());\n    onChangeDay(currentTimeStart, currentTimeEnd);\n  };\n\n  return (\n    <div className=\"appointmentModalContentWrapper\">\n      <div className=\"appointmentModalContentDateTimeWrapper\">\n        <DatePicker\n          fromDate={today}\n          mode=\"single\"\n          onSelect={changeDay as SelectSingleEventHandler}\n          selected={time.timeStart}\n        />\n        <Column className=\"appointmentModalContentColumn\">\n          <AppointmentTimePicker\n            labelStart={<FormattedMessage defaultMessage=\"Start time:\" id=\"Default.StartTime\" />}\n            labelEnd={<FormattedMessage defaultMessage=\"End time:\" id=\"endTime\" />}\n            timeStart={time.timeStart}\n            timeEnd={time.timeEnd}\n            handleChangeTimeStart={handleChangeTimeStart}\n            handleChangeTimeEnd={handleChangeTimeEnd}\n            handleBlurTimeStart={handleBlurTimeStart}\n            handleBlurTimeEnd={handleBlurTimeEnd}\n          />\n          {children && children}\n        </Column>\n      </div>\n      {secondChildren && secondChildren}\n    </div>\n  );\n};\n","/**\n * @generated SignedSource<<9616dd02b70af47cdd3c046e9feab125>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nexport type ActivityTypeCategoryEnum = \"BuyerAdvisorObjectionExtension\" | \"BuyerFinancialInstitutionObjectionExtension\" | \"CounselingCases\" | \"CreditAssessment\" | \"CustomerMeetings\" | \"DeedAvailableForSignatureExtension\" | \"DeedConditionalFinalSignatureExtension\" | \"DeedLatestSignatureExtension\" | \"DeedReportedToLandRegistrationExtension\" | \"Education\" | \"ExternalMeeting\" | \"FirstDepositDeadlineExtension\" | \"GuaranteeExtension\" | \"InternalMeeting\" | \"KeyCollection\" | \"Miscellaneous\" | \"OpenHouse\" | \"OpenHouseWithRegistration\" | \"PaidValuation\" | \"Private\" | \"ProcessClosingProtest\" | \"PurchaseAgreementMeetingBuyer\" | \"PurchaseAgreementMeetingSeller\" | \"RectifyCases\" | \"RiskAssessmentReview\" | \"SalesValuation\" | \"SecondDepositDeadlineExtension\" | \"SellerAdvisorObjectionExtension\" | \"SellerFinancialInstitutionObjectionExtension\" | \"Showcasing\" | \"SignedUpOpenHouse\" | \"StatusMeetingBuyer\" | \"StatusMeetingSeller\" | \"StatusReport\" | \"Transfer\";\nexport type chooseActivityModal_Query$variables = Record<PropertyKey, never>;\nexport type chooseActivityModal_Query$data = {\n  readonly viewer: {\n    readonly customer: {\n      readonly email: string | null | undefined;\n      readonly firstName: string | null | undefined;\n      readonly lastName: string | null | undefined;\n      readonly phone: string | null | undefined;\n    } | null | undefined;\n    readonly id: string;\n    readonly propertyForSaleByOwnerAppointmentActivityTypes: ReadonlyArray<{\n      readonly category: ActivityTypeCategoryEnum | null | undefined;\n      readonly defaultDurationInMinutes: number | null | undefined;\n      readonly id: string | null | undefined;\n      readonly name: string | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n};\nexport type chooseActivityModal_Query = {\n  response: chooseActivityModal_Query$data;\n  variables: chooseActivityModal_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"AppointmentActivityType\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"propertyForSaleByOwnerAppointmentActivityTypes\",\n  \"plural\": true,\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"category\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"defaultDurationInMinutes\",\n      \"storageKey\": null\n    },\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"name\",\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"firstName\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"lastName\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"email\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"phone\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"chooseActivityModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v0/*: any*/),\n          (v1/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v2/*: any*/),\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"chooseActivityModal_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          (v0/*: any*/),\n          (v1/*: any*/),\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v2/*: any*/),\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/),\n              (v0/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"59afc1c47c9a7362a92214a9a89bf3b1\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"chooseActivityModal_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query chooseActivityModal_Query {\\n  viewer {\\n    id\\n    propertyForSaleByOwnerAppointmentActivityTypes {\\n      category\\n      defaultDurationInMinutes\\n      id\\n      name\\n    }\\n    customer {\\n      firstName\\n      lastName\\n      email\\n      phone\\n      id\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"0fad2e754b643215124500ace0d0b2fa\";\n\nexport default node;\n","/**\n * @generated SignedSource<<51ac2657862349ee75678685004e6e0e>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type CreateAppointmentActivityInputType = {\n  activityTypeId: string;\n  caseId: string;\n  customer?: AppointmentActivityCustomerInputType | null | undefined;\n  endDatetime: any;\n  startDatetime: any;\n};\nexport type AppointmentActivityCustomerInputType = {\n  email?: string | null | undefined;\n  firstname?: string | null | undefined;\n  lastname?: string | null | undefined;\n  phone?: string | null | undefined;\n};\nexport type chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation$variables = {\n  input: CreateAppointmentActivityInputType;\n};\nexport type chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation$data = {\n  readonly createPropertyForSaleByOwnerAppointmentActivity: {\n    readonly createdObject: {\n      readonly endDate: any | null | undefined;\n      readonly id: string;\n      readonly latestNoteContent: string | null | undefined;\n      readonly name: string | null | undefined;\n      readonly notes: ReadonlyArray<{\n        readonly content: string | null | undefined;\n      } | null | undefined> | null | undefined;\n      readonly startDate: any | null | undefined;\n    } | null | undefined;\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n};\nexport type chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation = {\n  response: chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation$data;\n  variables: chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"name\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"startDate\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"endDate\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"latestNoteContent\",\n  \"storageKey\": null\n},\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"content\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"AppointmentActivityCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createPropertyForSaleByOwnerAppointmentActivity\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"AppointmentActivity\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"createdObject\",\n            \"plural\": false,\n            \"selections\": [\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/),\n              (v6/*: any*/),\n              (v7/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"ActivityNote\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"notes\",\n                \"plural\": true,\n                \"selections\": [\n                  (v8/*: any*/)\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"AppointmentActivityCreatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"createPropertyForSaleByOwnerAppointmentActivity\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"AppointmentActivity\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"createdObject\",\n            \"plural\": false,\n            \"selections\": [\n              (v3/*: any*/),\n              (v4/*: any*/),\n              (v5/*: any*/),\n              (v6/*: any*/),\n              (v7/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"ActivityNote\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"notes\",\n                \"plural\": true,\n                \"selections\": [\n                  (v8/*: any*/),\n                  (v3/*: any*/)\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"da622b2b21d095b799e146c067d7954d\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation(\\n  $input: CreateAppointmentActivityInputType!\\n) {\\n  createPropertyForSaleByOwnerAppointmentActivity(input: $input) {\\n    errors {\\n      message\\n      id\\n    }\\n    createdObject {\\n      id\\n      name\\n      startDate\\n      endDate\\n      latestNoteContent\\n      notes {\\n        content\\n        id\\n      }\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"6927c105a6190cd303257dc5fd6fc447\";\n\nexport default node;\n","import { FC } from 'react';\nimport { FormattedMessage } from 'react-intl';\n\ntype Props = { activity: 'openHouse' | 'showCasing' | '' };\n\nexport const HeadLine: FC<Props> = ({ activity }) => {\n  if (activity === 'openHouse') {\n    return <FormattedMessage defaultMessage=\"Create open house\" id=\"selfsale.CreateOpenHouse\" />;\n  } else if (activity === 'showCasing') {\n    return <FormattedMessage defaultMessage=\"Create showing casing\" id=\"selfsale.showingCasing\" />;\n  }\n\n  return <FormattedMessage defaultMessage=\"Choose activity\" id=\"selfsale.chooseActivity\" />;\n};\n","import Input from 'components/molecules/input/input';\nimport { ChangeEvent, FC, ReactNode } from 'react';\nimport { CustomerFieldType } from '../choose-activity-modal';\n\ntype Props = {\n  labelId: string;\n  label: ReactNode;\n  customerInfo: CustomerFieldType;\n  handleCustomerInfoChange: (e: ChangeEvent<HTMLInputElement>, field: CustomerFieldType) => void;\n  className?: string;\n};\n\nexport const ShowCasingInput: FC<Props> = ({ labelId, label, customerInfo, handleCustomerInfoChange, className }) => {\n  return (\n    <div className={className}>\n      <label htmlFor={labelId}>{label}</label>\n      <Input\n        id={labelId}\n        onChange={(e) => {\n          handleCustomerInfoChange(e, customerInfo);\n        }}\n        type={customerInfo === 'phone' ? 'tel' : undefined}\n      />\n    </div>\n  );\n};\n","import Modal from 'components/molecules/modal/modal';\nimport { FC, Fragment, useState, ChangeEvent, useEffect, useMemo } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport Button from 'components/atoms/button/button';\nimport Row from 'components/utilities/row/row';\nimport { graphql } from 'react-relay';\nimport useToggle from 'hooks/useToggle';\nimport { useQuery } from 'relay-hooks';\nimport { HeadLine } from './components/headline';\nimport {\n  getDateWithAddedDefaultDurationInMin,\n  getDateWithSelectedTime,\n  getSpecificActivityObj,\n} from './self-sale-functions';\nimport { AppointmentModalContent, time } from './appointment-modal-content';\nimport Checkbox from 'components/molecules/checkbox/checkbox';\nimport './choose-activity-modal.scss';\nimport { ShowCasingInput } from './components/show-casing-input';\nimport { chooseActivityModal_Query } from '__generated__/chooseActivityModal_Query.graphql';\nimport { useCreate } from 'hooks/relay/useCreate';\nimport {\n  chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation,\n  CreateAppointmentActivityInputType,\n} from '__generated__/chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation.graphql';\nimport { AppointmentActivity } from 'Types';\n\ntype Props = {\n  isOpen: boolean;\n  toggleIsModalOpen: (bool?: boolean) => void;\n  caseId: string;\n};\n\nexport type Activity = 'openHouse' | 'showCasing' | '';\nexport type CustomerFieldType = 'firstName' | 'lastName' | 'email' | 'phone';\n\ntype CustomerInfo = { firstName: string; lastName: string; email: string; phone: string };\n\nconst chooseActivityModalQuery = graphql`\n  query chooseActivityModal_Query {\n    viewer {\n      ... on Viewer {\n        id\n        propertyForSaleByOwnerAppointmentActivityTypes {\n          category\n          defaultDurationInMinutes\n          id\n          name\n        }\n        customer {\n          firstName\n          lastName\n          email\n          phone\n        }\n      }\n    }\n  }\n`;\n\nexport const chooseActivityModalCreate = graphql`\n  mutation chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation(\n    $input: CreateAppointmentActivityInputType!\n  ) {\n    createPropertyForSaleByOwnerAppointmentActivity(input: $input) {\n      errors {\n        message\n      }\n      createdObject {\n        id\n        name\n        startDate\n        endDate\n        latestNoteContent\n        notes {\n          content\n        }\n      }\n    }\n  }\n`;\n\nconst TO_MS = 60 * 1000;\n\nexport const ChooseActivityModal: FC<Props> = ({ isOpen, toggleIsModalOpen, caseId }) => {\n  const { data } = useQuery<chooseActivityModal_Query>(chooseActivityModalQuery);\n  const [createActivity] = useCreate<chooseActivityModal_createPropertyForSaleByOwnerAppointmentActivityMutation>(\n    chooseActivityModalCreate,\n    {\n      __typename: AppointmentActivity,\n      mutationName: 'createPropertyForSaleByOwnerAppointmentActivity',\n      listName: 'futureActivities__timelineActivitiesConnection',\n      parentID: caseId,\n    },\n  );\n\n  const [chosenActivity, setChosenActivity] = useState<Activity>('');\n  const [isRegistration, toggleIsRegistration] = useToggle();\n  const [time, setTime] = useState<time>({\n    timeStart: new Date(),\n    timeEnd: new Date(),\n  });\n  const [customerInfo, setCustomerInfo] = useState<CustomerInfo>({ firstName: '', lastName: '', email: '', phone: '' });\n\n  useEffect(() => {\n    setTime({\n      timeStart: new Date(),\n      timeEnd: getDateWithAddedDefaultDurationInMin(data, isRegistration, chosenActivity),\n    });\n  }, [chosenActivity, data, isRegistration]);\n\n  const handleChosenActivity = (activity: Activity) => {\n    setChosenActivity(activity);\n  };\n  const handleCloseCross = () => {\n    toggleIsModalOpen();\n    setChosenActivity('');\n  };\n\n  const onChangeDay = (currentTimeStart: Date, currentTimeEnd: Date) => {\n    setTime({ timeStart: currentTimeStart, timeEnd: currentTimeEnd });\n  };\n\n  /* TIMEPICKER  */\n  const handleBlurTimeStart = (timeDif: number, timeInMS: number) => {\n    const defaultDurationInMinutes =\n      getSpecificActivityObj(data, isRegistration, chosenActivity)?.defaultDurationInMinutes ?? 30;\n\n    if (timeDif < defaultDurationInMinutes) {\n      const newTimeEnd = new Date(timeInMS + defaultDurationInMinutes * TO_MS);\n      setTime({ ...time, timeEnd: newTimeEnd });\n    }\n  };\n\n  const handleChangeTimeStart = (e: ChangeEvent<HTMLInputElement>) => {\n    setTime({ ...time, timeStart: getDateWithSelectedTime(e, time.timeStart) });\n  };\n\n  const handleBlurTimeEnd = (timeDif: number, timeInMs: number, e?: ChangeEvent<HTMLInputElement>) => {\n    const defaultDurationInMinutes =\n      getSpecificActivityObj(data, isRegistration, chosenActivity)?.defaultDurationInMinutes ?? 30;\n\n    if (e && timeDif < defaultDurationInMinutes) {\n      const newtimeStart = new Date(timeInMs - defaultDurationInMinutes * TO_MS);\n      setTime({ timeStart: newtimeStart, timeEnd: getDateWithSelectedTime(e, time.timeEnd) });\n    }\n  };\n\n  const handleChangeTimeEnd = (e: ChangeEvent<HTMLInputElement>) => {\n    setTime({ ...time, timeEnd: getDateWithSelectedTime(e, time.timeEnd) });\n  };\n\n  /* CUSTOMER INFO */\n  const handleCustomerInfoChange = (e: ChangeEvent<HTMLInputElement>, field: CustomerFieldType) => {\n    setCustomerInfo({ ...customerInfo, [field]: e.target.value });\n  };\n\n  const isConfirmButtonDisabled = useMemo(() => {\n    return Object.values(customerInfo).some((value) => value === '');\n  }, [customerInfo]);\n\n  const onSubmit = async () => {\n    const openHouseObj = getSpecificActivityObj(data, isRegistration, chosenActivity);\n    const isOpenHouse = chosenActivity === 'openHouse';\n\n    const input: CreateAppointmentActivityInputType = {\n      activityTypeId: openHouseObj?.id ?? '',\n      endDatetime: time.timeEnd,\n      startDatetime: time.timeStart,\n      caseId,\n      customer: {\n        firstname: isOpenHouse ? data?.viewer?.customer?.firstName : customerInfo.firstName,\n        lastname: isOpenHouse ? data?.viewer?.customer?.lastName : customerInfo.lastName,\n        email: isOpenHouse ? data?.viewer?.customer?.email : customerInfo.email,\n        phone: isOpenHouse ? data?.viewer?.customer?.phone : customerInfo.phone,\n      },\n    };\n\n    handleCloseCross();\n    await createActivity({\n      variables: { input },\n    });\n  };\n\n  return (\n    <Fragment>\n      {isOpen && (\n        <Modal\n          buttonConfig={\n            chosenActivity !== ''\n              ? [\n                  {\n                    callback: () => {\n                      toggleIsRegistration(false);\n                      setChosenActivity('');\n                    },\n                    label: 'Annuller',\n                    version: 'secondary',\n                  },\n                  {\n                    callback: async () => {\n                      await onSubmit();\n                    },\n                    label: 'Opret',\n                    type: 'submit',\n                    version: 'primary',\n                    disabled: chosenActivity === 'showCasing' ? isConfirmButtonDisabled : false,\n                  },\n                ]\n              : []\n          }\n          closeHandler={handleCloseCross}\n          headline={<HeadLine activity={chosenActivity} />}\n        >\n          {chosenActivity === '' && (\n            <div className=\"chooseActionsWrapper\">\n              <Row center style={{ gap: '8px' }}>\n                <Button version=\"secondary\" onClick={() => handleChosenActivity('openHouse')}>\n                  <FormattedMessage defaultMessage=\"Open house\" id=\"StatisticsHeader.OpenHouse\" />\n                </Button>\n                <Button version=\"secondary\" onClick={() => handleChosenActivity('showCasing')}>\n                  <FormattedMessage defaultMessage=\"Show casing\" id=\"Default.ShowCasing\" />\n                </Button>\n              </Row>\n            </div>\n          )}\n          {chosenActivity !== '' && (\n            <AppointmentModalContent\n              onChangeDay={onChangeDay}\n              time={time}\n              handleChangeTimeStart={handleChangeTimeStart}\n              handleChangeTimeEnd={handleChangeTimeEnd}\n              handleBlurTimeStart={handleBlurTimeStart}\n              handleBlurTimeEnd={handleBlurTimeEnd}\n              secondChildren={\n                chosenActivity === 'showCasing' && (\n                  <div className=\"showCasingInputTypeWrapper\">\n                    <ShowCasingInput\n                      labelId=\"selfsale.customerName\"\n                      label={<FormattedMessage id=\"customer.name\" defaultMessage=\"Customer name\" />}\n                      customerInfo=\"firstName\"\n                      handleCustomerInfoChange={handleCustomerInfoChange}\n                      className=\"showCasingInputTypeItem\"\n                    />\n                    <ShowCasingInput\n                      labelId=\"selfsale.customerlastname\"\n                      label={<FormattedMessage id=\"customer.lastname\" defaultMessage=\"Customer last name\" />}\n                      customerInfo=\"lastName\"\n                      handleCustomerInfoChange={handleCustomerInfoChange}\n                      className=\"showCasingInputTypeItem\"\n                    />\n                    <ShowCasingInput\n                      labelId=\"selfsale.customerEmail\"\n                      label={<FormattedMessage id=\"customer.email\" defaultMessage=\"Customer e-mail\" />}\n                      customerInfo=\"email\"\n                      handleCustomerInfoChange={handleCustomerInfoChange}\n                      className=\"showCasingInputTypeItem\"\n                    />\n                    <ShowCasingInput\n                      labelId=\"selfsale.customerPhone\"\n                      label={<FormattedMessage id=\"customer.phone\" defaultMessage=\"Customer phone\" />}\n                      customerInfo=\"phone\"\n                      handleCustomerInfoChange={handleCustomerInfoChange}\n                    />\n                  </div>\n                )\n              }\n            >\n              {chosenActivity === 'openHouse' && (\n                <div className=\"checkBoxWrapper\">\n                  <FormattedMessage defaultMessage=\"With registration:\" id=\"selfSale.withRegistration\" />\n                  <Checkbox onChange={() => toggleIsRegistration()} />\n                </div>\n              )}\n            </AppointmentModalContent>\n          )}\n        </Modal>\n      )}\n    </Fragment>\n  );\n};\n","import { FocusEvent, FC, ChangeEvent } from 'react';\nimport './timepicker.scss';\n\nexport const TimerPicker: FC<{\n  handleChange: (e: ChangeEvent<HTMLInputElement>) => void;\n  onBlur: (e: FocusEvent<HTMLInputElement>) => void;\n  date: null | Date;\n}> = ({ handleChange, date, onBlur }) => {\n  const getTimeFromDate = (day: Date | null): string => {\n    const hours = day?.getHours().toString().padStart(2, '0');\n    const minutes = day?.getMinutes().toString().padStart(2, '0');\n    return `${hours}:${minutes}`;\n  };\n\n  return (\n    <div className=\"inputWrapper\">\n      <input\n        id=\"time\"\n        type=\"time\"\n        value={getTimeFromDate(date)}\n        onChange={handleChange}\n        onBlur={onBlur}\n        className=\"inputPadding\"\n      />\n    </div>\n  );\n};\n","import { ChangeEvent, FC, FocusEvent, Fragment, ReactNode } from 'react';\nimport { getDateWithSelectedTime } from '../self-sale-functions';\nimport { TimerPicker } from 'components/molecules/timepicker/timerpicker';\nimport '../choose-activity-modal.scss';\n\nexport const AppointmentTimePicker: FC<{\n  labelStart: ReactNode;\n  labelEnd: ReactNode;\n  handleChangeTimeStart: (e: ChangeEvent<HTMLInputElement>) => void;\n  handleChangeTimeEnd: (e: ChangeEvent<HTMLInputElement>) => void;\n  handleBlurTimeStart: (timeDif: number, timeInMs: number, e: ChangeEvent<HTMLInputElement>) => void;\n  handleBlurTimeEnd: (timeDif: number, timeInMs: number, e: ChangeEvent<HTMLInputElement>) => void;\n  timeStart: Date;\n  timeEnd: Date;\n}> = ({\n  labelStart,\n  labelEnd,\n  handleChangeTimeStart,\n  handleChangeTimeEnd,\n  handleBlurTimeStart,\n  handleBlurTimeEnd,\n  timeStart,\n  timeEnd,\n}) => {\n  const handleTimeBlurStart = (e: FocusEvent<HTMLInputElement>) => {\n    const time = getDateWithSelectedTime(e, timeStart);\n\n    const timeStartMS = time.getTime();\n    const timeEndMS = timeEnd.getTime();\n    const timeDifferenceInMS = timeEndMS - timeStartMS;\n    const timeDifferenceInMinutes = timeDifferenceInMS / (1000 * 60);\n\n    handleBlurTimeStart(timeDifferenceInMinutes, timeStartMS, e);\n  };\n  const handleTimeBlurEnd = (e: FocusEvent<HTMLInputElement>) => {\n    const time = getDateWithSelectedTime(e, timeEnd);\n\n    const timeEndMS = time.getTime();\n    const timeStartMS = timeStart.getTime();\n    const timeDifferenceInMS = timeEndMS - timeStartMS;\n    const timeDifferenceInMinutes = timeDifferenceInMS / (1000 * 60);\n\n    handleBlurTimeEnd(timeDifferenceInMinutes, timeEndMS, e);\n  };\n\n  return (\n    <Fragment>\n      <div className=\"appointmentTimePickerWrapper\">\n        {labelStart}\n        <TimerPicker handleChange={handleChangeTimeStart} date={timeStart} onBlur={handleTimeBlurStart} />\n      </div>\n      <div className=\"appointmentTimePickerWrapper\">\n        {labelEnd}\n        <TimerPicker handleChange={handleChangeTimeEnd} date={timeEnd} onBlur={handleTimeBlurEnd} />\n      </div>\n    </Fragment>\n  );\n};\n","import { Activity } from './choose-activity-modal';\nimport { ChangeEvent } from 'react';\nimport { chooseActivityModal_Query$data } from '__generated__/chooseActivityModal_Query.graphql';\n\nexport const getSpecificActivityObj = (\n  data: chooseActivityModal_Query$data | null | undefined,\n  isRegistration: boolean,\n  chosenActivity: Activity,\n) => {\n  if (!data || !data.viewer) {\n    return null;\n  }\n  return data.viewer.propertyForSaleByOwnerAppointmentActivityTypes?.find((activity) => {\n    if (chosenActivity === 'openHouse' && isRegistration) {\n      return activity?.category === 'OpenHouseWithRegistration';\n    } else if (chosenActivity === 'showCasing') {\n      return activity?.category === 'Showcasing';\n    } else {\n      return activity?.category === 'OpenHouse';\n    }\n  });\n};\n\nconst DEFAULT_ADDED_MINUTES = 30;\nexport const getDateWithAddedDefaultDurationInMin = (\n  data: chooseActivityModal_Query$data | null | undefined,\n  isRegistration: boolean,\n  chosenActivity: Activity,\n) => {\n  const getAddedMinutes = () => {\n    if (!data) {\n      return DEFAULT_ADDED_MINUTES;\n    }\n\n    return (\n      getSpecificActivityObj(data, isRegistration, chosenActivity)?.defaultDurationInMinutes ?? DEFAULT_ADDED_MINUTES\n    );\n  };\n\n  const date = new Date();\n  date.setMinutes(date.getMinutes() + getAddedMinutes());\n  return date;\n};\nexport const getDateWithSelectedTime = (e: ChangeEvent<HTMLInputElement>, selectedDate: Date): Date => {\n  const timeString = e.target.value.split(':');\n  const hours = parseInt(timeString[0]);\n  const minutes = parseInt(timeString[1]);\n  const givenDate = new Date(selectedDate);\n  givenDate.setHours(hours);\n  givenDate.setMinutes(minutes);\n  return givenDate;\n};\n","import classNames from 'classnames';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport ModuleWrapper from 'components/utilities/module-wrapper/module-wrapper';\nimport Row from 'components/utilities/row/row';\nimport { FC, ReactNode, useEffect, useState, type KeyboardEvent, useRef } from 'react';\nimport { useNavigate, useSearchParams } from 'react-router-dom';\nimport './tab-component.scss';\nimport { useMixPanel } from 'hooks/useMixPanel';\nimport { ActivitiesTab } from 'app/pages/activities/tab';\nimport { FavouritesTab } from 'app/pages/favorites/tab';\nimport { MatchTab } from 'app/pages/match/tab';\nimport { MySalesTab } from 'app/pages/my-sales/tab';\n\nexport interface TabComponentProps {\n  activeTab: string;\n  tabContent: { item: ReactNode; key: string }[];\n  tabNav: { isDisabled?: boolean; item: ReactNode; key: string }[];\n}\n\nconst TabComponent: FC<TabComponentProps> = (props) => {\n  const { activeTab, tabContent, tabNav } = props;\n  const [searchParams] = useSearchParams();\n  const navigate = useNavigate();\n  const [visibleTab, setVisibleTab] = useState(activeTab);\n  const [highlightedTab, setHighlightedTab] = useState(activeTab);\n  const { track } = useMixPanel();\n  const containerRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    const tabFromParams = searchParams.get('tab');\n    if (tabFromParams) {\n      setVisibleTab(tabFromParams);\n      setHighlightedTab(tabFromParams);\n    }\n  }, [searchParams]);\n\n  useEffect(() => {\n    document.querySelector('.main-navigation')?.classList.add('no-shadow');\n\n    return () => {\n      document.querySelector('.main-navigation')?.classList.remove('no-shadow');\n    };\n  }, []);\n\n  const handleOnClick = (key: string) => {\n    setVisibleTab(key);\n    navigate({\n      search: '?tab=' + key,\n    });\n\n    switch (key) {\n      case ActivitiesTab.ACTIVITIES:\n        track('Activities_Navigate', { activitySection: 'FUTURE-ACTIVITIES' });\n        break;\n\n      case ActivitiesTab.PAST_ACTIVITIES:\n        track('Activities_Navigate', { activitySection: 'PREVIOUS-ACTIVITIES' });\n        break;\n\n      case FavouritesTab.FAVORITES:\n        track('Favorites_Navigate', { brokerSection: 'BROKER' });\n        break;\n\n      case FavouritesTab.FAVORITES_OTHER_BROKER:\n        track('Favorites_Navigate', { brokerSection: 'OTHER-BROKER' });\n        break;\n\n      case MatchTab.MATCHES:\n        track('Matches_Navigate', { matchSection: 'MATCHES' });\n        break;\n\n      case MatchTab.SEARCH_PROFILES:\n        track('Matches_Navigate', { matchSection: 'SEARCH-AGENT' });\n        break;\n\n      case MySalesTab.ACTIVE:\n        track('Mysales_Navigate', { salesSection: 'ACTIVE-SALES' });\n        break;\n\n      case MySalesTab.FINISHED:\n        track('Mysales_Navigate', { salesSection: 'ENDED-SALES' });\n        break;\n\n      default:\n        break;\n    }\n  };\n\n  const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n    const currentIndex = tabNav.findIndex((tab) => tab.key === highlightedTab);\n\n    if (event.key === 'ArrowLeft' && currentIndex > 0) {\n      setHighlightedTab(tabNav[currentIndex - 1].key);\n    } else if (event.key === 'ArrowRight' && currentIndex < tabNav.length - 1) {\n      setHighlightedTab(tabNav[currentIndex + 1].key);\n    }\n  };\n\n  useEffect(() => {\n    if (containerRef.current?.matches(':focus-within')) {\n      document.getElementById('tab-nav-id-' + highlightedTab)?.focus();\n    }\n  }, [highlightedTab]);\n\n  return (\n    <div className=\"tab-component\">\n      <ModuleWrapper backgroundColor=\"white\">\n        <Container ref={containerRef} paddingBottomReset paddingTopReset>\n          <Row>\n            <Column>\n              <div className=\"tab-component__nav\">\n                {tabNav.map((item) => (\n                  <button\n                    key={item.key}\n                    aria-controls={`tab-section-${item.key}`}\n                    className={classNames('tab-component__nav-item', {\n                      'is-active': visibleTab === item.key,\n                      'is-disabled': item.isDisabled,\n                      'is-highlighted': highlightedTab === item.key,\n                    })}\n                    disabled={item.isDisabled}\n                    tabIndex={highlightedTab === item.key ? 0 : -1}\n                    id={`tab-nav-id-${item.key}`}\n                    onClick={() => handleOnClick(item.key)}\n                    onKeyDown={handleKeyDown}\n                    type=\"button\"\n                  >\n                    {item.item}\n                  </button>\n                ))}\n              </div>\n            </Column>\n          </Row>\n        </Container>\n      </ModuleWrapper>\n      <div className=\"tab-component__content\">\n        {tabContent.map((component) => {\n          if (component.key !== visibleTab) return null;\n          return (\n            <div\n              key={component.key}\n              className={`tab-component__content-item ${visibleTab === component.key && 'is-active'}`}\n              id={`tab-section-${component.key}`}\n            >\n              {component.item}\n            </div>\n          );\n        })}\n      </div>\n    </div>\n  );\n};\n\nexport default TabComponent;\n","import { Component, ErrorInfo, ReactNode } from 'react';\nimport { sendErrorToServer } from 'services/errors/LogProxy';\nimport Container from 'components/utilities/container/container';\nimport { FormattedMessage } from 'react-intl';\nimport './error-boundary-block.scss';\n\ntype Props = unknown & {\n  children: ReactNode;\n  customErrorMessage?: string;\n};\n\ninterface State {\n  error?: Error;\n  errorInfo?: ErrorInfo;\n  hasError: boolean;\n  errorId: string | null;\n}\n\nexport class ErrorBoundaryBlock extends Component<Props, State> {\n  constructor(props: Props) {\n    super(props);\n    this.state = { hasError: false, errorId: null };\n  }\n\n  static getDerivedStateFromError(error: Error) {\n    // Update state so the next render will show the fallback UI.\n    return { error, hasError: true };\n  }\n\n  async componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n    // You can also log the error to an error reporting service\n    const { message, stack } = error;\n    const { componentStack } = errorInfo;\n    const errorId = await sendErrorToServer({\n      message,\n      stack,\n      componentStack: componentStack ?? '',\n    });\n    this.setState({ errorId });\n  }\n\n  render() {\n    if (this.state.hasError) {\n      // You can render any custom fallback UI\n      return (\n        <Container paddingTopReset className=\"error-message\">\n          <FormattedMessage defaultMessage=\"We are sorry, something went wrong\" id=\"Default.ErrorMessage\" />\n          <span>{this.state.errorId}</span>\n        </Container>\n      );\n    }\n\n    return this.props.children;\n  }\n}\n","import { FC, ReactNode, Suspense } from 'react';\nimport { ErrorBoundaryBlock } from 'components/templates/error-boundary-block';\n\ninterface Props {\n  fallback: ReactNode;\n  children: ReactNode[] | ReactNode;\n  errorMessage?: string;\n}\nexport const SuspenseHoc: FC<Props> = ({ children, fallback, errorMessage = '' }) => {\n  return (\n    <ErrorBoundaryBlock customErrorMessage={errorMessage}>\n      <Suspense fallback={fallback}>{children}</Suspense>\n    </ErrorBoundaryBlock>\n  );\n};\n","import classNames from 'classnames';\nimport './block.scss';\nimport { FC, MouseEventHandler, ReactNode } from 'react';\n\nexport interface BlockProps {\n  backgroundColor?: 'white' | 'grey2' | 'grey3' | 'primary' | 'brand';\n  borderRadius?: boolean;\n  boxShadow?: boolean;\n  children?: ReactNode;\n  className?: string;\n  column?: boolean;\n  customPadding?: 'xxs' | 'xs' | 'sm' | 'md' | 'xl';\n  flex?: boolean;\n  flex1?: boolean;\n  flexGutter?: 'xxs' | 'xs' | 'md';\n  flexWrap?: boolean;\n  justifyRight?: boolean;\n  marginBottom?: boolean;\n  overflowHidden?: boolean;\n  positionRelative?: boolean;\n  spaceBetween?: boolean;\n  onClick?: MouseEventHandler<HTMLDivElement>;\n}\n\nconst Block: FC<BlockProps> = ({\n  children,\n  className,\n  column,\n  borderRadius,\n  customPadding,\n  marginBottom,\n  backgroundColor,\n  boxShadow,\n  flex,\n  flexGutter,\n  flexWrap,\n  flex1,\n  justifyRight,\n  overflowHidden,\n  positionRelative,\n  spaceBetween,\n  onClick,\n}) => {\n  return (\n    <div\n      className={classNames('block', className, {\n        'border-radius': borderRadius,\n        boxShadow,\n        brand: backgroundColor === 'brand',\n        'column-flex': column,\n        flex,\n        'flex-1': flex1,\n        'flex-wrap': flexWrap,\n        grey2: backgroundColor === 'grey2',\n        grey3: backgroundColor === 'grey3',\n        'gutter-md': flexGutter === 'md',\n        'gutter-xs': flexGutter === 'xs',\n        'gutter-xxs': flexGutter === 'xxs',\n        'justify-right': justifyRight,\n        marginBottom,\n        'overflow-hidden': overflowHidden,\n        'padding-md': customPadding === 'md',\n        'padding-sm': customPadding === 'sm',\n        'padding-xl': customPadding === 'xl',\n        'padding-xs': customPadding === 'xs',\n        'padding-xxs': customPadding === 'xxs',\n        'position-relative': positionRelative,\n        primary: backgroundColor === 'primary',\n        spaceBetween,\n        white: backgroundColor === 'white',\n      })}\n      onClick={onClick}\n    >\n      {children}\n    </div>\n  );\n};\n\nexport default Block;\n","import classNames from 'classnames';\nimport { forwardRef, HTMLAttributes, useMemo } from 'react';\nimport './column.scss';\n\nexport type ColumnsType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\ninterface ColumnBreakPoints {\n  desktop?: ColumnsType;\n  mobile?: ColumnsType;\n  tablet?: ColumnsType;\n}\n\nexport interface ColumnProps extends HTMLAttributes<HTMLDivElement> {\n  fullHeight?: boolean;\n  marginBottom?: boolean;\n  noMargin?: boolean;\n  noPaddingOnMobile?: boolean;\n  offset?: ColumnBreakPoints;\n  order?: ColumnBreakPoints;\n  width?: ColumnBreakPoints;\n}\n\nconst Column = forwardRef<HTMLDivElement, ColumnProps>(\n  (\n    { children, className, fullHeight, noMargin, offset, order, marginBottom, width, noPaddingOnMobile, ...rest },\n    ref,\n  ) => {\n    const getClass = (name: 'offset' | 'order' | 'component', breakpoint?: ColumnBreakPoints) => {\n      if (breakpoint) {\n        return classNames(\n          typeof breakpoint.mobile === 'number' && `${name}--${breakpoint.mobile}`,\n          typeof breakpoint.tablet === 'number' && `tablet:${name}--${breakpoint.tablet}`,\n          typeof breakpoint.desktop === 'number' && `desktop:${name}--${breakpoint.desktop}`,\n        );\n      }\n    };\n    const columnClasses = useMemo(() => {\n      return classNames(getClass('component', width), getClass('offset', offset), getClass('order', order), {\n        fullHeight,\n        marginBottom,\n        noMargin,\n        noPaddingOnMobile,\n      });\n    }, [width, offset, order, fullHeight, marginBottom, noMargin, noPaddingOnMobile]);\n\n    return (\n      <div ref={ref} {...rest} className={classNames('column', columnClasses, className)}>\n        {children}\n      </div>\n    );\n  },\n);\n\nColumn.displayName = 'Column';\n\nexport default Column;\n","import classNames from 'classnames';\nimport { forwardRef, HTMLAttributes } from 'react';\nimport './container.scss';\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n  backgroundColor?: 'white';\n  fullWidth?: boolean;\n  fullWidthMobile?: boolean;\n  paddingBottomReset?: boolean;\n  paddingTopReset?: boolean;\n  pushTop?: boolean;\n}\n\nconst Container = forwardRef<HTMLDivElement, ContainerProps>(\n  (\n    {\n      children,\n      className,\n      fullWidth,\n      fullWidthMobile,\n      backgroundColor,\n      paddingTopReset,\n      paddingBottomReset,\n      pushTop,\n      ...rest\n    },\n    ref,\n  ) => {\n    return (\n      <div\n        ref={ref}\n        {...rest}\n        className={classNames('grid-container', className, {\n          'background-white': backgroundColor === 'white',\n          'full-width': fullWidth,\n          'full-width-mobile': fullWidthMobile,\n          'padding-bottom-reset': paddingBottomReset,\n          'padding-top-reset': paddingTopReset,\n          'push-top': pushTop,\n        })}\n      >\n        {children}\n      </div>\n    );\n  },\n);\n\nexport default Container;\n","import classNames from 'classnames';\nimport { CSSProperties, forwardRef, ReactNode } from 'react';\nimport './module-wrapper.scss';\n\nexport interface ModuleWrapperProps {\n  backgroundColor?: 'white' | 'grey' | 'primary' | 'brand';\n  borderTop?: boolean;\n  boxShadow?: boolean;\n  children: ReactNode;\n  className?: string;\n  fullHeight?: boolean;\n  fullHeightWithoutMainNav?: boolean;\n  style?: CSSProperties;\n}\n\nconst ModuleWrapper = forwardRef<HTMLDivElement, ModuleWrapperProps>((props, ref) => {\n  const {\n    backgroundColor,\n    boxShadow,\n    children,\n    className,\n    borderTop,\n    fullHeight,\n    fullHeightWithoutMainNav,\n    style,\n    ...rest\n  } = props;\n  return (\n    <div\n      {...rest}\n      ref={ref}\n      className={classNames('module-wrapper', className, {\n        borderTop,\n        boxShadow,\n        brand: backgroundColor === 'brand',\n        fullHeight,\n        fullHeightWithoutMainNavOnMobile: fullHeightWithoutMainNav,\n        grey: backgroundColor === 'grey',\n        primary: backgroundColor === 'primary',\n        white: backgroundColor === 'white',\n      })}\n      style={style}\n    >\n      {children}\n    </div>\n  );\n});\n\nModuleWrapper.displayName = 'ModuleWrapper';\n\nexport default ModuleWrapper;\n","import classNames from 'classnames';\nimport { forwardRef, HTMLAttributes } from 'react';\nimport './row.scss';\n\nexport interface RowProps extends HTMLAttributes<HTMLDivElement> {\n  alignCenter?: boolean;\n  center?: boolean;\n  noAdjacentMargin?: boolean;\n  pageHeight?: boolean;\n  pushBottom?: boolean;\n  pushTop?: boolean;\n  spaceBetween?: boolean;\n}\n\nconst Row = forwardRef<HTMLDivElement, RowProps>(\n  (\n    {\n      children,\n      className,\n      pageHeight,\n      pushTop,\n      pushBottom,\n      spaceBetween,\n      alignCenter,\n      center,\n      noAdjacentMargin,\n      ...rest\n    },\n    ref,\n  ) => {\n    const classList = classNames('row', className, {\n      alignCenter,\n      center,\n      noAdjacentMargin,\n      pageHeight,\n      pushBottom,\n      pushTop,\n      spaceBetween,\n    });\n    return (\n      <div ref={ref} {...rest} className={classList}>\n        {children}\n      </div>\n    );\n  },\n);\n\nRow.displayName = 'Row';\n\nexport default Row;\n","import {\n  ConnectionHandler,\n  MutationParameters,\n  RecordProxy,\n  RecordSourceSelectorProxy,\n  Variables,\n} from 'relay-runtime';\nimport { GraphQLTaggedNode } from 'react-relay';\nimport { ReactNode, useCallback } from 'react';\nimport { MutationConfig, useMutation } from 'relay-hooks';\nimport { toast } from 'react-toastify';\nimport { FormattedMessage } from 'react-intl';\nimport { useFormatType } from '../../trans/TypeTranslations';\nimport { responseHasErrors } from 'hooks/relay/relay-utils';\n\ntype MwBaseUpdaterConfig = {\n  __typename?: string | null;\n  listArgs?: Variables;\n  listName?: string;\n  parentID?: string;\n  rootField?: string;\n  mutationName?: string;\n  payloadName?: string;\n};\n\ntype MwToastConfig = {\n  toast?: boolean;\n  toastMessageSuccess?: ReactNode;\n  toastMessageFail?: ReactNode;\n};\n\ntype MwCreateUpdaterConfig = MwBaseUpdaterConfig;\ntype MwConfig<T extends MutationParameters> = MutationConfig<T>;\n\ntype CreateHookConfig<T extends MutationParameters> = MwBaseUpdaterConfig & MwToastConfig & MwConfig<T>;\n\nexport function useCreate<T extends MutationParameters>(\n  graphqlTaggedNode: GraphQLTaggedNode,\n  hookConfig: CreateHookConfig<T> = {},\n) {\n  const [nativeMutationFn, mutationState] = useMutation<T>(graphqlTaggedNode, hookConfig);\n  const formatType = useFormatType();\n\n  const makeUpdater = useCallback(\n    ({ __typename, listName, listArgs, parentID, rootField, payloadName, mutationName }: MwCreateUpdaterConfig) => {\n      return (store: RecordSourceSelectorProxy<T['response']>) => {\n        if (!mutationName) {\n          return;\n        }\n\n        const payload = store.getRootField(mutationName);\n        if (!payload) {\n          return;\n        }\n\n        let parent: RecordProxy<object> | null | undefined = null;\n        if (parentID) {\n          parent = store.get(parentID);\n        }\n        if (!parent && rootField) {\n          parent = store.getRoot().getLinkedRecord(rootField);\n        }\n        if (!parent || !listName) {\n          return;\n        }\n\n        let nodePayload: RecordProxy | RecordProxy[] | null = payload.getLinkedRecord(payloadName ?? 'createdObject');\n        if (nodePayload === null) {\n          nodePayload = payload.getLinkedRecords(payloadName ?? 'createdObjects');\n        }\n        if (!nodePayload) return;\n\n        const nodes = Array.isArray(nodePayload) ? nodePayload : [nodePayload];\n        if (!nodes) return;\n\n        const connection = ConnectionHandler.getConnection(parent, listName, listArgs);\n\n        if (connection) {\n          const totalCount = (connection.getValue('totalCount') as number) ?? 0;\n          connection.setValue(totalCount + nodes.length, 'totalCount');\n\n          nodes.forEach((node) => {\n            const edge = ConnectionHandler.createEdge(store, connection, node, `${__typename}Edge`);\n            ConnectionHandler.insertEdgeAfter(connection, edge);\n          });\n\n          return;\n        }\n\n        const linkedRecords = parent.getLinkedRecords(listName, listArgs) || [];\n        parent.setLinkedRecords([...linkedRecords, ...nodes], listName, listArgs);\n      };\n    },\n    [],\n  );\n\n  const mutationFn = useCallback(\n    (mutationConfig: CreateHookConfig<T> = {}) => {\n      const mergedConfig: CreateHookConfig<T> = {\n        mutationName: `create${hookConfig?.__typename ?? mutationConfig.__typename}`,\n        ...hookConfig,\n        ...mutationConfig,\n      };\n\n      const updater = makeUpdater(mergedConfig);\n\n      const promise = nativeMutationFn({\n        variables: {},\n        updater,\n        ...mutationConfig,\n      });\n\n      if (mergedConfig?.toast) {\n        promise\n          .then(() => {\n            toast.success(mergedConfig.toastMessageSuccess);\n          })\n          .catch(() => {\n            toast.error(mergedConfig.toastMessageFail);\n          });\n      } else {\n        promise\n          .then((res) => {\n            if (responseHasErrors(res)) {\n              toast.error(\n                <FormattedMessage\n                  id=\"UseCreate.Error\"\n                  defaultMessage=\"{value} was not created\"\n                  values={{ value: formatType(hookConfig.__typename) }}\n                />,\n              );\n            } else {\n              toast.success(\n                <FormattedMessage\n                  id=\"UseCreate.Success\"\n                  defaultMessage=\"{value} was created\"\n                  values={{ value: formatType(hookConfig.__typename) }}\n                />,\n              );\n            }\n          })\n          .catch(() => {\n            toast.error(\n              <FormattedMessage\n                id=\"UseCreate.Error\"\n                defaultMessage=\"{value} was not created\"\n                values={{ value: formatType(hookConfig.__typename) }}\n              />,\n            );\n          });\n      }\n\n      return promise;\n    },\n    [formatType, hookConfig, makeUpdater, nativeMutationFn],\n  );\n\n  return [mutationFn, mutationState] as const;\n}\n","export function responseHasErrors(obj: { [key: string]: any }): boolean {\n  const propertyName = 'errors';\n  // Base case: If the object has the property and it is truthy, return true.\n  if (obj.hasOwnProperty(propertyName) && obj[propertyName].length > 0) {\n    return true;\n  }\n\n  // Recursive case: Go through each property of the object.\n  for (const key in obj) {\n    if (typeof obj[key] === 'object' && obj[key] !== null) {\n      // If the property is an object, recursively call the function.\n      if (responseHasErrors(obj[key])) {\n        return true;\n      }\n    }\n  }\n\n  // If the property wasn't found or was falsy, return false.\n  return false;\n}\n","import { ReactNode, useCallback } from 'react';\nimport { useMutation, MutationConfig } from 'relay-hooks';\nimport { MutationParameters } from 'relay-runtime';\nimport { GraphQLTaggedNode } from 'react-relay';\nimport { toast } from 'react-toastify';\nimport { FormattedMessage } from 'react-intl';\nimport { useFormatType } from '../../trans/TypeTranslations';\n\ntype MwToastConfig = {\n  __typename?: string;\n  toast?: boolean;\n  toastMessageSuccess?: ReactNode;\n  toastMessageFail?: ReactNode;\n};\n\ntype UpdateHookConfig<T extends MutationParameters> = MutationConfig<T> & MwToastConfig;\n\nexport function useUpdate<T extends MutationParameters>(\n  graphqlTaggedNode: GraphQLTaggedNode,\n  hookConfig: UpdateHookConfig<T> = {},\n) {\n  const formatType = useFormatType();\n\n  const [mutation, mutationState] = useMutation<T>(graphqlTaggedNode);\n\n  const mutationFn = useCallback(\n    (customConfig: UpdateHookConfig<T> = {}) => {\n      const mergedConfig: UpdateHookConfig<T> = {\n        ...hookConfig,\n        ...customConfig,\n      };\n\n      const promise = mutation({ variables: {}, ...mergedConfig });\n\n      if (mergedConfig?.toast) {\n        promise\n          .then(() => {\n            toast.success(mergedConfig.toastMessageSuccess);\n          })\n          .catch(() => {\n            toast.error(mergedConfig.toastMessageFail);\n          });\n      } else {\n        promise\n          .then(() => {\n            toast.success(\n              <FormattedMessage\n                id=\"UseUpdate.Success\"\n                defaultMessage=\"{value} was updated\"\n                values={{ value: formatType(hookConfig.__typename) }}\n              />,\n            );\n          })\n          .catch(() => {\n            toast.error(\n              <FormattedMessage\n                id=\"UseUpdate.Error\"\n                defaultMessage=\"{value} was not updated\"\n                values={{ value: formatType(hookConfig.__typename) }}\n              />,\n            );\n          });\n      }\n      return promise;\n    },\n    [formatType, hookConfig, mutation],\n  );\n\n  return [mutationFn, mutationState] as const;\n}\n","import { RefObject, useEffect } from 'react';\n\ntype Event = MouseEvent | TouchEvent;\n\nconst useOnClickOutside = <T extends HTMLElement = HTMLElement>(ref: RefObject<T>, handler: (event: Event) => void) => {\n  useEffect(() => {\n    const listener = (event: Event) => {\n      const el = ref?.current;\n      if (!el || el.contains((event?.target as Node) || null)) {\n        return;\n      }\n\n      handler(event); // Call the handler only if the click is outside of the element passed.\n    };\n\n    document.addEventListener('mousedown', listener);\n    document.addEventListener('touchstart', listener);\n\n    return () => {\n      document.removeEventListener('mousedown', listener);\n      document.removeEventListener('touchstart', listener);\n    };\n  }, [ref, handler]); // Reload only if ref or handler changes\n};\n\nexport default useOnClickOutside;\n","import { RefObject, useCallback, useEffect, useState } from 'react';\n\ninterface Args extends IntersectionObserverInit {\n  freezeOnceVisible?: boolean;\n}\n\nfunction useIntersectionObserver(\n  elementRef: RefObject<Element>,\n  { threshold = 0, root = null, rootMargin = '0%', freezeOnceVisible = false }: Args,\n): IntersectionObserverEntry {\n  const [entry, setEntry] = useState<IntersectionObserverEntry>({} as IntersectionObserverEntry);\n\n  const frozen = entry?.isIntersecting && freezeOnceVisible;\n\n  const updateEntry = useCallback(([entry]: IntersectionObserverEntry[]): void => {\n    setEntry(entry);\n  }, []);\n\n  useEffect(() => {\n    const node = elementRef?.current; // DOM Ref\n    const hasIOSupport = !!window.IntersectionObserver;\n\n    if (!hasIOSupport || frozen || !node) return;\n\n    const observerParams = { root, rootMargin, threshold };\n    const observer = new IntersectionObserver(updateEntry, observerParams);\n\n    observer.observe(node);\n\n    return () => observer.disconnect();\n  }, [threshold, root, rootMargin, frozen, elementRef, updateEntry]);\n\n  return entry;\n}\n\nexport default useIntersectionObserver;\n","import { useLayoutEffect, useState } from 'react';\n// Inspiration taken from here: https://usehooks.com/useWindowSize/\ninterface Size {\n  height?: number;\n  width?: number;\n}\n\n// Hook\nconst useWindowSize = () => {\n  const [windowSize, setWindowSize] = useState<Size>({\n    height: window.innerHeight,\n    width: window.innerWidth,\n  });\n\n  useLayoutEffect(() => {\n    // Handler to call on window resize\n    const handleResize = () => {\n      // Set window width/height to state\n      setWindowSize({\n        height: window.innerHeight,\n        width: window.innerWidth,\n      });\n    };\n    // Add event listener\n    window.addEventListener('resize', handleResize);\n    // Call handler right away so state gets updated with initial window size\n    handleResize();\n    // Remove event listener on cleanup\n    return () => window.removeEventListener('resize', handleResize);\n  }, []); // Empty array ensures that effect is only run on mount\n\n  return windowSize;\n};\n\nexport default useWindowSize;\n","import useWindowSize from './useWindowSize';\n\n// TODO: use import { isMobile, isTablet } from 'react-device-detect';\n\nconst useIsMobile = () => {\n  const { width } = useWindowSize();\n\n  return !!width && width < 1024; // aligned with $breakpoint-tablet\n};\n\nexport default useIsMobile;\n","import { useMemo } from 'react';\nimport { notEmpty } from './useNodes';\n\nexport function useList<T>(listItems: readonly (T | null | undefined)[] | null | undefined) {\n  return useMemo(() => listItems?.filter(notEmpty) ?? [], [listItems]);\n}\n\nexport type ExtractArrayType<O, K extends keyof O> = NonNullable<O[K]> extends readonly (infer I)[] ? I : never;\n","import { MixpanelContext } from 'app/mixpanel/MixPanelProvider';\nimport { useContext } from 'react';\n\nexport const useMixPanel = () => useContext(MixpanelContext);\n","import { useMemo } from 'react';\n\nexport type Edges<T> = readonly (Readonly<{ node: T | null | undefined }> | null | undefined)[] | null | undefined;\n\nexport function useNodes<T>(edges: Edges<T>): readonly T[] {\n  return useMemo(() => {\n    if (!edges) {\n      return [];\n    }\n\n    return edges.reduce((accumulator, edge) => {\n      if (notEmpty(edge) && notEmpty(edge.node)) {\n        accumulator.push(edge.node as T);\n      }\n\n      return accumulator;\n    }, [] as T[]);\n  }, [edges]);\n}\n\nexport function notEmpty<T>(value: T | null | undefined): value is T {\n  return value !== null && value !== undefined;\n}\n","import { defineMessages, useIntl } from 'react-intl';\n\ninterface Translation {\n  [key: string]: { defaultMessage: string; id: string };\n}\nconst PropertyType: Translation = defineMessages({\n  AllotmentHut: {\n    defaultMessage: 'Allotment hut',\n    id: 'PropertyType.AllotmentHut',\n  },\n  AllotmentPlot: {\n    defaultMessage: 'Allotment plot',\n    id: 'PropertyType.AllotmentPlot',\n  },\n  AllYearRoundPlot: {\n    defaultMessage: 'All year round plot',\n    id: 'PropertyType.AllYearRoundPlot',\n  },\n  Cattle: {\n    defaultMessage: 'Cattle property',\n    id: 'PropertyType.Cattle',\n  },\n  Cellar: {\n    defaultMessage: 'Cellar',\n    id: 'PropertyType.Cellar',\n  },\n  Clinic: {\n    defaultMessage: 'Clinic',\n    id: 'PropertyType.Clinic',\n  },\n  Condo: {\n    defaultMessage: 'Condo',\n    id: 'PropertyType.Condo',\n  },\n  Crop: {\n    defaultMessage: 'Crop property',\n    id: 'PropertyType.Crop',\n  },\n  FarmHouseAgriculture: {\n    defaultMessage: 'Farm house agriculture',\n    id: 'PropertyType.FarmHouseAgriculture',\n  },\n  FarmLand: {\n    defaultMessage: 'Farm land',\n    id: 'PropertyType.FarmLand',\n  },\n  ForestProperty: {\n    defaultMessage: 'Forest property',\n    id: 'PropertyType.ForestProperty',\n  },\n  FormerFarm: {\n    defaultMessage: 'Former farm',\n    id: 'PropertyType.FormerFarm',\n  },\n  FreeLand: {\n    defaultMessage: 'Free land',\n    id: 'PropertyType.FreeLand',\n  },\n  Garage: {\n    defaultMessage: 'Garage',\n    id: 'PropertyType.Garage',\n  },\n  HobbyAgriculture: {\n    defaultMessage: 'Hobby agriculture',\n    id: 'PropertyType.HobbyAgriculture',\n  },\n  HotelOrRestaurant: {\n    defaultMessage: 'Hotel or restaurant',\n    id: 'PropertyType.HotelOrRestaurant',\n  },\n  HousingAndBusiness: {\n    defaultMessage: 'Mixed residential and business',\n    id: 'PropertyType.HousingAndBusiness',\n  },\n  HousingCooperative: {\n    defaultMessage: 'Housing cooperative',\n    id: 'PropertyType.HousingCooperative',\n  },\n  IdeelAnpartCondo: {\n    defaultMessage: 'Ideal share (condo)',\n    id: 'PropertyType.IdeelAnpartCondo',\n  },\n  IdeelAnpartTerracedHouse: {\n    defaultMessage: 'Ideal share (Terraced house)',\n    id: 'PropertyType.IdeelAnpartTerracedHouse',\n  },\n  IdeelAnpartVilla: {\n    defaultMessage: 'Ideal share (villa)',\n    id: 'PropertyType.IdeelAnpartVilla',\n  },\n  Investment: {\n    defaultMessage: 'Residential rental property',\n    id: 'PropertyType.Investment',\n  },\n  Liberal: {\n    defaultMessage: 'Liberal profession',\n    id: 'PropertyType.Liberal',\n  },\n  Liebhaveri: {\n    defaultMessage: 'Liebhaveri',\n    id: 'PropertyType.Liebhaveri',\n  },\n  MinkAndFurAnimals: {\n    defaultMessage: 'Mink and fur animals',\n    id: 'PropertyType.MinkAndFurAnimals',\n  },\n  MixedHousingAndBusiness: {\n    defaultMessage: 'Mixed housing and business',\n    id: 'PropertyType.MixedHousingAndBusiness',\n  },\n  Office: {\n    defaultMessage: 'Office',\n    id: 'PropertyType.Office',\n  },\n  Parking: {\n    defaultMessage: 'Parking lot',\n    id: 'PropertyType.Parking',\n  },\n  PartnershipOrLimitedPartnershipCondo: {\n    defaultMessage: 'K/S, I/S (condo)',\n    id: 'PropertyType.PartnershipOrLimitedPartnershipCondo',\n  },\n  PartnershipOrLimitedPartnershipTerracedHouse: {\n    defaultMessage: 'I/S, K/S (Terraced house)',\n    id: 'PropertyType.PartnershipOrLimitedPartnershipTerracedHouse',\n  },\n  PartnershipOrLimitedPartnershipVilla: {\n    defaultMessage: 'I/S, K/S (villa)',\n    id: 'PropertyType.PartnershipOrLimitedPartnershipVilla',\n  },\n  Pigs: {\n    defaultMessage: 'Pig property',\n    id: 'PropertyType.Pigs',\n  },\n  Plot: {\n    defaultMessage: 'Plot',\n    id: 'PropertyType.Plot',\n  },\n  PoultryProduction: {\n    defaultMessage: 'Poultry production',\n    id: 'PropertyType.PoultryProduction',\n  },\n  ProductionFacility: {\n    defaultMessage: 'Production',\n    id: 'PropertyType.ProductionFacility',\n  },\n  ShoppingCenter: {\n    defaultMessage: 'Shoppingcenter',\n    id: 'PropertyType.ShoppingCenter',\n  },\n  Showroom: {\n    defaultMessage: 'Showroom',\n    id: 'PropertyType.Showroom',\n  },\n  SpecialProduction: {\n    defaultMessage: 'Special production',\n    id: 'PropertyType.SpecialProduction',\n  },\n  Store: {\n    defaultMessage: 'Business',\n    id: 'PropertyType.Store',\n  },\n  TerracedHouse: {\n    defaultMessage: 'Terraced house',\n    id: 'PropertyType.TerracedHouse',\n  },\n  TerracedHouseWithCondoStatus: {\n    defaultMessage: 'Terraced house with condo status',\n    id: 'PropertyType.TerracedHouseWithCondoStatus',\n  },\n  TwoFamilyProperty: {\n    defaultMessage: 'Two family property',\n    id: 'PropertyType.TwoFamilyProperty',\n  },\n  VacationCondo: {\n    defaultMessage: 'Vacation condo',\n    id: 'PropertyType.VacationCondo',\n  },\n  VacationHousing: {\n    defaultMessage: 'Vacation housing',\n    id: 'PropertyType.VacationHousing',\n  },\n  VacationPlot: {\n    defaultMessage: 'Vacation plot',\n    id: 'PropertyType.VacationPlot',\n  },\n  Villa: {\n    defaultMessage: 'Villa',\n    id: 'PropertyType.Villa',\n  },\n  VillaApartment: {\n    defaultMessage: 'Villa apartment',\n    id: 'PropertyType.VillaApartment',\n  },\n  VillaWithCondoStatus: {\n    defaultMessage: 'Villa with condo status',\n    id: 'PropertyType.VillaWithCondoStatus',\n  },\n  WareHouse: {\n    defaultMessage: 'Ware house',\n    id: 'PropertyType.WareHouse',\n  },\n  WareHouseAndProduction: {\n    defaultMessage: 'Ware house and production',\n    id: 'PropertyType.WareHouseAndProduction',\n  },\n  Workshop: {\n    defaultMessage: 'Workshop',\n    id: 'PropertyType.Workshop',\n  },\n});\nexport const formatPropertyType = (intl: any) => (key: string) => {\n  if (PropertyType[key]) return intl.formatMessage(PropertyType[key]);\n  return key;\n};\nexport function usePropertyType() {\n  const intl = useIntl();\n  return formatPropertyType(intl);\n}\n","import { useEffect } from 'react';\nimport { useRelayEnvironment } from 'react-relay';\nimport type { GraphQLSubscriptionConfig, OperationType } from 'relay-runtime';\nimport { requestSubscription } from 'relay-runtime';\nimport { useSignalrConnection } from 'services/relay/signalr-connection-provider';\n\nfunction useSubscriptionWithReconnect<TSubscriptionPayload extends OperationType>(\n  config: GraphQLSubscriptionConfig<TSubscriptionPayload>,\n  requestSubscriptionFn?: typeof requestSubscription,\n): void {\n  // NOTE: this will re-subscribe every render if config or requestSubscriptionFn are not memoized (e.g useMemo). Please do not pass an object defined in-line.\n  const actualRequestSubscription = requestSubscriptionFn ?? requestSubscription;\n\n  const environment = useRelayEnvironment();\n  const [, connection] = useSignalrConnection();\n\n  useEffect(() => {\n    let disposable: { dispose: () => void };\n    const reconnection = {\n      dispose: () => {\n        // no-op\n      },\n    };\n    const connect = () => {\n      disposable?.dispose?.();\n      disposable = actualRequestSubscription(environment as any, config);\n\n      reconnection?.dispose?.();\n      reconnection.dispose =\n        connection?.onReconnected(connect) ??\n        (() => {\n          // no-op\n        });\n    };\n\n    connect();\n\n    return () => {\n      reconnection?.dispose?.();\n      disposable?.dispose?.();\n    };\n  }, [environment, connection, config, actualRequestSubscription]);\n}\n\nexport { useSubscriptionWithReconnect };\n","import { useState } from 'react';\n\ntype UseToggleReturnType = [boolean, (value?: boolean) => void];\n\nconst useToggle = (initialState = false): UseToggleReturnType => {\n  const [state, setState] = useState<boolean>(initialState);\n\n  const toggle = (value?: boolean) => {\n    setState(value !== undefined ? value : (prevState) => !prevState);\n  };\n\n  return [state, toggle];\n};\n\nexport default useToggle;\n","/**\n * @generated SignedSource<<0aabac3306a0924ad54330a4d7cd4682>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type defaultLayout_Query$variables = Record<PropertyKey, never>;\nexport type defaultLayout_Query$data = {\n  readonly viewer: {\n    readonly customer: {\n      readonly firstName: string | null | undefined;\n      readonly isCompany: boolean;\n      readonly lastName: string | null | undefined;\n      readonly \" $fragmentSpreads\": FragmentRefs<\"mainNavigation_fragment\" | \"notifications_fragment\" | \"stickyChat_fragment\">;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type defaultLayout_Query = {\n  response: defaultLayout_Query$data;\n  variables: defaultLayout_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"firstName\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"isCompany\",\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"lastName\",\n  \"storageKey\": null\n},\nv3 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"first\",\n    \"value\": 12\n  }\n],\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"createdDate\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"read\",\n  \"storageKey\": null\n},\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"relationId\",\n  \"storageKey\": null\n},\nv9 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"CaseRelation\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"relationType\",\n  \"plural\": false,\n  \"selections\": [\n    (v8/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"relationType\",\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv10 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": null,\n  \"kind\": \"LinkedField\",\n  \"name\": \"baseCase\",\n  \"plural\": false,\n  \"selections\": [\n    (v5/*: any*/),\n    (v9/*: any*/),\n    (v4/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv11 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"address\",\n  \"storageKey\": null\n},\nv12 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"name\",\n  \"storageKey\": null\n},\nv13 = [\n  (v7/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"AppointmentActivity\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"appointmentActivity\",\n    \"plural\": false,\n    \"selections\": [\n      (v12/*: any*/),\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"location\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"baseCase\",\n        \"plural\": false,\n        \"selections\": [\n          (v5/*: any*/),\n          (v11/*: any*/),\n          (v4/*: any*/)\n        ],\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"startDate\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"endDate\",\n        \"storageKey\": null\n      },\n      (v4/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v6/*: any*/)\n],\nv14 = [\n  (v5/*: any*/),\n  (v11/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"CaseRelation\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"relationType\",\n    \"plural\": false,\n    \"selections\": [\n      (v8/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v4/*: any*/)\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"defaultLayout_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              {\n                \"args\": null,\n                \"kind\": \"FragmentSpread\",\n                \"name\": \"notifications_fragment\"\n              },\n              {\n                \"args\": null,\n                \"kind\": \"FragmentSpread\",\n                \"name\": \"mainNavigation_fragment\"\n              },\n              {\n                \"args\": null,\n                \"kind\": \"FragmentSpread\",\n                \"name\": \"stickyChat_fragment\"\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"defaultLayout_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Customer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"customer\",\n            \"plural\": false,\n            \"selections\": [\n              (v0/*: any*/),\n              (v1/*: any*/),\n              (v2/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": (v3/*: any*/),\n                \"concreteType\": \"NotificationInterfaceConnection\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"notificationConnection\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"NotificationInterfaceEdge\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"edges\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": null,\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"node\",\n                        \"plural\": false,\n                        \"selections\": [\n                          (v4/*: any*/),\n                          (v5/*: any*/),\n                          {\n                            \"kind\": \"TypeDiscriminator\",\n                            \"abstractKey\": \"__isNotificationInterface\"\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"threadId\",\n                                \"storageKey\": null\n                              },\n                              (v6/*: any*/),\n                              (v7/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"subject\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"authorName\",\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"MessageNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              (v10/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"Document\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"document\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"documentTypeName\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v11/*: any*/),\n                              (v6/*: any*/)\n                            ],\n                            \"type\": \"DocumentSigningNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": (v13/*: any*/),\n                            \"type\": \"ActivityNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfile\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v5/*: any*/),\n                                  (v4/*: any*/),\n                                  (v12/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v6/*: any*/)\n                            ],\n                            \"type\": \"SearchProfileMatchNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              (v10/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"typeName\",\n                                \"storageKey\": null\n                              },\n                              (v6/*: any*/)\n                            ],\n                            \"type\": \"RequestedDocumentNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v6/*: any*/),\n                              (v7/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"SearchProfileMatchedCase\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfileMatchedCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"baseCase\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v5/*: any*/),\n                                      (v11/*: any*/),\n                                      (v9/*: any*/),\n                                      (v4/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfile\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v5/*: any*/),\n                                  (v12/*: any*/),\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"SearchProfileMatchedCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"baseCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v5/*: any*/),\n                                  (v9/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"caseNo\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              },\n                              (v6/*: any*/),\n                              (v7/*: any*/),\n                              (v11/*: any*/)\n                            ],\n                            \"type\": \"DocumentAccessGrantedNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"lead\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  (v5/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"statusType\",\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": \"LeadTypeGraphType\",\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"type\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"displayName\",\n                                        \"storageKey\": null\n                                      },\n                                      (v4/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"receivedDate\",\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"LeadNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": null,\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"case\",\n                                \"plural\": false,\n                                \"selections\": (v14/*: any*/),\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"PriceChangeOnFavoriteCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": [\n                              (v7/*: any*/),\n                              (v6/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"concreteType\": \"SearchProfileMatchedCase\",\n                                \"kind\": \"LinkedField\",\n                                \"name\": \"searchProfileMatchedCase\",\n                                \"plural\": false,\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"baseCase\",\n                                    \"plural\": false,\n                                    \"selections\": (v14/*: any*/),\n                                    \"storageKey\": null\n                                  },\n                                  (v4/*: any*/)\n                                ],\n                                \"storageKey\": null\n                              }\n                            ],\n                            \"type\": \"PriceChangedOnMatchedCaseNotification\",\n                            \"abstractKey\": null\n                          },\n                          {\n                            \"kind\": \"InlineFragment\",\n                            \"selections\": (v13/*: any*/),\n                            \"type\": \"OpenHouseOnFavoriteCaseNotification\",\n                            \"abstractKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"cursor\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"PageInfo\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"pageInfo\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"endCursor\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"hasNextPage\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": \"notificationConnection(first:12)\"\n              },\n              {\n                \"alias\": null,\n                \"args\": (v3/*: any*/),\n                \"filters\": null,\n                \"handle\": \"connection\",\n                \"key\": \"mainNavigation_notificationConnection\",\n                \"kind\": \"LinkedHandle\",\n                \"name\": \"notificationConnection\"\n              },\n              (v4/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"unreadNotificationsCount\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"unreadThreadCount\",\n                \"storageKey\": null\n              }\n            ],\n            \"storageKey\": null\n          },\n          (v4/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"89a8d28d5c3c3747bf8659e3e396ae36\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"defaultLayout_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query defaultLayout_Query {\\n  viewer {\\n    customer {\\n      firstName\\n      isCompany\\n      lastName\\n      ...notifications_fragment\\n      ...mainNavigation_fragment\\n      ...stickyChat_fragment\\n      id\\n    }\\n    id\\n  }\\n}\\n\\nfragment activityNotification_fragment on ActivityNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment documentAccessGrantedNotification_fragment on DocumentAccessGrantedNotification {\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    caseNo\\n    id\\n  }\\n  id\\n  createdDate\\n  read\\n  address\\n}\\n\\nfragment documentSigningNotification_fragment on DocumentSigningNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  document {\\n    documentTypeName\\n    id\\n  }\\n  address\\n  createdDate\\n}\\n\\nfragment leadNotification_fragment on LeadNotification {\\n  read\\n  lead {\\n    __typename\\n    statusType\\n    type {\\n      displayName\\n      id\\n    }\\n    receivedDate\\n    id\\n  }\\n}\\n\\nfragment mainNavigation_fragment on Customer {\\n  unreadNotificationsCount\\n  unreadThreadCount\\n  ...notifications_fragment\\n}\\n\\nfragment messageNotification_fragment on MessageNotification {\\n  createdDate\\n  read\\n  subject\\n  authorName\\n}\\n\\nfragment notificationComponent_fragment on NotificationInterface {\\n  __isNotificationInterface: __typename\\n  __typename\\n  ... on MessageNotification {\\n    threadId\\n  }\\n  ...messageNotification_fragment\\n  ...documentSigningNotification_fragment\\n  ...activityNotification_fragment\\n  ...searchProfileMatchNotification_fragment\\n  ...requestedDocumentNotification_fragment\\n  ...searchProfileMatchedCaseNotification_fragment\\n  ...documentAccessGrantedNotification_fragment\\n  ...leadNotification_fragment\\n  ...priceChangeFavoriteCaseNotification_fragment\\n  ...priceChangeOnMatchCaseNotification_fragment\\n  ...openHouseFavoriteCaseNotification_fragment\\n}\\n\\nfragment notifications_fragment on Customer {\\n  notificationConnection(first: 12) {\\n    edges {\\n      node {\\n        id\\n        __typename\\n        ...notificationComponent_fragment\\n      }\\n      cursor\\n    }\\n    pageInfo {\\n      endCursor\\n      hasNextPage\\n    }\\n  }\\n  id\\n}\\n\\nfragment openHouseFavoriteCaseNotification_fragment on OpenHouseOnFavoriteCaseNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment priceChangeFavoriteCaseNotification_fragment on PriceChangeOnFavoriteCaseNotification {\\n  id\\n  read\\n  createdDate\\n  case {\\n    __typename\\n    address\\n    relationType {\\n      relationId\\n    }\\n    id\\n  }\\n}\\n\\nfragment priceChangeOnMatchCaseNotification_fragment on PriceChangedOnMatchedCaseNotification {\\n  id\\n  read\\n  createdDate\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n      }\\n      id\\n    }\\n    id\\n  }\\n}\\n\\nfragment requestedDocumentNotification_fragment on RequestedDocumentNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  typeName\\n  createdDate\\n}\\n\\nfragment searchProfileMatchNotification_fragment on SearchProfileMatchNotification {\\n  read\\n  searchProfile {\\n    __typename\\n    id\\n    name\\n  }\\n  createdDate\\n}\\n\\nfragment searchProfileMatchedCaseNotification_fragment on SearchProfileMatchedCaseNotification {\\n  id\\n  createdDate\\n  __typename\\n  read\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n        relationType\\n      }\\n      id\\n    }\\n    id\\n  }\\n  searchProfile {\\n    __typename\\n    name\\n    id\\n  }\\n}\\n\\nfragment stickyChat_fragment on Customer {\\n  unreadThreadCount\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"007032a5a62653e5ef24837f6aba7e21\";\n\nexport default node;\n","/**\n * @generated SignedSource<<ae29b544da2d18b809886624dc9b9da8>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, GraphQLSubscription } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type defaultLayout_unreadNotifications_Subscription$variables = Record<PropertyKey, never>;\nexport type defaultLayout_unreadNotifications_Subscription$data = {\n  readonly onNotificationCountUpdatedEvent: {\n    readonly viewer: {\n      readonly customer: {\n        readonly unreadNotificationsCount: number | null | undefined;\n        readonly unreadThreadCount: number | null | undefined;\n        readonly \" $fragmentSpreads\": FragmentRefs<\"notifications_fragment\">;\n      } | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type defaultLayout_unreadNotifications_Subscription = {\n  response: defaultLayout_unreadNotifications_Subscription$data;\n  variables: defaultLayout_unreadNotifications_Subscription$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"unreadNotificationsCount\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"unreadThreadCount\",\n  \"storageKey\": null\n},\nv2 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"first\",\n    \"value\": 12\n  }\n],\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"createdDate\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"read\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"relationId\",\n  \"storageKey\": null\n},\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"CaseRelation\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"relationType\",\n  \"plural\": false,\n  \"selections\": [\n    (v7/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"relationType\",\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv9 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": null,\n  \"kind\": \"LinkedField\",\n  \"name\": \"baseCase\",\n  \"plural\": false,\n  \"selections\": [\n    (v4/*: any*/),\n    (v8/*: any*/),\n    (v3/*: any*/)\n  ],\n  \"storageKey\": null\n},\nv10 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"address\",\n  \"storageKey\": null\n},\nv11 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"name\",\n  \"storageKey\": null\n},\nv12 = [\n  (v6/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"AppointmentActivity\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"appointmentActivity\",\n    \"plural\": false,\n    \"selections\": [\n      (v11/*: any*/),\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"location\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"baseCase\",\n        \"plural\": false,\n        \"selections\": [\n          (v4/*: any*/),\n          (v10/*: any*/),\n          (v3/*: any*/)\n        ],\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"startDate\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"endDate\",\n        \"storageKey\": null\n      },\n      (v3/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v5/*: any*/)\n],\nv13 = [\n  (v4/*: any*/),\n  (v10/*: any*/),\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"CaseRelation\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"relationType\",\n    \"plural\": false,\n    \"selections\": [\n      (v7/*: any*/)\n    ],\n    \"storageKey\": null\n  },\n  (v3/*: any*/)\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"defaultLayout_unreadNotifications_Subscription\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"INotificationBadgeCount\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"onNotificationCountUpdatedEvent\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Viewer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"viewer\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"Customer\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"customer\",\n                \"plural\": false,\n                \"selections\": [\n                  (v0/*: any*/),\n                  (v1/*: any*/),\n                  {\n                    \"args\": null,\n                    \"kind\": \"FragmentSpread\",\n                    \"name\": \"notifications_fragment\"\n                  }\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"MyPageMwSubscription\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"defaultLayout_unreadNotifications_Subscription\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"INotificationBadgeCount\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"onNotificationCountUpdatedEvent\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Viewer\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"viewer\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"Customer\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"customer\",\n                \"plural\": false,\n                \"selections\": [\n                  (v0/*: any*/),\n                  (v1/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": (v2/*: any*/),\n                    \"concreteType\": \"NotificationInterfaceConnection\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"notificationConnection\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"NotificationInterfaceEdge\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"edges\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"concreteType\": null,\n                            \"kind\": \"LinkedField\",\n                            \"name\": \"node\",\n                            \"plural\": false,\n                            \"selections\": [\n                              (v3/*: any*/),\n                              (v4/*: any*/),\n                              {\n                                \"kind\": \"TypeDiscriminator\",\n                                \"abstractKey\": \"__isNotificationInterface\"\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"threadId\",\n                                    \"storageKey\": null\n                                  },\n                                  (v5/*: any*/),\n                                  (v6/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"subject\",\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"authorName\",\n                                    \"storageKey\": null\n                                  }\n                                ],\n                                \"type\": \"MessageNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  (v9/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": \"Document\",\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"document\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"documentTypeName\",\n                                        \"storageKey\": null\n                                      },\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  (v10/*: any*/),\n                                  (v5/*: any*/)\n                                ],\n                                \"type\": \"DocumentSigningNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": (v12/*: any*/),\n                                \"type\": \"ActivityNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"searchProfile\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v4/*: any*/),\n                                      (v3/*: any*/),\n                                      (v11/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  (v5/*: any*/)\n                                ],\n                                \"type\": \"SearchProfileMatchNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  (v9/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"kind\": \"ScalarField\",\n                                    \"name\": \"typeName\",\n                                    \"storageKey\": null\n                                  },\n                                  (v5/*: any*/)\n                                ],\n                                \"type\": \"RequestedDocumentNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v5/*: any*/),\n                                  (v6/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": \"SearchProfileMatchedCase\",\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"searchProfileMatchedCase\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"concreteType\": null,\n                                        \"kind\": \"LinkedField\",\n                                        \"name\": \"baseCase\",\n                                        \"plural\": false,\n                                        \"selections\": [\n                                          (v4/*: any*/),\n                                          (v10/*: any*/),\n                                          (v8/*: any*/),\n                                          (v3/*: any*/)\n                                        ],\n                                        \"storageKey\": null\n                                      },\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"searchProfile\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v4/*: any*/),\n                                      (v11/*: any*/),\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  }\n                                ],\n                                \"type\": \"SearchProfileMatchedCaseNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"baseCase\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v4/*: any*/),\n                                      (v8/*: any*/),\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"caseNo\",\n                                        \"storageKey\": null\n                                      },\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  },\n                                  (v5/*: any*/),\n                                  (v6/*: any*/),\n                                  (v10/*: any*/)\n                                ],\n                                \"type\": \"DocumentAccessGrantedNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"lead\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      (v4/*: any*/),\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"statusType\",\n                                        \"storageKey\": null\n                                      },\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"concreteType\": \"LeadTypeGraphType\",\n                                        \"kind\": \"LinkedField\",\n                                        \"name\": \"type\",\n                                        \"plural\": false,\n                                        \"selections\": [\n                                          {\n                                            \"alias\": null,\n                                            \"args\": null,\n                                            \"kind\": \"ScalarField\",\n                                            \"name\": \"displayName\",\n                                            \"storageKey\": null\n                                          },\n                                          (v3/*: any*/)\n                                        ],\n                                        \"storageKey\": null\n                                      },\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"kind\": \"ScalarField\",\n                                        \"name\": \"receivedDate\",\n                                        \"storageKey\": null\n                                      },\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  }\n                                ],\n                                \"type\": \"LeadNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  (v5/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": null,\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"case\",\n                                    \"plural\": false,\n                                    \"selections\": (v13/*: any*/),\n                                    \"storageKey\": null\n                                  }\n                                ],\n                                \"type\": \"PriceChangeOnFavoriteCaseNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": [\n                                  (v6/*: any*/),\n                                  (v5/*: any*/),\n                                  {\n                                    \"alias\": null,\n                                    \"args\": null,\n                                    \"concreteType\": \"SearchProfileMatchedCase\",\n                                    \"kind\": \"LinkedField\",\n                                    \"name\": \"searchProfileMatchedCase\",\n                                    \"plural\": false,\n                                    \"selections\": [\n                                      {\n                                        \"alias\": null,\n                                        \"args\": null,\n                                        \"concreteType\": null,\n                                        \"kind\": \"LinkedField\",\n                                        \"name\": \"baseCase\",\n                                        \"plural\": false,\n                                        \"selections\": (v13/*: any*/),\n                                        \"storageKey\": null\n                                      },\n                                      (v3/*: any*/)\n                                    ],\n                                    \"storageKey\": null\n                                  }\n                                ],\n                                \"type\": \"PriceChangedOnMatchedCaseNotification\",\n                                \"abstractKey\": null\n                              },\n                              {\n                                \"kind\": \"InlineFragment\",\n                                \"selections\": (v12/*: any*/),\n                                \"type\": \"OpenHouseOnFavoriteCaseNotification\",\n                                \"abstractKey\": null\n                              }\n                            ],\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"cursor\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"PageInfo\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"pageInfo\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"endCursor\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"hasNextPage\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": \"notificationConnection(first:12)\"\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": (v2/*: any*/),\n                    \"filters\": null,\n                    \"handle\": \"connection\",\n                    \"key\": \"mainNavigation_notificationConnection\",\n                    \"kind\": \"LinkedHandle\",\n                    \"name\": \"notificationConnection\"\n                  },\n                  (v3/*: any*/)\n                ],\n                \"storageKey\": null\n              },\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"9326cee3106db97bc83175b61001ac12\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"defaultLayout_unreadNotifications_Subscription\",\n    \"operationKind\": \"subscription\",\n    \"text\": \"subscription defaultLayout_unreadNotifications_Subscription {\\n  onNotificationCountUpdatedEvent {\\n    viewer {\\n      customer {\\n        unreadNotificationsCount\\n        unreadThreadCount\\n        ...notifications_fragment\\n        id\\n      }\\n      id\\n    }\\n  }\\n}\\n\\nfragment activityNotification_fragment on ActivityNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment documentAccessGrantedNotification_fragment on DocumentAccessGrantedNotification {\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    caseNo\\n    id\\n  }\\n  id\\n  createdDate\\n  read\\n  address\\n}\\n\\nfragment documentSigningNotification_fragment on DocumentSigningNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  document {\\n    documentTypeName\\n    id\\n  }\\n  address\\n  createdDate\\n}\\n\\nfragment leadNotification_fragment on LeadNotification {\\n  read\\n  lead {\\n    __typename\\n    statusType\\n    type {\\n      displayName\\n      id\\n    }\\n    receivedDate\\n    id\\n  }\\n}\\n\\nfragment messageNotification_fragment on MessageNotification {\\n  createdDate\\n  read\\n  subject\\n  authorName\\n}\\n\\nfragment notificationComponent_fragment on NotificationInterface {\\n  __isNotificationInterface: __typename\\n  __typename\\n  ... on MessageNotification {\\n    threadId\\n  }\\n  ...messageNotification_fragment\\n  ...documentSigningNotification_fragment\\n  ...activityNotification_fragment\\n  ...searchProfileMatchNotification_fragment\\n  ...requestedDocumentNotification_fragment\\n  ...searchProfileMatchedCaseNotification_fragment\\n  ...documentAccessGrantedNotification_fragment\\n  ...leadNotification_fragment\\n  ...priceChangeFavoriteCaseNotification_fragment\\n  ...priceChangeOnMatchCaseNotification_fragment\\n  ...openHouseFavoriteCaseNotification_fragment\\n}\\n\\nfragment notifications_fragment on Customer {\\n  notificationConnection(first: 12) {\\n    edges {\\n      node {\\n        id\\n        __typename\\n        ...notificationComponent_fragment\\n      }\\n      cursor\\n    }\\n    pageInfo {\\n      endCursor\\n      hasNextPage\\n    }\\n  }\\n  id\\n}\\n\\nfragment openHouseFavoriteCaseNotification_fragment on OpenHouseOnFavoriteCaseNotification {\\n  read\\n  appointmentActivity {\\n    name\\n    location\\n    baseCase {\\n      __typename\\n      address\\n      id\\n    }\\n    startDate\\n    endDate\\n    id\\n  }\\n  createdDate\\n}\\n\\nfragment priceChangeFavoriteCaseNotification_fragment on PriceChangeOnFavoriteCaseNotification {\\n  id\\n  read\\n  createdDate\\n  case {\\n    __typename\\n    address\\n    relationType {\\n      relationId\\n    }\\n    id\\n  }\\n}\\n\\nfragment priceChangeOnMatchCaseNotification_fragment on PriceChangedOnMatchedCaseNotification {\\n  id\\n  read\\n  createdDate\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n      }\\n      id\\n    }\\n    id\\n  }\\n}\\n\\nfragment requestedDocumentNotification_fragment on RequestedDocumentNotification {\\n  read\\n  baseCase {\\n    __typename\\n    relationType {\\n      relationId\\n      relationType\\n    }\\n    id\\n  }\\n  typeName\\n  createdDate\\n}\\n\\nfragment searchProfileMatchNotification_fragment on SearchProfileMatchNotification {\\n  read\\n  searchProfile {\\n    __typename\\n    id\\n    name\\n  }\\n  createdDate\\n}\\n\\nfragment searchProfileMatchedCaseNotification_fragment on SearchProfileMatchedCaseNotification {\\n  id\\n  createdDate\\n  __typename\\n  read\\n  searchProfileMatchedCase {\\n    baseCase {\\n      __typename\\n      address\\n      relationType {\\n        relationId\\n        relationType\\n      }\\n      id\\n    }\\n    id\\n  }\\n  searchProfile {\\n    __typename\\n    name\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"088d5b96385728e2bb04f2bddd5ab47f\";\n\nexport default node;\n","/**\n * @generated SignedSource<<374dc2042c58039cd2005025dcbb5a72>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ReaderFragment, RefetchableFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type notifications_fragment$data = {\n  readonly id: string;\n  readonly notificationConnection: {\n    readonly edges: ReadonlyArray<{\n      readonly node: {\n        readonly __typename: string;\n        readonly id: string;\n        readonly \" $fragmentSpreads\": FragmentRefs<\"notificationComponent_fragment\">;\n      } | null | undefined;\n    } | null | undefined> | null | undefined;\n  } | null | undefined;\n  readonly \" $fragmentType\": \"notifications_fragment\";\n};\nexport type notifications_fragment$key = {\n  readonly \" $data\"?: notifications_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"notifications_fragment\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = [\n  \"notificationConnection\"\n],\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [\n    {\n      \"defaultValue\": null,\n      \"kind\": \"LocalArgument\",\n      \"name\": \"after\"\n    },\n    {\n      \"defaultValue\": 12,\n      \"kind\": \"LocalArgument\",\n      \"name\": \"first\"\n    }\n  ],\n  \"kind\": \"Fragment\",\n  \"metadata\": {\n    \"connection\": [\n      {\n        \"count\": \"first\",\n        \"cursor\": \"after\",\n        \"direction\": \"forward\",\n        \"path\": (v0/*: any*/)\n      }\n    ],\n    \"refetch\": {\n      \"connection\": {\n        \"forward\": {\n          \"count\": \"first\",\n          \"cursor\": \"after\"\n        },\n        \"backward\": null,\n        \"path\": (v0/*: any*/)\n      },\n      \"fragmentPathInResult\": [\n        \"node\"\n      ],\n      \"operation\": require('./mainNavigationNotificationsRefreshQuery.graphql'),\n      \"identifierInfo\": {\n        \"identifierField\": \"id\",\n        \"identifierQueryVariableName\": \"id\"\n      }\n    }\n  },\n  \"name\": \"notifications_fragment\",\n  \"selections\": [\n    {\n      \"alias\": \"notificationConnection\",\n      \"args\": null,\n      \"concreteType\": \"NotificationInterfaceConnection\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"__mainNavigation_notificationConnection_connection\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"NotificationInterfaceEdge\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"edges\",\n          \"plural\": true,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": null,\n              \"kind\": \"LinkedField\",\n              \"name\": \"node\",\n              \"plural\": false,\n              \"selections\": [\n                (v1/*: any*/),\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"__typename\",\n                  \"storageKey\": null\n                },\n                {\n                  \"args\": null,\n                  \"kind\": \"FragmentSpread\",\n                  \"name\": \"notificationComponent_fragment\"\n                }\n              ],\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"cursor\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"PageInfo\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"pageInfo\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"endCursor\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"hasNextPage\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    (v1/*: any*/)\n  ],\n  \"type\": \"Customer\",\n  \"abstractKey\": null\n};\n})();\n\n(node as any).hash = \"85745bf75789444887bbdc3e339133d5\";\n\nexport default node;\n","/**\n * @generated SignedSource<<3a19562e4e2c8872b39532c73f49ee98>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type WebPushSubscriptionInput = {\n  auth: string;\n  endpoint: string;\n  p256Dh: string;\n};\nexport type subscribeClientMutation$variables = {\n  input: WebPushSubscriptionInput;\n};\nexport type subscribeClientMutation$data = {\n  readonly subscribeClient: boolean | null | undefined;\n};\nexport type subscribeClientMutation = {\n  response: subscribeClientMutation$data;\n  variables: subscribeClientMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"alias\": null,\n    \"args\": [\n      {\n        \"kind\": \"Variable\",\n        \"name\": \"input\",\n        \"variableName\": \"input\"\n      }\n    ],\n    \"kind\": \"ScalarField\",\n    \"name\": \"subscribeClient\",\n    \"storageKey\": null\n  }\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"subscribeClientMutation\",\n    \"selections\": (v1/*: any*/),\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"subscribeClientMutation\",\n    \"selections\": (v1/*: any*/)\n  },\n  \"params\": {\n    \"cacheID\": \"50db81c00cbe24067ca055da45d276b3\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"subscribeClientMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation subscribeClientMutation(\\n  $input: WebPushSubscriptionInput!\\n) {\\n  subscribeClient(input: $input)\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"5ec051e15a375c4f15e59c4da05548df\";\n\nexport default node;\n","/**\n * @generated SignedSource<<20c91ef91ef1a52f80f26060cfeca7be>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type WebPushSubscriptionInput = {\n  auth: string;\n  endpoint: string;\n  p256Dh: string;\n};\nexport type unsubscribeClientMutation$variables = {\n  input: WebPushSubscriptionInput;\n};\nexport type unsubscribeClientMutation$data = {\n  readonly unsubscribe: boolean | null | undefined;\n};\nexport type unsubscribeClientMutation = {\n  response: unsubscribeClientMutation$data;\n  variables: unsubscribeClientMutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"alias\": null,\n    \"args\": [\n      {\n        \"kind\": \"Variable\",\n        \"name\": \"input\",\n        \"variableName\": \"input\"\n      }\n    ],\n    \"kind\": \"ScalarField\",\n    \"name\": \"unsubscribe\",\n    \"storageKey\": null\n  }\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"unsubscribeClientMutation\",\n    \"selections\": (v1/*: any*/),\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"unsubscribeClientMutation\",\n    \"selections\": (v1/*: any*/)\n  },\n  \"params\": {\n    \"cacheID\": \"df4ee0296d10cfdb8fa779d7eda7ba4d\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"unsubscribeClientMutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation unsubscribeClientMutation(\\n  $input: WebPushSubscriptionInput!\\n) {\\n  unsubscribe(input: $input)\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"d307353c63f3f3ea051b8ab77410b0a6\";\n\nexport default node;\n","/**\n * @generated SignedSource<<da3290e6587b9092b02cfeb0e39a8b3a>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type favoritePage_Query$variables = {\n  matchId: string;\n};\nexport type favoritePage_Query$data = {\n  readonly node: {\n    readonly baseCase?: {\n      readonly \" $fragmentSpreads\": FragmentRefs<\"contactModule_baseCase\">;\n    } | null | undefined;\n    readonly offmarketCase?: {\n      readonly \" $fragmentSpreads\": FragmentRefs<\"contactModuleOffmarket_offmarketCase\">;\n    } | null | undefined;\n    readonly \" $fragmentSpreads\": FragmentRefs<\"favoritePageHero_fragment\">;\n  } | null | undefined;\n  readonly viewer: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"myPageSpotsEntity\">;\n  } | null | undefined;\n};\nexport type favoritePage_Query = {\n  response: favoritePage_Query$data;\n  variables: favoritePage_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"matchId\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"id\",\n    \"variableName\": \"matchId\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"linkUrl\",\n  \"storageKey\": null\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"address\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"city\",\n  \"storageKey\": null\n},\nv7 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"yearBuilt\",\n  \"storageKey\": null\n},\nv8 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"phone\",\n  \"storageKey\": null\n},\nv9 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"name\",\n  \"storageKey\": null\n},\nv10 = [\n  {\n    \"alias\": null,\n    \"args\": null,\n    \"concreteType\": \"Employee\",\n    \"kind\": \"LinkedField\",\n    \"name\": \"employee\",\n    \"plural\": false,\n    \"selections\": [\n      (v3/*: any*/),\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"fullName\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"lastName\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"firstName\",\n        \"storageKey\": null\n      },\n      (v8/*: any*/),\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"employeePrimaryImageUrl\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"kind\": \"ScalarField\",\n        \"name\": \"title\",\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Shop\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"offerShop\",\n        \"plural\": false,\n        \"selections\": [\n          (v9/*: any*/),\n          (v8/*: any*/),\n          (v6/*: any*/),\n          (v5/*: any*/),\n          (v3/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"storageKey\": null\n  }\n],\nv11 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"MediaDataConnection\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"mediaDataConnection\",\n  \"plural\": false,\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MediaDataEdge\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"edges\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Media\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"node\",\n          \"plural\": false,\n          \"selections\": [\n            (v3/*: any*/),\n            {\n              \"alias\": null,\n              \"args\": [\n                {\n                  \"kind\": \"Literal\",\n                  \"name\": \"resourceType\",\n                  \"value\": \"Asset\"\n                }\n              ],\n              \"kind\": \"ScalarField\",\n              \"name\": \"resourceUrl\",\n              \"storageKey\": \"resourceUrl(resourceType:\\\"Asset\\\")\"\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"MediaType\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"mediaType\",\n              \"plural\": false,\n              \"selections\": [\n                (v9/*: any*/),\n                (v3/*: any*/)\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": null\n},\nv12 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n},\nv13 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseDescription\",\n  \"storageKey\": null\n},\nv14 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseDescriptionHeading\",\n  \"storageKey\": null\n},\nv15 = [\n  (v12/*: any*/)\n],\nv16 = {\n  \"alias\": \"businessPropertyType\",\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"favoritePage_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"args\": null,\n                \"kind\": \"FragmentSpread\",\n                \"name\": \"favoritePageHero_fragment\"\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": null,\n                \"kind\": \"LinkedField\",\n                \"name\": \"baseCase\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"args\": null,\n                    \"kind\": \"FragmentSpread\",\n                    \"name\": \"contactModule_baseCase\"\n                  }\n                ],\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"OffmarketCase\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"offmarketCase\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"args\": null,\n                    \"kind\": \"FragmentSpread\",\n                    \"name\": \"contactModuleOffmarket_offmarketCase\"\n                  }\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"type\": \"CasePotentialBuyer\",\n            \"abstractKey\": null\n          }\n        ],\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": null,\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"myPageSpotsEntity\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"favoritePage_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          (v2/*: any*/),\n          (v3/*: any*/),\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": null,\n                \"kind\": \"LinkedField\",\n                \"name\": \"baseCase\",\n                \"plural\": false,\n                \"selections\": [\n                  (v2/*: any*/),\n                  {\n                    \"kind\": \"TypeDiscriminator\",\n                    \"abstractKey\": \"__isBaseCase\"\n                  },\n                  (v3/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"CaseAnnounced\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"caseAnnounced\",\n                    \"plural\": true,\n                    \"selections\": [\n                      (v4/*: any*/),\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"type\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  (v5/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"zipCode\",\n                    \"storageKey\": null\n                  },\n                  (v6/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"energyMark\",\n                    \"storageKey\": null\n                  },\n                  (v7/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"heat\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"BaseCaseMainOffer\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"baseCaseMainOffer\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"cashPrice\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"TotalCosts\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"totalCosts\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"yearlyGrossOutput\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"yearlyNetOutput\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"minimumPayout\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"technicalPrice\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"IncreasePerYear\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"rateOfReturn\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"annualAmount\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"EmployeeOffer\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"employeeOffer\",\n                        \"plural\": true,\n                        \"selections\": (v10/*: any*/),\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"CaseAreas\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"caseAreas\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"livableArea\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"plotAreaSum\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"atticArea\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"basementArea\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"builtUpArea\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"commercialArea\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"otherBuildingsSum\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"annualHeatingPrice\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"floorCount\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"roomCount\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": null,\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"buildings\",\n                    \"plural\": true,\n                    \"selections\": [\n                      (v2/*: any*/),\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"BuildingInclArea\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"buildingInclAreas\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"area\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": [\n                      {\n                        \"kind\": \"Literal\",\n                        \"name\": \"amount\",\n                        \"value\": 2\n                      }\n                    ],\n                    \"concreteType\": \"OpenHouse\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"openHouse\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"ActivityType\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"activityType\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"isRegistration\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"nameOnTimeline\",\n                            \"storageKey\": null\n                          },\n                          (v3/*: any*/)\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"isRegistred\",\n                        \"storageKey\": null\n                      },\n                      (v3/*: any*/),\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"startDate\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"endDate\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"registrationDeadline\",\n                        \"storageKey\": null\n                      },\n                      (v2/*: any*/)\n                    ],\n                    \"storageKey\": \"openHouse(amount:2)\"\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"noAdvertisement\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"gpsCoordinates\",\n                    \"storageKey\": null\n                  },\n                  (v11/*: any*/),\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"ownerCostsTotalMonthly\",\n                        \"storageKey\": null\n                      },\n                      (v12/*: any*/),\n                      {\n                        \"alias\": \"salesStatus\",\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"status\",\n                        \"storageKey\": null\n                      },\n                      (v13/*: any*/),\n                      (v14/*: any*/)\n                    ],\n                    \"type\": \"SalesCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v15/*: any*/),\n                    \"type\": \"RectifyCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v15/*: any*/),\n                    \"type\": \"CounselingPropertyCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      (v12/*: any*/),\n                      {\n                        \"alias\": \"rentalStatus\",\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"status\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"rentMonthly\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"accountWater\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"accountHeat\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"accountElectricity\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"prepaidRent\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"deposit\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"type\": \"RentalCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v15/*: any*/),\n                    \"type\": \"CounselingCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      {\n                        \"alias\": \"businessSalesCaseStatus\",\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"status\",\n                        \"storageKey\": null\n                      },\n                      (v16/*: any*/),\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": null,\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"buildings\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"isMainBuilding\",\n                            \"storageKey\": null\n                          },\n                          (v7/*: any*/)\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"investmentProperty\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"status\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"tenanciesYearlyRentTotal\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"type\": \"BusinessSalesCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      (v16/*: any*/),\n                      {\n                        \"alias\": \"businessRentalCase\",\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"status\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"type\": \"BusinessRentalCase\",\n                    \"abstractKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"OffmarketCase\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"offmarketCase\",\n                \"plural\": false,\n                \"selections\": [\n                  (v13/*: any*/),\n                  (v14/*: any*/),\n                  (v12/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"businessPropertyType\",\n                    \"storageKey\": null\n                  },\n                  (v11/*: any*/),\n                  (v3/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"caseId\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"EmployeeOffer\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"mainOfferEmployees\",\n                    \"plural\": true,\n                    \"selections\": (v10/*: any*/),\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"type\": \"CasePotentialBuyer\",\n            \"abstractKey\": null\n          }\n        ],\n        \"storageKey\": null\n      },\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"MyPageSpot\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"myPageSpots\",\n            \"plural\": true,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"myPageSpotRole\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"MyPageSpotEntry\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"entries\",\n                \"plural\": true,\n                \"selections\": [\n                  (v3/*: any*/),\n                  (v4/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"imageUrl\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"width\",\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              },\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          (v3/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"40910e01720b353b582be14b681e4649\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"favoritePage_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query favoritePage_Query(\\n  $matchId: ID!\\n) {\\n  node(id: $matchId) {\\n    __typename\\n    ... on CasePotentialBuyer {\\n      ...favoritePageHero_fragment\\n      baseCase {\\n        __typename\\n        ...contactModule_baseCase\\n        id\\n      }\\n      offmarketCase {\\n        ...contactModuleOffmarket_offmarketCase\\n        id\\n      }\\n    }\\n    id\\n  }\\n  viewer {\\n    ...myPageSpotsEntity\\n    id\\n  }\\n}\\n\\nfragment caseFullscreenGallery_mediaDataConnection on MediaDataConnection {\\n  ...caseImagesSwiper_mediaDataConnection\\n}\\n\\nfragment caseGallerySwiper_mediaDataConnection on MediaDataConnection {\\n  edges {\\n    node {\\n      id\\n      resourceUrl(resourceType: Asset)\\n      mediaType {\\n        name\\n        id\\n      }\\n    }\\n  }\\n}\\n\\nfragment caseGallery_mediaDataConnection on MediaDataConnection {\\n  ...caseGallerySwiper_mediaDataConnection\\n}\\n\\nfragment caseImagesSwiper_mediaDataConnection on MediaDataConnection {\\n  edges {\\n    node {\\n      id\\n      resourceUrl(resourceType: Asset)\\n      mediaType {\\n        name\\n        id\\n      }\\n    }\\n  }\\n}\\n\\nfragment caseImages_Media on MediaDataConnection {\\n  ...caseGallery_mediaDataConnection\\n  ...caseFullscreenGallery_mediaDataConnection\\n  ...caseImagesSwiper_mediaDataConnection\\n  edges {\\n    node {\\n      resourceUrl(resourceType: Asset)\\n      mediaType {\\n        name\\n        id\\n      }\\n      id\\n    }\\n  }\\n}\\n\\nfragment contactCard_employee on Employee {\\n  lastName\\n  firstName\\n  fullName\\n  phone\\n  employeePrimaryImageUrl\\n  title\\n  offerShop {\\n    name\\n    phone\\n    city\\n    address\\n    id\\n  }\\n}\\n\\nfragment contactModuleOffmarket_offmarketCase on OffmarketCase {\\n  id\\n  caseId\\n  caseDescriptionHeading\\n  propertyType\\n  businessPropertyType\\n  mainOfferEmployees {\\n    employee {\\n      id\\n      fullName\\n      ...contactCard_employee\\n    }\\n  }\\n}\\n\\nfragment contactModule_baseCase on BaseCase {\\n  __isBaseCase: __typename\\n  id\\n  address\\n  baseCaseMainOffer {\\n    employeeOffer {\\n      employee {\\n        id\\n        fullName\\n        ...contactCard_employee\\n        offerShop {\\n          name\\n          id\\n        }\\n      }\\n    }\\n  }\\n}\\n\\nfragment favoritePageHero_fragment on CasePotentialBuyer {\\n  __typename\\n  baseCase {\\n    __typename\\n    ...matchHeroContentFragment_baseCase\\n    ...registerOpenHouseModalFragment\\n    ...openHouseImageOverlay_baseCase\\n    noAdvertisement\\n    gpsCoordinates\\n    openHouse(amount: 2) {\\n      __typename\\n      id\\n    }\\n    mediaDataConnection {\\n      ...caseImages_Media\\n    }\\n    id\\n  }\\n  offmarketCase {\\n    ...matchHeroContentFragment_offmarketCase\\n    mediaDataConnection {\\n      ...caseImages_Media\\n    }\\n    id\\n  }\\n}\\n\\nfragment matchHeroContentAgriculturalCase_baseCase on BaseCase {\\n  __isBaseCase: __typename\\n  energyMark\\n  yearBuilt\\n  heat\\n  baseCaseMainOffer {\\n    cashPrice\\n    totalCosts {\\n      yearlyGrossOutput\\n      yearlyNetOutput\\n      minimumPayout\\n    }\\n  }\\n  caseAreas {\\n    livableArea\\n    plotAreaSum\\n  }\\n  ... on SalesCase {\\n    ownerCostsTotalMonthly\\n    propertyType\\n    salesStatus: status\\n  }\\n  ... on RectifyCase {\\n    propertyType\\n  }\\n  ... on CounselingPropertyCase {\\n    propertyType\\n  }\\n  ... on RentalCase {\\n    propertyType\\n    rentalStatus: status\\n  }\\n  ... on CounselingCase {\\n    propertyType\\n  }\\n  ... on BusinessSalesCase {\\n    businessSalesCaseStatus: status\\n    businessPropertyType: propertyType\\n  }\\n  ... on BusinessRentalCase {\\n    businessPropertyType: propertyType\\n    businessRentalCase: status\\n  }\\n}\\n\\nfragment matchHeroContentBusinessSalesCase on BaseCase {\\n  __isBaseCase: __typename\\n  energyMark\\n  yearBuilt\\n  baseCaseMainOffer {\\n    cashPrice\\n    rateOfReturn {\\n      annualAmount\\n    }\\n  }\\n  caseAreas {\\n    commercialArea\\n    livableArea\\n    plotAreaSum\\n    builtUpArea\\n  }\\n  ... on BusinessSalesCase {\\n    buildings {\\n      __typename\\n      isMainBuilding\\n      yearBuilt\\n    }\\n    investmentProperty\\n    businessPropertyType: propertyType\\n    status\\n    tenanciesYearlyRentTotal\\n  }\\n}\\n\\nfragment matchHeroContentCounselingCase on BaseCaseMainOffer {\\n  cashPrice\\n}\\n\\nfragment matchHeroContentFragment_baseCase on BaseCase {\\n  __isBaseCase: __typename\\n  id\\n  caseAnnounced {\\n    linkUrl\\n    type\\n  }\\n  ...matchHeroDetailsFragment\\n  ... on SalesCase {\\n    noAdvertisement\\n    caseDescription\\n    caseDescriptionHeading\\n    __typename\\n  }\\n}\\n\\nfragment matchHeroContentFragment_offmarketCase on OffmarketCase {\\n  caseDescription\\n  caseDescriptionHeading\\n  ...matchHeroOffmarketDetailsFragment_offmarketCase\\n}\\n\\nfragment matchHeroContentRentalCase on BaseCase {\\n  __isBaseCase: __typename\\n  energyMark\\n  yearBuilt\\n  roomCount\\n  caseAreas {\\n    livableArea\\n  }\\n  ... on RentalCase {\\n    rentMonthly\\n    accountWater\\n    accountHeat\\n    accountElectricity\\n    prepaidRent\\n    deposit\\n  }\\n}\\n\\nfragment matchHeroContentSalesCase on BaseCase {\\n  __isBaseCase: __typename\\n  energyMark\\n  yearBuilt\\n  heat\\n  otherBuildingsSum\\n  annualHeatingPrice\\n  floorCount\\n  roomCount\\n  buildings {\\n    __typename\\n    buildingInclAreas {\\n      area\\n    }\\n  }\\n  baseCaseMainOffer {\\n    cashPrice\\n    technicalPrice\\n    totalCosts {\\n      yearlyGrossOutput\\n      yearlyNetOutput\\n      minimumPayout\\n    }\\n  }\\n  caseAreas {\\n    livableArea\\n    plotAreaSum\\n    atticArea\\n    basementArea\\n    builtUpArea\\n  }\\n  ... on SalesCase {\\n    ownerCostsTotalMonthly\\n    propertyType\\n    salesStatus: status\\n  }\\n}\\n\\nfragment matchHeroDetailsFragment on BaseCase {\\n  __isBaseCase: __typename\\n  address\\n  zipCode\\n  city\\n  ...matchHeroContentAgriculturalCase_baseCase\\n  ...matchHeroContentSalesCase\\n  ...matchHeroContentRentalCase\\n  ...matchHeroContentBusinessSalesCase\\n  baseCaseMainOffer {\\n    ...matchHeroContentCounselingCase\\n  }\\n  ... on SalesCase {\\n    propertyType\\n    __typename\\n  }\\n  ... on RectifyCase {\\n    __typename\\n    propertyType\\n  }\\n  ... on CounselingPropertyCase {\\n    __typename\\n    propertyType\\n  }\\n  ... on RentalCase {\\n    __typename\\n    propertyType\\n  }\\n  ... on CounselingCase {\\n    __typename\\n    propertyType\\n  }\\n  ... on BusinessSalesCase {\\n    __typename\\n    businessPropertyType: propertyType\\n  }\\n  ... on BusinessRentalCase {\\n    __typename\\n    businessPropertyType: propertyType\\n  }\\n}\\n\\nfragment matchHeroOffmarketDetailsFragment_offmarketCase on OffmarketCase {\\n  propertyType\\n  businessPropertyType\\n}\\n\\nfragment myPageSpotsEntity on Viewer {\\n  myPageSpots {\\n    myPageSpotRole\\n    entries {\\n      id\\n      linkUrl\\n      imageUrl\\n      width\\n    }\\n    id\\n  }\\n}\\n\\nfragment openHouseImageOverlay_baseCase on BaseCase {\\n  __isBaseCase: __typename\\n  openHouse(amount: 2) {\\n    registrationDeadline\\n    activityType {\\n      nameOnTimeline\\n      isRegistration\\n      id\\n    }\\n    startDate\\n    isRegistred\\n    id\\n  }\\n}\\n\\nfragment registerOpenHouseModalFragment on BaseCase {\\n  __isBaseCase: __typename\\n  openHouse(amount: 2) {\\n    activityType {\\n      isRegistration\\n      nameOnTimeline\\n      id\\n    }\\n    isRegistred\\n    id\\n    startDate\\n    endDate\\n  }\\n  id\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"ea2d10e0db1d81a86340c0b7261ca716\";\n\nexport default node;\n","/**\n * @generated SignedSource<<e2164857e406f4a3a588285b9e2cc5f5>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type favoritePageHero_fragment$data = {\n  readonly __typename: \"CasePotentialBuyer\";\n  readonly baseCase: {\n    readonly gpsCoordinates: string | null | undefined;\n    readonly mediaDataConnection: {\n      readonly \" $fragmentSpreads\": FragmentRefs<\"caseImages_Media\">;\n    } | null | undefined;\n    readonly noAdvertisement: boolean | null | undefined;\n    readonly openHouse: ReadonlyArray<{\n      readonly __typename: \"OpenHouse\";\n    } | null | undefined> | null | undefined;\n    readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentFragment_baseCase\" | \"openHouseImageOverlay_baseCase\" | \"registerOpenHouseModalFragment\">;\n  } | null | undefined;\n  readonly offmarketCase: {\n    readonly mediaDataConnection: {\n      readonly \" $fragmentSpreads\": FragmentRefs<\"caseImages_Media\">;\n    } | null | undefined;\n    readonly \" $fragmentSpreads\": FragmentRefs<\"matchHeroContentFragment_offmarketCase\">;\n  } | null | undefined;\n  readonly \" $fragmentType\": \"favoritePageHero_fragment\";\n};\nexport type favoritePageHero_fragment$key = {\n  readonly \" $data\"?: favoritePageHero_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"favoritePageHero_fragment\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"concreteType\": \"MediaDataConnection\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"mediaDataConnection\",\n  \"plural\": false,\n  \"selections\": [\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"caseImages_Media\"\n    }\n  ],\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"favoritePageHero_fragment\",\n  \"selections\": [\n    (v0/*: any*/),\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"matchHeroContentFragment_baseCase\"\n        },\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"registerOpenHouseModalFragment\"\n        },\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"openHouseImageOverlay_baseCase\"\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"noAdvertisement\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"gpsCoordinates\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": [\n            {\n              \"kind\": \"Literal\",\n              \"name\": \"amount\",\n              \"value\": 2\n            }\n          ],\n          \"concreteType\": \"OpenHouse\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"openHouse\",\n          \"plural\": true,\n          \"selections\": [\n            (v0/*: any*/)\n          ],\n          \"storageKey\": \"openHouse(amount:2)\"\n        },\n        (v1/*: any*/)\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"OffmarketCase\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"offmarketCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"matchHeroContentFragment_offmarketCase\"\n        },\n        (v1/*: any*/)\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"CasePotentialBuyer\",\n  \"abstractKey\": null\n};\n})();\n\n(node as any).hash = \"3badb7e9841c7a42bc79d91b3da25154\";\n\nexport default node;\n","/**\n * @generated SignedSource<<b5ffe9a5132fff6a34df558068d8223b>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type favoritePageDocumentsRender_Query$variables = {\n  favoriteId: string;\n};\nexport type favoritePageDocumentsRender_Query$data = {\n  readonly node: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"favoritePageDocumentsBody_CasePotentialBuyer\">;\n  } | null | undefined;\n};\nexport type favoritePageDocumentsRender_Query = {\n  response: favoritePageDocumentsRender_Query$data;\n  variables: favoritePageDocumentsRender_Query$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"favoriteId\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"id\",\n    \"variableName\": \"favoriteId\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"__typename\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = [\n  {\n    \"kind\": \"Literal\",\n    \"name\": \"first\",\n    \"value\": 10\n  }\n];\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"favoritePageDocumentsRender_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": null,\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"favoritePageDocumentsBody_CasePotentialBuyer\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"favoritePageDocumentsRender_Query\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": null,\n        \"kind\": \"LinkedField\",\n        \"name\": \"node\",\n        \"plural\": false,\n        \"selections\": [\n          (v2/*: any*/),\n          (v3/*: any*/),\n          {\n            \"kind\": \"InlineFragment\",\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": null,\n                \"kind\": \"LinkedField\",\n                \"name\": \"baseCase\",\n                \"plural\": false,\n                \"selections\": [\n                  (v2/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"publicDocumentAllDownloadUrl\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"publicDocumentMultipleDownloadUrl\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": (v4/*: any*/),\n                    \"concreteType\": \"DocumentConnection\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"publicDocumentConnection\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"DocumentEdge\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"edges\",\n                        \"plural\": true,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"concreteType\": \"Document\",\n                            \"kind\": \"LinkedField\",\n                            \"name\": \"node\",\n                            \"plural\": false,\n                            \"selections\": [\n                              (v3/*: any*/),\n                              {\n                                \"alias\": null,\n                                \"args\": [\n                                  {\n                                    \"kind\": \"Literal\",\n                                    \"name\": \"inline\",\n                                    \"value\": false\n                                  },\n                                  {\n                                    \"kind\": \"Literal\",\n                                    \"name\": \"previewState\",\n                                    \"value\": \"FullVersion\"\n                                  }\n                                ],\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentDownloadUrlCookieAuth\",\n                                \"storageKey\": \"documentDownloadUrlCookieAuth(inline:false,previewState:\\\"FullVersion\\\")\"\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"propertyOverviewUrl\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentName\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"documentTypeName\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"readDate\",\n                                \"storageKey\": null\n                              },\n                              {\n                                \"alias\": null,\n                                \"args\": null,\n                                \"kind\": \"ScalarField\",\n                                \"name\": \"grantedDate\",\n                                \"storageKey\": null\n                              },\n                              (v2/*: any*/)\n                            ],\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"cursor\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"totalCount\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"PageInfo\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"pageInfo\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"endCursor\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"hasNextPage\",\n                            \"storageKey\": null\n                          }\n                        ],\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": \"publicDocumentConnection(first:10)\"\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": (v4/*: any*/),\n                    \"filters\": [\n                      \"searchText\"\n                    ],\n                    \"handle\": \"connection\",\n                    \"key\": \"documents__publicDocumentConnection\",\n                    \"kind\": \"LinkedHandle\",\n                    \"name\": \"publicDocumentConnection\"\n                  },\n                  (v3/*: any*/)\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"type\": \"CasePotentialBuyer\",\n            \"abstractKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"2c2c4c8265efb6b9a0ab03edad31446e\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"favoritePageDocumentsRender_Query\",\n    \"operationKind\": \"query\",\n    \"text\": \"query favoritePageDocumentsRender_Query(\\n  $favoriteId: ID!\\n) {\\n  node(id: $favoriteId) {\\n    __typename\\n    ...favoritePageDocumentsBody_CasePotentialBuyer\\n    id\\n  }\\n}\\n\\nfragment documentsTableRowFragment on Document {\\n  id\\n  documentDownloadUrlCookieAuth(inline: false, previewState: FullVersion)\\n  propertyOverviewUrl\\n  documentName\\n  documentTypeName\\n  readDate\\n  grantedDate\\n}\\n\\nfragment favoritePageDocumentsBody_CasePotentialBuyer on CasePotentialBuyer {\\n  baseCase {\\n    __typename\\n    publicDocumentAllDownloadUrl\\n    publicDocumentMultipleDownloadUrl\\n    publicDocumentConnection(first: 10) {\\n      edges {\\n        node {\\n          id\\n          ...documentsTableRowFragment\\n          __typename\\n        }\\n        cursor\\n      }\\n      totalCount\\n      pageInfo {\\n        endCursor\\n        hasNextPage\\n      }\\n    }\\n    id\\n  }\\n  id\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"f634832f00ac7900a4569382c8073725\";\n\nexport default node;\n","/**\n * @generated SignedSource<<80f0cf2bf87630f2e57126f69967da51>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ReaderFragment, RefetchableFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type favoritePageDocumentsBody_CasePotentialBuyer$data = {\n  readonly baseCase: {\n    readonly publicDocumentAllDownloadUrl: string | null | undefined;\n    readonly publicDocumentConnection: {\n      readonly edges: ReadonlyArray<{\n        readonly node: {\n          readonly id: string;\n          readonly \" $fragmentSpreads\": FragmentRefs<\"documentsTableRowFragment\">;\n        } | null | undefined;\n      } | null | undefined> | null | undefined;\n      readonly totalCount: number | null | undefined;\n    } | null | undefined;\n    readonly publicDocumentMultipleDownloadUrl: string | null | undefined;\n  } | null | undefined;\n  readonly id: string;\n  readonly \" $fragmentType\": \"favoritePageDocumentsBody_CasePotentialBuyer\";\n};\nexport type favoritePageDocumentsBody_CasePotentialBuyer$key = {\n  readonly \" $data\"?: favoritePageDocumentsBody_CasePotentialBuyer$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"favoritePageDocumentsBody_CasePotentialBuyer\">;\n};\n\nconst node: ReaderFragment = (function(){\nvar v0 = [\n  \"baseCase\",\n  \"publicDocumentConnection\"\n],\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n};\nreturn {\n  \"argumentDefinitions\": [\n    {\n      \"defaultValue\": 10,\n      \"kind\": \"LocalArgument\",\n      \"name\": \"count\"\n    },\n    {\n      \"defaultValue\": null,\n      \"kind\": \"LocalArgument\",\n      \"name\": \"cursor\"\n    },\n    {\n      \"defaultValue\": null,\n      \"kind\": \"LocalArgument\",\n      \"name\": \"searchText\"\n    }\n  ],\n  \"kind\": \"Fragment\",\n  \"metadata\": {\n    \"connection\": [\n      {\n        \"count\": \"count\",\n        \"cursor\": \"cursor\",\n        \"direction\": \"forward\",\n        \"path\": (v0/*: any*/)\n      }\n    ],\n    \"refetch\": {\n      \"connection\": {\n        \"forward\": {\n          \"count\": \"count\",\n          \"cursor\": \"cursor\"\n        },\n        \"backward\": null,\n        \"path\": (v0/*: any*/)\n      },\n      \"fragmentPathInResult\": [\n        \"node\"\n      ],\n      \"operation\": require('./documentsPaginationQuery_CasePotentialBuyer.graphql'),\n      \"identifierInfo\": {\n        \"identifierField\": \"id\",\n        \"identifierQueryVariableName\": \"id\"\n      }\n    }\n  },\n  \"name\": \"favoritePageDocumentsBody_CasePotentialBuyer\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"publicDocumentAllDownloadUrl\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"publicDocumentMultipleDownloadUrl\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": \"publicDocumentConnection\",\n          \"args\": [\n            {\n              \"kind\": \"Variable\",\n              \"name\": \"searchText\",\n              \"variableName\": \"searchText\"\n            }\n          ],\n          \"concreteType\": \"DocumentConnection\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"__documents__publicDocumentConnection_connection\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"DocumentEdge\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"edges\",\n              \"plural\": true,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"concreteType\": \"Document\",\n                  \"kind\": \"LinkedField\",\n                  \"name\": \"node\",\n                  \"plural\": false,\n                  \"selections\": [\n                    (v1/*: any*/),\n                    {\n                      \"args\": null,\n                      \"kind\": \"FragmentSpread\",\n                      \"name\": \"documentsTableRowFragment\"\n                    },\n                    {\n                      \"alias\": null,\n                      \"args\": null,\n                      \"kind\": \"ScalarField\",\n                      \"name\": \"__typename\",\n                      \"storageKey\": null\n                    }\n                  ],\n                  \"storageKey\": null\n                },\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"cursor\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"totalCount\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"PageInfo\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"pageInfo\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"endCursor\",\n                  \"storageKey\": null\n                },\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"hasNextPage\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    (v1/*: any*/)\n  ],\n  \"type\": \"CasePotentialBuyer\",\n  \"abstractKey\": null\n};\n})();\n\n(node as any).hash = \"c2b974d0419d58f7a2dca71dab9701e0\";\n\nexport default node;\n","/**\n * @generated SignedSource<<6ec123fa2ee8b6a585ef87e25dfe00be>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Query } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type saleByOwnerPageQuery$variables = Record<PropertyKey, never>;\nexport type saleByOwnerPageQuery$data = {\n  readonly viewer: {\n    readonly \" $fragmentSpreads\": FragmentRefs<\"saleByOwnerGridFragment\" | \"saleByOwnerProcessedGridFragment\">;\n  } | null | undefined;\n};\nexport type saleByOwnerPageQuery = {\n  response: saleByOwnerPageQuery$data;\n  variables: saleByOwnerPageQuery$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv1 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseId\",\n  \"storageKey\": null\n},\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"comment\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseAddress\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"caseZipAndCity\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"saleByOwnerPageQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"args\": null,\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"saleByOwnerGridFragment\"\n          },\n          {\n            \"args\": null,\n            \"kind\": \"FragmentSpread\",\n            \"name\": \"saleByOwnerProcessedGridFragment\"\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Query\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": [],\n    \"kind\": \"Operation\",\n    \"name\": \"saleByOwnerPageQuery\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": null,\n        \"concreteType\": \"Viewer\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"viewer\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": null,\n            \"kind\": \"LinkedField\",\n            \"name\": \"myPageLeads\",\n            \"plural\": true,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"statusType\",\n                \"storageKey\": null\n              },\n              (v0/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"__typename\",\n                \"storageKey\": null\n              },\n              {\n                \"kind\": \"TypeDiscriminator\",\n                \"abstractKey\": \"__isLeadInterface\"\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"phoneNumber\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"email\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"firstName\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"lastName\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"LeadTypeGraphType\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"type\",\n                \"plural\": false,\n                \"selections\": [\n                  (v0/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"displayName\",\n                    \"storageKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              },\n              {\n                \"kind\": \"InlineFragment\",\n                \"selections\": [\n                  (v1/*: any*/),\n                  (v2/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"presentationDate\",\n                    \"storageKey\": null\n                  },\n                  (v3/*: any*/),\n                  (v4/*: any*/)\n                ],\n                \"type\": \"LeadPresentation\",\n                \"abstractKey\": null\n              },\n              {\n                \"kind\": \"InlineFragment\",\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"openHouseStartTime\",\n                    \"storageKey\": null\n                  },\n                  (v1/*: any*/),\n                  (v2/*: any*/),\n                  (v3/*: any*/),\n                  (v4/*: any*/)\n                ],\n                \"type\": \"LeadOpenHouse\",\n                \"abstractKey\": null\n              },\n              {\n                \"kind\": \"InlineFragment\",\n                \"selections\": [\n                  (v2/*: any*/),\n                  (v3/*: any*/),\n                  (v4/*: any*/)\n                ],\n                \"type\": \"LeadSalesMaterialWithContact\",\n                \"abstractKey\": null\n              }\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"AppointmentActivityType\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"propertyForSaleByOwnerAppointmentActivityTypes\",\n            \"plural\": true,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"category\",\n                \"storageKey\": null\n              },\n              (v0/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          (v0/*: any*/)\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"5740a4bc2423fb07c0f6d78ac616ce4a\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"saleByOwnerPageQuery\",\n    \"operationKind\": \"query\",\n    \"text\": \"query saleByOwnerPageQuery {\\n  viewer {\\n    ...saleByOwnerGridFragment\\n    ...saleByOwnerProcessedGridFragment\\n    id\\n  }\\n}\\n\\nfragment leadContactDialogContentFragment on LeadInterface {\\n  __isLeadInterface: __typename\\n  id\\n  phoneNumber\\n  email\\n}\\n\\nfragment leadDialogContent on LeadInterface {\\n  __isLeadInterface: __typename\\n  __typename\\n  ...leadContactDialogContentFragment\\n  ...leadPresentationDialogContent\\n  ...leadOpenHouseDialogContent\\n}\\n\\nfragment leadDialogContentViewer on Viewer {\\n  ...leadPresentationDialogContentViewer\\n  ...leadOpenHouseDialogContentViewer\\n}\\n\\nfragment leadListItemFragment on LeadInterface {\\n  __isLeadInterface: __typename\\n  id\\n  __typename\\n  ... on LeadPresentation {\\n    comment\\n    presentationDate\\n    caseAddress\\n    caseZipAndCity\\n  }\\n  ... on LeadOpenHouse {\\n    openHouseStartTime\\n    comment\\n    caseAddress\\n    caseZipAndCity\\n  }\\n  ... on LeadSalesMaterialWithContact {\\n    comment\\n    caseAddress\\n    caseZipAndCity\\n  }\\n  email\\n  phoneNumber\\n  firstName\\n  lastName\\n  type {\\n    id\\n    displayName\\n  }\\n  statusType\\n  ...leadDialogContent\\n}\\n\\nfragment leadOpenHouseDialogContent on LeadInterface {\\n  __isLeadInterface: __typename\\n  id\\n  __typename\\n  ... on LeadOpenHouse {\\n    openHouseStartTime\\n    firstName\\n    lastName\\n    phoneNumber\\n    email\\n    caseId\\n  }\\n}\\n\\nfragment leadOpenHouseDialogContentViewer on Viewer {\\n  propertyForSaleByOwnerAppointmentActivityTypes {\\n    category\\n    id\\n  }\\n}\\n\\nfragment leadPresentationDialogContent on LeadInterface {\\n  __isLeadInterface: __typename\\n  id\\n  __typename\\n  ... on LeadPresentation {\\n    firstName\\n    lastName\\n    phoneNumber\\n    email\\n    caseId\\n  }\\n}\\n\\nfragment leadPresentationDialogContentViewer on Viewer {\\n  propertyForSaleByOwnerAppointmentActivityTypes {\\n    category\\n    id\\n  }\\n}\\n\\nfragment saleByOwnerGridFragment on Viewer {\\n  myPageLeads {\\n    statusType\\n    id\\n    __typename\\n    ...leadDialogContent\\n    ...leadListItemFragment\\n  }\\n  ...leadDialogContentViewer\\n}\\n\\nfragment saleByOwnerProcessedGridFragment on Viewer {\\n  myPageLeads {\\n    statusType\\n    id\\n    __typename\\n    ...leadListItemFragment\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"6850aa7698669085af26e5debbe1265d\";\n\nexport default node;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n  if (onPerfEntry && onPerfEntry instanceof Function) {\n    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n      getCLS(onPerfEntry);\n      getFID(onPerfEntry);\n      getFCP(onPerfEntry);\n      getLCP(onPerfEntry);\n      getTTFB(onPerfEntry);\n    });\n  }\n};\n\nexport default reportWebVitals;\n","/**\n * @generated SignedSource<<5fee069babe86414f37d0484922429f1>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type stickyChat_fragment$data = {\n  readonly unreadThreadCount: number | null | undefined;\n  readonly \" $fragmentType\": \"stickyChat_fragment\";\n};\nexport type stickyChat_fragment$key = {\n  readonly \" $data\"?: stickyChat_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"stickyChat_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"stickyChat_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"unreadThreadCount\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Customer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"64ded4244e9b56469b3b4605df30438d\";\n\nexport default node;\n","import Button from 'components/atoms/button/button';\nimport { FormattedMessage } from 'react-intl';\nimport './sticky-chat.scss';\nimport { FC } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport { stickyChat_fragment$key } from '__generated__/stickyChat_fragment.graphql';\nimport { useMixPanel } from 'hooks/useMixPanel';\n\nexport interface StickyChatProps {\n  fragment: stickyChat_fragment$key | null;\n}\n\nconst stickyChatFragment = graphql`\n  fragment stickyChat_fragment on Customer {\n    unreadThreadCount\n  }\n`;\n\nconst StickyChat: FC<StickyChatProps> = (props) => {\n  const data = useFragment(stickyChatFragment, props.fragment);\n  const { track } = useMixPanel();\n\n  const chatClick = () => {\n    track('Icon_Click', { messagesLink: 'MESSAGE-ICON' });\n  };\n\n  return (\n    <div className=\"sticky-chat\">\n      <Button\n        anchorTag\n        className=\"sticky-chat__button\"\n        hideText\n        href=\"/messages\"\n        iconStart=\"Chat\"\n        padding={false}\n        onClick={chatClick}\n      >\n        <FormattedMessage defaultMessage=\"Open Chat\" id=\"Messages.OpenChat\" />\n      </Button>\n      {!!data?.unreadThreadCount && <div className=\"sticky-chat__number\">{data?.unreadThreadCount ?? 0}</div>}\n    </div>\n  );\n};\n\nexport default StickyChat;\n","import Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport { useTheme } from 'app/context/ThemeContext';\nimport { FormattedMessage } from 'react-intl';\nimport './footer.scss';\nimport { useMixPanel } from 'hooks/useMixPanel';\n\nconst Footer = () => {\n  const theme = useTheme();\n  const { track } = useMixPanel();\n\n  const logoUrl = theme?.logoUrl;\n  const logoAlt = theme?.logoAlt;\n\n  const linkClick = () => {\n    track('Footer', { footerLink: 'PRIVACYPOLICY' });\n  };\n\n  return (\n    <footer>\n      <Block backgroundColor=\"white\" className=\"footer\">\n        <Block className=\"footer__inner\" flex>\n          <Typography className=\"footer__inner--brandname\" tagStyle=\"bodySmall\">\n            {theme?.footerText ? theme?.footerText : `© ${theme?.brokerageName}`}\n          </Typography>\n          <picture className=\"footer__inner--logo\">\n            <source srcSet={logoUrl ?? '/images/mindworking-logo.svg'} />\n            <img alt={logoAlt ?? 'Mindworking'} src={logoUrl ?? '/images/mindworking-logo.jpg'} />\n          </picture>\n          <Button\n            anchorTag\n            className=\"footer__inner--privacyLinkButton\"\n            href={theme?.privacyPolicyLink}\n            version=\"link\"\n            onClick={linkClick}\n          >\n            <FormattedMessage defaultMessage=\"Cookie - & privacy policy\" id=\"Footer.privacyPolicyLink\" />\n          </Button>\n        </Block>\n      </Block>\n    </footer>\n  );\n};\n\nexport default Footer;\n","import Modal from 'components/molecules/modal/modal';\nimport { useEffect, useState } from 'react';\nimport Button from 'components/atoms/button/button';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport Block from 'components/utilities/block/block';\nimport Column from 'components/utilities/column/column';\nimport Row from 'components/utilities/row/row';\nimport { FormattedMessage } from 'react-intl';\nimport './installPWA.scss';\nimport useIsIOS from 'hooks/useIsIOS';\n\nconst DONT_SHOW = 'dont show';\n\nexport const InstallPWA = () => {\n  const [open, setOpen] = useState(false);\n  const { isIOS } = useIsIOS();\n\n  useEffect(() => {\n    const installPromptValue = localStorage.getItem('installPrompt');\n    const displayPWA = installPromptValue !== DONT_SHOW;\n\n    const timer = setTimeout(() => {\n      if (displayPWA) {\n        setOpen(true);\n        const element = document.getElementById('app-outlet')?.style;\n        const navbar = (document.getElementsByClassName('main-navigation')[0] as HTMLElement).style;\n\n        if (element) {\n          element.filter = 'blur(5px)';\n          navbar.filter = 'blur(5px)';\n        }\n      }\n    }, 20000);\n\n    return () => clearTimeout(timer);\n  }, []);\n\n  const handleOnClose = () => {\n    setOpen(false);\n    const element = document.getElementById('app-outlet')?.style;\n    const navbar = (document.getElementsByClassName('main-navigation')[0] as HTMLElement).style;\n\n    if (element) {\n      element.filter = '';\n      navbar.filter = '';\n    }\n  };\n\n  const handleDontShowAgain = () => {\n    localStorage.setItem('installPrompt', DONT_SHOW);\n    handleOnClose();\n  };\n\n  if (!open) {\n    return null;\n  }\n\n  return (\n    <div className=\"customs\">\n      <Modal\n        showCross={false}\n        closeHandler={handleOnClose}\n        headline={\n          <Block className=\"install-pwa\" flex spaceBetween>\n            <Button onClick={handleDontShowAgain}>\n              <FormattedMessage defaultMessage=\"Don't show again\" id=\"PWAPrompt.dontShowAgian\" />\n            </Button>\n\n            <Button onClick={handleOnClose} version=\"primary\" iconEnd=\"Cross\" iconClassname=\"icon\">\n              <FormattedMessage defaultMessage=\"Close\" id=\"PWAPrompt.buttonClose\" />\n            </Button>\n          </Block>\n        }\n      >\n        <Column className={'pwa-buttons'}>\n          <Typography>\n            <FormattedMessage id=\"pwa.clickOnTheIcon.text\" defaultMessage=\"Click on the icon\" />\n            {isIOS ? <Icon name={'Share'} className=\"icon\" /> : <Icon name={'AndroidAddHomeScreen'} className=\"icon\" />}{' '}\n            {isIOS ? (\n              <FormattedMessage\n                id=\"pwa.below.text\"\n                defaultMessage=\"below and choose “Add to home screen“ to save the application on your phone\"\n              />\n            ) : (\n              <FormattedMessage\n                id=\"pwa.belowAndroid.text\"\n                defaultMessage=\"in the three dots and choose “Add to home screen“ to save the application on your phone\"\n              />\n            )}\n          </Typography>\n\n          <Row className=\"center\">\n            <Icon name=\"ArrowDown\" />\n          </Row>\n        </Column>\n\n        <div className=\"arrow-down\" />\n      </Modal>\n    </div>\n  );\n};\n","import { differenceInDays, endOfDay } from 'date-fns';\nimport { useEffect, useState } from 'react';\n\ninterface iosNavigator extends Navigator {\n  standalone: boolean;\n}\n\nfunction checkForIOS() {\n  const today = endOfDay(new Date());\n  const installPrompt = localStorage.getItem('installPrompt');\n  const lastPrompt = new Date(installPrompt ?? '');\n  const days = differenceInDays(today, lastPrompt);\n  const isIOS = /(iPhone|iPod|iPad)/i.test(window.navigator.platform);\n  const isSafari = !!window.navigator.userAgent.match(/safari/i);\n  const prompt = (Number.isNaN(days) || days > 30) && isIOS && isSafari;\n  const isAndroid = !isIOS;\n\n  if (isIOS && isSafari) {\n    const nav = window.navigator as iosNavigator;\n    if (nav.standalone) {\n      return { isIOS: false, isSafari: false, prompt: false, isAndroid: false };\n    }\n  }\n\n  if (installPrompt === 'dont show') {\n    return { isIOS: false, isSafari: false, prompt: false, isAndroid: false };\n  }\n\n  if (prompt && 'localStorage' in window) {\n    localStorage.setItem('installPrompt', today.toString());\n  }\n\n  return { isIOS, isSafari, prompt, isAndroid };\n}\n\nexport default function useIsIOS() {\n  const [isIOS, setIsIOS] = useState({ isIOS: false, isSafari: false, prompt: false, isAndroid: false });\n\n  useEffect(() => {\n    setIsIOS(checkForIOS());\n  }, []);\n\n  return isIOS;\n}\n","/**\n * @generated SignedSource<<3c5d1f4f68e4e99257c95fb96e23dab1>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type mainNavigation_fragment$data = {\n  readonly unreadNotificationsCount: number | null | undefined;\n  readonly unreadThreadCount: number | null | undefined;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"notifications_fragment\">;\n  readonly \" $fragmentType\": \"mainNavigation_fragment\";\n};\nexport type mainNavigation_fragment$key = {\n  readonly \" $data\"?: mainNavigation_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"mainNavigation_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"mainNavigation_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"unreadNotificationsCount\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"unreadThreadCount\",\n      \"storageKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"notifications_fragment\"\n    }\n  ],\n  \"type\": \"Customer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"cf548b03adb6070223e0e14b5fe64913\";\n\nexport default node;\n","import Typography from 'components/atoms/typography/typography';\n\nimport './badge.scss';\nimport { FC } from 'react';\n\nexport interface BadgeProps {\n  count: number;\n}\n\nconst Badge: FC<BadgeProps> = (props) => {\n  const { count } = props;\n\n  return count > 0 ? (\n    <Typography className=\"badge\" subjectColor=\"white\" tagStyle=\"bodyXSmall\">\n      {count}\n    </Typography>\n  ) : null;\n};\n\nexport default Badge;\n","export const arrayBufferToBase64 = (arrayBuffer: ArrayBuffer | null) => {\n  if (!arrayBuffer) {\n    return '';\n  }\n\n  // Convert ArrayBuffer to Uint8Array\n  const uint8Array = new Uint8Array(arrayBuffer);\n\n  // Create a binary string from Uint8Array\n  let binaryString = '';\n  for (let i = 0; i < uint8Array.length; i++) {\n    binaryString += String.fromCharCode(uint8Array[i]);\n  }\n\n  // Convert binary string to Base64\n  const base64String = window.btoa(binaryString);\n\n  return base64String;\n};\n","export const requestNotificationPermission = () => {\n  // handle old callback way and new promise way of using Notification.requestPermission.\n  //https://web.dev/push-notifications-subscribing-a-user/#requesting-permission\n  return new Promise((resolve, reject) =>\n    Notification.requestPermission((result) => {\n      if (result) {\n        resolve(result);\n      }\n      reject('no result found');\n    }).catch((err) => {\n      reject(err);\n    }),\n  );\n};\n","/**\n * @generated SignedSource<<3c49aff66a934170f386964e67937778>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type notificationComponent_fragment$data = {\n  readonly __typename: string;\n  readonly threadId?: string;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"activityNotification_fragment\" | \"documentAccessGrantedNotification_fragment\" | \"documentSigningNotification_fragment\" | \"leadNotification_fragment\" | \"messageNotification_fragment\" | \"openHouseFavoriteCaseNotification_fragment\" | \"priceChangeFavoriteCaseNotification_fragment\" | \"priceChangeOnMatchCaseNotification_fragment\" | \"requestedDocumentNotification_fragment\" | \"searchProfileMatchNotification_fragment\" | \"searchProfileMatchedCaseNotification_fragment\">;\n  readonly \" $fragmentType\": \"notificationComponent_fragment\";\n};\nexport type notificationComponent_fragment$key = {\n  readonly \" $data\"?: notificationComponent_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"notificationComponent_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"notificationComponent_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"kind\": \"InlineFragment\",\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"threadId\",\n          \"storageKey\": null\n        }\n      ],\n      \"type\": \"MessageNotification\",\n      \"abstractKey\": null\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"messageNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"documentSigningNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"activityNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"searchProfileMatchNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"requestedDocumentNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"searchProfileMatchedCaseNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"documentAccessGrantedNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"leadNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"priceChangeFavoriteCaseNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"priceChangeOnMatchCaseNotification_fragment\"\n    },\n    {\n      \"args\": null,\n      \"kind\": \"FragmentSpread\",\n      \"name\": \"openHouseFavoriteCaseNotification_fragment\"\n    }\n  ],\n  \"type\": \"NotificationInterface\",\n  \"abstractKey\": \"__isNotificationInterface\"\n};\n\n(node as any).hash = \"5f4864d9dd1d5dd218b58e3b0fb16f78\";\n\nexport default node;\n","/**\n * @generated SignedSource<<659692c2350ebf89e75394622a46656d>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type LeadStatusTypeEnum = \"ConvertedToCustomer\" | \"InProgress\" | \"MarkAsSpam\" | \"NotConvertedToCustomer\" | \"Processed\" | \"Recieved\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type leadNotification_fragment$data = {\n  readonly lead: {\n    readonly receivedDate: any | null | undefined;\n    readonly statusType: LeadStatusTypeEnum | null | undefined;\n    readonly type: {\n      readonly displayName: string | null | undefined;\n    } | null | undefined;\n  };\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"leadNotification_fragment\";\n};\nexport type leadNotification_fragment$key = {\n  readonly \" $data\"?: leadNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"leadNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"leadNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"lead\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"statusType\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"LeadTypeGraphType\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"type\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"displayName\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"receivedDate\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"LeadNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"8a7602e0d1ed18971917e7749f059158\";\n\nexport default node;\n","import classNames from 'classnames';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport { formatDate } from 'tools/string-formatters';\nimport { Link } from 'react-router-dom';\nimport { graphql, useFragment } from 'react-relay';\nimport { leadNotification_fragment$key } from '__generated__/leadNotification_fragment.graphql';\nimport { LeadStatusTypeEnum } from 'Enums';\n\nconst leadNotification = graphql`\n  fragment leadNotification_fragment on LeadNotification {\n    read\n    lead {\n      statusType\n      type {\n        displayName\n      }\n      receivedDate\n    }\n  }\n`;\n\ntype Props = {\n  notification: leadNotification_fragment$key;\n};\n\nexport const LeadNotification = ({ notification }: Props) => {\n  const data = useFragment<leadNotification_fragment$key>(leadNotification, notification);\n\n  const tabString = data.lead.statusType !== LeadStatusTypeEnum.Processed ? 'newLeads' : 'processedLeads';\n\n  return (\n    <Link className={classNames('notifications__link', { unread: !data.read })} to={`/sale?tab=${tabString}`}>\n      <Icon name=\"Lead\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage defaultMessage=\"You have a new lead:\" id=\"Notifications.NewLeadNotifications\" />\n          <b> {data.lead.type?.displayName}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.lead.receivedDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<7bb4d7c7271a0ff8b54f7d267ba091b3>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type openHouseFavoriteCaseNotification_fragment$data = {\n  readonly appointmentActivity: {\n    readonly baseCase: {\n      readonly address: string | null | undefined;\n    } | null | undefined;\n    readonly endDate: any | null | undefined;\n    readonly location: string | null | undefined;\n    readonly name: string | null | undefined;\n    readonly startDate: any | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"openHouseFavoriteCaseNotification_fragment\";\n};\nexport type openHouseFavoriteCaseNotification_fragment$key = {\n  readonly \" $data\"?: openHouseFavoriteCaseNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"openHouseFavoriteCaseNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"openHouseFavoriteCaseNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"AppointmentActivity\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"appointmentActivity\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"name\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"location\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": null,\n          \"kind\": \"LinkedField\",\n          \"name\": \"baseCase\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"address\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"startDate\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"endDate\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"OpenHouseOnFavoriteCaseNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"8798253a4e56b3e140e709407718eb05\";\n\nexport default node;\n","import { openHouseFavoriteCaseNotification_fragment$key } from '__generated__/openHouseFavoriteCaseNotification_fragment.graphql.ts';\nimport classNames from 'classnames';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport { useMemo } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport { Link } from 'react-router-dom';\nimport { formatAppointmentDate, formatDate } from 'tools/string-formatters';\n\nconst openHouseNotification = graphql`\n    fragment openHouseFavoriteCaseNotification_fragment on OpenHouseOnFavoriteCaseNotification {\n        read\n        appointmentActivity {\n            name\n            location\n            baseCase {\n                address\n            }\n            startDate\n            endDate\n        }\n        createdDate\n    }\n`;\n\ntype Props = {\n  notification: openHouseFavoriteCaseNotification_fragment$key;\n};\n\nexport const OpenHouseFavouriteCaseNotification = (props: Props) => {\n  const data = useFragment(openHouseNotification, props.notification);\n  const location = data.appointmentActivity?.location || data.appointmentActivity?.baseCase?.address;\n  const appointmentTime = useMemo(\n    () => formatAppointmentDate(data.appointmentActivity?.startDate, data.appointmentActivity?.endDate),\n    [data.appointmentActivity?.startDate, data.appointmentActivity?.endDate],\n  );\n\n  return (\n    <Link className={classNames('notifications__link', { unread: !data.read })} to=\"/activities\">\n      <Icon name=\"Calendar\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <b>{data.appointmentActivity?.name}: </b>\n          {location}, {appointmentTime}\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<ca419193b7fa9f924a974b1b0fcdce55>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type priceChangeFavoriteCaseNotification_fragment$data = {\n  readonly case: {\n    readonly address: string | null | undefined;\n    readonly relationType: {\n      readonly relationId: string | null | undefined;\n    } | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly id: string;\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"priceChangeFavoriteCaseNotification_fragment\";\n};\nexport type priceChangeFavoriteCaseNotification_fragment$key = {\n  readonly \" $data\"?: priceChangeFavoriteCaseNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"priceChangeFavoriteCaseNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"priceChangeFavoriteCaseNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"case\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"address\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"CaseRelation\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"relationType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationId\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"PriceChangeOnFavoriteCaseNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"b81ffc61bfbb285737c4ebb27e9125af\";\n\nexport default node;\n","import { priceChangeFavoriteCaseNotification_fragment$key } from '__generated__/priceChangeFavoriteCaseNotification_fragment.graphql.ts';\nimport classNames from 'classnames';\nimport Icon from 'components/atoms/icon/icon.tsx';\nimport Typography from 'components/atoms/typography/typography.tsx';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { Link } from 'react-router-dom';\nimport { formatDate } from '../../../../tools/string-formatters.ts';\n\nconst fragment = graphql`\n    fragment priceChangeFavoriteCaseNotification_fragment on PriceChangeOnFavoriteCaseNotification {\n        id\n        read\n        createdDate\n        case {\n            address\n            relationType {\n                relationId\n            }\n        }\n    }\n`;\n\ntype Props = {\n  notification: priceChangeFavoriteCaseNotification_fragment$key;\n};\n\nexport const PriceChangeFavoriteCaseNotification = (props: Props) => {\n  const data = useFragment(fragment, props.notification);\n  return (\n    <Link\n      className={classNames('notifications__link', { unread: !data.read })}\n      to={`/favorite/${data.case?.relationType?.relationId}`}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage\n            defaultMessage=\"The price have changed on one of your favorite cases:\"\n            id=\"Notifications.PriceChangedOnFavoriteCase\"\n          />\n          <b>{data.case?.address}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<7134a4a32c14aa50b84f70ff38f4afa3>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type priceChangeOnMatchCaseNotification_fragment$data = {\n  readonly createdDate: any;\n  readonly id: string;\n  readonly read: boolean;\n  readonly searchProfileMatchedCase: {\n    readonly baseCase: {\n      readonly address: string | null | undefined;\n      readonly relationType: {\n        readonly relationId: string | null | undefined;\n      } | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n  readonly \" $fragmentType\": \"priceChangeOnMatchCaseNotification_fragment\";\n};\nexport type priceChangeOnMatchCaseNotification_fragment$key = {\n  readonly \" $data\"?: priceChangeOnMatchCaseNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"priceChangeOnMatchCaseNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"priceChangeOnMatchCaseNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"SearchProfileMatchedCase\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"searchProfileMatchedCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": null,\n          \"kind\": \"LinkedField\",\n          \"name\": \"baseCase\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"address\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"CaseRelation\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"relationType\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"relationId\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"PriceChangedOnMatchedCaseNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"31643c2a2783cc264bfdd039788b4948\";\n\nexport default node;\n","import { priceChangeOnMatchCaseNotification_fragment$key } from '__generated__/priceChangeOnMatchCaseNotification_fragment.graphql.ts';\nimport classNames from 'classnames';\nimport Icon from 'components/atoms/icon/icon.tsx';\nimport Typography from 'components/atoms/typography/typography.tsx';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment } from 'react-relay';\nimport { Link } from 'react-router-dom';\nimport { formatDate } from '../../../../tools/string-formatters.ts';\n\nconst fragment = graphql`\nfragment priceChangeOnMatchCaseNotification_fragment on PriceChangedOnMatchedCaseNotification {\n    id\n    read\n    createdDate\n    searchProfileMatchedCase {\n      baseCase {\n          address\n          relationType {\n              relationId\n          }\n      }\n    }\n}\n`;\n\ntype Props = {\n  notification: priceChangeOnMatchCaseNotification_fragment$key;\n};\n\nexport const PriceChangeOnMatchCaseNotification = (props: Props) => {\n  const data = useFragment(fragment, props.notification);\n  const baseCase = data.searchProfileMatchedCase?.baseCase;\n  return (\n    <Link\n      className={classNames('notifications__link', { unread: !data.read })}\n      to={`/match/${baseCase?.relationType?.relationId}`}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage\n            defaultMessage=\"The price have changed on one of your matched cases:\" // Change translation to \"new price on match case\"\n            id=\"Notifications.PriceChangeOnMatchedCase\"\n          />\n          <b> {baseCase?.address}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<3f2c24b743c089846719c04bbe4f6747>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type activityNotification_fragment$data = {\n  readonly appointmentActivity: {\n    readonly baseCase: {\n      readonly address: string | null | undefined;\n    } | null | undefined;\n    readonly endDate: any | null | undefined;\n    readonly location: string | null | undefined;\n    readonly name: string | null | undefined;\n    readonly startDate: any | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"activityNotification_fragment\";\n};\nexport type activityNotification_fragment$key = {\n  readonly \" $data\"?: activityNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"activityNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"activityNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"AppointmentActivity\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"appointmentActivity\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"name\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"location\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": null,\n          \"kind\": \"LinkedField\",\n          \"name\": \"baseCase\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"address\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"startDate\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"endDate\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"ActivityNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"d225dbfd031172cbea0a5099e05d0dfb\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { formatAppointmentDate, formatDate } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport classNames from 'classnames';\nimport { FC, useMemo } from 'react';\nimport { Link } from 'react-router-dom';\nimport { graphql, useFragment } from 'react-relay';\nimport { activityNotification_fragment$key } from '__generated__/activityNotification_fragment.graphql';\n\nexport interface ActivityNotificationProps {\n  notification: activityNotification_fragment$key;\n}\n\nconst activityNotification = graphql`\n  fragment activityNotification_fragment on ActivityNotification {\n    read\n    appointmentActivity {\n      name\n      location\n      baseCase {\n        address\n      }\n      startDate\n      endDate\n    }\n    createdDate\n  }\n`;\n\nexport const ActivityNotification: FC<ActivityNotificationProps> = ({ notification }) => {\n  const data = useFragment<activityNotification_fragment$key>(activityNotification, notification);\n  const location = data.appointmentActivity?.location || data.appointmentActivity?.baseCase?.address;\n  const appointmentTime = useMemo(\n    () => formatAppointmentDate(data.appointmentActivity?.startDate, data.appointmentActivity?.endDate),\n    [data.appointmentActivity?.startDate, data.appointmentActivity?.endDate],\n  );\n\n  return (\n    <Link className={classNames('notifications__link', { unread: !data.read })} to=\"/activities\">\n      <Icon name=\"Calendar\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <b>{data.appointmentActivity?.name}: </b>\n          {location}, {appointmentTime}\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<5a4310b3f4cea85061f48ad9ce94ab2b>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type MyPageCaseRelation = \"Case\" | \"MatchedCase\" | \"None\" | \"Offer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type documentAccessGrantedNotification_fragment$data = {\n  readonly address: string;\n  readonly baseCase: {\n    readonly caseNo: string | null | undefined;\n    readonly relationType: {\n      readonly relationId: string | null | undefined;\n      readonly relationType: MyPageCaseRelation;\n    } | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly id: string;\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"documentAccessGrantedNotification_fragment\";\n};\nexport type documentAccessGrantedNotification_fragment$key = {\n  readonly \" $data\"?: documentAccessGrantedNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"documentAccessGrantedNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"documentAccessGrantedNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"CaseRelation\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"relationType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationId\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationType\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"caseNo\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"address\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"DocumentAccessGrantedNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"e7b71a265c0d4a050578769807cffd60\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { FC } from 'react';\nimport { HashLink } from 'react-router-hash-link';\nimport { formatDate, getRelatedLink } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport { graphql, useFragment } from 'react-relay';\nimport { documentAccessGrantedNotification_fragment$key } from '__generated__/documentAccessGrantedNotification_fragment.graphql';\n\nexport interface DocumentSigningNotificationProps {\n  notification: documentAccessGrantedNotification_fragment$key;\n}\n\nconst documentSigningNotification = graphql`\n  fragment documentAccessGrantedNotification_fragment on DocumentAccessGrantedNotification {\n    baseCase {\n      relationType {\n        relationId\n        relationType\n      }\n      caseNo\n    }\n    id\n    createdDate\n    read\n    address\n  }\n`;\n\nexport const DocumentAccessGrantedNotification: FC<DocumentSigningNotificationProps> = ({ notification }) => {\n  const data = useFragment<documentAccessGrantedNotification_fragment$key>(documentSigningNotification, notification);\n\n  const relationType = {\n    relationType: data.baseCase.relationType?.relationType,\n    relationId: data.baseCase.relationType?.relationId,\n  };\n\n  return (\n    <HashLink\n      className={classNames('notifications__link', { unread: !data?.read })}\n      smooth\n      to={getRelatedLink(relationType, '#sign')}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <b>\n            <FormattedMessage\n              defaultMessage=\"You have been granted access to new documents\"\n              id=\"Notifications.AccessToNewDocuments\"\n            />\n            :\n          </b>{' '}\n          {data.address} <br />\n          <FormattedMessage defaultMessage=\"Case number\" id=\"Case.caseNumber\" /> :{data.baseCase.caseNo}\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </HashLink>\n  );\n};\n","/**\n * @generated SignedSource<<47e6b07876b11953f3173be7c7a5776f>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type MyPageCaseRelation = \"Case\" | \"MatchedCase\" | \"None\" | \"Offer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type documentSigningNotification_fragment$data = {\n  readonly address: string;\n  readonly baseCase: {\n    readonly relationType: {\n      readonly relationId: string | null | undefined;\n      readonly relationType: MyPageCaseRelation;\n    } | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly document: {\n    readonly documentTypeName: string | null | undefined;\n  };\n  readonly read: boolean;\n  readonly \" $fragmentType\": \"documentSigningNotification_fragment\";\n};\nexport type documentSigningNotification_fragment$key = {\n  readonly \" $data\"?: documentSigningNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"documentSigningNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"documentSigningNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"CaseRelation\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"relationType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationId\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationType\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"Document\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"document\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"documentTypeName\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"address\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"DocumentSigningNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"fb7018116a963c0f25f7c1386fc687c6\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { FC } from 'react';\nimport { HashLink } from 'react-router-hash-link';\nimport { formatDate, getRelatedLink } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport { graphql, useFragment } from 'react-relay';\nimport { documentSigningNotification_fragment$key } from '__generated__/documentSigningNotification_fragment.graphql';\n\nexport interface DocumentSigningNotificationProps {\n  notification: documentSigningNotification_fragment$key;\n}\n\nconst documentSigningNotification = graphql`\n  fragment documentSigningNotification_fragment on DocumentSigningNotification {\n    read\n    baseCase {\n      relationType {\n        relationId\n        relationType\n      }\n    }\n    document {\n      documentTypeName\n    }\n    address\n    createdDate\n  }\n`;\n\nexport const DocumentSigningNotification: FC<DocumentSigningNotificationProps> = ({ notification }) => {\n  const data = useFragment<documentSigningNotification_fragment$key>(documentSigningNotification, notification);\n\n  const relationType = {\n    relationType: data.baseCase.relationType?.relationType,\n    relationId: data.baseCase.relationType?.relationId,\n  };\n  return (\n    <HashLink\n      className={classNames('notifications__link', { unread: !data?.read })}\n      smooth\n      to={getRelatedLink(relationType, '#sign')}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <b>\n            {data?.document?.documentTypeName}{' '}\n            <FormattedMessage defaultMessage=\"Ready to sign\" id=\"Notifications.ReadyToSign\" />:\n          </b>{' '}\n          {data.address}\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </HashLink>\n  );\n};\n","/**\n * @generated SignedSource<<8a5fdee39bf6d9407281317e5d7493a7>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type messageNotification_fragment$data = {\n  readonly authorName: string | null | undefined;\n  readonly createdDate: any;\n  readonly read: boolean;\n  readonly subject: string | null | undefined;\n  readonly \" $fragmentType\": \"messageNotification_fragment\";\n};\nexport type messageNotification_fragment$key = {\n  readonly \" $data\"?: messageNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"messageNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"messageNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"subject\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"authorName\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"MessageNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"f1e79df00d4f2523278da24c71cfd672\";\n\nexport default node;\n","import classNames from 'classnames';\nimport Icon from 'components/atoms/icon/icon';\nimport { graphql, useFragment } from 'react-relay';\nimport { Link } from 'react-router-dom';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport DOMPurify from 'dompurify';\nimport { formatDate } from 'tools/string-formatters';\nimport { FC } from 'react';\nimport { messageNotification_fragment$key } from '__generated__/messageNotification_fragment.graphql';\n\nexport interface MessageNotificationProps {\n  notification: messageNotification_fragment$key;\n  url: string;\n}\n\nconst messageNotifation = graphql`\n  fragment messageNotification_fragment on MessageNotification {\n    createdDate\n    read\n    subject\n    authorName\n  }\n`;\n\nexport const MessageNotification: FC<MessageNotificationProps> = ({ notification, url }) => {\n  const data = useFragment<messageNotification_fragment$key>(messageNotifation, notification);\n\n  return (\n    <Link className={classNames('notifications__link', { unread: !data.read })} to={url}>\n      <Icon name=\"Chat\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage defaultMessage=\"New message from\" id=\"Notifications.NewMessageFrom\" />\n          <b> {data.authorName} </b>\n          <FormattedMessage defaultMessage=\"in the conversation\" id=\"Notifications.InSubject\" />{' '}\n          <b>\n            {data.subject && (\n              <span\n                // biome-ignore lint/security/noDangerouslySetInnerHtml: <explanation>\n                dangerouslySetInnerHTML={{\n                  __html: DOMPurify.sanitize(data.subject),\n                }}\n              />\n            )}\n          </b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<f63d069d75b34c97073cbd4d6e943125>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type MyPageCaseRelation = \"Case\" | \"MatchedCase\" | \"None\" | \"Offer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type requestedDocumentNotification_fragment$data = {\n  readonly baseCase: {\n    readonly relationType: {\n      readonly relationId: string | null | undefined;\n      readonly relationType: MyPageCaseRelation;\n    } | null | undefined;\n  };\n  readonly createdDate: any;\n  readonly read: boolean;\n  readonly typeName: string | null | undefined;\n  readonly \" $fragmentType\": \"requestedDocumentNotification_fragment\";\n};\nexport type requestedDocumentNotification_fragment$key = {\n  readonly \" $data\"?: requestedDocumentNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"requestedDocumentNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"requestedDocumentNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"baseCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"CaseRelation\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"relationType\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationId\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"relationType\",\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"typeName\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"RequestedDocumentNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"b943a102b8fab6ce1f453447bfc9765e\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { FC } from 'react';\nimport { HashLink } from 'react-router-hash-link';\nimport { formatDate, getRelatedLink } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport { graphql, useFragment } from 'react-relay';\nimport { requestedDocumentNotification_fragment$key } from '__generated__/requestedDocumentNotification_fragment.graphql';\n\nexport interface RequestedDocumentNotificationProps {\n  notification: requestedDocumentNotification_fragment$key;\n}\n\nconst requestedDocumentNotification = graphql`\n  fragment requestedDocumentNotification_fragment on RequestedDocumentNotification {\n    read\n    baseCase {\n      relationType {\n        relationId\n        relationType\n      }\n    }\n    typeName\n    createdDate\n  }\n`;\n\nexport const RequestedDocumentNotification: FC<RequestedDocumentNotificationProps> = ({ notification }) => {\n  const data = useFragment<requestedDocumentNotification_fragment$key>(requestedDocumentNotification, notification);\n  const relationData = {\n    relationType: data.baseCase.relationType?.relationType,\n    relationId: data.baseCase.relationType?.relationId,\n  };\n\n  return (\n    <HashLink\n      className={classNames('notifications__link', { unread: !data.read })}\n      smooth\n      to={getRelatedLink(relationData, '#sign')}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage defaultMessage=\"New document requested\" id=\"Notifications.NewDocumentRequested\" />:\n          <b> {data.typeName}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </HashLink>\n  );\n};\n","/**\n * @generated SignedSource<<b45311e5591a1695d74ff4f15c326d38>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type searchProfileMatchNotification_fragment$data = {\n  readonly createdDate: any;\n  readonly read: boolean;\n  readonly searchProfile: {\n    readonly id: string;\n    readonly name: string | null | undefined;\n  };\n  readonly \" $fragmentType\": \"searchProfileMatchNotification_fragment\";\n};\nexport type searchProfileMatchNotification_fragment$key = {\n  readonly \" $data\"?: searchProfileMatchNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"searchProfileMatchNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"searchProfileMatchNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"searchProfile\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"id\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"name\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"SearchProfileMatchNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"f9531fb05d9ad94010843e7d21e74643\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { formatDate } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport classNames from 'classnames';\nimport { FC } from 'react';\nimport { Link } from 'react-router-dom';\nimport { graphql, useFragment } from 'react-relay';\nimport { FormattedMessage } from 'react-intl';\nimport { searchProfileMatchNotification_fragment$key } from '__generated__/searchProfileMatchNotification_fragment.graphql';\n\nexport interface SearchProfileMatchNotificationProps {\n  notification: searchProfileMatchNotification_fragment$key;\n}\n\nconst searchProfileMatchNotification = graphql`\n  fragment searchProfileMatchNotification_fragment on SearchProfileMatchNotification {\n    read\n    searchProfile {\n      id\n      name\n    }\n    createdDate\n  }\n`;\n\nexport const SearchProfileMatchNotification: FC<SearchProfileMatchNotificationProps> = ({ notification }) => {\n  const data = useFragment<searchProfileMatchNotification_fragment$key>(searchProfileMatchNotification, notification);\n\n  return (\n    <Link\n      className={classNames('notifications__link', { unread: !data.read })}\n      to={`/match?id=${data.searchProfile?.id}`}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage\n            defaultMessage=\"You have a new match on your search profile:\"\n            id=\"Notifications.NewMatchFromSearchProfile\"\n          />\n          <b> {data.searchProfile?.name}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","/**\n * @generated SignedSource<<45b16f8db3186e8e4432ef280d500394>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type MyPageCaseRelation = \"Case\" | \"MatchedCase\" | \"None\" | \"Offer\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type searchProfileMatchedCaseNotification_fragment$data = {\n  readonly __typename: \"SearchProfileMatchedCaseNotification\";\n  readonly createdDate: any;\n  readonly id: string;\n  readonly read: boolean;\n  readonly searchProfile: {\n    readonly name: string | null | undefined;\n  };\n  readonly searchProfileMatchedCase: {\n    readonly baseCase: {\n      readonly address: string | null | undefined;\n      readonly relationType: {\n        readonly relationId: string | null | undefined;\n        readonly relationType: MyPageCaseRelation;\n      } | null | undefined;\n    } | null | undefined;\n  } | null | undefined;\n  readonly \" $fragmentType\": \"searchProfileMatchedCaseNotification_fragment\";\n};\nexport type searchProfileMatchedCaseNotification_fragment$key = {\n  readonly \" $data\"?: searchProfileMatchedCaseNotification_fragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"searchProfileMatchedCaseNotification_fragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"searchProfileMatchedCaseNotification_fragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"id\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"createdDate\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"__typename\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"kind\": \"ScalarField\",\n      \"name\": \"read\",\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"SearchProfileMatchedCase\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"searchProfileMatchedCase\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": null,\n          \"kind\": \"LinkedField\",\n          \"name\": \"baseCase\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"kind\": \"ScalarField\",\n              \"name\": \"address\",\n              \"storageKey\": null\n            },\n            {\n              \"alias\": null,\n              \"args\": null,\n              \"concreteType\": \"CaseRelation\",\n              \"kind\": \"LinkedField\",\n              \"name\": \"relationType\",\n              \"plural\": false,\n              \"selections\": [\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"relationId\",\n                  \"storageKey\": null\n                },\n                {\n                  \"alias\": null,\n                  \"args\": null,\n                  \"kind\": \"ScalarField\",\n                  \"name\": \"relationType\",\n                  \"storageKey\": null\n                }\n              ],\n              \"storageKey\": null\n            }\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    },\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"searchProfile\",\n      \"plural\": false,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"name\",\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"SearchProfileMatchedCaseNotification\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"d70f15455b6db36f5a83c8be50cf85c4\";\n\nexport default node;\n","import Icon from 'components/atoms/icon/icon';\nimport { FC } from 'react';\nimport { formatDate } from 'tools/string-formatters';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport classNames from 'classnames';\nimport { graphql, useFragment } from 'react-relay';\nimport { Link } from 'react-router-dom';\nimport { searchProfileMatchedCaseNotification_fragment$key } from '__generated__/searchProfileMatchedCaseNotification_fragment.graphql';\n\nexport interface SearchProfileMatchedCaseNotificationProps {\n  notification: searchProfileMatchedCaseNotification_fragment$key;\n}\n\nconst searchProfileMatchedCaseNotification = graphql`\n  fragment searchProfileMatchedCaseNotification_fragment on SearchProfileMatchedCaseNotification {\n    id\n    createdDate\n    __typename\n    read\n    searchProfileMatchedCase {\n      baseCase {\n        address\n        relationType {\n          relationId\n          relationType\n        }\n      }\n    }\n    searchProfile {\n      name\n    }\n  }\n`;\n\nexport const SearchProfileMatchedCaseNotification: FC<SearchProfileMatchedCaseNotificationProps> = ({\n  notification,\n}) => {\n  const data = useFragment<searchProfileMatchedCaseNotification_fragment$key>(\n    searchProfileMatchedCaseNotification,\n    notification,\n  );\n\n  return (\n    <Link\n      className={classNames('notifications__link', { unread: !data.read })}\n      to={`/match/${data.searchProfileMatchedCase?.baseCase?.relationType?.relationId}`}\n    >\n      <Icon name=\"Bell\" />\n      <div className=\"notifications__item-text\">\n        <Typography>\n          <FormattedMessage\n            defaultMessage=\"You have a new match on your search profile:\"\n            id=\"Notifications.NewMatchFromSearchProfile\"\n          />\n          {data.searchProfile?.name}:<b> {data.searchProfileMatchedCase?.baseCase?.address}</b>\n        </Typography>\n        <Typography className=\"notifications__time\" tagStyle=\"bodyXSmall\">\n          {formatDate(data.createdDate)}\n        </Typography>\n      </div>\n    </Link>\n  );\n};\n","import {\n  ActivityNotification as ActivityNotificationType,\n  DocumentAccessGrantedNotification as DocumentAccessGrantedNotificationType,\n  DocumentSigningNotification as DocumentSigningNotificationType,\n  LeadNotification as LeadNotificationType,\n  MessageNotification as MessageNotificationType,\n  OpenHouseOnFavoriteCaseNotification as OpenHouseOnFavoriteCaseNotificationType,\n  PriceChangeOnFavoriteCaseNotification as PriceChangeOnFavoriteCaseNotificationType,\n  PriceChangedOnMatchedCaseNotification as PriceChangedOnMatchedCaseNotificationType,\n  RequestedDocumentNotification as RequestedDocumentNotificationType,\n  SearchProfileMatchNotification as SearchProfileMatchNotificationType,\n  SearchProfileMatchedCaseNotification as SearchProfileMatchedCaseNotificationType,\n} from 'Types';\nimport { notificationComponent_fragment$key } from '__generated__/notificationComponent_fragment.graphql';\nimport { LeadNotification } from 'components/organisms/notifications/components/lead-notification';\nimport { OpenHouseFavouriteCaseNotification } from 'components/organisms/notifications/components/open-house-favorite-case-notification.tsx';\nimport { PriceChangeFavoriteCaseNotification } from 'components/organisms/notifications/components/price-change-favorite-case-notification.tsx';\nimport { PriceChangeOnMatchCaseNotification } from 'components/organisms/notifications/components/price-change-on-match-case-notification.tsx';\nimport { FC, Fragment } from 'react';\nimport { graphql, useFragment } from 'react-relay';\nimport { getNotificationUrl } from 'utils/navigation';\nimport { ActivityNotification } from './activity-notification';\nimport { DocumentAccessGrantedNotification } from './document-access-granted-notification';\nimport { DocumentSigningNotification } from './document-signing-notification';\nimport { MessageNotification } from './message-notification';\nimport { RequestedDocumentNotification } from './requested-document-notification';\nimport { SearchProfileMatchNotification } from './search-profile-match-notification';\nimport { SearchProfileMatchedCaseNotification } from './search-profile-matched-case-notification';\n\nexport interface Props {\n  notification: notificationComponent_fragment$key;\n}\n\nconst notificationComponent = graphql`\n  fragment notificationComponent_fragment on NotificationInterface {\n    __typename\n    ... on MessageNotification {\n      threadId\n    }\n    ...messageNotification_fragment\n    ...documentSigningNotification_fragment\n    ...activityNotification_fragment\n    ...searchProfileMatchNotification_fragment\n    ...requestedDocumentNotification_fragment\n    ...searchProfileMatchedCaseNotification_fragment\n    ...documentAccessGrantedNotification_fragment\n    ...leadNotification_fragment\n    ...priceChangeFavoriteCaseNotification_fragment\n    ...priceChangeOnMatchCaseNotification_fragment\n    ...openHouseFavoriteCaseNotification_fragment\n  }\n`;\n\nexport const NotificationComponent: FC<Props> = (props) => {\n  const data = useFragment<notificationComponent_fragment$key>(notificationComponent, props.notification);\n\n  switch (data.__typename) {\n    case MessageNotificationType:\n      return (\n        <MessageNotification\n          notification={data}\n          url={getNotificationUrl({ notificationType: data.__typename, threadId: data.threadId })}\n        />\n      );\n    case DocumentSigningNotificationType:\n      return <DocumentSigningNotification notification={data} />;\n    case DocumentAccessGrantedNotificationType:\n      return <DocumentAccessGrantedNotification notification={data} />;\n    case RequestedDocumentNotificationType:\n      return <RequestedDocumentNotification notification={data} />;\n    case ActivityNotificationType:\n      return <ActivityNotification notification={data} />;\n    case SearchProfileMatchNotificationType:\n      return <SearchProfileMatchNotification notification={data} />;\n    case SearchProfileMatchedCaseNotificationType:\n      return <SearchProfileMatchedCaseNotification notification={data} />;\n    case LeadNotificationType:\n      return <LeadNotification notification={data} />;\n    case OpenHouseOnFavoriteCaseNotificationType:\n      return <OpenHouseFavouriteCaseNotification notification={data} />;\n    case PriceChangeOnFavoriteCaseNotificationType:\n      return <PriceChangeFavoriteCaseNotification notification={data} />;\n    case PriceChangedOnMatchedCaseNotificationType:\n      return <PriceChangeOnMatchCaseNotification notification={data} />;\n    default:\n      return <Fragment />;\n  }\n};\n","import Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\n\nexport const NoNoficationData = () => {\n  return (\n    <div className=\"notifications__empty-state\">\n      <Icon className=\"notifications__empty-state-icon\" height={48} name=\"Bell\" width={48} />\n      <Typography className=\"notifications__empty-state-text\" subjectColor=\"gray\" tagStyle=\"bodyLarge\">\n        <FormattedMessage defaultMessage=\"It looks like you have no messages yet!\" id=\"Notifications.EmptyState\" />\n      </Typography>\n    </div>\n  );\n};\n","import { mainNavigationNotificationsRefreshQuery } from '__generated__/mainNavigationNotificationsRefreshQuery.graphql';\nimport { notifications_fragment$key } from '__generated__/notifications_fragment.graphql';\nimport { subscribeClientMutation } from '__generated__/subscribeClientMutation.graphql';\nimport { unsubscribeClientMutation } from '__generated__/unsubscribeClientMutation.graphql';\nimport Button from 'components/atoms/button/button';\nimport Typography from 'components/atoms/typography/typography';\nimport { useViewer } from 'app/contexts/viewerContext';\nimport useIntersectionObserver from 'hooks/useIntersectionObserver';\nimport { useNodes } from 'hooks/useNodes';\nimport { FC, Fragment, useEffect, useRef } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useMutation, usePaginationFragment } from 'react-relay';\nimport { subscribeClient } from 'services/relay/mutations/subscribeClient';\nimport { unsubscribeClient } from 'services/relay/mutations/unsubscribeClient';\nimport { arrayBufferToBase64 } from 'utils/arrayBufferToBase64';\nimport { requestNotificationPermission } from 'utils/requestNotificationPermission';\nimport { NotificationComponent } from './components/notification-component';\nimport { NoNoficationData } from './no-notification-data';\nimport './notifications.scss';\nimport Column from 'components/utilities/column/column';\nimport Icon from 'components/atoms/icon/icon';\nimport { useMixPanel } from 'hooks/useMixPanel';\n\nexport interface NotificationsProps {\n  onCloseNotifications: () => void;\n  onNotificationClick: (id: string) => void;\n  fragment: notifications_fragment$key | null;\n  handleToggle: () => void;\n  setNotificationsEnabled: (enable: boolean) => void;\n  notificationsEnabled: boolean;\n}\n\nconst notificationFragmentQuery = graphql`\n  fragment notifications_fragment on Customer\n  @argumentDefinitions(first: { type: \"Int\", defaultValue: 12 }, after: { type: \"String\" })\n  @refetchable(queryName: \"mainNavigationNotificationsRefreshQuery\") {\n    notificationConnection(first: $first, after: $after) @connection(key: \"mainNavigation_notificationConnection\") {\n      edges {\n        node {\n          id\n          __typename\n          ...notificationComponent_fragment\n        }\n      }\n    }\n  }\n`;\n\nconst Notifications: FC<NotificationsProps> = (props) => {\n  const { data, hasNext, loadNext } = usePaginationFragment<\n    mainNavigationNotificationsRefreshQuery,\n    notifications_fragment$key\n  >(notificationFragmentQuery, props.fragment);\n  const notifications = useNodes(data?.notificationConnection?.edges);\n\n  const { setNotificationsEnabled, notificationsEnabled } = props;\n\n  const ref = useRef<HTMLLIElement>(null);\n  const entry = useIntersectionObserver(ref, {});\n  const isVisible = !!entry?.isIntersecting;\n\n  const viewer = useViewer();\n  const featureToggles = viewer?.featureToggle;\n  const isPushNotificationsEnabledAndSupported =\n    !!featureToggles?.isWebPushNotificationsEnabled && 'Notification' in window;\n  const isPushNotificationsEnabledAndNotSupported =\n    !!featureToggles?.isWebPushNotificationsEnabled && !('Notification' in window);\n\n  const [subscribe] = useMutation<subscribeClientMutation>(subscribeClient);\n  const [unsubscribe] = useMutation<unsubscribeClientMutation>(unsubscribeClient);\n\n  const { track } = useMixPanel();\n\n  useEffect(() => {\n    if (isVisible && hasNext && data?.id) {\n      loadNext(12, { UNSTABLE_extraVariables: { id: data.id } });\n    }\n  }, [isVisible, hasNext, loadNext, data?.id]);\n\n  const setCorrectRef = (index: number) => {\n    if (index === notifications.length - 1) {\n      return ref;\n    }\n    return null;\n  };\n\n  const handleSubscribeNotifications = async () => {\n    track('Notifications', { notificationClick: 'SUBSCRIBE-PUSH-NOTIFICATIONS' });\n    //prompts user for native device notification prompt\n    const result = await requestNotificationPermission();\n    if (result === 'neutral') return;\n\n    if (result === 'denied') {\n      // prompt tooltip to tell user they have blocked notifications\n      props.handleToggle();\n      return;\n    }\n\n    if (result !== 'granted') {\n      navigator.permissions.query({ name: 'notifications' }).then((result) => {\n        if (result.state === 'denied') {\n          // Prompt user again with info that they need to remove from blocked\n          props.handleToggle();\n          return;\n        }\n      });\n    }\n\n    const registration = await navigator.serviceWorker.ready;\n    const pushSubscription = await registration.pushManager.subscribe({\n      userVisibleOnly: true,\n      applicationServerKey: viewer?.vapidPublicKey,\n    });\n\n    subscribe({\n      variables: {\n        input: {\n          endpoint: pushSubscription.endpoint,\n          p256Dh: arrayBufferToBase64(pushSubscription.getKey('p256dh')),\n          auth: arrayBufferToBase64(pushSubscription.getKey('auth')),\n        },\n      },\n    });\n    setNotificationsEnabled(true);\n  };\n\n  const handleUnsubscribeNotifications = async () => {\n    track('Notifications', { notificationClick: 'UNSUBSCRIBE-PUSH-NOTIFICATIONS' });\n\n    //Unsubscribe from messages. There is no way to programmtically revoke the permission to show notifications.\n    const registration = await navigator.serviceWorker.ready;\n    const pushSubscription = await registration.pushManager.getSubscription();\n    const result = await pushSubscription?.unsubscribe();\n\n    if (result && pushSubscription) {\n      unsubscribe({\n        variables: {\n          input: {\n            endpoint: pushSubscription.endpoint,\n            p256Dh: arrayBufferToBase64(pushSubscription.getKey('p256dh')),\n            auth: arrayBufferToBase64(pushSubscription.getKey('auth')),\n          },\n        },\n      });\n      setNotificationsEnabled(false);\n    }\n  };\n\n  return (\n    <div className=\"notifications\">\n      <div className=\"notifications__heading\">\n        <Typography tag=\"span\" tagStyle=\"headlineMedium\">\n          <FormattedMessage defaultMessage={'Notifications'} id=\"Notifications.Headline\" />\n        </Typography>\n\n        {isPushNotificationsEnabledAndSupported && (\n          <div>\n            {!notificationsEnabled ? (\n              <Button onClick={handleSubscribeNotifications}>\n                <FormattedMessage defaultMessage=\"Get push messages\" id=\"Notifications.EnablePush\" />\n              </Button>\n            ) : (\n              <Button onClick={handleUnsubscribeNotifications}>\n                <FormattedMessage defaultMessage=\"Disable push messages\" id=\"Notifications.DisablePush\" />\n              </Button>\n            )}\n          </div>\n        )}\n      </div>\n      <div className=\"push-notifications\">\n        {isPushNotificationsEnabledAndNotSupported && (\n          <Fragment>\n            <Column className={'pwa-buttons'}>\n              <Typography>\n                <FormattedMessage id=\"pwa.clickOnTheIcon.text\" defaultMessage=\"Click on the icon\" /> (\n                <Icon name={'Share'} className=\"icon\" />){' '}\n                <FormattedMessage\n                  id=\"pwa.below.notifications\"\n                  defaultMessage=\"below and choose “Add to home screen“ to be notified about the newest updates and messages\"\n                />\n              </Typography>\n            </Column>\n          </Fragment>\n        )}\n        {isPushNotificationsEnabledAndSupported && !notificationsEnabled && (\n          <Typography tag={'small'} subjectColor={'gray'}>\n            <FormattedMessage\n              defaultMessage=\"To keep you informed with the latest news and features, we recommend allowing 'push notifications' from our website. This grants you direct access to updates notifications, ensuring you never miss out on anything important.\"\n              id=\"User.AllowPushNotifications\"\n            />\n          </Typography>\n        )}\n      </div>\n\n      {!data ? (\n        <NoNoficationData />\n      ) : (\n        <div className=\"notifications__new\">\n          <ul className=\"notifications__list\">\n            {notifications.map((item, index) => (\n              <li\n                key={item.id}\n                ref={setCorrectRef(index)}\n                className=\"notifications__item\"\n                onClick={() => {\n                  props.onCloseNotifications();\n                  props.onNotificationClick(item.id);\n                }}\n              >\n                <NotificationComponent notification={item} />\n              </li>\n            ))}\n          </ul>\n        </div>\n      )}\n    </div>\n  );\n};\n\nexport default Notifications;\n","import { favoritePageHero_fragment$key } from '__generated__/favoritePageHero_fragment.graphql';\nimport { MatchHeroContent } from 'components/organisms/match-hero-content/match-hero-content';\nimport Container from 'components/utilities/container/container';\nimport { graphql, useFragment } from 'react-relay';\nimport { CaseImages } from 'components/organisms/images/case-images';\nimport RegisterOpenHouseModal from 'components/organisms/register-open-house-modal/register-open-house-modal';\nimport { FormattedMessage } from 'react-intl';\nimport Tag from 'components/atoms/tag/tag';\nimport { OpenHouseImageOverlay } from 'components/molecules/match-hero-images/open-house-image-overlay';\nimport { useList } from 'hooks/useList';\nimport useToggle from 'hooks/useToggle';\n\ninterface Props {\n  fragment: favoritePageHero_fragment$key;\n}\n\nconst favoritePageHeroFragmentQuery = graphql`\n  fragment favoritePageHero_fragment on CasePotentialBuyer {\n    __typename\n    baseCase {\n      ...matchHeroContentFragment_baseCase\n      ...registerOpenHouseModalFragment\n      ...openHouseImageOverlay_baseCase\n      noAdvertisement\n      gpsCoordinates\n      noAdvertisement\n      gpsCoordinates\n      openHouse(amount: 2) {\n        __typename\n      }\n      mediaDataConnection {\n        ...caseImages_Media\n      }\n    }\n    offmarketCase {\n      ...matchHeroContentFragment_offmarketCase\n      mediaDataConnection {\n        ...caseImages_Media\n      }\n    }\n  }\n`;\n\nconst FavoritePageHero = (props: Props) => {\n  const [openHouseModalOpen, toggleOpenHouseModalOpen] = useToggle();\n  const data = useFragment(favoritePageHeroFragmentQuery, props.fragment);\n\n  const baseCase = data.baseCase ?? data.offmarketCase;\n  const openHouses = useList(data?.baseCase?.openHouse);\n\n  const noAdvertisement = data?.baseCase?.noAdvertisement;\n  const hasOpenHouse = !data.offmarketCase && data.baseCase && openHouses.length > 0;\n\n  const handleOnClickOpenHouseModal = () => {\n    toggleOpenHouseModalOpen(true);\n  };\n\n  const handleCloseOpenHouseModal = () => {\n    toggleOpenHouseModalOpen(false);\n  };\n\n  return (\n    <Container paddingTopReset>\n      <div className={'image-wrapper'}>\n        <CaseImages fragment={baseCase?.mediaDataConnection} gpsCoordinates={data.baseCase?.gpsCoordinates ?? ''} />\n        <div className=\"image-overlay\">\n          {!data.offmarketCase && noAdvertisement && (\n            <div>\n              <Tag>\n                <FormattedMessage defaultMessage=\"Draw case\" id=\"Match.DrawCase\" />\n              </Tag>\n            </div>\n          )}\n        </div>\n        {hasOpenHouse && (\n          <OpenHouseImageOverlay fragment={data.baseCase} handleOnClickOpenHouseModal={handleOnClickOpenHouseModal} />\n        )}\n      </div>\n      <MatchHeroContent fragment={data.baseCase} offmarketCase={data.offmarketCase} />\n      {openHouseModalOpen && hasOpenHouse && (\n        <RegisterOpenHouseModal closeModal={handleCloseOpenHouseModal} openHouses={data.baseCase} />\n      )}\n    </Container>\n  );\n};\nexport default FavoritePageHero;\n","import { favoritePageDocumentsBody_CasePotentialBuyer$key } from '__generated__/favoritePageDocumentsBody_CasePotentialBuyer.graphql';\nimport { DocumentsTableRow } from 'components/organisms/documents-table/documents-table-row';\nimport DocumentsTableStateContext from 'components/organisms/documents-table/documents-table-state-context';\nimport EmptyTableBody from 'components/organisms/documents-table/empty-table-body';\nimport { TableSkeleton } from 'components/organisms/documents-table/table-skeleton';\nimport { useNodes } from 'hooks/useNodes';\nimport { FC, useContext, useEffect } from 'react';\nimport { graphql, usePaginationFragment } from 'react-relay';\n\nconst favoritePageDocumentsBody_CasePotentialBuyer = graphql`\n  fragment favoritePageDocumentsBody_CasePotentialBuyer on CasePotentialBuyer\n  @argumentDefinitions(\n    count: { type: \"Int\", defaultValue: 10 }\n    cursor: { type: \"String\" }\n    searchText: { type: \"String\" }\n  )\n  @refetchable(queryName: \"documentsPaginationQuery_CasePotentialBuyer\") {\n    baseCase {\n      publicDocumentAllDownloadUrl\n      publicDocumentMultipleDownloadUrl\n      publicDocumentConnection(first: $count, after: $cursor, searchText: $searchText)\n        @connection(key: \"documents__publicDocumentConnection\") {\n        edges {\n          node {\n            id\n            ...documentsTableRowFragment\n          }\n        }\n        totalCount\n      }\n    }\n  }\n`;\n\ntype Props = {\n  documentFragment: favoritePageDocumentsBody_CasePotentialBuyer$key;\n};\nexport const FavoritePageDocumentsBody: FC<Props> = ({ documentFragment }) => {\n  const { data, refetch, loadNext, hasNext, isLoadingNext } = usePaginationFragment(\n    favoritePageDocumentsBody_CasePotentialBuyer,\n    documentFragment,\n  );\n\n  const { state, dispatch } = useContext(DocumentsTableStateContext);\n\n  const documentNodes = useNodes(data?.baseCase?.publicDocumentConnection?.edges);\n  const slicedDocuments = documentNodes.slice(\n    state.page * state.pageSize - state.pageSize,\n    state.page * state.pageSize,\n  );\n\n  useEffect(() => {\n    refetch(\n      {\n        after: null,\n        first: state.pageSize,\n        searchText: state.searchInput,\n        id: data.id,\n      },\n      { fetchPolicy: 'store-and-network' },\n    );\n  }, [state.searchInput, state.pageSize, refetch, data.id]);\n\n  useEffect(() => {\n    if (documentNodes) {\n      dispatch({ type: 'SET_DOCUMENTS_DATA', payload: documentNodes });\n    }\n    if (data.baseCase) {\n      const payload = {\n        downloadAllUrl: data.baseCase?.publicDocumentAllDownloadUrl ?? '',\n        downloadMultipleUrl: data.baseCase?.publicDocumentMultipleDownloadUrl ?? '',\n        count: data.baseCase?.publicDocumentConnection?.totalCount ?? 0,\n      };\n      dispatch({\n        type: 'SET_DATA',\n        payload: payload,\n      });\n    }\n  }, [data, dispatch, documentNodes]);\n\n  useEffect(() => {\n    if (state.page && hasNext) {\n      loadNext(state.pageSize, { UNSTABLE_extraVariables: { id: data.id } });\n    }\n  }, [loadNext, hasNext, state.page, state.pageSize, data.id]);\n\n  const handleRowSelection = (id: string | undefined) => {\n    if (typeof id !== 'string') {\n      return false;\n    }\n\n    dispatch({\n      type: 'HANDLE_ROW_SELECTION',\n      payload: id,\n    });\n  };\n\n  if (isLoadingNext) {\n    return <TableSkeleton />;\n  } else {\n    return (\n      <tbody className=\"table__body\">\n        {slicedDocuments.length > 0 &&\n          slicedDocuments.map((document) => (\n            <DocumentsTableRow\n              rowSelection={state.rowSelection}\n              setRowSelection={handleRowSelection}\n              documentFragment={document}\n              key={document.id}\n            />\n          ))}\n        {slicedDocuments.length === 0 && <EmptyTableBody searchString={state.searchInput} />}\n      </tbody>\n    );\n  }\n};\n","import { favoritePageDocumentsRender_Query } from '__generated__/favoritePageDocumentsRender_Query.graphql';\nimport { FavoritePageDocumentsBody } from 'app/pages/favorites/documents/favorite-page-documents-body';\nimport Typography from 'components/atoms/typography/typography';\nimport { DocumentsTable } from 'components/organisms/documents-table/documents-table';\nimport { DocumentsTableFooter } from 'components/organisms/documents-table/documents-table-footer';\nimport { DocumentsTableHeader } from 'components/organisms/documents-table/documents-table-header';\nimport DocumentsTableStateContext from 'components/organisms/documents-table/documents-table-state-context';\nimport {\n  DocumentsTableAction,\n  documentsTableInitialState,\n  DocumentsTableState,\n  documentsTableStateReducer,\n} from 'components/organisms/documents-table/documents-table-state-reducer';\nimport { TableSkeleton } from 'components/organisms/documents-table/table-skeleton';\nimport { SuspenseHoc } from 'components/templates/suspense-hoc';\nimport Column from 'components/utilities/column/column';\nimport Container from 'components/utilities/container/container';\nimport Row from 'components/utilities/row/row';\nimport { FC, Reducer, useReducer } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useLazyLoadQuery } from 'react-relay';\n\ntype Props = {\n  favoriteId: string;\n};\n\nconst favoritePageDocumentsRenderQuery = graphql`\n  query favoritePageDocumentsRender_Query($favoriteId: ID!) {\n    node(id: $favoriteId) {\n      ...favoritePageDocumentsBody_CasePotentialBuyer\n    }\n  }\n`;\nexport const FavoritePageDocumentsRender: FC<Props> = (props) => {\n  const [state, dispatch] = useReducer<Reducer<DocumentsTableState, DocumentsTableAction>>(\n    documentsTableStateReducer,\n    documentsTableInitialState,\n  );\n  const data = useLazyLoadQuery<favoritePageDocumentsRender_Query>(favoritePageDocumentsRenderQuery, {\n    favoriteId: props.favoriteId,\n  });\n\n  return (\n    <DocumentsTableStateContext.Provider value={{ state, dispatch }}>\n      <Container>\n        <Row id=\"documents\">\n          <Column>\n            <Typography tag=\"h2\" tagStyle=\"headlineMedium\">\n              <FormattedMessage defaultMessage=\"Dokumenter\" id=\"MatchCaseDocuments.title\" />\n            </Typography>\n            {data.node && (\n              <DocumentsTable>\n                <DocumentsTableHeader />\n                <SuspenseHoc fallback={<TableSkeleton />}>\n                  <FavoritePageDocumentsBody documentFragment={data.node} />\n                </SuspenseHoc>\n                <DocumentsTableFooter />\n              </DocumentsTable>\n            )}\n          </Column>\n        </Row>\n      </Container>\n    </DocumentsTableStateContext.Provider>\n  );\n};\n","/**\n * @generated SignedSource<<9776ee7883a278b5258a55ac241f1d35>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { Fragment, ReaderFragment } from 'relay-runtime';\nexport type LeadStatusTypeEnum = \"ConvertedToCustomer\" | \"InProgress\" | \"MarkAsSpam\" | \"NotConvertedToCustomer\" | \"Processed\" | \"Recieved\";\nimport { FragmentRefs } from \"relay-runtime\";\nexport type saleByOwnerProcessedGridFragment$data = {\n  readonly myPageLeads: ReadonlyArray<{\n    readonly __typename: string;\n    readonly id: string;\n    readonly statusType: LeadStatusTypeEnum | null | undefined;\n    readonly \" $fragmentSpreads\": FragmentRefs<\"leadListItemFragment\">;\n  } | null | undefined> | null | undefined;\n  readonly \" $fragmentType\": \"saleByOwnerProcessedGridFragment\";\n};\nexport type saleByOwnerProcessedGridFragment$key = {\n  readonly \" $data\"?: saleByOwnerProcessedGridFragment$data;\n  readonly \" $fragmentSpreads\": FragmentRefs<\"saleByOwnerProcessedGridFragment\">;\n};\n\nconst node: ReaderFragment = {\n  \"argumentDefinitions\": [],\n  \"kind\": \"Fragment\",\n  \"metadata\": null,\n  \"name\": \"saleByOwnerProcessedGridFragment\",\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": null,\n      \"kind\": \"LinkedField\",\n      \"name\": \"myPageLeads\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"statusType\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"id\",\n          \"storageKey\": null\n        },\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"kind\": \"ScalarField\",\n          \"name\": \"__typename\",\n          \"storageKey\": null\n        },\n        {\n          \"args\": null,\n          \"kind\": \"FragmentSpread\",\n          \"name\": \"leadListItemFragment\"\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"type\": \"Viewer\",\n  \"abstractKey\": null\n};\n\n(node as any).hash = \"075b7ce224f057b6ffa1d9303bb54e7f\";\n\nexport default node;\n","import { graphql, useFragment } from 'react-relay';\nimport { saleByOwnerGridFragment$key } from '__generated__/saleByOwnerGridFragment.graphql';\nimport Block from 'components/utilities/block/block';\nimport Row from 'components/utilities/row/row';\nimport Column from 'components/utilities/column/column';\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport './sale-by-owner.scss';\nimport { useList } from 'hooks/useList';\nimport { FC, Fragment, useMemo } from 'react';\nimport { LeadListItem } from 'components/molecules/sale-by-owner/lead-list-item';\nimport EmptyModule from '../empty-module/empty-module';\nimport { LeadStatusTypeEnum } from 'Enums';\n\ntype Props = {\n  viewerFragment: saleByOwnerGridFragment$key;\n};\n\nconst saleByOwnerProcessedGridFragment = graphql`\n  fragment saleByOwnerProcessedGridFragment on Viewer {\n    myPageLeads {\n      statusType\n      id\n      __typename\n      ...leadListItemFragment\n    }\n  }\n`;\n\nexport const SaleByOwnerProcessedGrid: FC<Props> = ({ viewerFragment }) => {\n  const data = useFragment(saleByOwnerProcessedGridFragment, viewerFragment);\n  const mypageLeads = useList(data.myPageLeads ?? []);\n\n  const leads = useMemo(() => {\n    return mypageLeads.filter((lead) => lead.statusType === LeadStatusTypeEnum.Processed);\n  }, [mypageLeads]);\n\n  return (\n    <Fragment>\n      <Block className=\"match-cards-list\">\n        <Row>\n          <Column>\n            <Typography className=\"match-cards-list__heading\" tag=\"h2\" tagStyle=\"headlineMedium\">\n              <FormattedMessage\n                defaultMessage={'Your leads ({count})'}\n                id={'saleByOwner.leads'}\n                values={{ count: leads.length }}\n              />\n            </Typography>\n          </Column>\n        </Row>\n        {leads.length > 0 ? (\n          <div className={'grid'}>\n            {leads.map((lead) => (\n              <LeadListItem key={lead.id} fragment={lead} disabled={true} />\n            ))}\n          </div>\n        ) : (\n          <EmptyModule\n            iconName=\"Lead\"\n            message={\n              <FormattedMessage defaultMessage=\"You have no processed leads\" id=\"saleByOwner.NoLeadProcessedLeads\" />\n            }\n          />\n        )}\n      </Block>\n    </Fragment>\n  );\n};\n","import Container from 'components/utilities/container/container';\nimport { useViewer } from 'app/contexts/viewerContext';\n\nimport Typography from 'components/atoms/typography/typography';\nimport { FormattedMessage } from 'react-intl';\nimport Row from 'components/utilities/row/row';\nimport Block from 'components/utilities/block/block';\nimport { graphql, useLazyLoadQuery } from 'react-relay';\nimport { saleByOwnerPageQuery } from '__generated__/saleByOwnerPageQuery.graphql';\nimport { SaleByOwnerGrid } from 'components/molecules/sale-by-owner/sale-by-owner-grid';\nimport TabComponent from 'components/organisms/tab-component/tab-component';\nimport { SaleByOwnerProcessedGrid } from 'components/molecules/sale-by-owner/sale-by-owner-processed-grid';\n\nexport const SaleByOwnerPage = () => {\n  const data = useLazyLoadQuery<saleByOwnerPageQuery>(\n    graphql`\n      query saleByOwnerPageQuery {\n        viewer {\n          ...saleByOwnerGridFragment\n          ...saleByOwnerProcessedGridFragment\n        }\n      }\n    `,\n    {},\n  );\n  const viewer = useViewer();\n\n  if (!viewer?.featureToggle?.isPropertyForSaleByOwnerEnabled) {\n    return (\n      <Container>\n        <Row center>\n          <Block>\n            <Typography tag={'h1'}>\n              <FormattedMessage id={'saleByOwner.NotAccess'} defaultMessage={'You do not have access to this page'} />\n            </Typography>\n          </Block>\n        </Row>\n      </Container>\n    );\n  }\n\n  if (!data.viewer) {\n    return (\n      <Container>\n        <Row center>\n          <Block>\n            <Typography tag={'h1'}>\n              <FormattedMessage id={'saleByOwner.NoLeads'} defaultMessage={'You do not have new leads'} />\n            </Typography>\n          </Block>\n        </Row>\n      </Container>\n    );\n  }\n\n  const tabContent = [\n    {\n      item: (\n        <Container>\n          <SaleByOwnerGrid viewerFragment={data.viewer} />\n        </Container>\n      ),\n      key: 'newLeads',\n    },\n    {\n      item: (\n        <Container>\n          <SaleByOwnerProcessedGrid viewerFragment={data.viewer} />\n        </Container>\n      ),\n      key: 'processedLeads',\n    },\n  ];\n\n  const tabNav = [\n    {\n      item: (\n        <Typography tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"New leads\" id=\"Leads.NewLeads\" />\n        </Typography>\n      ),\n      key: 'newLeads',\n    },\n    {\n      item: (\n        <Typography tagStyle=\"bodyLarge\">\n          <FormattedMessage defaultMessage=\"Processed leads\" id=\"Leads.ProcessedLeads\" />\n        </Typography>\n      ),\n      key: 'processedLeads',\n    },\n  ];\n\n  return <TabComponent activeTab={'newLeads'} tabContent={tabContent} tabNav={tabNav} />;\n};\n","import { lazy, ReactNode } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport FavoritePage from 'app/pages/favorites/favorite-page';\nimport { SaleByOwnerPage } from 'app/pages/sale-by-owner/sale-by-owner-page';\n\nconst Activities = lazy(() => import('app/pages/activities/activities' /* webpackChunkName: \"Activities\" */));\nconst CasePage = lazy(() => import('app/pages/case/case' /* webpackChunkName: \"Case\" */));\nconst ActivityCasePage = lazy(\n  () => import('app/pages/activity-case/activity-case' /* webpackChunkName: \"ActivityCasePage\" */),\n);\nconst FavouritesPage = lazy(\n  () => import(/* webpackChunkName: \"FavouritesPage\" */ 'app/pages/favorites/favourites-page'),\n);\nconst MatchCasePage = lazy(() => import(/* webpackChunkName: \"MatchCasePage\" */ 'app/pages/match/match-case-page'));\nconst MatchPage = lazy(() => import('app/pages/match/match-page' /* webpackChunkName: \"MatchPage\" */));\nconst MySalesPage = lazy(() => import('app/pages/my-sales/my-sales-page' /* webpackChunkName: \"MySalesPage\" */));\n\nconst MessagesPage = lazy(() => import('app/pages/messages/messages' /* webpackChunkName: \"Messages\" */));\nconst NotFoundPage = lazy(() => import('app/pages/404' /* webpackChunkName: \"404Page\" */));\nconst Overview = lazy(() =>\n  import('app/pages/overview/overview' /* webpackChunkName: \"Overview\" */).then((module) => ({\n    default: module.Overview,\n  })),\n);\nconst ProfilePage = lazy(() => import('app/pages/profile/profile-page' /* webpackChunkName: \"ProfilePage\" */));\nconst SearchProfile = lazy(\n  () => import('app/pages/search-profile/create-search-profile' /* webpackChunkName: \"CreateSearchProfile\" */),\n);\n\nconst NotificationPage = lazy(() =>\n  import('app/pages/notification/notification-page' /* webpackChunkName: \"ProfilePage\" */).then((module) => ({\n    default: module.NotificationPage,\n  })),\n);\n\ninterface RouteConfig {\n  component: ReactNode;\n  inlcudeInNav?: boolean;\n  name: ReactNode;\n  path: string;\n  subRoute?: RouteConfig;\n}\n\nexport const mainNavigationRoutes: RouteConfig[] = [\n  {\n    component: <Overview />,\n    name: <FormattedMessage defaultMessage=\"Overview\" id=\"Routes.Overview\" />,\n    path: '/',\n  },\n  {\n    component: <MessagesPage />,\n    name: <FormattedMessage defaultMessage=\"Messages\" id=\"Routes.Messages\" />,\n    path: '/messages',\n  },\n  {\n    component: <Activities />,\n    name: <FormattedMessage defaultMessage=\"Activities\" id=\"Routes.Activities\" />,\n    path: '/activities',\n  },\n  {\n    component: <FavouritesPage />,\n    name: <FormattedMessage defaultMessage=\"Favorites\" id=\"Routes.Favorites\" />,\n    path: '/favorites',\n  },\n  {\n    component: <MatchPage />,\n    name: <FormattedMessage defaultMessage=\"Match\" id=\"Routes.Match\" />,\n    path: '/match',\n  },\n  {\n    component: <MySalesPage />,\n    name: <FormattedMessage defaultMessage=\"My sales\" id=\"Routes.MySales\" />,\n    path: '/my-sales',\n  },\n];\n\nexport const mainAppRoutes: RouteConfig[] = [\n  ...mainNavigationRoutes,\n  {\n    component: <FavoritePage />,\n    name: <FormattedMessage defaultMessage=\"Favorite\" id=\"Routes.Favorite\" />,\n    path: '/favorite/:favoriteId',\n  },\n  {\n    component: <ProfilePage />,\n    name: <FormattedMessage defaultMessage=\"Profil\" id=\"Routes.Profile\" />,\n    path: '/profile',\n  },\n  {\n    component: <SearchProfile />,\n    name: <FormattedMessage defaultMessage=\"Søge Profil\" id=\"Routes.SearchProfile\" />,\n    path: '/create-search-profile/:searchProfileId',\n  },\n  {\n    component: <CasePage />,\n    name: <FormattedMessage defaultMessage=\"Case\" id=\"Routes.Case\" />,\n    path: '/case/:offerId',\n  },\n  {\n    component: <MatchCasePage />,\n    name: <FormattedMessage defaultMessage=\"Match\" id=\"Routes.MatchCase\" />,\n    path: '/match/:matchId',\n  },\n  {\n    component: <ActivityCasePage />,\n    name: <FormattedMessage defaultMessage=\"Activity Case\" id=\"Routes.ActivityCase\" />,\n    path: '/activity-case/:activityCaseId',\n  },\n  {\n    component: <NotificationPage />,\n    name: <FormattedMessage defaultMessage=\"Notification\" id=\"Routes.Notification\" />,\n    path: '/notification/:notificationId',\n  },\n  {\n    component: <SaleByOwnerPage />,\n    name: <FormattedMessage defaultMessage=\"Self-sale\" id=\"Routes.Sale\" />,\n    path: '/sale',\n  },\n  {\n    component: <NotFoundPage />,\n    name: '404',\n    path: '*',\n  },\n];\n","import { favoritePage_Query } from '__generated__/favoritePage_Query.graphql';\nimport ContactModule from 'components/organisms/contact-module/contact-module';\nimport ContactModuleOffmarket from 'components/organisms/contact-module/contact-module-offmarket';\nimport MyPageSpots from 'components/organisms/my-page-spots/my-page-spots';\nimport FavoritePageHero from 'app/pages/favorites/favorite-page-hero';\nimport { graphql, useLazyLoadQuery } from 'react-relay';\nimport { useParams } from 'react-router-dom';\nimport { SuspenseHoc } from 'components/templates/suspense-hoc';\nimport Loader from 'components/atoms/loader/loader';\nimport { FavoritePageDocumentsRender } from 'app/pages/favorites/documents/favorite-page-documents-render';\nimport NotFound from 'components/molecules/not-found/not-found';\nimport { Fragment } from 'react';\n\nconst favoritePageQuery = graphql`\n  query favoritePage_Query($matchId: ID!) {\n    node(id: $matchId) {\n      ... on CasePotentialBuyer {\n        ...favoritePageHero_fragment\n        baseCase {\n          ...contactModule_baseCase\n        }\n        offmarketCase {\n          ...contactModuleOffmarket_offmarketCase\n        }\n      }\n    }\n    viewer {\n      ...myPageSpotsEntity\n    }\n  }\n`;\n\nconst FavoritePage = () => {\n  const { favoriteId } = useParams();\n\n  const data = useLazyLoadQuery<favoritePage_Query>(favoritePageQuery, {\n    matchId: favoriteId || '',\n  });\n\n  if (!data) {\n    return <NotFound />;\n  }\n\n  return (\n    <Fragment>\n      {data.node && <FavoritePageHero fragment={data.node} />}\n      {data.node?.baseCase && <ContactModule fragment={data.node.baseCase} />}\n      {favoriteId && (\n        <SuspenseHoc fallback={<Loader />}>\n          <FavoritePageDocumentsRender favoriteId={favoriteId} />\n        </SuspenseHoc>\n      )}\n      {data.node?.offmarketCase && <ContactModuleOffmarket fragment={data.node.offmarketCase} />}\n\n      {data?.viewer && <MyPageSpots myPageSpots={data.viewer} filter={'PotentialBuyer'} />}\n    </Fragment>\n  );\n};\n\nexport default FavoritePage;\n","import { useTheme } from 'app/context/ThemeContext';\nimport Button from 'components/atoms/button/button';\n\nexport const HomeLink = () => {\n  const theme = useTheme();\n\n  return (\n    <Button anchorTag href=\"/\" version=\"link\">\n      <picture>\n        <source srcSet={theme?.logoUrl ? theme?.logoUrl : '/images/mindworking-logo.svg'} />\n        <img\n          alt={theme?.logoAlt ? theme.logoAlt : 'Logo'}\n          src={theme?.logoUrl ? theme?.logoUrl : '/images/mindworking-logo.jpg'}\n        />\n      </picture>\n    </Button>\n  );\n};\n","import Icon from 'components/atoms/icon/icon';\nimport { useMixPanel } from 'hooks/useMixPanel';\nimport { FormattedMessage } from 'react-intl';\nimport { authenticationService } from 'services/authentication/authentication-service';\n\nexport const LogoutButton = () => {\n  const { track } = useMixPanel();\n  return (\n    <button\n      onClick={async () => {\n        await track('Profile_Navigate', { dropdown: 'LOG-OUT' });\n        authenticationService.logout();\n      }}\n      type=\"button\"\n    >\n      <Icon name=\"LogOut\" />\n      <span className=\"main-navigation__logout-text\">\n        <FormattedMessage defaultMessage=\"Log ud\" id=\"Navigation.Logout\" />\n      </span>\n    </button>\n  );\n};\n","import { PageNavTypes } from './mixpanelEvents';\n\nexport type PathType =\n  | '/'\n  | '/messages'\n  | '/activities'\n  | '/favorites'\n  | '/match'\n  | '/my-sales'\n  | '/sale'\n  | '/profile'\n  | '/create-search-profile/new';\n\nexport const getMixpanelLocationType = (type: PathType): PageNavTypes => {\n  const baseType = `/${type.split('/')[1]}`;\n\n  switch (baseType) {\n    case '/':\n      return 'FRONT_PAGE';\n    case '/messages':\n      return 'MESSAGES';\n    case '/activities':\n      return 'ACTIVITIES';\n    case '/favorites':\n      return 'FAVORITES';\n    case '/match':\n      return 'MATCHES';\n    case '/my-sales':\n      return 'MY-SALES';\n    case '/sale':\n      return 'LEADS';\n    case '/profile':\n      return 'PROFILE_PAGE';\n    case '/create-search-profile':\n      return 'SEARCH_PROFILE';\n    case '/case':\n      return 'CASE';\n    default:\n      return '';\n  }\n};\n","import useToggle from 'hooks/useToggle';\nimport { useEffect } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport './bell-highlight-popup.scss';\n\ntype Props = {\n  displayPopUp: boolean;\n};\n\nconst DONT_SHOW = 'dontShow';\nconst HIGHLIGHT_BELL = 'highlightBell';\n\nexport const BellHighlightPopup = ({ displayPopUp }: Props) => {\n  const [isVisible, toggleIsVisible] = useToggle(false);\n\n  useEffect(() => {\n    setTimeout(() => {\n      const localStore = localStorage.getItem(HIGHLIGHT_BELL);\n      const sessionStore = sessionStorage.getItem(HIGHLIGHT_BELL);\n\n      if (localStore === DONT_SHOW || sessionStore === DONT_SHOW) return;\n\n      if (displayPopUp) {\n        toggleIsVisible(true);\n      }\n    }, 60000);\n  }, [displayPopUp, toggleIsVisible]);\n\n  const handleTooltipClose = () => {\n    sessionStorage.setItem(HIGHLIGHT_BELL, DONT_SHOW);\n    toggleIsVisible(false);\n  };\n\n  const onDontShowAgain = () => {\n    localStorage.setItem(HIGHLIGHT_BELL, DONT_SHOW);\n    toggleIsVisible(false);\n  };\n\n  return (\n    <div className={`bell-highlight ${isVisible ? 'bell-highlight--visible' : ''}`}>\n      <div className=\"bell-highlight__header\">\n        <h1 className=\"bell-highlight__title\">\n          <FormattedMessage id=\"BellHighlight.header\" defaultMessage=\"Get notifications!\" />\n        </h1>\n        <button className=\"bell-highlight__close-button\" onClick={handleTooltipClose}>\n          &times;\n        </button>\n      </div>\n      <div className=\"bell-highlight__content\">\n        <FormattedMessage\n          id=\"BellHighlight.description\"\n          defaultMessage=\"By clicking the bell and selecting 'Enable push notifications', you will always stay updated with the latest news\"\n        />\n      </div>\n      <button className=\"bell-highlight__dont-show-button\" onClick={onDontShowAgain}>\n        <FormattedMessage id=\"PWAPrompt.dontShowAgian\" defaultMessage=\"Don't show again\" />\n      </button>\n    </div>\n  );\n};\n","import { markNotificationAsRead_Mutation } from '__generated__/markNotificationAsRead_Mutation.graphql';\nimport classNames from 'classnames';\nimport Badge from 'components/atoms/badge/badge';\nimport Icon from 'components/atoms/icon/icon';\nimport Typography from 'components/atoms/typography/typography';\nimport Notifications from 'components/organisms/notifications/notifications';\nimport useOnClickOutside from 'hooks/use-on-click-outside';\nimport useIsMobile from 'hooks/useIsMobile';\nimport { FC, Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { graphql, useFragment, useMutation } from 'react-relay';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { mainNavigationRoutes } from 'app/router/routes-setup';\nimport { markNotificationAsReadMutation } from 'services/relay/mutations/markNotificationAsRead';\nimport './main-navigation.scss';\nimport { mainNavigation_fragment$key } from '__generated__/mainNavigation_fragment.graphql';\nimport { HomeLink } from '../home-link/home-link';\nimport { LogoutButton } from '../logout-button/logout-button';\nimport useToggle from 'hooks/useToggle';\nimport { useViewer } from 'app/contexts/viewerContext';\nimport { SaleByOwnerPage } from 'app/pages/sale-by-owner/sale-by-owner-page';\nimport { SimpleModal } from 'components/molecules/simple-modal/simple-modal';\nimport { getMixpanelLocationType, PathType } from 'app/mixpanel/util';\nimport { useMixPanel } from 'hooks/useMixPanel';\nimport { BellHighlightPopup } from '../bell-highlight-popup/bell-highlight-popup';\n\nexport interface MainNavigationProps {\n  fragment: mainNavigation_fragment$key | null;\n  initials?: string | null;\n}\n\nconst mainNavigationFragment = graphql`\n  fragment mainNavigation_fragment on Customer {\n    unreadNotificationsCount\n    unreadThreadCount\n    ...notifications_fragment\n  }\n`;\n\nconst MainNavigation: FC<MainNavigationProps> = ({ initials, fragment }) => {\n  const data = useFragment(mainNavigationFragment, fragment);\n  const viewer = useViewer();\n  const featureToggles = viewer?.featureToggle;\n  const [profileMenuOpen, toggleProfileMenuOpen] = useToggle();\n  const [notificationsOpen, toggleNotificationsOpen] = useToggle();\n  const [mobileMenuOpen, toggleMobileMenuOpen] = useToggle();\n  const [browserPermissionOpen, toggleBrowserPermissionOpen] = useToggle();\n  const isMobile = useIsMobile();\n  const { track } = useMixPanel();\n\n  const location = useLocation();\n  const profileMenuRef = useRef<HTMLDivElement>(null);\n  const notificationsRef = useRef<HTMLLIElement>(null);\n\n  const [commit] = useMutation<markNotificationAsRead_Mutation>(markNotificationAsReadMutation);\n\n  const [notificationsEnabled, setNotificationsEnabled] = useState(false);\n  const isWebPushNotificationsEnabled = !!(featureToggles?.isWebPushNotificationsEnabled && 'Notification' in window);\n\n  useEffect(() => {\n    if (!isMobile) {\n      return;\n    }\n\n    if (notificationsOpen || mobileMenuOpen) {\n      document.body.classList.add('lock-scroll');\n    } else {\n      document.body.classList.remove('lock-scroll');\n    }\n  }, [notificationsOpen, mobileMenuOpen, isMobile]);\n\n  useEffect(() => {\n    /*\n      Checks if user currently has a subscription. \n      There is no status in backend. \n      User can subscribe from multiple devices and have diff. status per device\n    */\n    const getPushSubscription = async () => {\n      const registration = await navigator.serviceWorker.ready;\n      return await registration.pushManager.getSubscription();\n    };\n\n    getPushSubscription()\n      .then((value) => {\n        setNotificationsEnabled(!!value);\n      })\n      .catch((err) => {\n        console.error('error:', err);\n      });\n  }, [data?.unreadNotificationsCount, data?.unreadThreadCount]);\n\n  const markNotificationAsRead = (id: string) => {\n    commit({\n      variables: {\n        input: id,\n      },\n    });\n  };\n\n  useEffect(() => {\n    const pathName = location.pathname;\n    const type = getMixpanelLocationType(pathName as PathType);\n\n    if (pathName === '/messages' && !location.search) {\n      return;\n    }\n\n    track('Page_Views', { type: type, url: pathName });\n  }, [location, track]);\n\n  const closeProfileMenu = () => {\n    toggleProfileMenuOpen(false);\n  };\n  useOnClickOutside(profileMenuRef, closeProfileMenu);\n\n  const onCloseNotifications = () => {\n    toggleNotificationsOpen(false);\n  };\n  useOnClickOutside(notificationsRef, onCloseNotifications);\n\n  const routes = useMemo(() => {\n    if (featureToggles?.isPropertyForSaleByOwnerEnabled) {\n      return [\n        ...mainNavigationRoutes,\n        {\n          component: <SaleByOwnerPage />,\n          name: <FormattedMessage defaultMessage=\"Self-sale\" id=\"Routes.Sale\" />,\n          path: '/sale',\n        },\n      ];\n    } else {\n      return [...mainNavigationRoutes];\n    }\n  }, [featureToggles]);\n\n  const handleToggle = () => {\n    toggleBrowserPermissionOpen();\n  };\n\n  const handleClickNavLink = (path: PathType) => {\n    const type = getMixpanelLocationType(path);\n    track('Page_Navigate', { page: type });\n    track('Menu_Navigate', { topMenu: type });\n  };\n\n  const handleClickLogo = () => {\n    track('Menu_Navigate', { topMenu: 'LOGO' });\n  };\n\n  const handleBellClick = () => {\n    toggleNotificationsOpen();\n    track('Menu_Navigate', { topMenu: 'NOTIFICATIONS' });\n  };\n\n  const handleProfileClick = () => {\n    toggleProfileMenuOpen();\n    track('Menu_Navigate', { topMenu: 'PROFILE-ICON' });\n  };\n\n  return (\n    <Fragment>\n      <nav className=\"main-navigation\">\n        <div className=\"main-navigation__inner\">\n          <div className=\"main-navigation__logo\" onClick={handleClickLogo}>\n            <HomeLink />\n          </div>\n          <ul className=\"main-navigation__primary\">\n            {routes.map((route) => (\n              <li key={route.path} className=\"main-navigation__list-item\">\n                <NavLink\n                  className={({ isActive }) =>\n                    classNames('main-navigation__link', {\n                      'is-active': isActive,\n                    })\n                  }\n                  end={route.path === '/'}\n                  to={route.path || '/'}\n                  onClick={() => handleClickNavLink(route.path as PathType)}\n                >\n                  {route.name}\n                  {route.path === '/messages' && <Badge count={data?.unreadThreadCount ?? 0} />}\n                </NavLink>\n              </li>\n            ))}\n          </ul>\n\n          {/* SECONDARY NAV */}\n          <ul className=\"main-navigation__secondary\">\n            {/* NOTIFICATIONS */}\n            <li ref={notificationsRef} className=\"main-nav-notifications\">\n              {isWebPushNotificationsEnabled && !notificationsEnabled && (\n                <BellHighlightPopup displayPopUp={isWebPushNotificationsEnabled && !notificationsEnabled} />\n              )}\n              <div>\n                <button\n                  className={classNames('main-nav-notifications-icon', {\n                    'is-active': notificationsOpen,\n                    'is-unread': !!data?.unreadNotificationsCount,\n                  })}\n                  onClick={handleBellClick}\n                  type=\"button\"\n                >\n                  <Icon name={isWebPushNotificationsEnabled && notificationsEnabled ? 'Bell' : 'BellOff'} />\n                </button>\n              </div>\n              {notificationsOpen && (\n                <div\n                  className={classNames('notifications-navigation', {\n                    'is-open': notificationsOpen,\n                  })}\n                >\n                  <Notifications\n                    onCloseNotifications={onCloseNotifications}\n                    onNotificationClick={markNotificationAsRead}\n                    fragment={data}\n                    handleToggle={handleToggle}\n                    setNotificationsEnabled={setNotificationsEnabled}\n                    notificationsEnabled={notificationsEnabled}\n                  />\n                </div>\n              )}\n            </li>\n            {/* PROFILE ICON */}\n            <li>\n              <div className=\"main-nav-profile\">\n                <div ref={profileMenuRef}>\n                  <button\n                    className={classNames('main-nav-profile-icon', {\n                      'is-active': profileMenuOpen,\n                      'is-path': location.pathname === '/profile',\n                    })}\n                    onClick={handleProfileClick}\n                    type=\"button\"\n                  >\n                    <Typography tagStyle=\"bodyLarge\">{initials}</Typography>\n                  </button>\n                </div>\n\n                {/* MINI NAV */}\n                <div\n                  ref={profileMenuRef}\n                  className={classNames('main-nav-profile-menu', {\n                    close: !profileMenuOpen,\n                    open: profileMenuOpen,\n                  })}\n                >\n                  <ul className=\"main-nav-profile-menu-inner\">\n                    <li>\n                      <NavLink\n                        className={({ isActive }) =>\n                          classNames('main-nav-profile-menu-link', {\n                            'is-active': isActive,\n                          })\n                        }\n                        onClick={() => {\n                          toggleProfileMenuOpen(false);\n                          track('Page_Navigate', { page: 'PROFILE_PAGE' });\n                          track('Profile_Navigate', { dropdown: 'GO-TO-PROFILE' });\n                        }}\n                        to={{ pathname: '/profile' }}\n                      >\n                        <FormattedMessage defaultMessage=\"Go to profile\" id=\"MainNavigation.profileLinkText\" />\n                      </NavLink>\n                    </li>\n                    <li className=\"main-navigation__logout\">\n                      <LogoutButton />\n                    </li>\n                  </ul>\n                </div>\n              </div>\n            </li>\n\n            {/* MOBILE NAV */}\n            <li className=\"main-nav-toggle\">\n              <button\n                className={classNames('main-nav-toggle-icon', {\n                  close: !mobileMenuOpen,\n                  open: mobileMenuOpen,\n                })}\n                onClick={() => {\n                  toggleMobileMenuOpen();\n                }}\n                type=\"button\"\n              >\n                <Icon name={mobileMenuOpen ? 'Cross' : 'BurgerMenu'} />\n              </button>\n            </li>\n          </ul>\n          <div\n            className={classNames('mobile-navigation', {\n              close: !mobileMenuOpen,\n              open: mobileMenuOpen,\n            })}\n          >\n            <ul className=\"mobile-navigation__primary\">\n              {routes.map((route) => (\n                <li key={route.path} className=\"mobile-navigation__list-item\">\n                  <NavLink\n                    className={({ isActive }) =>\n                      classNames('mobile-navigation__link', {\n                        'is-active': isActive,\n                      })\n                    }\n                    end\n                    onClick={() => {\n                      toggleMobileMenuOpen(false);\n                      track('Page_Navigate', { page: 'MESSAGES' });\n                    }}\n                    to={route.path || '/'}\n                  >\n                    {route.name}\n                    {route.path === '/messages' && <Badge count={data?.unreadThreadCount ?? 0} />}\n                  </NavLink>\n                </li>\n              ))}\n              <li className=\"mobile-navigation__profile\">\n                <NavLink\n                  className={({ isActive }) =>\n                    classNames('mobile-navigation__profile-link', {\n                      'is-active': isActive,\n                    })\n                  }\n                  onClick={() => {\n                    toggleMobileMenuOpen(false);\n                    track('Page_Navigate', { page: 'PROFILE_PAGE' });\n                    track('Profile_Navigate', { dropdown: 'GO-TO-PROFILE' });\n                  }}\n                  to=\"/profile\"\n                >\n                  <div className=\"main-nav-profile-icon\">{initials}</div>\n                  <div className=\"mobile-navigation__profile-label\">\n                    <FormattedMessage defaultMessage=\"Go to profile\" id=\"MainNavigation.profileLinkText\" />\n                  </div>\n                </NavLink>\n              </li>\n              <li className=\"main-navigation__logout\">\n                <LogoutButton />\n              </li>\n            </ul>\n          </div>\n        </div>\n      </nav>\n      {browserPermissionOpen && (\n        <SimpleModal onClose={handleToggle}>\n          <div className={'flex flex-column padding-md'}>\n            <Typography tag={'h5'}>\n              <FormattedMessage\n                defaultMessage={'Keep updated with the latest'}\n                id={'User.functionalityAccessHeadline'}\n              />\n            </Typography>\n            <Typography>\n              <FormattedMessage\n                defaultMessage=\"To restore full access to the websites functionalities, please reset your permissions for this website in your browsers settings. This ensures that any previous restrictions are removed, and you have unrestricted access to all features.\"\n                id=\"User.functionalityAccess\"\n              />\n            </Typography>\n          </div>\n        </SimpleModal>\n      )}\n    </Fragment>\n  );\n};\nexport default MainNavigation;\n","import { Component, ErrorInfo, ReactNode } from 'react';\nimport { sendErrorToServer } from 'services/errors/LogProxy';\nimport NotFound from 'components/molecules/not-found/not-found';\n\ntype Props = unknown & { children: ReactNode };\n\ninterface State {\n  error?: Error;\n  errorInfo?: ErrorInfo;\n  hasError: boolean;\n  errorId: string | null;\n}\n\nclass ErrorBoundary extends Component<Props, State> {\n  constructor(props: Props) {\n    super(props);\n    this.state = { hasError: false, errorId: null };\n  }\n\n  static getDerivedStateFromError(error: Error) {\n    // Update state so the next render will show the fallback UI.\n    return { error, hasError: true };\n  }\n\n  async componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n    // You can also log the error to an error reporting service\n    const { message, stack } = error;\n    const { componentStack } = errorInfo;\n\n    const errorId = await sendErrorToServer({\n      message,\n      stack,\n      componentStack: componentStack ?? '',\n    });\n\n    this.setState({ errorId });\n  }\n\n  render() {\n    if (this.state.hasError) {\n      // You can render any custom fallback UI\n      return <NotFound reload={true} />;\n    }\n\n    return this.props.children;\n  }\n}\n\nexport default ErrorBoundary;\n","import { defaultLayout_Query } from '__generated__/defaultLayout_Query.graphql';\nimport { defaultLayout_unreadNotifications_Subscription } from '__generated__/defaultLayout_unreadNotifications_Subscription.graphql';\nimport Loader from 'components/atoms/loader/loader';\nimport StickyChat from 'components/molecules/sticky-chat/sticky-chat';\nimport Footer from 'components/organisms/footer/footer';\nimport { InstallPWA } from 'components/organisms/install-pwa-modal/installPWA';\nimport MainNavigation from 'components/organisms/main-navigation/main-navigation';\nimport { useSubscriptionWithReconnect } from 'hooks/useSubscriptionWithReconnect';\nimport { FC, Suspense, useCallback, useMemo, useRef } from 'react';\nimport { isMobile, isTablet } from 'react-device-detect';\nimport { graphql, useLazyLoadQuery } from 'react-relay';\nimport { Outlet, useLocation } from 'react-router-dom';\nimport { GraphQLSubscriptionConfig } from 'relay-runtime';\nimport ErrorBoundary from 'services/error-boundary/error-boundary';\nimport './default-layout.scss';\n\nconst defaultLayout_query = graphql`\n  query defaultLayout_Query {\n    viewer {\n      customer {\n        firstName\n        isCompany\n        lastName\n        ...notifications_fragment\n        ...mainNavigation_fragment\n        ...stickyChat_fragment\n      }\n    }\n  }\n`;\n\nconst unreadNotificationsSubscriptionQuery = graphql`\n  subscription defaultLayout_unreadNotifications_Subscription {\n    onNotificationCountUpdatedEvent {\n      viewer {\n        customer {\n          unreadNotificationsCount\n          unreadThreadCount\n          ...notifications_fragment\n        }\n      }\n    }\n  }\n`;\n\ntype refreshType = {\n  fetchKey: number;\n  fetchPolicy: 'network-only';\n  networkCacheConfig: { force: boolean };\n};\n\nconst DefaultLayout: FC = () => {\n  const refreshedQueryOptions = useRef<refreshType>({\n    fetchKey: 0,\n    fetchPolicy: 'network-only',\n    networkCacheConfig: { force: true },\n  });\n\n  const data = useLazyLoadQuery<defaultLayout_Query>(defaultLayout_query, {}, refreshedQueryOptions.current);\n\n  const { pathname } = useLocation();\n\n  const refresh = useCallback(() => {\n    refreshedQueryOptions.current = {\n      ...refreshedQueryOptions.current,\n      fetchKey: refreshedQueryOptions.current.fetchKey + 1,\n    };\n  }, []);\n\n  const notificationSubscriptionConfig: GraphQLSubscriptionConfig<defaultLayout_unreadNotifications_Subscription> =\n    useMemo(\n      () => ({\n        subscription: unreadNotificationsSubscriptionQuery,\n        variables: {},\n        onNext: () => {\n          refresh();\n        },\n      }),\n      [refresh],\n    );\n\n  useSubscriptionWithReconnect(notificationSubscriptionConfig);\n\n  const initials = useMemo(() => {\n    if (!data.viewer) return null;\n\n    if (data.viewer.customer?.isCompany) {\n      return data.viewer.customer?.firstName?.charAt(0).toUpperCase();\n    } else {\n      return `${data.viewer.customer?.firstName?.charAt(0).toUpperCase()}${data.viewer.customer?.lastName\n        ?.charAt(0)\n        .toUpperCase()}`;\n    }\n  }, [data.viewer]);\n\n  const customer = useMemo(() => {\n    if (!data.viewer) return null;\n\n    return data.viewer.customer;\n  }, [data.viewer]);\n\n  if (!customer || !initials) {\n    return null;\n  }\n\n  return (\n    <ErrorBoundary>\n      <div className=\"defaultLayout\">\n        <MainNavigation fragment={customer} initials={initials} />\n        <main className=\"defaultLayout__main\">\n          <ErrorBoundary>\n            <Suspense fallback={<Loader />}>\n              {(isMobile || isTablet) && <InstallPWA />}\n\n              <div id=\"app-outlet\">\n                <Outlet />\n                <StickyChat fragment={customer} />\n              </div>\n            </Suspense>\n          </ErrorBoundary>\n        </main>\n        {!pathname.includes('messages') && <Footer />}\n      </div>\n    </ErrorBoundary>\n  );\n};\n\nexport default DefaultLayout;\n","import {\n  CacheConfig,\n  Environment,\n  GraphQLResponseWithData,\n  Network,\n  Observable,\n  QueryResponseCache,\n  RecordSource,\n  RequestParameters,\n  RequiredFieldLogger,\n  Store,\n  UploadableMap,\n  Variables,\n} from 'relay-runtime';\nimport { GraphQLResponse } from 'relay-runtime/lib/network/RelayNetworkTypes';\n\nimport { authenticationService } from 'services/authentication/authentication-service';\nimport { SignalrConnection } from './signalr-connection';\n\nconst cache = new QueryResponseCache({ size: 25, ttl: 10000 });\nlet _clientId = 0;\n\nfunction createGraphQLQueryFetcher(endpoint: string) {\n  return async function createFetchGraphQLQuery(\n    request: RequestParameters,\n    variables: Variables,\n    cacheConfig: CacheConfig,\n    uploadables?: UploadableMap | null,\n  ) {\n    const queryId = request.name;\n    const isMutation = request.operationKind === 'mutation';\n    const isQuery = request.operationKind === 'query';\n    const cachedData = cache.get(queryId, variables);\n\n    const isImpersonated = !!authenticationService?.idTokenParsed?.impersonator;\n    if (isMutation && isImpersonated) {\n      return;\n    }\n\n    if (\n      !cacheConfig?.force &&\n      (cachedData as GraphQLResponseWithData)?.data &&\n      !(cachedData as GraphQLResponseWithData)?.errors\n    ) {\n      return cachedData;\n    }\n\n    const query = JSON.stringify({\n      operationName: request.name,\n      query: request.text,\n      variables,\n    });\n\n    let body: FormData | string | null = null;\n    let headers: any = null;\n\n    if (uploadables) {\n      const formData = new FormData();\n      for (const uploadable of Object.values(uploadables)) {\n        formData.append('files[]', uploadable);\n      }\n      formData.append('query', query);\n      body = formData;\n      headers = {};\n    } else {\n      body = query;\n      headers = { 'Content-Type': 'application/json' };\n    }\n    const token = await authenticationService.tokenAsync();\n\n    const response = await fetch(endpoint, {\n      body,\n      credentials: 'include',\n      headers: {\n        Authorization: `Bearer ${token}`,\n        ...headers,\n      },\n      method: 'POST',\n    });\n\n    if (!response.ok) {\n      throw Error(response.statusText);\n    }\n\n    const json = await response.json();\n\n    if (isQuery && json.data && !json.errors && !uploadables) {\n      cache.set(queryId, variables, json);\n    }\n\n    // Clear cache on mutations\n    if (isMutation) {\n      cache.clear();\n    }\n\n    if (json?.errors) {\n      return {\n        data: null,\n        errors: json.errors,\n      };\n    }\n\n    return json;\n  };\n}\n\nexport function createRelayEnvironmentInstance(endpoint: string, connection: SignalrConnection) {\n  const subscribe = (request: RequestParameters, variables: Variables) => {\n    const clientId = _clientId++;\n\n    const observable = Observable.create<GraphQLResponse>((sink) => {\n      connection.on('onOperation', (...payload: any[]) => sink.next(payload.map((x) => x.payload)));\n\n      connection.invoke('Subscribe', {\n        id: clientId,\n        payload: {\n          operationName: request.name,\n          query: request.text,\n          variables,\n        },\n        type: 'start',\n      });\n    });\n\n    const observableWithUnsubscribe = observable.finally(() => {\n      connection.invoke('Subscribe', {\n        id: clientId,\n        type: 'stop',\n      });\n    });\n\n    return observableWithUnsubscribe;\n  };\n\n  const network = Network.create(createGraphQLQueryFetcher(endpoint), subscribe);\n\n  const source = new RecordSource();\n  const store = new Store(source);\n  const handlerProvider = null;\n  const requiredFieldLogger: RequiredFieldLogger = (e) => console.error(e);\n\n  const environment = new Environment({\n    handlerProvider,\n    network,\n    store,\n    requiredFieldLogger,\n  });\n\n  return environment;\n}\n","import { FunctionComponent, ReactNode, useMemo } from 'react';\nimport { IntlProvider as ReactIntlProvider } from 'react-intl';\nimport messages_da from './locales/da.json';\nimport messages_da_agent from './locales/da-agent.json';\nimport messages_da_kartotek from './locales/da-kartotek.json';\nimport messages_da_kartotek_heading from './locales/da-kartotek-heading.json';\nimport messages_da_ejendom from './locales/da-ejendom.json';\nimport messages_da_bygning from './locales/da-bygning.json';\nimport messages_da_boligoensker from './locales/da-boligoensker.json';\nimport messages_da_ejendomsoensker from './locales/da-ejendomoensker.json';\n\ntype Props = {\n  locale: string;\n  translationVariants: string[];\n  children: ReactNode;\n};\n\ntype TranslationFileType = Record<string, string>;\n\nconst languageMapping: Record<string, TranslationFileType> = {\n  agent: messages_da_agent,\n  kartotek: messages_da_kartotek,\n  'kartotek-heading': messages_da_kartotek_heading,\n  bygning: messages_da_bygning,\n  ejendom: messages_da_ejendom,\n  boligoensker: messages_da_boligoensker,\n  ejendomsoensker: messages_da_ejendomsoensker,\n};\nconst danishDefaultTranslations: TranslationFileType = messages_da;\n\nexport const IntlProvider: FunctionComponent<Props> = (props) => {\n  const intlProviderMessages = useMemo(() => {\n    let baseTranslations = { ...danishDefaultTranslations };\n\n    if (props.translationVariants.length > 0) {\n      props.translationVariants.forEach((variant) => {\n        if (!variant) return;\n        const mappedTranslation = languageMapping[variant] ?? {};\n        baseTranslations = { ...baseTranslations, ...mappedTranslation };\n      });\n    }\n    return baseTranslations;\n  }, [props.translationVariants]);\n\n  return (\n    <ReactIntlProvider locale={props.locale} messages={intlProviderMessages}>\n      {props.children}\n    </ReactIntlProvider>\n  );\n};\n","import { ToastContainer } from 'react-toastify';\nimport './top-level-toast-container.scss';\n\nexport const TopLevelToastContainer = () => {\n  return (\n    <ToastContainer\n      position=\"bottom-right\"\n      autoClose={5000}\n      hideProgressBar={false}\n      newestOnTop={false}\n      closeOnClick\n      rtl={false}\n      pauseOnFocusLoss\n      draggable\n      pauseOnHover\n      theme=\"light\"\n    />\n  );\n};\n","import { createContext, ReactNode, useContext, useEffect, useState } from 'react';\nimport Bowser from 'bowser';\n\ntype Props = {\n  children: ReactNode;\n};\n\ntype DisplayMode = 'browser' | 'standalone';\n\ninterface InfoType extends Bowser.Parser.ParsedResult {\n  isRunningPWA: boolean;\n}\n\nconst UserDeviceContext = createContext<null | InfoType>(null);\n\nconst UserDeviceProvider = (providerProps: Props) => {\n  const [displayMode, setDisplayMode] = useState<'browser' | 'standalone'>('browser');\n\n  useEffect(() => {\n    let displayMode: DisplayMode = 'browser';\n    const mqStandAlone = '(display-mode: standalone)';\n    if ('standalone' in navigator || window.matchMedia(mqStandAlone).matches) {\n      displayMode = 'standalone';\n    }\n    setDisplayMode(displayMode);\n\n    window.matchMedia('(display-mode: standalone)').addEventListener('change', (evt) => {\n      let displayMode: DisplayMode = 'browser';\n      if ('standalone' in navigator || evt.matches) {\n        displayMode = 'standalone';\n      }\n      setDisplayMode(displayMode);\n    });\n  }, []);\n\n  const browserInfo = Bowser.parse(navigator.userAgent);\n  const info = {\n    ...browserInfo,\n    isRunningPWA: displayMode === 'standalone',\n  };\n\n  return <UserDeviceContext.Provider value={info}>{providerProps.children}</UserDeviceContext.Provider>;\n};\n\nexport default UserDeviceProvider;\n\nexport const useUserDevice = () => useContext(UserDeviceContext);\n","import Loader from 'components/atoms/loader/loader';\nimport { AppSettings } from 'configs/app-settings-defaults';\nimport { ThemeContext } from './context/ThemeContext';\nimport ViewerProvider from 'app/contexts/viewerContext';\nimport DefaultLayout from './layouts/default-layout';\nimport { Suspense } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { RelayEnvironmentProvider } from 'react-relay/hooks';\nimport { Route, RouterProvider, createBrowserRouter, createRoutesFromElements } from 'react-router-dom';\nimport { mainAppRoutes } from './router/routes-setup';\nimport ErrorBoundary from 'services/error-boundary/error-boundary';\nimport { createRelayEnvironmentInstance } from 'services/relay/relay-environment';\nimport { createSignalrConnectionInstance } from 'services/relay/signalr-connection';\nimport { SignalrConnectionProvider } from 'services/relay/signalr-connection-provider';\nimport { IntlProvider } from 'services/translations/IntlProvider';\nimport 'styles/_app.scss';\nimport { TopLevelToastContainer } from 'components/molecules/top-level-toast-container/top-level-toast-container';\nimport { MixPanelProvider } from './mixpanel/MixPanelProvider';\nimport UserDeviceProvider from './contexts/userDeviceContext';\nimport RelayModernEnvironment from 'relay-runtime/lib/store/RelayModernEnvironment';\n\nconst AppRoot = (props: AppSettings) => {\n  const signalrConnectionInstance = createSignalrConnectionInstance(props.settings.ENDPOINT_SIGNALR);\n  const relayEnvironmentInstance = createRelayEnvironmentInstance(\n    props.settings.ENDPOINT_GRAPHQL,\n    signalrConnectionInstance,\n  );\n\n  return (\n    <ThemeContext.Provider value={props.theme}>\n      <MixPanelProvider token={props.settings.MIXPANEL_TOKEN ?? ''}>\n        <Helmet>\n          <link href={props.theme?.favIcon32} rel=\"icon\" sizes=\"32x32\" type=\"image/png\" />\n          <link href={props.theme?.favIcon16} rel=\"icon\" sizes=\"16x16\" type=\"image/png\" />\n          <link href={props.theme?.appleTouchIcon} rel=\"apple-touch-icon\" sizes=\"180x180\" />\n          <title>{props.theme?.websiteTitle}</title>\n        </Helmet>\n        <IntlProvider translationVariants={props.settings.TRANSLATION_VARIANTS ?? ''} locale={props.settings.LOCALE}>\n          <ErrorBoundary>\n            <UserDeviceProvider>\n              <SignalrConnectionProvider connection={signalrConnectionInstance}>\n                <RelayEnvironmentProvider environment={relayEnvironmentInstance as RelayModernEnvironment}>\n                  <ViewerProvider>\n                    <Suspense fallback={<Loader />}>\n                      <App />\n                      <TopLevelToastContainer />\n                    </Suspense>\n                  </ViewerProvider>\n                </RelayEnvironmentProvider>\n              </SignalrConnectionProvider>\n            </UserDeviceProvider>\n          </ErrorBoundary>\n        </IntlProvider>\n      </MixPanelProvider>\n    </ThemeContext.Provider>\n  );\n};\n\nconst App = () => {\n  const routesSetup = createBrowserRouter(\n    createRoutesFromElements(\n      <Route element={<DefaultLayout />} path=\"/\">\n        {mainAppRoutes.map((route) => (\n          <Route key={route.path} element={route.component} path={route.path}>\n            <Route element={route.subRoute?.component} path={route.subRoute?.path} />\n          </Route>\n        ))}\n      </Route>,\n    ),\n  );\n\n  return <RouterProvider router={routesSetup} />;\n};\n\nexport default AppRoot;\n","import ReactDOM from 'react-dom/client';\nimport AppRoot from 'app/AppRoot';\nimport { AppSettings } from 'configs/app-settings-defaults';\n\nconst root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);\n\nexport const initReactApp = (config: AppSettings) => {\n  root.render(\n    // <React.StrictMode>\n    <AppRoot {...config} />,\n    // </React.StrictMode>\n  );\n};\n","import './index.css';\nimport reportWebVitals from './reportWebVitals';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport { createAuthenticationService } from './services/authentication/authentication-service';\nimport { initAppSettings } from './setup/setup-app-settings';\nimport { initReactApp } from './setup/setup-react-app';\n\nasync function initialize() {\n  try {\n    const appSettings = await initAppSettings();\n    const {\n      settings: { HTML_DOCUMENT_TITLE, AUTH_CLIENT_ID, AUTH_REALM, AUTH_URL },\n    } = appSettings;\n\n    document.title = HTML_DOCUMENT_TITLE;\n\n    const authenticationService = createAuthenticationService({\n      clientId: AUTH_CLIENT_ID,\n      realm: AUTH_REALM,\n      url: AUTH_URL,\n    });\n\n    await authenticationService.init();\n\n    initReactApp(appSettings);\n  } catch (e) {\n    console.error(e);\n  }\n}\ninitialize();\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.register();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\ntype Config = {\n  onSuccess?: (registration: ServiceWorkerRegistration) => void;\n  onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n  if ('serviceWorker' in navigator) {\n    // The URL constructor is available in all browsers that support SW.\n    const publicUrl = new URL(import.meta.env.PUBLIC_URL, window.location.href);\n    if (publicUrl.origin !== window.location.origin) {\n      // Our service worker won't work if PUBLIC_URL is on a different origin\n      // from what our page is served on. This might happen if a CDN is used to\n      // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n      return;\n    }\n\n    window.addEventListener('load', () => {\n      const swUrl = `${import.meta.env.PUBLIC_URL}/service-worker.js`;\n      registerValidSW(swUrl, config);\n    });\n  }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n  navigator.serviceWorker\n    .register(swUrl)\n    .then((registration) => {\n      registration.onupdatefound = () => {\n        const installingWorker = registration.installing;\n        if (installingWorker == null) {\n          return;\n        }\n        installingWorker.onstatechange = () => {\n          if (installingWorker.state === 'installed') {\n            if (navigator.serviceWorker.controller) {\n              // Execute callback\n              if (config?.onUpdate) {\n                config.onUpdate(registration);\n              }\n            } else {\n              // Execute callback\n              if (config?.onSuccess) {\n                config.onSuccess(registration);\n              }\n            }\n          }\n        };\n      };\n    })\n    .catch((error) => {\n      console.error('Error during service worker registration:', error);\n    });\n}\n\nexport function unregister() {\n  if ('serviceWorker' in navigator) {\n    navigator.serviceWorker.ready\n      .then((registration) => {\n        registration.unregister();\n      })\n      .catch((error) => {\n        console.error(error.message);\n      });\n  }\n}\n","import Keycloak, { KeycloakConfig, KeycloakInitOptions } from 'keycloak-js';\n\nclass AuthenticationService {\n  minValidity = 15;\n  updateTokenTimeoutId: number | null = null;\n  keycloak: Keycloak;\n\n  constructor(config: KeycloakConfig) {\n    this.keycloak = new Keycloak(config);\n    this.keycloak.onTokenExpired = this.handleUpdateToken;\n    this.keycloak.onAuthRefreshError = this.handleAuthRefreshError;\n  }\n\n  clearUpdateTokenTimeoutId = () => {\n    window.removeEventListener('online', this.handleUpdateToken);\n    if (this.updateTokenTimeoutId) {\n      clearTimeout(this.updateTokenTimeoutId);\n      this.updateTokenTimeoutId = null;\n    }\n  };\n\n  handleUpdateToken = () => {\n    this.clearUpdateTokenTimeoutId();\n    this.keycloak.updateToken(this.minValidity);\n  };\n\n  handleAuthRefreshError = () => {\n    this.clearUpdateTokenTimeoutId();\n\n    if (!navigator.onLine) {\n      console.error(`AuthRefreshError: navigator.onLine = ${navigator.onLine} wait for online event`);\n      window.addEventListener('online', this.handleUpdateToken);\n    } else {\n      this.updateTokenTimeoutId = window.setTimeout(this.handleUpdateToken, 10000);\n    }\n  };\n\n  init(\n    options: KeycloakInitOptions = {\n      enableLogging: false,\n      onLoad: 'login-required',\n    },\n  ) {\n    return this.keycloak.init({ ...options, pkceMethod: 'S256' });\n  }\n\n  login() {\n    this.keycloak.login();\n  }\n\n  logout() {\n    let pathname = window.location.pathname;\n    if (pathname !== '' && pathname[0] !== '/') {\n      pathname = `/${pathname}`;\n    }\n    this.keycloak.logout({ redirectUri: window.location.origin + pathname });\n  }\n\n  get isTokenExpired() {\n    return this.keycloak.isTokenExpired(this.minValidity);\n  }\n\n  get idTokenParsed() {\n    return this.keycloak.idTokenParsed;\n  }\n\n  updateToken() {\n    return this.keycloak.updateToken(this.minValidity);\n  }\n\n  loadUserProfile() {\n    return this.keycloak.loadUserProfile();\n  }\n\n  loadUserInfo() {\n    return this.keycloak.loadUserInfo();\n  }\n\n  tokenOrError() {\n    if (!this.keycloak.token) {\n      throw new Error('keycloak token is undefined');\n    }\n    return this.keycloak.token;\n  }\n\n  tokenAsync() {\n    if (this.keycloak.isTokenExpired(this.minValidity)) {\n      return this.updateToken().then(() => this.tokenOrError());\n    } else {\n      return Promise.resolve(this.tokenOrError());\n    }\n  }\n\n  addTokenToUrl(originalUrl: string | undefined) {\n    if (!originalUrl) return '';\n\n    const url = new URL(originalUrl);\n    url.searchParams.set('access_token', this.tokenOrError());\n\n    return url.toString();\n  }\n}\n\nexport let authenticationService: AuthenticationService;\n\nexport function createAuthenticationService({ clientId, realm, url }: KeycloakConfig) {\n  authenticationService = new AuthenticationService({ clientId, realm, url });\n  return authenticationService;\n}\n","import { authenticationService } from 'services/authentication/authentication-service';\nimport { appSettings } from '../../../src/setup/setup-app-settings';\n\n// generate string of <length> hex numbers, e.g. \"a4ed1db61c38\"\nfunction getErrorId(hexLength = 6) {\n  const random = window.crypto.getRandomValues(new Uint8Array(hexLength));\n\n  let id = '';\n  for (const r of random) {\n    id += r.toString(16).padStart(2, '0');\n  }\n\n  return id;\n}\n\nasync function send(body: string) {\n  const token = await authenticationService.tokenAsync();\n  return fetch(appSettings.settings.ENDPOINT_LOGPROXY, {\n    headers: {\n      Authorization: `Bearer ${token}`,\n      'Content-Type': 'application/json',\n    },\n    body,\n    method: 'POST',\n    credentials: 'include',\n  })\n    .then((response) => response.text())\n    .catch((error) => {\n      if (error) console.error(error);\n    });\n}\n\ninterface ErrorInfo {\n  message: string;\n  stack?: string;\n  componentStack?: string;\n}\n\nasync function sendErrorToServer({ message, stack, componentStack }: ErrorInfo) {\n  return await _sendToServer({\n    logLevel: 'Error',\n    message,\n    stack,\n    componentStack,\n  });\n}\n\nasync function _sendToServer({ logLevel, message, stack = '', componentStack = '' }: ErrorInfo & { logLevel: string }) {\n  const errorId = getErrorId();\n\n  const body = JSON.stringify({\n    clientId: appSettings.settings.AUTH_CLIENT_ID,\n    clientVersion: appSettings.settings.CLIENT_VERSION,\n    componentStack,\n    errorId,\n    gitBranch: appSettings.settings.CI_COMMIT_REF_NAME,\n    gitSha: appSettings.settings.CI_COMMIT_SHA,\n    gitTag: appSettings.settings.CI_COMMIT_TAG,\n    message,\n    stack,\n    timestamp: new Date().toISOString(),\n    url: window.location.href,\n    userAgent: window.navigator.userAgent,\n    logLevel: logLevel,\n  });\n\n  await send(body);\n\n  return errorId;\n}\n\nexport { sendErrorToServer };\n","/**\n * @generated SignedSource<<6950478e97e02c98b00eb97457db19ac>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nexport type markNotificationAsRead_Mutation$variables = {\n  input: string;\n};\nexport type markNotificationAsRead_Mutation$data = {\n  readonly markNotificationAsRead: {\n    readonly updatedObject: {\n      readonly id: string;\n      readonly read: boolean;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type markNotificationAsRead_Mutation = {\n  response: markNotificationAsRead_Mutation$data;\n  variables: markNotificationAsRead_Mutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"notificationId\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"read\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"markNotificationAsRead_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"NotificationInterfaceUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"markNotificationAsRead\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": null,\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              (v2/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"markNotificationAsRead_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"NotificationInterfaceUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"markNotificationAsRead\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": null,\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"__typename\",\n                \"storageKey\": null\n              },\n              (v2/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"e4e82cb3fea401e81b4ef61fe67fb277\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"markNotificationAsRead_Mutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation markNotificationAsRead_Mutation(\\n  $input: ID!\\n) {\\n  markNotificationAsRead(notificationId: $input) {\\n    updatedObject {\\n      __typename\\n      id\\n      read\\n    }\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"8edfd329e55c17f864c69835e918af4c\";\n\nexport default node;\n","import { graphql } from 'react-relay';\n\nexport const markNotificationAsReadMutation = graphql`\n  mutation markNotificationAsRead_Mutation($input: ID!) {\n    markNotificationAsRead(notificationId: $input) {\n      updatedObject {\n        id\n        read\n      }\n    }\n  }\n`;\n","/**\n * @generated SignedSource<<5fdaea7a72c99bb62a3e6b5df46edfa3>>\n * @lightSyntaxTransform\n * @nogrep\n */\n\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { ConcreteRequest, Mutation } from 'relay-runtime';\nimport { FragmentRefs } from \"relay-runtime\";\nexport type MatchProfileStatus = \"Favorite\" | \"None\" | \"Removed\" | \"Selected\";\nexport type UpdateSearchProfileMatchedCaseInput = {\n  id: string;\n  status: MatchProfileStatus;\n};\nexport type updateSearchProfileMatchedCase_Mutation$variables = {\n  input: UpdateSearchProfileMatchedCaseInput;\n};\nexport type updateSearchProfileMatchedCase_Mutation$data = {\n  readonly updateSearchProfileMatchedCase: {\n    readonly errors: ReadonlyArray<{\n      readonly message: string | null | undefined;\n    } | null | undefined> | null | undefined;\n    readonly updatedObject: {\n      readonly \" $fragmentSpreads\": FragmentRefs<\"matchCardFragment\">;\n    } | null | undefined;\n  } | null | undefined;\n};\nexport type updateSearchProfileMatchedCase_Mutation = {\n  response: updateSearchProfileMatchedCase_Mutation$data;\n  variables: updateSearchProfileMatchedCase_Mutation$variables;\n};\n\nconst node: ConcreteRequest = (function(){\nvar v0 = [\n  {\n    \"defaultValue\": null,\n    \"kind\": \"LocalArgument\",\n    \"name\": \"input\"\n  }\n],\nv1 = [\n  {\n    \"kind\": \"Variable\",\n    \"name\": \"input\",\n    \"variableName\": \"input\"\n  }\n],\nv2 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"message\",\n  \"storageKey\": null\n},\nv3 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"id\",\n  \"storageKey\": null\n},\nv4 = {\n  \"alias\": null,\n  \"args\": [\n    {\n      \"kind\": \"Literal\",\n      \"name\": \"first\",\n      \"value\": 5\n    }\n  ],\n  \"concreteType\": \"MediaDataConnection\",\n  \"kind\": \"LinkedField\",\n  \"name\": \"mediaDataConnection\",\n  \"plural\": false,\n  \"selections\": [\n    {\n      \"alias\": null,\n      \"args\": null,\n      \"concreteType\": \"MediaDataEdge\",\n      \"kind\": \"LinkedField\",\n      \"name\": \"edges\",\n      \"plural\": true,\n      \"selections\": [\n        {\n          \"alias\": null,\n          \"args\": null,\n          \"concreteType\": \"Media\",\n          \"kind\": \"LinkedField\",\n          \"name\": \"node\",\n          \"plural\": false,\n          \"selections\": [\n            {\n              \"alias\": null,\n              \"args\": [\n                {\n                  \"kind\": \"Literal\",\n                  \"name\": \"resourceType\",\n                  \"value\": \"Presentation\"\n                }\n              ],\n              \"kind\": \"ScalarField\",\n              \"name\": \"resourceUrl\",\n              \"storageKey\": \"resourceUrl(resourceType:\\\"Presentation\\\")\"\n            },\n            (v3/*: any*/)\n          ],\n          \"storageKey\": null\n        }\n      ],\n      \"storageKey\": null\n    }\n  ],\n  \"storageKey\": \"mediaDataConnection(first:5)\"\n},\nv5 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n},\nv6 = {\n  \"alias\": null,\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"zipCode\",\n  \"storageKey\": null\n},\nv7 = [\n  (v5/*: any*/),\n  (v6/*: any*/)\n],\nv8 = {\n  \"alias\": \"businessPropertyType\",\n  \"args\": null,\n  \"kind\": \"ScalarField\",\n  \"name\": \"propertyType\",\n  \"storageKey\": null\n};\nreturn {\n  \"fragment\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Fragment\",\n    \"metadata\": null,\n    \"name\": \"updateSearchProfileMatchedCase_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"SearchProfileMatchedCaseUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"updateSearchProfileMatchedCase\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"SearchProfileMatchedCase\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              {\n                \"args\": null,\n                \"kind\": \"FragmentSpread\",\n                \"name\": \"matchCardFragment\"\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ],\n    \"type\": \"Mutation\",\n    \"abstractKey\": null\n  },\n  \"kind\": \"Request\",\n  \"operation\": {\n    \"argumentDefinitions\": (v0/*: any*/),\n    \"kind\": \"Operation\",\n    \"name\": \"updateSearchProfileMatchedCase_Mutation\",\n    \"selections\": [\n      {\n        \"alias\": null,\n        \"args\": (v1/*: any*/),\n        \"concreteType\": \"SearchProfileMatchedCaseUpdatedPayload\",\n        \"kind\": \"LinkedField\",\n        \"name\": \"updateSearchProfileMatchedCase\",\n        \"plural\": false,\n        \"selections\": [\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"Error\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"errors\",\n            \"plural\": true,\n            \"selections\": [\n              (v2/*: any*/),\n              (v3/*: any*/)\n            ],\n            \"storageKey\": null\n          },\n          {\n            \"alias\": null,\n            \"args\": null,\n            \"concreteType\": \"SearchProfileMatchedCase\",\n            \"kind\": \"LinkedField\",\n            \"name\": \"updatedObject\",\n            \"plural\": false,\n            \"selections\": [\n              (v3/*: any*/),\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"status\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"kind\": \"ScalarField\",\n                \"name\": \"highlightStatus\",\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": null,\n                \"kind\": \"LinkedField\",\n                \"name\": \"baseCase\",\n                \"plural\": false,\n                \"selections\": [\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"__typename\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": [\n                      {\n                        \"kind\": \"Literal\",\n                        \"name\": \"amount\",\n                        \"value\": 1\n                      }\n                    ],\n                    \"concreteType\": \"OpenHouse\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"openHouse\",\n                    \"plural\": true,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"concreteType\": \"ActivityType\",\n                        \"kind\": \"LinkedField\",\n                        \"name\": \"activityType\",\n                        \"plural\": false,\n                        \"selections\": [\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"nameOnTimeline\",\n                            \"storageKey\": null\n                          },\n                          {\n                            \"alias\": null,\n                            \"args\": null,\n                            \"kind\": \"ScalarField\",\n                            \"name\": \"isRegistration\",\n                            \"storageKey\": null\n                          },\n                          (v3/*: any*/)\n                        ],\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"startDate\",\n                        \"storageKey\": null\n                      },\n                      (v3/*: any*/)\n                    ],\n                    \"storageKey\": \"openHouse(amount:1)\"\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"noAdvertisement\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"gpsCoordinates\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"address\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"city\",\n                    \"storageKey\": null\n                  },\n                  (v3/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"BaseCaseMainOffer\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"baseCaseMainOffer\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"cashPrice\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  (v4/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"concreteType\": \"CaseAreas\",\n                    \"kind\": \"LinkedField\",\n                    \"name\": \"caseAreas\",\n                    \"plural\": false,\n                    \"selections\": [\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"livableArea\",\n                        \"storageKey\": null\n                      },\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"plotAreaSum\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"storageKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v7/*: any*/),\n                    \"type\": \"SalesCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v7/*: any*/),\n                    \"type\": \"RectifyCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v7/*: any*/),\n                    \"type\": \"CounselingPropertyCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v7/*: any*/),\n                    \"type\": \"RentalCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": (v7/*: any*/),\n                    \"type\": \"CounselingCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      (v8/*: any*/),\n                      (v6/*: any*/),\n                      {\n                        \"alias\": null,\n                        \"args\": null,\n                        \"kind\": \"ScalarField\",\n                        \"name\": \"floorAreaTotal\",\n                        \"storageKey\": null\n                      }\n                    ],\n                    \"type\": \"BusinessSalesCase\",\n                    \"abstractKey\": null\n                  },\n                  {\n                    \"kind\": \"InlineFragment\",\n                    \"selections\": [\n                      (v8/*: any*/),\n                      (v6/*: any*/)\n                    ],\n                    \"type\": \"BusinessRentalCase\",\n                    \"abstractKey\": null\n                  }\n                ],\n                \"storageKey\": null\n              },\n              {\n                \"alias\": null,\n                \"args\": null,\n                \"concreteType\": \"OffmarketCase\",\n                \"kind\": \"LinkedField\",\n                \"name\": \"offmarketCase\",\n                \"plural\": false,\n                \"selections\": [\n                  (v5/*: any*/),\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"businessPropertyType\",\n                    \"storageKey\": null\n                  },\n                  {\n                    \"alias\": null,\n                    \"args\": null,\n                    \"kind\": \"ScalarField\",\n                    \"name\": \"caseDescriptionHeading\",\n                    \"storageKey\": null\n                  },\n                  (v4/*: any*/),\n                  (v3/*: any*/)\n                ],\n                \"storageKey\": null\n              }\n            ],\n            \"storageKey\": null\n          }\n        ],\n        \"storageKey\": null\n      }\n    ]\n  },\n  \"params\": {\n    \"cacheID\": \"01d314da24b8d78a151ac1848fbd2740\",\n    \"id\": null,\n    \"metadata\": {},\n    \"name\": \"updateSearchProfileMatchedCase_Mutation\",\n    \"operationKind\": \"mutation\",\n    \"text\": \"mutation updateSearchProfileMatchedCase_Mutation(\\n  $input: UpdateSearchProfileMatchedCaseInput!\\n) {\\n  updateSearchProfileMatchedCase(input: $input) {\\n    errors {\\n      message\\n      id\\n    }\\n    updatedObject {\\n      ...matchCardFragment\\n      id\\n    }\\n  }\\n}\\n\\nfragment matchCardFragment on SearchProfileMatchedCase {\\n  id\\n  status\\n  highlightStatus\\n  baseCase {\\n    __typename\\n    openHouse(amount: 1) {\\n      activityType {\\n        nameOnTimeline\\n        isRegistration\\n        id\\n      }\\n      startDate\\n      id\\n    }\\n    noAdvertisement\\n    gpsCoordinates\\n    address\\n    city\\n    id\\n    baseCaseMainOffer {\\n      cashPrice\\n    }\\n    mediaDataConnection(first: 5) {\\n      edges {\\n        node {\\n          resourceUrl(resourceType: Presentation)\\n          id\\n        }\\n      }\\n    }\\n    caseAreas {\\n      livableArea\\n      plotAreaSum\\n    }\\n    ... on SalesCase {\\n      propertyType\\n      zipCode\\n    }\\n    ... on RectifyCase {\\n      propertyType\\n      zipCode\\n    }\\n    ... on CounselingPropertyCase {\\n      propertyType\\n      zipCode\\n    }\\n    ... on RentalCase {\\n      propertyType\\n      zipCode\\n    }\\n    ... on CounselingCase {\\n      propertyType\\n      zipCode\\n    }\\n    ... on BusinessSalesCase {\\n      businessPropertyType: propertyType\\n      zipCode\\n      floorAreaTotal\\n    }\\n    ... on BusinessRentalCase {\\n      businessPropertyType: propertyType\\n      zipCode\\n    }\\n  }\\n  offmarketCase {\\n    propertyType\\n    businessPropertyType\\n    caseDescriptionHeading\\n    mediaDataConnection(first: 5) {\\n      edges {\\n        node {\\n          resourceUrl(resourceType: Presentation)\\n          id\\n        }\\n      }\\n    }\\n    id\\n  }\\n}\\n\"\n  }\n};\n})();\n\n(node as any).hash = \"1ff4cbafe9f089bdc50eeae7ab97ac1a\";\n\nexport default node;\n","import { graphql } from 'react-relay';\n\nexport const updateSearchProfileMatchedCase = graphql`\n  mutation updateSearchProfileMatchedCase_Mutation($input: UpdateSearchProfileMatchedCaseInput!) {\n    updateSearchProfileMatchedCase(input: $input) {\n      errors {\n        message\n      }\n      updatedObject {\n        ...matchCardFragment\n      }\n    }\n  }\n`;\n","import React from 'react';\nimport { SignalrConnection } from 'services/relay/signalr-connection';\n\nexport const SignalrConnectionContext = React.createContext<SignalrConnection | null>(null);\n","import { SignalrConnectionContext } from 'app/context/SignalrConnectionContext';\nimport { ReactNode, useContext, useEffect, useState } from 'react';\nimport { SignalrConnection, SignalrConnectionStateEnum } from './signalr-connection';\n\ninterface Props {\n  children: ReactNode;\n  connection: SignalrConnection;\n}\n\nconst SignalrConnectionProvider = ({ children, connection }: Props) => (\n  <SignalrConnectionContext.Provider value={connection}>{children}</SignalrConnectionContext.Provider>\n);\n\nconst useSignalrConnection = (): [SignalrConnectionStateEnum, SignalrConnection | null] => {\n  const connection = useContext(SignalrConnectionContext);\n\n  const [connectionState, setConnectionState] = useState<SignalrConnectionStateEnum>(\n    SignalrConnectionStateEnum.Disconnected,\n  );\n\n  useEffect(() => {\n    const subscription = connection?.state.subscribe({\n      next: (val) => {\n        setConnectionState(val);\n      },\n    });\n\n    return () => subscription?.unsubscribe();\n  }, [connection]);\n\n  return [connectionState, connection];\n};\n\nexport { SignalrConnectionProvider, useSignalrConnection };\n","import {\n  HttpTransportType,\n  HubConnectionBuilder,\n  HubConnectionState,\n  IRetryPolicy,\n  LogLevel,\n} from '@microsoft/signalr';\nimport { Observable } from 'relay-runtime';\nimport { authenticationService } from 'services/authentication/authentication-service';\n\nexport enum SignalrConnectionStateEnum {\n  Connected = 'Connected',\n  Disconnected = 'Disconnected',\n}\n\nexport interface SignalrConnection {\n  invoke: (name: string, ...args: unknown[]) => Promise<unknown>;\n  off: (name: string, fn: (...args: unknown[]) => unknown) => void;\n  on: (name: string, fn: (...args: unknown[]) => unknown) => () => void;\n  onReconnected: (f: (...args: unknown[]) => unknown) => () => ((...args: unknown[]) => unknown)[];\n  state: Observable<SignalrConnectionStateEnum>;\n}\n\nconst defaultReconnectPolicy: IRetryPolicy = {\n  nextRetryDelayInMilliseconds: () => 5000,\n};\n\nfunction createSignalrConnectionInstance(\n  endpoint: string,\n  reconnectPolicy: IRetryPolicy = defaultReconnectPolicy,\n  startRetryTimeout = 5000,\n): SignalrConnection {\n  let pendingInvokes: [string, unknown[]][] = [];\n  let reconnectedListeners: ((...args: unknown[]) => unknown)[] = [];\n\n  const connection = new HubConnectionBuilder()\n    .withUrl(endpoint, {\n      accessTokenFactory: () => authenticationService.tokenAsync(),\n      skipNegotiation: true,\n      transport: HttpTransportType.WebSockets,\n    })\n    .withAutomaticReconnect(reconnectPolicy)\n    .configureLogging(LogLevel.Warning)\n    .build();\n\n  function start(startRetryCount = 0): Promise<SignalrConnectionStateEnum> {\n    return connection\n      .start()\n      .then(() => SignalrConnectionStateEnum.Connected)\n      .catch((error) => {\n        console.error(error);\n        return new Promise<SignalrConnectionStateEnum>((resolve) =>\n          setTimeout(() => resolve(start(startRetryCount + 1)), startRetryTimeout),\n        );\n      });\n  }\n\n  // call start() and maintain stream of connection state\n  const state = Observable.from(SignalrConnectionStateEnum.Disconnected)\n    .concat(Observable.from(start()))\n    .concat(\n      Observable.create<SignalrConnectionStateEnum>((sink) => {\n        connection.onreconnecting((error) => {\n          if (error) console.error(error);\n          sink.next(SignalrConnectionStateEnum.Disconnected);\n        });\n        connection.onreconnected(() => {\n          handleReconnected();\n          sink.next(SignalrConnectionStateEnum.Connected);\n        });\n        connection.onclose((error) => {\n          if (error) console.error(error);\n          sink.next(SignalrConnectionStateEnum.Disconnected);\n          sink.complete();\n        });\n      }),\n    );\n\n  function handleReconnected() {\n    reconnectedListeners.forEach((f) => f());\n\n    pendingInvokes.forEach(async (pending) => await invoke(pending[0], ...pending[1]));\n    pendingInvokes = [];\n  }\n\n  function onReconnected(f: (...args: unknown[]) => unknown) {\n    reconnectedListeners.push(f);\n    // biome-ignore lint/suspicious/noAssignInExpressions: <explanation>\n    return () => (reconnectedListeners = reconnectedListeners.filter((x) => x !== f)); // dispose\n  }\n\n  function isConnected() {\n    return connection.state === HubConnectionState.Connected;\n  }\n\n  async function invoke(name: string, ...args: unknown[]) {\n    if (isConnected()) {\n      try {\n        const res = await connection.invoke(name, ...args);\n        return res;\n      } catch (error) {\n        console.error(error);\n        throw error;\n      }\n    } else {\n      pendingInvokes.push([name, args]);\n    }\n  }\n\n  return {\n    invoke,\n    off: (name: string, fn: (...args: unknown[]) => unknown) => connection.off(name, fn),\n    on: (name: string, fn: (...args: unknown[]) => unknown) => {\n      connection.on(name, fn);\n      return () => connection.off(name, fn); // off\n    },\n    onReconnected,\n    state,\n  };\n}\n\nexport { createSignalrConnectionInstance };\n","import { AppSettings, appSettingsDefaults } from 'configs/app-settings-defaults';\nimport { loadThemeConfig } from './setup-theme';\nconst APPSETTINGS_JSON = `${process.env.PUBLIC_URL}/appsettings.json?v=${Date.now()}`;\n\nexport const loadAppConfig = async () => {\n  try {\n    const resp = await fetch(APPSETTINGS_JSON, {\n      credentials: 'same-origin',\n    });\n    if (!resp.ok) {\n      throw new Error('Could not fetch settings');\n    }\n    return resp.json();\n  } catch (error) {\n    console.error('Initialization failed', error);\n  }\n};\n\nlet appSettings: AppSettings;\n\nasync function initAppSettings(): Promise<AppSettings> {\n  const loadedSettings = await loadAppConfig();\n  const settings = { ...appSettingsDefaults, ...loadedSettings };\n\n  const theme = await loadThemeConfig(settings.THEME_URL);\n\n  appSettings = {\n    settings,\n    theme,\n  };\n\n  return appSettings;\n}\n\nexport { appSettings, initAppSettings };\n","import { AppTheme } from 'configs/app-theme-defaults';\n\nexport const appSettingsDefaults = {\n  ENDPOINT_GRAPHQL: 'https://stagent.mindworking.eu/api/mypage2/graphql',\n  ENDPOINT_SIGNALR: 'https://stagent.mindworking.eu/api/realtime/mypage',\n  ENDPOINT_LOGPROXY: 'https://stagent.mindworking.eu/api/logproxy/',\n  HTML_DOCUMENT_TITLE: '...',\n  THEME_URL: '/theme/test-theme.json',\n  AUTH_CLIENT_ID: 'mw-mypage2',\n  AUTH_REALM: 'stagent-customer',\n  AUTH_URL: 'https://keycloaktest.mindworking.eu/auth',\n  CLIENT_VERSION: '',\n  CI_COMMIT_REF_NAME: '',\n  CI_COMMIT_SHA: '',\n  CI_COMMIT_TAG: '',\n  LOCALE: 'da',\n  TRANSLATION_VARIANTS: [],\n  IS_SINGLE_FEATURE_TOGGLE_ACTIVE: false,\n  PHONE_NUMBER_IS_MANDATORY: true,\n  GOOGLE_MAPS_API_KEY: '',\n  MIXPANEL_TOKEN: 'd99e9fa9209415e49a87a2c009236df1',\n  BOOK_STATUS_LEAD_VISIBLE: false,\n};\n\nexport interface AppSettings {\n  settings: typeof appSettingsDefaults;\n  theme: AppTheme;\n}\n","import { AppTheme } from 'configs/app-theme-defaults';\n\nconst fetchTheme = (url: string) =>\n  fetch(url)\n    .then((res) => res.json())\n    .then((config) => {\n      return config;\n    })\n    .catch((e) => console.error(e));\n\nconst applyThemeConfigToDocument = (themeConfig: AppTheme) => {\n  const { rootVars, assets } = themeConfig;\n  if (rootVars) {\n    Object.entries(rootVars).forEach(([key, value]) => {\n      document.documentElement.style.setProperty(key, value);\n    });\n  }\n\n  if (assets) {\n    for (const asset in assets) {\n      const cssUrls = assets[asset].cssUrls;\n      if (cssUrls) {\n        for (const cssUrl of cssUrls) {\n          const link = document.createElement('link');\n          link.rel = 'stylesheet';\n          link.href = cssUrl;\n          document.head.append(link);\n        }\n      }\n    }\n  }\n};\n\nexport const loadThemeConfig = async (url: string) => {\n  try {\n    const config = await fetchTheme(url);\n    if (config) {\n      applyThemeConfigToDocument(config);\n    }\n    return config;\n  } catch (_e) {\n    return {\n      theme: 'default',\n    };\n  }\n};\n","import { AvatarVersion } from 'components/molecules/avatar/avatar';\nimport { format } from 'date-fns';\n\nconst browserLocale = 'da-DK';\n\nexport function formatNumber(value?: number | string, unit = 'kr.', addedPlus = false) {\n  // biome-ignore lint/suspicious/noDoubleEquals: I do not know which value type is passed ??\n  if (value == 0) {\n    return '0';\n  }\n\n  if (!value) {\n    return '';\n  }\n\n  const numberVal = Number(value);\n\n  const formattedNumber = Number(numberVal).toLocaleString(browserLocale);\n\n  return formattedNumber + (addedPlus ? '+' : '') + (unit ? ` ${unit}` : '');\n}\n\nexport function formatDate(date: Date | string | null) {\n  if (!date) return;\n  if (typeof date === 'string' || date instanceof String) {\n    date = new Date(date);\n  }\n  return format(date, 'dd.MM.yyyy');\n}\n\nexport function getMonthName(date: Date | string | null, locale: string) {\n  if (!date) return;\n\n  let month: string[] = [];\n\n  const monthDA = ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'];\n\n  const monthEN = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\n  switch (locale) {\n    case 'da':\n      month = monthDA;\n      break;\n    case 'en':\n      month = monthEN;\n      break;\n    default:\n      month = monthDA;\n  }\n\n  if (typeof date === 'string' || date instanceof String) {\n    date = new Date(date);\n  }\n  return month[date.getMonth()];\n}\n\nexport const formatTime = (date?: Date | string | null, typeOfFormat = 'H:mm') => {\n  if (!date) return;\n  if (typeof date === 'string' || date instanceof String) {\n    date = new Date(date);\n  }\n  return format(date, typeOfFormat);\n};\n\nexport function formatQueryDate(date?: Date | string) {\n  if (!date) return;\n  if (typeof date === 'string' || date instanceof String) {\n    date = new Date(date);\n  }\n\n  return format(date, 'YYY-MM-dd');\n}\n\nexport const phoneRegExp = /^[0-9]{8}$/;\n\nexport const getInitialsFromFullname = (fullName?: string | null) => {\n  if (!fullName) return;\n  const names = fullName?.split(' ');\n  if (!names) return;\n  return names[0].charAt(0) + names[names.length - 1].charAt(0);\n};\n\nexport const formatMultiPolygon = (polygon: string) =>\n  polygon.replace('POLYGON ', 'MULTIPOLYGON (').replace(/(.*)/, '$1)');\n\nexport const getDatesFromRange = (startDate: Date, endDate: Date) => {\n  const dates: Date[] = [];\n  let currentDate = startDate;\n  const addDays = (currentDate: Date, days: number) => {\n    const date = new Date(currentDate.valueOf());\n    date.setDate(date.getDate() + days);\n    return date;\n  };\n  while (currentDate <= endDate) {\n    dates.push(currentDate);\n    currentDate = addDays(currentDate, 1);\n  }\n  return dates;\n};\n\nexport const formatAppointmentDate = (startDate?: string | null, endDate?: string | null) => {\n  if (startDate && endDate) {\n    const timeStart = formatTime(startDate);\n    const timeEnd = formatTime(endDate);\n    const dayStart = formatDate(startDate);\n    const dayEnd = formatDate(endDate);\n\n    return `d. ${dayStart !== dayEnd ? dayStart : ''} ${dayEnd} kl. ${timeStart} - ${timeEnd} `;\n  }\n\n  if (!startDate && endDate) {\n    const timeEnd = formatTime(endDate);\n    const dayEnd = formatDate(endDate);\n\n    return `${dayEnd} ${timeEnd}`;\n  }\n\n  if (!endDate && startDate) {\n    const timeStart = formatTime(startDate);\n    const dayStart = formatDate(startDate);\n    return `${dayStart} ${timeStart}`;\n  }\n\n  return '';\n};\n\nexport const getAvatarVersion = (name: string, chatParticipants: string[]) => {\n  const index = chatParticipants?.indexOf(name) + 1;\n  return Math.abs(index % 10) as AvatarVersion; // generate a number between 0 and 9 always\n};\n\nexport const getRelatedLink = (\n  relationType?: {\n    relationId?: string | null;\n    relationType?: string | null;\n  } | null,\n  hash?: string,\n) => {\n  const anchor = hash || '';\n\n  if (relationType) {\n    switch (relationType.relationType) {\n      case 'Offer':\n        return '/case/' + relationType.relationId + anchor;\n      case 'MatchedCase':\n        return '/match/' + relationType.relationId + anchor;\n      case 'Case':\n        return '/activity-case/' + relationType.relationId + anchor;\n      default:\n        return '';\n    }\n  }\n  return '';\n};\n","//==============================//\n// AUTOGENERATED - DO NOT EDIT //\n//============================//\n//  UPDATE BY RUNNING TYPES  //\n//==========================//\n\nimport * as Types from 'Types';\nimport { useMemo } from 'react';\nimport { IntlShape, defineMessages, useIntl } from 'react-intl';\n\nconst TypeMessages: Record<string, { id: string; defaultMessage: string }> = defineMessages({\n  ActivityNote: {\n    id: 'Types.ActivityNote',\n    defaultMessage: 'ActivityNote',\n  },\n  ActivityNotification: {\n    id: 'Types.ActivityNotification',\n    defaultMessage: 'ActivityNotification',\n  },\n  ActivityType: {\n    id: 'Types.ActivityType',\n    defaultMessage: 'ActivityType',\n  },\n  Address: {\n    id: 'Types.Address',\n    defaultMessage: 'Address',\n  },\n  AgricultureSearchProfile: {\n    id: 'Types.AgricultureSearchProfile',\n    defaultMessage: 'AgricultureSearchProfile',\n  },\n  AnalyticsData: {\n    id: 'Types.AnalyticsData',\n    defaultMessage: 'AnalyticsData',\n  },\n  AnalyticsReport: {\n    id: 'Types.AnalyticsReport',\n    defaultMessage: 'AnalyticsReport',\n  },\n  AnalyticsReportPercentage: {\n    id: 'Types.AnalyticsReportPercentage',\n    defaultMessage: 'AnalyticsReportPercentage',\n  },\n  AppointmentActivity: {\n    id: 'Types.AppointmentActivity',\n    defaultMessage: 'AppointmentActivity',\n  },\n  AppointmentActivityConnection: {\n    id: 'Types.AppointmentActivityConnection',\n    defaultMessage: 'AppointmentActivityConnection',\n  },\n  AppointmentActivityEdge: {\n    id: 'Types.AppointmentActivityEdge',\n    defaultMessage: 'AppointmentActivityEdge',\n  },\n  AppointmentActivityType: {\n    id: 'Types.AppointmentActivityType',\n    defaultMessage: 'AppointmentActivityType',\n  },\n  BaseCase: {\n    id: 'Types.BaseCase',\n    defaultMessage: 'BaseCase',\n  },\n  BaseCaseMainOffer: {\n    id: 'Types.BaseCaseMainOffer',\n    defaultMessage: 'BaseCaseMainOffer',\n  },\n  Building: {\n    id: 'Types.Building',\n    defaultMessage: 'Building',\n  },\n  BuildingInclArea: {\n    id: 'Types.BuildingInclArea',\n    defaultMessage: 'BuildingInclArea',\n  },\n  BusinessBuilding: {\n    id: 'Types.BusinessBuilding',\n    defaultMessage: 'BusinessBuilding',\n  },\n  BusinessCase: {\n    id: 'Types.BusinessCase',\n    defaultMessage: 'BusinessCase',\n  },\n  BusinessRentalCase: {\n    id: 'Types.BusinessRentalCase',\n    defaultMessage: 'BusinessRentalCase',\n  },\n  BusinessRentalSearchProfile: {\n    id: 'Types.BusinessRentalSearchProfile',\n    defaultMessage: 'BusinessRentalSearchProfile',\n  },\n  BusinessSaleSearchProfile: {\n    id: 'Types.BusinessSaleSearchProfile',\n    defaultMessage: 'BusinessSaleSearchProfile',\n  },\n  BusinessSalesCase: {\n    id: 'Types.BusinessSalesCase',\n    defaultMessage: 'BusinessSalesCase',\n  },\n  BusinessSalesPresentation: {\n    id: 'Types.BusinessSalesPresentation',\n    defaultMessage: 'BusinessSalesPresentation',\n  },\n  BusinessValuationCase: {\n    id: 'Types.BusinessValuationCase',\n    defaultMessage: 'BusinessValuationCase',\n  },\n  CaseAnnounced: {\n    id: 'Types.CaseAnnounced',\n    defaultMessage: 'CaseAnnounced',\n  },\n  CaseAreas: {\n    id: 'Types.CaseAreas',\n    defaultMessage: 'CaseAreas',\n  },\n  CaseMarketingCampaignStatistics: {\n    id: 'Types.CaseMarketingCampaignStatistics',\n    defaultMessage: 'CaseMarketingCampaignStatistics',\n  },\n  CasePotentialBuyer: {\n    id: 'Types.CasePotentialBuyer',\n    defaultMessage: 'CasePotentialBuyer',\n  },\n  CasePromotion: {\n    id: 'Types.CasePromotion',\n    defaultMessage: 'CasePromotion',\n  },\n  CaseRelation: {\n    id: 'Types.CaseRelation',\n    defaultMessage: 'CaseRelation',\n  },\n  ConfigurableTextSection: {\n    id: 'Types.ConfigurableTextSection',\n    defaultMessage: 'ConfigurableTextSection',\n  },\n  Consent: {\n    id: 'Types.Consent',\n    defaultMessage: 'Consent',\n  },\n  ContractOfRentInterface: {\n    id: 'Types.ContractOfRentInterface',\n    defaultMessage: 'ContractOfRentInterface',\n  },\n  ContractOfSaleBusiness: {\n    id: 'Types.ContractOfSaleBusiness',\n    defaultMessage: 'ContractOfSaleBusiness',\n  },\n  ContractOfSaleInterface: {\n    id: 'Types.ContractOfSaleInterface',\n    defaultMessage: 'ContractOfSaleInterface',\n  },\n  ContractOfSalePrivate: {\n    id: 'Types.ContractOfSalePrivate',\n    defaultMessage: 'ContractOfSalePrivate',\n  },\n  CounselingCase: {\n    id: 'Types.CounselingCase',\n    defaultMessage: 'CounselingCase',\n  },\n  CounselingPropertyCase: {\n    id: 'Types.CounselingPropertyCase',\n    defaultMessage: 'CounselingPropertyCase',\n  },\n  Country: {\n    id: 'Types.Country',\n    defaultMessage: 'Country',\n  },\n  Customer: {\n    id: 'Types.Customer',\n    defaultMessage: 'Customer',\n  },\n  CustomerAddress: {\n    id: 'Types.CustomerAddress',\n    defaultMessage: 'CustomerAddress',\n  },\n  CustomerConsent: {\n    id: 'Types.CustomerConsent',\n    defaultMessage: 'CustomerConsent',\n  },\n  CustomerContactInfo: {\n    id: 'Types.CustomerContactInfo',\n    defaultMessage: 'CustomerContactInfo',\n  },\n  CustomerEmail: {\n    id: 'Types.CustomerEmail',\n    defaultMessage: 'CustomerEmail',\n  },\n  CustomerFavoriteCaseConnection: {\n    id: 'Types.CustomerFavoriteCaseConnection',\n    defaultMessage: 'CustomerFavoriteCaseConnection',\n  },\n  CustomerFavoriteCaseEdge: {\n    id: 'Types.CustomerFavoriteCaseEdge',\n    defaultMessage: 'CustomerFavoriteCaseEdge',\n  },\n  CustomerPhone: {\n    id: 'Types.CustomerPhone',\n    defaultMessage: 'CustomerPhone',\n  },\n  Document: {\n    id: 'Types.Document',\n    defaultMessage: 'Document',\n  },\n  DocumentAccessGrantedNotification: {\n    id: 'Types.DocumentAccessGrantedNotification',\n    defaultMessage: 'DocumentAccessGrantedNotification',\n  },\n  DocumentConnection: {\n    id: 'Types.DocumentConnection',\n    defaultMessage: 'DocumentConnection',\n  },\n  DocumentEdge: {\n    id: 'Types.DocumentEdge',\n    defaultMessage: 'DocumentEdge',\n  },\n  DocumentSignature: {\n    id: 'Types.DocumentSignature',\n    defaultMessage: 'DocumentSignature',\n  },\n  DocumentSigningNotification: {\n    id: 'Types.DocumentSigningNotification',\n    defaultMessage: 'DocumentSigningNotification',\n  },\n  DocumentType: {\n    id: 'Types.DocumentType',\n    defaultMessage: 'DocumentType',\n  },\n  Employee: {\n    id: 'Types.Employee',\n    defaultMessage: 'Employee',\n  },\n  EmployeeOffer: {\n    id: 'Types.EmployeeOffer',\n    defaultMessage: 'EmployeeOffer',\n  },\n  Error: {\n    id: 'Types.Error',\n    defaultMessage: 'Error',\n  },\n  FeatureToggle: {\n    id: 'Types.FeatureToggle',\n    defaultMessage: 'FeatureToggle',\n  },\n  INotificationBadgeCount: {\n    id: 'Types.INotificationBadgeCount',\n    defaultMessage: 'INotificationBadgeCount',\n  },\n  IThreadBadgeCount: {\n    id: 'Types.IThreadBadgeCount',\n    defaultMessage: 'IThreadBadgeCount',\n  },\n  IncreasePerYear: {\n    id: 'Types.IncreasePerYear',\n    defaultMessage: 'IncreasePerYear',\n  },\n  LeadConsentGraphType: {\n    id: 'Types.LeadConsentGraphType',\n    defaultMessage: 'LeadConsentGraphType',\n  },\n  LeadContactEmployee: {\n    id: 'Types.LeadContactEmployee',\n    defaultMessage: 'LeadContactEmployee',\n  },\n  LeadInterface: {\n    id: 'Types.LeadInterface',\n    defaultMessage: 'LeadInterface',\n  },\n  LeadNotification: {\n    id: 'Types.LeadNotification',\n    defaultMessage: 'LeadNotification',\n  },\n  LeadOpenHouse: {\n    id: 'Types.LeadOpenHouse',\n    defaultMessage: 'LeadOpenHouse',\n  },\n  LeadPresentation: {\n    id: 'Types.LeadPresentation',\n    defaultMessage: 'LeadPresentation',\n  },\n  LeadSalesMaterialWithContact: {\n    id: 'Types.LeadSalesMaterialWithContact',\n    defaultMessage: 'LeadSalesMaterialWithContact',\n  },\n  LeadTypeGraphType: {\n    id: 'Types.LeadTypeGraphType',\n    defaultMessage: 'LeadTypeGraphType',\n  },\n  MarketDataCase: {\n    id: 'Types.MarketDataCase',\n    defaultMessage: 'MarketDataCase',\n  },\n  MarketDataCasePrimaryImage: {\n    id: 'Types.MarketDataCasePrimaryImage',\n    defaultMessage: 'MarketDataCasePrimaryImage',\n  },\n  MarketingCampaign: {\n    id: 'Types.MarketingCampaign',\n    defaultMessage: 'MarketingCampaign',\n  },\n  MarketingCampaignAdTimelineItem: {\n    id: 'Types.MarketingCampaignAdTimelineItem',\n    defaultMessage: 'MarketingCampaignAdTimelineItem',\n  },\n  MarketingCampaignInteraction: {\n    id: 'Types.MarketingCampaignInteraction',\n    defaultMessage: 'MarketingCampaignInteraction',\n  },\n  MarketingCampaignInteractionStatistics: {\n    id: 'Types.MarketingCampaignInteractionStatistics',\n    defaultMessage: 'MarketingCampaignInteractionStatistics',\n  },\n  MarketingCampaignInteractionsStatistics: {\n    id: 'Types.MarketingCampaignInteractionsStatistics',\n    defaultMessage: 'MarketingCampaignInteractionsStatistics',\n  },\n  MarketingCampaignLink: {\n    id: 'Types.MarketingCampaignLink',\n    defaultMessage: 'MarketingCampaignLink',\n  },\n  MarketingCampaignTotals: {\n    id: 'Types.MarketingCampaignTotals',\n    defaultMessage: 'MarketingCampaignTotals',\n  },\n  MarketingPlacementsTimeline: {\n    id: 'Types.MarketingPlacementsTimeline',\n    defaultMessage: 'MarketingPlacementsTimeline',\n  },\n  Media: {\n    id: 'Types.Media',\n    defaultMessage: 'Media',\n  },\n  MediaDataConnection: {\n    id: 'Types.MediaDataConnection',\n    defaultMessage: 'MediaDataConnection',\n  },\n  MediaDataEdge: {\n    id: 'Types.MediaDataEdge',\n    defaultMessage: 'MediaDataEdge',\n  },\n  MediaType: {\n    id: 'Types.MediaType',\n    defaultMessage: 'MediaType',\n  },\n  Message: {\n    id: 'Types.Message',\n    defaultMessage: 'Message',\n  },\n  MessageConnection: {\n    id: 'Types.MessageConnection',\n    defaultMessage: 'MessageConnection',\n  },\n  MessageEdge: {\n    id: 'Types.MessageEdge',\n    defaultMessage: 'MessageEdge',\n  },\n  MessageNotification: {\n    id: 'Types.MessageNotification',\n    defaultMessage: 'MessageNotification',\n  },\n  Mutation: {\n    id: 'Types.Mutation',\n    defaultMessage: 'Mutation',\n  },\n  MyPageMwSubscription: {\n    id: 'Types.MyPageMwSubscription',\n    defaultMessage: 'MyPageMwSubscription',\n  },\n  MyPageSpot: {\n    id: 'Types.MyPageSpot',\n    defaultMessage: 'MyPageSpot',\n  },\n  MyPageSpotEntry: {\n    id: 'Types.MyPageSpotEntry',\n    defaultMessage: 'MyPageSpotEntry',\n  },\n  Neighborhood: {\n    id: 'Types.Neighborhood',\n    defaultMessage: 'Neighborhood',\n  },\n  NeighborhoodPin: {\n    id: 'Types.NeighborhoodPin',\n    defaultMessage: 'NeighborhoodPin',\n  },\n  NeighborhoodPinConnection: {\n    id: 'Types.NeighborhoodPinConnection',\n    defaultMessage: 'NeighborhoodPinConnection',\n  },\n  NeighborhoodPinEdge: {\n    id: 'Types.NeighborhoodPinEdge',\n    defaultMessage: 'NeighborhoodPinEdge',\n  },\n  Node: {\n    id: 'Types.Node',\n    defaultMessage: 'Node',\n  },\n  NotificationInterface: {\n    id: 'Types.NotificationInterface',\n    defaultMessage: 'NotificationInterface',\n  },\n  NotificationInterfaceConnection: {\n    id: 'Types.NotificationInterfaceConnection',\n    defaultMessage: 'NotificationInterfaceConnection',\n  },\n  NotificationInterfaceEdge: {\n    id: 'Types.NotificationInterfaceEdge',\n    defaultMessage: 'NotificationInterfaceEdge',\n  },\n  Offer: {\n    id: 'Types.Offer',\n    defaultMessage: 'Offer',\n  },\n  OfferConnection: {\n    id: 'Types.OfferConnection',\n    defaultMessage: 'OfferConnection',\n  },\n  OfferEdge: {\n    id: 'Types.OfferEdge',\n    defaultMessage: 'OfferEdge',\n  },\n  OfferPriceHistory: {\n    id: 'Types.OfferPriceHistory',\n    defaultMessage: 'OfferPriceHistory',\n  },\n  OffmarketCase: {\n    id: 'Types.OffmarketCase',\n    defaultMessage: 'OffmarketCase',\n  },\n  OpenHouse: {\n    id: 'Types.OpenHouse',\n    defaultMessage: 'OpenHouse',\n  },\n  OpenHouseOnFavoriteCaseNotification: {\n    id: 'Types.OpenHouseOnFavoriteCaseNotification',\n    defaultMessage: 'OpenHouseOnFavoriteCaseNotification',\n  },\n  OwnerCost: {\n    id: 'Types.OwnerCost',\n    defaultMessage: 'OwnerCost',\n  },\n  PageInfo: {\n    id: 'Types.PageInfo',\n    defaultMessage: 'PageInfo',\n  },\n  ParticipantIdentity: {\n    id: 'Types.ParticipantIdentity',\n    defaultMessage: 'ParticipantIdentity',\n  },\n  Person: {\n    id: 'Types.Person',\n    defaultMessage: 'Person',\n  },\n  Portfolio: {\n    id: 'Types.Portfolio',\n    defaultMessage: 'Portfolio',\n  },\n  PredefinedArea: {\n    id: 'Types.PredefinedArea',\n    defaultMessage: 'PredefinedArea',\n  },\n  PriceChangeOnFavoriteCaseNotification: {\n    id: 'Types.PriceChangeOnFavoriteCaseNotification',\n    defaultMessage: 'PriceChangeOnFavoriteCaseNotification',\n  },\n  PriceChangedOnMatchedCaseNotification: {\n    id: 'Types.PriceChangedOnMatchedCaseNotification',\n    defaultMessage: 'PriceChangedOnMatchedCaseNotification',\n  },\n  PrivateBuilding: {\n    id: 'Types.PrivateBuilding',\n    defaultMessage: 'PrivateBuilding',\n  },\n  PrivateRentalSearchProfile: {\n    id: 'Types.PrivateRentalSearchProfile',\n    defaultMessage: 'PrivateRentalSearchProfile',\n  },\n  PrivateSaleSearchProfile: {\n    id: 'Types.PrivateSaleSearchProfile',\n    defaultMessage: 'PrivateSaleSearchProfile',\n  },\n  Query: {\n    id: 'Types.Query',\n    defaultMessage: 'Query',\n  },\n  QuestionnaireMetaData: {\n    id: 'Types.QuestionnaireMetaData',\n    defaultMessage: 'QuestionnaireMetaData',\n  },\n  RectifyCase: {\n    id: 'Types.RectifyCase',\n    defaultMessage: 'RectifyCase',\n  },\n  RentalCase: {\n    id: 'Types.RentalCase',\n    defaultMessage: 'RentalCase',\n  },\n  RentalPresentation: {\n    id: 'Types.RentalPresentation',\n    defaultMessage: 'RentalPresentation',\n  },\n  RentalPresentationBusiness: {\n    id: 'Types.RentalPresentationBusiness',\n    defaultMessage: 'RentalPresentationBusiness',\n  },\n  RentalPresentationPrivate: {\n    id: 'Types.RentalPresentationPrivate',\n    defaultMessage: 'RentalPresentationPrivate',\n  },\n  RequestedDocumentNotification: {\n    id: 'Types.RequestedDocumentNotification',\n    defaultMessage: 'RequestedDocumentNotification',\n  },\n  RequestedDocumentType: {\n    id: 'Types.RequestedDocumentType',\n    defaultMessage: 'RequestedDocumentType',\n  },\n  Response: {\n    id: 'Types.Response',\n    defaultMessage: 'Response',\n  },\n  SalesCase: {\n    id: 'Types.SalesCase',\n    defaultMessage: 'SalesCase',\n  },\n  SalesPresentation: {\n    id: 'Types.SalesPresentation',\n    defaultMessage: 'SalesPresentation',\n  },\n  SalesPresentationPrivate: {\n    id: 'Types.SalesPresentationPrivate',\n    defaultMessage: 'SalesPresentationPrivate',\n  },\n  SearchArea: {\n    id: 'Types.SearchArea',\n    defaultMessage: 'SearchArea',\n  },\n  SearchProfile: {\n    id: 'Types.SearchProfile',\n    defaultMessage: 'SearchProfile',\n  },\n  SearchProfileExternalMatchedCase: {\n    id: 'Types.SearchProfileExternalMatchedCase',\n    defaultMessage: 'SearchProfileExternalMatchedCase',\n  },\n  SearchProfileExternalMatchedCaseConnection: {\n    id: 'Types.SearchProfileExternalMatchedCaseConnection',\n    defaultMessage: 'SearchProfileExternalMatchedCaseConnection',\n  },\n  SearchProfileExternalMatchedCaseEdge: {\n    id: 'Types.SearchProfileExternalMatchedCaseEdge',\n    defaultMessage: 'SearchProfileExternalMatchedCaseEdge',\n  },\n  SearchProfileInterfaceConnection: {\n    id: 'Types.SearchProfileInterfaceConnection',\n    defaultMessage: 'SearchProfileInterfaceConnection',\n  },\n  SearchProfileInterfaceEdge: {\n    id: 'Types.SearchProfileInterfaceEdge',\n    defaultMessage: 'SearchProfileInterfaceEdge',\n  },\n  SearchProfileMatchNotification: {\n    id: 'Types.SearchProfileMatchNotification',\n    defaultMessage: 'SearchProfileMatchNotification',\n  },\n  SearchProfileMatchedCase: {\n    id: 'Types.SearchProfileMatchedCase',\n    defaultMessage: 'SearchProfileMatchedCase',\n  },\n  SearchProfileMatchedCaseConnection: {\n    id: 'Types.SearchProfileMatchedCaseConnection',\n    defaultMessage: 'SearchProfileMatchedCaseConnection',\n  },\n  SearchProfileMatchedCaseEdge: {\n    id: 'Types.SearchProfileMatchedCaseEdge',\n    defaultMessage: 'SearchProfileMatchedCaseEdge',\n  },\n  SearchProfileMatchedCaseNotification: {\n    id: 'Types.SearchProfileMatchedCaseNotification',\n    defaultMessage: 'SearchProfileMatchedCaseNotification',\n  },\n  ServiceIdentity: {\n    id: 'Types.ServiceIdentity',\n    defaultMessage: 'ServiceIdentity',\n  },\n  Shop: {\n    id: 'Types.Shop',\n    defaultMessage: 'Shop',\n  },\n  StakeholderIdentity: {\n    id: 'Types.StakeholderIdentity',\n    defaultMessage: 'StakeholderIdentity',\n  },\n  StakeholderInOffer: {\n    id: 'Types.StakeholderInOffer',\n    defaultMessage: 'StakeholderInOffer',\n  },\n  StakeholderInRegistry: {\n    id: 'Types.StakeholderInRegistry',\n    defaultMessage: 'StakeholderInRegistry',\n  },\n  TaskActivityConnection: {\n    id: 'Types.TaskActivityConnection',\n    defaultMessage: 'TaskActivityConnection',\n  },\n  TaskActivityEdge: {\n    id: 'Types.TaskActivityEdge',\n    defaultMessage: 'TaskActivityEdge',\n  },\n  TaskActivityGraph: {\n    id: 'Types.TaskActivityGraph',\n    defaultMessage: 'TaskActivityGraph',\n  },\n  Thread: {\n    id: 'Types.Thread',\n    defaultMessage: 'Thread',\n  },\n  ThreadConnection: {\n    id: 'Types.ThreadConnection',\n    defaultMessage: 'ThreadConnection',\n  },\n  ThreadEdge: {\n    id: 'Types.ThreadEdge',\n    defaultMessage: 'ThreadEdge',\n  },\n  ThreadParticipant: {\n    id: 'Types.ThreadParticipant',\n    defaultMessage: 'ThreadParticipant',\n  },\n  TimelineActivity: {\n    id: 'Types.TimelineActivity',\n    defaultMessage: 'TimelineActivity',\n  },\n  TimelineActivityConnection: {\n    id: 'Types.TimelineActivityConnection',\n    defaultMessage: 'TimelineActivityConnection',\n  },\n  TimelineActivityEdge: {\n    id: 'Types.TimelineActivityEdge',\n    defaultMessage: 'TimelineActivityEdge',\n  },\n  TimelineActivityNote: {\n    id: 'Types.TimelineActivityNote',\n    defaultMessage: 'TimelineActivityNote',\n  },\n  TotalCosts: {\n    id: 'Types.TotalCosts',\n    defaultMessage: 'TotalCosts',\n  },\n  ValuationCase: {\n    id: 'Types.ValuationCase',\n    defaultMessage: 'ValuationCase',\n  },\n  Viewer: {\n    id: 'Types.Viewer',\n    defaultMessage: 'Viewer',\n  },\n  ZipCode: {\n    id: 'Types.ZipCode',\n    defaultMessage: 'ZipCode',\n  },\n});\n\nexport type Type = keyof typeof Types;\n\nexport const formatType = (intl: IntlShape) => (key?: Type | string | null) => {\n  if (key && TypeMessages[key]) {\n    return intl.formatMessage(TypeMessages[key]);\n  }\n\n  return key ?? null;\n};\n\nexport const useFormatType = () => {\n  const intl = useIntl();\n  return useMemo(() => formatType(intl), [intl]);\n};\n","import {\n  MessageNotification,\n  DocumentSigningNotification,\n  ActivityNotification,\n  SearchProfileMatchNotification,\n  RequestedDocumentNotification,\n  SearchProfileMatchedCaseNotification,\n  DocumentAccessGrantedNotification,\n} from 'Types';\nimport { getRelatedLink } from 'tools/string-formatters';\n\ntype Props = {\n  notificationType: string;\n  threadId?: string;\n  relationType?: {\n    relationId?: string | null;\n    relationType?: string | null;\n  } | null;\n};\n\nexport const getNotificationUrl = ({ notificationType, threadId, relationType }: Props) => {\n  switch (notificationType) {\n    case MessageNotification:\n      return threadId ? `/messages/?id=${threadId}` : '/messages';\n    case RequestedDocumentNotification:\n    case DocumentSigningNotification:\n    case DocumentAccessGrantedNotification:\n      return relationType ? getRelatedLink(relationType, '#sign') : '/';\n    case ActivityNotification:\n      return '/activities';\n    default:\n      return '/';\n  }\n};\n"],"names":["AgriculturePropertyTypeCategory","AppointmentActivityStatusEnum","BusinessPropertyType","BusinessRentalCaseStatus","BusinessSalesCaseStatus","BusinessSearchProfilePropertyCategory","CaseAnnouncedType","CaseTypeEnumGraphType","CounselingCaseStatus","CustomerContext","DocumentOrderBy","GoogleAnalyticsSource","LeadStatusTypeEnum","MatchProfileStatus","MatchedCaseHighlightStatus","MyPageCaseRelation","MyPageTextSection","OrderDirection","PropertyCategory","PropertyType","QuestionnaireMetaDataType","RectifyCaseStatus","RentalCaseStatus","SalesCaseStatus","SearchProfileEnabledType","SearchProfileStatus","SearchProfileWord","ActivityNote","ActivityNotification","AppointmentActivity","BusinessRentalCase","BusinessRentalSearchProfile","BusinessSalesCase","CasePromotion","CounselingCase","DocumentAccessGrantedNotification","DocumentSigningNotification","LeadInterface","LeadNotification","LeadOpenHouse","LeadPresentation","LeadSalesMaterialWithContact","MessageNotification","OpenHouseOnFavoriteCaseNotification","PriceChangeOnFavoriteCaseNotification","PriceChangedOnMatchedCaseNotification","PrivateRentalSearchProfile","RectifyCase","RentalCase","RequestedDocumentNotification","SalesCase","SearchProfileMatchNotification","SearchProfileMatchedCaseNotification","v0","v1","v2","v3","v4","v5","v6","v7","v8","node","v9","v10","v11","v12","v13","ThemeContext","React","useTheme","useContext","ViewerContext","createContext","useViewer","providerProps","error","data","useQuery","findConfigurableSectionText","textList","key","arr","text","MixpanelContext","MixPanelProvider","children","token","useEffect","mixpanel","track","event","properties","identify","user","ActivitiesTab","FavouritesTab","MatchTab","MySalesTab","useNavigateToTop","navigate","useNavigate","to","window","props","anchorTag","className","disabled","href","hideText","iconClassname","iconHeight","iconStart","iconWidth","iconEnd","isFullWidth","type","padding","version","selected","download","inline","wrapper","rest","navigateToTop","classList","classNames","getInnerContent","Fragment","Icon","Typography","undefined","HashLink","el","Link","name","height","width","fill","noWrapper","IconComponent","Icons","Spinner","forwardRef","ref","tag","tagStyle","upperCase","subjectColor","elipsis","alignRight","initials","customVersion","size","backgroundColor","textColor","avatarVersion","getVersion","onFileUpload","useMixPanel","FileInput","console","file","isMobile","isTablet","Checkbox","value","checked","label","onChange","e","useFragment","getInitialsFromFullname","Block","Avatar","CustomSelect","bigVersion","options","placeholder","errorMessage","selectedOption","isOpen","setIsOpen","useState","customSelectRef","useRef","useOnClickOutside","Button","prev","option","CustomCaption","goToMonth","nextMonth","previousMonth","useNavigation","FormattedMessage","format","da","DayPicker","iconName","message","onFileSelectSuccess","onFileSelectError","labelColor","files","Date","indeterminate","inputRef","Input","formattedInput","hasError","labelTagStyle","onValueChange","noBorder","noFloatingLabel","customPadding","readonly","required","focusInput","wrapperClassName","onClick","isFocused","setIsFocused","isLabelShown","setIsLabelShown","inputWrap","document","NumericFormat","values","OpenHouseImageOverlay","openHouses","useList","getOpenHouseText","openHouse","formatDate","isRegistrationDeadlineAfterToday","registrationDeadline","deadline","today","isAfter","headline","showCross","focusTrapOptions","buttonConfig","closeHandler","contentPadding","handleClosePopup","FocusTrap","button","Container","Row","onClose","Card","title","LeadListItem","fragment","lead","handleOnClick","formatTime","updateStartEndTimeFromDate","newDate","start","end","startHours","startMinutes","endHours","endMinutes","newStartTime","newEndTime","TODAY","LeadPresentationDialogContent","viewerFragment","viewer","updateLead","updateLeadLoading","useUpdate","createActivity","createActivityLoading","useMutation","chooseActivityModalCreate","selectedDate","setSelectedDate","time","setTime","add","propertyForSaleByOwnerAppointmentActivityTypes","handleProcessLead","activity","getActivityId","toast","input","DatePicker","date","AppointmentTimePicker","timeStart","set","Number","timeEnd","prevState","_diff","_ms","_mr","LeadContactDialogContent","phoneNumber","email","LeadOpenHouseDialogContent","startDate","LeadDialogContent","handleOnClose","SaleByOwnerGrid","maxAmountDisplayed","mypageLeads","isModalOpen","toggleIsModalOpen","useToggle","selectedLead","setSelectedLead","leads","useMemo","filteredLeads","Column","EmptyModule","SimpleModal","Select","onBlur","onFocus","setSelected","isPlaceholderSelected","setIsPlaceholderSelected","disableClickOutside","handleEsc","createPortal","Textarea","autoExpand","classNameInput","onKeyUp","ReactTextareaAutosize","setIsModalOpen","formatPropertyType","usePropertyType","employeeOffers","employee","propertyType","ContactCard","ContactSellerModal","getRecipientOptions","recipients","item","firstEmployeeOffer","FileComponent","ChatActions","onCloseForm","caseOptions","activityOptions","recipientOptions","onSubmit","onSelectCase","formatMessage","useIntl","useIsMobile","selectedCaseOption","setSelectedCaseOption","selectedRecepientOption","setSelectedRecepientOption","schema","yup","errors","isSubmitSuccessful","handleSubmit","setFocus","setValue","register","reset","watch","useForm","yupResolver","handleSelectedCase","useCallback","watchedFiles","onDeleteFile","fileId","URL","commit","customerIdData","useLazyLoadQuery","connectionID","ConnectionHandler","handleSubmitContactForm","initialMessage","uploadables","store","thread","haveFiles","Modal","ContactSellerForm","caseId","max","i","currentPage","pageSize","totalItems","Math","DocumentsTableFooter","state","dispatch","DocumentsTableStateContext","isDownloading","setIsDownloading","handleDownloadDocuments","authenticationService","requestOptions","response","fetch","JSON","saveAs","blob","fileName","a","setTimeout","onPageChange","direction","TableSelect","val","DEFAULT_OPTIONS","DIRECTION","DocumentsTableHeader","currentSortKey","setCurrentSortKey","currentSortOrder","setCurrentSortOrder","isAllSelected","handleSort","newSortOrder","renderSortableColumn","id","IndeterminateCheckbox","DocumentsTableRow","documentFragment","rowSelection","setRowSelection","documentsTableInitialState","getMappedDocumentsObject","documents","obj","index","rowSelect","documentsTableStateReducer","action","slicedDocuments","documentsMappedOnIndex","newPage","newRowSelection","all","rowIndex","copyRowSelection","removeIndex","order","sortedDocuments","b","valueA","valueB","Error","DocumentsTable","TableSkeleton","trs","onSelectFullscreen","onSelectMap","onSelectPlan","onSelectVideo","isFullscreenVisible","isPlanVisible","isMapVisible","isVideoInList","activeImageIndex","imagesLength","Video","url","onImageClick","activeSwiperIndex","noPlay","ImageElement","CaseGallerySwiper","slideToImage","mediaDataConnection","firstSwiper","setFirstSwiper","secondSwiper","setSecondSwiper","setActiveSwiperIndex","gallerySwiperRef","images","useNodes","hasPlan","image","hasVideo","Swiper","Navigation","Controller","swiperCore","SwiperSlide","SwiperNavigation","GalleryNavigation","CaseGallery","onCloseGallery","PopupOverlay","LIBRARIES","lat","lng","isLoaded","useJsApiLoader","appSettings","GoogleMap","Marker","imagesSwiperRef","activeIndex","CaseFullscreenGallery","onCloseFullscreen","CaseImagesSwiper","getImageColumnWidth","CaseImages","gpsCoordinates","firstImage","secondImage","thirdImage","hiddenNumberOfImages","galleryOpen","setGalleryOpen","mapOverlayOpen","setMapOverlayOpen","fullscreenGalleryOpen","setFullscreenGalleryOpen","handleSelectMap","coords","imageIndex","SuspenseHoc","Loader","MapOverlay","showAdditionalInfo","moreInfoRef","isValuation","formatNumber","isPlot","buildings","yearBuilt","mainBuilding","building","isCondo","isHousingCooperative","propertyTypes","MatchHeroDetails","baseCase","isExpanded","setIsExpanded","formatBusinessPropertyType","isAgricultureCase","InfoComponent","MatchHeroContentAgriculturalCase","MatchHeroContentSalesCase","MatchHeroContentRentalCase","MatchHeroContentCounselingCase","MatchHeroContentBusinessSalesCase","MatchHeroOffmarketDetails","BookShowcasingModal","customerData","environment","useRelayEnvironment","modalHasError","setModalHasError","closeModal","customerInfo","step","setStep","intl","theme","isCompany","messages","defineMessages","phoneRegExp","isValid","isSubmitted","trigger","isLastStep","handleNextStep","commitMutation","err","MatchHeroContent","offmarketCase","isBookingShowcaseModalOpen","setIsBookingShowcaseModalOpen","caseAnnouncements","caseHeadline","DOMPurify","caseDescription","ModuleWrapper","getWebsiteLink","websiteAnnouncements","announcement","myPageSpot","spot","entries","link","handleSpotImgClick","entry","require","SuccessSummit","endDate","hasServerError","setHasServerError","loading","setLoading","selectedOpenHouse","setSelectedOpenHouse","openHouseFound","oHouse","object","string","createOpenHouseLead","markAsFavourite","updateSearchProfileMatchedCase","_e","handleClickOnRegisterOpenHouse","AppointmentModalContent","onChangeDay","handleChangeTimeStart","handleChangeTimeEnd","handleBlurTimeStart","handleBlurTimeEnd","secondChildren","currentTimeStart","currentTimeEnd","HeadLine","ShowCasingInput","labelId","handleCustomerInfoChange","ChooseActivityModal","useCreate","chosenActivity","setChosenActivity","isRegistration","toggleIsRegistration","setCustomerInfo","getDateWithAddedDefaultDurationInMin","handleChosenActivity","handleCloseCross","field","isConfirmButtonDisabled","Object","openHouseObj","getSpecificActivityObj","isOpenHouse","getDateWithSelectedTime","timeDif","timeInMS","defaultDurationInMinutes","newTimeEnd","timeInMs","TimerPicker","handleChange","getTimeFromDate","day","hours","minutes","labelStart","labelEnd","timeStartMS","timeDifferenceInMS","timeEndMS","timeString","parseInt","givenDate","activeTab","tabContent","tabNav","searchParams","useSearchParams","visibleTab","setVisibleTab","highlightedTab","setHighlightedTab","containerRef","tabFromParams","handleKeyDown","currentIndex","tab","component","ErrorBoundaryBlock","Component","errorInfo","stack","componentStack","errorId","sendErrorToServer","fallback","Suspense","column","borderRadius","marginBottom","boxShadow","flex","flexGutter","flexWrap","flex1","justifyRight","overflowHidden","positionRelative","spaceBetween","fullHeight","noMargin","offset","noPaddingOnMobile","getClass","breakpoint","columnClasses","fullWidth","fullWidthMobile","paddingTopReset","paddingBottomReset","pushTop","borderTop","fullHeightWithoutMainNav","style","pageHeight","pushBottom","alignCenter","center","noAdjacentMargin","graphqlTaggedNode","hookConfig","nativeMutationFn","mutationState","formatType","useFormatType","makeUpdater","__typename","listName","listArgs","parentID","rootField","payloadName","mutationName","payload","parent","nodePayload","nodes","Array","connection","totalCount","edge","linkedRecords","mutationConfig","mergedConfig","promise","updater","res","responseHasErrors","propertyName","mutation","customConfig","handler","listener","elementRef","param","threshold","root","rootMargin","freezeOnceVisible","setEntry","frozen","updateEntry","observer","IntersectionObserver","windowSize","setWindowSize","useLayoutEffect","handleResize","useWindowSize","listItems","notEmpty","edges","accumulator","useSubscriptionWithReconnect","config","requestSubscriptionFn","actualRequestSubscription","requestSubscription","useSignalrConnection","disposable","reconnection","connect","initialState","setState","v14","v15","v16","onPerfEntry","logoUrl","logoAlt","DONT_SHOW","InstallPWA","open","setOpen","isIOS","useIsIOS","setIsIOS","checkForIOS","endOfDay","installPrompt","localStorage","lastPrompt","days","differenceInDays","isSafari","prompt","nav","isAndroid","displayPWA","installPromptValue","timer","element","navbar","clearTimeout","count","arrayBufferToBase64","arrayBuffer","uint8Array","Uint8Array","binaryString","String","requestNotificationPermission","Promise","resolve","reject","Notification","result","notification","tabString","OpenHouseFavouriteCaseNotification","location","appointmentTime","formatAppointmentDate","PriceChangeFavoriteCaseNotification","PriceChangeOnMatchCaseNotification","relationType","getRelatedLink","relationData","NotificationComponent","MessageNotificationType","getNotificationUrl","DocumentSigningNotificationType","DocumentAccessGrantedNotificationType","RequestedDocumentNotificationType","ActivityNotificationType","SearchProfileMatchNotificationType","SearchProfileMatchedCaseNotificationType","LeadNotificationType","OpenHouseOnFavoriteCaseNotificationType","PriceChangeOnFavoriteCaseNotificationType","PriceChangedOnMatchedCaseNotificationType","NoNoficationData","hasNext","loadNext","usePaginationFragment","notifications","setNotificationsEnabled","notificationsEnabled","useIntersectionObserver","isVisible","featureToggles","isPushNotificationsEnabledAndSupported","isPushNotificationsEnabledAndNotSupported","subscribe","unsubscribe","setCorrectRef","handleSubscribeNotifications","navigator","registration","pushSubscription","handleUnsubscribeNotifications","openHouseModalOpen","toggleOpenHouseModalOpen","noAdvertisement","hasOpenHouse","Tag","RegisterOpenHouseModal","FavoritePageDocumentsBody","refetch","isLoadingNext","documentNodes","handleRowSelection","EmptyTableBody","FavoritePageDocumentsRender","useReducer","SaleByOwnerProcessedGrid","SaleByOwnerPage","TabComponent","Activities","lazy","CasePage","ActivityCasePage","FavouritesPage","MatchCasePage","MatchPage","MySalesPage","MessagesPage","NotFoundPage","Overview","module","ProfilePage","SearchProfile","NotificationPage","mainNavigationRoutes","mainAppRoutes","favoriteId","useParams","FavoritePageHero","ContactModule","ContactModuleOffmarket","MyPageSpots","NotFound","FavoritePage","HomeLink","LogoutButton","getMixpanelLocationType","HIGHLIGHT_BELL","BellHighlightPopup","displayPopUp","toggleIsVisible","localStore","sessionStore","sessionStorage","profileMenuOpen","toggleProfileMenuOpen","notificationsOpen","toggleNotificationsOpen","mobileMenuOpen","toggleMobileMenuOpen","browserPermissionOpen","toggleBrowserPermissionOpen","useLocation","profileMenuRef","notificationsRef","markNotificationAsReadMutation","isWebPushNotificationsEnabled","getPushSubscription","pathName","onCloseNotifications","routes","handleToggle","handleClickNavLink","path","route","NavLink","isActive","Badge","Notifications","ErrorBoundary","refreshedQueryOptions","pathname","refresh","notificationSubscriptionConfig","customer","MainNavigation","Outlet","StickyChat","Footer","cache","QueryResponseCache","_clientId","languageMapping","messages_da_agent","messages_da_kartotek","messages_da_kartotek_heading","messages_da_ejendom","IntlProvider","intlProviderMessages","baseTranslations","messages_da","variant","mappedTranslation","ReactIntlProvider","TopLevelToastContainer","ToastContainer","UserDeviceContext","displayMode","setDisplayMode","evt","info","Bowser","App","routesSetup","createBrowserRouter","createRoutesFromElements","Route","DefaultLayout","RouterProvider","signalrConnectionInstance","createSignalrConnectionInstance","relayEnvironmentInstance","createRelayEnvironmentInstance","endpoint","network","Network","request","variables","cacheConfig","queryId","isMutation","isQuery","cachedData","isImpersonated","query","body","headers","formData","FormData","uploadable","json","clientId","observable","Observable","sink","x","source","RecordSource","Store","Environment","handlerProvider","requiredFieldLogger","Helmet","UserDeviceProvider","SignalrConnectionProvider","RelayEnvironmentProvider","ViewerProvider","ReactDOM","initReactApp","AppRoot","initialize","initAppSettings","HTML_DOCUMENT_TITLE","AUTH_CLIENT_ID","AUTH_REALM","AUTH_URL","createAuthenticationService","serviceWorkerRegistration","publicUrl","registerValidSW","swUrl","installingWorker","Function","getCLS","getFID","getFCP","getLCP","getTTFB","AuthenticationService","Keycloak","originalUrl","realm","send","_sendToServer","logLevel","getErrorId","hexLength","random","r","SignalrConnectionContext","connectionState","setConnectionState","SignalrConnectionStateEnum","subscription","defaultReconnectPolicy","reconnectPolicy","startRetryTimeout","pendingInvokes","reconnectedListeners","HubConnectionBuilder","HttpTransportType","LogLevel","startRetryCount","handleReconnected","f","pending","invoke","_key","args","HubConnectionState","fn","onReconnected","appSettingsDefaults","fetchTheme","applyThemeConfigToDocument","themeConfig","rootVars","assets","asset","cssUrls","cssUrl","loadThemeConfig","APPSETTINGS_JSON","loadAppConfig","resp","loadedSettings","settings","unit","addedPlus","formattedNumber","typeOfFormat","formatQueryDate","fullName","names","getDatesFromRange","dates","currentDate","addDays","dayStart","dayEnd","getAvatarVersion","chatParticipants","hash","anchor","TypeMessages","notificationType","threadId"],"mappings":"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AgB,kBAChB,GAAI,qBACN,EACA,OAAQ,CACN,eAAgB,SAChB,GAAI,qBACN,EACA,OAAQ,CACN,eAAgB,SAChB,GAAI,qBACN,EACA,MAAO,CACL,eAAgB,QAChB,GAAI,oBACN,EACA,KAAM,CACJ,eAAgB,gBAChB,GAAI,mBACN,EACA,qBAAsB,CACpB,eAAgB,yBAChB,GAAI,mCACN,EACA,SAAU,CACR,eAAgB,YAChB,GAAI,uBACN,EACA,eAAgB,CACd,eAAgB,kBAChB,GAAI,6BACN,EACA,WAAY,CACV,eAAgB,cAChB,GAAI,yBACN,EACA,SAAU,CACR,eAAgB,YAChB,GAAI,uBACN,EACA,OAAQ,CACN,eAAgB,SAChB,GAAI,qBACN,EACA,iBAAkB,CAChB,eAAgB,oBAChB,GAAI,+BACN,EACA,kBAAmB,CACjB,eAAgB,sBAChB,GAAI,gCACN,EACA,mBAAoB,CAClB,eAAgB,iCAChB,GAAI,iCACN,EACA,mBAAoB,CAClB,eAAgB,sBAChB,GAAI,iCACN,EACA,iBAAkB,CAChB,eAAgB,sBAChB,GAAI,+BACN,EACA,yBAA0B,CACxB,eAAgB,+BAChB,GAAI,uCACN,EACA,iBAAkB,CAChB,eAAgB,sBAChB,GAAI,+BACN,EACA,WAAY,CACV,eAAgB,8BAChB,GAAI,yBACN,EACA,QAAS,CACP,eAAgB,qBAChB,GAAI,sBACN,EACA,WAAY,CACV,eAAgB,aAChB,GAAI,yBACN,EACA,kBAAmB,CACjB,eAAgB,uBAChB,GAAI,gCACN,EACA,wBAAyB,CACvB,eAAgB,6BAChB,GAAI,sCACN,EACA,OAAQ,CACN,eAAgB,SAChB,GAAI,qBACN,EACA,QAAS,CACP,eAAgB,cAChB,GAAI,sBACN,EACA,qCAAsC,CACpC,eAAgB,mBAChB,GAAI,mDACN,EACA,6CAA8C,CAC5C,eAAgB,4BAChB,GAAI,2DACN,EACA,qCAAsC,CACpC,eAAgB,mBAChB,GAAI,mDACN,EACA,KAAM,CACJ,eAAgB,eAChB,GAAI,mBACN,EACA,KAAM,CACJ,eAAgB,OAChB,GAAI,mBACN,EACA,kBAAmB,CACjB,e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"}