{"version":3,"file":"BlockPromo.CtilYQSG.js","sources":["../../../../../../../../packages/common/src/utils/get-localized-value.ts","../../../../../../../../packages/builder-oem/src/components/Reusable/image/Image.svelte","../../../../../../../../packages/common/src/types/nillable.ts","../../../../../../../../packages/common/src/components/animationObserver/AnimationObserver.svelte","../../../../../../../../packages/builder-oem/src/assets/icons/action-close.svg","../../../../../../../../packages/builder-oem/src/utility/content-api.ts","../../../../../../../../packages/builder-oem/src/components/container/Container.svelte","../../../../../../../../packages/builder-oem/src/components/button-share/ButtonShare.svelte","../../../../../../../../packages/builder-oem/src/components/button-download/ButtonDownload.svelte","../../../../../../../../packages/builder-oem/src/components/shared/qds-title/QdsTitle.svelte","../../../../../../../../packages/builder-oem/src/components/qds/container/QdsSsrWrapper.svelte","../../../../../../../../packages/common/src/types/string.ts","../../../../../../../../packages/builder-oem/src/components/qds/utility/ctaLink.ts","../../../../../../../../packages/builder-oem/src/components/shared/qds-tooltip/QdsTooltip.svelte","../../../../../../../../packages/builder-oem/src/components/qds/block-promo-v2/BlockPromo.svelte"],"sourcesContent":["import type { BuilderLocalizedValue } from '../types';\nimport { getLocale } from './get-locale';\n\nconst isLocalizedValue = <T>(\n\tfield: T | BuilderLocalizedValue<T>\n): field is BuilderLocalizedValue<T> => {\n\treturn (field as BuilderLocalizedValue<T>)['@type'] === '@builder.io/core:LocalizedValue';\n};\n\nexport const getLocalizedValue = <T>(field: T | BuilderLocalizedValue<T>): T => {\n\tconst locale = getLocale();\n\n\tif (!field) {\n\t\treturn field;\n\t}\n\n\tif (isLocalizedValue(field)) {\n\t\treturn field[locale] || field.Default;\n\t}\n\n\treturn field;\n};\n","<script lang=\"ts\">\n\t//external dependencies\n\timport { createEventDispatcher } from 'svelte';\n\t//internal dependencies\n\timport { Button } from '../../controls';\n\timport { ButtonTypes } from '../../controls/types';\n\timport * as constant from '../../../config/constant';\n\n\texport let desktopImage: string;\n\texport let tabletImage: string;\n\texport let mobileImage: string;\n\texport let alt: string;\n\texport let isVideo = false;\n\texport let objectFit = 'object-cover';\n\texport let imageClass = '';\n\texport let wrapperClass = '';\n\texport let imageWidth = 'w-full';\n\texport let loadingParam = 'eager' as 'eager' | 'lazy';\n\texport let width = '';\n\texport let height = '';\n\texport let hoverState = false;\n\tlet defaultImage = '';\n\n\tconst dispatch = createEventDispatcher();\n\n\t/**\n\t * Handles Image Formatting.\n\t *\n\t * @param imageURL given string\n\t * @param device given string\n\t * @returns imageURL String\n\t */\n\n\tconst imageFormatterHandeler = function (imageURL: string, device: string) {\n\t\tif (imageURL && imageURL.includes(constant.BUILDER_CDN_DOMAIN)) {\n\t\t\treturn `${imageURL}${!imageURL.includes(constant.IMAGE_FORMAT) ? constant.IMAGE_FORMAT : ''}${\n\t\t\t\tdevice === 'desktop' ? constant.IMG_QUALITY : constant.MOB_IMG_QUALITY\n\t\t\t}`;\n\t\t}\n\n\t\treturn imageURL;\n\t};\n\n\tif (mobileImage) {\n\t\tdefaultImage = imageFormatterHandeler(mobileImage, constant.MOBILE);\n\t} else if (tabletImage) {\n\t\tdefaultImage = imageFormatterHandeler(tabletImage, constant.TABLET);\n\t} else {\n\t\tdefaultImage = imageFormatterHandeler(desktopImage, constant.DESKTOP);\n\t}\n\n\t/**\n\t * Handle Play button click\n\t */\n\tconst handlePlayButtonClick = () => {\n\t\tdispatch('play');\n\t};\n</script>\n\n<div class={wrapperClass}>\n\t{#if isVideo}\n\t\t<div class=\"left-seCal50m2D5 top-seCal50m1D8 absolute\">\n\t\t\t<Button\n\t\t\t\topenInNewTab={false}\n\t\t\t\tbuttonTypes={ButtonTypes.PLAY_BUTTON}\n\t\t\t\tctaText=\"\"\n\t\t\t\ton:click={handlePlayButtonClick}\n\t\t\t\t{hoverState}\n\t\t\t/>\n\t\t</div>\n\t{/if}\n\n\t<picture>\n\t\t<!-- Desktop >=1024px -->\n\t\t<source\n\t\t\tmedia=\"(min-width:64rem)\"\n\t\t\tsrcset={imageFormatterHandeler(desktopImage, constant.DESKTOP)}\n\t\t/>\n\t\t<!-- Tablet >=768px -->\n\t\t<source\n\t\t\tmedia=\"(min-width:48rem)\"\n\t\t\tsrcset={imageFormatterHandeler(tabletImage, constant.TABLET)}\n\t\t/>\n\n\t\t<img\n\t\t\tclass={`${imageWidth} ${objectFit} ${imageClass}`}\n\t\t\tsrc={defaultImage}\n\t\t\t{alt}\n\t\t\tloading={loadingParam}\n\t\t\t{width}\n\t\t\t{height}\n\t\t/>\n\t</picture>\n</div>\n","export type Nillable<T> = T | null | undefined;\n\nexport function isNillable<T>(predictable: Nillable<T>): predictable is null | undefined {\n\treturn predictable === null || predictable === undefined;\n}\n","<script lang=\"ts\">\n\timport IntersectionObserver from 'svelte-intersection-observer';\n\timport type { AnimationState } from './types';\n\timport { isDesktop } from '../../stores';\n\timport { isNillable, type Nillable } from '../../types/nillable';\n\n\texport let animationState: AnimationState = 'default';\n\texport let mobileThreshold: Nillable<number> = null;\n\texport let desktopThreshold: Nillable<number> = null;\n\texport let customClass: string = '';\n\texport let threshold = 0.5;\n\texport let test = false;\n\texport let animateOnce = false;\n\n\tlet element: HTMLElement;\n\n\t$: observerThreshold = ((): number => {\n\t\t// Threshold for desktop\n\t\tif ($isDesktop) {\n\t\t\tif (isNillable(desktopThreshold)) {\n\t\t\t\treturn threshold;\n\t\t\t}\n\n\t\t\treturn desktopThreshold;\n\t\t}\n\n\t\t// Threshold for rest\n\t\tif (isNillable(mobileThreshold)) {\n\t\t\treturn threshold;\n\t\t}\n\n\t\treturn mobileThreshold;\n\t})();\n</script>\n\n<IntersectionObserver\n\t{element}\n\tthreshold={observerThreshold}\n\ton:intersect={(e) => {\n\t\tconst { isIntersecting } = e.detail;\n\t\ttest && console.log(e.detail.isIntersecting, 'from AnimationObserver');\n\t\ttest && console.log(e.detail.isIntersecting ? 'animateIn' : '', 'from AnimationObserver');\n\t\tif (isIntersecting) {\n\t\t\tanimationState = 'animateIn';\n\t\t}\n\t}}\n\ton:observe={(e) => {\n\t\tif (animateOnce) return;\n\n\t\tconst { isIntersecting } = e.detail;\n\n\t\tconst passedComponentEdge =\n\t\t\te.detail.boundingClientRect.top >= (e.detail.rootBounds?.top || 0) ? 'top' : 'bottom';\n\n\t\tif (!isIntersecting && passedComponentEdge === 'top') {\n\t\t\tanimationState = 'default';\n\t\t}\n\t}}\n>\n\t<div class={customClass} bind:this={element}>\n\t\t<slot />\n\t</div>\n</IntersectionObserver>\n","export default \"data:image/svg+xml,%3csvg%20width='1024'%20height='1024'%20viewBox='0%200%201024%201024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M590.298%20512.003L880.498%20802.203C900.998%20822.703%20900.998%20858.703%20880.498%20879.303C867.698%20889.603%20854.798%20894.703%20841.998%20894.703C826.598%20894.703%20813.698%20889.603%20800.898%20879.303L513.298%20589.103L222.998%20879.303C210.198%20889.603%20197.298%20894.703%20184.498%20894.703C169.098%20894.703%20156.198%20889.603%20143.398%20879.303C122.898%20858.803%20122.898%20822.803%20143.398%20802.203L433.698%20512.003L143.398%20221.803C122.898%20201.303%20122.898%20165.303%20143.398%20144.703C166.498%20124.203%20199.898%20124.203%20222.998%20144.703L513.198%20432.403L800.998%20144.703C824.098%20124.203%20857.498%20124.203%20880.598%20144.703C901.098%20165.203%20901.098%20201.203%20880.598%20221.803L590.298%20512.003Z'%20fill='%23FFFFFF'/%3e%3c/svg%3e\"","// external dependencies\nimport { fetchEntries } from '@builder.io/sdk-svelte';\nimport { isProd, spaces } from '@se/common/src/utils/builder_space';\nimport { countryParam, languageParam } from '@se/common/stores';\n// internal dependencies\nimport { builderApiKey } from '@se/common/stores';\nimport { getLocale } from '@se/common/utils';\nimport { get as _get } from 'lodash-es';\nimport { get } from 'svelte/store';\n\nconst CONTENT_API = 'https://cdn.builder.io/api/v3/content';\n\n/**\n * Get all tabs content from builder\n *\n * @param model name of the model\n */\nexport const getTabsContent = async function (model: string, skipLocale = false) {\n\tconst locale = getLocale() || 'default';\n\tconst localeParam = skipLocale ? '' : locale;\n\tconst apiKey = get(builderApiKey);\n\n\tconst options = {\n\t\tfields: 'data,id,categories',\n\t\tincludeUnpublished: false,\n\t\tlocale: localeParam,\n\t};\n\tconst content = await fetchEntries({\n\t\tmodel: model,\n\t\tapiKey,\n\t\toptions,\n\t\tlocale: localeParam,\n\t});\n\treturn content;\n};\n\nexport const getLatestInCategory = async function (category: any) {\n\tconst locale = getLocale().toLowerCase();\n\tconst t = Date.now();\n\n\tconst endpoint = `https://cdn.builder.io/\n\t\t\t\t\tapi/v3/\n\t\t\t\t\tcontent/insights-post?\n\t\t\t\t\tapiKey=${get(builderApiKey)}&\n\t\t\t\t\tlimit=10&\n\t\t\t\t\tquery.data.categories.category.id=${category?.id}&\n\t\t\t\t\tquery.priority.$exists=true&\n\t\t\t\t\tbuilder.cachebust=true&\n\t\t\t\t\tbuilder.noCache=true&\n\t\t\t\t\tcacheSeconds=1&\n\t\t\t\t\tstaleCacheSeconds=1&\n\t\t\t\t\tincludeUnpublished=true&\n\t\t\t\t\tincludeRefs=true&\n\t\t\t\t\tbuilder.options.locale=${locale}&\n\t\t\t\t\tsort.data.createdAt=-1&\n\t\t\t\t\tt=${t}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, { cache: 'no-store' });\n\t\tif (response.ok) {\n\t\t\tconst data = await response.json();\n\t\t\treturn data;\n\t\t} else {\n\t\t\tthrow new Error(response.statusText);\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Error fetching data:', error);\n\t}\n};\n\nexport const getFeatured = async function (category: any) {\n\tconst locale = getLocale().toLowerCase();\n\tconst t = Date.now();\n\n\tconst endpoint = `https://cdn.builder.io/\n\t\t\tapi/v3/\n\t\t\tcontent/insights-post?\n\t\t\tapiKey=${get(builderApiKey)}&\n\t\t\tlimit=10&\n\t\t\tquery.data.isFeatured=true&\n\t\t\tquery.data.categories.category.id=${category?.id}&\n\t\t\tquery.priority.$exists=true&\n\t\t\tbuilder.cachebust=true&\n\t\t\tbuilder.noCache=true&\n\t\t\tcacheSeconds=1&\n\t\t\tstaleCacheSeconds=1&\n\t\t\tincludeUnpublished=true&\n\t\t\tincludeRefs=true&\n\t\t\tbuilder.options.locale=${locale}&\n\t\t\tsort.data.createdAt=-1&\n\t\t\tt=${t}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, { cache: 'no-store' });\n\t\tif (response.ok) {\n\t\t\tconst data = await response.json();\n\t\t\treturn data;\n\t\t} else {\n\t\t\tthrow new Error(response.statusText);\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Error fetching data:', error);\n\t}\n};\n\nexport const getContentByUrl = async function (\n\tmodel: any,\n\turl: string,\n\tapiKey: string,\n\tlocale: string,\n\tfields: string[] = []\n) {\n\tconst t = Date.now();\n\n\tconst endpoint = `${CONTENT_API}/${model}?\n\t\t\tapiKey=${apiKey}&\n\t\t\tlimit=1&\n\t\t\t${fields?.length > 0 ? `fields=${fields.join(',')}&` : ''}\n\t\t\tquery.data.url=${url}&\n\t\t\tquery.priority.$exists=true&\n\t\t\tbuilder.cachebust=true&\n\t\t\tbuilder.noCache=true&\n\t\t\tcacheSeconds=1&\n\t\t\tstaleCacheSeconds=1&\n\t\t\tincludeUnpublished=true&\n\t\t\tincludeRefs=true&\n\t\t\tbuilder.options.locale=${locale}&\n\t\t\tt=${t}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, { cache: 'no-store' });\n\t\tif (response.ok) {\n\t\t\tconst data = await response.json();\n\t\t\tif (data?.results?.length > 0) {\n\t\t\t\treturn data.results[0];\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(response.statusText);\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Error fetching data:', error);\n\t}\n};\n\nexport const getContentById = async function (\n\tid: string,\n\tmodel: string,\n\tapiKey: string,\n\tfields: string[] = []\n) {\n\tconst t = Date.now();\n\n\tconst endpoint = `${CONTENT_API}/${model}?\n\t\t\tapiKey=${apiKey}&\n\t\t\tlimit=1&\n\t\t\t${fields?.length > 0 ? `fields=${fields.join(',')}&` : ''}\n\t\t\tquery.id=${id}&\n\t\t\tquery.priority.$exists=true&\n\t\t\tbuilder.cachebust=true&\n\t\t\tbuilder.noCache=true&\n\t\t\tcacheSeconds=1&\n\t\t\tstaleCacheSeconds=1&\n\t\t\tincludeUnpublished=true&\n\t\t\tincludeRefs=true&\n\t\t\tt=${t}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, { cache: 'no-store' });\n\t\tif (response.ok) {\n\t\t\tconst data = await response.json();\n\t\t\tif (data?.results?.length > 0) {\n\t\t\t\treturn data.results[0];\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error(response.statusText);\n\t\t}\n\t} catch (error) {\n\t\tconsole.error('Error fetching data:', error);\n\t}\n};\n","<script lang=\"ts\">\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { Blocks } from '@builder.io/sdk-svelte';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let fullWidth: boolean = false;\n\texport let builderBlock: BuilderBlock | undefined = undefined;\n\texport let marginBottom: boolean = false;\n\texport let anchorId: string | null = null;\n\n\t$: children = builderBlock?.children ?? [];\n\texport let customClass: string = '';\n</script>\n\n<div\n\tdata-anchor-id={anchorId}\n\tid={anchorId}\n\tclass={twMerge(\n\t\t'max-w-[200px]',\n\t\t!fullWidth && 'max-w-[var(--container-max-width)]',\n\t\tmarginBottom && 'mb-14 lg:mb-[120px]',\n\t\t'mx-auto w-full px-4',\n\t\tcustomClass\n\t)}\n>\n\t{#if builderBlock && children}\n\t\t<Blocks parent={builderBlock.id} blocks={children} path=\"children\" styleProp={{}} />\n\t{:else}\n\t\t<slot />\n\t{/if}\n</div>\n","<script lang=\"ts\">\n\timport { InsButton, ButtonType, IconName } from '@se/common/src/components';\n\timport { twMerge } from 'tailwind-merge';\n\timport { isMobile } from '@se/common/stores';\n\timport { analytics, DataLayerEventName, getCtaCategory } from '@se/core/services/analytics';\n\n\texport let type: ButtonType = ButtonType.TEXT;\n\texport let tooltipPositionY: 'top' | 'bottom' = 'top';\n\texport let tooltipPositionX: string = '';\n\texport let buttonText: string = 'Share Report';\n\texport let shareLink: string = '';\n\texport let shareLinkTitleForMobile: string = '';\n\texport let customClass: string = '';\n\texport let showShareButton: boolean = true;\n\texport let tooltipRelativeToWrapper: boolean = false;\n\n\tlet showTooltip = false;\n\n\tconst onClick = () => {\n\t\tconst title = shareLinkTitleForMobile || document.title;\n\t\tconst url = shareLink || window.location.href;\n\n\t\tif ($isMobile && navigator) {\n\t\t\tnavigator.share({ title, url });\n\t\t} else {\n\t\t\tnavigator.clipboard.writeText(url);\n\t\t\ttoggleTooltip();\n\t\t}\n\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.CTA_CLICK,\n\t\t\tcta_location: `Share Button`,\n\t\t\tcta_name: buttonText ?? '',\n\t\t\tcta_link: url,\n\t\t\tcta_category: getCtaCategory(window.location.href),\n\t\t});\n\t};\n\n\tconst toggleTooltip = () => {\n\t\tshowTooltip = true;\n\t\tsetTimeout(() => (showTooltip = false), 1750);\n\t};\n</script>\n\n{#if showShareButton}\n\t<InsButton\n\t\ttooltipText=\"Link copied to the clipboard\"\n\t\t{showTooltip}\n\t\t{type}\n\t\tctaText={buttonText}\n\t\tshowIconLeft={true}\n\t\ticonLeft={IconName.SHARE}\n\t\troundedIcon={IconName.SHARE}\n\t\t{onClick}\n\t\t{tooltipPositionX}\n\t\t{tooltipPositionY}\n\t\tcustomClass={twMerge(customClass, tooltipRelativeToWrapper ? 'static' : '')}\n\t/>\n{/if}\n","<script lang=\"ts\">\n\timport { InsButton, ButtonType, IconName } from '@se/common/src/components';\n\timport { analytics, DataLayerEventName, getCtaCategory } from '@se/core/services/analytics';\n\n\texport let showDownloadButton: boolean = true;\n\texport let downloadLink: string = '';\n\texport let downloadFileName: string = '';\n\n\tconst onClick = async () => {\n\t\tconst result = await fetch(downloadLink);\n\t\tconst blob = await result.blob();\n\t\tconst href = window.URL.createObjectURL(blob);\n\n\t\tconst pdfAnchor = document.createElement('a');\n\t\tpdfAnchor.download = downloadFileName || 'document.pdf';\n\t\tpdfAnchor.href = href;\n\t\tpdfAnchor.dispatchEvent(new MouseEvent('click'));\n\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.FILE_DOWNLOAD,\n\t\t\tcta_location: `Download Button`,\n\t\t\tcta_name: '',\n\t\t\tcta_link: downloadLink,\n\t\t\tcta_category: getCtaCategory(window.location.href),\n\t\t});\n\t};\n</script>\n\n{#if showDownloadButton}\n\t<InsButton type={ButtonType.ROUNDED} roundedIcon={IconName.DOWNLOAD} {onClick} />\n{/if}\n","<script lang=\"ts\">\n\timport QdsSsrWrapper from '../container/QdsSsrWrapper.svelte';\n\texport let kicker: string | undefined = undefined;\n\texport let subtitle: string | undefined = undefined;\n\texport let titleTag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\texport let layer: 'main' | 'panel' | 'navigation' | 'popup' | 'accessory' | undefined = undefined;\n\texport let level: 'root' | 'section' | 'subsection' | undefined = undefined;\n\texport let variant:\n\t\t| 'web-promo'\n\t\t| 'web-main-subsection-card'\n\t\t| 'web-main-section-display'\n\t\t| 'web-main-section-hero'\n\t\t| undefined = undefined;\n\texport let alignment: 'center' | 'end' | 'start' | undefined = undefined;\n\texport let iconLibrary: string = 'default';\n\texport let iconName: string | undefined = undefined;\n</script>\n\n<QdsSsrWrapper>\n\t<qds-title\n\t\t{layer}\n\t\t{level}\n\t\t{variant}\n\t\t{kicker}\n\t\t{subtitle}\n\t\ttag={titleTag}\n\t\t{alignment}\n\t\ticon-library={iconLibrary}\n\t\ticon-name={iconName}\n\t>\n\t\t<slot />\n\t</qds-title>\n</QdsSsrWrapper>\n","<script lang=\"ts\">\n\timport { afterNavigate } from '$app/navigation';\n\t$: didNavigate = false;\n\tafterNavigate(() => {\n\t\tdidNavigate = true;\n\t});\n</script>\n\n{#if !didNavigate}\n\t<slot />\n{:else}\n\t<slot />\n{/if}\n","import type { Nillable } from './nillable';\nimport { isNillable } from './nillable';\nimport { isString } from 'lodash-es';\n\nexport function isEmptyString(predictable: string): boolean {\n\treturn predictable.trim() === '';\n}\n\nexport function isNotNillableAndNotEmptyString<T>(\n\tpredictable: Nillable<T | string>\n): predictable is string {\n\treturn !isNillable(predictable) && isString(predictable) && !isEmptyString(predictable);\n}\n","import type { QdsButton } from '../../shared/qds-button';\nimport { ButtonUtility } from '../builder/qds-button-builder-input-factory';\nimport type { TButtonUtility } from '../index';\nimport { analytics, DataLayerEventName, getCtaCategory } from '@se/core/services/analytics';\nimport type { ComponentProps } from 'svelte';\n\nexport const handleCTAClick = (\n\tutilityObj: ComponentProps<QdsButton> | TButtonUtility,\n\tisMobile?: boolean\n) => {\n\tswitch (utilityObj.utility) {\n\t\tcase ButtonUtility.LINK as string:\n\t\t\tonOpenLink(utilityObj);\n\t\t\tbreak;\n\t\tcase ButtonUtility.DOWNLOAD as string:\n\t\t\tonDownload(utilityObj);\n\t\t\tbreak;\n\n\t\tcase ButtonUtility.SHARE as string:\n\t\t\tonShare(utilityObj, isMobile as boolean);\n\t\t\tbreak;\n\n\t\tcase ButtonUtility.PRINT as string:\n\t\t\tonPrint(utilityObj);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tonOpenLink(utilityObj);\n\t\t\tbreak;\n\t}\n};\n\nexport const onOpenLink = (utility: ComponentProps<QdsButton> | TButtonUtility) => {\n\tconst url = utility.url;\n\tconst whereToOpen = utility.openLink;\n\n\tif (whereToOpen?.includes('same')) {\n\t\twindow?.open(url, '_self');\n\t} else {\n\t\twindow?.open(url);\n\t}\n};\n\nexport const onShare = (utility: ComponentProps<QdsButton> | TButtonUtility, isMobile: boolean) => {\n\tconst title = utility.shareTitle || document.title;\n\tconst url =\n\t\t(('link' in utility && utility.link?.resolvedUrl) ?? utility.url) || window.location.href;\n\n\tif (isMobile && navigator) {\n\t\tnavigator.share({ title, url });\n\t} else {\n\t\tnavigator.clipboard.writeText(url);\n\t}\n\n\tanalytics.pushToDataLayer({\n\t\tevent: DataLayerEventName.CTA_CLICK,\n\t\tcta_location: `Share Button`,\n\t\tcta_name: 'Share',\n\t\tcta_link: url,\n\t\tcta_category: getCtaCategory(window.location.href),\n\t});\n};\n\nexport const onDownload = async (utility: ComponentProps<QdsButton> | TButtonUtility) => {\n\tconst result = await fetch(utility.url);\n\tconst blob = await result.blob();\n\tconst href = window.URL.createObjectURL(blob);\n\n\tconst pdfAnchor = document.createElement('a');\n\tpdfAnchor.download = utility.documentId || 'document.pdf';\n\tpdfAnchor.href = href;\n\tpdfAnchor.dispatchEvent(new MouseEvent('click'));\n\n\tanalytics.pushToDataLayer({\n\t\tevent: DataLayerEventName.FILE_DOWNLOAD,\n\t\tcta_location: `Download Button`,\n\t\tcta_name: 'Download',\n\t\tcta_link: utility.url,\n\t\tcta_category: getCtaCategory(window.location.href),\n\t});\n};\n\nexport const onPrint = async (utility: ComponentProps<QdsButton> | TButtonUtility) => {\n\tconst url = ('link' in utility && utility.link?.resolvedUrl) ?? utility.url;\n\tconst result = await fetch(url);\n\tconst blob = await result.blob();\n\tconst src = window.URL.createObjectURL(blob);\n\n\tconsole.log('onPrint utility', utility);\n\n\tconst printerIFrame = document.createElement('iframe');\n\tprinterIFrame.src = src;\n\tdocument.body.appendChild(printerIFrame);\n\tprinterIFrame?.contentWindow?.print();\n\n\tconst removePrinterIFrame = () => document.body.removeChild(printerIFrame);\n\tif (window.matchMedia) {\n\t\twindow.matchMedia('print').addEventListener('onafterpint', removePrinterIFrame);\n\t} else {\n\t\twindow.addEventListener('onafterprint', removePrinterIFrame);\n\t}\n\n\tanalytics.pushToDataLayer({\n\t\tevent: DataLayerEventName.FILE_DOWNLOAD,\n\t\tcta_location: `Print Button`,\n\t\tcta_name: 'Print',\n\t\tcta_link: utility.url,\n\t\tcta_category: getCtaCategory(window.location.href),\n\t});\n\n\treturn {\n\t\tdestroy() {\n\t\t\tif (window.matchMedia) {\n\t\t\t\twindow.matchMedia('print').removeEventListener('onafterpint', removePrinterIFrame);\n\t\t\t} else {\n\t\t\t\twindow.removeEventListener('onafterprint', removePrinterIFrame);\n\t\t\t}\n\t\t},\n\t};\n};\n","<script lang=\"ts\">\n\timport QdsSsrWrapper from '../container/QdsSsrWrapper.svelte';\n\texport let placement:\n\t\t| 'bottom'\n\t\t| 'bottom-end'\n\t\t| 'bottom-start'\n\t\t| 'left'\n\t\t| 'left-end'\n\t\t| 'left-start'\n\t\t| 'right'\n\t\t| 'right-end'\n\t\t| 'right-start'\n\t\t| 'top'\n\t\t| 'top-end'\n\t\t| 'top-start';\n\texport let disabled: boolean | undefined = undefined;\n\texport let noFlip: boolean | undefined = undefined;\n\texport let noShift: boolean | undefined = undefined;\n</script>\n\n<QdsSsrWrapper>\n\t<qds-tooltip {placement} {noFlip} {disabled} {noShift} {...$$restProps}>\n\t\t<slot></slot>\n\t</qds-tooltip>\n</QdsSsrWrapper>\n\n<style>\n\tqds-tooltip {\n\t\tz-index: 999;\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport newUniqueId from 'locally-unique-id-generator-esm';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport type { ComponentProps } from 'svelte';\n\n\t// internal dependencies\n\timport { QdsBlockPromo } from '../../shared/qds-block-promo';\n\timport { QdsButton } from '../../shared/qds-button';\n\timport { BackgroundColor, ColorCode, Size, Variant, VideoSource } from '../constant';\n\timport QdsBuilderContainer from '../container/QdsBuilderContainer.svelte';\n\timport { ImageSource } from '../constant';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport type { ComponentStylesType } from '../../CC-03/shared/component-styles-wrapper/types';\n\timport RequestedTranslationsTooltip from '../../../modules/global-link/components/RequestedTranslationsTooltip.svelte';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport ComponentStylesWrapper from '../../CC-03/shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport { isInvalidLink, internalLinksStatusStore } from '../../embedded-link';\n\timport type { CTAOptionsType } from './types';\n\timport { extractVideoId } from '@se/common/src/utils/extract-video-id';\n\n\t// Required props\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType;\n\texport let builderBlock: BuilderBlock;\n\texport let customClass: string;\n\n\t// Component specific props\n\texport let blockPromo: ComponentProps<QdsBlockPromo>;\n\texport let showFirstCTA: boolean;\n\texport let showSecondCTA: boolean;\n\texport let firstCTAOptions: CTAOptionsType;\n\texport let secondCTAOptions: CTAOptionsType;\n\n\tlet videoThumbnail: string | undefined;\n\n\tlet styles = {\n\t\t'qds-theme-main-background': ColorCode.WHITE_100,\n\t\t'qds-theme-main-subsection-standard-background': ColorCode.WHITE_100,\n\t};\n\n\tlet overrideStyleVars = Object.entries(styles)\n\t\t.map(([key, value]) => `--${key}:${value}`)\n\t\t.join(';');\n\n\t$: {\n\t\tif (blockPromo?.videoSource === VideoSource.YOU_TUBE && blockPromo?.youTubeVideo?.resolvedUrl) {\n\t\t\tconst videoId = extractVideoId(blockPromo?.youTubeVideo?.resolvedUrl);\n\t\t\tvideoThumbnail = `https://img.youtube.com/vi/${videoId}/hqdefault.jpg`;\n\t\t} else {\n\t\t\tvideoThumbnail = undefined;\n\t\t}\n\t}\n\n\tconst updateStyleProps = () => {\n\t\tstyles['qds-theme-main-background'] =\n\t\t\tblockPromo.backgroundColor === BackgroundColor.GREY\n\t\t\t\t? ColorCode.GREY_100\n\t\t\t\t: blockPromo.backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t\t? ColorCode.LIGHT_GREY_100\n\t\t\t\t\t: ColorCode.WHITE_100;\n\n\t\tstyles['qds-theme-main-subsection-standard-background'] =\n\t\t\tblockPromo.backgroundColor === BackgroundColor.GREY\n\t\t\t\t? ColorCode.GREY_100\n\t\t\t\t: blockPromo.backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t\t? ColorCode.LIGHT_GREY_100\n\t\t\t\t\t: ColorCode.WHITE_100;\n\n\t\toverrideStyleVars = Object.entries(styles)\n\t\t\t.map(([key, value]) => `--${key}:${value}`)\n\t\t\t.join(';');\n\t};\n\n\t$: backgroundColor =\n\t\tblockPromo.backgroundColor === BackgroundColor.GREY\n\t\t\t? ColorCode.GREY_100\n\t\t\t: blockPromo.backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t? ColorCode.LIGHT_GREY_100\n\t\t\t\t: ColorCode.WHITE_100;\n\n\t// TODO: should run on only background color instead of any key change\n\t$: blockPromo, updateStyleProps();\n\t$: videoSrc =\n\t\tblockPromo?.videoSource === VideoSource.YOU_TUBE\n\t\t\t? blockPromo?.youTubeVideo?.resolvedUrl\n\t\t\t: blockPromo?.aprimoVideo?.aprimoOptions?.videoUri;\n\t$: isAprimo = blockPromo?.imageSource === ImageSource.APRIMO;\n\t$: imageSrc = isAprimo\n\t\t? blockPromo?.backgroundImage?.cropsDetails?.horizontal?.uri\n\t\t: blockPromo?.externalBackgroundImage;\n\n\t$: showFirstButton =\n\t\tshowFirstCTA &&\n\t\t!isInvalidLink($internalLinksStatusStore, firstCTAOptions?.url) &&\n\t\tfirstCTAOptions?.text;\n\t$: showSecondButton =\n\t\tshowSecondCTA &&\n\t\t!isInvalidLink($internalLinksStatusStore, secondCTAOptions?.url) &&\n\t\tsecondCTAOptions?.text;\n\t$: customVideoThumbnail = blockPromo?.videoThumbnail;\n</script>\n\n<RequestedTranslationsTooltip id={builderBlock?.id} />\n<ComponentStylesWrapper\n\t{ComponentStyles}\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n>\n\t<div\n\t\tdata-testid={COMPONENT_META_DATA.NAME}\n\t\tclass={twMerge(`bg-[${backgroundColor}]`, customClass)}\n\t>\n\t\t<QdsBuilderContainer customClass=\"max-w-none\">\n\t\t\t{@const promoId = newUniqueId()}\n\t\t\t<QdsBlockPromo\n\t\t\t\t{...blockPromo}\n\t\t\t\t{imageSrc}\n\t\t\t\t{videoSrc}\n\t\t\t\t{videoThumbnail}\n\t\t\t\t{customVideoThumbnail}\n\t\t\t\t{overrideStyleVars}\n\t\t\t\tid={promoId}\n\t\t\t>\n\t\t\t\t{@const blockPromoSize = blockPromo.size}\n\t\t\t\t{@const ctaFirstBtnId = newUniqueId()}\n\t\t\t\t{@const ctaSecondBtnId = newUniqueId()}\n\t\t\t\t{#if showFirstButton}\n\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t{...firstCTAOptions}\n\t\t\t\t\t\t{...{ variant: blockPromoSize === Size.LARGE ? Variant.HERO : undefined }}\n\t\t\t\t\t\ttarget={firstCTAOptions?.url?.target}\n\t\t\t\t\t\thref={firstCTAOptions?.url?.resolvedUrl}\n\t\t\t\t\t\tlink={firstCTAOptions?.url}\n\t\t\t\t\t\tid={ctaFirstBtnId}\n\t\t\t\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\t\t\t\tgaEventName={firstCTAOptions?.text}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t\t{#if showSecondButton}\n\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t{...secondCTAOptions}\n\t\t\t\t\t\t{...{ variant: blockPromoSize === Size.LARGE ? Variant.HERO : undefined }}\n\t\t\t\t\t\ttarget={secondCTAOptions?.url?.target}\n\t\t\t\t\t\thref={secondCTAOptions?.url?.resolvedUrl}\n\t\t\t\t\t\tlink={secondCTAOptions?.url}\n\t\t\t\t\t\tid={ctaSecondBtnId}\n\t\t\t\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\t\t\t\tgaEventName={secondCTAOptions?.text}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t</QdsBlockPromo>\n\t\t</QdsBuilderContainer>\n\t</div>\n</ComponentStylesWrapper>\n"],"names":["isLocalizedValue","field","getLocalizedValue","locale","getLocale","ButtonTypes","ctx","insert_hydration","target","div","anchor","create_if_block","srcset_url_equal","source0","source0_srcset_value","constant.DESKTOP","attr","source1","source1_srcset_value","constant.TABLET","img","img_src_value","append_hydration","picture","current","dirty","desktopImage","$$props","tabletImage","mobileImage","alt","isVideo","objectFit","imageClass","wrapperClass","imageWidth","loadingParam","width","height","hoverState","defaultImage","dispatch","createEventDispatcher","imageFormatterHandeler","imageURL","device","constant.BUILDER_CDN_DOMAIN","constant.IMAGE_FORMAT","constant.IMG_QUALITY","constant.MOB_IMG_QUALITY","constant.MOBILE","handlePlayButtonClick","isNillable","predictable","animationState","mobileThreshold","desktopThreshold","customClass","threshold","test","animateOnce","element","$$value","e","isIntersecting","$$invalidate","passedComponentEdge","_a","observerThreshold","$isDesktop","actionCloseIcon","CONTENT_API","getTabsContent","model","skipLocale","localeParam","apiKey","get","builderApiKey","fetchEntries","getLatestInCategory","category","t","endpoint","response","error","getFeatured","getContentByUrl","url","fields","data","getContentById","id","blocks_changes","div_class_value","twMerge","fullWidth","builderBlock","marginBottom","anchorId","children","IconName","insbutton_changes","type","ButtonType","tooltipPositionY","tooltipPositionX","buttonText","shareLink","shareLinkTitleForMobile","showShareButton","tooltipRelativeToWrapper","showTooltip","onClick","title","$isMobile","toggleTooltip","analytics","DataLayerEventName","getCtaCategory","showDownloadButton","downloadLink","downloadFileName","blob","href","pdfAnchor","qds_title","kicker","subtitle","titleTag","layer","level","variant","alignment","iconLibrary","iconName","afterNavigate","didNavigate","isEmptyString","handleCTAClick","utilityObj","isMobile","ButtonUtility","onOpenLink","onDownload","onShare","onPrint","utility","whereToOpen","src","printerIFrame","_b","removePrinterIFrame","qds_tooltip","placement","disabled","noFlip","noShift","newUniqueId","constants_0","Size","Variant","_d","_c","_e","_g","_f","_h","create_if_block_1","COMPONENT_META_DATA","isComponentOutdated","requestedtranslationstooltip_changes","componentstyleswrapper_changes","componentVersion","ComponentStyles","blockPromo","showFirstCTA","showSecondCTA","firstCTAOptions","secondCTAOptions","videoThumbnail","styles","ColorCode","overrideStyleVars","key","value","updateStyleProps","BackgroundColor","VideoSource","videoId","extractVideoId","backgroundColor","videoSrc","isAprimo","ImageSource","imageSrc","showFirstButton","isInvalidLink","$internalLinksStatusStore","showSecondButton","customVideoThumbnail"],"mappings":"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"}