{"version":3,"file":"bargains.jpu1yob3.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-banners/components/banner-subscription/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-banners/components/banner-subscription/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-banners/components/banner-subscription/views/mobile/styled.js","../../../../../../../node_modules/@babylon/ui-kit-banners/components/banner-subscription/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit-banners/components/banner-subscription/index.js","../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-content/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-content/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-content/views/mobile/styled.js","../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-content/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit-common/components/others/text-content/index.js","../../../../../../../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 Title from '@babylon/ui-kit-base/components/text/title/views/desktop';\nimport { TitleStyled } from '@babylon/ui-kit-base/components/text/title/views/desktop/styled';\nimport { BoxShadow } from '@babylon/ui-kit-styles/common/mixins/box-shadow.styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nconst BannerSubscription = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BannerSubscription\"\n})([\n ``,\n ` background-color:`,\n `;`,\n ` `,\n ` overflow:hidden;position:relative;`,\n `{gap:48px;}`,\n `{gap:48px;}`\n], BoxShadow, ({ theme })=>theme.colors.white.base, FlexMixin({\n align: 'center'\n}), BorderRadius({\n all: '4px'\n}), ({ theme })=>theme.media.tabletLandscape.only, ({ theme })=>theme.media.tabletPortrait.only);\nconst BlockLeftContainer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BlockLeftContainer\"\n})([\n `width:235px;height:144px;overflow:hidden;`,\n ` position:relative;`\n], FlexMixin({\n align: 'center',\n justify: 'center'\n}));\nconst BlockLeft = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BlockLeft\"\n})([\n ``,\n ` padding-left:28px;min-width:230px;`,\n `{min-width:200px;}`,\n `{min-width:180px;}&::before{content:'';position:absolute;width:`,\n `;height:280px;background-color:`,\n `;border-radius:50%;top:-80px;left:-70px;z-index:0;`,\n `{top:-8px;left:-95px;width:290px;height:290px;}`,\n `{top:-10px;left:-70px;}}`\n], FlexMixin({\n align: 'center',\n justify: 'center'\n}), ({ theme })=>theme.media.tabletLandscape.only, ({ theme })=>theme.media.tabletPortrait.only, ({ language })=>language === 'pt' ? '360px' : '300px', ({ theme })=>theme.colors.status.blackfriday, ({ theme })=>theme.media.tabletLandscape.only, ({ theme })=>theme.media.tabletPortrait.only);\nconst TextBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"TextBlock\"\n})([\n ``,\n ``\n], Padding({\n right: '28px',\n top: '20px',\n bottom: '20px',\n left: '36px'\n}));\nconst AlertBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"AlertBlock\"\n})([\n ``,\n ` color:`,\n `;z-index:1;font-family:`,\n `;`\n], FontMixin({\n size: 'largest',\n weight: 'bold',\n height: 'largest'\n}), ({ theme })=>theme.colors.white.base, (props)=>props.theme.font.family.secondary);\nconst BlockTitle = /*#__PURE__*/ styled(Title).withConfig({\n displayName: \"BlockTitle\"\n})([\n `margin-bottom:8px;`,\n `{padding:0;}`\n], TitleStyled);\nconst DescriptionBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"DescriptionBlock\"\n})([\n ``,\n ` gap:40px;a{`,\n ` max-height:60px;border-radius:4px;}`\n], FlexMixin({\n justify: 'space-between'\n}), FontMixin({\n size: 'base'\n}));\nconst Description = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Description\"\n})([\n ``,\n ` color:`,\n `;width:80%;`\n], FontMixin({\n size: 'medium',\n height: 'base'\n}), ({ theme })=>theme.colors.grays.darker);\n\nexport { AlertBlock, BannerSubscription, BlockLeft, BlockLeftContainer, BlockTitle, Description, DescriptionBlock, TextBlock };\n//# sourceMappingURL=styled.js.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { publish, customEvent } from '@babylon/ui-kit-helpers/customEvents';\nimport { useCallback, useContext } from 'react';\nimport { BannerSubscription as BannerSubscription$1, BlockLeft, AlertBlock, TextBlock, BlockTitle, DescriptionBlock, Description } from './styled.js';\n\nconst BannerSubscription = ({ props })=>{\n const { config, description, link, title } = props ?? {};\n const { literals } = config ?? {};\n const { blackFridayTextLabel = '' } = literals ?? {};\n const openPopup = useCallback(()=>publish(customEvent.OpenSubscribeModal), []);\n const { IsLoggedIn, Language = 'ES' } = useContext(contextBabylon);\n return /*#__PURE__*/ jsxs(BannerSubscription$1, {\n \"data-testid\": \"BannerSubscription\",\n children: [\n /*#__PURE__*/ jsx(BlockLeft, {\n language: Language,\n children: /*#__PURE__*/ jsx(AlertBlock, {\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: blackFridayTextLabel\n })\n })\n }),\n /*#__PURE__*/ jsxs(TextBlock, {\n children: [\n title && /*#__PURE__*/ jsx(BlockTitle, {\n \"data-testid\": \"Title\",\n title: title,\n textAlign: \"left\"\n }),\n /*#__PURE__*/ jsxs(DescriptionBlock, {\n children: [\n description && /*#__PURE__*/ jsx(Description, {\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: description\n })\n }),\n link?.content && !IsLoggedIn && /*#__PURE__*/ jsx(Button, {\n variant: \"secondary\",\n size: \"large\",\n p: \"20px 15px\",\n height: \"56px\",\n onClick: openPopup,\n children: link?.content\n })\n ]\n })\n ]\n })\n ]\n });\n};\n\nexport { BannerSubscription as default };\n//# sourceMappingURL=index.js.map\n","import { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport Title from '@babylon/ui-kit-base/components/text/title/views/desktop';\nimport { TitleStyled } from '@babylon/ui-kit-base/components/text/title/views/desktop/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nconst BannerSubscription = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BannerSubscription\"\n})([\n `background-color:`,\n `;`,\n ` border:1px solid `,\n `;`\n], ({ theme })=>theme.colors.white.base, BorderRadius({\n all: '4px'\n}), ({ theme })=>theme.colors.grays.light);\nconst Circle = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Circle\"\n})([\n `background-color:`,\n `;border-radius:50%;width:140px;height:140px;position:fixed;right:-15px;top:-25px;z-index:0;`\n], ({ theme })=>theme.colors.status.blackfriday);\nconst TextBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"TextBlock\"\n})([\n ``,\n ` gap:16px;`,\n ` overflow:hidden;`\n], Padding({\n x: '20px',\n y: '16px'\n}), FlexMixin({\n direction: 'column'\n}));\nconst Label = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Label\"\n})([\n ``,\n ` color:`,\n `;width:150px;`\n], FontMixin({\n size: 'largest',\n weight: 'bold',\n height: 'largest'\n}), ({ theme })=>theme.colors.white.base);\nconst BlockTitle = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BlockTitle\"\n})([\n ``,\n ` position:relative;z-index:1;&::before{content:'';position:absolute;width:`,\n `;height:140px;background-color:`,\n `;border-radius:50%;right:`,\n `;top:`,\n `;z-index:0;}`\n], FlexMixin({\n justify: 'space-between'\n}), ({ language })=>language === 'pt' ? '220px' : '140px', ({ theme })=>theme.colors.status.blackfriday, ({ language })=>language === 'pt' ? '-55px' : '-40px', ({ language })=>language === 'pt' ? '-33px' : '-35px');\nconst TitleMobile = /*#__PURE__*/ styled(Title).withConfig({\n displayName: \"TitleMobile\"\n})([\n `margin-bottom:0;`,\n `{padding:0;`,\n `}`\n], TitleStyled, FontMixin({\n size: 'larger',\n weight: 'semiBold',\n height: 'larger'\n}));\nconst Subtitle = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Subtitle\"\n})([\n `text-align:right;`,\n ` color:`,\n `;z-index:1;font-family:`,\n `;`\n], FontMixin({\n size: 'large',\n weight: 'bold',\n height: 'larger'\n}), ({ theme })=>theme.colors.white.base, (props)=>props.theme.font.family.secondary);\nconst DescriptionBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"DescriptionBlock\"\n})([\n ``,\n ` gap:40px;`\n], FlexMixin({\n justify: 'space-between'\n}));\nconst Description = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Description\"\n})([\n ``,\n ` color:`,\n `;`\n], FontMixin({\n size: 'medium',\n height: 'base'\n}), ({ theme })=>theme.colors.grays.darker);\nconst SubscriptionButton = /*#__PURE__*/ styled(Button).withConfig({\n displayName: \"SubscriptionButton\"\n})([\n `width:193px;border-radius:4px;`\n]);\n\nexport { BannerSubscription, BlockTitle, Circle, Description, DescriptionBlock, Label, SubscriptionButton, Subtitle, TextBlock, TitleMobile };\n//# sourceMappingURL=styled.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { publish, customEvent } from '@babylon/ui-kit-helpers/customEvents';\nimport { useCallback, useContext } from 'react';\nimport { BannerSubscription, TextBlock, BlockTitle, TitleMobile, Subtitle, Description, SubscriptionButton } from './styled.js';\n\nconst BannerSubscriptionMobile = ({ props })=>{\n const { config, description, link, title } = props;\n const { literals } = config ?? {};\n const { blackFridayTextLabel = '' } = literals ?? {};\n const openPopup = useCallback(()=>publish(customEvent.OpenSubscribeModal), []);\n const { IsLoggedIn, Language = 'es' } = useContext(contextBabylon);\n return /*#__PURE__*/ jsx(BannerSubscription, {\n \"data-testid\": \"BannerSubscriptionMobile\",\n children: /*#__PURE__*/ jsxs(TextBlock, {\n children: [\n /*#__PURE__*/ jsxs(BlockTitle, {\n language: Language,\n children: [\n title && /*#__PURE__*/ jsx(TitleMobile, {\n \"data-testid\": \"Title\",\n title: title,\n textAlign: \"left\"\n }),\n blackFridayTextLabel && /*#__PURE__*/ jsx(Subtitle, {\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: blackFridayTextLabel\n })\n })\n ]\n }),\n description && /*#__PURE__*/ jsx(Description, {\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: description\n })\n }),\n link?.content && !IsLoggedIn && /*#__PURE__*/ jsx(SubscriptionButton, {\n variant: \"secondary\",\n size: \"small\",\n p: \"20px 16px\",\n onClick: openPopup,\n title: link?.content,\n children: link?.content\n })\n ]\n })\n });\n};\n\nexport { BannerSubscriptionMobile as default };\n//# sourceMappingURL=index.js.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport BannerSubscription$1 from './views/desktop/index.js';\nimport BannerSubscriptionMobile from './views/mobile/index.js';\n\nconst BannerSubscription = generateViewsComponent(BannerSubscription$1, BannerSubscriptionMobile);\n\nexport { BannerSubscription as default };\n//# sourceMappingURL=index.js.map\n","import { FontMixin, FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nconst TextContent = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"TextContent\"\n})([\n `color:`,\n `;background-color:`,\n `;`\n], ({ theme })=>theme.colors.grays.darker, ({ theme })=>theme.colors.grays.lighter);\nconst Wrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Wrapper\"\n})([\n `height:100%;margin:0 auto;max-width:1500px;padding:0px 40px;position:relative;width:100%;`\n]);\nconst Container = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Container\"\n})([\n `display:grid;grid-template-columns:repeat(2,1fr);gap:20px;`\n]);\nconst ContentTitle = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ContentTitle\"\n})([\n ``,\n ` line-height:26px;`\n], FontMixin({\n weight: 'medium',\n size: 'large'\n}));\nconst ContentDescription = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ContentDescription\"\n})([\n ``,\n ``\n], FontMixin({\n weight: 'light',\n size: 'medium',\n height: 'base'\n}));\nconst ButtonContainer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ButtonContainer\"\n})([\n ``,\n ` margin-top:20px;a{border-radius:4px;}`\n], FlexMixin({\n justify: 'center'\n}));\nconst ItemWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ItemWrapper\"\n})([\n ``,\n ` gap:4px;`\n], FlexMixin({\n direction: 'column'\n}));\n\nexport { ButtonContainer, Container, ContentDescription, ContentTitle, ItemWrapper, TextContent, Wrapper };\n//# sourceMappingURL=styled.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport InnerHTML from '@babylon/ui-kit-base/components/text/inner-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title/views/desktop';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { publish, customEvent } from '@babylon/ui-kit-helpers/customEvents';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport { useCallback, useContext } from 'react';\nimport { TextContent, Wrapper, Container, ItemWrapper, ContentTitle, ContentDescription, ButtonContainer } from './styled.js';\n\nconst TextContentDesktop = ({ props })=>{\n const { title = '', items = [] } = props ?? {};\n const groupedItems = [];\n const filteredItems = items.filter((item)=>item.type !== 'button');\n for(let i = 0; i < filteredItems.length; i += 2){\n groupedItems.push([\n filteredItems[i],\n filteredItems[i + 1]\n ]);\n }\n const openPopup = useCallback(()=>publish(customEvent.OpenSubscribeModal), []);\n const { IsLoggedIn } = useContext(contextBabylon);\n return /*#__PURE__*/ jsx(TextContent, {\n \"data-testid\": \"TextContent\",\n children: /*#__PURE__*/ jsxs(Wrapper, {\n children: [\n /*#__PURE__*/ jsx(Title, {\n title: title\n }),\n /*#__PURE__*/ jsx(Container, {\n children: groupedItems.map((group)=>/*#__PURE__*/ jsx(ItemWrapper, {\n children: group.map((item)=>item?.type === 'title' ? /*#__PURE__*/ jsx(ContentTitle, {\n children: /*#__PURE__*/ jsx(InnerHTML, {\n content: item?.content\n })\n }, genKey({\n item\n })) : /*#__PURE__*/ jsx(ContentDescription, {\n children: /*#__PURE__*/ jsx(InnerHTML, {\n content: item?.content\n })\n }, genKey({\n item\n })))\n }, genKey({\n group\n })))\n }),\n items.some((item)=>item.type === 'button') && !IsLoggedIn && /*#__PURE__*/ jsx(ButtonContainer, {\n children: /*#__PURE__*/ jsx(Button, {\n variant: \"secondary\",\n size: \"large\",\n p: \"17px 16px\",\n height: \"44px\",\n onClick: openPopup,\n children: items.find((item)=>item.type === 'button')?.content\n })\n })\n ]\n })\n });\n};\n\nexport { TextContentDesktop as default };\n//# sourceMappingURL=index.js.map\n","import { FontMixin, FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nconst TextContent = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"TextContent\"\n})([\n ``,\n ``\n], Padding({\n y: '28px',\n x: '16px'\n}));\nconst Container = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Container\"\n})([\n ``\n]);\nconst ContentTitle = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ContentTitle\"\n})([\n ``,\n ` line-height:25px;`\n], FontMixin({\n weight: 'medium',\n size: 'large'\n}));\nconst ContentDescription = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ContentDescription\"\n})([\n ``,\n ` line-height:21px;`\n], FontMixin({\n weight: 'light',\n size: 'medium'\n}));\nconst ButtonContainer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ButtonContainer\"\n})([\n ``,\n ` margin-top:20px;`\n], FlexMixin({\n justify: 'center'\n}));\nconst ItemWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ItemWrapper\"\n})([\n ``,\n ` gap:4px;padding-bottom:12px;`\n], FlexMixin({\n direction: 'column'\n}));\n\nexport { ButtonContainer, Container, ContentDescription, ContentTitle, ItemWrapper, TextContent };\n//# sourceMappingURL=styled.js.map\n","import { jsxs, jsx, Fragment } from 'react/jsx-runtime';\nimport { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport InnerHTML from '@babylon/ui-kit-base/components/text/inner-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title/views/desktop';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { publish, customEvent } from '@babylon/ui-kit-helpers/customEvents';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport { useCallback, useContext } from 'react';\nimport { TextContent, Container, ItemWrapper, ContentTitle, ContentDescription, ButtonContainer } from './styled.js';\n\nconst TextHTMLMobile = ({ props })=>{\n const { title = '', items = [] } = props ?? {};\n const groupedItems = [];\n for(let i = 0; i < items.length; i += 2){\n groupedItems.push([\n items[i],\n items[i + 1]\n ]);\n }\n const openPopup = useCallback(()=>publish(customEvent.OpenSubscribeModal), []);\n const { IsLoggedIn } = useContext(contextBabylon);\n return /*#__PURE__*/ jsxs(TextContent, {\n \"data-testid\": \"TextContentMobile\",\n children: [\n /*#__PURE__*/ jsx(Title, {\n title: title\n }),\n /*#__PURE__*/ jsx(Container, {\n children: groupedItems.map((group)=>/*#__PURE__*/ jsx(ItemWrapper, {\n children: group.map((item)=>/*#__PURE__*/ jsxs(Fragment, {\n children: [\n item?.type === 'title' && /*#__PURE__*/ jsx(ContentTitle, {\n children: /*#__PURE__*/ jsx(InnerHTML, {\n content: item?.content\n })\n }, genKey({\n item\n })),\n item?.type === 'description' && /*#__PURE__*/ jsx(ContentDescription, {\n children: /*#__PURE__*/ jsx(InnerHTML, {\n content: item?.content\n })\n }, genKey({\n item\n })),\n item?.type === 'button' && !IsLoggedIn && /*#__PURE__*/ jsx(ButtonContainer, {\n children: /*#__PURE__*/ jsx(Button, {\n variant: \"secondary\",\n size: \"large\",\n p: \"17px 16px\",\n height: \"44px\",\n onClick: openPopup,\n children: item?.content\n })\n })\n ]\n }))\n }, genKey({\n group\n })))\n })\n ]\n });\n};\n\nexport { TextHTMLMobile as default };\n//# sourceMappingURL=index.js.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport TextContentDesktop from './views/desktop/index.js';\nimport TextHTMLMobile from './views/mobile/index.js';\n\nconst TextContent = generateViewsComponent(TextContentDesktop, TextHTMLMobile);\n\nexport { TextContent as default };\n//# sourceMappingURL=index.js.map\n","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//# sourceMappingURL=index.js.map\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, stars } = 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: config?.literals?.buttonCardLabel\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: stars?.value ?? _rating,\n ratingIcon: stars?.icon,\n ratingHalfIcon: stars?.halfIcon,\n ratingTooltip: stars?.tooltip,\n tag,\n icons,\n companies\n };\n};\n\nexport { productCardCruisesDesktopConverter };\n//# sourceMappingURL=converter.js.map\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//# sourceMappingURL=converter.js.map\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 buttonLabel: config?.literals?.buttonLabel\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//# sourceMappingURL=converter.js.map\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//# sourceMappingURL=converter.js.map\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//# sourceMappingURL=service.js.map\n","const TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT = '/homeshowcase/component/model';\n\nexport { TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT };\n//# sourceMappingURL=utils.js.map\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 { getUrlWithDomain } from '@babylon/ui-kit-helpers/url';\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 = getUrlWithDomain(endpoint, BaseUrl);\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//# sourceMappingURL=index.js.map\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//# sourceMappingURL=converter.js.map\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//# sourceMappingURL=converter.js.map\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//# sourceMappingURL=converter.js.map\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 { getUrlWithDomain } from '@babylon/ui-kit-helpers/url';\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 = getUrlWithDomain(endpoint, BaseUrl);\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//# sourceMappingURL=index.js.map\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//# sourceMappingURL=index.js.map\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//# sourceMappingURL=useCountdown.js.map\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 { TextContent } from '@babylon/ui-kit-common/components/others/text-content/views/desktop/styled';\nimport { 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 TextBlock = styled(Section)`\n\tmargin-bottom: 40px;\n\t${TextContent} {\n\t\tpadding: 40px;\n\t}\n`;\n\nexport const Blog = styled(Section)`\n\tmargin-bottom: 40px;\n`;\n\nexport const SubscriptionBanner = styled(SectionContainer)`\n\tmargin-bottom: 40px;\n\tpadding: 0px 40px;\n`;\n\nexport const CarouselCardSimple = styled(SectionContainer)`\n\tmargin-bottom: 40px;\n`;\n\nexport const TextHtmlCollapse = styled(Section)`\n\tbackground-color: ${props => props.theme.colors.white.base};\n\n\t& ${TextHtmlCollapseWrapper} {\n\t\tpadding: 20px;\n\t\tmargin: 0px auto;\n\t\tmax-width: 1500px;\n\t\tposition: relative;\n\t\twidth: 100%;\n\t}\n`;\n","import SubscriptionBanner from '@babylon/ui-kit-banners/components/banner-subscription';\nimport type { BannerSubscriptionProps } from '@babylon/ui-kit-banners/components/banner-subscription/types';\nimport 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 TextContent from '@babylon/ui-kit-common/components/others/text-content';\nimport type { TextContentProps } from '@babylon/ui-kit-common/components/others/text-content/types';\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 TextHtmlCollapseDesktopView from '@babylon/ui-kit-common/components/others/text-html-collapse/views/desktop';\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/index';\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()(TextBlockMarketing);\n\nconst TextHtmlHydration = 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()(TextContent);\nconst SubscriptionBannerHydration = withHydrationOnDemand()(SubscriptionBanner);\nconst TextHtmlCollapseHydration = withHydrationOnDemand()(TextHtmlCollapseDesktopView);\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\tsubscriptionBanner,\n\t\ttextContent,\n\t\ttextHtmlCollapse,\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\t'subscription-banner': 'subscriptionBanner',\n\t\t'text-content': 'textContent',\n\t\ttextHtmlCollapse: 'textHtmlCollapse',\n\t});\n\n\tconst promos = tabsGridList?.props?.promos ?? [];\n\t_merge(headerBannerBargains, { props: { promos } });\n\t_merge(subscriptionBanner, { props: { subscriptionBanner } });\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 && !textHtml?.props?.campaigns && !headerBannerBlackfriday && (\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{textHtml?.props?.campaigns && !headerBannerBlackfriday && (\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{subscriptionBanner?.props?.title && (\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{textContent?.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{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{textHtmlCollapse?.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\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 SubscriptionBanner = styled.section`\n\tpadding: 16px;\n`;\n\nexport const TextBlock = styled.section`\n\tbackground-color: ${({ theme }) => theme.colors.grays.lighter};\n`;\n\nexport const Blog = styled.section`\n\tmargin-bottom: 20px;\n`;\n","import BannerSubscription from '@babylon/ui-kit-banners/components/banner-subscription';\nimport type { BannerSubscriptionProps } from '@babylon/ui-kit-banners/components/banner-subscription/types';\nimport Breadcrumbs from '@babylon/ui-kit-common/components/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@babylon/ui-kit-common/components/others/breadcrumbs/types';\nimport TextContent from '@babylon/ui-kit-common/components/others/text-content';\nimport type { TextContentProps } from '@babylon/ui-kit-common/components/others/text-content/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);\nconst SubscriptionBannerHydration = withHydrationOnDemand()(BannerSubscription);\nconst TextBlockBlackFridayHydration = withHydrationOnDemand()(TextContent);\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\tmSubscriptionBanner,\n\t\tmTextContent,\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\t'm-subscription-banner': 'mSubscriptionBanner',\n\t\t'm-text-content': 'mTextContent',\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\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{mSubscriptionBanner?.props?.title && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mTextContent?.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{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":["BannerSubscription","styled","BoxShadow","theme","FlexMixin","BorderRadius","BlockLeft","language","TextBlock","Padding","AlertBlock","FontMixin","props","BlockTitle","Title","TitleStyled","DescriptionBlock","Description","config","description","link","title","literals","blackFridayTextLabel","openPopup","useCallback","publish","customEvent","IsLoggedIn","Language","useContext","contextBabylon","jsxs","BannerSubscription$1","jsx","InnerMarkdownHTML","Button","TitleMobile","Subtitle","SubscriptionButton","BannerSubscriptionMobile","generateViewsComponent","TextContent","Wrapper","Container","ContentTitle","ContentDescription","ButtonContainer","ItemWrapper","TextContentDesktop","items","groupedItems","filteredItems","item","i","group","InnerHTML","genKey","_a","TextHTMLMobile","Fragment","TextHtmlCollapse","TextHtmlCollapseDesktop","productCardCruisesDesktopConverter","data","summary","discount","itinerary","price","rating","tag","icons","logo","stars","descriptions","content","prominent","upsiders","_b","moreInfo","_c","companies","_rating","fromCaption","_d","productCardFliDesktopConverter","subtitle","imgSrc","imgAlt","imgAlternative","deal","priceLabel","departureContent","returnContent","tooltip","image","checkDetails","details","productCardHotelsDesktopConverter","star","reviews","icon","ratingStars","ratingStar","_descriptions","x","genericProductCardConverter","productCard","name","rest","propsOrData","_merge","productCardPackagesDesktopConverter","productCardCirRxjsConverter","tabGridMarketingBargainsDesktopConverter","tabProduct","dataOrProps","lastIndex","_f","_e","generateAjaxComponentData","ajaxComponentData","params","Name","Value","Key","tabsProductCard","tabsProductCardMarketingBargainsDesktopConverter","tabsProps","tabs","isBlackfriday","getTabsProductsMarketingBargains","endpoint","body","res","TABS_CAROUSEL_PRODUCT_CARD_MARKETING_ENDPOINT","TabsCarouselProductCardMarketingBargainsDesktop","converter","BaseUrl","getTabsProducts","index","baseUrl","getUrlWithDomain","key","value","TabsCarouselProductCardDesktop","productCardFliMobileConverter","isDeal","ICONS","productCardHotelsMobileConverter","productCardPackagesMobileConverter","productCardCruisesMobileConverter","tabGridMarketingBargainsMobileConverter","navigation","component","tabsProductCardMarketingBargainsMobileConverter","TabsCarouselProductCardMarketingBargainsMobile","TabsCarouselProductCardMobile","TabsCarouselProductCardMarketingBargains","useResizeImage","src","resize","context","mscdn","hasDomain","DEALS_IMAGE","SHADOW_IMAGE","bg","Content","SectionContainer","ContainerLabels","ContentLabels","Promos","PromoItem","PromoItemContent","PromoHeader","PromoTitle","PromoDescription","PromoPrice","PriceWithCurrency","Shadow","Image","HeaderBannerBargains","promos","backgroundUri","dealUri","shadowDealUri","S.Container","S.Content","S.ContainerLabels","S.ContentLabels","S.Title","S.Description","S.Promos","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","Section","Blog","SubscriptionBanner","CarouselCardSimple","BreadcrumbsHydration","withHydrationOnDemand","TabsCarouselProductCardHydration","TextBlockHydration","TextBlockMarketing","TextHtmlHydration","HeaderBannerBargainsHydration","HeaderBannerBlackfridayHydration","BlogHydration","BlogMarketing","CarouselCardSimpleHydration","CarouselCardSimpleMarketing","HeaderBannerHydration","HeaderBannerSimpleMarketing","TextBlockBlackFridayHydration","SubscriptionBannerHydration","TextHtmlCollapseHydration","TextHtmlCollapseDesktopView","MainBargainsDesktop","blog","breadcrumbs","tabsGridList","carouselCardSimple","textHtml","headerBannerBargains","headerBannerBlackfriday","headerBanner","subscriptionBanner","textContent","textHtmlCollapse","S.MainContainer","S.Breadcrumbs","S.TabsGridList","S.TextHtml","S.SubscriptionBanner","S.TextBlock","S.Blog","S.CarouselCardSimple","S.TextHtmlCollapse","ScrollToTop","ContainerMobile","CountDownMobile","CountDownNumberMobile","CountDownLabelMobile","HeaderBannerBlackFridayMobile","S.ContainerMobile","S.CountDownMobile","S.CountDownNumberMobile","S.CountDownLabelMobile","Main","HeaderBannerBlackfriday","TabsCarouselProductCard","CardsScrollHydration","CardsScroll","MainBargainsMobile","mTextScroll","mTabsCampaign","mBlog","mBreadcrumbs","mHeaderBannerBargains","mHeaderBannerBlackfriday","mDestinations","mHeaderBanner","mSubscriptionBanner","mTextContent","S.Main","S.HeaderBannerBargains","S.HeaderBannerBlackfriday","S.TabsCarouselProductCard","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,13,14,15,16,17,18,19,20,21,22,30]}