{"version":3,"file":"bargains.1ba1da15.js","sources":["../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/cruises/product-card-cruises/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/marketing/product-card-fli/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/marketing/product-card-fli/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/product-card-hotels/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/product-card-hotels/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/marketing-bargains/tabs-grid-list/desktop/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/components/wrappers/marketing-bargains/tabs-carousel-product-card/service.js","../../../../../../../node_modules/@babylon/ui-kit/dist/components/wrappers/marketing-bargains/tabs-carousel-product-card/utils.js","../../../../../../../node_modules/@babylon/ui-kit/dist/components/wrappers/marketing-bargains/tabs-carousel-product-card/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit/dist/helpers/wrappers/marketing-bargains/tabs-grid-list/mobile/converter.js","../../../../../../../node_modules/@babylon/ui-kit/dist/components/wrappers/marketing-bargains/tabs-carousel-product-card/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit/dist/components/wrappers/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/dist/hooks/useCountdown.js","../../../../../../../src/components/header-banner-blackfriday/views/desktop/styled.ts","../../../../../../../src/components/header-banner-blackfriday/views/desktop/index.tsx","../../../../../../../src/pages/bargains/views/desktop/styled.ts","../../../../../../../src/pages/bargains/views/desktop/util.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/util.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":["export const productCardCruisesDesktopConverter = (props)=>{\n const data = props.props ?? props.data ?? {};\n const { summary , itinerary , link ={\n href: ''\n } , config , price , rating , tag , icons =[] , logo } = data;\n const _icons = icons.map(({ icon ='' })=>({\n icon\n }));\n const descriptions = summary?.details?.flatMap(({ content ='' })=>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 }\n },\n image: summary?.image ?? {\n src: ''\n },\n descriptions,\n moreInfo,\n secondaryImage: itinerary?.image,\n link,\n price: {\n value: price?.value,\n from: !!price?.from\n },\n title: summary?.title ?? '',\n subtitle: summary?.subtitle,\n rating: _rating,\n tag,\n icons: _icons,\n companies\n };\n};\n\n//# sourceMappingURL=converter.js.map","export 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\n//# sourceMappingURL=converter.js.map","import { ICONS } from \"../../../../../components/common/cards/product-card/utils/constants.js\";\nexport const 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\n//# sourceMappingURL=converter.js.map","// https://dev.azure.com/toolfactory/Marketing/_git/alexandria-components-marketing?path=/components/product-card-hotels/index.js\nexport const checkDetails = (details)=>{\n if (details.length > 200) return {\n content: `${details?.slice(0, 200)}...`\n };\n return {\n content: details\n };\n};\nexport const 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\n//# sourceMappingURL=converter.js.map","export 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\n//# sourceMappingURL=converter.js.map","import _merge from \"lodash/merge\";\nimport { productCardCirRxjsConverter } from \"../../../circuitos/product-card-cir-rxjs/converter.js\";\nimport { productCardCruisesDesktopConverter } from \"../../../cruises/product-card-cruises/index.js\";\nimport { productCardFliDesktopConverter } from \"../../../marketing/product-card-fli/index.js\";\nimport { productCardPackagesDesktopConverter } from \"../../../packages/product-card-packages/desktop/converter.js\";\nimport { productCardHotelsDesktopConverter } from \"../../../product-card-hotels/index.js\";\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};\nexport const 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};\nexport const tabsProductCardMarketingBargainsDesktopConverter = (tabsProps)=>{\n const { tabs =[] , isBlackfriday =false } = 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 },\n items: tabs.map(tabsProductCard).filter((item)=>!!item),\n isFlat: false\n }\n };\n};\n\n//# sourceMappingURL=converter.js.map","export 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\n//# sourceMappingURL=service.js.map","export const TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT = '/homeshowcase/component/model';\n\n//# sourceMappingURL=utils.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useContext } from \"react\";\nimport TabsCarouselProductCardDesktop from \"../../../../../common/others/tabs-carousel-product-card/views/desktop/index.js\";\nimport contextBabylon from \"../../../../../../context/index.js\";\nimport { tabGridMarketingBargainsDesktopConverter, tabsProductCardMarketingBargainsDesktopConverter } from \"../../../../../../helpers/wrappers/marketing-bargains/tabs-grid-list/desktop/converter.js\";\nimport { getTabsProductsMarketingBargains } from \"../../service.js\";\nimport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT } from \"../../utils.js\";\nexport const 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};\nexport default TabsCarouselProductCardMarketingBargainsDesktop;\n\n//# sourceMappingURL=index.js.map","import _merge from \"lodash/merge\";\nimport { productCardCirRxjsConverter } from \"../../../circuitos/product-card-cir-rxjs/converter.js\";\nimport { productCardCruisesMobileConverter } from \"../../../cruises/product-card-cruises/index.js\";\nimport { productCardFliMobileConverter } from \"../../../marketing/product-card-fli/index.js\";\nimport { productCardPackagesMobileConverter } from \"../../../packages/product-card-packages/mobile/converter.js\";\nimport { productCardHotelsMobileConverter } from \"../../../product-card-hotels/index.js\";\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};\nexport const 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};\nexport const tabsProductCardMarketingBargainsMobileConverter = (tabsProps)=>{\n const { items =[] , isBlackfriday =false } = tabsProps.props ?? tabsProps.data ?? {};\n return {\n ...tabsProps,\n props: {\n config: {\n carousel: false,\n isBlackfriday\n },\n items: items.map(tabsProductCard).filter((item)=>!!item),\n isFlat: false\n }\n };\n};\n\n//# sourceMappingURL=converter.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useContext } from \"react\";\nimport TabsCarouselProductCardMobile from \"../../../../../common/others/tabs-carousel-product-card/views/mobile/index.js\";\nimport contextBabylon from \"../../../../../../context/index.js\";\nimport { tabGridMarketingBargainsMobileConverter, tabsProductCardMarketingBargainsMobileConverter } from \"../../../../../../helpers/wrappers/marketing-bargains/tabs-grid-list/mobile/converter.js\";\nimport { getTabsProductsMarketingBargains } from \"../../service.js\";\nimport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT } from \"../../utils.js\";\nexport const 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};\nexport default TabsCarouselProductCardMarketingBargainsMobile;\n\n//# sourceMappingURL=index.js.map","import { generateViewsComponent } from \"../../../../helpers/views.js\";\nimport TabsCarouselProductCardMarketingBargainsDesktop from \"./views/desktop/index.js\";\nimport TabsCarouselProductCardMarketingBargainsMobile from \"./views/mobile/index.js\";\nexport const TabsCarouselProductCardMarketingBargains = generateViewsComponent(TabsCarouselProductCardMarketingBargainsDesktop, TabsCarouselProductCardMarketingBargainsMobile);\nexport default TabsCarouselProductCardMarketingBargains;\n\n//# sourceMappingURL=index.js.map","import type { ResizeProps } from '@ui-kit/components/base/multimedia/image/types';\nimport { getResizeUrl, hasDomain } from '@ui-kit/components/base/multimedia/image/utils';\nimport contextBabylon from '@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 '@ui-kit/components/base/multimedia/image';\nimport { PriceWithCurrency } from '@ui-kit/components/base/text/price-with-currency';\nimport { FlexMixin, FontMixin } from '@ui-kit/styles/common/mixins/helpers.styled';\nimport { SectionContainer } from '@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 '@ui-kit/components/base/text/inner-markdown-HTML';\nimport { genKey } from '@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 '@ui-kit/components/base/multimedia/image';\nimport { InnerMarkdownHTML } from '@ui-kit/components/base/text/inner-markdown-HTML';\nimport { PriceWithCurrency } from '@ui-kit/components/base/text/price-with-currency';\nimport { FlexMixin, FontMixin } from '@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 '@ui-kit/components/base/text/inner-markdown-HTML';\nimport { genKey } from '@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 '@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 { useEffect, useState } from \"react\";\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)=>prev - SECOND), SECOND);\n return ()=>clearInterval(interval);\n }, []);\n return getTimerValues();\n};\nexport default useCountdown;\n\n//# sourceMappingURL=useCountdown.js.map","import { FlexMixin, FontMixin } from '@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 '@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","import { Section } from '@ui-kit/components/structures/others/section/';\nimport { SectionContainer } from '@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(Section)`\n\tbackground-color: ${({ theme }) => theme.colors.grays.lighter};\n\tmargin-bottom: 40px;\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 type { ComponentDesktopKeyMap, ComponentDesktopMap, MainBargainsDesktopProps } from './types';\n\nexport const parseRootDesktopProps = (props: MainBargainsDesktopProps['props']): ComponentDesktopMap => {\n\tconst returnValue: ComponentDesktopMap = {};\n\n\tconst componentsNames: Record = {\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};\n\n\tObject.entries(props).forEach(([propsKey, propsValue]) => {\n\t\tif (!propsValue) return;\n\n\t\tconst { name } = propsValue;\n\t\tconst key = componentsNames[name];\n\t\tif (key) returnValue[key] = propsValue;\n\t\telse if (typeof propsValue === 'object') returnValue[propsKey as ComponentDesktopKeyMap] = propsValue;\n\t});\n\n\treturn returnValue;\n};\n","import { Breadcrumbs } from '@ui-kit/components/common/others/breadcrumbs/';\nimport type { BreadcrumbsProps } from '@ui-kit/components/common/others/breadcrumbs/types';\nimport { ScrollToTop } from '@ui-kit/components/common/others/scroll-to-top/';\nimport { TabsCarouselProductCardMarketingBargains } from '@ui-kit/components/wrappers/marketing-bargains/tabs-carousel-product-card';\nimport { BlogMarketing } from '@ui-kit/components/wrappers/marketing/blog';\nimport { CarouselCardSimpleMarketing } from '@ui-kit/components/wrappers/marketing/carousel-card-simple';\nimport { TextBlockMarketing } from '@ui-kit/components/wrappers/marketing/textBlock';\nimport type { TabsGridListMarketingBargainsProps } from '@ui-kit/helpers/wrappers/marketing-bargains/tabs-grid-list/types';\nimport type { BlogMarketingDesktopProps } from '@ui-kit/helpers/wrappers/marketing/blog/desktop/types';\nimport type { CarouselCardSimpleMarketingProps } from '@ui-kit/helpers/wrappers/marketing/carousel-card-simple/types';\nimport type { TextBlockMarketingProps } from '@ui-kit/helpers/wrappers/marketing/text-block/types';\nimport withHydrationOnDemand from '@ui-kit/hocs/hydration-on-demand/withHydrationOnDemand';\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 * as S from './styled';\nimport type { MainBargainsDesktopProps } from './types';\nimport { parseRootDesktopProps } from './util';\n\nconst BreadcrumbsHydration = withHydrationOnDemand()(Breadcrumbs);\nconst TabsCarouselProductCardHydration = withHydrationOnDemand()(\n\tTabsCarouselProductCardMarketingBargains\n);\nconst TextBlockHydration = withHydrationOnDemand()(TextBlockMarketing);\nconst HeaderBannerBargainsHydration = withHydrationOnDemand()(HeaderBannerBargains);\nconst HeaderBannerBlackfridayHydration = withHydrationOnDemand()(HeaderBannerBlackFriday);\nconst BlogHydration = withHydrationOnDemand()(BlogMarketing);\nconst CarouselCardSimpleHydration =\n\twithHydrationOnDemand()(CarouselCardSimpleMarketing);\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} = parseRootDesktopProps(props);\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{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?.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{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 '@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 '@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 type { ComponentMobileKeyMap, ComponentMobileMap, MainBargainsMobileProps } from './types';\n\nexport const parseRootMobileProps = (props: MainBargainsMobileProps['props']): ComponentMobileMap => {\n\tconst returnValue: ComponentMobileMap = {};\n\n\tconst componentsNames: Record = {\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};\n\n\tObject.entries(props).forEach(([propsKey, propsValue]) => {\n\t\tif (!propsValue) return;\n\n\t\tconst { name } = propsValue;\n\t\tconst key = componentsNames[name];\n\t\tif (key) returnValue[key] = propsValue;\n\t\telse if (typeof propsValue === 'object') returnValue[propsKey as ComponentMobileKeyMap] = propsValue;\n\t});\n\n\treturn returnValue;\n};\n","import { Breadcrumbs } from '@ui-kit/components/common/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@ui-kit/components/common/others/breadcrumbs/types';\nimport { CardsScroll } from '@ui-kit/components/structures/others/cards-scroll';\nimport type { CardsScrollProps } from '@ui-kit/components/structures/others/cards-scroll/types';\nimport { TabsCarouselProductCardMarketingBargains } from '@ui-kit/components/wrappers/marketing-bargains/tabs-carousel-product-card';\nimport { BlogMarketing } from '@ui-kit/components/wrappers/marketing/blog';\nimport { TextBlockMarketing } from '@ui-kit/components/wrappers/marketing/textBlock';\nimport type { TabsGridListMarketingBargainsProps } from '@ui-kit/helpers/wrappers/marketing-bargains/tabs-grid-list/types';\nimport type { BlogMarketingMobileProps } from '@ui-kit/helpers/wrappers/marketing/blog/mobile/types';\nimport type { TextBlockMarketingProps } from '@ui-kit/helpers/wrappers/marketing/text-block/types';\nimport withHydrationOnDemand from '@ui-kit/hocs/hydration-on-demand/withHydrationOnDemand';\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 * as S from './styled';\nimport type { MainBargainsMobileProps } from './types';\nimport { parseRootMobileProps } from './util';\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);\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} = parseRootMobileProps(props);\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{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 '@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 type { BaseTemplateLogitravelProps } from '@ui-kit/components/layouts/logitravel/base-template/types';\nimport { DEVICES } from '@ui-kit/context/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 { BaseTemplateLogitravel } from '@ui-kit/components/layouts/logitravel/base-template';\nimport type { ContextBabylonProps } from '@ui-kit/context/types';\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":["productCardCruisesDesktopConverter","props","data","summary","itinerary","link","config","price","rating","tag","icons","logo","_icons","icon","descriptions","_a","content","moreInfo","_b","companies","_rating","fromCaption","productCardFliDesktopConverter","title","subtitle","imgSrc","imgAlt","imgAlternative","deal","priceLabel","departureContent","returnContent","tooltip","image","productCardFliMobileConverter","isDeal","isBlackfriday","ICONS","checkDetails","details","productCardHotelsDesktopConverter","stars","star","reviews","ratingStars","ratingStar","_descriptions","x","productCardHotelsMobileConverter","genericProductCardConverter","productCard","name","rest","propsOrData","_merge","productCardPackagesDesktopConverter","productCardCirRxjsConverter","tabGridMarketingBargainsDesktopConverter","tabProduct","dataOrProps","lastIndex","item","_c","_f","_e","_d","generateAjaxComponentData","ajaxComponentData","params","Name","Value","Key","tabsProductCard","tabsProductCardMarketingBargainsDesktopConverter","tabsProps","tabs","getTabsProductsMarketingBargains","endpoint","body","res","TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT","TabsCarouselProductCardMarketingBargainsDesktop","converter","BaseUrl","useContext","contextBabylon","getTabsProducts","index","items","baseUrl","key","value","_jsx","TabsCarouselProductCardDesktop","productCardPackagesMobileConverter","productCardCruisesMobileConverter","tabGridMarketingBargainsMobileConverter","navigation","component","tabsProductCardMarketingBargainsMobileConverter","TabsCarouselProductCardMarketingBargainsMobile","TabsCarouselProductCardMobile","TabsCarouselProductCardMarketingBargains","generateViewsComponent","useResizeImage","src","resize","context","mscdn","getResizeUrl","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","literals","backgroundUri","dealUri","shadowDealUri","jsx","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","MainContainer","Breadcrumbs","TabsGridList","TextHtml","Section","Blog","CarouselCardSimple","parseRootDesktopProps","returnValue","componentsNames","propsKey","propsValue","BreadcrumbsHydration","withHydrationOnDemand","TabsCarouselProductCardHydration","TextBlockHydration","TextBlockMarketing","HeaderBannerBargainsHydration","HeaderBannerBlackfridayHydration","BlogHydration","BlogMarketing","CarouselCardSimpleHydration","CarouselCardSimpleMarketing","MainBargainsDesktop","blog","breadcrumbs","tabsGridList","carouselCardSimple","textHtml","headerBannerBargains","headerBannerBlackfriday","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","parseRootMobileProps","CardsScrollHydration","CardsScroll","MainBargainsMobile","mTextScroll","mTabsCampaign","mBlog","mBreadcrumbs","mHeaderBannerBargains","mHeaderBannerBlackfriday","mDestinations","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,19]}