{"version":3,"file":"bargains.BAnERBRf.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-html-collapse/index.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/cruises/product-card-cruises/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/marketing/product-card-fli/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/product-card-hotels/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/marketing-bargains/tabs-grid-list/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card/service.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card/utils.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/marketing/product-card-fli/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/product-card-hotels/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/helpers/marketing-bargains/tabs-grid-list/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card/index.js","../../../../../../../src/hooks/useResizeImage.ts","../../../../../../../src/components/header-banner-bargains/views/utils.ts","../../../../../../../src/components/header-banner-bargains/views/desktop/styled.ts","../../../../../../../src/components/header-banner-bargains/views/desktop/index.tsx","../../../../../../../src/components/header-banner-bargains/views/mobile/styled.ts","../../../../../../../src/components/header-banner-bargains/views/mobile/index.tsx","../../../../../../../src/components/header-banner-bargains/index.tsx","../../../../../../../node_modules/@babylon/ui-kit-hooks/useCountdown.js","../../../../../../../src/components/header-banner-blackfriday/views/desktop/styled.ts","../../../../../../../src/components/header-banner-blackfriday/views/desktop/index.tsx","../../../../../../../src/utils/render/parse/index.tsx","../../../../../../../src/pages/bargains/views/desktop/styled.ts","../../../../../../../src/pages/bargains/views/desktop/index.tsx","../../../../../../../src/components/header-banner-blackfriday/views/mobile/styled.ts","../../../../../../../src/components/header-banner-blackfriday/views/mobile/index.tsx","../../../../../../../src/pages/bargains/views/mobile/styled.ts","../../../../../../../src/pages/bargains/views/mobile/index.tsx","../../../../../../../src/pages/bargains/index.tsx","../../../../../../../src/sites/logitravel-campaigns/bundles/bargains/utils.ts","../../../../../../../src/sites/logitravel-campaigns/bundles/bargains/index.tsx"],"sourcesContent":["import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport TextHtmlCollapseDesktop from './views/desktop/index.js';\n\nconst TextHtmlCollapse = generateViewsComponent(TextHtmlCollapseDesktop);\n\nexport { TextHtmlCollapse as default };\n","const productCardCruisesDesktopConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { summary, discount, itinerary, link = {\n href: ''\n }, config, price, rating, tag, icons = [], logo } = data;\n const descriptions = summary?.details?.flatMap(({ content = '', prominent })=>prominent === undefined || prominent === false ? content : []) ?? [];\n const upsiders = summary?.details?.flatMap(({ content = '', prominent })=>prominent ? content : []) ?? [];\n const moreInfo = itinerary?.details?.map(({ content = '' })=>({\n content\n })) ?? [];\n const companies = logo ? [\n {\n ...logo\n }\n ] : [];\n const _rating = typeof rating === 'number' ? rating : rating?.value;\n const fromCaption = typeof price?.from === 'string' ? price?.from : price?.fromText;\n return {\n ...data,\n config: {\n ...config,\n deal: config?.deal,\n icon: !!config?.icon,\n iconName: config?.icon,\n soldOut: props.soldOut,\n literals: {\n fromCaption,\n summary: summary?.tab_name,\n moreInfo: itinerary?.tab_name,\n buttonLabel: summary?.buttonLabel\n }\n },\n image: summary?.image ?? {\n src: ''\n },\n descriptions,\n promotion: discount,\n upside: upsiders,\n moreInfo,\n secondaryImage: itinerary?.image,\n link,\n price: {\n value: price?.value,\n from: !!price?.from,\n market_value: price?.market_value,\n discount: price?.discount\n },\n title: summary?.title ?? '',\n subtitle: summary?.subtitle,\n rating: _rating,\n tag,\n icons,\n companies\n };\n};\n\nexport { productCardCruisesDesktopConverter };\n","const productCardFliDesktopConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { config = {}, title = '', subtitle, link = {\n href: ''\n }, imgSrc = '', imgAlt, imgAlternative, deal = false, price, priceLabel, departureContent, returnContent, tag, tooltip } = data;\n const image = {\n src: imgSrc,\n alt: imgAlt,\n alternative: imgAlternative\n };\n return {\n ...data,\n config: {\n ...config,\n soldOut: props.soldOut,\n deal,\n icon: true,\n iconName: 'plane',\n literals: {\n fromCaption: priceLabel,\n ...config.literals\n },\n typeCard: 'new',\n hasModal: true\n },\n image,\n link,\n price: {\n value: price,\n from: !!priceLabel\n },\n tag,\n tooltip,\n title,\n subtitle,\n returnContent,\n departureContent,\n descriptions: [\n ''\n ]\n };\n};\n\nexport { productCardFliDesktopConverter };\n","// https://dev.azure.com/toolfactory/Marketing/_git/alexandria-components-marketing?path=/components/product-card-hotels/index.js\nconst checkDetails = (details)=>{\n if (details.length > 200) return {\n content: `${details?.slice(0, 200)}...`\n };\n return {\n content: details\n };\n};\nconst productCardHotelsDesktopConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { title = '', subtitle = '', summary, itinerary, link = {\n href: ''\n }, image = {\n src: ''\n }, config, price, stars, star, reviews, descriptions = [], rating, icon = '' } = data;\n const ratingStars = typeof stars === 'number' ? stars : stars?.value;\n const ratingStar = typeof star === 'number' ? star : star?.value;\n const moreInfo = itinerary?.details ? [\n checkDetails(itinerary.details)\n ] : undefined;\n const _descriptions = summary?.details ? summary.details.map((x)=>x.content ?? '') : descriptions?.flatMap((x)=>x.content);\n return {\n ...data,\n config: {\n ...config,\n deal: config?.deal,\n icon: !!config?.icon || !!icon,\n iconName: config?.icon ?? icon,\n soldOut: props.soldOut,\n zone: true,\n literals: {\n fromCaption: price?.from,\n priceCaption: price?.caption,\n summary: summary?.tab_name,\n moreInfo: itinerary?.tab_name,\n excelent: reviews?.content ?? rating?.content,\n good: reviews?.content ?? rating?.content,\n veryGood: reviews?.content ?? rating?.content\n }\n },\n image,\n link,\n price: {\n value: price?.value,\n from: !!price?.from,\n caption: !!price?.caption\n },\n title: summary?.title ?? title,\n subtitle: summary?.subtitle ?? subtitle,\n rating: ratingStars ?? ratingStar,\n descriptions: _descriptions,\n moreInfo,\n reviews: reviews?.number ?? rating?.number\n };\n};\n\nexport { checkDetails, productCardHotelsDesktopConverter };\n","import { productCardCirRxjsConverter } from '../../../circuitos/product-card-cir-rxjs/converter.js';\nimport { productCardCruisesDesktopConverter } from '../../../cruises/product-card-cruises/desktop/converter.js';\nimport '@babylon/ui-kit-helpers/null';\nimport { productCardFliDesktopConverter } from '../../../marketing/product-card-fli/desktop/converter.js';\nimport '@babylon/ui-kit-cards/components/cards/product-card/utils/constants';\nimport { productCardPackagesDesktopConverter } from '../../../packages/product-card-packages/desktop/converter.js';\nimport { productCardHotelsDesktopConverter } from '../../../product-card-hotels/desktop/converter.js';\nimport _merge from 'lodash/merge';\n\nconst genericProductCardConverter = (productCard)=>{\n const { data, props, name, ...rest } = productCard;\n if (name === 'product-card-he') {\n const propsOrData = props ?? data;\n _merge(propsOrData?.config, rest);\n return propsOrData;\n }\n if (name === 'product-card-packages') return productCardPackagesDesktopConverter(productCard);\n if (name === 'product-card-hotels') return productCardHotelsDesktopConverter(productCard);\n if (name === 'product-card-cir-rxjs') return productCardCirRxjsConverter(productCard);\n if (name === 'card-product-fli') return productCardFliDesktopConverter(productCard);\n if (name === 'product-card-cruises') return productCardCruisesDesktopConverter(productCard);\n};\nconst tabGridMarketingBargainsDesktopConverter = (tabProduct)=>{\n const { title = '' } = tabProduct;\n const dataOrProps = tabProduct.props ?? tabProduct.data;\n const props = dataOrProps.props ?? dataOrProps.data ?? {};\n const lastIndex = (props?.items?.length ?? 0) - 1;\n return {\n title,\n items: props?.items?.map(genericProductCardConverter).filter((item)=>!!item),\n link: props.items?.[lastIndex].name === 'product-card-view-more' ? props.items?.[lastIndex]?.data?.link : undefined\n };\n};\nconst generateAjaxComponentData = (tabProduct)=>{\n const { ajaxComponentData } = tabProduct.props ?? tabProduct.data;\n const params = ajaxComponentData?.Arguments?.map(({ Name, Value, Key })=>({\n name: Name,\n key: Key ?? '',\n value: Value\n })) ?? [];\n return {\n title: tabProduct.title ?? '',\n params\n };\n};\nconst tabsProductCard = (tabProduct)=>{\n const props = tabProduct.props ?? tabProduct.data ?? {};\n if ('name' in props) return tabGridMarketingBargainsDesktopConverter(tabProduct);\n if ('ajaxComponentData' in props) return generateAjaxComponentData(tabProduct);\n};\nconst tabsProductCardMarketingBargainsDesktopConverter = (tabsProps)=>{\n const { tabs = [], isBlackfriday = false, literals } = tabsProps.props ?? tabsProps.data ?? {};\n const gridProductBreakpoints = {\n xxl: 5,\n xl: 4,\n lg: 3\n };\n return {\n ...tabsProps,\n props: {\n config: {\n carousel: false,\n isBlackfriday,\n gridProductBreakpoints,\n literals\n },\n items: tabs.map(tabsProductCard).filter((item)=>!!item),\n isFlat: false\n }\n };\n};\n\nexport { tabGridMarketingBargainsDesktopConverter, tabsProductCardMarketingBargainsDesktopConverter };\n","const getTabsProductsMarketingBargains = async (endpoint, body)=>{\n if (!endpoint) throw new Error('URL needed');\n if (!body) throw new Error('Body needed');\n const params = {\n method: 'POST',\n body: JSON.stringify(body),\n headers: {\n 'Content-type': 'application/json'\n }\n };\n const res = await fetch(endpoint, params);\n if (!res.ok || res.status !== 200 && res.status !== 204) throw new Error(res.statusText);\n return res.json();\n};\n\nexport { getTabsProductsMarketingBargains };\n","const TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT = '/homeshowcase/component/model';\n\nexport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT };\n","import { jsx } from 'react/jsx-runtime';\nimport TabsCarouselProductCardDesktop from '@babylon/ui-kit-common/components/others/tabs-carousel-product-card/views/desktop';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { tabsProductCardMarketingBargainsDesktopConverter, tabGridMarketingBargainsDesktopConverter } from '../../../../../helpers/marketing-bargains/tabs-grid-list/desktop/converter.js';\nimport { useContext } from 'react';\nimport { getTabsProductsMarketingBargains } from '../../service.js';\nimport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT } from '../../utils.js';\n\nconst TabsCarouselProductCardMarketingBargainsDesktop = (props)=>{\n const converter = tabsProductCardMarketingBargainsDesktopConverter(props);\n const { BaseUrl = '' } = useContext(contextBabylon);\n const getTabsProducts = async (index)=>{\n const { items = [], config = {} } = converter.props;\n const endpoint = config.endpoint ?? TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT;\n const baseUrl = endpoint.startsWith('http') ? endpoint : `${BaseUrl}${endpoint}`;\n const body = {\n Name: 'grid-list',\n BusinessAreaName: 'Home',\n Arguments: items[index].params?.map(({ name = '', key, value = '' })=>({\n Name: name,\n Key: key,\n Value: value.toString()\n }))\n };\n const props = await getTabsProductsMarketingBargains(baseUrl, body);\n return tabGridMarketingBargainsDesktopConverter({\n props\n });\n };\n return /*#__PURE__*/ jsx(TabsCarouselProductCardDesktop, {\n props: {\n ...converter.props,\n getTabsProducts\n }\n });\n};\n\nexport { TabsCarouselProductCardMarketingBargainsDesktop as default };\n","import { ICONS } from '@babylon/ui-kit-cards/components/cards/product-card/utils/constants';\n\nconst productCardFliMobileConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { title = '', link = {\n href: ''\n }, image = {\n src: ''\n }, price, isDeal = false, subtitle, descriptions = [], isBlackfriday = false } = data;\n return {\n ...data,\n config: {\n isBlackfriday,\n soldOut: props.soldOut,\n deal: isDeal,\n icon: true,\n iconName: ICONS.ICO_PLANE,\n literals: {\n fromCaption: price?.from\n }\n },\n image,\n link,\n price: {\n value: price?.value\n },\n title,\n subtitle,\n descriptions\n };\n};\n\nexport { productCardFliMobileConverter };\n","const productCardHotelsMobileConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { title = '', subtitle = '', link = {\n href: ''\n }, image = {\n src: ''\n }, price, stars, descriptions = [], rating, icon = '', isDeal, isBlackfriday } = data;\n const _descriptions = descriptions?.flatMap((x)=>x.content);\n return {\n ...data,\n config: {\n isBlackfriday,\n deal: isDeal,\n icon: !!icon,\n iconName: icon,\n zone: true,\n soldOut: props.soldOut,\n literals: {\n fromCaption: price?.from,\n priceCaption: price?.caption,\n excelent: rating?.text,\n good: rating?.text,\n veryGood: rating?.text\n }\n },\n image,\n link,\n price: {\n value: price?.value,\n from: !!price?.from,\n caption: !!price?.caption\n },\n title,\n subtitle,\n rating: stars,\n descriptions: _descriptions,\n reviews: rating?.value\n };\n};\n\nexport { productCardHotelsMobileConverter };\n","import { productCardCirRxjsConverter } from '../../../circuitos/product-card-cir-rxjs/converter.js';\nimport { productCardCruisesMobileConverter } from '../../../cruises/product-card-cruises/mobile/converter.js';\nimport { productCardFliMobileConverter } from '../../../marketing/product-card-fli/mobile/converter.js';\nimport { productCardPackagesMobileConverter } from '../../../packages/product-card-packages/mobile/converter.js';\nimport { productCardHotelsMobileConverter } from '../../../product-card-hotels/mobile/converter.js';\nimport _merge from 'lodash/merge';\n\nconst genericProductCardConverter = (productCard)=>{\n const { data, props, name, ...rest } = productCard;\n if (name === 'm-product-card-he') {\n const propsOrData = props ?? data;\n _merge(propsOrData?.config, rest);\n return propsOrData;\n }\n if (name === 'm-product-card-packages') return productCardPackagesMobileConverter(productCard);\n if (name === 'm-product-card-hotels') return productCardHotelsMobileConverter(productCard);\n if (name === 'm-product-card-cir-rxjs') return productCardCirRxjsConverter(productCard);\n if (name === 'm-product-card-fli') return productCardFliMobileConverter(productCard);\n if (name === 'm-product-card-cruises') return productCardCruisesMobileConverter(productCard);\n};\nconst tabGridMarketingBargainsMobileConverter = (tabProduct)=>{\n const { navigation, component } = tabProduct;\n const props = component?.props ?? component?.data;\n return {\n title: navigation?.content ?? '',\n items: props?.items?.map(genericProductCardConverter).filter((item)=>!!item)\n };\n};\nconst generateAjaxComponentData = ({ data, navigation })=>{\n const params = data?.Arguments?.map(({ Name, Value, Key })=>({\n name: Name,\n key: Key ?? '',\n value: Value\n })) ?? [];\n return {\n title: navigation?.content ?? '',\n params\n };\n};\nconst tabsProductCard = (props)=>{\n if ('component' in props) return tabGridMarketingBargainsMobileConverter(props);\n if ('data' in props) return generateAjaxComponentData(props);\n};\nconst tabsProductCardMarketingBargainsMobileConverter = (tabsProps)=>{\n const { items = [], isBlackfriday = false, literals } = tabsProps.props ?? tabsProps.data ?? {};\n return {\n ...tabsProps,\n props: {\n config: {\n carousel: false,\n isBlackfriday,\n literals\n },\n items: items.map(tabsProductCard).filter((item)=>!!item),\n isFlat: false\n }\n };\n};\n\nexport { tabGridMarketingBargainsMobileConverter, tabsProductCardMarketingBargainsMobileConverter };\n","import { jsx } from 'react/jsx-runtime';\nimport TabsCarouselProductCardMobile from '@babylon/ui-kit-common/components/others/tabs-carousel-product-card/views/mobile';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { tabsProductCardMarketingBargainsMobileConverter, tabGridMarketingBargainsMobileConverter } from '../../../../../helpers/marketing-bargains/tabs-grid-list/mobile/converter.js';\nimport { useContext } from 'react';\nimport { getTabsProductsMarketingBargains } from '../../service.js';\nimport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT } from '../../utils.js';\n\nconst TabsCarouselProductCardMarketingBargainsMobile = (props)=>{\n const converter = tabsProductCardMarketingBargainsMobileConverter(props);\n const { BaseUrl = '' } = useContext(contextBabylon);\n const getTabsProducts = async (index)=>{\n const { items = [], config = {} } = converter.props;\n const endpoint = config.endpoint ?? TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT;\n const baseUrl = endpoint.startsWith('http') ? endpoint : `${BaseUrl}${endpoint}`;\n const body = {\n Name: 'm-product-card-list',\n BusinessAreaName: 'Home',\n Arguments: items[index].params?.map(({ name = '', key, value = '' })=>({\n Name: name,\n Key: key,\n Value: value.toString()\n }))\n };\n // Use the same model as Marketing\n const component = await getTabsProductsMarketingBargains(baseUrl, body);\n return tabGridMarketingBargainsMobileConverter({\n component\n });\n };\n return /*#__PURE__*/ jsx(TabsCarouselProductCardMobile, {\n props: {\n ...converter.props,\n getTabsProducts\n }\n });\n};\n\nexport { TabsCarouselProductCardMarketingBargainsMobile as default };\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport TabsCarouselProductCardMarketingBargainsDesktop from './views/desktop/index.js';\nimport TabsCarouselProductCardMarketingBargainsMobile from './views/mobile/index.js';\n\nconst TabsCarouselProductCardMarketingBargains = generateViewsComponent(TabsCarouselProductCardMarketingBargainsDesktop, TabsCarouselProductCardMarketingBargainsMobile);\n\nexport { TabsCarouselProductCardMarketingBargains as default };\n","import type { ResizeProps } from '@babylon/ui-kit-base/components/multimedia/image/types';\nimport { getResizeUrl, hasDomain } from '@babylon/ui-kit-base/components/multimedia/image/utils';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { useContext } from 'react';\n\ntype ResizeImage = (src?: string, resize?: ResizeProps) => string;\n\nconst useResizeImage: ResizeImage = (src, resize) => {\n\tconst context = useContext(contextBabylon);\n\tconst mscdn = context.Cdn.startsWith('http') ? context.Cdn.substring(6) : context.Cdn;\n\n\tif (!src) return '';\n\tif (resize) return getResizeUrl(resize, mscdn, src);\n\treturn hasDomain(src, mscdn);\n};\n\nexport default useResizeImage;\n","export const DEALS_IMAGE = '/comun/images/deals/deals-label.png';\nexport const SHADOW_IMAGE = '/comun/images/deals/deals-shadow.png';\n","import Image from '@babylon/ui-kit-base/components/multimedia/image';\nimport PriceWithCurrency from '@babylon/ui-kit-base/components/text/price-with-currency';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { SectionContainer } from '@babylon/ui-kit-styles/common/mixins/section.styled';\nimport styled from 'styled-components';\n\nexport const Container = styled.div<{ bg?: string }>`\n\tbackground-image: url(${({ bg }) => bg});\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\theight: 350px;\n\toverflow: hidden;\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const Content = styled(SectionContainer)`\n\t${FlexMixin({ align: 'flex-end' })}\n\theight: 100%;\n\tmargin: 0 auto;\n\tmax-width: 1500px;\n\tpadding: 0 20px;\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const ContainerLabels = styled.div`\n\t${FlexMixin({ align: 'flex-end' })}\n\tflex-grow: 1;\n\theight: 100%;\n`;\n\nexport const ContentLabels = styled.div`\n\t${FlexMixin({ direction: 'column', justify: 'space-between' })}\n\tmin-height: 300px;\n`;\n\nexport const Title = styled.h2`\n\t${FontMixin({ weight: 'bold', height: 'xxl' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\tfont-size: 75px;\n\n\t& > span {\n\t\t${FontMixin({ size: 'largest', weight: 'medium', height: 'largest' })}\n\t\tdisplay: block;\n\t}\n`;\n\nexport const Description = styled.div`\n\t${FontMixin({ size: 'large', weight: 'bold', height: 'larger' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tmargin-bottom: 24px;\n`;\n\nexport const Promos = styled.div`\n\t${FlexMixin({ justify: 'flex-end' })}\n\tflex-grow: 0;\n\tmargin-left: auto;\n\tposition: relative;\n`;\n\nexport const PromoItem = styled.div`\n\t${FlexMixin({ direction: 'column', justify: 'flex-end', align: 'center' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tposition: relative;\n\ttext-align: center;\n\n\t&:not(nth-first-child) {\n\t\tmargin-left: -26px;\n\t}\n\n\t${({ theme }) => theme.media.down('xl')} {\n\t\t&:nth-child(3) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t${({ theme }) => theme.media.down('lg')} {\n\t\t&:nth-child(2) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n`;\n\nexport const PromoItemContent = styled.div<{ bg?: string }>`\n\t${FlexMixin({ direction: 'column', justify: 'flex-end', align: 'center' })}\n\tbackground-image: url(${({ bg }) => bg});\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\tmin-height: 180px;\n\tpadding: 53px 32px 10px;\n\twidth: 217px;\n`;\n\nexport const PromoHeader = styled.span`\n\t${FontMixin({ size: 'large', weight: 'bold', height: 'large' })}\n\ttext-transform: uppercase;\n`;\n\nexport const PromoTitle = styled.span`\n\t${FontMixin({ size: 'base', weight: 'medium', height: 'base' })}\n`;\n\nexport const PromoDescription = styled.span`\n\t${FontMixin({ size: 'medium', weight: 'regular', height: 'small' })}\n\tmargin-top: 4px;\n\tmax-width: 142px;\n`;\n\nexport const PromoPrice = styled(PriceWithCurrency)`\n\t${FontMixin({ size: 'largest', weight: 'medium', height: 'largest' })}\n`;\n\nexport const Shadow = styled(Image)`\n\tposition: absolute;\n\tbottom: -16px;\n\topacity: 0.72;\n`;\n","import InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { HeaderBannerBargainsDesktopProps } from '../../types';\nimport { DEALS_IMAGE, SHADOW_IMAGE } from '../utils';\nimport * as S from './styled';\n\nconst HeaderBannerBargains: FC = ({ props }) => {\n\tconst { image, title, subtitle, promos = [], descriptions = [], literals = [] } = props;\n\tconst backgroundUri = useResizeImage(image);\n\tconst dealUri = useResizeImage(DEALS_IMAGE);\n\tconst shadowDealUri = useResizeImage(SHADOW_IMAGE);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t{subtitle && }\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{descriptions?.map(({ content }) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{promos?.map(({ title = '', description, price, link }, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{literals[index]?.label}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default HeaderBannerBargains;\n","import Image from '@babylon/ui-kit-base/components/multimedia/image';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport PriceWithCurrency from '@babylon/ui-kit-base/components/text/price-with-currency';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nexport const Container = styled.div<{ bg?: string }>`\n\t${FlexMixin({ align: 'center', justify: 'space-between', direction: 'column' })}\n\tbackground-image: url(${({ bg }) => bg});\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tmin-height: 260px;\n\toverflow: hidden;\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const ContainerLabels = styled.div`\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\tmargin-top: 20px;\n\ttext-align: center;\n`;\n\nexport const Title = styled.h2`\n\t${FontMixin({ size: 'xl', weight: 'bold', height: 'largest' })}\n\tmargin-bottom: 16px;\n\n\t& > span {\n\t\t${FontMixin({ size: 'base', weight: 'bold', height: 'base' })}\n\t\tmargin-top: 8px;\n\t\tdisplay: block;\n\t}\n`;\n\nexport const Description = styled(InnerMarkdownHTML)`\n\t${FontMixin({ size: 'medium', weight: 'medium', height: 'base' })}\n`;\n\nexport const Promos = styled.div`\n\t${FlexMixin({ justify: 'flex-end' })}\n\tposition: relative;\n`;\n\nexport const PromoItem = styled.div`\n\t${FlexMixin({ direction: 'column', align: 'center', justify: 'flex-end' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tmargin-bottom: -12px;\n\ttext-align: center;\n\n\t&:last-of-type {\n\t\tmargin-left: -30px;\n\t}\n`;\n\nexport const PromoItemContent = styled.div<{ bg?: string }>`\n\t${FlexMixin({ direction: 'column', align: 'center', justify: 'flex-end' })}\n\tbackground-image: url(${({ bg }) => bg});\n\tbackground-position-y: -8px;\n\tbackground-size: cover;\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\tpadding-top: 38px;\n\twidth: 180px;\n`;\n\nexport const PromoTitle = styled.span`\n\t${FontMixin({ size: 'base', weight: 'medium', height: 'medium' })}\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n`;\n\nexport const PromoDescription = styled.span`\n\t${FontMixin({ size: 'small', weight: 'regular', height: 'small' })}\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\tpadding: 0 28px;\n`;\n\nexport const PromoPrice = styled(PriceWithCurrency)`\n\t${FontMixin({ size: 'large', weight: 'medium', height: 'large' })}\n\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\tmargin-bottom: 24px;\n`;\n\nexport const Shadow = styled(Image)`\n\tbottom: -18px;\n\topacity: 0.72;\n\tposition: absolute;\n`;\n","import InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { HeaderBannerBargainsMobileProps } from '../../types';\nimport { DEALS_IMAGE, SHADOW_IMAGE } from '../utils';\nimport * as S from './styled';\n\nexport const HeaderBannerBargainsMobile: FC = ({ props }) => {\n\tconst { image, title, subtitle, promos = [], description } = props;\n\tconst backgroundUri = useResizeImage(image);\n\tconst dealUri = useResizeImage(DEALS_IMAGE);\n\tconst shadowDealUri = useResizeImage(SHADOW_IMAGE);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{title}\n\t\t\t\t\t{subtitle && }\n\t\t\t\t\n\t\t\t\t{description && }\n\t\t\t\n\n\t\t\t\n\t\t\t\t{promos?.map(({ title = '', description, price, link }) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default HeaderBannerBargainsMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport HeaderBannerBargainsDesktop from './views/desktop';\nimport HeaderBannerBargainsMobile from './views/mobile';\n\nexport const HeaderBannerBargains = generateViewsComponent(HeaderBannerBargainsDesktop, HeaderBannerBargainsMobile);\n\nexport * from './types';\nexport default HeaderBannerBargains;\n","import { useState, useEffect } from 'react';\n\nconst SECOND = 1_000;\nconst MINUTE = SECOND * 60;\nconst HOUR = MINUTE * 60;\nconst DAY = HOUR * 24;\nconst useCountdown = (targetDate, currentDate = new Date().getTime())=>{\n const [countdown, setCountdown] = useState(targetDate - currentDate);\n const getTimerValues = ()=>{\n const days = Math.floor(countdown / DAY);\n const hours = Math.floor(countdown % DAY / HOUR);\n const minutes = Math.floor(countdown % HOUR / MINUTE);\n const seconds = Math.floor(countdown % MINUTE / SECOND);\n return {\n days,\n hours,\n minutes,\n seconds\n };\n };\n useEffect(()=>{\n const interval = setInterval(()=>setCountdown((prev)=>{\n const newTimer = prev - SECOND;\n if (newTimer <= 0) {\n clearInterval(interval);\n }\n return prev - SECOND;\n }), SECOND);\n return ()=>clearInterval(interval);\n }, []);\n return getTimerValues();\n};\n\nexport { useCountdown as default };\n","import { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nexport const Container = styled.div<{ bg?: string }>`\n\tbackground-image: url(${({ bg }) => bg});\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\theight: 350px;\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const CountDown = styled.div`\n\t${FlexMixin({ justify: 'center' })}\n\tbackground-color: ${({ theme }) => theme.colors.black.base};\n\tborder: 4px solid ${({ theme }) => theme.colors.secondary.base};\n\tbottom: -10px;\n\tmin-width: 340px;\n\tpadding: 10px 16px 16px;\n\tposition: absolute;\n\tright: calc(50% - 170px);\n\tz-index: ${({ theme }) => theme.zIndex.lowest};\n\n\t&:before {\n\t\tbackground-color: ${({ theme }) => theme.colors.black.base};\n\t\tcontent: '';\n\t\theight: 3px;\n\t\tposition: absolute;\n\t\ttop: 37px;\n\t\twidth: 100%;\n\t}\n\n\t& > div {\n\t\t${FlexMixin({ direction: 'column', align: 'center' })}\n\n\t\t&:not(:last-child) {\n\t\t\tmargin-right: 16px;\n\t\t}\n\t}\n`;\n\nexport const CountDownNumber = styled.span`\n\t${FontMixin({ size: 'xl', weight: 'medium', height: 'xl' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n`;\n\nexport const CountDownLabel = styled.span`\n\t${FontMixin({ size: 'small', weight: 'medium', height: 'smaller' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\ttext-transform: uppercase;\n`;\n","import useCountdown from '@babylon/ui-kit-hooks/useCountdown';\nimport type { FC } from 'react';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { HeaderBannerBlackFridayProps } from '../../types';\nimport * as S from './styled';\n\nconst HeaderBannerBlackFriday: FC = ({ props }) => {\n\tconst { src, config } = props;\n\tconst date = Number(config?.date);\n\tconst currentDate = Number(config?.currentDate);\n\n\tconst backgroundUri = useResizeImage(src);\n\tconst { days, hours, minutes, seconds } = useCountdown(date, currentDate);\n\n\tconst timer = [\n\t\t{\n\t\t\tlabel: config?.literals?.days,\n\t\t\tvalue: days,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.hours,\n\t\t\tvalue: hours,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.minutes,\n\t\t\tvalue: minutes,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.seconds,\n\t\t\tvalue: seconds,\n\t\t},\n\t];\n\n\treturn (\n\t\t\n\t\t\t{config && (\n\t\t\t\t\n\t\t\t\t\t{timer.map(({ label, value }) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t
\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default HeaderBannerBlackFriday;\n","export const parseRootProps = (\n\tprops: P,\n\tcomponentsNames: Record\n): CM => {\n\tconst componentsMap: Partial = {};\n\n\tObject.entries(props).forEach(([propsKey, propsValue]) => {\n\t\tif (!propsValue) return;\n\n\t\tconst { name } = propsValue;\n\n\t\tconst key = componentsNames[name];\n\t\tif (key) componentsMap[key as keyof CM] = propsValue;\n\t\telse if (typeof propsValue === 'object') componentsMap[propsKey as keyof CM] = propsValue;\n\t});\n\n\treturn componentsMap as CM;\n};\n","import { TextHtmlCollapseWrapper } from '@babylon/ui-kit-common/components/others/text-html-collapse/views/desktop/styled';\nimport Section from '@babylon/ui-kit-structures/components/others/section';\nimport { SectionContainer } from '@babylon/ui-kit-styles/common/mixins/section.styled';\nimport styled from 'styled-components';\n\nexport const MainContainer = styled.main``;\n\nexport const Breadcrumbs = styled(SectionContainer)`\n\tmargin-bottom: 40px;\n`;\n\nexport const TabsGridList = styled(SectionContainer)`\n\tmargin-bottom: 40px;\n\tpadding: 0 20px;\n`;\n\nexport const TextHtml = styled(SectionContainer)`\n\t${TextHtmlCollapseWrapper} {\n\t\tpadding: 20px;\n\t}\n`;\n\nexport const Blog = styled(Section)`\n\tmargin-bottom: 40px;\n`;\n\nexport const CarouselCardSimple = styled(SectionContainer)`\n\tmargin-bottom: 40px;\n`;\n","import Breadcrumbs from '@babylon/ui-kit-common/components/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@babylon/ui-kit-common/components/others/breadcrumbs/types';\nimport ScrollToTop from '@babylon/ui-kit-common/components/others/scroll-to-top';\nimport TextHtmlCollapseDesktop from '@babylon/ui-kit-common/components/others/text-html-collapse';\nimport type { TextHtmlCollapseProps } from '@babylon/ui-kit-common/components/others/text-html-collapse/types';\nimport withHydrationOnDemand from '@babylon/ui-kit-hocs/hydration-on-demand/withHydrationOnDemand';\nimport TabsCarouselProductCardMarketingBargains from '@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card';\nimport BlogMarketing from '@babylon/ui-kit-wrappers/components/marketing/blog';\nimport CarouselCardSimpleMarketing from '@babylon/ui-kit-wrappers/components/marketing/carousel-card-simple';\nimport HeaderBannerSimpleMarketing from '@babylon/ui-kit-wrappers/components/marketing/header-banner-simple';\nimport TextBlockMarketing from '@babylon/ui-kit-wrappers/components/marketing/textBlock';\nimport type { TabsGridListMarketingBargainsProps } from '@babylon/ui-kit-wrappers/helpers/marketing-bargains/tabs-grid-list/types';\nimport type { BlogMarketingDesktopProps } from '@babylon/ui-kit-wrappers/helpers/marketing/blog/desktop/types';\nimport type { CarouselCardSimpleMarketingProps } from '@babylon/ui-kit-wrappers/helpers/marketing/carousel-card-simple/types';\nimport type { HeaderBannerSimpleMarketingProps } from '@babylon/ui-kit-wrappers/helpers/marketing/header-banner-simple/types';\nimport type { TextBlockMarketingProps } from '@babylon/ui-kit-wrappers/helpers/marketing/text-block/types';\nimport _merge from 'lodash/merge';\nimport type { FC } from 'react';\n\nimport type { HeaderBannerBargainsProps } from '@/components/header-banner-bargains';\nimport HeaderBannerBargains from '@/components/header-banner-bargains';\nimport type { HeaderBannerBlackFridayProps } from '@/components/header-banner-blackfriday';\nimport HeaderBannerBlackFriday from '@/components/header-banner-blackfriday/views/desktop';\n\nimport { parseRootProps } from '../../../../utils/render/parse';\nimport * as S from './styled';\nimport type { ComponentDesktopMap, MainBargainsDesktopProps } from './types';\n\nconst BreadcrumbsHydration = withHydrationOnDemand()(Breadcrumbs);\nconst TabsCarouselProductCardHydration = withHydrationOnDemand()(\n\tTabsCarouselProductCardMarketingBargains\n);\nconst TextBlockHydration = withHydrationOnDemand()(TextHtmlCollapseDesktop);\nconst HeaderBannerBargainsHydration = withHydrationOnDemand()(HeaderBannerBargains);\nconst HeaderBannerBlackfridayHydration = withHydrationOnDemand()(HeaderBannerBlackFriday);\nconst BlogHydration = withHydrationOnDemand()(BlogMarketing);\nconst CarouselCardSimpleHydration =\n\twithHydrationOnDemand()(CarouselCardSimpleMarketing);\nconst HeaderBannerHydration = withHydrationOnDemand()(HeaderBannerSimpleMarketing);\nconst TextBlockBlackFridayHydration = withHydrationOnDemand()(TextBlockMarketing);\n\nexport const MainBargainsDesktop: FC = ({ props }) => {\n\tconst {\n\t\tblog,\n\t\tbreadcrumbs,\n\t\ttabsGridList,\n\t\tcarouselCardSimple,\n\t\ttextHtml,\n\t\theaderBannerBargains,\n\t\theaderBannerBlackfriday,\n\t\theaderBanner,\n\t} = parseRootProps(props, {\n\t\t'blog-feed': 'blog',\n\t\tblog: 'blog',\n\t\t'tabs-grid-list': 'tabsGridList',\n\t\tbreadcrumbs: 'breadcrumbs',\n\t\t'carousel-card-simple': 'carouselCardSimple',\n\t\t'header-banner-bargains': 'headerBannerBargains',\n\t\t'text-html': 'textHtml',\n\t\theaderBanner: 'headerBanner',\n\t});\n\n\tconst promos = tabsGridList?.props?.promos ?? [];\n\t_merge(headerBannerBargains, { props: { promos } });\n\t_merge(tabsGridList, { props: { isBlackfriday: !!headerBannerBlackfriday?.props } });\n\n\treturn (\n\t\t\n\t\t\t{headerBanner?.props && }\n\t\t\t{headerBannerBargains?.props && }\n\t\t\t{headerBannerBlackfriday?.props && }\n\t\t\t{breadcrumbs?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{tabsGridList?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{textHtml && !headerBannerBlackfriday && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{textHtml?.props && headerBannerBlackfriday && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{blog?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{carouselCardSimple?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default MainBargainsDesktop;\n","import { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nexport const ContainerMobile = styled.div<{ bg?: string }>`\n\tbackground-color: ${({ theme }) => theme.colors.black.base};\n\tbackground-image: url(${({ bg }) => bg});\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\theight: 220px;\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const CountDownMobile = styled.div`\n\t${FlexMixin({ justify: 'center' })}\n\tbackground-color: ${({ theme }) => theme.colors.black.base};\n\tborder: 4px solid ${({ theme }) => theme.colors.secondary.base};\n\tbottom: -24px;\n\tbox-shadow: 0 0 8px ${({ theme }) => theme.colors.secondary.base};\n\tmin-width: 296px;\n\tpadding: 8px 16px 12px;\n\tposition: absolute;\n\tright: calc(50% - 296px / 2);\n\tz-index: ${({ theme }) => theme.zIndex.lowest};\n\n\t&:before {\n\t\tbackground-color: ${({ theme }) => theme.colors.black.base};\n\t\tcontent: '';\n\t\theight: 3px;\n\t\tposition: absolute;\n\t\ttop: 26px;\n\t\twidth: 100%;\n\t}\n\n\t& > div {\n\t\t${FlexMixin({ direction: 'column', align: 'center' })}\n\n\t\t&:not(:last-child) {\n\t\t\tmargin-right: 16px;\n\t\t}\n\t}\n`;\n\nexport const CountDownNumberMobile = styled.span`\n\t${FontMixin({ size: 'largest', weight: 'medium', height: 'largest' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n`;\n\nexport const CountDownLabelMobile = styled.span`\n\t${FontMixin({ size: 'small', weight: 'medium', height: 'small' })}\n\tcolor: ${({ theme }) => theme.colors.white.base};\n\ttext-transform: uppercase;\n`;\n","import useCountdown from '@babylon/ui-kit-hooks/useCountdown';\nimport type { FC } from 'react';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { HeaderBannerBlackFridayProps } from '../../types';\nimport * as S from './styled';\n\nexport const HeaderBannerBlackFridayMobile: FC = ({ props }) => {\n\tconst { src, config } = props;\n\tconst date = Number(config?.date);\n\tconst currentDate = Number(config?.currentDate);\n\n\tconst backgroundUri = useResizeImage(src);\n\tconst { days, hours, minutes, seconds } = useCountdown(date, currentDate);\n\n\tconst timer = [\n\t\t{\n\t\t\tlabel: config?.literals?.days,\n\t\t\tvalue: days,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.hours,\n\t\t\tvalue: hours,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.minutes,\n\t\t\tvalue: minutes,\n\t\t},\n\t\t{\n\t\t\tlabel: config?.literals?.seconds,\n\t\t\tvalue: seconds,\n\t\t},\n\t];\n\n\treturn (\n\t\t\n\t\t\t{config && (\n\t\t\t\t\n\t\t\t\t\t{timer.map(({ label, value }) => (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t
\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default HeaderBannerBlackFridayMobile;\n","import styled from 'styled-components';\n\nexport const Main = styled.main`\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n`;\n\nexport const HeaderBannerBargains = styled.section``;\n\nexport const HeaderBannerBlackfriday = styled.section`\n\tmargin-bottom: 25px;\n`;\n\nexport const Breadcrumbs = styled.section`\n\tmargin-bottom: 20px;\n`;\n\nexport const TabsCarouselProductCard = styled.section`\n\tmargin-bottom: 20px;\n`;\n\nexport const TextBlock = styled.section`\n\tmargin-bottom: 20px;\n`;\n\nexport const Blog = styled.section`\n\tmargin-bottom: 20px;\n`;\n","import Breadcrumbs from '@babylon/ui-kit-common/components/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@babylon/ui-kit-common/components/others/breadcrumbs/types';\nimport withHydrationOnDemand from '@babylon/ui-kit-hocs/hydration-on-demand/withHydrationOnDemand';\nimport CardsScroll from '@babylon/ui-kit-structures/components/others/cards-scroll';\nimport type { CardsScrollProps } from '@babylon/ui-kit-structures/components/others/cards-scroll/types';\nimport TabsCarouselProductCardMarketingBargains from '@babylon/ui-kit-wrappers/components/marketing-bargains/tabs-carousel-product-card';\nimport BlogMarketing from '@babylon/ui-kit-wrappers/components/marketing/blog';\nimport HeaderBannerSimpleMarketing from '@babylon/ui-kit-wrappers/components/marketing/header-banner-simple';\nimport TextBlockMarketing from '@babylon/ui-kit-wrappers/components/marketing/textBlock';\nimport type { TabsGridListMarketingBargainsProps } from '@babylon/ui-kit-wrappers/helpers/marketing-bargains/tabs-grid-list/types';\nimport type { BlogMarketingMobileProps } from '@babylon/ui-kit-wrappers/helpers/marketing/blog/mobile/types';\nimport type { HeaderBannerSimpleMarketingProps } from '@babylon/ui-kit-wrappers/helpers/marketing/header-banner-simple/types';\nimport type { TextBlockMarketingProps } from '@babylon/ui-kit-wrappers/helpers/marketing/text-block/types';\nimport _merge from 'lodash/merge';\nimport type { FC } from 'react';\n\nimport type { HeaderBannerBargainsProps } from '@/components/header-banner-bargains';\nimport HeaderBannerBargains from '@/components/header-banner-bargains';\nimport type { HeaderBannerBlackFridayProps } from '@/components/header-banner-blackfriday';\nimport HeaderBannerBlackFridayMobile from '@/components/header-banner-blackfriday/views/mobile';\n\nimport { parseRootProps } from '../../../../utils/render/parse';\nimport * as S from './styled';\nimport type { ComponentMobileMap, MainBargainsMobileProps } from './types';\n\nconst BreadcrumbsHydration = withHydrationOnDemand()(Breadcrumbs);\nconst TextBlockHydration = withHydrationOnDemand()(TextBlockMarketing);\nconst HeaderBannerBargainsHydration = withHydrationOnDemand()(HeaderBannerBargains);\nconst HeaderBannerBlackfridayHydration =\n\twithHydrationOnDemand()(HeaderBannerBlackFridayMobile);\nconst TabsCarouselProductCardHydration = withHydrationOnDemand()(\n\tTabsCarouselProductCardMarketingBargains\n);\nconst BlogHydration = withHydrationOnDemand()(BlogMarketing);\nconst CardsScrollHydration = withHydrationOnDemand()(CardsScroll);\nconst HeaderBannerHydration = withHydrationOnDemand()(HeaderBannerSimpleMarketing);\n\nexport const MainBargainsMobile: FC = ({ props }) => {\n\tconst {\n\t\tmTextScroll,\n\t\tmTabsCampaign,\n\t\tmBlog,\n\t\tmBreadcrumbs,\n\t\tmHeaderBannerBargains,\n\t\tmHeaderBannerBlackfriday,\n\t\tmDestinations,\n\t\tmHeaderBanner,\n\t} = parseRootProps(props, {\n\t\t'm-blog': 'mBlog',\n\t\t'm-breadcrumbs': 'mBreadcrumbs',\n\t\t'm-tabs-campaign': 'mTabsCampaign',\n\t\t'm-destinations': 'mDestinations',\n\t\t'm-headerbanner-bargains': 'mHeaderBannerBargains',\n\t\t'm-text-scroll': 'mTextScroll',\n\t\t'm-header-banner': 'mHeaderBanner',\n\t});\n\n\tconst promos = mTabsCampaign?.props?.promos ?? [];\n\t_merge(mHeaderBannerBargains, { props: { promos } });\n\t_merge(mBreadcrumbs, { props: { config: { isHome: false } } });\n\t_merge(mTabsCampaign, { props: { isBlackfriday: !!mHeaderBannerBlackfriday?.props } });\n\t_merge(mTextScroll, { props: { verticalScroll: !mHeaderBannerBlackfriday?.props } });\n\n\treturn (\n\t\t\n\t\t\t{mHeaderBanner?.props && }\n\n\t\t\t{mHeaderBannerBargains?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mHeaderBannerBlackfriday?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mBreadcrumbs?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mTabsCampaign?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mTextScroll?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mBlog?.props && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mDestinations?.props && }\n\t\t\n\t);\n};\n\nexport default MainBargainsMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport MainBargainsDesktop from './views/desktop';\nimport MainBargainsMobile from './views/mobile';\n\nexport const MainBargains = generateViewsComponent(MainBargainsDesktop, MainBargainsMobile);\n\nexport * from './types';\nexport default MainBargains;\n","import { DEVICES } from '@babylon/ui-kit-context/types';\nimport type { BaseTemplateLogitravelProps } from '@babylon/ui-kit-layout/components/logitravel/base-template/types';\n\nimport type { MainBargainsDesktopProps, MainBargainsMobileProps } from '@/pages/bargains';\n\nimport type { AppProps } from '.';\n\nexport const transformProps = ({ root, context }: AppProps) => {\n\tconst isMobile = context.DeviceClass === DEVICES.mobile;\n\n\tif (isMobile) {\n\t\tconst typedRoot = root as MainBargainsMobileProps;\n\n\t\tconst templateProps: BaseTemplateLogitravelProps = {\n\t\t\tcontext,\n\t\t\tmHeader: typedRoot.props.header,\n\t\t\tmFooter: typedRoot.props.footer,\n\t\t};\n\n\t\treturn { templateProps, mainCampaignsProps: typedRoot };\n\t}\n\n\tconst typedRoot = root as MainBargainsDesktopProps;\n\tconst { header, footer } = typedRoot.props;\n\tconst templateProps: BaseTemplateLogitravelProps = { context, header, footer };\n\n\treturn { templateProps, mainCampaignsProps: typedRoot };\n};\n","import type { ContextBabylonProps } from '@babylon/ui-kit-context/types';\nimport BaseTemplateLogitravel from '@babylon/ui-kit-layout/components/logitravel/base-template';\nimport type { FC } from 'react';\n\nimport type { MainBargainsDesktopProps, MainBargainsMobileProps } from '@/pages/bargains';\nimport MainBargains from '@/pages/bargains';\nimport { renderPages } from '@/utils/render';\n\nimport { transformProps } from './utils';\n\nexport interface AppProps {\n\troot: MainBargainsDesktopProps | MainBargainsMobileProps;\n\tcontext: ContextBabylonProps;\n}\n\nexport const App: FC = props => {\n\tconst { templateProps, mainCampaignsProps } = transformProps(props);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const render = renderPages(App);\n"],"names":["TextHtmlCollapse","generateViewsComponent","TextHtmlCollapseDesktop","productCardCruisesDesktopConverter","props","data","summary","discount","itinerary","link","config","price","rating","tag","icons","logo","descriptions","_a","content","prominent","upsiders","_b","moreInfo","_c","companies","_rating","fromCaption","productCardFliDesktopConverter","title","subtitle","imgSrc","imgAlt","imgAlternative","deal","priceLabel","departureContent","returnContent","tooltip","image","checkDetails","details","productCardHotelsDesktopConverter","stars","star","reviews","icon","ratingStars","ratingStar","_descriptions","x","genericProductCardConverter","productCard","name","rest","propsOrData","_merge","productCardPackagesDesktopConverter","productCardCirRxjsConverter","tabGridMarketingBargainsDesktopConverter","tabProduct","dataOrProps","lastIndex","item","_f","_e","_d","generateAjaxComponentData","ajaxComponentData","params","Name","Value","Key","tabsProductCard","tabsProductCardMarketingBargainsDesktopConverter","tabsProps","tabs","isBlackfriday","literals","getTabsProductsMarketingBargains","endpoint","body","res","TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT","TabsCarouselProductCardMarketingBargainsDesktop","converter","BaseUrl","useContext","contextBabylon","getTabsProducts","index","items","baseUrl","key","value","jsx","TabsCarouselProductCardDesktop","productCardFliMobileConverter","isDeal","ICONS","productCardHotelsMobileConverter","productCardPackagesMobileConverter","productCardCruisesMobileConverter","tabGridMarketingBargainsMobileConverter","navigation","component","tabsProductCardMarketingBargainsMobileConverter","TabsCarouselProductCardMarketingBargainsMobile","TabsCarouselProductCardMobile","TabsCarouselProductCardMarketingBargains","useResizeImage","src","resize","context","mscdn","hasDomain","DEALS_IMAGE","SHADOW_IMAGE","Container","styled","bg","Content","SectionContainer","FlexMixin","ContainerLabels","ContentLabels","Title","FontMixin","theme","Description","Promos","PromoItem","PromoItemContent","PromoHeader","PromoTitle","PromoDescription","PromoPrice","PriceWithCurrency","Shadow","Image","HeaderBannerBargains","promos","backgroundUri","dealUri","shadowDealUri","S.Container","jsxs","S.Content","S.ContainerLabels","S.ContentLabels","S.Title","InnerMarkdownHTML","S.Description","genKey","S.Promos","description","S.PromoItem","S.PromoItemContent","S.PromoHeader","S.PromoTitle","S.PromoDescription","S.PromoPrice","S.Shadow","HeaderBannerBargainsMobile","HeaderBannerBargainsDesktop","SECOND","MINUTE","HOUR","DAY","useCountdown","targetDate","currentDate","countdown","setCountdown","useState","getTimerValues","days","hours","minutes","seconds","useEffect","interval","prev","CountDown","CountDownNumber","CountDownLabel","HeaderBannerBlackFriday","date","timer","S.CountDown","label","S.CountDownNumber","S.CountDownLabel","parseRootProps","componentsNames","componentsMap","propsKey","propsValue","MainContainer","Breadcrumbs","TabsGridList","TextHtml","TextHtmlCollapseWrapper","Blog","Section","CarouselCardSimple","BreadcrumbsHydration","withHydrationOnDemand","TabsCarouselProductCardHydration","TextBlockHydration","HeaderBannerBargainsHydration","HeaderBannerBlackfridayHydration","BlogHydration","BlogMarketing","CarouselCardSimpleHydration","CarouselCardSimpleMarketing","HeaderBannerHydration","HeaderBannerSimpleMarketing","TextBlockBlackFridayHydration","TextBlockMarketing","MainBargainsDesktop","blog","breadcrumbs","tabsGridList","carouselCardSimple","textHtml","headerBannerBargains","headerBannerBlackfriday","headerBanner","S.MainContainer","S.Breadcrumbs","S.TabsGridList","S.TextHtml","S.Blog","S.CarouselCardSimple","ScrollToTop","ContainerMobile","CountDownMobile","CountDownNumberMobile","CountDownLabelMobile","HeaderBannerBlackFridayMobile","S.ContainerMobile","S.CountDownMobile","S.CountDownNumberMobile","S.CountDownLabelMobile","Main","HeaderBannerBlackfriday","TabsCarouselProductCard","TextBlock","CardsScrollHydration","CardsScroll","MainBargainsMobile","mTextScroll","mTabsCampaign","mBlog","mBreadcrumbs","mHeaderBannerBargains","mHeaderBannerBlackfriday","mDestinations","mHeaderBanner","S.Main","S.HeaderBannerBargains","S.HeaderBannerBlackfriday","S.TabsCarouselProductCard","S.TextBlock","MainBargains","transformProps","root","DEVICES","typedRoot","header","footer","App","templateProps","mainCampaignsProps","BaseTemplateLogitravel","renderPages"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,20]}