{"version":3,"mappings":"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","names":["AdvisorRecommendsTitle","SoldOutOnline","PriceTotal","NoProductsSelected","CurrentProduct","RegimeContext","React","createContext","Regime","model","excludeMainProduct","children","initialRender","useRef","productId","mainProductRegimeId","initializeSelectedProducts","products","map","product","id","selected","stockAvailable","regimeModel","setRegimeModel","useState","selectableProducts","setSelectableProducts","updateRegime","allEntryIds","excludedIds","reduce","results","push","updatedRegime","GetProductRegime","allProductIds","deselectedIds","useEffect","current","isSelected","some","selectProduct","prevState","deselectProduct","toggleProduct","replaceProduct","idToReplace","newId","index","findIndex","newSelectedProducts","hasSoldOutProduct","hasProductWithVariants","variants","length","hasSelectedProducts","getSelectedProducts","filter","x","value","productEntries","jsx","useRegime","useContext","subsequentlyAddToBasket","productIds","subsubsequentlyAddToBasketMethod","__vitePreload","n","StyledButton","styled","ButtonWithSpinner","withConfig","displayName","componentId","Container","div","Spacing24","Spacing8","breakpoint","up","sizes","sm","StyledPriceModule","PriceModule","RegimePriceButton","restProps","earnXPointsText","addXToBasketText","priceBeforeText","priceText","onDiscount","t","useTranslation","hasProductsSelected","addToBasket","selectedProducts","params","bundleRelation","toString","bundleType","AddMultipleToBasket","then","response","refreshBasketQuantityGlobally","mediator","publish","track","dataLayerDto","UAEventTracking","eventCategory","eventAction","eventLabel","GA4Tracking","eventName","context","category","eventParams","param_name","param_value","jsxs","transKey","Body","__html","VariantContainer","StyledSelect","Select","RegimeVariantSelector","variantsFormatted","variant","variantDisplayName","isProductCurrentVariant","isVariantSelectedInRegime","label","disabled","selectedOption","find","option","Number","StyledCard","Card","ColorNeutralGrey4","StyledCardHeader","Header","overlayColor","StyledCardContent","Content","StyledCardFooter","Footer","ColorNeutralWhite","Spacing16","CheckboxContainer","StyledProductItem","HorizontalProductItem","isSoldOut","css","StockNotificationButtonCompact","hasVariants","Spacing72","StyledVariantSelector","StyledBody","Typography","RegimeCardHorizontal","productItem","sectionInfo","isCurrentProduct","trackingContext","createProductItemTrackingContext","firstCharacterToLower","uaTrackingCategory","action","externalProductId","productNavigationLink","linkAction","fromPowerstep","showPowerstepOnAddToBasket","addToBasketType","Checkbox","body","List","Spacing20","RegimeList","addHeaderSpacing","ProductItem","RegimeCardVertical","showFooter","StyledCarouselScrollButton","CarouselScrollButton","scrollType","lg","StyledViewport","Viewport","RegimeCarousel","EmblaCarousel","align","containScroll","fullWidth","md","xl","StyledRegimePriceButton","RegimeEntries","isMobile","useIsMobile","HeadingContainer","StyledPictureSignature","PictureDeprecated","Spacing6","verticalEllipsis","Button","AdvisorHeader","advisor","mainProfileImage","expertiseFields","profileLinkAction","signatureImage","firstName","AdvisorAvatar","Title","InlineLinkActionButton","ReadProfile","Wrapper","Spacing4","FontSize12","SoldOutReminder","toggle","useNotificationFormQuickView","primaryImage","listName","StockIndicator","InlineButton","isOpen","notificationModel","email","isPreorder","image","url","productName","BackInStockNotification","Spacing32","ColorAdvice2","Spacing48","StyledAdvisorHeader","IntroductionContainer","TextContainer","ProductDescription","Headline","StyledReadMoreMaxLines","ReactReadMoreMaxLines","rem","RegimeInformation","information","introText","xs","xxl","xxxl","ReadMore","ReadLess","toHtmlContent","headline","stripes","stripeHeight","stripeWidth","position","stripeColor1","stripeColor2","stripesWidth","parseInt","LayoutContainer","ColorAdvice5","Spacing40","Spacing56","ProductRegime","productRegimeIntroText"],"ignoreList":[],"sources":["../../../wwwdev/scripts/autogen/translation-keys/trans-website-productregime.ts","../../../wwwdev/esm/components/product/regime/components/Regime.tsx","../../../wwwdev/esm/components/product/regime/components/RegimePriceButton.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeVariantSelector.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeCardHorizontal.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeList.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeCardVertical.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeCarousel.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeEntries.tsx","../../../wwwdev/esm/components/product/regime/components/AdvisorHeader.tsx","../../../wwwdev/esm/components/product/regime/components/SoldOutReminder.tsx","../../../wwwdev/esm/components/product/regime/components/RegimeInformation.tsx","../../../wwwdev/esm/components/product/regime/shared/styles.ts","../../../wwwdev/esm/components/product/regime/ProductRegime.tsx"],"sourcesContent":["/* eslint-disable */\r\n/// This file is auto generated - do not edit manually\r\nexport const AdvisorRecommendsTitle = 'Website.ProductRegime.AdvisorRecommendsTitle';\r\nexport const AdvisorRecommends = 'Website.ProductRegime.AdvisorRecommends';\r\nexport const SoldOutOnline = 'Website.ProductRegime.SoldOutOnline';\r\nexport const AddOneToBasket = 'Website.ProductRegime.AddOneToBasket';\r\nexport const AddMultipleToBasket = 'Website.ProductRegime.AddMultipleToBasket';\r\nexport const PriceTotal = 'Website.ProductRegime.PriceTotal';\r\nexport const NoProductsSelected = 'Website.ProductRegime.NoProductsSelected';\r\nexport const RegimeHeaderCount = 'Website.ProductRegime.RegimeHeaderCount';\r\nexport const SeeMore = 'Website.ProductRegime.SeeMore';\r\nexport const SeeLess = 'Website.ProductRegime.SeeLess';\r\nexport const CurrentProduct = 'Website.ProductRegime.CurrentProduct';\r\nexport const AdvisorRecommendsTitleSimple = 'Website.ProductRegime.AdvisorRecommendsTitleSimple';\r\nexport const AdvisorRecommendsOverlineSimple = 'Website.ProductRegime.AdvisorRecommendsOverlineSimple';\r\nexport const AdvisorRecommendsTextSimple = 'Website.ProductRegime.AdvisorRecommendsTextSimple';\r\n","import { GetProductRegime, ProductRegimeModel } from 'autogen/swagger/all';\r\nimport React, { ReactNode, useState, useRef, useEffect } from 'react';\r\nimport { IRegimeContext, SelectableProduct } from '../shared/types';\r\n\r\nconst RegimeContext = React.createContext({} as IRegimeContext);\r\n\r\nexport default function Regime({\r\n model,\r\n excludeMainProduct = false,\r\n children\r\n}: {\r\n model: ProductRegimeModel;\r\n excludeMainProduct?: boolean;\r\n children: ReactNode;\r\n}) {\r\n const initialRender = useRef(!excludeMainProduct);\r\n const { productId: mainProductRegimeId } = model;\r\n\r\n // Set the initial state to be all products selected.\r\n const initializeSelectedProducts = () =>\r\n model.products.map((product) => ({\r\n id: product.product.id,\r\n selected:\r\n (product.stockAvailable && !excludeMainProduct) ||\r\n (product.stockAvailable && mainProductRegimeId === product.product.id)\r\n }));\r\n\r\n // when we have model that is better tailored to regime, clean this up and dont pass the whole model ( the whole model is very big ).\r\n const [regimeModel, setRegimeModel] = useState(model);\r\n const [selectableProducts, setSelectableProducts] = useState(initializeSelectedProducts());\r\n\r\n const updateRegime = async () => {\r\n try {\r\n const allEntryIds = selectableProducts.map((product) => product.id);\r\n const excludedIds = selectableProducts.reduce((results, product) => {\r\n if (!product.selected) results.push(product.id);\r\n\r\n return results;\r\n }, []);\r\n\r\n const updatedRegime = await GetProductRegime({\r\n productId: mainProductRegimeId,\r\n allProductIds: allEntryIds,\r\n deselectedIds: excludedIds\r\n });\r\n\r\n setRegimeModel(updatedRegime);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n updateRegime();\r\n }, []);\r\n\r\n // Run UpdateRegime everytime selectableProducts changes.\r\n useEffect(() => {\r\n if (initialRender.current) {\r\n initialRender.current = false;\r\n return;\r\n }\r\n updateRegime();\r\n }, [selectableProducts]);\r\n\r\n /* isSelected Method */\r\n const isSelected = (id) => selectableProducts.some((product) => product.id === id && product.selected);\r\n\r\n /* SelectProduct Method */\r\n const selectProduct = (id) =>\r\n !isSelected(id) &&\r\n setSelectableProducts((prevState) =>\r\n prevState.map((product) => (product.id === id ? { id: product.id, selected: true } : product))\r\n );\r\n\r\n /* DelesectProduct Method */\r\n const deselectProduct = (id) =>\r\n isSelected(id) &&\r\n setSelectableProducts((prevState) =>\r\n prevState.map((product) => (product.id === id ? { id: product.id, selected: false } : product))\r\n );\r\n\r\n /* ToggleProduct Method */\r\n const toggleProduct = (id) => (isSelected(id) ? deselectProduct(id) : selectProduct(id));\r\n\r\n /* ReplaceProduct Method */\r\n const replaceProduct = (idToReplace, newId) => {\r\n if (isSelected(newId)) return;\r\n\r\n const index = selectableProducts.findIndex((product) => product.id === idToReplace);\r\n\r\n if (index !== -1) {\r\n const newSelectedProducts = [...selectableProducts];\r\n newSelectedProducts[index] = { id: newId, selected: true };\r\n setSelectableProducts(newSelectedProducts);\r\n return;\r\n }\r\n\r\n selectProduct(newId);\r\n };\r\n\r\n /* Check to see if regime contains sold out product */\r\n const hasSoldOutProduct = () => {\r\n if (model.products.some((product) => !product.stockAvailable)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n /* Check to see if regime contains product with variant */\r\n const hasProductWithVariants = () => {\r\n if (model.products.some((product) => product.variants.length > 1)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const hasSelectedProducts = () => selectableProducts.some((product) => product.selected);\r\n\r\n const getSelectedProducts = () =>\r\n selectableProducts.reduce((results, product) => {\r\n if (product.selected) results.push(product.id);\r\n\r\n return results;\r\n }, []);\r\n\r\n let { products } = regimeModel;\r\n\r\n if (excludeMainProduct) {\r\n products = regimeModel.products.filter((x) => x.product.id !== model.productId);\r\n }\r\n\r\n const value: IRegimeContext = {\r\n mainProductRegimeId,\r\n selectableProducts,\r\n productEntries: products,\r\n isSelected,\r\n selectProduct,\r\n deselectProduct,\r\n toggleProduct,\r\n replaceProduct,\r\n hasSelectedProducts,\r\n getSelectedProducts,\r\n regimeModel,\r\n excludeMainProduct,\r\n hasSoldOutProduct,\r\n hasProductWithVariants\r\n };\r\n\r\n return {children};\r\n}\r\n\r\nexport function useRegime() {\r\n return React.useContext(RegimeContext);\r\n}\r\n","import { ButtonWithSpinner } from 'components/Button';\r\nimport React from 'react';\r\nimport styled from 'styled-components';\r\nimport { AddMultipleToBasket } from 'autogen/swagger/all';\r\nimport mediator from 'modules/mediator';\r\nimport track from 'modules/tracking/dataLayer';\r\nimport { Spacing8, Spacing24 } from 'autogen/design-tokens/tokens';\r\nimport { useTranslation } from 'react-i18next';\r\nimport * as transKey from 'autogen/translation-keys/trans-root-website';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport UAEventTracking from 'modules/tracking/UAEventTracking';\r\nimport PriceModule from 'components/generic/productPrice/PriceModule';\r\nimport { Body } from 'components/generic/typography';\r\nimport { refreshBasketQuantityGlobally } from 'hooks/basket/useBasketQuantity';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport { useRegime } from './Regime';\r\n\r\nasync function subsequentlyAddToBasket(productIds): Promise {\r\n const { subsequentlyAddToBasket: subsubsequentlyAddToBasketMethod } = await import(\r\n /* webpackChunkName: \"addAndRemoveFromBasket\" */ 'modules/addAndRemoveFromBasket'\r\n );\r\n\r\n subsubsequentlyAddToBasketMethod(productIds);\r\n}\r\n\r\n/* #region styles */\r\nconst StyledButton = styled(ButtonWithSpinner)`\r\n justify-self: center;\r\n width: 260px;\r\n`;\r\n\r\nconst Container = styled.div`\r\n margin-top: ${Spacing24};\r\n display: grid;\r\n justify-content: center;\r\n grid-column: 1;\r\n gap: ${Spacing8};\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n justify-content: center;\r\n }\r\n`;\r\n\r\nconst StyledPriceModule = styled(PriceModule)`\r\n && {\r\n text-align: center;\r\n }\r\n`;\r\n/* #endregion */\r\n\r\nexport default function RegimePriceButton({ ...restProps }) {\r\n const { regimeModel, getSelectedProducts, hasSelectedProducts, mainProductRegimeId } = useRegime();\r\n const { earnXPointsText, addXToBasketText, priceBeforeText, priceText, onDiscount } = regimeModel;\r\n const { t } = useTranslation();\r\n\r\n const hasProductsSelected = hasSelectedProducts();\r\n\r\n const addToBasket = async () => {\r\n const selectedProducts = getSelectedProducts();\r\n\r\n const params: any = {\r\n productIds: selectedProducts,\r\n bundleRelation: mainProductRegimeId.toString(),\r\n bundleType: 'Regime'\r\n };\r\n\r\n await AddMultipleToBasket(params).then((response) => {\r\n refreshBasketQuantityGlobally();\r\n mediator.publish('updateMiniBasketView');\r\n subsequentlyAddToBasket(selectedProducts);\r\n track(response.dataLayerDto);\r\n UAEventTracking({\r\n eventCategory: 'productRegime',\r\n eventAction: 'addToBasket',\r\n eventLabel: 'multiple'\r\n });\r\n\r\n GA4Tracking({\r\n eventName: 'add_to_cart',\r\n context: 'product_page',\r\n category: 'ecommerce',\r\n eventParams: [\r\n {\r\n param_name: 'is_regime',\r\n param_value: true\r\n },\r\n {\r\n param_name: 'add_to_cart_quantity',\r\n param_value: selectedProducts.length\r\n }\r\n ]\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n {priceText ? (\r\n \r\n ) : null}\r\n\r\n \r\n {hasProductsSelected ? addXToBasketText : t(transKey.ProductRegime.NoProductsSelected)}\r\n \r\n\r\n {/* biome-ignore lint/security/noDangerouslySetInnerHtml: */}\r\n \r\n \r\n );\r\n}\r\n","import { ProductRegimeProductModel } from 'autogen/swagger/all';\r\nimport Select from 'components/shared/inputs/select/Select';\r\nimport IOption from 'components/shared/inputs/select/shared/types/option';\r\nimport UAEventTracking from 'modules/tracking/UAEventTracking';\r\nimport React from 'react';\r\nimport styled from 'styled-components';\r\nimport { GA4Tracking } from 'modules/tracking/GA4/GA4Tracking';\r\nimport { useRegime } from './Regime';\r\n\r\nconst VariantContainer = styled.div`\r\n display: flex;\r\n`;\r\n\r\nconst StyledSelect = styled(Select)`\r\n width: 100%;\r\n`;\r\n\r\nexport default function RegimeVariantSelector({ product, ...restProps }: { product: ProductRegimeProductModel }) {\r\n const { replaceProduct, isSelected } = useRegime();\r\n const { variants } = product;\r\n const { id } = product.product;\r\n\r\n if (!variants) return null;\r\n\r\n // The reason we dont pass variants directly to the select, is because we want to disable the variantOptions that are already selected in the regime.\r\n const variantsFormatted = variants.reduce((results, variant) => {\r\n const { productId, variantDisplayName } = variant;\r\n const isProductCurrentVariant = id === productId;\r\n const isVariantSelectedInRegime = isSelected(productId);\r\n\r\n if (!isProductCurrentVariant && isVariantSelectedInRegime) {\r\n results.push({ value: productId.toString(), label: variantDisplayName, disabled: true });\r\n } else {\r\n results.push({ value: productId.toString(), label: variantDisplayName });\r\n }\r\n\r\n return results;\r\n }, []);\r\n\r\n const selectedOption = variantsFormatted.find((option: IOption) => option.value === id.toString());\r\n\r\n return (\r\n \r\n {\r\n replaceProduct(id, Number(option.value));\r\n UAEventTracking({\r\n eventCategory: 'productRegime',\r\n eventAction: 'changed variant'\r\n });\r\n\r\n GA4Tracking({\r\n eventName: 'choose_variant',\r\n context: 'product_page',\r\n category: 'ecommerce'\r\n });\r\n }}\r\n options={variantsFormatted}\r\n />\r\n \r\n );\r\n}\r\n","import Checkbox from 'components/shared/inputs/checkbox';\r\nimport React, { useEffect } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport type { ProductRegimeProductModel } from 'autogen/swagger/all';\r\nimport Card from 'components/generic/card';\r\nimport { useTranslation } from 'react-i18next';\r\nimport * as transKey from 'autogen/translation-keys/trans-root-website';\r\nimport {\r\n ColorNeutralGrey4,\r\n ColorNeutralWhite,\r\n Spacing12,\r\n Spacing16,\r\n Spacing64,\r\n Spacing72\r\n} from 'autogen/design-tokens/tokens';\r\nimport HorizontalProductItem from 'components/shared/productItem/components/HorizontalProductItem/HorizontalProductItem';\r\nimport { Typography } from 'components/generic/typography';\r\nimport { StockNotificationButtonCompact } from 'components/generic/productCTA/components/OpenStockNotification/StockNotificationButton';\r\nimport { createProductItemTrackingContext } from 'components/shared/productItem/shared/helpers';\r\nimport { firstCharacterToLower } from 'modules/helpers/strings';\r\nimport { useRegime } from './Regime';\r\nimport RegimeVariantSelector from './RegimeVariantSelector';\r\nimport { overlayColor } from 'components/shared/style/imageOverlay';\r\n\r\n// #region Styles\r\n\r\nconst StyledCard = styled(Card)`\r\n border: 1px solid ${ColorNeutralGrey4};\r\n`;\r\n\r\nconst StyledCardHeader = styled(Card.Header)`\r\n justify-content: center;\r\n border-bottom: 1px solid ${ColorNeutralGrey4};\r\n background-color: ${overlayColor};\r\n`;\r\n\r\nconst StyledCardContent = styled(Card.Content)`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n`;\r\n\r\nconst StyledCardFooter = styled(Card.Footer)`\r\n flex-direction: column;\r\n border-top: 1px solid ${ColorNeutralGrey4};\r\n background-color: ${ColorNeutralWhite};\r\n padding: ${Spacing16};\r\n`;\r\n\r\nconst CheckboxContainer = styled.label`\r\n display: flex;\r\n position: absolute;\r\n right: ${Spacing16};\r\n top: ${Spacing16};\r\n z-index: 2;\r\n`;\r\n\r\nconst StyledProductItem = styled(HorizontalProductItem)<{ isSoldOut: boolean }>`\r\n ${({ isSoldOut }) =>\r\n isSoldOut &&\r\n css`\r\n opacity: 0.4;\r\n `}\r\n`;\r\n\r\nconst StyledButton = styled(StockNotificationButtonCompact)<{ hasVariants: boolean }>`\r\n position: absolute;\r\n right: ${Spacing16};\r\n bottom: ${({ hasVariants }) => (hasVariants ? Spacing72 : Spacing16)};\r\n width: 40px;\r\n`;\r\n\r\nconst StyledVariantSelector = styled(RegimeVariantSelector)`\r\n padding: ${Spacing16};\r\n`;\r\n\r\nconst StyledBody = styled(Typography.Body)<{ isSoldOut: boolean }>`\r\n ${({ isSoldOut }) =>\r\n isSoldOut &&\r\n css`\r\n opacity: 0.4;\r\n `}\r\n`;\r\n\r\n// #endregion Styles\r\n\r\nexport default function RegimeCardHorizontal({ product }: { product: ProductRegimeProductModel }) {\r\n const { product: productItem, sectionInfo, variants, stockAvailable } = product;\r\n const { isSelected, toggleProduct, mainProductRegimeId, deselectProduct } = useRegime();\r\n const selected = isSelected(productItem.id);\r\n const { t } = useTranslation();\r\n const isCurrentProduct = productItem.id === mainProductRegimeId;\r\n const trackingContext = createProductItemTrackingContext(firstCharacterToLower(productItem.uaTrackingCategory));\r\n\r\n useEffect(() => {\r\n if (!stockAvailable) {\r\n deselectProduct(productItem.id);\r\n }\r\n }, [stockAvailable, deselectProduct, productItem]);\r\n\r\n return (\r\n \r\n {isCurrentProduct && (\r\n \r\n \r\n {t(transKey.ProductRegime.CurrentProduct)}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n\r\n {!stockAvailable && (\r\n 1}\r\n params={{\r\n action: productItem.action,\r\n trackingContext,\r\n productId: productItem.id,\r\n externalProductId: productItem.externalProductId,\r\n productNavigationLink: productItem.linkAction,\r\n fromPowerstep: false,\r\n showPowerstepOnAddToBasket: false,\r\n addToBasketType: productItem.addToBasketType\r\n }}\r\n trackingInfo={trackingContext}\r\n />\r\n )}\r\n\r\n \r\n toggleProduct(productItem.id)}\r\n />\r\n \r\n\r\n {variants.length > 1 && }\r\n \r\n\r\n {sectionInfo.body && (\r\n \r\n \r\n {sectionInfo.body}\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Spacing20 } from 'autogen/design-tokens/tokens';\r\nimport React, { ReactNode } from 'react';\r\nimport styled from 'styled-components';\r\nimport { useRegime } from './Regime';\r\nimport RegimeCardHorizontal from './RegimeCardHorizontal';\r\n\r\nconst List = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n gap: ${Spacing20};\r\n width: 100%;\r\n`;\r\n\r\nexport default function RegimeList({ children }: { children?: ReactNode }) {\r\n const { productEntries } = useRegime();\r\n\r\n return (\r\n \r\n {children}\r\n {productEntries.map((product) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import { ColorNeutralGrey4, ColorNeutralWhite, Spacing12, Spacing16 } from 'autogen/design-tokens/tokens';\r\nimport Checkbox from 'components/shared/inputs/checkbox';\r\nimport React, { useEffect } from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport type { ProductRegimeProductModel } from 'autogen/swagger/all';\r\nimport Card from 'components/generic/card';\r\nimport { useTranslation } from 'react-i18next';\r\nimport * as transKey from 'autogen/translation-keys/trans-root-website';\r\nimport ProductItem from 'components/shared/productItem';\r\nimport { Typography } from 'components/generic/typography';\r\nimport { StockNotificationButtonCompact } from 'components/generic/productCTA/components/OpenStockNotification/StockNotificationButton';\r\nimport { firstCharacterToLower } from 'modules/helpers/strings';\r\nimport { createProductItemTrackingContext } from 'components/shared/productItem/shared/helpers';\r\nimport { useRegime } from './Regime';\r\nimport RegimeVariantSelector from './RegimeVariantSelector';\r\nimport { overlayColor } from 'components/shared/style/imageOverlay';\r\n\r\n/* #region styles */\r\nconst StyledCard = styled(Card)<{ addHeaderSpacing: boolean }>`\r\n border: 1px solid ${ColorNeutralGrey4};\r\n\r\n ${({ addHeaderSpacing }) =>\r\n addHeaderSpacing &&\r\n css`\r\n margin-top: 30.5px;\r\n `}\r\n`;\r\n\r\nconst StyledCardHeader = styled(Card.Header)`\r\n justify-content: center;\r\n background-color: ${overlayColor};\r\n`;\r\n\r\nconst StyledCardContent = styled(Card.Content)`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n padding: 0;\r\n`;\r\n\r\nconst StyledCardFooter = styled(Card.Footer)`\r\n display: block;\r\n background-color: ${ColorNeutralWhite};\r\n padding: 0 ${Spacing16} ${Spacing16};\r\n height: 56px;\r\n`;\r\n\r\nconst CheckboxContainer = styled.label`\r\n display: flex;\r\n position: absolute;\r\n right: ${Spacing16};\r\n top: ${Spacing16};\r\n z-index: 2;\r\n`;\r\n\r\nconst StyledProductItem = styled(ProductItem)<{ isSoldOut: boolean }>`\r\n height: 100%;\r\n\r\n ${({ isSoldOut }) =>\r\n isSoldOut &&\r\n css`\r\n opacity: 0.4;\r\n `}\r\n`;\r\n\r\nconst StyledButton = styled(StockNotificationButtonCompact)`\r\n position: absolute;\r\n right: ${Spacing16};\r\n bottom: ${Spacing16};\r\n width: 40px;\r\n`;\r\n\r\n/* #endregion */\r\n\r\nexport default function RegimeCardVertical({ product }: { product: ProductRegimeProductModel }) {\r\n const { product: productItem, variants, stockAvailable } = product;\r\n const {\r\n isSelected,\r\n toggleProduct,\r\n mainProductRegimeId,\r\n excludeMainProduct,\r\n hasProductWithVariants,\r\n deselectProduct\r\n } = useRegime();\r\n const selected = isSelected(productItem.id);\r\n const { t } = useTranslation();\r\n const isCurrentProduct = productItem.id === mainProductRegimeId;\r\n const showFooter = hasProductWithVariants();\r\n const trackingContext = createProductItemTrackingContext(firstCharacterToLower(productItem.uaTrackingCategory));\r\n\r\n // biome-ignore lint/correctness/useExhaustiveDependencies: \r\n useEffect(() => {\r\n if (!stockAvailable) {\r\n deselectProduct(productItem.id);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {isCurrentProduct && (\r\n \r\n \r\n {t(transKey.ProductRegime.CurrentProduct)}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n\r\n {!stockAvailable && (\r\n \r\n )}\r\n\r\n \r\n toggleProduct(productItem.id)}\r\n />\r\n \r\n \r\n\r\n {showFooter && (\r\n \r\n {variants.length > 1 && }\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { Spacing16, Spacing24, Spacing8 } from 'autogen/design-tokens/tokens';\r\nimport { CarouselScrollButton, EmblaCarousel, Viewport } from 'components/emblaCarousel';\r\nimport styled from 'styled-components';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport { useRegime } from './Regime';\r\nimport RegimeCardVertical from './RegimeCardVertical';\r\n\r\n/* #region styles */\r\nconst Container = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n position: relative;\r\n width: 100%;\r\n`;\r\n\r\nconst StyledCarouselScrollButton = styled(CarouselScrollButton)<{ scrollType: 'next' | 'previous' }>`\r\n position: absolute;\r\n z-index: 1;\r\n right: ${({ scrollType }) => (scrollType === 'next' ? `-${Spacing8}` : 'unset')};\r\n left: ${({ scrollType }) => (scrollType === 'previous' ? `-${Spacing8}` : 'unset')};\r\n top: calc(50% + 20px);\r\n\r\n ${breakpoint.up(sizes.lg)} {\r\n right: ${({ scrollType }) => (scrollType === 'next' ? `-${Spacing24}` : 'unset')};\r\n left: ${({ scrollType }) => (scrollType === 'previous' ? `-${Spacing24}` : 'unset')};\r\n }\r\n`;\r\n\r\nconst List = styled.div`\r\n display: grid;\r\n gap: ${Spacing16};\r\n grid-auto-flow: column;\r\n grid-auto-columns: 232px;\r\n`;\r\n\r\nconst StyledViewport = styled(Viewport)``;\r\n/* #endregion */\r\n\r\nexport default function RegimeCarousel({ children }) {\r\n const { productEntries } = useRegime();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n {productEntries.map((product) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport useIsMobile from 'hooks/responsive/useIsMobile';\r\nimport isClient from 'helpers/isClient';\r\nimport RegimePriceButton from './RegimePriceButton';\r\nimport RegimeList from './RegimeList';\r\nimport RegimeCarousel from './RegimeCarousel';\r\n\r\n/* #region styles */\r\nconst Container = styled.div<{ fullWidth: boolean }>`\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n width: 100%;\r\n\r\n ${({ fullWidth }) =>\r\n !fullWidth &&\r\n css`\r\n ${breakpoint.up(sizes.md)} {\r\n width: 50%;\r\n }\r\n\r\n ${breakpoint.up(sizes.xl)} {\r\n width: 58%;\r\n align-items: center;\r\n }\r\n `}\r\n`;\r\n\r\nconst StyledRegimePriceButton = styled(RegimePriceButton)`\r\n text-align: center;\r\n`;\r\n/* #endregion */\r\n\r\nexport default function RegimeEntries({\r\n children,\r\n fullWidth = false\r\n}: {\r\n children?: JSX.Element;\r\n fullWidth?: boolean;\r\n}) {\r\n const isMobile = useIsMobile();\r\n\r\n return (\r\n \r\n {isMobile ? {children} : {children}}\r\n \r\n \r\n );\r\n}\r\n","import { Spacing4, Spacing6, Spacing16 } from 'autogen/design-tokens/tokens';\r\nimport React from 'react';\r\nimport styled from 'styled-components';\r\nimport type { ProductRegimeAdvisorModel } from 'autogen/swagger/all';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Body, Title } from 'components/generic/typography';\r\nimport { ReadProfile } from 'autogen/translation-keys/trans-website-advisor';\r\nimport { Button } from 'components/Button';\r\nimport { verticalEllipsis } from 'modules/helpers/mixins';\r\nimport PictureDeprecated from 'components/generic/picture/PictureDeprecated';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport InlineButton from 'components/generic/InlineButton';\r\nimport AdvisorAvatar from './AdvisorAvatar';\r\nimport InlineLinkActionButton from 'components/generic/InlineButton/InlineLinkActionButton';\r\n\r\n/* #region styles */\r\nconst Container = styled.div`\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\nconst HeadingContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n margin-left: ${Spacing16};\r\n`;\r\n\r\nconst StyledPictureSignature = styled(PictureDeprecated)`\r\n img {\r\n height: 34px;\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n height: 40px;\r\n }\r\n }\r\n`;\r\n\r\nconst StyledBody = styled(Body)`\r\n margin: 0 0 ${Spacing6};\r\n ${verticalEllipsis(1)};\r\n`;\r\n\r\nconst StyledButton = styled(Button)`\r\n padding: 0;\r\n height: auto;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n`;\r\n\r\n/* #endregion */\r\n\r\nexport default function AdvisorHeader({ advisor, ...restProps }: { advisor: ProductRegimeAdvisorModel }) {\r\n const { mainProfileImage, expertiseFields, profileLinkAction, signatureImage, firstName } = advisor;\r\n\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n {signatureImage ? : {firstName}}\r\n {expertiseFields}\r\n \r\n {t(ReadProfile)}\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { BackInStockNotification } from 'autogen/translation-keys/trans-website-shared-buttons';\r\nimport { useTranslation } from 'react-i18next';\r\nimport StockIndicator from 'components/shared/stockIndicator';\r\nimport InlineButton from 'components/generic/InlineButton/InlineButton';\r\nimport useNotificationFormQuickView from 'components/product/notification/shared/hooks/useNotificationFormQuickView';\r\nimport type { ProductRegimeProductModel } from 'autogen/swagger/all';\r\nimport { FontSize12, Spacing4 } from 'autogen/design-tokens/tokens';\r\nimport { SoldOutOnline } from 'autogen/translation-keys/trans-website-productregime';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n gap: ${Spacing4};\r\n font-size: ${FontSize12};\r\n\r\n span {\r\n margin: 0;\r\n }\r\n`;\r\n\r\nexport default function SoldOutReminder({ product, ...restProps }: { product: ProductRegimeProductModel }) {\r\n const { t } = useTranslation();\r\n const [, toggle] = useNotificationFormQuickView();\r\n const {\r\n product: { primaryImage, id, listName }\r\n } = product;\r\n\r\n return (\r\n \r\n \r\n {t(SoldOutOnline)} -\r\n \r\n toggle({\r\n isOpen: true,\r\n notificationModel: {\r\n productId: id,\r\n email: '',\r\n isPreorder: false,\r\n image: primaryImage.url,\r\n productName: listName\r\n }\r\n })\r\n }\r\n >\r\n {t(BackInStockNotification)}\r\n \r\n \r\n );\r\n}\r\n","import { ColorAdvice2, Spacing48, Spacing16, Spacing32, Spacing8 } from 'autogen/design-tokens/tokens';\r\nimport React from 'react';\r\nimport styled from 'styled-components';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport { ReactReadMoreMaxLines } from 'components/react-readmore';\r\nimport { toHtmlContent } from 'modules/helpers/strings';\r\nimport { ReadLess, ReadMore } from 'autogen/translation-keys/trans-website-shared-buttons';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Body, Typography } from 'components/generic/typography';\r\nimport { rem } from 'modules/helpers/style';\r\nimport AdvisorHeader from './AdvisorHeader';\r\nimport { useRegime } from './Regime';\r\nimport SoldOutReminder from './SoldOutReminder';\r\n\r\n/* #region styles */\r\nconst Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n width: 50%;\r\n margin-right: ${Spacing32};\r\n }\r\n\r\n ${breakpoint.up(sizes.lg)} {\r\n width: 50%;\r\n border-right: 1px solid ${ColorAdvice2};\r\n margin-right: ${Spacing48};\r\n padding-right: ${Spacing48};\r\n }\r\n\r\n ${breakpoint.up(sizes.xl)} {\r\n width: 42%;\r\n }\r\n`;\r\n\r\nconst StyledAdvisorHeader = styled(AdvisorHeader)`\r\n margin-bottom: ${Spacing16};\r\n`;\r\n\r\nconst IntroductionContainer = styled.div``;\r\n\r\nconst TextContainer = styled.div`\r\n display: none;\r\n\r\n ${breakpoint.up(sizes.sm)} {\r\n display: grid;\r\n margin-top: ${Spacing16};\r\n gap: ${Spacing16};\r\n }\r\n`;\r\n\r\nconst ProductDescription = styled.div``;\r\n\r\nconst Headline = styled.div`\r\n display: flex;\r\n align-items: center;\r\n gap: ${Spacing8};\r\n`;\r\n\r\nconst StyledBody = styled(Typography.Body)<{ isSelected: boolean }>`\r\n opacity: ${({ isSelected }) => (isSelected ? 1 : 0.4)};\r\n`;\r\n\r\nconst StyledReadMoreMaxLines = styled(ReactReadMoreMaxLines)`\r\n font-size: ${rem(14)};\r\n`;\r\n\r\n/* #endregion */\r\n\r\nexport default function RegimeInformation({ information }) {\r\n const { productEntries, isSelected } = useRegime();\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n {information.introText ? (\r\n \r\n \r\n {toHtmlContent(information.introText)}\r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n {productEntries.map((product) => {\r\n if (\r\n !product.sectionInfo.body ||\r\n !product.sectionInfo.headline ||\r\n !product.sectionInfo.headline.length\r\n )\r\n return null;\r\n\r\n return (\r\n \r\n \r\n \r\n {product.sectionInfo.headline}\r\n \r\n {!product.stockAvailable && }\r\n \r\n \r\n {product.sectionInfo.body}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n}\r\n","import { ColorBrandBlue1 } from 'autogen/design-tokens/tokens';\r\nimport { css } from 'styled-components';\r\n\r\nexport interface IMatasStripes {\r\n position?: string;\r\n stripesWidth?: string;\r\n stripeWidth?: string;\r\n stripeHeight?: string;\r\n stripeColor1?: string;\r\n stripeColor2?: string;\r\n}\r\n\r\nconst stripes = css`\r\n position: relative;\r\n\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n height: ${({ stripeHeight = '30px' }) => stripeHeight};\r\n width: ${({ stripeWidth = '100%' }) => stripeWidth};\r\n\r\n ${({ position = 'top' }) => {\r\n if (position === 'top') {\r\n return css`\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n `;\r\n }\r\n if (position === 'bottom') {\r\n return css`\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n `;\r\n }\r\n if (position === 'left') {\r\n return css`\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: auto;\r\n `;\r\n }\r\n if (position === 'right') {\r\n return css`\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n left: auto;\r\n `;\r\n }\r\n return css`\r\n left: 0;\r\n right: 0;\r\n top: 0;\r\n `;\r\n }}\r\n\r\n ${({ stripeColor1 = '#bfd3e7', stripeColor2 = 'transparent', stripesWidth = '8px', position = 'top' }) => {\r\n if (position === 'top' || position === 'bottom')\r\n return css`\r\n background: repeating-linear-gradient(\r\n 135deg,\r\n ${stripeColor1},\r\n ${stripeColor1} ${stripesWidth},\r\n ${stripeColor2} 0,\r\n ${stripeColor2} ${Number.parseInt(stripesWidth) * 2}px\r\n );\r\n `;\r\n if (position === 'right' || position === 'left')\r\n return css`\r\n background: repeating-linear-gradient(\r\n -135deg,\r\n ${stripeColor1},\r\n ${stripeColor1} ${stripesWidth},\r\n ${stripeColor2} 0,\r\n ${stripeColor2} ${Number.parseInt(stripesWidth) * 2}px\r\n );\r\n `;\r\n\r\n return css`\r\n background: repeating-linear-gradient(\r\n 135deg,\r\n ${stripeColor1},\r\n ${stripeColor1} ${stripesWidth},\r\n ${stripeColor2} 0,\r\n ${stripeColor2} ${Number.parseInt(stripesWidth) * 2}px\r\n );\r\n `;\r\n }};\r\n }\r\n`;\r\n\r\nexport default stripes;\r\n","import { ColorAdvice2, ColorAdvice5, Spacing40, Spacing16, Spacing24, Spacing56 } from 'autogen/design-tokens/tokens';\r\nimport styled, { css } from 'styled-components';\r\nimport type { ProductRegimeModel } from 'autogen/swagger/all';\r\nimport { breakpoint, sizes } from 'variables';\r\nimport RegimeEntries from './components/RegimeEntries';\r\nimport RegimeInformation from './components/RegimeInformation';\r\nimport Regime from './components/Regime';\r\nimport stripes, { type IMatasStripes } from './shared/styles';\r\n\r\n/* #region styles */\r\n\r\nconst LayoutContainer = styled.div`\r\n background-color: ${ColorAdvice5};\r\n display: flex;\r\n flex-direction: column;\r\n margin: auto;\r\n padding: ${Spacing24} ${Spacing16} ${Spacing40};\r\n min-width: 0;\r\n max-width: 100%;\r\n ${stripes}\r\n\r\n & > :first-child {\r\n margin-bottom: ${Spacing24};\r\n }\r\n\r\n ${breakpoint.up(sizes.md)} {\r\n flex-direction: row;\r\n\r\n & > :first-child {\r\n margin-bottom: unset;\r\n }\r\n }\r\n\r\n ${breakpoint.up(sizes.lg)} {\r\n padding: ${Spacing40} ${Spacing40} ${Spacing56} ${Spacing40};\r\n }\r\n`;\r\n/* #endregion */\r\n\r\nexport default function ProductRegime({ model }: { model: ProductRegimeModel }) {\r\n const information = { advisor: model.advisor, introText: model.productRegimeIntroText };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n"],"file":"client/chunks/index.cclk3a3p.js"}