{"version":3,"file":"index.g08hm770.js","sources":["../../../wwwdev/scripts/autogen/translation-keys/trans-website-advisortoolbox-shared.ts","../../../wwwdev/esm/components/advisorToolbox/components/slideView.tsx","../../../wwwdev/esm/components/advisorToolbox/components/toolboxCard.tsx","../../../wwwdev/esm/components/advisorToolbox/shared/helper.ts","../../../wwwdev/esm/components/advisorToolbox/shared/styles.ts","../../../wwwdev/esm/components/advisorToolbox/toolboxInline.tsx","../../../wwwdev/esm/components/advisorToolbox/toolboxQuickView.tsx","../../../wwwdev/esm/components/advisorToolbox/toolbox.tsx"],"sourcesContent":["/* eslint-disable */\r\n/// This file is auto generated - do not edit manually\r\nexport const Link = 'Website.AdvisorToolbox.Shared.Link';\r\nexport const OnlyClubMatas = 'Website.AdvisorToolbox.Shared.OnlyClubMatas';\r\nexport const ClubMatas = 'Website.AdvisorToolbox.Shared.ClubMatas';\r\n","import { ColorNeutralWhite, Spacing80, Spacing96, Spacing24, Spacing32 } from 'autogen/design-tokens/tokens';\r\nimport loadModiface from 'components/modiface/utilities/loadModiface';\r\nimport { rem } from 'modules/helpers/style';\r\nimport ReactButton, { ButtonStyle, LinkButton } from 'modules/react-button';\r\nimport styled from 'styled-components';\r\nimport { breakpoint, fonts, sizes } from 'variables';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport type { EventName } from 'modules/tracking/GA4/types/EventName';\r\nimport type { IAdvisorToolboxQuickView, IToolboxTheme } from '../shared/types';\r\nimport LinkActionButton from 'components/Button/LinkActionButton';\r\nimport { Button } from 'components/Button';\r\n\r\nconst ScrollWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n max-height: 100%;\r\n overflow: auto;\r\n overscroll-behavior: contain;\r\n padding: 0 ${Spacing24} ${Spacing96};\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n flex-direction: row-reverse;\r\n align-items: center;\r\n padding: 0 ${Spacing80} ${Spacing80};\r\n }\r\n`;\r\n\r\nconst Text = styled.div`\r\n ${breakpoint.up(sizes.md)} {\r\n flex: 1 1 auto;\r\n }\r\n`;\r\n\r\nconst Headline = styled.h2<{ theme: IToolboxTheme }>`\r\n font-weight: bold;\r\n font-size: ${rem(24)};\r\n font-family: ${fonts.CustomFonts.DMSerifText};\r\n line-height: ${({ theme }) => (theme.inline ? 1 : 1.25)};\r\n`;\r\n\r\nconst Description = styled.div`\r\n margin-bottom: ${Spacing24};\r\n`;\r\n\r\nconst ImageWrapper = styled.div`\r\n flex: 0 0 auto;\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n width: 300px;\r\n height: auto;\r\n margin-top: 0;\r\n margin-right: ${Spacing24};\r\n }\r\n`;\r\n\r\nconst Image = styled.img`\r\n width: auto;\r\n height: auto;\r\n max-width: 100%;\r\n max-height: 100%;\r\n`;\r\n\r\nconst CtaContainer = styled.div`\r\n position: fixed;\r\n left: 0;\r\n bottom: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: ${Spacing80};\r\n background-color: ${ColorNeutralWhite};\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n position: static;\r\n display: block;\r\n width: auto;\r\n height: auto;\r\n background-color: transparent;\r\n }\r\n`;\r\n\r\nconst StyledLinkActionButton = styled(LinkActionButton)`\r\n width: calc(100% - ${Spacing32});\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n display: inline-flex;\r\n width: auto;\r\n min-width: 120px;\r\n }\r\n`;\r\n\r\nconst StyledButton = styled(Button)`\r\n width: calc(100% - ${Spacing32});\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n display: inline-flex;\r\n width: auto;\r\n min-width: 120px;\r\n }\r\n`;\r\n\r\nexport default function SlideView(props: { quickView: IAdvisorToolboxQuickView }) {\r\n const { quickView } = props;\r\n const { ctaText, ctaLinkAction, description, headline, imageUrl, type, productId } = quickView;\r\n\r\n function handleTracking() {\r\n function getEventName(): EventName | undefined {\r\n switch (type) {\r\n case 'Booking':\r\n return 'booking_activated';\r\n case 'Chat':\r\n return 'chat_activated';\r\n case 'Modiface':\r\n return 'modiface_activated';\r\n case 'Questionnaire':\r\n return 'questionnaire_activated';\r\n default:\r\n return undefined;\r\n }\r\n }\r\n\r\n const eventName = getEventName();\r\n\r\n if (eventName) {\r\n GA4Tracking({\r\n eventName,\r\n context: 'advisor_toolbox',\r\n category: 'advisory'\r\n });\r\n }\r\n }\r\n\r\n async function handleItemType() {\r\n switch (type) {\r\n case 'Modiface':\r\n if (productId) {\r\n const openModiface = loadModiface(productId);\r\n openModiface('advisorToolbox');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n handleTracking();\r\n }\r\n\r\n return (\r\n \r\n \r\n {headline}\r\n {description}\r\n \r\n {ctaLinkAction ? (\r\n \r\n {ctaText}\r\n \r\n ) : (\r\n {ctaText}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { ColorAdvice4, ColorOpacityDark2 } from 'autogen/design-tokens/tokens';\r\nimport type { AdvisorToolboxItem } from 'autogen/swagger/all';\r\nimport type { HTMLAttributes } from 'react';\r\nimport styled from 'styled-components';\r\nimport { useTranslation } from 'react-i18next';\r\nimport Card from 'components/generic/card';\r\nimport { Typography } from 'components/generic/typography';\r\nimport { ClubMatas } from 'autogen/translation-keys/trans-website-advisortoolbox-shared';\r\nimport { verticalEllipsis } from 'modules/helpers/mixins';\r\nimport type { IToolboxTheme } from '../shared/types';\r\n\r\nconst StyledCard = styled(Card)<{ theme: IToolboxTheme }>`\r\n position: relative;\r\n cursor: pointer;\r\n background-color: ${ColorAdvice4};\r\n`;\r\n\r\nconst Bottom = styled.div`\r\n margin-top: auto;\r\n`;\r\n\r\nconst StyledBody = styled(Typography.Body)`\r\n margin: 0;\r\n line-height: 1.5;\r\n`;\r\n\r\nconst StyledBodyDescription = styled(StyledBody)`\r\n ${verticalEllipsis(2)}\r\n`;\r\n\r\nconst StyledBottomText = styled(StyledBody)`\r\n color: ${ColorOpacityDark2};\r\n`;\r\n\r\nconst HeadlineContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\nexport default function ToolboxCard(props: { item: AdvisorToolboxItem } & HTMLAttributes) {\r\n const { item, ...rest } = props;\r\n const { isClubMatasOnly, headline, description } = item;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {headline}\r\n \r\n \r\n {description}\r\n\r\n {isClubMatasOnly && {t(ClubMatas)}}\r\n \r\n \r\n );\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\n\r\nimport { EventName } from 'modules/tracking/GA4/types/EventName';\r\nimport { AdvisorToolboxItemWithId } from './types';\r\n\r\nexport function trackingEventNameMapper(type: AdvisorToolboxItemWithId['type']): EventName | undefined {\r\n switch (type) {\r\n case 'Booking':\r\n return 'booking_selected';\r\n case 'Chat':\r\n return 'chat_selected';\r\n case 'Modiface':\r\n return 'modiface_activated';\r\n case 'Questionnaire':\r\n return 'questionnaire_selected';\r\n default:\r\n return undefined;\r\n }\r\n}\r\n","import {\r\n ColorAdvice3,\r\n ColorNeutralWhite,\r\n Spacing40,\r\n Spacing80,\r\n Spacing8,\r\n Spacing16,\r\n Spacing20,\r\n Spacing24\r\n} from 'autogen/design-tokens/tokens';\r\nimport QuickView from 'components/quickView';\r\nimport { rem } from 'modules/helpers/style';\r\nimport styled, { css } from 'styled-components';\r\nimport { breakpoint, fonts, sizes } from 'variables';\r\nimport type { IToolboxTheme } from './types';\r\n\r\nexport const toolboxPadding = css`\r\n padding: ${Spacing24};\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n padding: ${Spacing24} ${Spacing80} ${Spacing80};\r\n }\r\n`;\r\n\r\nexport const StyledQuickView = styled(QuickView)<{ survey?: boolean }>`\r\n background-color: ${({ survey }) => (survey ? ColorNeutralWhite : ColorAdvice3)};\r\n height: calc(100% - 40px);\r\n max-height: none;\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n width: 800px;\r\n height: auto;\r\n max-height: calc(100% - 40px);\r\n max-width: calc(100% - ${Spacing40});\r\n }\r\n`;\r\n\r\nexport const Headline = styled.h2<{ theme: IToolboxTheme }>`\r\n font-weight: bold;\r\n font-size: ${({ theme }) => (theme.inline ? rem(20) : rem(24))};\r\n font-family: ${fonts.CustomFonts.DMSerifText};\r\n line-height: ${({ theme }) => (theme.inline ? 1 : 1.25)};\r\n margin: ${({ theme }) => (theme.inline ? `0 ${Spacing16} ${Spacing16}` : `0 0 ${Spacing16}`)};\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n text-align: ${({ theme }) => (theme.inline ? 'center' : 'left')};\r\n font-size: ${({ theme }) => (theme.inline ? rem(28) : rem(24))};\r\n margin: ${({ theme }) => (theme.inline ? `0 ${Spacing16} ${Spacing16}` : `0 0 ${Spacing20}`)};\r\n }\r\n`;\r\n\r\nexport const List = styled.ul`\r\n display: grid;\r\n grid-gap: ${Spacing8};\r\n grid-template-columns: repeat(auto-fit, minmax(min(150px, 50%), 1fr));\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n`;\r\n\r\nexport const Item = styled.li`\r\n display: flex;\r\n grid-column: 1 / -1;\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n grid-column: auto;\r\n\r\n &:first-child {\r\n grid-column: 1 / span 2;\r\n }\r\n }\r\n`;\r\n","import { BoxShadowSmall, Spacing16, Spacing8 } from 'autogen/design-tokens/tokens';\r\nimport { CarouselScrollButton, Container, EmblaContext, emblaHOC, Slide, Viewport } from 'components/emblaCarousel';\r\nimport loadModiface from 'components/modiface/utilities/loadModiface';\r\nimport { useQuickView } from 'components/quickView';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport { useContext, useMemo, useState } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport SlideView from './components/slideView';\r\nimport ToolboxCard from './components/toolboxCard';\r\nimport { trackingEventNameMapper } from './shared/helper';\r\nimport { StyledQuickView } from './shared/styles';\r\nimport type { AdvisorToolboxItemWithId, IAdvisorToolbox, IAdvisorToolboxQuickView } from './shared/types';\r\n\r\nimport { useOpenSurveyQuickView } from 'components/surveySystem/shared/hooks/useOpenSurveyQuickView';\r\n\r\nconst SliderWrapper = styled.div`\r\n position: relative;\r\n min-width: 0;\r\n`;\r\n\r\nconst StyledPrev = styled(CarouselScrollButton)`\r\n display: none;\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n position: absolute;\r\n box-shadow: ${BoxShadowSmall};\r\n border: none;\r\n top: 50%;\r\n left: -${Spacing8};\r\n transform: translateY(-50%);\r\n display: block;\r\n }\r\n`;\r\n\r\nconst StyledNext = styled(CarouselScrollButton)`\r\n display: none;\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n position: absolute;\r\n box-shadow: ${BoxShadowSmall};\r\n border: none;\r\n top: 50%;\r\n right: -${Spacing8};\r\n transform: translateY(-50%);\r\n display: block;\r\n }\r\n`;\r\n\r\nconst StyledContainer = styled(Container)`\r\n display: flex;\r\n`;\r\n\r\nconst StyledSlide = styled(Slide)<{ items: number }>`\r\n && {\r\n display: flex;\r\n flex: 1 0 200px;\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n max-width: none;\r\n flex: 0 0 50%;\r\n }\r\n ${({ items }) =>\r\n items >= 3 &&\r\n css`\r\n ${breakpoint.up(sizes.xl)} {\r\n flex: 0 0 33.333%;\r\n }\r\n `}\r\n\r\n & + & {\r\n padding-left: ${Spacing8};\r\n }\r\n }\r\n`;\r\n\r\nconst StyledViewport = styled(Viewport)`\r\n padding: 0 ${Spacing16};\r\n margin: 0 -${Spacing16};\r\n`;\r\n\r\nfunction ToolboxInline(props: IAdvisorToolbox) {\r\n const { model, inline, productId, withNavigationButtons = true, className } = props;\r\n const { items } = model;\r\n const { toggle } = useQuickView('advisorToolbox');\r\n const [currentQuickView, setCurrentQuickView] = useState();\r\n const [, emblaApi] = useContext(EmblaContext);\r\n const itemsWithId: AdvisorToolboxItemWithId[] = useMemo(() => items.map((x) => ({ ...x, id: uuidv4() })), [items]);\r\n const { openSurveyQuickViewBySurveyId } = useOpenSurveyQuickView();\r\n\r\n async function openQuickView(item: AdvisorToolboxItemWithId) {\r\n const { quickView, type, surveyId } = item;\r\n const eventName = trackingEventNameMapper(type);\r\n\r\n if (inline && !emblaApi?.clickAllowed()) {\r\n return;\r\n }\r\n\r\n if (surveyId) {\r\n openSurveyQuickViewBySurveyId({ surveyId });\r\n }\r\n\r\n if (quickView) {\r\n setCurrentQuickView({ ...quickView, type, productId });\r\n\r\n if (eventName) {\r\n GA4Tracking({ eventName, context: 'advisor_toolbox', category: 'advisory' });\r\n }\r\n }\r\n\r\n if (item.type === 'Modiface' && productId) {\r\n const openModiface = loadModiface(productId);\r\n openModiface('advisorToolbox');\r\n\r\n if (eventName) {\r\n GA4Tracking({ eventName, context: 'advisor_toolbox', category: 'advisory' });\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {currentQuickView && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {itemsWithId.map((item) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n \r\n {\r\n await openQuickView(item);\r\n toggle(true);\r\n }}\r\n />\r\n \r\n ))}\r\n \r\n \r\n {withNavigationButtons && }\r\n {withNavigationButtons && }\r\n \r\n >\r\n );\r\n}\r\n\r\nexport default emblaHOC({ containScroll: 'trimSnaps', align: 'start', dragFree: true, slidesToScroll: 'auto' })(\r\n ToolboxInline\r\n);\r\n","import { useQuickView, useSlides } from 'components/quickView';\r\nimport React, { useRef } from 'react';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport loadModiface from 'components/modiface/utilities/loadModiface';\r\nimport { useOpenSurveyQuickView } from 'components/surveySystem/shared/hooks/useOpenSurveyQuickView';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport SlideView from './components/slideView';\r\nimport ToolboxCard from './components/toolboxCard';\r\nimport { trackingEventNameMapper } from './shared/helper';\r\nimport { Item, List } from './shared/styles';\r\nimport type { AdvisorToolboxItemWithId, IAdvisorToolbox } from './shared/types';\r\n\r\nexport default function ToolboxQuickView(props: IAdvisorToolbox) {\r\n const { model, productId } = props;\r\n const { items } = model;\r\n const { toggle } = useQuickView('advisorToolbox');\r\n const { openSurveyQuickViewBySurveyId } = useOpenSurveyQuickView();\r\n const { push } = useSlides();\r\n const itemsWithId: AdvisorToolboxItemWithId[] = useRef(items.map((x) => ({ ...x, id: uuidv4() }))).current;\r\n\r\n function showNextSlide(item: AdvisorToolboxItemWithId) {\r\n return async () => {\r\n const { quickView, type, surveyId } = item;\r\n const eventName = trackingEventNameMapper(type);\r\n\r\n if (surveyId) {\r\n openSurveyQuickViewBySurveyId({ surveyId }).then(() => toggle(false));\r\n }\r\n\r\n if (quickView) {\r\n push({\r\n id: item.id,\r\n SlideComponent: () => \r\n });\r\n\r\n if (eventName) {\r\n GA4Tracking({ eventName, context: 'advisor_toolbox', category: 'advisory' });\r\n }\r\n }\r\n\r\n if (item.type === 'Modiface' && productId) {\r\n toggle(false);\r\n\r\n const openModiface = loadModiface(productId);\r\n openModiface('advisorToolbox');\r\n\r\n if (eventName) {\r\n GA4Tracking({ eventName, context: 'advisor_toolbox', category: 'advisory' });\r\n }\r\n }\r\n };\r\n }\r\n\r\n return (\r\n \r\n {itemsWithId.map((item) => (\r\n // eslint-disable-next-line react/no-array-index-key\r\n - \r\n \r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n","import { ThemeProvider } from 'styled-components';\r\nimport { IAdvisorToolbox } from './shared/types';\r\nimport ToolboxInline from './toolboxInline';\r\nimport ToolboxQuickView from './toolboxQuickView';\r\n\r\nconst AdvisorToolbox = (props: IAdvisorToolbox) => {\r\n const { inline } = props;\r\n\r\n return (\r\n \r\n {inline ? : }\r\n \r\n );\r\n};\r\n\r\nexport default AdvisorToolbox;\r\n"],"names":["Link","ClubMatas","ScrollWrapper","styled","div","withConfig","displayName","componentId","Spacing24","Spacing96","breakpoint","up","sizes","md","Spacing80","Text","Headline","h2","rem","fonts","CustomFonts","DMSerifText","theme","inline","Description","ImageWrapper","Image","img","CtaContainer","ColorNeutralWhite","StyledLinkActionButton","LinkActionButton","Spacing32","StyledButton","Button","SlideView","props","quickView","ctaText","ctaLinkAction","description","headline","imageUrl","type","productId","handleTracking","getEventName","undefined","eventName","GA4Tracking","context","category","handleItemType","loadModiface","jsxs","jsx","StyledCard","Card","ColorAdvice4","Bottom","StyledBody","Typography","Body","StyledBodyDescription","verticalEllipsis","StyledBottomText","ColorOpacityDark2","HeadlineContent","ToolboxCard","item","rest","isClubMatasOnly","t","useTranslation","trackingEventNameMapper","toolboxPadding","css","StyledQuickView","QuickView","survey","ColorAdvice3","Spacing40","Spacing16","Spacing20","List","ul","Spacing8","Item","li","sm","SliderWrapper","StyledPrev","CarouselScrollButton","BoxShadowSmall","StyledNext","StyledContainer","Container","StyledSlide","Slide","items","xl","StyledViewport","Viewport","ToolboxInline","model","withNavigationButtons","className","toggle","useQuickView","currentQuickView","setCurrentQuickView","useState","emblaApi","useContext","EmblaContext","itemsWithId","useMemo","map","x","id","uuidv4","openSurveyQuickViewBySurveyId","useOpenSurveyQuickView","openQuickView","surveyId","clickAllowed","length","ToolboxInline$1","emblaHOC","containScroll","align","dragFree","slidesToScroll","ToolboxQuickView","push","useSlides","useRef","current","showNextSlide","then","SlideComponent","AdvisorToolbox","ThemeProvider","ToolboxTheme"],"mappings":"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"}