{"version":3,"file":"ContentLinkBlock.078d5T8j.js","sources":["../../../../../../../../packages/common/src/utils/builder-block.ts","../../../../../../../../packages/builder-oem/src/components/aprimo-dam/AprimoVideoMetadata/AprimoVideoMetadata.svelte","../../../../../../../../packages/builder-oem/src/modules/dynamic-heading/heading-store.ts","../../../../../../../../packages/builder-oem/src/modules/dynamic-heading/get-dynamic-heading-tag.ts","../../../../../../../../packages/builder-oem/src/modules/dynamic-heading/DynamicHeading.svelte","../../../../../../../../node_modules/.pnpm/embla-carousel-autoplay@8.3.0_embla-carousel@8.3.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js","../../../../../../../../node_modules/.pnpm/embla-carousel-reactive-utils@8.3.0_embla-carousel@8.3.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js","../../../../../../../../node_modules/.pnpm/embla-carousel@8.3.0/node_modules/embla-carousel/esm/embla-carousel.esm.js","../../../../../../../../node_modules/.pnpm/embla-carousel-svelte@8.3.0_svelte@4.2.18/node_modules/embla-carousel-svelte/esm/embla-carousel-svelte.esm.js","../../../../../../../../packages/builder-oem/src/components/shared/shared-carousel/EmblaCarousel.svelte","../../../../../../../../packages/builder-oem/src/components/shared/qds-standalone-link/QdsStandaloneLink.svelte","../../../../../../../../packages/builder-oem/src/components/Reusable/VideoThumbnail.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/shared/product-card/ProductCard.svelte","../../../../../../../../packages/builder-oem/src/components/aprimo-dam/utils/useResizeObserver.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/shared/success-story/SharedContent.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/shared/success-story/fragments/VideoCard.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-160-HorizontalTabs-v2/tabs/Tabs.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-160-HorizontalTabs-v2/fragments/Container.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-160-HorizontalTabs-v2/HorizontalTabs.svelte","../../../../../../../../packages/builder-oem/src/assets/icons/down-arrow.svg","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-164-ContentAccordionGroup/ContentAccordionGroup.svelte","../../../../../../../../packages/builder-oem/src/components/shared/carousel-navigation/consts.ts","../../../../../../../../packages/builder-oem/src/components/shared/carousel-navigation/CarouselNavigation.svelte","../../../../../../../../packages/builder-oem/src/modules/product-image/fetch-product-picture.ts","../../../../../../../../packages/builder-oem/src/modules/product-image/locale-map.ts","../../../../../../../../packages/builder-oem/src/modules/product-image/get-mapped-locale.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-165-ContentProductBlock/cached-pes-images.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-165-ContentProductBlock/ContentProductBlock.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-26-ContentKpiValues-v2/ContentKpiValues.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-28-Content-Button/components/ContentButton.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-28-Content-Button/ContentButton.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-31-ContentFeatureBlock-v2/components/CardWrapper.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-31-ContentFeatureBlock-v2/components/ContentFeatureBlockCard.svelte","../../../../../../../../packages/builder-oem/src/components/shared/qds-web-carousel/QdsWebCarousel.svelte","../../../../../../../../packages/builder-oem/src/components/shared/qds-web-carousel/QdsWebCarouselItem.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-31-ContentFeatureBlock-v2/components/WidgetContainer.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-31-ContentFeatureBlock-v2/ContentFeatureBlock.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/components/SharedTextContent.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/components/CustomAprimoVideo.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/components/YouTubeVideo.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/components/CardItem.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/utils.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-32-ContentBenefitsCard-v2/ContentBenefitsCard.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-33-Content-BusinessSolutionsCard/store.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-33-Content-BusinessSolutionsCard/utils.ts","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-33-Content-BusinessSolutionsCard/BusinessSolutionsCardItem.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-33-Content-BusinessSolutionsCard/BusinessSolutionsCard.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-34-Content-Table-Licenses-v2/icons/Icon.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-34-Content-Table-Licenses-v2/fragments/TableSection.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-34-Content-Table-Licenses-v2/TableLicenses.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-29-ContentLinkBlock-v3/components/YoutubeCard.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-29-ContentLinkBlock-v3/components/ContentLinkCardButton.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-29-ContentLinkBlock-v3/components/ContentLinkBlockItem.svelte","../../../../../../../../packages/builder-oem/src/components/CC-03/CC-03-29-ContentLinkBlock-v3/ContentLinkBlock.svelte"],"sourcesContent":["import type { BuilderBlock } from '@builder.io/sdk-svelte';\nimport { getContext, setContext } from 'svelte';\n\nconst CONTEXT_NAME = 'builderBlock';\n\nexport const setBuilderBlock = (builderBlock: BuilderBlock | null | undefined) => {\n\treturn setContext(CONTEXT_NAME, builderBlock ?? undefined);\n};\n\nexport const getBuilderBlock = () => {\n\treturn getContext<BuilderBlock | undefined>(CONTEXT_NAME);\n};\n","<script lang=\"ts\">\n\timport AprimoAssetMetadata from '../AprimoAssetMetadata/AprimoAssetMetadata.svelte';\n\timport MetadataList from '../AprimoAssetMetadata/MetadataList.svelte';\n\timport type { IAprimoVideoMetadata } from '../types';\n\n\texport let metadata: IAprimoVideoMetadata;\n</script>\n\n<div class=\"relative z-30\">\n\t{#if metadata.originalVideoMetadata}\n\t\t<AprimoAssetMetadata>\n\t\t\t<MetadataList details={metadata.originalVideoMetadata} />\n\t\t</AprimoAssetMetadata>\n\t{/if}\n</div>\n","import type { Writable } from 'svelte/store';\nimport { writable } from 'svelte/store';\n\ntype HeadingState = {\n\tfirstComponentId: string | null;\n};\n\nexport const headingStore: Writable<HeadingState> = writable({\n\tfirstComponentId: null,\n});\n\nexport function registerComponentForDynamicHeadings(\n\tid: string | undefined,\n\tcanBeH1?: boolean\n): void {\n\tif (!id) return;\n\n\theadingStore.update((state) => {\n\t\tif (!state.firstComponentId && (canBeH1 || canBeH1 === undefined)) {\n\t\t\tstate.firstComponentId = id;\n\t\t}\n\n\t\treturn state;\n\t});\n}\n","import { getNestedContext } from './nested-context';\n\ntype HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\ntype GetDynamicHeadingTagArgs = {\n\tisFirst?: boolean;\n\tinitialLevel: number;\n};\n\nconst MAX_HEADING_LEVEL = 6;\n\nexport const getDynamicHeadingTag = ({\n\tisFirst = false,\n\tinitialLevel,\n}: GetDynamicHeadingTagArgs) => {\n\tconst isNested = getNestedContext() ?? false;\n\tconst level = Math.min(\n\t\tisFirst ? 1 : isNested ? initialLevel + 1 : initialLevel,\n\t\tMAX_HEADING_LEVEL\n\t);\n\n\treturn `h${level}` as HeadingTag;\n};\n","<script lang=\"ts\">\n\timport { twMerge } from 'tailwind-merge';\n\timport { getBuilderBlock } from '@se/common/utils';\n\timport { accessibilityMode } from '@se/common/src/stores';\n\timport { getDynamicHeadingTag } from './get-dynamic-heading-tag';\n\timport { headingStore } from './heading-store';\n\timport { HeadingSizeVariant } from './types';\n\n\texport let initialLevel: number;\n\texport let canBeH1: boolean = false;\n\texport let customClass: string | undefined = undefined;\n\texport let staticLevel: HeadingSizeVariant | undefined = undefined;\n\n\tconst builderBlock = getBuilderBlock();\n\n\tconst tag = getDynamicHeadingTag({\n\t\tinitialLevel,\n\t\tisFirst: canBeH1 && builderBlock?.id === $headingStore.firstComponentId,\n\t});\n\n\t$: accessibilityClass = $accessibilityMode\n\t\t? 'text-white md:text-white lg:text-white bg-black'\n\t\t: '';\n</script>\n\n<svelte:element\n\tthis={staticLevel === undefined || staticLevel === HeadingSizeVariant.AUTO ? tag : staticLevel}\n\tclass={twMerge(customClass, accessibilityClass)}\n>\n\t<slot></slot>\n</svelte:element>\n","const defaultOptions = {\n active: true,\n breakpoints: {},\n delay: 4000,\n jump: false,\n playOnInit: true,\n stopOnFocusIn: true,\n stopOnInteraction: true,\n stopOnMouseEnter: false,\n stopOnLastSnap: false,\n rootNode: null\n};\n\nfunction Autoplay(userOptions = {}) {\n let options;\n let emblaApi;\n let destroyed;\n let playing = false;\n let resume = true;\n let jump = false;\n let timer = 0;\n function init(emblaApiInstance, optionsHandler) {\n emblaApi = emblaApiInstance;\n const {\n mergeOptions,\n optionsAtMedia\n } = optionsHandler;\n const optionsBase = mergeOptions(defaultOptions, Autoplay.globalOptions);\n const allOptions = mergeOptions(optionsBase, userOptions);\n options = optionsAtMedia(allOptions);\n if (emblaApi.scrollSnapList().length <= 1) return;\n jump = options.jump;\n destroyed = false;\n const {\n eventStore,\n ownerDocument\n } = emblaApi.internalEngine();\n const emblaRoot = emblaApi.rootNode();\n const root = options.rootNode && options.rootNode(emblaRoot) || emblaRoot;\n const container = emblaApi.containerNode();\n emblaApi.on('pointerDown', stopTimer);\n if (!options.stopOnInteraction) {\n emblaApi.on('pointerUp', startTimer);\n }\n if (options.stopOnMouseEnter) {\n eventStore.add(root, 'mouseenter', () => {\n resume = false;\n stopTimer();\n });\n if (!options.stopOnInteraction) {\n eventStore.add(root, 'mouseleave', () => {\n resume = true;\n startTimer();\n });\n }\n }\n if (options.stopOnFocusIn) {\n emblaApi.on('slideFocusStart', stopTimer);\n if (!options.stopOnInteraction) {\n eventStore.add(container, 'focusout', startTimer);\n }\n }\n eventStore.add(ownerDocument, 'visibilitychange', visibilityChange);\n if (options.playOnInit && !documentIsHidden()) startTimer();\n }\n function destroy() {\n emblaApi.off('pointerDown', stopTimer).off('pointerUp', startTimer).off('slideFocusStart', stopTimer);\n stopTimer();\n destroyed = true;\n playing = false;\n }\n function startTimer() {\n if (destroyed) return;\n if (!resume) return;\n if (!playing) emblaApi.emit('autoplay:play');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = ownerWindow.setInterval(next, options.delay);\n playing = true;\n }\n function stopTimer() {\n if (destroyed) return;\n if (playing) emblaApi.emit('autoplay:stop');\n const {\n ownerWindow\n } = emblaApi.internalEngine();\n ownerWindow.clearInterval(timer);\n timer = 0;\n playing = false;\n }\n function visibilityChange() {\n if (documentIsHidden()) {\n resume = playing;\n return stopTimer();\n }\n if (resume) startTimer();\n }\n function documentIsHidden() {\n const {\n ownerDocument\n } = emblaApi.internalEngine();\n return ownerDocument.visibilityState === 'hidden';\n }\n function play(jumpOverride) {\n if (typeof jumpOverride !== 'undefined') jump = jumpOverride;\n resume = true;\n startTimer();\n }\n function stop() {\n if (playing) stopTimer();\n }\n function reset() {\n if (playing) play();\n }\n function isPlaying() {\n return playing;\n }\n function next() {\n const {\n index\n } = emblaApi.internalEngine();\n const nextIndex = index.clone().add(1).get();\n const lastIndex = emblaApi.scrollSnapList().length - 1;\n const kill = options.stopOnLastSnap && nextIndex === lastIndex;\n if (kill) stopTimer();\n if (emblaApi.canScrollNext()) {\n emblaApi.scrollNext(jump);\n } else {\n emblaApi.scrollTo(0, jump);\n }\n }\n const self = {\n name: 'autoplay',\n options: userOptions,\n init,\n destroy,\n play,\n stop,\n reset,\n isPlaying\n };\n return self;\n}\nAutoplay.globalOptions = undefined;\n\nexport { Autoplay as default };\n//# sourceMappingURL=embla-carousel-autoplay.esm.js.map\n","function isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction isRecord(subject) {\n return isObject(subject) || Array.isArray(subject);\n}\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\nfunction areOptionsEqual(optionsA, optionsB) {\n const optionsAKeys = Object.keys(optionsA);\n const optionsBKeys = Object.keys(optionsB);\n if (optionsAKeys.length !== optionsBKeys.length) return false;\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}));\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}));\n if (breakpointsA !== breakpointsB) return false;\n return optionsAKeys.every(key => {\n const valueA = optionsA[key];\n const valueB = optionsB[key];\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`;\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB;\n return areOptionsEqual(valueA, valueB);\n });\n}\nfunction sortAndMapPluginToOptions(plugins) {\n return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options);\n}\nfunction arePluginsEqual(pluginsA, pluginsB) {\n if (pluginsA.length !== pluginsB.length) return false;\n const optionsA = sortAndMapPluginToOptions(pluginsA);\n const optionsB = sortAndMapPluginToOptions(pluginsB);\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index];\n return areOptionsEqual(optionA, optionB);\n });\n}\n\nexport { areOptionsEqual, arePluginsEqual, canUseDOM, sortAndMapPluginToOptions };\n//# sourceMappingURL=embla-carousel-reactive-utils.esm.js.map\n","function isNumber(subject) {\n return typeof subject === 'number';\n}\nfunction isString(subject) {\n return typeof subject === 'string';\n}\nfunction isBoolean(subject) {\n return typeof subject === 'boolean';\n}\nfunction isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction mathAbs(n) {\n return Math.abs(n);\n}\nfunction mathSign(n) {\n return Math.sign(n);\n}\nfunction deltaAbs(valueB, valueA) {\n return mathAbs(valueB - valueA);\n}\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0;\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA));\n return mathAbs(diff / valueB);\n}\nfunction arrayKeys(array) {\n return objectKeys(array).map(Number);\n}\nfunction arrayLast(array) {\n return array[arrayLastIndex(array)];\n}\nfunction arrayLastIndex(array) {\n return Math.max(0, array.length - 1);\n}\nfunction arrayIsLastIndex(array, index) {\n return index === arrayLastIndex(array);\n}\nfunction arrayFromNumber(n, startAt = 0) {\n return Array.from(Array(n), (_, i) => startAt + i);\n}\nfunction objectKeys(object) {\n return Object.keys(object);\n}\nfunction objectsMergeDeep(objectA, objectB) {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach(key => {\n const valueA = mergedObjects[key];\n const valueB = currentObject[key];\n const areObjects = isObject(valueA) && isObject(valueB);\n mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB;\n });\n return mergedObjects;\n }, {});\n}\nfunction isMouseEvent(evt, ownerWindow) {\n return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent;\n}\n\nfunction Alignment(align, viewSize) {\n const predefined = {\n start,\n center,\n end\n };\n function start() {\n return 0;\n }\n function center(n) {\n return end(n) / 2;\n }\n function end(n) {\n return viewSize - n;\n }\n function measure(n, index) {\n if (isString(align)) return predefined[align](n);\n return align(viewSize, n, index);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction EventStore() {\n let listeners = [];\n function add(node, type, handler, options = {\n passive: true\n }) {\n let removeListener;\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options);\n removeListener = () => node.removeEventListener(type, handler, options);\n } else {\n const legacyMediaQueryList = node;\n legacyMediaQueryList.addListener(handler);\n removeListener = () => legacyMediaQueryList.removeListener(handler);\n }\n listeners.push(removeListener);\n return self;\n }\n function clear() {\n listeners = listeners.filter(remove => remove());\n }\n const self = {\n add,\n clear\n };\n return self;\n}\n\nfunction Animations(ownerDocument, ownerWindow, update, render) {\n const documentVisibleHandler = EventStore();\n const timeStep = 1000 / 60;\n let lastTimeStamp = null;\n let lag = 0;\n let animationFrame = 0;\n function init() {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset();\n });\n }\n function destroy() {\n stop();\n documentVisibleHandler.clear();\n }\n function animate(timeStamp) {\n if (!animationFrame) return;\n if (!lastTimeStamp) lastTimeStamp = timeStamp;\n const elapsed = timeStamp - lastTimeStamp;\n lastTimeStamp = timeStamp;\n lag += elapsed;\n while (lag >= timeStep) {\n update(timeStep);\n lag -= timeStep;\n }\n const lagOffset = lag / timeStep;\n render(lagOffset);\n if (animationFrame) ownerWindow.requestAnimationFrame(animate);\n }\n function start() {\n if (animationFrame) return;\n animationFrame = ownerWindow.requestAnimationFrame(animate);\n }\n function stop() {\n ownerWindow.cancelAnimationFrame(animationFrame);\n lastTimeStamp = null;\n lag = 0;\n animationFrame = 0;\n }\n function reset() {\n lastTimeStamp = null;\n lag = 0;\n }\n const self = {\n init,\n destroy,\n start,\n stop,\n update: () => update(timeStep),\n render\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n const isRightToLeft = contentDirection === 'rtl';\n const isVertical = axis === 'y';\n const scroll = isVertical ? 'y' : 'x';\n const cross = isVertical ? 'x' : 'y';\n const sign = !isVertical && isRightToLeft ? -1 : 1;\n const startEdge = getStartEdge();\n const endEdge = getEndEdge();\n function measureSize(nodeRect) {\n const {\n height,\n width\n } = nodeRect;\n return isVertical ? height : width;\n }\n function getStartEdge() {\n if (isVertical) return 'top';\n return isRightToLeft ? 'right' : 'left';\n }\n function getEndEdge() {\n if (isVertical) return 'bottom';\n return isRightToLeft ? 'left' : 'right';\n }\n function direction(n) {\n return n * sign;\n }\n const self = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n };\n return self;\n}\n\nfunction Limit(min = 0, max = 0) {\n const length = mathAbs(min - max);\n function reachedMin(n) {\n return n < min;\n }\n function reachedMax(n) {\n return n > max;\n }\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n const self = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n const {\n constrain\n } = Limit(0, max);\n const loopEnd = max + 1;\n let counter = withinLimit(start);\n function withinLimit(n) {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd);\n }\n function get() {\n return counter;\n }\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n function add(n) {\n return clone().set(get() + n);\n }\n function clone() {\n return Counter(max, get(), loop);\n }\n const self = {\n get,\n set,\n add,\n clone\n };\n return self;\n}\n\nfunction DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) {\n const {\n cross: crossAxis,\n direction\n } = axis;\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n const nonPassiveEvent = {\n passive: false\n };\n const initEvents = EventStore();\n const dragEvents = EventStore();\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20));\n const snapForceBoost = {\n mouse: 300,\n touch: 400\n };\n const freeForceBoost = {\n mouse: 500,\n touch: 600\n };\n const baseSpeed = dragFree ? 43 : 25;\n let isMoving = false;\n let startScroll = 0;\n let startCross = 0;\n let pointerIsDown = false;\n let preventScroll = false;\n let preventClick = false;\n let isMouse = false;\n function init(emblaApi) {\n if (!watchDrag) return;\n function downIfAllowed(evt) {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt);\n }\n const node = rootNode;\n initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true);\n }\n function destroy() {\n initEvents.clear();\n dragEvents.clear();\n }\n function addDragEvents() {\n const node = isMouse ? ownerDocument : rootNode;\n dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up);\n }\n function isFocusNode(node) {\n const nodeName = node.nodeName || '';\n return focusNodes.includes(nodeName);\n }\n function forceBoost() {\n const boost = dragFree ? freeForceBoost : snapForceBoost;\n const type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n function allowedForce(force, targetChanged) {\n const next = index.add(mathSign(force) * -1);\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n function down(evt) {\n const isMouseEvt = isMouseEvent(evt, ownerWindow);\n isMouse = isMouseEvt;\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving;\n isMoving = deltaAbs(target.get(), location.get()) >= 2;\n if (isMouseEvt && evt.button !== 0) return;\n if (isFocusNode(evt.target)) return;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n scrollBody.useFriction(0).useDuration(0);\n target.set(location);\n addDragEvents();\n startScroll = dragTracker.readPoint(evt);\n startCross = dragTracker.readPoint(evt, crossAxis);\n eventHandler.emit('pointerDown');\n }\n function move(evt) {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow);\n if (isTouchEvt && evt.touches.length >= 2) return up(evt);\n const lastScroll = dragTracker.readPoint(evt);\n const lastCross = dragTracker.readPoint(evt, crossAxis);\n const diffScroll = deltaAbs(lastScroll, startScroll);\n const diffCross = deltaAbs(lastCross, startCross);\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt);\n preventScroll = diffScroll > diffCross;\n if (!preventScroll) return up(evt);\n }\n const diff = dragTracker.pointerMove(evt);\n if (diffScroll > dragThreshold) preventClick = true;\n scrollBody.useFriction(0.3).useDuration(0.75);\n animation.start();\n target.add(direction(diff));\n evt.preventDefault();\n }\n function up(evt) {\n const currentLocation = scrollTarget.byDistance(0, false);\n const targetChanged = currentLocation.index !== index.get();\n const rawForce = dragTracker.pointerUp(evt) * forceBoost();\n const force = allowedForce(direction(rawForce), targetChanged);\n const forceFactor = factorAbs(rawForce, force);\n const speed = baseSpeed - 10 * forceFactor;\n const friction = baseFriction + forceFactor / 50;\n preventScroll = false;\n pointerIsDown = false;\n dragEvents.clear();\n scrollBody.useDuration(speed).useFriction(friction);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n eventHandler.emit('pointerUp');\n }\n function click(evt) {\n if (preventClick) {\n evt.stopPropagation();\n evt.preventDefault();\n preventClick = false;\n }\n }\n function pointerDown() {\n return pointerIsDown;\n }\n const self = {\n init,\n destroy,\n pointerDown\n };\n return self;\n}\n\nfunction DragTracker(axis, ownerWindow) {\n const logInterval = 170;\n let startEvent;\n let lastEvent;\n function readTime(evt) {\n return evt.timeStamp;\n }\n function readPoint(evt, evtAxis) {\n const property = evtAxis || axis.scroll;\n const coord = `client${property === 'x' ? 'X' : 'Y'}`;\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord];\n }\n function pointerDown(evt) {\n startEvent = evt;\n lastEvent = evt;\n return readPoint(evt);\n }\n function pointerMove(evt) {\n const diff = readPoint(evt) - readPoint(lastEvent);\n const expired = readTime(evt) - readTime(startEvent) > logInterval;\n lastEvent = evt;\n if (expired) startEvent = evt;\n return diff;\n }\n function pointerUp(evt) {\n if (!startEvent || !lastEvent) return 0;\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent);\n const diffTime = readTime(evt) - readTime(startEvent);\n const expired = readTime(evt) - readTime(lastEvent) > logInterval;\n const force = diffDrag / diffTime;\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1;\n return isFlick ? force : 0;\n }\n const self = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n };\n return self;\n}\n\nfunction NodeRects() {\n function measure(node) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = node;\n const offset = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n };\n return offset;\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction PercentOfView(viewSize) {\n function measure(n) {\n return viewSize * (n / 100);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) {\n const observeNodes = [container].concat(slides);\n let resizeObserver;\n let containerSize;\n let slideSizes = [];\n let destroyed = false;\n function readSize(node) {\n return axis.measureSize(nodeRects.measure(node));\n }\n function init(emblaApi) {\n if (!watchResize) return;\n containerSize = readSize(container);\n slideSizes = slides.map(readSize);\n function defaultCallback(entries) {\n for (const entry of entries) {\n if (destroyed) return;\n const isContainer = entry.target === container;\n const slideIndex = slides.indexOf(entry.target);\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex];\n const newSize = readSize(isContainer ? container : slides[slideIndex]);\n const diffSize = mathAbs(newSize - lastSize);\n if (diffSize >= 0.5) {\n emblaApi.reInit();\n eventHandler.emit('resize');\n break;\n }\n }\n }\n resizeObserver = new ResizeObserver(entries => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries);\n }\n });\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach(node => resizeObserver.observe(node));\n });\n }\n function destroy() {\n destroyed = true;\n if (resizeObserver) resizeObserver.disconnect();\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) {\n let bodyVelocity = 0;\n let scrollDirection = 0;\n let scrollDuration = baseDuration;\n let scrollFriction = baseFriction;\n let rawLocation = location.get();\n let rawLocationPrevious = 0;\n function seek(timeStep) {\n const fixedDeltaTimeSeconds = timeStep / 1000;\n const duration = scrollDuration * fixedDeltaTimeSeconds;\n const diff = target.get() - location.get();\n const isInstant = !scrollDuration;\n let directionDiff = 0;\n if (isInstant) {\n bodyVelocity = 0;\n previousLocation.set(target);\n location.set(target);\n directionDiff = diff;\n } else {\n previousLocation.set(location);\n bodyVelocity += diff / duration;\n bodyVelocity *= scrollFriction;\n rawLocation += bodyVelocity;\n location.add(bodyVelocity * fixedDeltaTimeSeconds);\n directionDiff = rawLocation - rawLocationPrevious;\n }\n scrollDirection = mathSign(directionDiff);\n rawLocationPrevious = rawLocation;\n return self;\n }\n function settled() {\n const diff = target.get() - offsetLocation.get();\n return mathAbs(diff) < 0.001;\n }\n function duration() {\n return scrollDuration;\n }\n function direction() {\n return scrollDirection;\n }\n function velocity() {\n return bodyVelocity;\n }\n function useBaseDuration() {\n return useDuration(baseDuration);\n }\n function useBaseFriction() {\n return useFriction(baseFriction);\n }\n function useDuration(n) {\n scrollDuration = n;\n return self;\n }\n function useFriction(n) {\n scrollFriction = n;\n return self;\n }\n const self = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody, percentOfView) {\n const pullBackThreshold = percentOfView.measure(10);\n const edgeOffsetTolerance = percentOfView.measure(50);\n const frictionLimit = Limit(0.1, 0.99);\n let disabled = false;\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max';\n const diffToEdge = mathAbs(limit[edge] - location.get());\n const diffToTarget = target.get() - location.get();\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance);\n target.subtract(diffToTarget * friction);\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useDuration(25).useBaseFriction();\n }\n }\n function toggleActive(active) {\n disabled = !active;\n }\n const self = {\n shouldConstrain,\n constrain,\n toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) {\n const scrollBounds = Limit(-contentSize + viewSize, 0);\n const snapsBounded = measureBounded();\n const scrollContainLimit = findScrollContainLimit();\n const snapsContained = measureContained();\n function usePixelTolerance(bound, snap) {\n return deltaAbs(bound, snap) < 1;\n }\n function findScrollContainLimit() {\n const startSnap = snapsBounded[0];\n const endSnap = arrayLast(snapsBounded);\n const min = snapsBounded.lastIndexOf(startSnap);\n const max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n function measureBounded() {\n return snapsAligned.map((snapAligned, index) => {\n const {\n min,\n max\n } = scrollBounds;\n const snap = scrollBounds.constrain(snapAligned);\n const isFirst = !index;\n const isLast = arrayIsLastIndex(snapsAligned, index);\n if (isFirst) return max;\n if (isLast) return min;\n if (usePixelTolerance(min, snap)) return min;\n if (usePixelTolerance(max, snap)) return max;\n return snap;\n }).map(scrollBound => parseFloat(scrollBound.toFixed(3)));\n }\n function measureContained() {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n const {\n min,\n max\n } = scrollContainLimit;\n return snapsBounded.slice(min, max);\n }\n const self = {\n snapsContained,\n scrollContainLimit\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n const max = scrollSnaps[0];\n const min = loop ? max - contentSize : arrayLast(scrollSnaps);\n const limit = Limit(min, max);\n const self = {\n limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, limit, location, vectors) {\n const jointSafety = 0.1;\n const min = limit.min + jointSafety;\n const max = limit.max + jointSafety;\n const {\n reachedMin,\n reachedMax\n } = Limit(min, max);\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n const loopDistance = contentSize * (direction * -1);\n vectors.forEach(v => v.add(loopDistance));\n }\n const self = {\n loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n const {\n max,\n length\n } = limit;\n function get(n) {\n const currentLocation = n - max;\n return length ? currentLocation / -length : 0;\n }\n const self = {\n get\n };\n return self;\n}\n\nfunction ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) {\n const {\n startEdge,\n endEdge\n } = axis;\n const {\n groupSlides\n } = slidesToScroll;\n const alignments = measureSizes().map(alignment.measure);\n const snaps = measureUnaligned();\n const snapsAligned = measureAligned();\n function measureSizes() {\n return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs);\n }\n function measureUnaligned() {\n return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap));\n }\n function measureAligned() {\n return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]);\n }\n const self = {\n snaps,\n snapsAligned\n };\n return self;\n}\n\nfunction SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) {\n const {\n groupSlides\n } = slidesToScroll;\n const {\n min,\n max\n } = scrollContainLimit;\n const slideRegistry = createSlideRegistry();\n function createSlideRegistry() {\n const groupedSlideIndexes = groupSlides(slideIndexes);\n const doNotContain = !containSnaps || containScroll === 'keepSnaps';\n if (scrollSnaps.length === 1) return [slideIndexes];\n if (doNotContain) return groupedSlideIndexes;\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(groups, index);\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1;\n return arrayFromNumber(range);\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1;\n return arrayFromNumber(range, arrayLast(groups)[0]);\n }\n return group;\n });\n }\n const self = {\n slideRegistry\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n const {\n reachedAny,\n removeOffset,\n constrain\n } = limit;\n function minDistance(distances) {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0];\n }\n function findTargetSnap(target) {\n const distance = loop ? removeOffset(target) : constrain(target);\n const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({\n diff: shortcut(snap - distance, 0),\n index\n })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff));\n const {\n index\n } = ascDiffsToSnaps[0];\n return {\n index,\n distance\n };\n }\n function shortcut(target, direction) {\n const targets = [target, target + contentSize, target - contentSize];\n if (!loop) return target;\n if (!direction) return minDistance(targets);\n const matchingTargets = targets.filter(t => mathSign(t) === direction);\n if (matchingTargets.length) return minDistance(matchingTargets);\n return arrayLast(targets) - contentSize;\n }\n function byIndex(index, direction) {\n const diffToSnap = scrollSnaps[index] - targetVector.get();\n const distance = shortcut(diffToSnap, direction);\n return {\n index,\n distance\n };\n }\n function byDistance(distance, snap) {\n const target = targetVector.get() + distance;\n const {\n index,\n distance: targetSnapDistance\n } = findTargetSnap(target);\n const reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index,\n distance\n };\n const diffToSnap = scrollSnaps[index] - targetSnapDistance;\n const snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index,\n distance: snapDistance\n };\n }\n const self = {\n byDistance,\n byIndex,\n shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) {\n function scrollTo(target) {\n const distanceDiff = target.distance;\n const indexDiff = target.index !== indexCurrent.get();\n targetVector.add(distanceDiff);\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start();\n } else {\n animation.update();\n animation.render(1);\n animation.update();\n }\n }\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n eventHandler.emit('select');\n }\n }\n function distance(n, snap) {\n const target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n function index(n, direction) {\n const targetIndex = indexCurrent.clone().set(n);\n const target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n const self = {\n distance,\n index\n };\n return self;\n}\n\nfunction SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) {\n const focusListenerOptions = {\n passive: true,\n capture: true\n };\n let lastTabPressTime = 0;\n function init(emblaApi) {\n if (!watchFocus) return;\n function defaultCallback(index) {\n const nowTime = new Date().getTime();\n const diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n eventHandler.emit('slideFocusStart');\n root.scrollLeft = 0;\n const group = slideRegistry.findIndex(group => group.includes(index));\n if (!isNumber(group)) return;\n scrollBody.useDuration(0);\n scrollTo.index(group, 0);\n eventHandler.emit('slideFocus');\n }\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach((slide, slideIndex) => {\n eventStore.add(slide, 'focus', evt => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex);\n }\n }, focusListenerOptions);\n });\n }\n function registerTabPress(event) {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime();\n }\n const self = {\n init\n };\n return self;\n}\n\nfunction Vector1D(initialValue) {\n let value = initialValue;\n function get() {\n return value;\n }\n function set(n) {\n value = normalizeInput(n);\n }\n function add(n) {\n value += normalizeInput(n);\n }\n function subtract(n) {\n value -= normalizeInput(n);\n }\n function normalizeInput(n) {\n return isNumber(n) ? n : n.get();\n }\n const self = {\n get,\n set,\n add,\n subtract\n };\n return self;\n}\n\nfunction Translate(axis, container) {\n const translate = axis.scroll === 'x' ? x : y;\n const containerStyle = container.style;\n let disabled = false;\n function x(n) {\n return `translate3d(${n}px,0px,0px)`;\n }\n function y(n) {\n return `translate3d(0px,${n}px,0px)`;\n }\n function to(target) {\n if (disabled) return;\n containerStyle.transform = translate(axis.direction(target));\n }\n function toggleActive(active) {\n disabled = !active;\n }\n function clear() {\n if (disabled) return;\n containerStyle.transform = '';\n if (!container.getAttribute('style')) container.removeAttribute('style');\n }\n const self = {\n clear,\n to,\n toggleActive\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) {\n const roundingSafety = 0.5;\n const ascItems = arrayKeys(slideSizesWithGaps);\n const descItems = arrayKeys(slideSizesWithGaps).reverse();\n const loopPoints = startPoints().concat(endPoints());\n function removeSlideSizes(indexes, from) {\n return indexes.reduce((a, i) => {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n function slidesInGap(indexes, gap) {\n return indexes.reduce((a, i) => {\n const remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n function findSlideBounds(offset) {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }));\n }\n function findLoopPoints(indexes, offset, isEndEdge) {\n const slideBounds = findSlideBounds(offset);\n return indexes.map(index => {\n const initial = isEndEdge ? 0 : -contentSize;\n const altered = isEndEdge ? contentSize : 0;\n const boundEdge = isEndEdge ? 'end' : 'start';\n const loopPoint = slideBounds[index][boundEdge];\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => location.get() > loopPoint ? initial : altered\n };\n });\n }\n function startPoints() {\n const gap = scrollSnaps[0];\n const indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, contentSize, false);\n }\n function endPoints() {\n const gap = viewSize - scrollSnaps[0] - 1;\n const indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, -contentSize, true);\n }\n function canLoop() {\n return loopPoints.every(({\n index\n }) => {\n const otherIndexes = ascItems.filter(i => i !== index);\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1;\n });\n }\n function loop() {\n loopPoints.forEach(loopPoint => {\n const {\n target,\n translate,\n slideLocation\n } = loopPoint;\n const shiftLocation = target();\n if (shiftLocation === slideLocation.get()) return;\n translate.to(shiftLocation);\n slideLocation.set(shiftLocation);\n });\n }\n function clear() {\n loopPoints.forEach(loopPoint => loopPoint.translate.clear());\n }\n const self = {\n canLoop,\n clear,\n loop,\n loopPoints\n };\n return self;\n}\n\nfunction SlidesHandler(container, eventHandler, watchSlides) {\n let mutationObserver;\n let destroyed = false;\n function init(emblaApi) {\n if (!watchSlides) return;\n function defaultCallback(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit();\n eventHandler.emit('slidesChanged');\n break;\n }\n }\n }\n mutationObserver = new MutationObserver(mutations => {\n if (destroyed) return;\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations);\n }\n });\n mutationObserver.observe(container, {\n childList: true\n });\n }\n function destroy() {\n if (mutationObserver) mutationObserver.disconnect();\n destroyed = true;\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction SlidesInView(container, slides, eventHandler, threshold) {\n const intersectionEntryMap = {};\n let inViewCache = null;\n let notInViewCache = null;\n let intersectionObserver;\n let destroyed = false;\n function init() {\n intersectionObserver = new IntersectionObserver(entries => {\n if (destroyed) return;\n entries.forEach(entry => {\n const index = slides.indexOf(entry.target);\n intersectionEntryMap[index] = entry;\n });\n inViewCache = null;\n notInViewCache = null;\n eventHandler.emit('slidesInView');\n }, {\n root: container.parentElement,\n threshold\n });\n slides.forEach(slide => intersectionObserver.observe(slide));\n }\n function destroy() {\n if (intersectionObserver) intersectionObserver.disconnect();\n destroyed = true;\n }\n function createInViewList(inView) {\n return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => {\n const index = parseInt(slideIndex);\n const {\n isIntersecting\n } = intersectionEntryMap[index];\n const inViewMatch = inView && isIntersecting;\n const notInViewMatch = !inView && !isIntersecting;\n if (inViewMatch || notInViewMatch) list.push(index);\n return list;\n }, []);\n }\n function get(inView = true) {\n if (inView && inViewCache) return inViewCache;\n if (!inView && notInViewCache) return notInViewCache;\n const slideIndexes = createInViewList(inView);\n if (inView) inViewCache = slideIndexes;\n if (!inView) notInViewCache = slideIndexes;\n return slideIndexes;\n }\n const self = {\n init,\n destroy,\n get\n };\n return self;\n}\n\nfunction SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) {\n const {\n measureSize,\n startEdge,\n endEdge\n } = axis;\n const withEdgeGap = slideRects[0] && readEdgeGap;\n const startGap = measureStartGap();\n const endGap = measureEndGap();\n const slideSizes = slideRects.map(measureSize);\n const slideSizesWithGaps = measureWithGaps();\n function measureStartGap() {\n if (!withEdgeGap) return 0;\n const slideRect = slideRects[0];\n return mathAbs(containerRect[startEdge] - slideRect[startEdge]);\n }\n function measureEndGap() {\n if (!withEdgeGap) return 0;\n const style = ownerWindow.getComputedStyle(arrayLast(slides));\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`));\n }\n function measureWithGaps() {\n return slideRects.map((rect, index, rects) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(rects, index);\n if (isFirst) return slideSizes[index] + startGap;\n if (isLast) return slideSizes[index] + endGap;\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(mathAbs);\n }\n const self = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n };\n return self;\n}\n\nfunction SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) {\n const {\n startEdge,\n endEdge,\n direction\n } = axis;\n const groupByNumber = isNumber(slidesToScroll);\n function byNumber(array, groupSize) {\n return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize));\n }\n function bySize(array) {\n if (!array.length) return [];\n return arrayKeys(array).reduce((groups, rectB, index) => {\n const rectA = arrayLast(groups) || 0;\n const isFirst = rectA === 0;\n const isLast = rectB === arrayLastIndex(array);\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge];\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge];\n const gapA = !loop && isFirst ? direction(startGap) : 0;\n const gapB = !loop && isLast ? direction(endGap) : 0;\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA));\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB);\n if (isLast) groups.push(array.length);\n return groups;\n }, []).map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0);\n return array.slice(previousSize, currentSize);\n });\n }\n function groupSlides(array) {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array);\n }\n const self = {\n groupSlides\n };\n return self;\n}\n\nfunction Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options;\n // Measurements\n const pixelTolerance = 2;\n const nodeRects = NodeRects();\n const containerRect = nodeRects.measure(container);\n const slideRects = slides.map(nodeRects.measure);\n const axis = Axis(scrollAxis, direction);\n const viewSize = axis.measureSize(containerRect);\n const percentOfView = PercentOfView(viewSize);\n const alignment = Alignment(align, viewSize);\n const containSnaps = !loop && !!containScroll;\n const readEdgeGap = loop || !!containScroll;\n const {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow);\n const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance);\n const {\n snaps,\n snapsAligned\n } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll);\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n const {\n snapsContained,\n scrollContainLimit\n } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance);\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned;\n const {\n limit\n } = ScrollLimit(contentSize, scrollSnaps, loop);\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop);\n const indexPrevious = index.clone();\n const slideIndexes = arrayKeys(slides);\n // Animation\n const update = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: {\n loop\n }\n }, timeStep) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown());\n scrollBody.seek(timeStep);\n };\n const render = ({\n scrollBody,\n translate,\n location,\n offsetLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: {\n loop\n }\n }, lagOffset) => {\n const shouldSettle = scrollBody.settled();\n const withinBounds = !scrollBounds.shouldConstrain();\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds;\n if (hasSettled && !dragHandler.pointerDown()) {\n animation.stop();\n eventHandler.emit('settle');\n }\n if (!hasSettled) eventHandler.emit('scroll');\n const interpolatedLocation = location.get() * lagOffset + previousLocation.get() * (1 - lagOffset);\n offsetLocation.set(interpolatedLocation);\n if (loop) {\n scrollLooper.loop(scrollBody.direction());\n slideLooper.loop();\n }\n translate.to(offsetLocation.get());\n };\n const animation = Animations(ownerDocument, ownerWindow, timeStep => update(engine, timeStep), lagOffset => render(engine, lagOffset));\n // Shared\n const friction = 0.68;\n const startLocation = scrollSnaps[index.get()];\n const location = Vector1D(startLocation);\n const previousLocation = Vector1D(startLocation);\n const offsetLocation = Vector1D(startLocation);\n const target = Vector1D(startLocation);\n const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction);\n const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler);\n const scrollProgress = ScrollProgress(limit);\n const eventStore = EventStore();\n const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold);\n const {\n slideRegistry\n } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes);\n const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus);\n // Engine\n const engine = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects),\n scrollBody,\n scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n };\n return engine;\n}\n\nfunction EventHandler() {\n let listeners = {};\n let api;\n function init(emblaApi) {\n api = emblaApi;\n }\n function getListeners(evt) {\n return listeners[evt] || [];\n }\n function emit(evt) {\n getListeners(evt).forEach(e => e(api, evt));\n return self;\n }\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(e => e !== cb);\n return self;\n }\n function clear() {\n listeners = {};\n }\n const self = {\n init,\n emit,\n off,\n on,\n clear\n };\n return self;\n}\n\nconst defaultOptions = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n};\n\nfunction OptionsHandler(ownerWindow) {\n function mergeOptions(optionsA, optionsB) {\n return objectsMergeDeep(optionsA, optionsB || {});\n }\n function optionsAtMedia(options) {\n const optionsAtMedia = options.breakpoints || {};\n const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {});\n return mergeOptions(options, matchedMediaOptions);\n }\n function optionsMediaQueries(optionsList) {\n return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia);\n }\n const self = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n };\n return self;\n}\n\nfunction PluginsHandler(optionsHandler) {\n let activePlugins = [];\n function init(emblaApi, plugins) {\n activePlugins = plugins.filter(({\n options\n }) => optionsHandler.optionsAtMedia(options).active !== false);\n activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler));\n return plugins.reduce((map, plugin) => Object.assign(map, {\n [plugin.name]: plugin\n }), {});\n }\n function destroy() {\n activePlugins = activePlugins.filter(plugin => plugin.destroy());\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction EmblaCarousel(root, userOptions, userPlugins) {\n const ownerDocument = root.ownerDocument;\n const ownerWindow = ownerDocument.defaultView;\n const optionsHandler = OptionsHandler(ownerWindow);\n const pluginsHandler = PluginsHandler(optionsHandler);\n const mediaHandlers = EventStore();\n const eventHandler = EventHandler();\n const {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n } = optionsHandler;\n const {\n on,\n off,\n emit\n } = eventHandler;\n const reInit = reActivate;\n let destroyed = false;\n let engine;\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions);\n let options = mergeOptions(optionsBase);\n let pluginList = [];\n let pluginApis;\n let container;\n let slides;\n function storeElements() {\n const {\n container: userContainer,\n slides: userSlides\n } = options;\n const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer;\n container = customContainer || root.children[0];\n const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides;\n slides = [].slice.call(customSlides || container.children);\n }\n function createEngine(options) {\n const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler);\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, {\n loop: false\n });\n return createEngine(optionsWithoutLoop);\n }\n return engine;\n }\n function activate(withOptions, withPlugins) {\n if (destroyed) return;\n optionsBase = mergeOptions(optionsBase, withOptions);\n options = optionsAtMedia(optionsBase);\n pluginList = withPlugins || pluginList;\n storeElements();\n engine = createEngine(options);\n optionsMediaQueries([optionsBase, ...pluginList.map(({\n options\n }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate));\n if (!options.active) return;\n engine.translate.to(engine.location.get());\n engine.animation.init();\n engine.slidesInView.init();\n engine.slideFocus.init(self);\n engine.eventHandler.init(self);\n engine.resizeHandler.init(self);\n engine.slidesHandler.init(self);\n if (engine.options.loop) engine.slideLooper.loop();\n if (container.offsetParent && slides.length) engine.dragHandler.init(self);\n pluginApis = pluginsHandler.init(self, pluginList);\n }\n function reActivate(withOptions, withPlugins) {\n const startIndex = selectedScrollSnap();\n deActivate();\n activate(mergeOptions({\n startIndex\n }, withOptions), withPlugins);\n eventHandler.emit('reInit');\n }\n function deActivate() {\n engine.dragHandler.destroy();\n engine.eventStore.clear();\n engine.translate.clear();\n engine.slideLooper.clear();\n engine.resizeHandler.destroy();\n engine.slidesHandler.destroy();\n engine.slidesInView.destroy();\n engine.animation.destroy();\n pluginsHandler.destroy();\n mediaHandlers.clear();\n }\n function destroy() {\n if (destroyed) return;\n destroyed = true;\n mediaHandlers.clear();\n deActivate();\n eventHandler.emit('destroy');\n eventHandler.clear();\n }\n function scrollTo(index, jump, direction) {\n if (!options.active || destroyed) return;\n engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration);\n engine.scrollTo.index(index, direction || 0);\n }\n function scrollNext(jump) {\n const next = engine.index.add(1).get();\n scrollTo(next, jump, -1);\n }\n function scrollPrev(jump) {\n const prev = engine.index.add(-1).get();\n scrollTo(prev, jump, 1);\n }\n function canScrollNext() {\n const next = engine.index.add(1).get();\n return next !== selectedScrollSnap();\n }\n function canScrollPrev() {\n const prev = engine.index.add(-1).get();\n return prev !== selectedScrollSnap();\n }\n function scrollSnapList() {\n return engine.scrollSnapList;\n }\n function scrollProgress() {\n return engine.scrollProgress.get(engine.location.get());\n }\n function selectedScrollSnap() {\n return engine.index.get();\n }\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n function slidesInView() {\n return engine.slidesInView.get();\n }\n function slidesNotInView() {\n return engine.slidesInView.get(false);\n }\n function plugins() {\n return pluginApis;\n }\n function internalEngine() {\n return engine;\n }\n function rootNode() {\n return root;\n }\n function containerNode() {\n return container;\n }\n function slideNodes() {\n return slides;\n }\n const self = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n };\n activate(userOptions, userPlugins);\n setTimeout(() => eventHandler.emit('init'), 0);\n return self;\n}\nEmblaCarousel.globalOptions = undefined;\n\nexport { EmblaCarousel as default };\n//# sourceMappingURL=embla-carousel.esm.js.map\n","import { canUseDOM, areOptionsEqual, arePluginsEqual } from 'embla-carousel-reactive-utils';\nimport EmblaCarousel from 'embla-carousel';\n\nfunction emblaCarouselSvelte(emblaNode, emblaConfig = {\n options: {},\n plugins: []\n}) {\n let storedEmblaConfig = emblaConfig;\n let emblaApi;\n if (canUseDOM()) {\n EmblaCarousel.globalOptions = emblaCarouselSvelte.globalOptions;\n emblaApi = EmblaCarousel(emblaNode, storedEmblaConfig.options, storedEmblaConfig.plugins);\n emblaApi.on('init', () => emblaNode.dispatchEvent(new CustomEvent('emblaInit', {\n detail: emblaApi\n })));\n }\n return {\n destroy: () => {\n if (emblaApi) emblaApi.destroy();\n },\n update: newEmblaConfig => {\n const optionsChanged = !areOptionsEqual(storedEmblaConfig.options, newEmblaConfig.options);\n const pluginsChanged = !arePluginsEqual(storedEmblaConfig.plugins, newEmblaConfig.plugins);\n if (!optionsChanged && !pluginsChanged) return;\n storedEmblaConfig = newEmblaConfig;\n if (emblaApi) {\n emblaApi.reInit(storedEmblaConfig.options, storedEmblaConfig.plugins);\n }\n }\n };\n}\nemblaCarouselSvelte.globalOptions = undefined;\n\nexport { emblaCarouselSvelte as default };\n//# sourceMappingURL=embla-carousel-svelte.esm.js.map\n","<script lang=\"ts\">\n\timport type { EmblaCarouselType } from 'embla-carousel';\n\timport Autoplay from 'embla-carousel-autoplay';\n\timport emblaCarouselSvelte from 'embla-carousel-svelte';\n\timport { onMount } from 'svelte';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let autoplay = false;\n\texport let autoplayDuration = 3000;\n\texport let infinite = true;\n\texport let duration = 50;\n\texport let align: 'start' | 'center' | 'end' = 'center';\n\texport let direction: 'ltr' | 'rtl' = 'ltr';\n\texport let slidesToScroll: number | 'auto' = 1;\n\texport let currentPageIndex = 0;\n\texport let customClass: string = '';\n\texport let customWrapperClass: string = '';\n\texport let isScrollable: boolean = false;\n\texport let isScrollableNext: boolean = false;\n\texport let isScrollablePrev: boolean = false;\n\texport let isCarouselDisabled: boolean = false;\n\texport let autoplayStopOnInteraction: boolean = false;\n\texport let autoplayRestartOnInteraction: boolean = false;\n\n\texport let defaultActiveTab: number = 0;\n\texport let updateCarouselState: (api: EmblaCarouselType) => void = () => {};\n\texport let isDragFree: boolean = false;\n\n\tlet emblaApi: EmblaCarouselType;\n\n\t$: options = {\n\t\tloop: infinite,\n\t\tduration,\n\t\tdirection,\n\t\tslidesToScroll,\n\t\talign,\n\t\tactive: !isCarouselDisabled,\n\t\twatchDrag: isScrollable,\n\t\tdragFree: isDragFree,\n\t};\n\n\t$: autoplayPlugin = autoplay\n\t\t? Autoplay({\n\t\t\t\tdelay: autoplayDuration,\n\t\t\t\tstopOnInteraction: autoplayStopOnInteraction || autoplayRestartOnInteraction,\n\t\t\t})\n\t\t: undefined;\n\n\t$: plugins = autoplayPlugin ? [autoplayPlugin] : [];\n\n\tconst onInit = (event: CustomEvent<EmblaCarouselType>) => {\n\t\temblaApi = event.detail;\n\n\t\temblaApi?.on('autoplay:stop', restartAutoplay);\n\n\t\temblaApi?.on('select', () => {\n\t\t\tcurrentPageIndex = emblaApi.selectedScrollSnap();\n\t\t\tisScrollableNext = emblaApi?.canScrollNext();\n\t\t\tisScrollablePrev = emblaApi?.canScrollPrev();\n\t\t\tupdateCarouselState(emblaApi);\n\t\t});\n\n\t\temblaApi?.on('resize', () => {\n\t\t\tisScrollable = emblaApi?.canScrollNext() || emblaApi?.canScrollPrev();\n\t\t\tisScrollableNext = emblaApi?.canScrollNext();\n\t\t\tisScrollablePrev = emblaApi?.canScrollPrev();\n\t\t\tupdateCarouselState(emblaApi);\n\t\t});\n\n\t\tisScrollable = emblaApi?.canScrollNext() || emblaApi?.canScrollPrev();\n\t\tisScrollableNext = emblaApi?.canScrollNext();\n\t\tisScrollablePrev = emblaApi?.canScrollPrev();\n\t\temblaApi.scrollTo(defaultActiveTab, false);\n\t\tupdateCarouselState(emblaApi);\n\t};\n\n\tconst restartAutoplay = () => {\n\t\tif (autoplay && autoplayRestartOnInteraction && autoplayPlugin) {\n\t\t\t// Need little timeout, without it, autoplay is not resetting\n\t\t\tsetTimeout(() => {\n\t\t\t\tautoplayPlugin?.reset();\n\t\t\t\tautoplayPlugin?.play();\n\t\t\t}, 100);\n\t\t}\n\t};\n\n\texport function goTo(pageIndex: number, jump = false) {\n\t\temblaApi.scrollTo(pageIndex, jump);\n\t\trestartAutoplay();\n\t}\n\n\texport function goToPrev(jump = false) {\n\t\temblaApi.scrollPrev(jump);\n\t\trestartAutoplay();\n\t}\n\n\texport async function goToNext(jump = false) {\n\t\temblaApi.scrollNext(jump);\n\t\trestartAutoplay();\n\t}\n\n\t$: {\n\t\tif (emblaApi) {\n\t\t\temblaApi.canScrollNext();\n\t\t\temblaApi.canScrollPrev();\n\t\t\tif (autoplayPlugin && !autoplay) {\n\t\t\t\tsetTimeout(() => autoplayPlugin.stop(), 300);\n\t\t\t}\n\n\t\t\tif (autoplayPlugin && autoplay) {\n\t\t\t\tsetTimeout(() => autoplayPlugin.play(), 300);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMount(() => {\n\t\tif (emblaApi) {\n\t\t\tupdateCarouselState(emblaApi);\n\t\t}\n\t});\n</script>\n\n<div\n\tclass={twMerge('embla overflow-hidden', customWrapperClass)}\n\tuse:emblaCarouselSvelte={{ options, plugins }}\n\ton:emblaInit={onInit}\n>\n\t<div class={twMerge('embla__container flex', customClass)}>\n\t\t<slot />\n\t</div>\n</div>\n","<script lang=\"ts\">\n\timport QdsSsrWrapper from '../container/QdsSsrWrapper.svelte';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link/types';\n\timport { downloadFile, getEdmsDocumentName, pushEdmsGaEvent } from '../../../utility/edms';\n\timport { DataLayerEventName, analytics, getCtaCategory } from '@se/core/services/analytics';\n\n\texport let isDisabled: boolean = false;\n\texport let link: LinkFieldSet | undefined = undefined;\n\texport let download: boolean | string | undefined = undefined;\n\texport let hreflang: string | undefined = undefined;\n\texport let iconLibrary: string = 'default';\n\texport let iconName: string | undefined = undefined;\n\texport let importance: 'subdued' | 'standard' | 'emphasized' | undefined = undefined;\n\texport let referrerpolicy:\n\t\t| ''\n\t\t| 'no-referrer'\n\t\t| 'no-referrer-when-downgrade'\n\t\t| 'origin'\n\t\t| 'origin-when-cross-origin'\n\t\t| 'same-origin'\n\t\t| 'strict-origin'\n\t\t| 'strict-origin-when-cross-origin'\n\t\t| 'unsafe-ur'\n\t\t| undefined = undefined;\n\texport let rel: string | undefined = undefined;\n\texport let size: 'small' | 'standard' | 'large' | undefined = undefined;\n\texport let target: '_blank' | '_self' | '_parent' | '_top' | 'modal' | undefined = undefined;\n\texport let text: string | undefined = undefined;\n\texport let gaEventLocation: string | undefined = undefined;\n\texport let gaEventName: string | undefined = undefined;\n\texport let visitable: boolean | undefined = undefined;\n\n\tfunction handleClick(event: MouseEvent) {\n\t\tif (link?.linkType === 'documentLink') {\n\t\t\tconst {\n\t\t\t\tresolvedUrl,\n\t\t\t\tlinkData: { edmsId, shouldDownload },\n\t\t\t} = link;\n\t\t\tif (resolvedUrl) {\n\t\t\t\tif (shouldDownload) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdownloadFile(resolvedUrl, getEdmsDocumentName(resolvedUrl) ?? `${edmsId}.pdf`).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tpushEdmsGaEvent(resolvedUrl!, edmsId);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tpushEdmsGaEvent(resolvedUrl, edmsId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (gaEventLocation && gaEventName) {\n\t\t\tanalytics.pushToDataLayer({\n\t\t\t\tevent: DataLayerEventName.CTA_CLICK,\n\t\t\t\tcta_location: gaEventLocation,\n\t\t\t\tcta_name: gaEventName,\n\t\t\t\tcta_link: link?.resolvedUrl ?? '',\n\t\t\t\tcta_category: getCtaCategory(link?.resolvedUrl ?? ''),\n\t\t\t});\n\t\t}\n\t}\n</script>\n\n<!-- svelte-ignore a11y-no-static-element-interactions -->\n<QdsSsrWrapper>\n\t<qds-standalone-link\n\t\tdisabled={isDisabled}\n\t\t{download}\n\t\thref={link?.resolvedUrl}\n\t\t{hreflang}\n\t\ticon-library={iconLibrary}\n\t\ticon-name={iconName}\n\t\t{importance}\n\t\t{referrerpolicy}\n\t\t{rel}\n\t\t{size}\n\t\t{target}\n\t\t{visitable}\n\t\ton:click={handleClick}\n\t\ton:click\n\t\ton:keydown\n\t>\n\t\t{text}\n\t</qds-standalone-link>\n</QdsSsrWrapper>\n","<script lang=\"ts\">\n\timport { onMount } from 'svelte';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link/types';\n\timport { getValidYoutubeThumbnail } from '../../utility/util';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let aprimoData: any;\n\texport let embeddedLinkData: LinkFieldSet | undefined;\n\texport let altText: string = '';\n\texport let videoSource: string;\n\texport let customClass: string = '';\n\texport let videoLink: string = '';\n\n\texport let isYtOrAprimo = false;\n\n\tlet thumbnailUrl: string = '';\n\n\tonMount(async () => {\n\t\tif (videoSource === 'aprimo') {\n\t\t\tthumbnailUrl = aprimoData?.aprimoOptions?.stillImageUri;\n\t\t\tisYtOrAprimo = true;\n\t\t} else if (videoSource === 'external') {\n\t\t\tif (videoLink) {\n\t\t\t\tthumbnailUrl = await getValidYoutubeThumbnail(videoLink);\n\t\t\t\tisYtOrAprimo = true;\n\t\t\t} else if (embeddedLinkData?.resolvedUrl) {\n\t\t\t\tthumbnailUrl = await getValidYoutubeThumbnail(embeddedLinkData.resolvedUrl);\n\t\t\t\tisYtOrAprimo = true;\n\t\t\t}\n\t\t}\n\t});\n\n\tfunction checkYoutubeOrAprimo() {\n\t\ttry {\n\t\t\tif (videoSource === 'aprimo') {\n\t\t\t\treturn true;\n\t\t\t} else if (videoSource === 'external' && embeddedLinkData?.resolvedUrl) {\n\t\t\t\tconst resolvedUrl = new URL(embeddedLinkData?.resolvedUrl);\n\t\t\t\tconst youtubeHostnames = ['www.youtube.com', 'youtube.com', 'm.youtube.com', 'youtu.be'];\n\n\t\t\t\tif (youtubeHostnames.includes(resolvedUrl.hostname)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t$: {\n\t\tif (videoSource && embeddedLinkData?.resolvedUrl) {\n\t\t\tisYtOrAprimo = checkYoutubeOrAprimo();\n\t\t}\n\t}\n\tlet width;\n\tlet height;\n</script>\n\n{#if isYtOrAprimo}\n\t<div class=\"h-full w-full\" bind:clientHeight={height} bind:clientWidth={width}>\n\t\t<img\n\t\t\tsrc={thumbnailUrl}\n\t\t\talt={altText}\n\t\t\tclass={twMerge('h-full w-full rounded-lg object-cover', customClass)}\n\t\t\t{width}\n\t\t\t{height}\n\t\t/>\n\t</div>\n{:else}\n\t<iframe\n\t\ttitle={altText}\n\t\tsrc={embeddedLinkData?.resolvedUrl}\n\t\tclass={twMerge('pointer-events-none aspect-video h-full w-full rounded-lg', customClass)}\n\t></iframe>\n{/if}\n","<script lang=\"ts\">\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { isMobile } from '@se/common/stores';\n\timport ResponsiveImage from '../../../aprimo-dam/ResponsiveImage/ResponsiveImage.svelte';\n\timport AprimoImageMetadata from '../../../aprimo-dam/AprimoImageMetadata/AprimoImageMetadata.svelte';\n\timport Loader from '../../../aprimo-dam/loader/Loader.svelte';\n\timport type { AprimoDefaultAspectRatio, IAprimoImageMetadata } from '../../../aprimo-dam/types';\n\timport EmbeddedLink from '../../../embedded-link/EmbeddedLink.svelte';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link/types';\n\timport { convertFieldSetToParams } from '../../../embedded-link/helpers/convert-field-set-to-params';\n\timport { getContext } from 'svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport { ImageSource } from '../../../../modules/product-image/get-product-image-inputs';\n\timport type { PesImage } from '@se/common/src/types/pes';\n\timport { ColorCode } from '../../../qds/constant';\n\timport { ComponentVariant } from '../../CC-03-165-ContentProductBlock/types';\n\n\texport let imageSource: ImageSource = ImageSource.APRIMO;\n\texport let backgroundImage: IAprimoImageMetadata | undefined = undefined;\n\texport let pesImage: PesImage | undefined = undefined;\n\texport let externalBackgroundImage: string;\n\texport let url: LinkFieldSet;\n\texport let altText: string;\n\texport let label = '';\n\texport let heading = '';\n\texport let description = '';\n\texport let itemWidth = $isMobile ? 265 : 294;\n\texport let isProductBlock: boolean = false;\n\texport let cardsNumber: number = 0;\n\texport let componentVariant: ComponentVariant | undefined = undefined;\n\texport let customPesImageClass: string = '';\n\texport let defaultAspectRatio: AprimoDefaultAspectRatio | undefined = undefined;\n\n\tconst builderBlock: BuilderBlock = getContext('builderBlock');\n\n\tlet horizontalImageUrl: string;\n\tlet squareImageUrl: string;\n\tlet rectangleImageUrl: string;\n\tlet isHorizontalImageCdnResourceLoading: boolean = false;\n\tlet isRectangleImageCdnResourceLoading: boolean = false;\n\tlet imageDataSource: string;\n\tlet containerWidth: number;\n\n\t$: {\n\t\tif (imageSource === 'Aprimo' && backgroundImage) {\n\t\t\thorizontalImageUrl = backgroundImage?.cropsDetails?.horizontal?.uri;\n\t\t\tsquareImageUrl = backgroundImage?.cropsDetails?.square?.uri;\n\t\t\trectangleImageUrl = backgroundImage?.cropsDetails?.rectangle?.uri;\n\t\t\tisHorizontalImageCdnResourceLoading =\n\t\t\t\tbackgroundImage?.cropsDetails?.horizontal?.isLoadingResourceToAkamaiCdn;\n\t\t\tisRectangleImageCdnResourceLoading =\n\t\t\t\tbackgroundImage?.cropsDetails?.rectangle?.isLoadingResourceToAkamaiCdn;\n\t\t\timageDataSource = 'AprimoDAM';\n\t\t} else if (imageSource === 'PES') {\n\t\t\thorizontalImageUrl = pesImage?.picture?.url || '';\n\t\t\tsquareImageUrl = pesImage?.picture?.url || '';\n\t\t\trectangleImageUrl = pesImage?.picture?.url || '';\n\t\t\timageDataSource = 'PES';\n\t\t} else {\n\t\t\thorizontalImageUrl = externalBackgroundImage;\n\t\t\tsquareImageUrl = externalBackgroundImage;\n\t\t\trectangleImageUrl = externalBackgroundImage;\n\t\t\timageDataSource = 'External';\n\t\t}\n\t}\n\n\t$: conditionalHeading = imageSource === 'PES' ? pesImage?.picture?.title : heading;\n\t$: conditionalDescription = imageSource === 'PES' ? pesImage?.picture?.description : description;\n</script>\n\n<div\n\tdata-testid=\"ProductCard\"\n\tclass={twMerge(\n\t\t`max-w-[${itemWidth}px] scale-background relative flex h-full w-full flex-col overflow-hidden rounded-lg border border-solid border-[#E6E6E6] transition-all duration-300 hover:shadow-2xl`,\n\t\tisProductBlock && cardsNumber < 4 && 'xl:max-w-[400px]',\n\t\tcomponentVariant === ComponentVariant.CENTRED_CONTENT && 'xl:max-w-[initial]'\n\t)}\n\tbind:clientWidth={containerWidth}\n>\n\t{#if backgroundImage && backgroundImage.cropsDetails && imageSource === 'Aprimo'}\n\t\t<AprimoImageMetadata metadata={backgroundImage} />\n\t{/if}\n\t<EmbeddedLink\n\t\tlink={url}\n\t\tparams={convertFieldSetToParams(url)}\n\t\tcustomClass=\"flex h-full w-full flex-col justify-end bg-white hover:no-underline cursor-pointer relative product-block-card\"\n\t\tgaEventName={heading}\n\t\tgaEventLocation={builderBlock?.component?.name}\n\t\tignoreDefaultInvalidate={true}\n\t>\n\t\t<div\n\t\t\tclass=\"relative flex w-full items-center justify-center overflow-hidden\"\n\t\t\tstyle={`height: ${isProductBlock ? containerWidth * 0.75 : 160}px`}\n\t\t>\n\t\t\t{#if !backgroundImage && !externalBackgroundImage}\n\t\t\t\t<div>Choose an image</div>\n\t\t\t{:else if isHorizontalImageCdnResourceLoading || isRectangleImageCdnResourceLoading}\n\t\t\t\t<Loader />\n\t\t\t{:else}\n\t\t\t\t<ResponsiveImage\n\t\t\t\t\t{horizontalImageUrl}\n\t\t\t\t\t{squareImageUrl}\n\t\t\t\t\t{rectangleImageUrl}\n\t\t\t\t\taltText={imageSource === 'PES' ? pesImage?.picture?.alt || '' : altText || ''}\n\t\t\t\t\thorizontalImageAssetId={backgroundImage?.cropsDetails?.horizontal?.id || ''}\n\t\t\t\t\tsquareImageAssetId={backgroundImage?.cropsDetails?.square?.id || ''}\n\t\t\t\t\trectangleImageAssetId={backgroundImage?.cropsDetails?.rectangle?.id || ''}\n\t\t\t\t\tassetSource={imageDataSource}\n\t\t\t\t\timageClass={twMerge(\n\t\t\t\t\t\t'image transition-all duration-300 h-full',\n\t\t\t\t\t\timageSource !== 'Aprimo' && 'h-[140px] w-auto static',\n\t\t\t\t\t\timageSource === 'PES' && customPesImageClass\n\t\t\t\t\t)}\n\t\t\t\t\tcontainerClass=\"flex items-center justify-center\"\n\t\t\t\t\t{defaultAspectRatio}\n\t\t\t\t/>\n\t\t\t{/if}\n\t\t</div>\n\t\t<div class=\"flex-1\">\n\t\t\t<div class=\"grid w-full gap-1 bg-[${ColorCode.WHITE_100}] p-4\">\n\t\t\t\t{#if label}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"line-clamp-1 text-xs font-bold leading-[normal] text-[#626469] opacity-[0.68]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t\t{#if conditionalHeading}\n\t\t\t\t\t<div class=\"line-clamp-2 text-base font-bold leading-[20px] text-black\">\n\t\t\t\t\t\t{conditionalHeading}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t\t{#if conditionalDescription}\n\t\t\t\t\t<p class=\"line-clamp-3 text-sm text-[#333333]\">\n\t\t\t\t\t\t{conditionalDescription}\n\t\t\t\t\t</p>\n\t\t\t\t{/if}\n\t\t\t</div>\n\t\t</div>\n\t</EmbeddedLink>\n</div>\n\n<style lang=\"postcss\">\n\t.scale-background:hover :global(img) {\n\t\tscale: 1.05;\n\t}\n</style>\n","/**\n * A function that uses the ResizeObserver API to track the dimensions of a container element.\n * It returns the container element, dimensions (width and height), container's aspect ratio and whether the container's aspect ratio is fit for horizontal images.\n *\n * @returns An object containing the container element, dimensions, aspect ratio and whether the container's aspect ratio is fit for horizontal images.\n */\nimport {\n\tMAX_SQUARE_CONTAINER_ASPECT_RATIO,\n\tMIN_HORIZONTAL_CONTAINER_ASPECT_RATIO,\n} from '../consts';\nimport { onMount } from 'svelte';\nimport { writable, derived, type Writable, type Readable } from 'svelte/store';\n\nexport function useResizeObserver() {\n\tconst dimensions: Writable<{ width: number; height: number }> = writable({ width: 0, height: 0 });\n\tconst container = writable<HTMLElement | null>(null);\n\n\tonMount(() => {\n\t\tconst resizeObserver = new ResizeObserver((entries) => {\n\t\t\tfor (let entry of entries) {\n\t\t\t\tconst { width, height } = entry.contentRect;\n\t\t\t\tdimensions.set({ width, height });\n\t\t\t}\n\t\t});\n\n\t\tlet containerElement: HTMLElement | null = null;\n\t\tcontainer.subscribe((value) => {\n\t\t\tcontainerElement = value;\n\t\t\tif (containerElement) {\n\t\t\t\tresizeObserver.observe(containerElement);\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (containerElement) {\n\t\t\t\tresizeObserver.disconnect();\n\t\t\t}\n\t\t};\n\t});\n\n\tconst aspectRatio: Readable<number> = derived(dimensions, ($dimensions) => {\n\t\treturn $dimensions.width / $dimensions.height;\n\t});\n\n\tconst isContainerFitForHorizontalOrRectangularImage = derived(aspectRatio, ($aspectRatio) => {\n\t\treturn $aspectRatio > MAX_SQUARE_CONTAINER_ASPECT_RATIO;\n\t});\n\n\tconst isContainerFitForHorizontalImage = derived(aspectRatio, ($aspectRatio) => {\n\t\treturn $aspectRatio > MIN_HORIZONTAL_CONTAINER_ASPECT_RATIO;\n\t});\n\n\treturn {\n\t\tcontainer,\n\t\tdimensions,\n\t\taspectRatio,\n\t\tisContainerFitForHorizontalOrRectangularImage,\n\t\tisContainerFitForHorizontalImage,\n\t};\n}\n","<script lang=\"ts\">\n\timport { isMobile } from '@se/common/stores';\n\timport type { SuccessStoryCardTypes } from '../types';\n\timport { twMerge } from 'tailwind-merge';\n\timport { truncateString } from '../../../../utility/util';\n\n\texport let successStoryCardVersion;\n\texport let successStoryCard: Pick<\n\t\tSuccessStoryCardTypes,\n\t\t| 'cardLabel'\n\t\t| 'cardHeading'\n\t\t| 'cardDescription'\n\t\t| 'cardHeadingMaxChar'\n\t\t| 'cardDescriptionMaxChar'\n\t\t| 'cardLabelMaxChar'\n\t>;\n\t$: ({\n\t\tcardLabel,\n\t\tcardHeading,\n\t\tcardDescription,\n\t\tcardHeadingMaxChar,\n\t\tcardDescriptionMaxChar,\n\t\tcardLabelMaxChar,\n\t} = successStoryCard);\n\tlet cardDescriptionElementHight = 0;\n</script>\n\n<div\n\tclass=\"slide w-full p-6 text-left transition-all duration-300 rtl:text-right\"\n\tstyle=\"background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 39.58%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 39.58%)\"\n\tstyle:transform={`translateY(${cardDescriptionElementHight}px)`}\n>\n\t{#if typeof cardLabel === 'string' && cardLabel !== null}\n\t\t<p class=\"mb-2 text-sm font-bold leading-4 text-white\">\n\t\t\t{truncateString(cardLabel.toUpperCase(), cardLabelMaxChar)}\n\t\t</p>\n\t{/if}\n\t{#if typeof cardHeading === 'string' && cardHeading !== null}\n\t\t<p\n\t\t\tclass={twMerge(\n\t\t\t\t'mb-2 text-lg font-bold text-white',\n\t\t\t\tsuccessStoryCardVersion === 'small' || successStoryCardVersion === 'responsive'\n\t\t\t\t\t? 'leading-6 md:text-[22px] md:leading-[30px]'\n\t\t\t\t\t: 'leading-6 md:text-[22px] md:!leading-[30px]'\n\t\t\t)}\n\t\t>\n\t\t\t{truncateString(cardHeading, cardHeadingMaxChar)}\n\t\t</p>\n\t{/if}\n\t{#key $isMobile}\n\t\t{#if typeof cardDescription === 'string' && cardDescription !== null}\n\t\t\t<p\n\t\t\t\tbind:offsetHeight={cardDescriptionElementHight}\n\t\t\t\tclass=\"hidden text-white opacity-0 transition-opacity duration-300 md:line-clamp-3\"\n\t\t\t>\n\t\t\t\t{truncateString(cardDescription, cardDescriptionMaxChar)}\n\t\t\t</p>\n\t\t{/if}\n\t{/key}\n</div>\n","<script lang=\"ts\">\n\timport type { Writable } from 'svelte/store';\n\timport SharedContent from '../SharedContent.svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport type { SuccessStoryCardTypes } from '../../types';\n\timport { Button } from '../../../../../components/controls';\n\timport { ButtonTypes } from '../../../../../components/controls/types';\n\timport { isBrowser } from '@se/common/stores';\n\timport VideoThumbnail from '../../../../../components/Reusable/VideoThumbnail.svelte';\n\timport circlePlayGreenButton from '../../../../../assets/icons/circle-play-green-button.svg';\n\n\texport let container: Writable<HTMLElement | null>;\n\texport let successStoryCardVersion: string;\n\texport let successStoryCard: Pick<\n\t\tSuccessStoryCardTypes,\n\t\t| 'videoSection'\n\t\t| 'cardLabel'\n\t\t| 'cardHeading'\n\t\t| 'cardDescription'\n\t\t| 'cardDescriptionMaxChar'\n\t\t| 'cardHeadingMaxChar'\n\t\t| 'cardLabelMaxChar'\n\t>;\n\texport let checkVideoThumbnail: () => boolean;\n\texport let handlePlayButtonClick: () => void;\n\texport let toggleHover: () => void;\n\texport let hoverEnabled: boolean;\n\texport let showSharedContent = true;\n\texport let videoLink: string = '';\n\texport let buttonType: ButtonTypes = ButtonTypes.PLAY_BUTTON;\n\texport let useGreenCircleButton: boolean = false;\n</script>\n\n<!-- Render only on client because of weird hydration issue which removes header from page -->\n{#if $isBrowser}\n\t<button\n\t\tbind:this={$container}\n\t\taria-label=\"Open youtube video modal\"\n\t\tclass={twMerge(\n\t\t\t'video-card-button slide-up relative flex flex-col justify-end overflow-hidden rounded-lg',\n\t\t\tsuccessStoryCardVersion === 'small'\n\t\t\t\t? 'h-[312px] w-[260px] md:h-[382px] md:w-[314px]'\n\t\t\t\t: 'h-[312px] w-full md:h-[384px]'\n\t\t)}\n\t\ton:mouseenter={toggleHover}\n\t\ton:mouseleave={toggleHover}\n\t\ton:click={handlePlayButtonClick}\n\t>\n\t\t<div class=\"absolute inset-0 -z-[-1]\">\n\t\t\t<VideoThumbnail\n\t\t\t\taprimoData={successStoryCard.videoSection.aprimoVideo}\n\t\t\t\tembeddedLinkData={successStoryCard.videoSection.youTubeVideo}\n\t\t\t\tvideoSource={successStoryCard.videoSection.videoSource}\n\t\t\t\tcustomClass=\"relative w-full h-full\"\n\t\t\t\t{videoLink}\n\t\t\t/>\n\t\t</div>\n\n\t\t{#if checkVideoThumbnail()}\n\t\t\t<div\n\t\t\t\tclass=\"absolute left-1/2 top-1/2 z-[10] flex translate-x-[-50%] translate-y-[-50%] items-center justify-center\"\n\t\t\t>\n\t\t\t\t{#if useGreenCircleButton}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"circleBtn flex h-14 !w-14 items-center justify-center rounded-full bg-[#008A16] group-hover/tile:bg-[#0FB542]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<img src={circlePlayGreenButton} alt=\"icon\" />\n\t\t\t\t\t</div>\n\t\t\t\t{:else}\n\t\t\t\t\t<Button\n\t\t\t\t\t\topenInNewTab={false}\n\t\t\t\t\t\tbuttonTypes={buttonType}\n\t\t\t\t\t\ton:click={handlePlayButtonClick}\n\t\t\t\t\t\thoverState={hoverEnabled}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t</div>\n\t\t{/if}\n\n\t\t{#if showSharedContent}\n\t\t\t<div class=\"relative z-10 w-full\">\n\t\t\t\t<SharedContent {successStoryCardVersion} {successStoryCard} />\n\t\t\t</div>\n\t\t{/if}\n\t</button>\n{/if}\n\n<style lang=\"scss\">\n\t.slide-up:hover :global(.slide),\n\t.slide-up:focus :global(.slide) {\n\t\ttransform: translateY(0) !important;\n\t}\n\n\t.slide-up:hover :global(.slide p),\n\t.slide-up:focus :global(.slide p) {\n\t\topacity: 1;\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\timport { onMount, afterUpdate, onDestroy, beforeUpdate } from 'svelte';\n\n\t// internal dependencies\n\timport * as constant from '../../../../config/constant';\n\timport type { TabsType } from './types';\n\timport { Icon, IconName, IconSize } from '@se/common/src/components/icon';\n\timport { DataLayerEventName, ItemClickedSuboption, analytics } from '@se/core/services/analytics';\n\timport { getContext } from 'svelte';\n\n\texport let tabs: any[];\n\texport let tabsType: TabsType = 'main';\n\texport let customClass = '';\n\texport let customTabClass = '';\n\texport let contentClasses = '';\n\texport let tabsContainerClasses = '';\n\texport let activeTab = 0;\n\n\tconst INITIAL_OFFSET = -52;\n\n\tlet liRefs: HTMLLIElement[] = [];\n\tlet liElementWidths: number[] = [];\n\tlet liElementsTotalWidth = 0;\n\tlet currentLiElementIndex = 0;\n\tlet slider: HTMLElement;\n\tlet mouseDown = false;\n\tlet startPositionX: number;\n\tlet tabClasses = '';\n\tlet tabActiveClasses = '';\n\tlet containerRef: HTMLElement;\n\tlet currentScrollLeft = 0;\n\tlet isRightArrowVisible = false;\n\tlet isLeftArrowVisible = false;\n\tlet isOverflowing = false;\n\n\t$: isRtlLanguage = getContext('currentDir') === 'rtl';\n\t$: isMainTabs = tabsType === 'main';\n\t$: {\n\t\tif (slider?.offsetWidth && liElementsTotalWidth) {\n\t\t\tisOverflowing = liElementsTotalWidth > window.innerWidth;\n\t\t}\n\t}\n\n\t$: {\n\t\tliElementWidths = liRefs.map((li) => li.clientWidth);\n\t\tliElementsTotalWidth = liElementWidths.reduce((acc, width) => acc + width, 0);\n\t}\n\n\t$: switch (tabsType) {\n\t\tcase 'main': {\n\t\t\ttabClasses = twMerge(\n\t\t\t\t'h-[90px]',\n\t\t\t\t'max-w-[235px]',\n\t\t\t\t'px-10',\n\t\t\t\t'rounded-t-lg',\n\t\t\t\t'hover:text-se-green-100'\n\t\t\t);\n\t\t\ttabActiveClasses = twMerge('text-se-green-100', 'bg-[#F4F4F4]');\n\t\t\tbreak;\n\t\t}\n\t\tcase 'regular': {\n\t\t\ttabClasses = twMerge(\n\t\t\t\t'uni-desktop:py-3',\n\t\t\t\t'uni-desktop:px-6',\n\t\t\t\t'py-2',\n\t\t\t\t'px-4',\n\t\t\t\t'ltr:uni-desktop:mr-4',\n\t\t\t\t'ltr:mr-2',\n\t\t\t\t'rtl:uni-desktop:ml-4',\n\t\t\t\t'rtl:ml-2',\n\t\t\t\t'shrink-0',\n\t\t\t\t'drop-shadow-se1',\n\t\t\t\t'block',\n\t\t\t\t'uni-desktop:leading-se21',\n\t\t\t\t'font-bold',\n\t\t\t\t'rounded',\n\t\t\t\t'uni-desktop:text-lg',\n\t\t\t\t'text-sm',\n\t\t\t\t'uni-desktop:h-11',\n\t\t\t\t'border',\n\t\t\t\t'border-white',\n\t\t\t\t'bg-white',\n\t\t\t\t'text-se-charcoal',\n\t\t\t\t'hover:border-se-charcoal'\n\t\t\t);\n\t\t\ttabActiveClasses = twMerge('!bg-se-charcoal', 'text-white');\n\t\t\tbreak;\n\t\t}\n\t\tcase 'underline': {\n\t\t\ttabClasses = twMerge(\n\t\t\t\t'h-11',\n\t\t\t\t'rtl:ml-2 ltr:mr-2',\n\t\t\t\t'rtl:uni-desktop:ml-4 ltr:uni-desktop:mr-4',\n\t\t\t\t'border-b-2',\n\t\t\t\t'hover:border-se-green-100',\n\t\t\t\t'border-[#DBDBDC]',\n\t\t\t\t'text-[#626469]',\n\t\t\t\t'hover:text-[#333]',\n\t\t\t\t'uni-desktop:text-base',\n\t\t\t\t'text-sm'\n\t\t\t);\n\t\t\ttabActiveClasses = twMerge('!text-se-green-100', '!border-se-green-100');\n\t\t\tbreak;\n\t\t}\n\t\tcase 'borderedBottom': {\n\t\t\ttabClasses = twMerge(\n\t\t\t\t'min-h-[76px]',\n\t\t\t\t'lg:min-h-[81px]',\n\t\t\t\t'text-[20px]/[24px]',\n\t\t\t\t'lg:text-[24px]/[29px]',\n\t\t\t\t'bg-white',\n\t\t\t\t'text-se-charcoal',\n\t\t\t\t'font-bold',\n\t\t\t\t'border-b-transparent',\n\t\t\t\t'border-b-4',\n\t\t\t\t'hover:bg-[#F3F2F2]',\n\t\t\t\t'hover:border-b-[#F3F2F2]',\n\t\t\t\t'py-[24px]',\n\t\t\t\t'px-[16px]',\n\t\t\t\t'lg:py-6',\n\t\t\t\t'lg:px-[32px]',\n\t\t\t\t'text-se-charcoal'\n\t\t\t);\n\t\t\ttabActiveClasses = twMerge('!border-b-[--theme-primary-light-color]', 'bg-[#FAFAFA]');\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\t// Handle unexpected tabsType values\n\t\t\ttabClasses = '';\n\t\t\ttabActiveClasses = '';\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * Get clientX value from MouseEvent or TouchEvent\n\t * @param e MouseEvent | TouchEvent\n\t * @returns clientX value\n\t */\n\tconst getClientX = (e: MouseEvent | TouchEvent): number => {\n\t\treturn e instanceof MouseEvent ? e.pageX : e.touches[0].pageX;\n\t};\n\n\tconst handleTabChangeGAEvent = () => {\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.ITEM_CLICKED,\n\t\t\tselected_option: tabs[activeTab]?.label ?? '',\n\t\t\tselected_sub_option: ItemClickedSuboption.ONPAGE_NAVI,\n\t\t});\n\t};\n\n\t/**\n\t * Set active tab\n\t * @param id clicked tab\n\t */\n\tconst handleClick = (id: number): void => {\n\t\tactiveTab = id;\n\n\t\thandleTabChangeGAEvent();\n\t};\n\n\t/**\n\t * handle key press events\n\t * @param e keyboard event object\n\t */\n\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\tvar k = e.which || e.keyCode;\n\n\t\tif (k >= constant.KEY_BOARD_LEFT_ARROW && k <= constant.KEY_BOARD_DOWN_ARROW) {\n\t\t\tif (k == constant.KEY_BOARD_LEFT_ARROW || k == constant.KEY_BOARD_UP_ARROW) {\n\t\t\t\tif (activeTab > 0) {\n\t\t\t\t\tactiveTab--;\n\t\t\t\t} else {\n\t\t\t\t\tactiveTab = tabs.length - 1;\n\t\t\t\t}\n\t\t\t} else if (k == constant.KEY_BOARD_RIGHT_ARROW || k == constant.KEY_BOARD_DOWN_ARROW) {\n\t\t\t\tif (activeTab < tabs.length - 1) {\n\t\t\t\t\tactiveTab++;\n\t\t\t\t} else {\n\t\t\t\t\tactiveTab = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tliRefs[activeTab]?.focus();\n\t\t} else if (k == constant.KEY_BOARD_EVENT_ENTER_CODE) {\n\t\t\thandleClick(activeTab);\n\t\t}\n\n\t\thandleTabChangeGAEvent();\n\t};\n\n\tconst startDragging = function (e: MouseEvent | TouchEvent) {\n\t\tmouseDown = true;\n\t\tstartPositionX = getClientX(e) - slider.offsetLeft;\n\t\tcurrentScrollLeft = slider.scrollLeft;\n\t};\n\n\tconst stopDragging = () => {\n\t\tmouseDown = false;\n\t\tcurrentScrollLeft = slider.scrollLeft;\n\n\t\t// Update currentLiElementIndex based on current scrollLeft\n\t\tlet accumulatedWidth = INITIAL_OFFSET;\n\t\tfor (let i = 0; i < liElementWidths.length; i++) {\n\t\t\taccumulatedWidth += liElementWidths[i];\n\n\t\t\tif (Math.abs(currentScrollLeft) < accumulatedWidth) {\n\t\t\t\tcurrentLiElementIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleDragging = (e: MouseEvent | TouchEvent) => {\n\t\tif (!mouseDown) return;\n\n\t\tconst currentX = getClientX(e) - slider.offsetLeft;\n\t\tconst scrollDistance = currentX - startPositionX;\n\t\tslider.scrollLeft = currentScrollLeft - scrollDistance;\n\t\tcurrentScrollLeft = slider.scrollLeft;\n\t};\n\n\tconst scrollTabs = (direction: 'left' | 'right') => {\n\t\tif (direction === 'left') {\n\t\t\tif (isRtlLanguage) {\n\t\t\t\tcurrentLiElementIndex++;\n\t\t\t} else {\n\t\t\t\tcurrentLiElementIndex--;\n\t\t\t}\n\t\t} else if (\n\t\t\t(direction === 'right' && currentLiElementIndex < liElementWidths.length && !isRtlLanguage) ||\n\t\t\t(direction === 'right' && currentLiElementIndex > 0 && isRtlLanguage)\n\t\t) {\n\t\t\tif (isRtlLanguage) {\n\t\t\t\tcurrentLiElementIndex--;\n\t\t\t} else {\n\t\t\t\tcurrentLiElementIndex++;\n\t\t\t}\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate new scrollLeft value\n\t\tconst targetScrollLeft = liElementWidths\n\t\t\t.filter((_, i) => i < currentLiElementIndex)\n\t\t\t.reduce((acc, width) => acc + width, INITIAL_OFFSET);\n\n\t\tconst effectiveScrollLeft = isRtlLanguage ? -targetScrollLeft : targetScrollLeft;\n\n\t\tslider.scrollTo({\n\t\t\tleft: effectiveScrollLeft,\n\t\t\tbehavior: 'smooth',\n\t\t});\n\t\tcurrentScrollLeft = effectiveScrollLeft;\n\t};\n\n\tconst checkOverflow = () => {\n\t\tconst totalWidth = liRefs.reduce((acc, li) => acc + li.clientWidth, 0);\n\t\tconst ulWidth = slider.offsetWidth;\n\n\t\tcurrentScrollLeft = slider.scrollLeft;\n\t\tisOverflowing = totalWidth > ulWidth;\n\t};\n\n\tconst handleResize = () => {\n\t\tcheckOverflow();\n\t};\n\n\tonMount(() => {\n\t\tcheckOverflow();\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('resize', handleResize);\n\t\t}\n\t});\n\n\tonDestroy(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t}\n\t});\n\n\t$: {\n\t\tisLeftArrowVisible = isRtlLanguage\n\t\t\t? (currentScrollLeft <= 1 &&\n\t\t\t\t\tMath.abs(currentScrollLeft) < slider?.scrollWidth - slider?.clientWidth - 1) ||\n\t\t\t\tcurrentLiElementIndex === 0\n\t\t\t: currentScrollLeft > 0;\n\n\t\tcurrentScrollLeft;\n\t\tisOverflowing;\n\t\tliElementsTotalWidth;\n\t}\n\n\t$: {\n\t\tisRightArrowVisible = isRtlLanguage\n\t\t\t? currentScrollLeft <= 0 && currentLiElementIndex > 0\n\t\t\t: slider?.scrollWidth > slider?.clientWidth &&\n\t\t\t\tMath.ceil(currentScrollLeft) < slider?.scrollWidth - slider?.clientWidth;\n\n\t\tcurrentScrollLeft;\n\t\tisOverflowing;\n\t\tliElementsTotalWidth;\n\t}\n\n\t// Change active tab if the current active tab is hidden (this might be needed after embedded link validation)\n\t$: if (tabs[activeTab]?.isHidden) {\n\t\tactiveTab = tabs.findIndex((tab) => !tab.isHidden);\n\t}\n</script>\n\n<div\n\tbind:this={containerRef}\n\tclass={twMerge(`${isMainTabs ? 'hidden lg:block' : ''}`, tabsContainerClasses)}\n>\n\t<div class=\"relative text-lg font-bold text-black\">\n\t\t<ul\n\t\t\trole=\"tablist\"\n\t\t\tclass={twMerge(\n\t\t\t\t'item-list-scroll relative z-10 m-0 flex max-w-fit list-none overflow-x-scroll scroll-smooth',\n\t\t\t\tcustomClass\n\t\t\t)}\n\t\t\tclass:p-5={tabsType === 'regular'}\n\t\t\tclass:-m-5={tabsType === 'regular'}\n\t\t\ton:mousemove|stopPropagation={handleDragging}\n\t\t\ton:mousedown|stopPropagation={startDragging}\n\t\t\ton:mouseup|stopPropagation={stopDragging}\n\t\t\ton:mouseleave|stopPropagation={stopDragging}\n\t\t\ton:touchstart|stopPropagation={startDragging}\n\t\t\ton:touchmove|stopPropagation={handleDragging}\n\t\t\ton:touchend|stopPropagation={stopDragging}\n\t\t\tbind:this={slider}\n\t\t>\n\t\t\t{#each tabs as tab, index}\n\t\t\t\t<li\n\t\t\t\t\tbind:this={liRefs[index]}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclass={twMerge('flex-auto flex-shrink-0', tab.isHidden ? 'hidden' : 'block')}\n\t\t\t\t\tdata-item=\"tab-item\"\n\t\t\t\t>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass={twMerge(tabClasses, index === activeTab ? tabActiveClasses : '', customTabClass)}\n\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\taria-selected={activeTab === index ? true : false}\n\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\ton:keydown={handleKeyDown}\n\t\t\t\t\t\ton:click|preventDefault|stopPropagation={() => handleClick(index)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if tabsType === 'main'}\n\t\t\t\t\t\t\t<h2 class=\"mx-0 my-0 text-lg\">{@html tab.label}</h2>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t{tab.label}\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t{/each}\n\t\t</ul>\n\n\t\t{#if isOverflowing}\n\t\t\t{#if isLeftArrowVisible}\n\t\t\t\t<button\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'absolute left-0 top-0 z-10 flex h-full w-12 items-center justify-start bg-gradient-to-l from-transparent via-white to-white text-gray-700',\n\t\t\t\t\t\ttabsType === 'borderedBottom' && 'w-8'\n\t\t\t\t\t)}\n\t\t\t\t\ton:click|stopPropagation={() => scrollTabs('left')}\n\t\t\t\t\ton:keydown={() => scrollTabs('left')}\n\t\t\t\t>\n\t\t\t\t\t<Icon name={IconName.CHEVRON_LEFT} size={IconSize.SM} color={'#374151'} />\n\t\t\t\t</button>\n\t\t\t{/if}\n\t\t\t{#if isRightArrowVisible}\n\t\t\t\t<button\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'absolute right-0 top-0 z-10 flex h-full w-12 items-center justify-end bg-gradient-to-r from-transparent via-white to-white text-gray-700',\n\t\t\t\t\t\ttabsType === 'borderedBottom' && 'w-8'\n\t\t\t\t\t)}\n\t\t\t\t\ton:click|stopPropagation={() => scrollTabs('right')}\n\t\t\t\t\ton:keydown={() => scrollTabs('right')}\n\t\t\t\t>\n\t\t\t\t\t<Icon name={IconName.CHEVRON_RIGHT} size={IconSize.SM} color={'#374151'} />\n\t\t\t\t</button>\n\t\t\t{/if}\n\t\t{/if}\n\t</div>\n\n\t{#if (tabsType === 'borderedBottom' && tabs[activeTab]?.subtitle) || tabs[activeTab]?.description}\n\t\t{#each tabs as tab, index}\n\t\t\t{#if activeTab == index}\n\t\t\t\t<div class=\"px-4 lg:px-0\">\n\t\t\t\t\t{#if tab.subtitle}\n\t\t\t\t\t\t<h3\n\t\t\t\t\t\t\tclass=\"mb-6 mt-10 text-wrap break-words text-[28px] font-bold leading-[34px] text-black lg:text-[32px] lg:leading-[38px]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{tab.subtitle}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t{/if}\n\t\t\t\t\t{#if tab.description}\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclass=\"my-[14px] text-wrap break-words text-[14px] leading-[21px] text-black lg:my-[16px] lg:text-[16px] lg:leading-[24px]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{tab.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t{/if}\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t{/each}\n\t{/if}\n\n\t{#each tabs as tab, index}\n\t\t<div\n\t\t\tclass={twMerge(contentClasses, activeTab === index ? 'block' : 'hidden')}\n\t\t\tclass:rounded-tl-none={index === 0}\n\t\t\tclass:rounded-tr-none={index === tabs.length - 1}\n\t\t>\n\t\t\t<slot name=\"tab\" {tab} {index} />\n\t\t</div>\n\t{/each}\n</div>\n\n<style>\n\t.item-list-scroll::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\t/** Firefox fix **/\n\t.item-list-scroll {\n\t\tscrollbar-width: none;\n\t\tscroll-behavior: smooth;\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { Blocks, type BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let children: BuilderBlock[];\n\texport let parent: string | undefined;\n\texport let path: string | undefined;\n\texport let styleProp: Record<string, any> | undefined;\n\texport let customClass: string | undefined;\n</script>\n\n<div class={twMerge('h-full min-h-20', customClass)}>\n\t<Blocks blocks={children} {parent} {path} {styleProp} />\n</div>\n","<script lang=\"ts\">\n\timport { RequestedTranslationsTooltip } from '../../../modules/global-link';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { HorizontalTabsVariant } from './types';\n\timport type { Tab } from './types';\n\timport Tabs from './tabs/Tabs.svelte';\n\timport type { TabsType } from './tabs/types';\n\timport Container from './fragments/Container.svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { blockLinkStatusesStore, isBlockStatusInvalid } from '../../embedded-link';\n\timport { isEditing } from '@builder.io/sdk-svelte';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport { defaultComponentStylesCheckboxesValues } from '../shared/component-styles-wrapper/consts';\n\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType = defaultComponentStylesCheckboxesValues;\n\texport let tabs: Tab[];\n\texport let builderBlock: BuilderBlock | null = null;\n\n\t// builder Data\n\texport let variant: HorizontalTabsVariant;\n\n\tlet tabsType: TabsType;\n\n\t$: {\n\t\tif (variant === HorizontalTabsVariant.Default) {\n\t\t\ttabsType = 'regular';\n\t\t} else if (variant === HorizontalTabsVariant.Underline) {\n\t\t\ttabsType = 'underline';\n\t\t} else if (variant === HorizontalTabsVariant.BorderedBottom) {\n\t\t\ttabsType = 'borderedBottom';\n\t\t} else {\n\t\t\ttabsType = 'main';\n\t\t}\n\t}\n\n\t$: filteredTabs = tabs.map((tab, index) => {\n\t\tconst isEdit = isEditing();\n\n\t\tif (isEdit) {\n\t\t\treturn {\n\t\t\t\t...tab,\n\t\t\t\tisHidden: false,\n\t\t\t};\n\t\t}\n\n\t\tif (!tab.children || tab.children.length === 0) {\n\t\t\treturn {\n\t\t\t\t...tab,\n\t\t\t\tisHidden: false,\n\t\t\t};\n\t\t}\n\n\t\tlet shouldHide = true;\n\t\tlet hasValidBlocks = false;\n\n\t\tfor (const block of tab.children) {\n\t\t\tif (block.id && !isBlockStatusInvalid($blockLinkStatusesStore, block.id)) {\n\t\t\t\tshouldHide = false;\n\t\t\t\thasValidBlocks = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Prevent all tabs from being hidden in PROD environment\n\t\tif (\n\t\t\tshouldHide &&\n\t\t\tindex === tabs.length - 1 &&\n\t\t\t!tabs.some((t, i) => i < index && !filteredTabs[i]?.isHidden)\n\t\t) {\n\t\t\treturn {\n\t\t\t\t...tab,\n\t\t\t\tisHidden: false,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...tab,\n\t\t\tisHidden: shouldHide,\n\t\t};\n\t});\n</script>\n\n<ComponentStylesWrapper\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t{ComponentStyles}\n\tcustomClass=\"pb-4 pr-0 lg:pr-inherit\"\n\ttestID={COMPONENT_META_DATA.NAME}\n>\n\t<RequestedTranslationsTooltip id={builderBlock?.id} />\n\t<Tabs\n\t\ttabs={filteredTabs}\n\t\t{tabsType}\n\t\tcustomClass={twMerge(\n\t\t\tvariant === HorizontalTabsVariant.Main && 'p-0',\n\t\t\tvariant === HorizontalTabsVariant.Default && 'px-0',\n\t\t\tvariant === HorizontalTabsVariant.Main && '!pb-0',\n\t\t\t'py-6'\n\t\t)}\n\t>\n\t\t<div slot=\"tab\" let:tab let:index>\n\t\t\t<Container\n\t\t\t\tchildren={tab.children}\n\t\t\t\tparent={builderBlock?.id}\n\t\t\t\tpath={`component.options.tabs.${index}.children`}\n\t\t\t\tstyleProp={{ height: '100%' }}\n\t\t\t\tcustomClass={twMerge(\n\t\t\t\t\tvariant === HorizontalTabsVariant.Main &&\n\t\t\t\t\t\t'bg-[#F4F4F4] px-10 pt-6 pb-[56px] rounded-b-4 rounded-tr-4'\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t</Tabs>\n</ComponentStylesWrapper>\n","export default \"data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.14062%208.1375C2.95312%207.95%202.95312%207.62188%203.14062%207.43438C3.23438%207.34063%203.375%207.29375%203.49219%207.29375C3.63281%207.29375%203.75%207.34063%203.84375%207.43438L11.9672%2015.5508L20.1562%207.39453C20.25%207.30078%2020.3672%207.25391%2020.5078%207.25391C20.625%207.25391%2020.7656%207.30078%2020.8594%207.39453C21.0469%207.58203%2021.0469%207.91016%2020.8594%208.09766L12.3422%2016.6055C12.1312%2016.793%2011.8266%2016.793%2011.6156%2016.6055L3.14062%208.1375Z'%20fill='black'/%3e%3c/svg%3e\"","<script lang=\"ts\">\n\t// external dependencies\n\timport IntersectionObserver from 'svelte-intersection-observer';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { isBrowser, accessibilityMode } from '@se/common/stores';\n\timport { DataLayerEventName, ItemClickedSuboption, analytics } from '@se/core/services/analytics';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link/types';\n\t// internal dependencies\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { RequestedTranslationsTooltip } from '../../../modules/global-link';\n\timport arrow from '../../../assets/icons/down-arrow.svg';\n\timport Typography from '@se/common/src/components/typography/Typography.svelte';\n\timport { setContext } from 'svelte';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { isInvalidLink, internalLinksStatusStore } from '../../embedded-link';\n\timport { QdsButton } from '../../shared/qds-button';\n\timport sanitizeHtml from 'sanitize-html';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport EmbeddedLink from '../../../components/embedded-link/EmbeddedLink.svelte';\n\timport { convertFieldSetToParams } from '../../../components/embedded-link/helpers/convert-field-set-to-params';\n\timport { OPEN_IN_NEW_TAB_ICON } from '../../shared/qds-button/consts';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType;\n\texport let builderBlock: BuilderBlock | null = null;\n\texport let heading: string;\n\texport let accordionGroup: Array<{\n\t\tlabel: string;\n\t\tdescription: string;\n\t}>;\n\texport let cta: {\n\t\ttext: string;\n\t\tlink: LinkFieldSet | undefined;\n\t};\n\n\tconst sanitizeConfig = {\n\t\tallowedTags: [\n\t\t\t'h2',\n\t\t\t'h3',\n\t\t\t'h4',\n\t\t\t'h5',\n\t\t\t'h6',\n\t\t\t'p',\n\t\t\t'strong',\n\t\t\t'em',\n\t\t\t'u',\n\t\t\t's',\n\t\t\t'ol',\n\t\t\t'ul',\n\t\t\t'li',\n\t\t\t'sub',\n\t\t\t'sup',\n\t\t\t'a',\n\t\t\t'br',\n\t\t],\n\t\tallowedAttributes: {\n\t\t\ta: ['href', 'target'],\n\t\t\t'*': ['class'],\n\t\t},\n\t};\n\n\tsetContext('builderBlock', builderBlock);\n\n\tlet selectedTabIndex: number | null;\n\n\t// Following 2 elements are props of the IntersectionObserver\n\tlet element: HTMLElement;\n\tlet intersecting: boolean;\n\t$: intersecting = !$isBrowser;\n\t$: heading = heading || '';\n\n\t/**\n\t * Display details about a feature\n\t * Once tab is clicked\n\t * @param index index for a tab\n\t */\n\tconst handleTabChange = (index: number) => {\n\t\tselectedTabIndex = selectedTabIndex === index ? null : index;\n\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.ITEM_CLICKED,\n\t\t\tselected_option: accordionGroup[index]?.label ?? '',\n\t\t\tselected_sub_option: ItemClickedSuboption.ONPAGE_NAVI,\n\t\t});\n\t};\n</script>\n\n<RequestedTranslationsTooltip id={builderBlock?.id} />\n<IntersectionObserver once {element} bind:intersecting>\n\t<div bind:this={element}>\n\t\t{#if intersecting}\n\t\t\t{#if accordionGroup?.length > 0}\n\t\t\t\t<ComponentStylesWrapper\n\t\t\t\t\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t\t\t\t\t{ComponentStyles}\n\t\t\t\t\tcustomClass=\"bg-theme-background-white-color\"\n\t\t\t\t\ttPaddingClass=\"!pt-6\"\n\t\t\t\t\tbPaddingClass=\"!pb-6\"\n\t\t\t\t\txPaddingClass=\"px-4 lg:px-5\"\n\t\t\t\t\ttestID={COMPONENT_META_DATA.NAME}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"my flex w-full justify-center text-black\">\n\t\t\t\t\t\t<div class=\"w-full max-w-[856px]\">\n\t\t\t\t\t\t\t{#if heading}\n\t\t\t\t\t\t\t\t<div class=\"flex justify-center p-8 text-center\">\n\t\t\t\t\t\t\t\t\t<Typography tag=\"h4\" type=\"custom\" className=\"text-3xl\">\n\t\t\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t<ul class=\"ml-0 list-none\">\n\t\t\t\t\t\t\t\t{#each accordionGroup as tab, index}\n\t\t\t\t\t\t\t\t\t<div class=\"border-b border-gray-300\">\n\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"flex w-full items-center justify-between px-4 py-2 text-left lg:text-2xl rtl:lg:text-right\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ton:click={() => handleTabChange(index)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class={$accessibilityMode ? 'bg-black text-white' : ''}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tab.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"ml-2 h-5\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass:rotate-180={selectedTabIndex === index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={arrow}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"arrow\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t\t\t\t\t\t\t'rich-text-wrapper p-6 pt-0',\n\t\t\t\t\t\t\t\t\t\t\t\t$accessibilityMode && 'bg-black text-white'\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tclass:hidden={selectedTabIndex !== index && $isBrowser}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{@html sanitizeHtml(tab.description, sanitizeConfig)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{/each}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t{#if cta.link && cta.text && !isInvalidLink($internalLinksStatusStore, cta.link)}\n\t\t\t\t\t\t\t\t<div class=\"block justify-center lg:flex\">\n\t\t\t\t\t\t\t\t\t<EmbeddedLink\n\t\t\t\t\t\t\t\t\t\tlink={cta.link}\n\t\t\t\t\t\t\t\t\t\tparams={convertFieldSetToParams(cta.link)}\n\t\t\t\t\t\t\t\t\t\trenderChildrenOnly\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\t\t\t{...cta}\n\t\t\t\t\t\t\t\t\t\t\tgaEventName={cta.text}\n\t\t\t\t\t\t\t\t\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\t\t\t\t\t\t\t\t\tlink={cta.link}\n\t\t\t\t\t\t\t\t\t\t\thref={cta.link.resolvedUrl}\n\t\t\t\t\t\t\t\t\t\t\ttarget={cta.link.target}\n\t\t\t\t\t\t\t\t\t\t\ticonLibrary=\"core\"\n\t\t\t\t\t\t\t\t\t\t\ticonName={cta.link.target === '_blank' ? OPEN_IN_NEW_TAB_ICON : ''}\n\t\t\t\t\t\t\t\t\t\t\tclass=\"my-5 w-full lg:w-auto\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</ComponentStylesWrapper>\n\t\t\t{/if}\n\t\t{/if}\n\t</div>\n</IntersectionObserver>\n\n<style lang=\"scss\" global>\n\t.rich-text-wrapper {\n\t\t:global(.ql-align-left) {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t:global(.ql-align-center) {\n\t\t\ttext-align: center;\n\t\t}\n\t\t:global(.ql-align-right) {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t@for $i from 1 through 9 {\n\t\t\t.ql-indent-#{$i} {\n\t\t\t\tpadding-left: $i * 3em;\n\t\t\t}\n\t\t}\n\n\t\tol {\n\t\t\tlist-style: auto;\n\t\t}\n\t\ta {\n\t\t\tcolor: var(--theme-blue-color);\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","export const CAROUSEL_BUTTON_SIZE = 'standard';\nexport const CAROUSEL_BUTTON_IMPORTANCE = 'standard';\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\n\t// internal dependencies\n\timport { QdsButton } from '../../shared/qds-button';\n\timport { CAROUSEL_BUTTON_IMPORTANCE, CAROUSEL_BUTTON_SIZE } from './consts';\n\timport type { ButtonSize, ButtonImportance } from '../../shared/qds-button/types';\n\n\texport let cardsNumber: number = 0;\n\texport let currentPageIndex: number;\n\texport let isScrollableNext: boolean;\n\texport let isScrollablePrev: boolean;\n\texport let buttonImportance: ButtonImportance = CAROUSEL_BUTTON_IMPORTANCE;\n\texport let buttonSize: ButtonSize = CAROUSEL_BUTTON_SIZE;\n\texport let navigationBarCustomClass: string = '';\n\texport let scrollNext: () => void;\n\texport let scrollPrev: () => void;\n\texport let goTo: (index: number) => void;\n\n\t$: elements = Array.from({ length: cardsNumber }, (_, i) => i);\n\n\tconst handleGoTo = (index: number) => (event: MouseEvent) => {\n\t\tevent.stopPropagation();\n\t\tif (index === currentPageIndex) return;\n\t\tgoTo(index);\n\t};\n</script>\n\n{#if isScrollableNext || isScrollablePrev}\n\t<div\n\t\tclass=\"m-0 hidden list-none justify-center gap-2 p-0 px-4 md:flex rtl:rotate-180 rtl:flex-row-reverse\"\n\t>\n\t\t<QdsButton\n\t\t\ticonName=\"chevron-left\"\n\t\t\timportance={buttonImportance}\n\t\t\tsize={buttonSize}\n\t\t\ton:click={scrollPrev}\n\t\t\tdisabled={!isScrollablePrev}\n\t\t/>\n\t\t<QdsButton\n\t\t\ticonName=\"chevron-right\"\n\t\t\timportance={buttonImportance}\n\t\t\tsize={buttonSize}\n\t\t\ton:click={scrollNext}\n\t\t\tdisabled={!isScrollableNext}\n\t\t/>\n\t</div>\n\t<div class=\"md:hidden\">\n\t\t<div class={twMerge('flex items-center gap-2 lg:w-[initial]')}>\n\t\t\t{#each elements as index}\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'dotsTransition bg-theme-light-grey-dots-color mb-[30px] h-1 w-5',\n\t\t\t\t\t\tindex === currentPageIndex && `bg-theme-dark-green-color w-full`,\n\t\t\t\t\t\tnavigationBarCustomClass\n\t\t\t\t\t)}\n\t\t\t\t\ton:click={handleGoTo(index)}\n\t\t\t\t/>\n\t\t\t{/each}\n\t\t</div>\n\t</div>\n{/if}\n\n<style>\n\t.dotsTransition {\n\t\ttransition: width ease-in-out 0.5s;\n\t}\n</style>\n","type FetchProductPicture = {\n\tpesId: string;\n\tnoAuth?: boolean;\n\tlanguage: string;\n\tcountry: string;\n\tappOriginUrl: string;\n};\n\nexport const fetchProductPicture = async ({\n\tpesId,\n\tlanguage,\n\tcountry,\n\tappOriginUrl,\n}: FetchProductPicture) => {\n\ttry {\n\t\tconst url = new URL(`${appOriginUrl}/_server/api/pim-product-offer/search`);\n\t\turl.searchParams.append('id', pesId);\n\t\turl.searchParams.append('language', language);\n\t\turl.searchParams.append('country', country);\n\t\turl.searchParams.append('noAuth', 'true');\n\n\t\tconst productPictureRes = await fetch(url.toString(), {\n\t\t\tmethod: 'GET',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t});\n\n\t\tif (!productPictureRes.ok) throw new Error('Request failed');\n\n\t\tconst productPicture = await productPictureRes.json();\n\n\t\treturn { productPicture };\n\t} catch (error) {\n\t\tconsole.error(error);\n\t\treturn {};\n\t}\n};\n","export const LOCALE_MAP = [\n\t{ originalCountry: 'aa', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'ae', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'ar', localeToMap: { language: 'es', country: 'ar' } },\n\t{ originalCountry: 'at', localeToMap: { language: 'de', country: 'de' } },\n\t{ originalCountry: 'au', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'be', localeToMap: { language: 'fr', country: 'be' } },\n\t{ originalCountry: 'be', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'be', localeToMap: { language: 'nl', country: 'be' } },\n\t{ originalCountry: 'bg', localeToMap: { language: 'bg', country: 'bg' } },\n\t{ originalCountry: 'br', localeToMap: { language: 'pt', country: 'br' } },\n\t{ originalCountry: 'ca', localeToMap: { language: 'fr', country: 'ca' } },\n\t{ originalCountry: 'ca', localeToMap: { language: 'en', country: 'ca' } },\n\t{ originalCountry: 'ch', localeToMap: { language: 'de', country: 'de' } },\n\t{ originalCountry: 'ch', localeToMap: { language: 'fr', country: 'fr' } },\n\t{ originalCountry: 'cl', localeToMap: { language: 'es', country: 'cl' } },\n\t{ originalCountry: 'cn', localeToMap: { language: 'zh', country: 'cn' } },\n\t{ originalCountry: 'co', localeToMap: { language: 'es', country: 'co' } },\n\t{ originalCountry: 'cr', localeToMap: { language: 'es', country: 'cr' } },\n\t{ originalCountry: 'cz', localeToMap: { language: 'cs', country: 'cz' } },\n\t{ originalCountry: 'de', localeToMap: { language: 'de', country: 'de' } },\n\t{ originalCountry: 'dk', localeToMap: { language: 'da', country: 'dk' } },\n\t{ originalCountry: 'dz', localeToMap: { language: 'fr', country: 'fr' } },\n\t{ originalCountry: 'ee', localeToMap: { language: 'et', country: 'ee' } },\n\t{ originalCountry: 'eg', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'eg', localeToMap: { language: 'ar', country: 'eg' } },\n\t{ originalCountry: 'es', localeToMap: { language: 'es', country: 'es' } },\n\t{ originalCountry: 'fi', localeToMap: { language: 'fi', country: 'fi' } },\n\t{ originalCountry: 'fr', localeToMap: { language: 'fr', country: 'fr' } },\n\t{ originalCountry: 'gb', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'gr', localeToMap: { language: 'el', country: 'gr' } },\n\t{ originalCountry: 'hk', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'hk', localeToMap: { language: 'zh', country: 'hk' } },\n\t{ originalCountry: 'hr', localeToMap: { language: 'hr', country: 'hr' } },\n\t{ originalCountry: 'hu', localeToMap: { language: 'hu', country: 'hu' } },\n\t{ originalCountry: 'id', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'ie', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'il', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'in', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'it', localeToMap: { language: 'it', country: 'it' } },\n\t{ originalCountry: 'jp', localeToMap: { language: 'ja', country: 'jp' } },\n\t{ originalCountry: 'kr', localeToMap: { language: 'ko', country: 'kr' } },\n\t{ originalCountry: 'kz', localeToMap: { language: 'ru', country: 'ru' } },\n\t{ originalCountry: 'lt', localeToMap: { language: 'lt', country: 'lt' } },\n\t{ originalCountry: 'lv', localeToMap: { language: 'lv', country: 'lv' } },\n\t{ originalCountry: 'ma', localeToMap: { language: 'fr', country: 'fr' } },\n\t{ originalCountry: 'mx', localeToMap: { language: 'es', country: 'mx' } },\n\t{ originalCountry: 'my', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'ng', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'nl', localeToMap: { language: 'nl', country: 'nl' } },\n\t{ originalCountry: 'nl', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'no', localeToMap: { language: 'no', country: 'no' } },\n\t{ originalCountry: 'nz', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'pe', localeToMap: { language: 'es', country: 'pe' } },\n\t{ originalCountry: 'ph', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'pl', localeToMap: { language: 'pl', country: 'pl' } },\n\t{ originalCountry: 'pt', localeToMap: { language: 'pt', country: 'pt' } },\n\t{ originalCountry: 'ro', localeToMap: { language: 'ro', country: 'ro' } },\n\t{ originalCountry: 'rs', localeToMap: { language: 'sr', country: 'rs' } },\n\t{ originalCountry: 'sa', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'se', localeToMap: { language: 'sv', country: 'se' } },\n\t{ originalCountry: 'sg', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'si', localeToMap: { language: 'sl', country: 'si' } },\n\t{ originalCountry: 'sk', localeToMap: { language: 'sk', country: 'sk' } },\n\t{ originalCountry: 'th', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'tr', localeToMap: { language: 'tr', country: 'tr' } },\n\t{ originalCountry: 'tw', localeToMap: { language: 'zh', country: 'tw' } },\n\t{ originalCountry: 'ua', localeToMap: { language: 'uk', country: 'ua' } },\n\t{ originalCountry: 'us', localeToMap: { language: 'en', country: 'us' } },\n\t{ originalCountry: 'vn', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'ww', localeToMap: { language: 'en', country: 'gb' } },\n\t{ originalCountry: 'x0', localeToMap: { language: 'fr', country: 'fr' } },\n\t{ originalCountry: 'za', localeToMap: { language: 'en', country: 'gb' } },\n];\n","import { LOCALE_MAP } from './locale-map';\n\nexport const getMappedLocale = ({ language, country }: { language: string; country: string }) => {\n\tconst mappedLocales = LOCALE_MAP.filter((mapping) => mapping.originalCountry === country);\n\n\tif (mappedLocales.length > 0) {\n\t\tconst mappedLocale = mappedLocales.find((mapping) => mapping.localeToMap.language === language);\n\n\t\tif (mappedLocale) {\n\t\t\tlanguage = mappedLocale.localeToMap.language;\n\t\t\tcountry = mappedLocale.localeToMap.country;\n\t\t} else {\n\t\t\tlanguage = mappedLocales[0].localeToMap.language;\n\t\t\tcountry = mappedLocales[0].localeToMap.country;\n\t\t}\n\t}\n\n\treturn { language, country };\n};\n","import type { PesImage } from '@se/common/src/types/pes';\nimport { writable } from 'svelte/store';\n\nexport const cachedPesImages = writable<Array<PesImage>>([]);\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { type BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport { getContext } from 'svelte';\n\n\t// internal dependencies\n\timport type { ProductBlockItemNormal, ProductBlockItemRange } from './types';\n\timport { ComponentVariant } from './types';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport { RequestedTranslationsTooltip } from '../../../modules/global-link';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { isInvalidLink, internalLinksStatusStore, setBlockLinkStatus } from '../../embedded-link';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport ProductCard from '../shared/product-card/ProductCard.svelte';\n\timport { BackgroundColor, ColorCode } from '../../qds/constant';\n\timport EmblaCarousel from '../../shared/shared-carousel';\n\timport CarouselNavigation from '../../shared/carousel-navigation/CarouselNavigation.svelte';\n\timport { fetchProductPicture } from '../../../modules/product-image/fetch-product-picture';\n\timport { getMappedLocale } from '../../../modules/product-image/get-mapped-locale';\n\timport { ImageSource } from '../../../modules/product-image/get-product-image-inputs';\n\timport { getCountryAndLanguage, setBuilderBlock } from '@se/common/utils';\n\timport { cachedPesImages } from './cached-pes-images';\n\timport type { PesImage } from '@se/common/src/types/pes';\n\timport { isBrowser } from '@se/common/stores';\n\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType;\n\texport let builderBlock: BuilderBlock | null = null;\n\texport let cardGroup: ProductBlockItemNormal[] = [];\n\texport let rangeCardGroup: ProductBlockItemRange[] = [];\n\texport let backgroundColor: string = ColorCode.WHITE_100;\n\texport let componentVariant: ComponentVariant = ComponentVariant.DEFAULT;\n\texport let responsive = false;\n\n\tsetBuilderBlock(builderBlock);\n\tconst { country, language } = getCountryAndLanguage();\n\n\tlet currentPageIndex = 0;\n\tlet carousel: EmblaCarousel;\n\tlet isProductBlock: boolean = true;\n\n\t$: isScrollable = false;\n\t$: isScrollablePrev = false;\n\t$: isScrollableNext = false;\n\t$: isCarouselDisabled = responsive;\n\n\tconst scrollNext = () => {\n\t\tcarousel?.goToNext();\n\t};\n\n\tconst scrollPrev = () => {\n\t\tcarousel?.goToPrev();\n\t};\n\n\tconst goTo = (index: number, jump: boolean = false) => carousel.goTo(index, jump);\n\n\t$: isRtlLanguage = getContext('currentDir') === 'rtl';\n\n\t// Filter items with valid link\n\t$: cardGroupWithValidLinks = cardGroup.filter((item) => {\n\t\treturn !isInvalidLink($internalLinksStatusStore, item.url);\n\t});\n\n\tlet pesImages: PesImage[] = [];\n\n\tlet pesItems: Array<{\n\t\tpesId: string | undefined;\n\t\tstatus: 'success' | 'error' | undefined;\n\t} | null> = [];\n\n\t$: if ($isBrowser) {\n\t\tconst currentPesItems = cardGroupWithValidLinks.map((group) => {\n\t\t\treturn group?.imageSource !== 'PES'\n\t\t\t\t? null\n\t\t\t\t: {\n\t\t\t\t\t\tpesId: group.pesImage?.pesId,\n\t\t\t\t\t\tstatus: group.pesImage?.status,\n\t\t\t\t\t};\n\t\t});\n\n\t\t// Check if Content Author added/modified/removed any pes item in Builder\n\t\tif (JSON.stringify(pesItems) !== JSON.stringify(currentPesItems)) {\n\t\t\tpesItems = currentPesItems;\n\n\t\t\tconst updatePesImages = async () => {\n\t\t\t\tconst origin = window.location.origin;\n\t\t\t\tconst pesIds = cardGroupWithValidLinks\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t(item.pesImage?.pesId && item.pesImage?.status === 'success') ||\n\t\t\t\t\t\t\titem.pesImage?.picture?.url\n\t\t\t\t\t)\n\t\t\t\t\t.map((item) => item.pesImage?.pesId) as string[];\n\n\t\t\t\tconst notCachedPesIds = pesIds.filter(\n\t\t\t\t\t(pesId) => $cachedPesImages.findIndex((pesImage) => pesImage.pesId === pesId) === -1\n\t\t\t\t);\n\n\t\t\t\tif (notCachedPesIds.length > 0) {\n\t\t\t\t\tconst { country: mappedCountry, language: mappedLanguage } = getMappedLocale({\n\t\t\t\t\t\tcountry,\n\t\t\t\t\t\tlanguage,\n\t\t\t\t\t});\n\n\t\t\t\t\tconst newPesImages = await Promise.all(\n\t\t\t\t\t\tnotCachedPesIds.map(async (id) => {\n\t\t\t\t\t\t\tconst { productPicture } = await fetchProductPicture({\n\t\t\t\t\t\t\t\tpesId: id,\n\t\t\t\t\t\t\t\tlanguage: mappedLanguage,\n\t\t\t\t\t\t\t\tcountry: mappedCountry,\n\t\t\t\t\t\t\t\tappOriginUrl: origin,\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tpesId: id,\n\t\t\t\t\t\t\t\tstatus: productPicture ? 'success' : 'error',\n\t\t\t\t\t\t\t\tpicture: productPicture,\n\t\t\t\t\t\t\t} satisfies PesImage;\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\n\t\t\t\t\t$cachedPesImages = [...$cachedPesImages, ...newPesImages];\n\t\t\t\t}\n\n\t\t\t\tpesImages = pesIds\n\t\t\t\t\t.map((pesId) => {\n\t\t\t\t\t\treturn $cachedPesImages.find((pesImage) => pesImage.pesId === pesId);\n\t\t\t\t\t})\n\t\t\t\t\t.filter(Boolean) as PesImage[];\n\t\t\t};\n\n\t\t\tupdatePesImages();\n\t\t}\n\t}\n\n\t$: backgroundColor =\n\t\tbackgroundColor === BackgroundColor.GREY\n\t\t\t? ColorCode.GREY_100\n\t\t\t: backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t? ColorCode.LIGHT_GREY_100\n\t\t\t\t: ColorCode.WHITE_100;\n\n\tlet carouselWidth: number = 0;\n\n\tconst transformRangeItem = (data: any) => {\n\t\treturn {\n\t\t\turl: data.url,\n\t\t\theading: data.heading,\n\t\t\tdescription: data.description,\n\t\t\taltText: data.altText,\n\t\t\timageSource: ImageSource.EXTERNAL,\n\t\t\texternalBackgroundImage: data.externalBackgroundImage,\n\t\t};\n\t};\n\n\t$: itemsToBeDisplayed =\n\t\trangeCardGroup.length > 0\n\t\t\t? rangeCardGroup\n\t\t\t: cardGroupWithValidLinks.reduce((prev, next) => {\n\t\t\t\t\tif (next.imageSource === 'PES') {\n\t\t\t\t\t\tconst pesImage = pesImages.find((pesImage) => pesImage.pesId === next.pesImage?.pesId);\n\n\t\t\t\t\t\treturn pesImage ? [...prev, { ...next, pesImage }] : prev;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [...prev, next];\n\t\t\t\t}, [] as ProductBlockItemNormal[]);\n\n\t$: isComponentInvalid = itemsToBeDisplayed.length === 0;\n\n\t$: {\n\t\tif (builderBlock?.id) {\n\t\t\tsetBlockLinkStatus({\n\t\t\t\tblockId: builderBlock.id,\n\t\t\t\tinvalid: isComponentInvalid,\n\t\t\t});\n\t\t}\n\t}\n</script>\n\n<RequestedTranslationsTooltip id={builderBlock?.id} />\n{#if !isComponentInvalid}\n\t<ComponentStylesWrapper\n\t\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t\t{ComponentStyles}\n\t\tcustomClass={twMerge('bg-theme-background-white-color', `bg-[${backgroundColor}]`)}\n\t\ttestID={COMPONENT_META_DATA.NAME}\n\t>\n\t\t{#if itemsToBeDisplayed && itemsToBeDisplayed.length > 0}\n\t\t\t<div\n\t\t\t\tclass={twMerge(\n\t\t\t\t\t'mx-auto flex max-w-[1424px] flex-col justify-center gap-4 pb-4 [&>div]:py-0'\n\t\t\t\t)}\n\t\t\t\tbind:clientWidth={carouselWidth}\n\t\t\t>\n\t\t\t\t<EmblaCarousel\n\t\t\t\t\tbind:this={carousel}\n\t\t\t\t\tbind:currentPageIndex\n\t\t\t\t\tbind:isScrollable\n\t\t\t\t\tbind:isScrollableNext\n\t\t\t\t\tbind:isScrollablePrev\n\t\t\t\t\tbind:isCarouselDisabled\n\t\t\t\t\tinfinite={false}\n\t\t\t\t\tdirection={isRtlLanguage ? 'rtl' : 'ltr'}\n\t\t\t\t\tcustomWrapperClass=\"overflow-hidden w-full\"\n\t\t\t\t\tcustomClass=\"gap-0 -ml-4 lg:-ml-6\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t\tduration={20}\n\t\t\t\t>\n\t\t\t\t\t{#each itemsToBeDisplayed as item (item)}\n\t\t\t\t\t\t{@const productCardItem =\n\t\t\t\t\t\t\t'rangeData' in item ? transformRangeItem(item.rangeData.data) : item}\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t\t\t'flex flex-[0_0_100%] pl-4 md:flex-[0_0_50%] lg:pl-6 xl:flex-[0_0_25%]',\n\t\t\t\t\t\t\t\titemsToBeDisplayed?.length < 4 &&\n\t\t\t\t\t\t\t\t\tcomponentVariant !== ComponentVariant.CENTRED_CONTENT &&\n\t\t\t\t\t\t\t\t\t'xl:flex-[0_0_auto]',\n\t\t\t\t\t\t\t\titemsToBeDisplayed?.length === 3 &&\n\t\t\t\t\t\t\t\t\tcomponentVariant === ComponentVariant.CENTRED_CONTENT &&\n\t\t\t\t\t\t\t\t\t'xl:!flex-[0_0_33.333333%]',\n\t\t\t\t\t\t\t\titemsToBeDisplayed?.length >= 4 &&\n\t\t\t\t\t\t\t\t\tcomponentVariant === ComponentVariant.CENTRED_CONTENT &&\n\t\t\t\t\t\t\t\t\t'xl:!flex-[0_0_25%]',\n\t\t\t\t\t\t\t\tcomponentVariant === ComponentVariant.CENTRED_CONTENT && 'xl:flex-[0_0_initial]'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ProductCard\n\t\t\t\t\t\t\t\t{...productCardItem}\n\t\t\t\t\t\t\t\t{isProductBlock}\n\t\t\t\t\t\t\t\tcardsNumber={itemsToBeDisplayed?.length}\n\t\t\t\t\t\t\t\t{componentVariant}\n\t\t\t\t\t\t\t\tcustomPesImageClass=\"h-full\"\n\t\t\t\t\t\t\t\tdefaultAspectRatio=\"rectangle\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/each}\n\t\t\t\t</EmblaCarousel>\n\t\t\t\t<CarouselNavigation\n\t\t\t\t\tcardsNumber={itemsToBeDisplayed?.length}\n\t\t\t\t\t{scrollNext}\n\t\t\t\t\t{scrollPrev}\n\t\t\t\t\t{goTo}\n\t\t\t\t\t{currentPageIndex}\n\t\t\t\t\t{isScrollableNext}\n\t\t\t\t\t{isScrollablePrev}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t{/if}\n\t</ComponentStylesWrapper>\n{/if}\n","<script lang=\"ts\">\n\timport type { ContentKpiValue } from './types';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let componentVersion: string;\n\texport let kpiValues: ContentKpiValue[] = [];\n\texport let ComponentStyles: ComponentStylesType;\n\n\t$: shouldDisplayKpiValues = kpiValues.length > 0;\n</script>\n\n{#if shouldDisplayKpiValues}\n\t<ComponentStylesWrapper\n\t\t{ComponentStyles}\n\t\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t\tcustomClass=\"bg-theme-background-white-color\"\n\t>\n\t\t<div data-testid={COMPONENT_META_DATA.NAME}>\n\t\t\t<div class=\"flex items-center justify-center px-4 py-6 lg:px-14 lg:py-20\">\n\t\t\t\t<div\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'flex w-full flex-col items-center justify-center gap-10 lg:flex-row lg:items-start lg:gap-12',\n\t\t\t\t\t\tkpiValues.length === 4 &&\n\t\t\t\t\t\t\t'lg:grid lg:grid-cols-2 lg:grid-rows-[auto_auto] lg:place-items-center',\n\t\t\t\t\t\tkpiValues.length === 5 && 'lg:flex lg:flex-wrap lg:justify-center',\n\t\t\t\t\t\tkpiValues.length === 6 &&\n\t\t\t\t\t\t\t'lg:grid lg:grid-cols-3 lg:grid-rows-[auto_auto] lg:place-items-center'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{#each kpiValues as { title = '', description = '' }, index}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t\t\t'flex flex-col items-center justify-center gap-1 text-center text-black lg:w-full lg:max-w-[336px] lg:gap-2 lg:p-6',\n\t\t\t\t\t\t\t\tkpiValues.length === 5 && (index < 3 ? 'lg:w-[calc(33%-32px)]' : 'lg:w-1/2') // (gap-12 * (itemsCount - 1))/ itemsCount = 32px\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\tclass=\"min-h-se56 m-0 text-[40px] font-bold leading-[44px] lg:text-[56px] lg:leading-[64px]\"\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</p>\n\t\t\t\t\t\t\t{#if Boolean(description)}\n\t\t\t\t\t\t\t\t<p class=\"m-0 text-base font-normal leading-6 lg:text-xl lg:leading-7\">\n\t\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/each}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</ComponentStylesWrapper>\n{/if}\n","<script lang=\"ts\">\n\timport { QdsButton } from '../../../shared/qds-button';\n\timport type { ContentButtonProps } from '../types';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport EmbeddedLink from '../../../../components/embedded-link/EmbeddedLink.svelte';\n\timport { convertFieldSetToParams } from '../../../../components/embedded-link/helpers/convert-field-set-to-params';\n\n\texport let button: ContentButtonProps;\n\texport let builderBlock: BuilderBlock;\n\n\t$: dynamicLink = button?.link?.resolvedUrl ?? '';\n</script>\n\n{#if button && button.link && button.text}\n\t{@const { link, text, importance, size } = button}\n\t<EmbeddedLink {link} params={convertFieldSetToParams(link)} renderChildrenOnly>\n\t\t<QdsButton\n\t\t\t{text}\n\t\t\t{link}\n\t\t\t{importance}\n\t\t\t{size}\n\t\t\thref={dynamicLink}\n\t\t\tgaEventName={text}\n\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\ttarget={link.target}\n\t\t/>\n\t</EmbeddedLink>\n{/if}\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\n\t// internal dependencies\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { COMPONENT_META_DATA } from './consts';\n\n\timport type { ContentButtonProps } from './types';\n\timport ContentButton from './components/ContentButton.svelte';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { BackgroundColor, ColorCode } from '../../../components/qds/constant';\n\n\texport let ComponentStyles: ComponentStylesType;\n\texport let componentVersion: string;\n\n\texport let toggleFirstButton: boolean;\n\texport let toggleSecondButton: boolean;\n\texport let firstButton: ContentButtonProps | null = null;\n\texport let secondButton: ContentButtonProps | null = null;\n\texport let builderBlock: BuilderBlock;\n\texport let backgroundColor: string;\n\n\t$: backgroundColor =\n\t\tbackgroundColor === BackgroundColor.GREY\n\t\t\t? `bg-[${ColorCode.GREY_100}]`\n\t\t\t: backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t? `bg-[${ColorCode.LIGHT_GREY_100}]`\n\t\t\t\t: `bg-[${ColorCode.WHITE_100}]`;\n</script>\n\n<ComponentStylesWrapper\n\t{ComponentStyles}\n\tcustomClass={twMerge(\n\t\t'flex flex-wrap items-center justify-center gap-3 md:gap-4 w-full',\n\t\tbackgroundColor\n\t)}\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\ttestID={COMPONENT_META_DATA.NAME}\n>\n\t{#if toggleFirstButton && firstButton}\n\t\t<ContentButton {builderBlock} button={firstButton} />\n\t{/if}\n\n\t{#if toggleSecondButton && secondButton}\n\t\t<ContentButton {builderBlock} button={secondButton} />\n\t{/if}\n</ComponentStylesWrapper>\n","<script lang=\"ts\">\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link';\n\timport {\n\t\tEmbeddedLink,\n\t\tinternalLinksStatusStore,\n\t\tisInvalidLink,\n\t} from '../../../../components/embedded-link';\n\timport { convertFieldSetToParams } from '../../../../components/embedded-link/helpers/convert-field-set-to-params';\n\n\texport let disabledButtons: boolean = false;\n\texport let cardLink: LinkFieldSet | undefined = undefined;\n\n\t$: commonClass = `w-full bg-theme-background-white-color flex min-h-[222px] flex-col gap-6 rounded-lg border border-solid border-[#D9D9D9] p-6`;\n</script>\n\n{#if disabledButtons}\n\t{#if cardLink && !isInvalidLink($internalLinksStatusStore, cardLink)}\n\t\t<EmbeddedLink\n\t\t\tlink={cardLink}\n\t\t\tparams={convertFieldSetToParams(cardLink)}\n\t\t\tcustomClass={commonClass}\n\t\t>\n\t\t\t<slot />\n\t\t</EmbeddedLink>\n\t{/if}\n{:else}\n\t<div class={commonClass}>\n\t\t<slot />\n\t</div>\n{/if}\n","<script lang=\"ts\">\n\timport QdsButton from '../../../shared/qds-button/QdsButton.svelte';\n\timport QdsStandaloneLink from '../../../shared/qds-standalone-link/QdsStandaloneLink.svelte';\n\timport { DEFAULT_ICON } from '../consts';\n\timport { ButtonType, type ContentFeatureBlockCard } from '../types';\n\timport { twMerge } from 'tailwind-merge';\n\timport { COMPONENT_META_DATA } from '../consts';\n\timport {\n\t\tEmbeddedLink,\n\t\tinternalLinksStatusStore,\n\t\tisInvalidLink,\n\t} from '../../../../components/embedded-link';\n\timport { convertFieldSetToParams } from '../../../../components/embedded-link/helpers/convert-field-set-to-params';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link';\n\timport CardWrapper from './CardWrapper.svelte';\n\timport { OPEN_IN_NEW_TAB_ICON } from '../../../../components/shared/qds-button/consts';\n\n\texport let icon: ContentFeatureBlockCard['icon'];\n\texport let iconAltText: ContentFeatureBlockCard['iconAltText'];\n\texport let tags: ContentFeatureBlockCard['tags'];\n\texport let title: ContentFeatureBlockCard['title'];\n\texport let description: ContentFeatureBlockCard['description'];\n\texport let buttons: ContentFeatureBlockCard['buttons'];\n\texport let componentName: string = COMPONENT_META_DATA.NAME;\n\texport let disabledButtons: boolean = false;\n\texport let cardLink: LinkFieldSet | undefined = undefined;\n\texport let toggleProductSelector: (\n\t\tshowProductSelector: boolean,\n\t\ttitle: string,\n\t\tctaName: string\n\t) => void;\n\n\tlet linkImportance: 'standard' | 'emphasized' | 'subdued' | undefined;\n\n\t$: isIcon = Boolean(icon);\n\t$: areTags = tags?.length > 0;\n\t$: isTitle = Boolean(title);\n\t$: isDescription = Boolean(description);\n\n\t$: iconLibrary = buttons.secondButton?.link?.linkData?.shouldDownload ? 'default' : 'core';\n\t$: linkIconName =\n\t\tbuttons.secondButton?.link?.linkType === 'documentLink' &&\n\t\tbuttons.secondButton?.link?.linkData?.shouldDownload\n\t\t\t? 'arrow-down-tray'\n\t\t\t: '';\n\t$: linkImportance =\n\t\tbuttons.secondButton?.link?.target === '_blank' ||\n\t\t(buttons.secondButton?.link?.linkType === 'documentLink' &&\n\t\t\tbuttons.secondButton?.link?.linkData?.shouldDownload)\n\t\t\t? 'standard'\n\t\t\t: 'emphasized';\n\t$: rel =\n\t\tbuttons.secondButton?.link?.target === '_blank' &&\n\t\t!buttons.secondButton?.link?.linkData?.shouldDownload\n\t\t\t? 'external'\n\t\t\t: '';\n\t$: buttonIconLibrary =\n\t\tbuttons.secondButton?.link?.linkData?.shouldDownload &&\n\t\tbuttons.secondButton?.link?.linkType === 'documentLink'\n\t\t\t? 'default'\n\t\t\t: 'core';\n\t$: buttonIconName =\n\t\tbuttons.secondButton?.link?.linkData?.shouldDownload &&\n\t\tbuttons.secondButton?.link?.linkType === 'documentLink'\n\t\t\t? 'arrow-down-tray'\n\t\t\t: buttons.secondButton?.link?.target === '_blank'\n\t\t\t\t? OPEN_IN_NEW_TAB_ICON\n\t\t\t\t: '';\n\n\tconst openVirtualAgent = () => {\n\t\tdocument\n\t\t\t.querySelector('#chat')\n\t\t\t?.shadowRoot?.querySelector('#chatHandler')\n\t\t\t?.dispatchEvent(new CustomEvent('openVA'));\n\t};\n</script>\n\n<CardWrapper {disabledButtons} {cardLink}>\n\t{#if isIcon}\n\t\t<div class=\"h-10 w-10\">\n\t\t\t<img\n\t\t\t\tsrc={icon.iconUri || DEFAULT_ICON}\n\t\t\t\tdata-assetSource=\"AprimoDAM\"\n\t\t\t\tdata-assetId={icon?.id || ''}\n\t\t\t\talt={icon.originalImageDetails?.fileName || 'Icon'}\n\t\t\t\tclass={twMerge('icon-filter h-full w-full object-contain')}\n\t\t\t/>\n\t\t</div>\n\t{/if}\n\n\t{#if areTags}\n\t\t<div class=\"flex gap-4\">\n\t\t\t{#each tags as { tag = '' }}\n\t\t\t\t{#if tag}\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"rounded-full bg-[#E6F1F6] px-3 py-1 text-sm font-normal leading-5 text-[#004D78]\"\n\t\t\t\t\t\t>{tag}</span\n\t\t\t\t\t>\n\t\t\t\t{/if}\n\t\t\t{/each}\n\t\t</div>\n\t{/if}\n\n\t<div class=\"flex flex-col gap-2\">\n\t\t{#if isTitle}\n\t\t\t<span class=\"line-clamp-2 text-lg font-bold leading-5 text-black\">{title}</span>\n\t\t{/if}\n\n\t\t{#if isDescription}\n\t\t\t<span class=\"line-clamp-3 text-base font-normal leading-6 text-black\">{description}</span>\n\t\t{/if}\n\t</div>\n\n\t{#if buttons && Object.keys(buttons).length > 0}\n\t\t<div class=\"flex h-full flex-col justify-end\">\n\t\t\t<div class=\"flex flex-wrap gap-4 [&>qds-standalone-link]:cursor-pointer\">\n\t\t\t\t{#if !disabledButtons && buttons.firstButton && !buttons.disableFirstButton}\n\t\t\t\t\t{@const { buttonType, text, link, widgetTitle = '' } = buttons.firstButton}\n\t\t\t\t\t{#if buttonType === ButtonType.LINK}\n\t\t\t\t\t\t{#if Boolean(text) && link && !isInvalidLink($internalLinksStatusStore, link)}\n\t\t\t\t\t\t\t<EmbeddedLink {link} params={convertFieldSetToParams(link)} renderChildrenOnly>\n\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\thref={link?.resolvedUrl}\n\t\t\t\t\t\t\t\t\ttarget={link?.target}\n\t\t\t\t\t\t\t\t\timportance=\"standard\"\n\t\t\t\t\t\t\t\t\t{link}\n\t\t\t\t\t\t\t\t\tgaEventName={text}\n\t\t\t\t\t\t\t\t\tgaEventLocation={componentName}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t{:else if buttonType === ButtonType.VIRTUAL_AGENT}\n\t\t\t\t\t\t<QdsButton {text} on:click={openVirtualAgent} importance=\"standard\" />\n\t\t\t\t\t{:else if buttonType === ButtonType.PRODUCT}\n\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\ton:click={() => toggleProductSelector(true, widgetTitle, text)}\n\t\t\t\t\t\t\timportance=\"standard\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t{/if}\n\t\t\t\t{/if}\n\n\t\t\t\t{#if !disabledButtons && buttons.secondButton}\n\t\t\t\t\t{@const { text, link, useStandaloneLink } = buttons.secondButton}\n\n\t\t\t\t\t{#if Boolean(text) && link && !isInvalidLink($internalLinksStatusStore, link)}\n\t\t\t\t\t\t<EmbeddedLink {link} params={convertFieldSetToParams(link)} renderChildrenOnly>\n\t\t\t\t\t\t\t{#if useStandaloneLink}\n\t\t\t\t\t\t\t\t<QdsStandaloneLink\n\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t{link}\n\t\t\t\t\t\t\t\t\ttarget={link?.target}\n\t\t\t\t\t\t\t\t\t{iconLibrary}\n\t\t\t\t\t\t\t\t\ticonName={linkIconName}\n\t\t\t\t\t\t\t\t\timportance={linkImportance}\n\t\t\t\t\t\t\t\t\t{rel}\n\t\t\t\t\t\t\t\t\tgaEventName={text}\n\t\t\t\t\t\t\t\t\tgaEventLocation={componentName}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\thref={link?.resolvedUrl}\n\t\t\t\t\t\t\t\t\ttarget={link?.target}\n\t\t\t\t\t\t\t\t\timportance=\"subdued\"\n\t\t\t\t\t\t\t\t\ticonLibrary={buttonIconLibrary}\n\t\t\t\t\t\t\t\t\ticonName={buttonIconName}\n\t\t\t\t\t\t\t\t\t{link}\n\t\t\t\t\t\t\t\t\tgaEventName={text}\n\t\t\t\t\t\t\t\t\tgaEventLocation={componentName}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t{/if}\n\t\t\t\t{/if}\n\t\t\t</div>\n\t\t</div>\n\t{/if}\n</CardWrapper>\n\n<style>\n\t.icon-filter {\n\t\tfilter: brightness(0) saturate(100%) invert(30%) sepia(100%) saturate(813%) hue-rotate(93deg)\n\t\t\tbrightness(101%) contrast(103%);\n\t}\n</style>\n","<script lang=\"ts\">\n\timport QdsSsrWrapper from '../container/QdsSsrWrapper.svelte';\n\timport newUniqueId from 'locally-unique-id-generator-esm';\n\n\tconst carouselID = newUniqueId();\n\n\texport let ariaLabel: string;\n\texport let indicatorPosition:\n\t\t| 'top-start'\n\t\t| 'top-center'\n\t\t| 'top-end'\n\t\t| 'bottom-start'\n\t\t| 'bottom-center'\n\t\t| 'bottom-end';\n\texport let itemMinWidth: number;\n</script>\n\n<QdsSsrWrapper>\n\t<qds-web-carousel\n\t\taria-label={ariaLabel}\n\t\tid={carouselID}\n\t\tindicator-position={indicatorPosition}\n\t\titem-min-width={itemMinWidth}\n\t>\n\t\t<slot />\n\t</qds-web-carousel>\n</QdsSsrWrapper>\n","<script lang=\"ts\">\n\timport QdsSsrWrapper from '../container/QdsSsrWrapper.svelte';\n\n\texport let customClass: string = '';\n</script>\n\n<QdsSsrWrapper>\n\t<qds-web-carousel-item class={customClass}>\n\t\t<slot />\n\t</qds-web-carousel-item>\n</QdsSsrWrapper>\n","<script lang=\"ts\">\n\timport { twMerge } from 'tailwind-merge';\n\timport { QdsButton } from '../../../shared/qds-button';\n\timport { DIALOG_CONTAINER_ID } from '../../shared/utils/selector-widget/consts';\n\n\texport let isWidgetOnFullScreen: boolean;\n\texport let widgetTitle: string;\n\texport let handleResizeWidget: (setFullScreen: boolean) => void;\n\texport let toggleWidget: (isOpen: boolean) => void;\n</script>\n\n<div\n\tclass={twMerge(\n\t\t'fixed inset-0 z-50 flex items-center justify-center bg-[rgba(51,51,51,0.6)] p-[15px]',\n\t\tisWidgetOnFullScreen && 'p-0'\n\t)}\n>\n\t<dialog\n\t\tid={DIALOG_CONTAINER_ID}\n\t\tclass={twMerge(\n\t\t\t'xm:h-[70vh] relative z-50 h-full max-h-[100vh] w-full max-w-[1200px]',\n\t\t\tisWidgetOnFullScreen && 'xm:h-[100vh] max-w-[100vw]'\n\t\t)}\n\t>\n\t\t<div class=\"h-full w-full p-4 lg:p-7\">\n\t\t\t<div class=\"xm:gap-[32px] flex h-full flex-col gap-4\">\n\t\t\t\t<div class=\"flex flex-row items-center justify-center\">\n\t\t\t\t\t{#if widgetTitle}\n\t\t\t\t\t\t<span class=\"text-theme-mostly-black-color text-[24px]/[28px] font-bold\"\n\t\t\t\t\t\t\t>{widgetTitle}</span\n\t\t\t\t\t\t>\n\t\t\t\t\t{/if}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"flex items-center justify-center ltr:ml-auto ltr:pl-2 ltr:lg:pl-5 rtl:mr-auto rtl:pr-2 rtl:lg:pr-5\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"xm:block mr-2\">\n\t\t\t\t\t\t\t{#if isWidgetOnFullScreen}\n\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\timportance=\"subdued\"\n\t\t\t\t\t\t\t\t\tsize=\"standard\"\n\t\t\t\t\t\t\t\t\ticonName=\"arrows-diagonal-inward\"\n\t\t\t\t\t\t\t\t\talt=\"Shrink widget\"\n\t\t\t\t\t\t\t\t\taria-label=\"Shrink widget\"\n\t\t\t\t\t\t\t\t\ton:click={() => handleResizeWidget(false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\timportance=\"subdued\"\n\t\t\t\t\t\t\t\t\tsize=\"standard\"\n\t\t\t\t\t\t\t\t\ticonName=\"arrows-diagonal-outward\"\n\t\t\t\t\t\t\t\t\talt=\"Expand widget\"\n\t\t\t\t\t\t\t\t\taria-label=\"Expand widget\"\n\t\t\t\t\t\t\t\t\ton:click={() => handleResizeWidget(true)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\timportance=\"subdued\"\n\t\t\t\t\t\t\tsize=\"standard\"\n\t\t\t\t\t\t\ticonName=\"cross-large\"\n\t\t\t\t\t\t\talt=\"Close widget\"\n\t\t\t\t\t\t\taria-label=\"Close widget\"\n\t\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\t\ttoggleWidget(false);\n\t\t\t\t\t\t\t\thandleResizeWidget(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"h-full w-full\">\n\t\t\t\t\t<div id=\"widgetFrame\" style=\"width:100%; height:100%\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</dialog>\n</div>\n","<script lang=\"ts\">\n\t// internal dependencies\n\timport { isDesktop, isTablet, isLargeDesktop } from '@se/common/stores';\n\timport ContentFeatureBlockCard from './components/ContentFeatureBlockCard.svelte';\n\timport type { ContentFeatureBlockType } from './types';\n\timport { getItemMinWidth } from '../../../utility/util';\n\n\t// Required dependencies\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport ComponentStylesWrapper from '../../CC-03/shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport RequestedTranslationsTooltip from '../../../modules/global-link/components/RequestedTranslationsTooltip.svelte';\n\timport type { ComponentStylesType } from '../../CC-03/shared/component-styles-wrapper/types';\n\timport { COMPONENT_META_DATA, GAP } from './consts';\n\timport {\n\t\tDynamicHeading,\n\t\tregisterComponentForDynamicHeadings,\n\t} from '../../../modules/dynamic-heading';\n\timport { QdsWebCarousel, QdsWebCarouselItem } from '../../shared/qds-web-carousel';\n\timport {\n\t\tinternalLinksStatusStore,\n\t\tisInvalidLink,\n\t\tsetBlockLinkStatus,\n\t} from '../../../components/embedded-link';\n\timport { openWidget } from '../shared/utils/selector-widget/open-selector-widget';\n\timport { getCountryAndLanguage } from '@se/common/utils';\n\timport WidgetContainer from './components/WidgetContainer.svelte';\n\timport { tick } from 'svelte';\n\timport { DataLayerEventName, analytics } from '@se/core/services/analytics';\n\n\t// Required props\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType;\n\texport let builderBlock: BuilderBlock;\n\texport let heading: string;\n\texport let disableHeading: boolean = false;\n\n\t// Component specific props\n\texport let firstRow: ContentFeatureBlockType['firstRow'];\n\texport let secondRow: ContentFeatureBlockType['secondRow'];\n\n\tlet widgetTitle: string = '';\n\tlet isProductSelectorVisible: boolean = false;\n\tlet isWidgetOnFullScreen: boolean = false;\n\n\tlet carouselWidth: number = 0;\n\n\tregisterComponentForDynamicHeadings(builderBlock?.id);\n\n\tconst { language, country } = getCountryAndLanguage();\n\n\t$: itemMinWidth = getItemMinWidth({\n\t\tcarouselWidth,\n\t\tslides: filteredFirstRow.length,\n\t\tgap: GAP,\n\t\tisTablet: $isTablet,\n\t\tisDesktop: $isDesktop,\n\t\tisLargeDesktop: $isLargeDesktop,\n\t});\n\n\tconst toggleWidget = (isOpen: boolean) => {\n\t\tisProductSelectorVisible = isOpen;\n\t};\n\n\tconst toggleProductSelector = async (\n\t\tshowProductSelector: boolean,\n\t\ttitle: string,\n\t\tctaName: string\n\t) => {\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.CTA_CLICK,\n\t\t\tcta_category: 'products',\n\t\t\tcta_name: ctaName,\n\t\t\tcta_location: builderBlock?.component?.name,\n\t\t\tcta_link: 'pop-up',\n\t\t});\n\n\t\twidgetTitle = title;\n\t\ttoggleWidget(showProductSelector);\n\t\t// used to render dialog-simple-notitle before open the widget\n\t\tawait tick();\n\t\topenWidget({\n\t\t\tcountryCode: country,\n\t\t\tlanguageCode: language,\n\t\t\twidgetType: '',\n\t\t\twidgetId: 'SINGLE_ENTRY_POINT',\n\t\t\tisHierarchy: true,\n\t\t});\n\t};\n\n\tconst handleResizeWidget = (setFullScreen: boolean) => {\n\t\tisWidgetOnFullScreen = setFullScreen;\n\t};\n\n\tlet filteredFirstRow: ContentFeatureBlockType['firstRow'] = [];\n\tlet filteredSecondRow: ContentFeatureBlockType['secondRow'] = [];\n\n\t$: {\n\t\tif (firstRow) {\n\t\t\tfilteredFirstRow = firstRow.filter((item) => {\n\t\t\t\tconst isAnyButtonLinkValid =\n\t\t\t\t\t!item.disabledButtons &&\n\t\t\t\t\t((item.buttons.firstButton?.link &&\n\t\t\t\t\t\t!isInvalidLink($internalLinksStatusStore, item.buttons.firstButton.link)) ||\n\t\t\t\t\t\t(item.buttons.secondButton?.link &&\n\t\t\t\t\t\t\t!isInvalidLink($internalLinksStatusStore, item.buttons.secondButton.link)));\n\t\t\t\tconst isCardLinkValid =\n\t\t\t\t\titem.disabledButtons && !isInvalidLink($internalLinksStatusStore, item.cardLink);\n\t\t\t\tconst isItemValid = isAnyButtonLinkValid || isCardLinkValid;\n\n\t\t\t\treturn isItemValid;\n\t\t\t});\n\t\t}\n\n\t\tif (secondRow) {\n\t\t\tfilteredSecondRow = secondRow.filter((item) => {\n\t\t\t\tconst isAnyButtonLinkValid =\n\t\t\t\t\t!item.disabledButtons &&\n\t\t\t\t\t((item.buttons.firstButton?.link &&\n\t\t\t\t\t\t!isInvalidLink($internalLinksStatusStore, item.buttons.firstButton.link)) ||\n\t\t\t\t\t\t(item.buttons.secondButton?.link &&\n\t\t\t\t\t\t\t!isInvalidLink($internalLinksStatusStore, item.buttons.secondButton.link)));\n\t\t\t\tconst isCardLinkValid =\n\t\t\t\t\titem.disabledButtons && !isInvalidLink($internalLinksStatusStore, item.cardLink);\n\t\t\t\tconst isItemValid = isAnyButtonLinkValid || isCardLinkValid;\n\n\t\t\t\treturn isItemValid;\n\t\t\t});\n\t\t}\n\t}\n\n\t$: isFirstRow = filteredFirstRow.length > 0;\n\t$: isSecondRow = filteredSecondRow.length > 0;\n\n\t$: isComponentInvalid = !isFirstRow && !isSecondRow;\n\t$: {\n\t\tif (builderBlock?.id) {\n\t\t\tsetBlockLinkStatus({\n\t\t\t\tblockId: builderBlock.id,\n\t\t\t\tinvalid: isComponentInvalid,\n\t\t\t});\n\t\t}\n\t}\n</script>\n\n<svelte:head>\n\t<script\n\t\ttype=\"text/javascript\"\n\t\tsrc=\"https://selectandconfig-widget.schneider-electric.com/release/wrapper/2.X/wrapper.min.js\"\n\t></script>\n\t<link\n\t\trel=\"stylesheet\"\n\t\thref=\"https://selectandconfig-widget.schneider-electric.com/release/wrapper/2.X/wrapper.min.css\"\n\t/>\n</svelte:head>\n\n{#if !isComponentInvalid}\n\t<RequestedTranslationsTooltip id={builderBlock?.id} />\n\t<ComponentStylesWrapper\n\t\t{ComponentStyles}\n\t\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t\tcustomClass=\"bg-theme-bg-grey-color\"\n\t\ttestID={COMPONENT_META_DATA.NAME}\n\t>\n\t\t<div class=\"mx-auto flex max-w-[1424px] flex-col gap-4\" bind:clientWidth={carouselWidth}>\n\t\t\t{#if !disableHeading}\n\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t<DynamicHeading\n\t\t\t\t\t\tcanBeH1\n\t\t\t\t\t\tinitialLevel={2}\n\t\t\t\t\t\tcustomClass=\"m-0 mb-2 text-[22px]/[24px] font-bold text-black md:text-[32px]/[40px]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{heading}\n\t\t\t\t\t</DynamicHeading>\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t\t{#if isFirstRow}\n\t\t\t\t<QdsWebCarousel ariaLabel=\"promo\" indicatorPosition=\"bottom-center\" {itemMinWidth}>\n\t\t\t\t\t{#each filteredFirstRow as card (card)}\n\t\t\t\t\t\t<QdsWebCarouselItem>\n\t\t\t\t\t\t\t<ContentFeatureBlockCard\n\t\t\t\t\t\t\t\t{...card}\n\t\t\t\t\t\t\t\t{toggleProductSelector}\n\t\t\t\t\t\t\t\tcomponentName={builderBlock?.component?.name || ''}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</QdsWebCarouselItem>\n\t\t\t\t\t{/each}\n\t\t\t\t</QdsWebCarousel>\n\t\t\t{/if}\n\n\t\t\t{#if isSecondRow}\n\t\t\t\t<div class=\"flex w-full flex-col justify-center gap-6 md:flex-row\">\n\t\t\t\t\t{#each filteredSecondRow as card (card)}\n\t\t\t\t\t\t<ContentFeatureBlockCard\n\t\t\t\t\t\t\t{...card}\n\t\t\t\t\t\t\t{toggleProductSelector}\n\t\t\t\t\t\t\tcomponentName={builderBlock?.component?.name || ''}\n\t\t\t\t\t\t/>\n\t\t\t\t\t{/each}\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t</div>\n\n\t\t{#if typeof document !== 'undefined' && isProductSelectorVisible}\n\t\t\t<WidgetContainer {isWidgetOnFullScreen} {widgetTitle} {handleResizeWidget} {toggleWidget} />\n\t\t{/if}\n\t</ComponentStylesWrapper>\n{/if}\n\n<style lang=\"scss\">\n\t.closeIcon::before {\n\t\tcontent: '\\F06E';\n\t}\n</style>\n","<script lang=\"ts\">\n\t// internal dependencies\n\timport { Icon, IconName, IconSize } from '@se/common/src/components';\n\timport type { ContentBenefitsCardItemType } from '../types';\n\n\texport let title: ContentBenefitsCardItemType['title'] = '';\n\texport let description: ContentBenefitsCardItemType['description'] = '';\n\texport let CTAText: ContentBenefitsCardItemType['CTAText'];\n\texport let isHover = false;\n\n\tlet titleHeight = 0;\n\tlet descriptionHeight = 0;\n\tlet linkTextHeight = 0;\n\n\tconst gap = 24;\n</script>\n\n<div\n\tclass=\"absolute bottom-0 left-0 z-10 flex w-full flex-col justify-end p-6 text-left transition-all duration-300 rtl:text-right\"\n\tstyle=\"background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 39.58%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.40) 39.58%); --linkTextHeight:-{linkTextHeight}px;\"\n\tstyle:height=\"{linkTextHeight +\n\t\tgap * 2 +\n\t\t(isHover ? titleHeight + descriptionHeight : titleHeight)}px\"\n>\n\t<div\n\t\tclass=\"slide absolute bottom-0 left-0 p-6 text-left transition-all duration-300 rtl:right-0 rtl:text-right\"\n\t\tstyle:transform=\"translateY({descriptionHeight - linkTextHeight + gap}px)\"\n\t>\n\t\t{#if Boolean(title)}\n\t\t\t<p bind:offsetHeight={titleHeight} class=\"mb-2 line-clamp-2 text-lg font-bold text-white\">\n\t\t\t\t{title}\n\t\t\t</p>\n\t\t{/if}\n\n\t\t{#if Boolean(description)}\n\t\t\t<p\n\t\t\t\tbind:offsetHeight={descriptionHeight}\n\t\t\t\tclass=\"mb-2 line-clamp-3 text-base text-white opacity-0 transition-all duration-500\"\n\t\t\t>\n\t\t\t\t{description}\n\t\t\t</p>\n\t\t{/if}\n\t</div>\n\t{#if Boolean(CTAText)}\n\t\t<p\n\t\t\tclass=\"se2-icon-arrow-common icon w-fit items-center gap-1 pt-6 text-base font-bold leading-6 text-white hover:underline focus:underline\"\n\t\t\tbind:offsetHeight={linkTextHeight}\n\t\t>\n\t\t\t{CTAText}\n\t\t</p>\n\t{/if}\n</div>\n\n<style lang=\"scss\">\n\t.icon::after {\n\t\t@apply text-[20px];\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { serialize } from 'tinyduration';\n\timport { getContext, onMount } from 'svelte';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\n\t// internal dependencies\n\timport { serializeSchema } from '../../../../utility/util';\n\timport AprimoVideoMetadata from '../../../../components/aprimo-dam/AprimoVideoMetadata/AprimoVideoMetadata.svelte';\n\timport { Loader } from '../../../../components/aprimo-dam/loader';\n\timport type { ContentBenefitsCardItemType } from '../types';\n\timport { EmbeddedLink } from '../../../../components/embedded-link';\n\timport { convertFieldSetToParams } from '../../../../components/embedded-link/helpers/convert-field-set-to-params';\n\timport SharedTextContent from './SharedTextContent.svelte';\n\n\texport let title: ContentBenefitsCardItemType['title'] = '';\n\texport let description: ContentBenefitsCardItemType['description'] = '';\n\texport let link: ContentBenefitsCardItemType['link'];\n\texport let CTAText: ContentBenefitsCardItemType['CTAText'];\n\texport let aprimoVideo: ContentBenefitsCardItemType['videoSection']['aprimoVideo'];\n\texport let disablePlayOnHover = false;\n\n\tlet duration: number;\n\tlet videoElement: HTMLVideoElement;\n\tlet jsonLdScript: string = '';\n\tlet isHover = false;\n\tlet isIOS = false;\n\tlet isInWebView = false;\n\n\tconst onMouseEnter = () => {\n\t\tisHover = true;\n\t\tif (!disablePlayOnHover && videoElement) {\n\t\t\tvideoElement.play();\n\t\t}\n\t};\n\n\tconst onMouseLeave = () => {\n\t\tisHover = false;\n\t\tif (!disablePlayOnHover && videoElement) {\n\t\t\tvideoElement.pause();\n\t\t}\n\t};\n\n\tconst builderBlock: BuilderBlock = getContext('builderBlock');\n\n\t$: url = aprimoVideo?.aprimoOptions?.videoUri;\n\n\t$: posterUrl = aprimoVideo?.aprimoOptions?.stillImageUri;\n\n\t$: isVideoCdnResourceLoading =\n\t\taprimoVideo?.aprimoOptions?.publicUris?.[0]?.isLoadingResourceToAkamaiCdn;\n\n\t$: {\n\t\tlet videoSchema = {\n\t\t\t'@context': 'https://schema.org',\n\t\t\t'@type': 'VideoObject',\n\t\t\tthumbnailUrl: aprimoVideo?.aprimoOptions?.stillImageUri,\n\t\t\tname: aprimoVideo?.videoName,\n\t\t\tdescription:\n\t\t\t\taprimoVideo?.videoDescription || aprimoVideo?.aprimoOptions?.originalVideoMetadata?.comment,\n\t\t\tduration: serialize({ seconds: Math.round(duration) }),\n\t\t\tuploadDate: aprimoVideo.uploadDate,\n\t\t\tcontentUrl: aprimoVideo?.aprimoOptions?.videoUri,\n\t\t};\n\t\tjsonLdScript = serializeSchema(videoSchema);\n\t}\n\n\tonMount(() => {\n\t\tconst userAgent = window.navigator.userAgent.toLowerCase();\n\t\tisIOS = /iphone|ipad|ipod/.test(userAgent);\n\n\t\tisInWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent);\n\t});\n</script>\n\n{#if !!link?.resolvedUrl}\n\t<!-- svelte-ignore a11y-no-static-element-interactions -->\n\t<div\n\t\ton:mouseenter={onMouseEnter}\n\t\ton:mouseleave={onMouseLeave}\n\t\tclass=\"slide-up relative h-[380px] w-full cursor-pointer overflow-hidden rounded-lg\"\n\t>\n\t\t<EmbeddedLink\n\t\t\tparams={convertFieldSetToParams(link)}\n\t\t\tgaEventName={CTAText}\n\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\t{link}\n\t\t\tcustomClass=\"w-full h-full\"\n\t\t>\n\t\t\t<div class=\"h-full w-full\">\n\t\t\t\t{#if aprimoVideo?.aprimoOptions}\n\t\t\t\t\t{@html jsonLdScript}\n\t\t\t\t{/if}\n\n\t\t\t\t{#if !aprimoVideo?.aprimoOptions}\n\t\t\t\t\t<div class=\"flex h-full w-full items-center justify-center\">Choose a video</div>\n\t\t\t\t{:else}\n\t\t\t\t\t{#if aprimoVideo?.aprimoOptions?.originalVideoMetadata}\n\t\t\t\t\t\t<AprimoVideoMetadata metadata={aprimoVideo.aprimoOptions} />\n\t\t\t\t\t{/if}\n\t\t\t\t\t{#if isVideoCdnResourceLoading}\n\t\t\t\t\t\t<Loader />\n\t\t\t\t\t{:else}\n\t\t\t\t\t\t{#key url}\n\t\t\t\t\t\t\t<video\n\t\t\t\t\t\t\t\tclass=\"h-full w-full object-cover\"\n\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\t\tbind:duration\n\t\t\t\t\t\t\t\tposter={posterUrl}\n\t\t\t\t\t\t\t\tbind:this={videoElement}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<track kind=\"captions\" />\n\t\t\t\t\t\t\t\t<source src={url} />\n\t\t\t\t\t\t\t\tvideoDescription={aprimoVideo?.videoDescription}\n\t\t\t\t\t\t\t</video>\n\t\t\t\t\t\t{/key}\n\t\t\t\t\t{/if}\n\t\t\t\t{/if}\n\t\t\t</div>\n\n\t\t\t<SharedTextContent {title} {description} {CTAText} {isHover} />\n\t\t</EmbeddedLink>\n\t</div>\n{/if}\n\n<style>\n\t.slide-up:hover :global(.slide) {\n\t\ttransform: translateY(var(--linkTextHeight)) !important;\n\t}\n\n\t.slide-up:hover :global(.slide p) {\n\t\topacity: 1;\n\t}\n</style>\n","<script lang=\"ts\">\n\timport Video from '../../../../components/Reusable/Video.svelte';\n\timport { useResizeObserver } from '../../../../components/aprimo-dam/utils/useResizeObserver';\n\timport VideoCard from '../../../../components/CC-03/shared/success-story/fragments/VideoCard.svelte';\n\timport type { ContentBenefitsCardItemType } from '../types';\n\timport SharedTextContent from './SharedTextContent.svelte';\n\timport Portal from '../../../Reusable/Portal.svelte';\n\n\texport let title: ContentBenefitsCardItemType['title'] = '';\n\texport let description: ContentBenefitsCardItemType['description'] = '';\n\texport let CTAText: ContentBenefitsCardItemType['CTAText'];\n\texport let videoSection: ContentBenefitsCardItemType['videoSection'];\n\n\tlet isYoutubeVideoVisible = false;\n\tlet hoverEnabled = false;\n\n\tconst { container } = useResizeObserver();\n\n\tconst handleClick = () => {\n\t\tisYoutubeVideoVisible = !isYoutubeVideoVisible;\n\t\thoverEnabled = false;\n\t};\n\n\tconst toggleHover = () => {\n\t\thoverEnabled = !hoverEnabled;\n\t};\n\n\t$: youtubeUrl = videoSection?.youTubeVideo?.resolvedUrl || '';\n\n\t$: successStoryCard = {\n\t\tcardLabel: '',\n\t\tcardHeading: '',\n\t\tcardDescription: '',\n\t\tcardDescriptionMaxChar: 0,\n\t\tcardHeadingMaxChar: 0,\n\t\tcardLabelMaxChar: 0,\n\t\tvideoSection,\n\t};\n\n\t$: checkVideoThumbnail = () => {\n\t\tif (youtubeUrl) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n</script>\n\n<button\n\tclass=\"slide-up relative h-[380px] w-full cursor-pointer overflow-hidden rounded-lg bg-blue-300\"\n\ton:click={handleClick}\n\ton:mouseenter={toggleHover}\n\ton:mouseleave={toggleHover}\n>\n\t<div class=\"youtube-video h-full w-full\">\n\t\t<VideoCard\n\t\t\t{container}\n\t\t\t{hoverEnabled}\n\t\t\tsuccessStoryCardVersion=\"responsive\"\n\t\t\t{successStoryCard}\n\t\t\t{checkVideoThumbnail}\n\t\t\ttoggleHover={() => {}}\n\t\t\thandlePlayButtonClick={() => {}}\n\t\t/>\n\t\t{#if isYoutubeVideoVisible}\n\t\t\t<Portal>\n\t\t\t\t<Video {youtubeUrl} on:close={handleClick} />\n\t\t\t</Portal>\n\t\t{/if}\n\t</div>\n\n\t<SharedTextContent {title} {description} {CTAText} isHover={hoverEnabled} />\n</button>\n\n<style>\n\t.youtube-video :global(.video-card-button) {\n\t\theight: 100%;\n\t}\n\n\t.youtube-video :global(.video-card-button .video-background) {\n\t\ttransform: translate(-50%, -50%);\n\t}\n\n\t.slide-up:hover :global(.slide:first-child) {\n\t\ttransform: translateY(var(--linkTextHeight)) !important;\n\t}\n\n\t.slide-up:hover :global(.slide:first-child p) {\n\t\topacity: 1;\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\timport { getContext } from 'svelte';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\n\t// internal dependencies\n\timport { MEDIA_TYPE, RESPONSIVE_OPTIONS } from '../consts';\n\timport type { ContentBenefitsCardItemType } from '../types';\n\timport CustomAprimoVideo from './CustomAprimoVideo.svelte';\n\timport YouTubeVideo from './YouTubeVideo.svelte';\n\timport Loader from '../../../aprimo-dam/loader/Loader.svelte';\n\timport AprimoImageMetadata from '../../../aprimo-dam/AprimoImageMetadata/AprimoImageMetadata.svelte';\n\timport ResponsiveImage from '../../../aprimo-dam/ResponsiveImage/ResponsiveImage.svelte';\n\timport SharedTextContent from './SharedTextContent.svelte';\n\timport { EmbeddedLink } from '../../../../components/embedded-link';\n\timport { convertFieldSetToParams } from '../../../../components/embedded-link/helpers/convert-field-set-to-params';\n\n\texport let title: ContentBenefitsCardItemType['title'] = '';\n\texport let description: ContentBenefitsCardItemType['description'] = '';\n\texport let mediaType: ContentBenefitsCardItemType['mediaType'];\n\texport let videoSection: ContentBenefitsCardItemType['videoSection'];\n\texport let imageSection: ContentBenefitsCardItemType['imageSection'];\n\texport let link: ContentBenefitsCardItemType['link'] = undefined;\n\texport let CTAText: ContentBenefitsCardItemType['CTAText'] = '';\n\texport let disablePlayOnHover = false;\n\texport let itemsLength: number = 0;\n\n\tlet hoverEnabled = false;\n\n\t$: videoSource = videoSection?.videoSource || {};\n\t$: aprimoVideo = videoSection?.aprimoVideo || {};\n\n\t$: isAprimo = imageSection?.imageSource === 'Aprimo';\n\t$: horizontalImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.horizontal?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: squareImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.square?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: rectangleImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.rectangle?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: isHorizontalImageCdnResourceLoading = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.horizontal?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\t$: isRectangleImageCdnResourceLoading = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.rectangle?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\n\tconst builderBlock: BuilderBlock = getContext('builderBlock');\n\n\tconst toggleHover = () => {\n\t\thoverEnabled = !hoverEnabled;\n\t};\n</script>\n\n{#if mediaType === MEDIA_TYPE[0] && link}\n\t<EmbeddedLink\n\t\tparams={convertFieldSetToParams(link)}\n\t\tgaEventName={CTAText}\n\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t{link}\n\t\tcustomClass={twMerge(\n\t\t\t'w-full grow-0 lg:!shrink flex-[0_0_100%] lg:mr-0 mr-6 last:mr-0',\n\t\t\titemsLength === 1 && 'flex-[0_0_100%]',\n\t\t\titemsLength === 2 && 'lg:flex-[0_0_50%]',\n\t\t\titemsLength === 3 && 'lg:flex-[0_0_33%]'\n\t\t)}\n\t>\n\t\t<!-- svelte-ignore a11y-no-static-element-interactions -->\n\t\t<div\n\t\t\tclass={twMerge(\n\t\t\t\t'slide-up relative h-[380px] w-full cursor-pointer overflow-hidden rounded-lg [&>div>img]:object-cover'\n\t\t\t)}\n\t\t\ton:mouseenter={toggleHover}\n\t\t\ton:mouseleave={toggleHover}\n\t\t>\n\t\t\t{#if !imageSection?.externalBackgroundImage}\n\t\t\t\t<div>Choose an image</div>\n\t\t\t{:else if isHorizontalImageCdnResourceLoading || isRectangleImageCdnResourceLoading}\n\t\t\t\t<Loader />\n\t\t\t{:else if imageSection?.image}\n\t\t\t\t{#if imageSection?.image.cropsDetails && isAprimo}\n\t\t\t\t\t<AprimoImageMetadata metadata={imageSection?.image} />\n\t\t\t\t{/if}\n\t\t\t\t{#if imageSection?.image}\n\t\t\t\t\t<ResponsiveImage\n\t\t\t\t\t\thorizontalImageUrl={horizontalImageUrl || ''}\n\t\t\t\t\t\tsquareImageUrl={squareImageUrl || ''}\n\t\t\t\t\t\trectangleImageUrl={rectangleImageUrl || ''}\n\t\t\t\t\t\taltText={imageSection?.imageAlt || ''}\n\t\t\t\t\t\thorizontalImageAssetId={imageSection?.image?.cropsDetails?.horizontal?.id}\n\t\t\t\t\t\tsquareImageAssetId={imageSection?.image?.cropsDetails?.square?.id}\n\t\t\t\t\t\trectangleImageAssetId={imageSection?.image?.cropsDetails?.rectangle?.id}\n\t\t\t\t\t\tassetSource={'AprimoDAM'}\n\t\t\t\t\t\tresponsiveOptions={RESPONSIVE_OPTIONS}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t{/if}\n\t\t\t<SharedTextContent {title} {description} {CTAText} isHover={hoverEnabled} />\n\t\t</div>\n\t</EmbeddedLink>\n{:else if videoSource === 'aprimo'}\n\t<div\n\t\tclass={twMerge(\n\t\t\t'mr-6 flex-[0_0_100%] grow-0 last:mr-0 lg:mr-0 lg:!shrink',\n\t\t\titemsLength === 1 && 'flex-[0_0_100%]',\n\t\t\titemsLength === 2 && 'lg:flex-[0_0_50%]',\n\t\t\titemsLength === 3 && 'lg:flex-[0_0_33%]'\n\t\t)}\n\t>\n\t\t<CustomAprimoVideo {title} {description} {link} {CTAText} {aprimoVideo} {disablePlayOnHover} />\n\t</div>\n{:else}\n\t<div\n\t\tclass={twMerge(\n\t\t\t'mr-6 flex-[0_0_100%] grow-0 last:mr-0 lg:mr-0 lg:!shrink',\n\t\t\titemsLength === 1 && 'flex-[0_0_100%]',\n\t\t\titemsLength === 2 && 'lg:flex-[0_0_50%]',\n\t\t\titemsLength === 3 && 'lg:flex-[0_0_33%]'\n\t\t)}\n\t>\n\t\t<YouTubeVideo {title} {description} {CTAText} {videoSection} />\n\t</div>\n{/if}\n\n<style>\n\t.slide-up:hover :global(.slide) {\n\t\ttransform: translateY(var(--linkTextHeight)) !important;\n\t}\n\n\t.slide-up:hover :global(.slide p) {\n\t\topacity: 1;\n\t}\n</style>\n","import { type InternalLinksStatus, isInvalidLink } from '../../embedded-link';\nimport type { ContentBenefitsCardItemType } from './types';\n\nexport const checkIfContentBenefitCardIsValid = (\n\titem: ContentBenefitsCardItemType,\n\tinternalLinksStatus: InternalLinksStatus\n) => {\n\tconst {\n\t\tmediaType,\n\t\timageSection = { externalBackgroundImage: '' },\n\t\tvideoSection = {\n\t\t\tyouTubeVideo: { invalid: false },\n\t\t\tvideoSource: '',\n\t\t\taprimoVideo: { aprimoOptions: { videoUri: '' } },\n\t\t},\n\t\tlink,\n\t} = item;\n\n\tconst { externalBackgroundImage = '' } = imageSection;\n\n\tconst {\n\t\tyouTubeVideo: { invalid: invalidYouTubeLink = false } = {},\n\t\tvideoSource,\n\t\taprimoVideo: { aprimoOptions: { videoUri = '' } = {} } = {},\n\t} = videoSection;\n\n\tif (mediaType === 'video') {\n\t\tif (videoSource === 'external') {\n\t\t\treturn !invalidYouTubeLink;\n\t\t}\n\n\t\tif (videoSource === 'aprimo') {\n\t\t\treturn Boolean(videoUri);\n\t\t}\n\n\t\treturn true;\n\t} else if (mediaType === 'image') {\n\t\tconst regex =\n\t\t\t/^(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})|([0-9]+\\s{0,1}%{0,1})$/;\n\t\treturn regex.test(externalBackgroundImage);\n\t} else {\n\t\treturn !isInvalidLink(internalLinksStatus, link);\n\t}\n};\n\n/**\n * Filters out invalid links from an array of ContentBenefitsCardItem.\n * @param items - The array of ContentBenefitsCardItemType to filter.\n * @returns An array of ContentBenefitsCardItemType with invalid links filtered out.\n */\nexport const filterInvalidLinks = (\n\titems: ContentBenefitsCardItemType[],\n\tinternalLinksStatus: InternalLinksStatus\n) => {\n\treturn items.filter((item) => {\n\t\treturn checkIfContentBenefitCardIsValid(item, internalLinksStatus);\n\t});\n};\n","<script lang=\"ts\">\n\t// external dependencies\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { setContext } from 'svelte';\n\timport { twMerge } from 'tailwind-merge';\n\n\t// internal dependencies\n\timport { isMobile, isTablet } from '@se/common/stores';\n\timport type { ContentBenefitsCardItemType } from './types';\n\timport { getContext } from 'svelte';\n\timport CardItem from './components/CardItem.svelte';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { filterInvalidLinks } from './utils';\n\timport { internalLinksStatusStore, setBlockLinkStatus } from '../../embedded-link';\n\timport EmblaCarousel from '../../shared/shared-carousel';\n\timport CarouselNavigation from '../../shared/carousel-navigation/CarouselNavigation.svelte';\n\timport { BackgroundColor, ColorCode } from '../../qds/constant';\n\n\texport let ComponentStyles: ComponentStylesType;\n\texport let items: ContentBenefitsCardItemType[] = [];\n\texport let componentVersion: string;\n\texport let builderBlock: BuilderBlock;\n\texport let backgroundColor: string = ColorCode.WHITE_100;\n\texport let responsive = false;\n\n\tlet filteredItems: ContentBenefitsCardItemType[] = [];\n\n\tsetContext('builderBlock', builderBlock);\n\n\tlet currentPageIndex = 0;\n\tlet carousel: EmblaCarousel;\n\n\t$: isScrollable = false;\n\t$: isScrollablePrev = false;\n\t$: isScrollableNext = false;\n\t$: isCarouselDisabled = responsive;\n\n\tconst scrollNext = () => {\n\t\tcarousel?.goToNext();\n\t};\n\n\tconst scrollPrev = () => {\n\t\tcarousel?.goToPrev();\n\t};\n\n\tconst goTo = (index: number, jump: boolean = false) => carousel.goTo(index, jump);\n\n\t$: isRtlLanguage = getContext('currentDir') === 'rtl';\n\n\tconst maxItems = 4;\n\n\t$: isThreeItems = items.length === 3;\n\t$: isMaxItems = items.length === maxItems;\n\n\t$: {\n\t\tfilteredItems = filterInvalidLinks(items.slice(0, 4), $internalLinksStatusStore);\n\n\t\tif (builderBlock?.id) {\n\t\t\tsetBlockLinkStatus({\n\t\t\t\tblockId: builderBlock.id,\n\t\t\t\tinvalid: filteredItems.length === 0,\n\t\t\t});\n\t\t}\n\t}\n\n\t$: isComponentVisible = filteredItems.length > 0;\n\n\t$: backgroundColor =\n\t\tbackgroundColor === BackgroundColor.GREY\n\t\t\t? ColorCode.GREY_100\n\t\t\t: backgroundColor === BackgroundColor.LIGHT_GREY\n\t\t\t\t? ColorCode.LIGHT_GREY_100\n\t\t\t\t: ColorCode.WHITE_100;\n</script>\n\n{#if isComponentVisible}\n\t<ComponentStylesWrapper\n\t\t{ComponentStyles}\n\t\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\t\tcustomClass={twMerge('bg-theme-background-white-color pb-6', `bg-[${backgroundColor}]`)}\n\t\txPaddingClass=\"2xl:px-0 lg:px-14 px-4\"\n\t\ttestID={COMPONENT_META_DATA.NAME}\n\t>\n\t\t<div class=\"mx-auto max-w-[1424px]\">\n\t\t\t{#if $isMobile}\n\t\t\t\t<div\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'mx-auto flex w-full flex-col gap-2 pt-6',\n\t\t\t\t\t\tComponentStyles?.disableTopPadding && 'pt-0'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<EmblaCarousel\n\t\t\t\t\t\tbind:this={carousel}\n\t\t\t\t\t\tbind:currentPageIndex\n\t\t\t\t\t\tbind:isScrollable\n\t\t\t\t\t\tbind:isScrollableNext\n\t\t\t\t\t\tbind:isScrollablePrev\n\t\t\t\t\t\tbind:isCarouselDisabled\n\t\t\t\t\t\tinfinite={false}\n\t\t\t\t\t\tdirection={isRtlLanguage ? 'rtl' : 'ltr'}\n\t\t\t\t\t\tcustomWrapperClass=\"overflow-hidden w-full\"\n\t\t\t\t\t\tcustomClass=\"gap-6\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tduration={20}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#each filteredItems as { title, description, link, CTAText, videoSection, mediaType, imageSection }}\n\t\t\t\t\t\t\t<CardItem\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{link}\n\t\t\t\t\t\t\t\t{CTAText}\n\t\t\t\t\t\t\t\t{videoSection}\n\t\t\t\t\t\t\t\t{mediaType}\n\t\t\t\t\t\t\t\t{imageSection}\n\t\t\t\t\t\t\t\tdisablePlayOnHover\n\t\t\t\t\t\t\t\titemsLength={filteredItems.length}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</EmblaCarousel>\n\t\t\t\t\t<CarouselNavigation\n\t\t\t\t\t\tcardsNumber={filteredItems?.length}\n\t\t\t\t\t\t{scrollNext}\n\t\t\t\t\t\t{scrollPrev}\n\t\t\t\t\t\t{goTo}\n\t\t\t\t\t\t{currentPageIndex}\n\t\t\t\t\t\t{isScrollableNext}\n\t\t\t\t\t\t{isScrollablePrev}\n\t\t\t\t\t\tnavigationBarCustomClass=\"mb-0 mt-1 rounded-lg\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t{:else if $isTablet}\n\t\t\t\t<div\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'mx-auto grid w-full grid-cols-2 gap-6 pt-6',\n\t\t\t\t\t\tComponentStyles?.disableTopPadding && 'pt-0',\n\t\t\t\t\t\tfilteredItems.length === 1 && 'grid-cols-1',\n\t\t\t\t\t\tfilteredItems.length === 3 && 'grid-cols-3 md:grid-cols-2'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{#each filteredItems as { title, description, link, CTAText, videoSection, mediaType, imageSection }, index}\n\t\t\t\t\t\t{@const lastItemIndex = items.length - 1}\n\t\t\t\t\t\t<div class={twMerge(isThreeItems ? (index === lastItemIndex ? 'col-span-2' : '') : '')}>\n\t\t\t\t\t\t\t<CardItem\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{link}\n\t\t\t\t\t\t\t\t{CTAText}\n\t\t\t\t\t\t\t\t{videoSection}\n\t\t\t\t\t\t\t\t{mediaType}\n\t\t\t\t\t\t\t\t{imageSection}\n\t\t\t\t\t\t\t\tdisablePlayOnHover\n\t\t\t\t\t\t\t\titemsLength={filteredItems.length}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/each}\n\t\t\t\t</div>\n\t\t\t{:else}\n\t\t\t\t<div\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'grid w-full grid-cols-2 gap-6 pt-14',\n\t\t\t\t\t\tisMaxItems ? '' : 'flex',\n\t\t\t\t\t\tComponentStyles?.disableTopPadding && 'pt-0'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{#each filteredItems as { title, description, link, CTAText, videoSection, mediaType, imageSection }}\n\t\t\t\t\t\t<CardItem\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t{link}\n\t\t\t\t\t\t\t{CTAText}\n\t\t\t\t\t\t\t{videoSection}\n\t\t\t\t\t\t\t{mediaType}\n\t\t\t\t\t\t\t{imageSection}\n\t\t\t\t\t\t\titemsLength={filteredItems.length}\n\t\t\t\t\t\t/>\n\t\t\t\t\t{/each}\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t</div>\n\t</ComponentStylesWrapper>\n{/if}\n","import { writable } from 'svelte/store';\n\ninterface VideoStoreData {\n\tmodalVisible: boolean;\n\tyoutubeLink: string | null;\n}\n\nexport const videoStore = writable<VideoStoreData>({\n\tmodalVisible: false,\n\tyoutubeLink: null,\n});\n","import {\n\tMAX_SQUARE_CONTAINER_ASPECT_RATIO,\n\tMIN_HORIZONTAL_CONTAINER_ASPECT_RATIO,\n} from '../../aprimo-dam/consts';\nimport type { AprimoDefaultAspectRatio } from '../../aprimo-dam/types';\n\nconst CARD_DEFAULT_HEIGHT = 405;\n\nexport const getDefaultAspectRatio = (itemWidth: number): AprimoDefaultAspectRatio => {\n\tconst aspectRatio = itemWidth / CARD_DEFAULT_HEIGHT;\n\tif (aspectRatio < MAX_SQUARE_CONTAINER_ASPECT_RATIO) {\n\t\treturn 'square';\n\t}\n\n\tif (\n\t\taspectRatio >= MAX_SQUARE_CONTAINER_ASPECT_RATIO &&\n\t\taspectRatio < MIN_HORIZONTAL_CONTAINER_ASPECT_RATIO\n\t) {\n\t\treturn 'rectangle';\n\t}\n\n\treturn 'horizontal';\n};\n","<script lang=\"ts\">\n\timport { onMount, onDestroy } from 'svelte';\n\timport { twMerge } from 'tailwind-merge';\n\timport type { IAprimoImageMetadata } from '../../aprimo-dam/types';\n\timport type { LinkFieldSet } from '@se/common/src/embedded-link/types';\n\timport ResponsiveImage from '../../aprimo-dam/ResponsiveImage/ResponsiveImage.svelte';\n\timport EmbeddedLink from '../../embedded-link/EmbeddedLink.svelte';\n\timport { convertFieldSetToParams } from '../../embedded-link/helpers/convert-field-set-to-params';\n\timport { videoStore } from './store';\n\timport Loader from '../../aprimo-dam/loader/Loader.svelte';\n\timport { DataLayerEventName, analytics } from '@se/core/services/analytics';\n\timport { getDefaultAspectRatio } from './utils';\n\n\texport let componentName: string;\n\texport let backgroundImage: IAprimoImageMetadata;\n\texport let altText: string;\n\texport let title: string;\n\texport let description: string;\n\texport let cardLink: LinkFieldSet;\n\texport let itemNumber: number = 0;\n\texport let imageSource: string = 'Aprimo';\n\texport let externalBackgroundImage: string;\n\texport let itemMinWidth: number = 0;\n\n\tlet infoElement: HTMLElement;\n\tlet infoHeight: number = 0;\n\tlet resizeObserver: ResizeObserver | null = null;\n\n\t$: isVideoLink = cardLink?.linkType === 'videoLink';\n\t$: youtubeLink = isVideoLink ? cardLink?.resolvedUrl || null : null;\n\n\t$: descriptionHeight = infoHeight;\n\n\t$: isAprimo = imageSource === 'Aprimo';\n\t$: horizontalImageUrl = isAprimo\n\t\t? backgroundImage?.cropsDetails?.horizontal?.uri\n\t\t: externalBackgroundImage;\n\t$: squareImageUrl = isAprimo\n\t\t? backgroundImage?.cropsDetails?.square?.uri\n\t\t: externalBackgroundImage;\n\t$: rectangleImageUrl = isAprimo\n\t\t? backgroundImage?.cropsDetails?.rectangle?.uri\n\t\t: externalBackgroundImage;\n\t$: isHorizontalImageCdnResourceLoading = isAprimo\n\t\t? backgroundImage?.cropsDetails?.horizontal?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\t$: isRectangleImageCdnResourceLoading = isAprimo\n\t\t? backgroundImage?.cropsDetails?.rectangle?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\n\tconst setInfoHeight = (height: number) => {\n\t\tinfoHeight = height;\n\t};\n\n\tonDestroy(() => {\n\t\tif (resizeObserver) {\n\t\t\tresizeObserver.disconnect();\n\t\t}\n\t});\n\n\tonMount(() => {\n\t\tif (infoElement) {\n\t\t\tresizeObserver = new ResizeObserver((entries) => {\n\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\tif (entry.target === infoElement) {\n\t\t\t\t\t\tsetInfoHeight(entry.contentRect.height);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tresizeObserver.observe(infoElement);\n\t\t}\n\t});\n\n\tconst handleCardClick = () => {\n\t\tif (isVideoLink && youtubeLink) {\n\t\t\tvideoStore.set({\n\t\t\t\tmodalVisible: true,\n\t\t\t\tyoutubeLink: youtubeLink,\n\t\t\t});\n\n\t\t\tanalytics.pushToDataLayer({\n\t\t\t\tevent: DataLayerEventName.VIDEO,\n\t\t\t});\n\t\t}\n\t};\n\n\t$: defaultAspectRatio = getDefaultAspectRatio(itemMinWidth);\n</script>\n\n<button\n\tclass={twMerge(\n\t\t'card group/item relative flex h-[405px] w-full shrink-0 grow-0 items-end overflow-hidden rounded-2xl p-6 transition-all duration-500 will-change-transform hover:cursor-pointer',\n\t\titemNumber === 0 && 'active-slide'\n\t)}\n\tdata-item=\"carousel-item\"\n\tdata-count={itemNumber + 1}\n\ton:click={handleCardClick}\n\trole=\"tabpanel\"\n\ttabindex={itemNumber}\n>\n\t<div tabIndex={-1}>\n\t\t<picture\n\t\t\tclass=\"bg-[linear-gradient(-180deg, rgba(23, 23, 28, 0) -10%, #040404) linear-gradient(-180deg, rgba(23, 23, 28, 0) -10%, #040404)] absolute left-0 top-0 block h-full w-full overflow-hidden transition-all duration-500\"\n\t\t>\n\t\t\t<EmbeddedLink\n\t\t\t\tlink={cardLink}\n\t\t\t\tparams={convertFieldSetToParams(cardLink)}\n\t\t\t\tgaEventName={title}\n\t\t\t\tgaEventLocation={componentName}\n\t\t\t\tcustomClass=\"absolute inset-0 z-[1]\"\n\t\t\t/>\n\t\t\t{#if !backgroundImage}\n\t\t\t\t<div>Select image</div>\n\t\t\t{:else if isHorizontalImageCdnResourceLoading || isRectangleImageCdnResourceLoading}\n\t\t\t\t<Loader />\n\t\t\t{:else}\n\t\t\t\t<ResponsiveImage\n\t\t\t\t\t{rectangleImageUrl}\n\t\t\t\t\t{horizontalImageUrl}\n\t\t\t\t\t{squareImageUrl}\n\t\t\t\t\taltText={altText ? altText : title}\n\t\t\t\t\thorizontalImageAssetId={backgroundImage?.cropsDetails?.horizontal?.id}\n\t\t\t\t\tsquareImageAssetId={backgroundImage?.cropsDetails?.square?.id}\n\t\t\t\t\trectangleImageAssetId={backgroundImage?.cropsDetails?.rectangle?.id}\n\t\t\t\t\tassetSource={'AprimoDAM'}\n\t\t\t\t\timageClass=\"max-h-full max-w-full min-h-full min-w-full linear-gradient(-180deg, rgba(23, 23, 28, 0) -20%, #000)] object-cover overflow-hidden absolute top-0 transition-all duration-500 -z-[1]\"\n\t\t\t\t\t{defaultAspectRatio}\n\t\t\t\t/>\n\t\t\t{/if}\n\t\t</picture>\n\n\t\t<div class=\"relative text-[#EEE] lg:overflow-hidden\">\n\t\t\t<div data-item=\"informations\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"informations-wrapper relative overflow-hidden transition-[top] duration-500 group-hover/item:!top-0 group-focus/item:!top-0\"\n\t\t\t\t\tstyle=\"inset-block-start: {descriptionHeight}px;\"\n\t\t\t\t>\n\t\t\t\t\t{#if title}\n\t\t\t\t\t\t<EmbeddedLink\n\t\t\t\t\t\t\tlink={cardLink}\n\t\t\t\t\t\t\tparams={convertFieldSetToParams(cardLink)}\n\t\t\t\t\t\t\tgaEventName={title}\n\t\t\t\t\t\t\tgaEventLocation={componentName}\n\t\t\t\t\t\t\tcustomClass=\"hover:cursor-pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\tclass=\"mb-2 mt-0 line-clamp-3 overflow-hidden break-words p-0 text-left text-[18px]/[20px] font-bold transition-[margin-bottom] duration-300 group-hover/item:mb-2 group-focus/item:mb-2 lg:mb-0 rtl:text-right\"\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</h2>\n\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t{/if}\n\t\t\t\t\t{#if description}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"mb-0 line-clamp-5 overflow-hidden break-words text-left lg:text-[16px]/[24px] rtl:text-right\"\n\t\t\t\t\t\t\tbind:this={infoElement}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EmbeddedLink\n\t\t\t\t\t\t\t\tlink={cardLink}\n\t\t\t\t\t\t\t\tparams={convertFieldSetToParams(cardLink)}\n\t\t\t\t\t\t\t\tgaEventName={title}\n\t\t\t\t\t\t\t\tgaEventLocation={componentName}\n\t\t\t\t\t\t\t\tcustomClass=\"hover:cursor-pointer\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/if}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</button>\n\n<style lang=\"scss\">\n\t.card {\n\t\tuser-select: none;\n\t}\n\n\t@media all and (max-width: 1024px) {\n\t\t.informations-wrapper {\n\t\t\tinset-block-start: 0px !important;\n\t\t}\n\t}\n\n\tpicture::after {\n\t\tbackground: linear-gradient(-180deg, rgba(4, 4, 6, 0), rgba(4, 4, 6, 0.8));\n\t\tbottom: 0;\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\ttransition: 0.5s;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t.card::after {\n\t\tbackground: linear-gradient(-180deg, rgba(23, 23, 28, 0) -10%, #040404);\n\t\tbottom: 0;\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tz-index: -2;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t.card:hover picture::after {\n\t\tbackground: linear-gradient(-180deg, rgba(23, 23, 28, 0), #040404);\n\t}\n</style>\n","<script lang=\"ts\">\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte/src/types/builder-block';\n\timport { isEditing } from '@builder.io/sdk-svelte';\n\timport { isDesktop, isLargeDesktop, isTablet } from '@se/common/stores';\n\timport { isInvalidLink, internalLinksStatusStore } from '../../embedded-link';\n\timport { MAX_VISIBLE_ELEMENTS, MOBILE_GAP, DESKTOP_GAP } from './consts';\n\timport ComponentStylesWrapper from '../../CC-03/shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport RequestedTranslationsTooltip from '../../../modules/global-link/components/RequestedTranslationsTooltip.svelte';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport type { Cards } from './types';\n\timport type { ComponentStylesType } from '../../CC-03/shared/component-styles-wrapper/types';\n\timport CardItem from './BusinessSolutionsCardItem.svelte';\n\n\timport { QdsWebCarousel, QdsWebCarouselItem } from '../../shared/qds-web-carousel';\n\timport { getItemMinWidth } from '../../../utility/util';\n\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType;\n\texport let builderBlock: BuilderBlock;\n\texport let cards: Cards = [];\n\n\tlet carouselWidth: number = 0;\n\t$: itemsWithValidLinks = cards.filter(\n\t\t(card) => !isInvalidLink($internalLinksStatusStore, card.cardLink)\n\t);\n\t$: filteredItems =\n\t\titemsWithValidLinks && (isEditing() || itemsWithValidLinks.length <= MAX_VISIBLE_ELEMENTS)\n\t\t\t? itemsWithValidLinks\n\t\t\t: itemsWithValidLinks.slice(0, MAX_VISIBLE_ELEMENTS);\n\t$: gap = !$isDesktop ? MOBILE_GAP : DESKTOP_GAP;\n\n\tconst SAFE_MARGIN = 20;\n\n\t$: itemMinWidth =\n\t\tgetItemMinWidth({\n\t\t\tcarouselWidth,\n\t\t\tslides: filteredItems.length,\n\t\t\tgap,\n\t\t\tisTablet: $isTablet,\n\t\t\tisDesktop: $isDesktop,\n\t\t\tisLargeDesktop: $isLargeDesktop,\n\t\t}) - SAFE_MARGIN;\n</script>\n\n<RequestedTranslationsTooltip id={builderBlock?.id} />\n<ComponentStylesWrapper\n\t{ComponentStyles}\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\ttestID={COMPONENT_META_DATA.NAME}\n>\n\t<div class=\"mx-auto flex w-full max-w-[1424px] flex-col\" bind:clientWidth={carouselWidth}>\n\t\t<QdsWebCarousel ariaLabel=\"promo\" indicatorPosition=\"bottom-center\" {itemMinWidth}>\n\t\t\t{#each filteredItems as item}\n\t\t\t\t<QdsWebCarouselItem>\n\t\t\t\t\t<CardItem {...item} componentName={builderBlock?.component?.name || ''} {itemMinWidth} />\n\t\t\t\t</QdsWebCarouselItem>\n\t\t\t{/each}\n\t\t</QdsWebCarousel>\n\t</div>\n</ComponentStylesWrapper>\n","<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path\n\t\td=\"M16 4C22.625 4 28 9.375 28 16C28 22.625 22.625 28 16 28C9.375 28 4 22.625 4 16C4 9.375 9.375 4 16 4ZM21.9062 13.125C22.2812 12.75 22.2812 12.1562 21.9062 11.75C21.5312 11.375 20.9062 11.375 20.5 11.75L14.0938 18.2188L11.5 15.5625C11.0938 15.1562 10.4688 15.1562 10.0938 15.5625C9.6875 15.9375 9.6875 16.5938 10.0938 16.9688L13.375 20.2812C13.5625 20.4688 13.8125 20.5938 14.0938 20.5938C14.3438 20.5938 14.5938 20.4688 14.8125 20.2812L21.9062 13.125Z\"\n\t\tfill=\"#2E3638\"\n\t/>\n</svg>\n","<script lang=\"ts\">\n\timport Icon from '../icons/Icon.svelte';\n\timport { TableFieldsValue, type SectionType, type TableColumn } from '../types';\n\n\texport let sections: SectionType[];\n\texport let columns: TableColumn[];\n\n\t$: columnsCount = columns.length + 1;\n\n\tfunction checkStringLength(text: string | undefined): string | undefined {\n\t\tif (text === undefined || text.length === 0) {\n\t\t\treturn '--';\n\t\t} else {\n\t\t\treturn text;\n\t\t}\n\t}\n</script>\n\n{#each sections as section}\n\t<tr class=\"border-b-solid border-b-theme-table-light-grey-color border-b\">\n\t\t<td colspan={columnsCount} class=\"w-full py-[18px] text-[18px] leading-5 text-black\">\n\t\t\t<strong>{section.sectionTitle}</strong>\n\t\t</td>\n\t</tr>\n\t{#each section.row as rows}\n\t\t<tr>\n\t\t\t<td\n\t\t\t\tclass=\"border-b-theme-table-light-grey-color min-w-[200px] border-b border-solid p-4 text-left text-[16px]/[24px] leading-6 md:text-base rtl:text-right\"\n\t\t\t>\n\t\t\t\t{rows.rowTitle}\n\t\t\t</td>\n\t\t\t{#each columns as _, i}\n\t\t\t\t<td\n\t\t\t\t\tclass=\"border-b-theme-table-light-grey-color min-w-[200px] border-b border-solid text-center text-xs md:text-base\"\n\t\t\t\t>\n\t\t\t\t\t{#if rows.values[i].value === TableFieldsValue.ICON}\n\t\t\t\t\t\t<div class=\"flex flex-col items-center p-4\">\n\t\t\t\t\t\t\t<svelte:component this={Icon}></svelte:component>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{:else if rows.values[i].value === TableFieldsValue.TEXT}\n\t\t\t\t\t\t<div class=\"flex flex-col items-center p-4 text-[16px]/[24px] text-black\">\n\t\t\t\t\t\t\t{checkStringLength(rows.values[i].text)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/if}\n\t\t\t\t</td>\n\t\t\t{/each}\n\t\t</tr>\n\t{/each}\n{/each}\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\t// internal dependencies\n\timport { DataLayerEventName, analytics } from '@se/core/services/analytics';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { COMPONENT_META_DATA } from './consts';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { RequestedTranslationsTooltip } from '../../../modules/global-link';\n\timport type { SectionType, TableColumn } from './types';\n\timport { TableLayoutType, ButtonSize, ComponentVariant } from './types';\n\timport { QdsButton } from '../../shared/qds-button';\n\timport { isInvalidLink, internalLinksStatusStore } from '../../embedded-link';\n\timport { defaultComponentStylesCheckboxesValues } from '../../CC-03/shared/component-styles-wrapper/consts';\n\timport { EmbeddedLink } from '../../../components/embedded-link';\n\timport { convertFieldSetToParams } from '../../../components/embedded-link/helpers/convert-field-set-to-params';\n\timport TableSection from './fragments/TableSection.svelte';\n\n\texport let componentVersion: string;\n\texport let ComponentStyles: ComponentStylesType = defaultComponentStylesCheckboxesValues;\n\texport let layoutType: TableLayoutType;\n\texport let columns: TableColumn[];\n\texport let builderBlock: BuilderBlock;\n\texport let variant: string;\n\texport let expandedButtonText: string;\n\texport let collapsedButtonText: string;\n\texport let section: SectionType[];\n\n\t$: outerWidth = 1024;\n\t$: buttonSize = outerWidth < 1024 ? ButtonSize.LARGE : ButtonSize.STANDARD;\n\n\tlet expanded = false;\n\n\t$: totalRows = section.reduce((acc, sec) => acc + (sec.row?.length || 0) + 1, 0);\n\t$: visibleSections = expanded\n\t\t? section\n\t\t: (() => {\n\t\t\t\tlet remainingRows = 10;\n\t\t\t\tlet sectionsToShow = [];\n\n\t\t\t\tfor (let i = 0; i < section.length; i++) {\n\t\t\t\t\tconst s = section[i];\n\t\t\t\t\tif (remainingRows <= 0) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst rowsToShow = Math.min(s.row.length, remainingRows - 1);\n\t\t\t\t\tremainingRows -= rowsToShow + 1;\n\t\t\t\t\tsectionsToShow.push({ ...s, row: s.row.slice(0, rowsToShow) });\n\n\t\t\t\t\tif (remainingRows === 0 && i < section.length - 1) {\n\t\t\t\t\t\tsectionsToShow.push({ ...section[i + 1], row: [] });\n\t\t\t\t\t\tremainingRows -= 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet totalRows = sectionsToShow.reduce((acc, sec) => acc + sec.row.length + 1, 0);\n\t\t\t\twhile (totalRows > 10) {\n\t\t\t\t\tconst lastSection = sectionsToShow.pop();\n\t\t\t\t\tif (lastSection) {\n\t\t\t\t\t\ttotalRows -= lastSection.row.length + 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn sectionsToShow;\n\t\t\t})();\n\n\tfunction getLayoutClass(type: TableLayoutType): string {\n\t\tswitch (type) {\n\t\t\tcase TableLayoutType.Fixed:\n\t\t\t\treturn 'table-fixed';\n\t\t\tcase TableLayoutType.Auto:\n\t\t\t\treturn 'table-auto';\n\t\t}\n\t}\n\n\tconst handleGAEvents = () => {\n\t\tanalytics.pushToDataLayer({\n\t\t\tevent: DataLayerEventName.ITEM_CLICKED,\n\t\t\tselected_option: expanded ? collapsedButtonText : expandedButtonText,\n\t\t\tselected_sub_option: '',\n\t\t});\n\t};\n</script>\n\n<RequestedTranslationsTooltip id={builderBlock?.id} />\n<ComponentStylesWrapper\n\t{ComponentStyles}\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\tcustomClass=\"bg-theme-background-white-color\"\n>\n\t<div class=\"overflow-x-auto\">\n\t\t<table\n\t\t\tdata-testid={COMPONENT_META_DATA.NAME}\n\t\t\tclass={twMerge(getLayoutClass(layoutType), 'mx-auto max-w-[1424px] lg:w-full')}\n\t\t>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<!-- Empty space placeholder-->\n\t\t\t\t\t<td></td>\n\t\t\t\t\t{#each columns || [] as { CTAButton, CTAButtonSection, name }}\n\t\t\t\t\t\t{@const showButton =\n\t\t\t\t\t\t\tCTAButton &&\n\t\t\t\t\t\t\t!isInvalidLink($internalLinksStatusStore, CTAButtonSection?.CTAButtonURL) &&\n\t\t\t\t\t\t\tCTAButtonSection?.CTAButtonText}\n\n\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t<div class=\"flex flex-col items-center justify-center px-1\">\n\t\t\t\t\t\t\t\t<h3\n\t\t\t\t\t\t\t\t\tclass=\"text-center text-[22px] leading-6 text-black lg:text-[24px] lg:leading-7\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t{#if showButton}\n\t\t\t\t\t\t\t\t\t<EmbeddedLink\n\t\t\t\t\t\t\t\t\t\tlink={CTAButtonSection?.CTAButtonURL}\n\t\t\t\t\t\t\t\t\t\tparams={convertFieldSetToParams(CTAButtonSection?.CTAButtonURL)}\n\t\t\t\t\t\t\t\t\t\trenderChildrenOnly\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<QdsButton\n\t\t\t\t\t\t\t\t\t\t\ttext={CTAButtonSection?.CTAButtonText}\n\t\t\t\t\t\t\t\t\t\t\tlink={CTAButtonSection?.CTAButtonURL}\n\t\t\t\t\t\t\t\t\t\t\thref={CTAButtonSection?.CTAButtonURL?.resolvedUrl}\n\t\t\t\t\t\t\t\t\t\t\tgaEventName={CTAButtonSection?.CTAButtonText}\n\t\t\t\t\t\t\t\t\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\t\t\t\t\t\t\t\t\ttarget={CTAButtonSection?.CTAButtonURL.target}\n\t\t\t\t\t\t\t\t\t\t\tsize={buttonSize}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</EmbeddedLink>\n\t\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t{/each}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t{#if variant === ComponentVariant.COMPACT_VIEW}\n\t\t\t\t\t<TableSection sections={visibleSections} {columns} />\n\t\t\t\t{:else}\n\t\t\t\t\t<TableSection sections={section} {columns} />\n\t\t\t\t{/if}\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n\t{#if variant === ComponentVariant.COMPACT_VIEW && totalRows > 10}\n\t\t<div class=\"mt-8 flex justify-center\">\n\t\t\t<QdsButton\n\t\t\t\tsize=\"large\"\n\t\t\t\taction={expanded ? 'dropdown-close' : 'dropdown'}\n\t\t\t\ttext={expanded ? collapsedButtonText : expandedButtonText}\n\t\t\t\ton:click={() => {\n\t\t\t\t\thandleGAEvents();\n\t\t\t\t\texpanded = !expanded;\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t{/if}\n</ComponentStylesWrapper>\n\n<svelte:window bind:outerWidth />\n","<script lang=\"ts\">\n\timport Video from '../../../../components/Reusable/Video.svelte';\n\timport { useResizeObserver } from '../../../../components/aprimo-dam/utils/useResizeObserver';\n\timport VideoCard from '../../../../components/CC-03/shared/success-story/fragments/VideoCard.svelte';\n\timport type { ContentLinkBlockItemProps } from '../types';\n\timport type { SuccessStoryCardTypes } from '../../shared/types';\n\timport { ButtonTypes } from '../../../controls/types';\n\timport Portal from '../../../Reusable/Portal.svelte';\n\n\texport let youTubeVideo: ContentLinkBlockItemProps['youTubeVideo'];\n\n\tlet isYoutubeVideoVisible = false;\n\tlet hoverEnabled = false;\n\n\tconst { container } = useResizeObserver();\n\n\tconst handleClick = () => {\n\t\tisYoutubeVideoVisible = !isYoutubeVideoVisible;\n\t\thoverEnabled = false;\n\t};\n\n\tconst toggleHover = () => {\n\t\thoverEnabled = !hoverEnabled;\n\t};\n\n\t$: youtubeUrl = youTubeVideo?.resolvedUrl || '';\n\n\t$: successStoryCard = {\n\t\tcardLabel: '',\n\t\tcardHeading: '',\n\t\tcardDescription: '',\n\t\tcardDescriptionMaxChar: 0,\n\t\tcardHeadingMaxChar: 0,\n\t\tcardLabelMaxChar: 0,\n\t\t// Type cast used because of typeguard lack in VideoThumbnail component\n\t\t// VideoThumbnail forces to pass aprimoData even though it's not used with YT videos\n\t\tvideoSection: { videoSource: 'external', youTubeVideo } as Pick<\n\t\t\tSuccessStoryCardTypes,\n\t\t\t'videoSection'\n\t\t>['videoSection'],\n\t};\n\n\t$: checkVideoThumbnail = () => {\n\t\tif (youtubeUrl) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n</script>\n\n{#if !!youtubeUrl}\n\t<div class=\"group/tile h-full w-full\">\n\t\t<div class=\"youtube-video h-full w-full bg-black [&>button>div>img]:object-contain\">\n\t\t\t{#if isYoutubeVideoVisible}\n\t\t\t\t<Portal>\n\t\t\t\t\t<Video {youtubeUrl} on:close={handleClick} customClass=\"bg-[rgba(51,51,51,0.6)]\" />\n\t\t\t\t</Portal>\n\t\t\t{:else}\n\t\t\t\t<VideoCard\n\t\t\t\t\t{container}\n\t\t\t\t\t{hoverEnabled}\n\t\t\t\t\tsuccessStoryCardVersion=\"responsive\"\n\t\t\t\t\t{successStoryCard}\n\t\t\t\t\t{checkVideoThumbnail}\n\t\t\t\t\tshowSharedContent={false}\n\t\t\t\t\thandlePlayButtonClick={handleClick}\n\t\t\t\t\t{toggleHover}\n\t\t\t\t\tuseGreenCircleButton\n\t\t\t\t/>\n\t\t\t{/if}\n\t\t</div>\n\t</div>\n{/if}\n\n<style>\n\t.youtube-video :global(.video-card-button) {\n\t\theight: 100%;\n\t\tborder-radius: initial;\n\t}\n</style>\n","<script lang=\"ts\">\n\timport { QdsButton } from '../../../shared/qds-button';\n\timport { convertFieldSetToParams } from '../../../embedded-link/helpers/convert-field-set-to-params';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport type { ButtonProps } from '../types';\n\timport {\n\t\tEmbeddedLink,\n\t\tisInvalidLink,\n\t\tinternalLinksStatusStore,\n\t} from '../../../../components/embedded-link';\n\timport { CARD_BUTTON_ACTION, CARD_BUTTON_IMPORTANCE, CARD_BUTTON_SIZE } from '../consts';\n\n\texport let button: ButtonProps;\n\texport let builderBlock: BuilderBlock;\n\n\tlet dynamicLink: string = button.url?.resolvedUrl ?? '';\n</script>\n\n{#if button && !isInvalidLink($internalLinksStatusStore, button.url) && button.url && button.text}\n\t{@const { url: link, text, iconName } = button}\n\t<EmbeddedLink\n\t\t{link}\n\t\tparams={convertFieldSetToParams(button.url)}\n\t\tbind:dynamicLink\n\t\trenderChildrenOnly\n\t>\n\t\t<QdsButton\n\t\t\t{text}\n\t\t\t{link}\n\t\t\taction={CARD_BUTTON_ACTION}\n\t\t\timportance={CARD_BUTTON_IMPORTANCE}\n\t\t\tsize={CARD_BUTTON_SIZE}\n\t\t\thref={dynamicLink}\n\t\t\tgaEventName={text}\n\t\t\tgaEventLocation={builderBlock?.component?.name}\n\t\t\ttarget={link?.target}\n\t\t\t{iconName}\n\t\t\tcustomVideoClass=\"bg-[rgba(51,51,51,0.6)]\"\n\t\t/>\n\t</EmbeddedLink>\n{/if}\n","<script lang=\"ts\">\n\timport { isMobile } from '@se/common/stores';\n\timport AprimoImageMetadata from '../../../aprimo-dam/AprimoImageMetadata/AprimoImageMetadata.svelte';\n\timport ResponsiveImage from '../../../aprimo-dam/ResponsiveImage/ResponsiveImage.svelte';\n\timport type { ContentLinkBlockItemProps } from '../types';\n\timport YoutubeCard from './YoutubeCard.svelte';\n\timport ContentLinkCardButton from './ContentLinkCardButton.svelte';\n\timport { getContext } from 'svelte';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { DEFAULT_ICON, Variant } from '../consts';\n\timport Loader from '../../../aprimo-dam/loader/Loader.svelte';\n\timport { twMerge } from 'tailwind-merge';\n\n\texport let useYouTubeVideoAsBackground: ContentLinkBlockItemProps['useYouTubeVideoAsBackground'];\n\texport let imageSection: ContentLinkBlockItemProps['imageSection'];\n\texport let youTubeVideo: ContentLinkBlockItemProps['youTubeVideo'];\n\texport let tag: ContentLinkBlockItemProps['tag'] = '';\n\texport let title: ContentLinkBlockItemProps['title'];\n\texport let description: ContentLinkBlockItemProps['description'] = '';\n\texport let isLogo: ContentLinkBlockItemProps['isLogo'];\n\texport let icon: ContentLinkBlockItemProps['icon'] = undefined;\n\texport let iconAltText: ContentLinkBlockItemProps['iconAltText'] = undefined;\n\texport let toggleFirstButton: ContentLinkBlockItemProps['toggleFirstButton'];\n\texport let firstButton: ContentLinkBlockItemProps['firstButton'] = undefined;\n\texport let toggleSecondButton: ContentLinkBlockItemProps['toggleSecondButton'];\n\texport let secondButton: ContentLinkBlockItemProps['secondButton'] = undefined;\n\texport let blockVariant: ContentLinkBlockItemProps['blockVariant'] = undefined;\n\texport let useSixteenByNineAspectRatio: boolean = false;\n\texport let noCarouselPadding: undefined | boolean;\n\n\tconst builderBlock: BuilderBlock = getContext('builderBlock');\n\n\t$: isAprimo = imageSection?.imageSource === 'Aprimo';\n\t$: horizontalImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.horizontal?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: squareImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.square?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: rectangleImageUrl = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.rectangle?.uri\n\t\t: imageSection?.externalBackgroundImage;\n\t$: isHorizontalImageCdnResourceLoading = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.horizontal?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\t$: isRectangleImageCdnResourceLoading = isAprimo\n\t\t? imageSection?.image?.cropsDetails?.rectangle?.isLoadingResourceToAkamaiCdn\n\t\t: false;\n\n\t$: isTitleAndDescVisible = title || description;\n</script>\n\n<div class={twMerge('flex w-full flex-col text-black')}>\n\t{#if blockVariant === Variant.VARIANT_1}\n\t\t<div\n\t\t\tclass={twMerge(\n\t\t\t\t'aspect-[3/2] overflow-hidden rounded-lg',\n\t\t\t\tuseSixteenByNineAspectRatio && 'aspect-[16/9]'\n\t\t\t)}\n\t\t>\n\t\t\t{#if useYouTubeVideoAsBackground}\n\t\t\t\t<YoutubeCard {youTubeVideo} />\n\t\t\t{:else if !imageSection?.externalBackgroundImage}\n\t\t\t\t<div>Choose an image</div>\n\t\t\t{:else if isHorizontalImageCdnResourceLoading || isRectangleImageCdnResourceLoading}\n\t\t\t\t<Loader />\n\t\t\t{:else if imageSection?.image}\n\t\t\t\t{#if imageSection?.image.cropsDetails && isAprimo}\n\t\t\t\t\t<AprimoImageMetadata metadata={imageSection?.image} />\n\t\t\t\t{/if}\n\t\t\t\t{#if imageSection?.image}\n\t\t\t\t\t<ResponsiveImage\n\t\t\t\t\t\thorizontalImageUrl={horizontalImageUrl || ''}\n\t\t\t\t\t\tsquareImageUrl={squareImageUrl || ''}\n\t\t\t\t\t\trectangleImageUrl={rectangleImageUrl || ''}\n\t\t\t\t\t\taltText={imageSection?.imageAlt || ''}\n\t\t\t\t\t\thorizontalImageAssetId={imageSection?.image?.cropsDetails?.horizontal?.id}\n\t\t\t\t\t\tsquareImageAssetId={imageSection?.image?.cropsDetails?.square?.id}\n\t\t\t\t\t\trectangleImageAssetId={imageSection?.image?.cropsDetails?.rectangle?.id}\n\t\t\t\t\t\tassetSource={'AprimoDAM'}\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t{/if}\n\t\t</div>\n\n\t\t{#if tag}\n\t\t\t<span\n\t\t\t\tclass=\"bg-theme-sky-blue-color text-theme-deep-blue-color my-6 w-fit rounded-full px-3 py-1 text-sm font-normal leading-5\"\n\t\t\t\t>{tag}\n\t\t\t</span>\n\t\t{/if}\n\t{/if}\n\n\t{#if isTitleAndDescVisible}\n\t\t<div class={twMerge('flex flex-col gap-2', !tag && 'mt-6')}>\n\t\t\t{#if title}\n\t\t\t\t<span class=\"line-clamp-3 text-lg font-bold leading-5\">{title}</span>\n\t\t\t{/if}\n\n\t\t\t{#if description}\n\t\t\t\t<span\n\t\t\t\t\tclass:line-clamp-mobile={$isMobile}\n\t\t\t\t\tclass=\"font-regular line-clamp-desktop-tablet text-base\">{description}</span\n\t\t\t\t>\n\t\t\t{/if}\n\t\t</div>\n\t{/if}\n\t<div class={twMerge(blockVariant === Variant.VARIANT_2 && 'lg:mt-auto')}>\n\t\t{#if isLogo && icon}\n\t\t\t<div class={twMerge('my-6 h-7', blockVariant === Variant.VARIANT_2 && 'w-[104px]')}>\n\t\t\t\t<img\n\t\t\t\t\tsrc={icon.iconUri || DEFAULT_ICON}\n\t\t\t\t\tdata-assetSource=\"AprimoDAM\"\n\t\t\t\t\tdata-assetId={icon?.id || ''}\n\t\t\t\t\talt={icon.publicUris?.[0]?.fileName || iconAltText}\n\t\t\t\t\tclass=\"h-full object-contain\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t{/if}\n\n\t\t<div\n\t\t\tclass={twMerge(\n\t\t\t\t'flex flex-col items-start gap-2 lg:h-[72px]',\n\t\t\t\t!isLogo && (!description || !title) && 'pt-6'\n\t\t\t)}\n\t\t>\n\t\t\t{#if toggleFirstButton && firstButton}\n\t\t\t\t<div class={twMerge(!isLogo && blockVariant === Variant.VARIANT_1 && 'mt-6')}>\n\t\t\t\t\t<ContentLinkCardButton {builderBlock} button={firstButton} />\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t\t{#if toggleSecondButton && secondButton}\n\t\t\t\t<div\n\t\t\t\t\tclass={twMerge(\n\t\t\t\t\t\t'pb-[24px] ',\n\t\t\t\t\t\tnoCarouselPadding ? 'lg:pb-0' : 'lg:pb-[24px]',\n\t\t\t\t\t\t!isLogo && !toggleFirstButton && blockVariant === Variant.VARIANT_1 && 'mt-6'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<ContentLinkCardButton {builderBlock} button={secondButton} />\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t</div>\n\t</div>\n</div>\n\n<style>\n\t.line-clamp-desktop-tablet {\n\t\toverflow: hidden;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\t-webkit-line-clamp: 5;\n\t}\n\n\t.line-clamp-mobile {\n\t\toverflow: hidden;\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\t-webkit-line-clamp: 10;\n\t}\n</style>\n","<script lang=\"ts\">\n\t// external dependencies\n\timport { twMerge } from 'tailwind-merge';\n\timport type { BuilderBlock } from '@builder.io/sdk-svelte';\n\timport { isDesktop, isTablet, isLargeDesktop } from '@se/common/src/stores';\n\n\t// internal dependencies\n\timport type { ContentLinkBlockItemProps } from './types';\n\timport ContentLinkBlockItem from './components/ContentLinkBlockItem.svelte';\n\timport ComponentStylesWrapper from '../shared/component-styles-wrapper/ComponentStylesWrapper.svelte';\n\timport type { ComponentStylesType } from '../shared/component-styles-wrapper/types';\n\timport { defaultComponentStylesCheckboxesValues } from '../shared/component-styles-wrapper/consts';\n\timport isComponentOutdated from '../../../utility/is-component-outdated';\n\timport { COMPONENT_META_DATA, Variant, MOBILE_GAP, DESKTOP_GAP } from './consts';\n\timport { BackgroundColor, ColorCode } from '../../qds/constant';\n\timport {\n\t\tDynamicHeading,\n\t\tregisterComponentForDynamicHeadings,\n\t} from '../../../modules/dynamic-heading';\n\timport { QdsWebCarousel, QdsWebCarouselItem } from '../../shared/qds-web-carousel';\n\timport { setBuilderBlock } from '@se/common/utils';\n\timport { getItemMinWidth } from '../../../utility/util';\n\n\texport let ComponentStyles: ComponentStylesType = defaultComponentStylesCheckboxesValues;\n\texport let componentVersion: string;\n\texport let items: ContentLinkBlockItemProps[] = [];\n\texport let builderBlock: BuilderBlock;\n\texport let backgroundColor: ContentLinkBlockItemProps['backgroundColor'];\n\texport let blockVariant: Variant | undefined;\n\texport let heading: string | undefined;\n\texport let useSixteenByNineAspectRatio: boolean = false;\n\n\tregisterComponentForDynamicHeadings(builderBlock.id);\n\tsetBuilderBlock(builderBlock);\n\n\tlet color = '';\n\n\t$: {\n\t\tswitch (backgroundColor) {\n\t\t\tcase BackgroundColor.WHITE:\n\t\t\t\tcolor = `bg-[${ColorCode.WHITE_100}]`;\n\t\t\t\tbreak;\n\t\t\tcase BackgroundColor.GREY:\n\t\t\t\tcolor = `bg-[${ColorCode.GREY_100}]`;\n\t\t\t\tbreak;\n\t\t\tcase BackgroundColor.LIGHT_GREY:\n\t\t\t\tcolor = `bg-[${ColorCode.LIGHT_GREY_100}]`;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tconst SAFE_MARGIN = 20;\n\tlet carouselWidth: number = 0;\n\t// TODO: check do we need to filter items as in BusinessSolutionsCard\n\n\t$: gap = !$isDesktop ? MOBILE_GAP : DESKTOP_GAP;\n\t$: itemMinWidth =\n\t\tgetItemMinWidth({\n\t\t\tcarouselWidth,\n\t\t\tslides: items.length,\n\t\t\tgap,\n\t\t\tisTablet: $isTablet,\n\t\t\tisDesktop: $isDesktop,\n\t\t\tisLargeDesktop: $isLargeDesktop,\n\t\t}) - SAFE_MARGIN;\n</script>\n\n<ComponentStylesWrapper\n\t{ComponentStyles}\n\tisComponentOutdated={isComponentOutdated(COMPONENT_META_DATA.VERSION, componentVersion)}\n\tcustomClass={twMerge(color)}\n\ttestID={COMPONENT_META_DATA.NAME}\n>\n\t{#if blockVariant === Variant.VARIANT_2 && heading}\n\t\t<div class=\"mx-auto line-clamp-3 max-w-[1424px] text-black\">\n\t\t\t<DynamicHeading\n\t\t\t\tcanBeH1\n\t\t\t\tinitialLevel={2}\n\t\t\t\tcustomClass=\"m-0 text-[22px]/[24px] md:mb-6 md:text-[30px]/[32px]\"\n\t\t\t>\n\t\t\t\t{heading}\n\t\t\t</DynamicHeading>\n\t\t</div>\n\t{/if}\n\t<div\n\t\tclass={twMerge(\n\t\t\t'mx-auto max-w-[1424px] flex-col gap-6 lg:flex lg:justify-center [&>div]:py-0',\n\t\t\tblockVariant === Variant.VARIANT_2 && 'pt-6 md:pt-6'\n\t\t)}\n\t\tbind:clientWidth={carouselWidth}\n\t>\n\t\t<QdsWebCarousel ariaLabel=\"promo\" indicatorPosition=\"bottom-center\" {itemMinWidth}>\n\t\t\t{#each items as item}\n\t\t\t\t<QdsWebCarouselItem>\n\t\t\t\t\t<ContentLinkBlockItem\n\t\t\t\t\t\t{...item}\n\t\t\t\t\t\t{blockVariant}\n\t\t\t\t\t\tnoCarouselPadding\n\t\t\t\t\t\t{useSixteenByNineAspectRatio}\n\t\t\t\t\t/>\n\t\t\t\t</QdsWebCarouselItem>\n\t\t\t{/each}\n\t\t</QdsWebCarousel>\n\t</div>\n</ComponentStylesWrapper>\n"],"names":["CONTEXT_NAME","setBuilderBlock","builderBlock","setContext","getBuilderBlock","getContext","ctx","dirty","metadatalist_changes","if_block","create_if_block","insert_hydration","target","div","anchor","metadata","$$props","headingStore","writable","registerComponentForDynamicHeadings","id","canBeH1","state","MAX_HEADING_LEVEL","getDynamicHeadingTag","isFirst","initialLevel","isNested","getNestedContext","twMerge","svelte_element","element","HeadingSizeVariant","set_dynamic_element_data","svelte_element_data","get_spread_update","svelte_element_levels","svelte_element_class_value","previous_tag","create_dynamic_element","safe_not_equal","customClass","staticLevel","tag","$headingStore","$$invalidate","accessibilityClass","$accessibilityMode","defaultOptions","Autoplay","userOptions","options","emblaApi","destroyed","playing","resume","jump","timer","init","emblaApiInstance","optionsHandler","mergeOptions","optionsAtMedia","optionsBase","allOptions","eventStore","ownerDocument","emblaRoot","root","container","stopTimer","startTimer","visibilityChange","documentIsHidden","destroy","ownerWindow","next","play","jumpOverride","stop","reset","isPlaying","index","nextIndex","lastIndex","isObject","subject","isRecord","canUseDOM","areOptionsEqual","optionsA","optionsB","optionsAKeys","optionsBKeys","breakpointsA","breakpointsB","key","valueA","valueB","sortAndMapPluginToOptions","plugins","a","b","plugin","arePluginsEqual","pluginsA","pluginsB","optionA","optionB","isNumber","isString","isBoolean","mathAbs","n","mathSign","deltaAbs","factorAbs","diff","arrayKeys","array","objectKeys","arrayLast","arrayLastIndex","arrayIsLastIndex","arrayFromNumber","startAt","_","i","object","objectsMergeDeep","objectA","objectB","mergedObjects","currentObject","areObjects","isMouseEvent","evt","Alignment","align","viewSize","predefined","start","center","end","measure","EventStore","listeners","add","node","type","handler","removeListener","legacyMediaQueryList","self","clear","remove","Animations","update","render","documentVisibleHandler","timeStep","lastTimeStamp","lag","animationFrame","animate","timeStamp","elapsed","lagOffset","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","sign","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","max","length","reachedMin","reachedMax","reachedAny","constrain","removeOffset","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","downIfAllowed","down","up","click","addDragEvents","move","isFocusNode","nodeName","forceBoost","allowedForce","force","targetChanged","baseForce","isMouseEvt","lastScroll","lastCross","diffScroll","diffCross","rawForce","forceFactor","speed","friction","pointerDown","DragTracker","startEvent","lastEvent","readTime","readPoint","evtAxis","coord","pointerMove","expired","pointerUp","diffDrag","diffTime","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","PercentOfView","ResizeHandler","slides","watchResize","nodeRects","observeNodes","resizeObserver","containerSize","slideSizes","readSize","defaultCallback","entries","entry","isContainer","slideIndex","lastSize","newSize","ScrollBody","offsetLocation","previousLocation","baseDuration","bodyVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","fixedDeltaTimeSeconds","duration","isInstant","directionDiff","settled","velocity","useBaseDuration","useDuration","useBaseFriction","useFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","snapAligned","isLast","scrollBound","ScrollLimit","scrollSnaps","ScrollLooper","vectors","shouldLoop","loopDistance","v","ScrollProgress","currentLocation","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","g","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","findTargetSnap","distance","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","byIndex","diffToSnap","byDistance","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","watchFocus","focusListenerOptions","lastTabPressTime","registerTabPress","slide","event","Vector1D","initialValue","value","normalizeInput","subtract","Translate","translate","x","y","containerStyle","to","SlideLooper","slideSizesWithGaps","ascItems","descItems","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","from","slidesInGap","gap","findSlideBounds","offset","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","canLoop","otherIndexes","slideLocation","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","createInViewList","inView","list","isIntersecting","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","style","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","EventHandler","api","getListeners","emit","e","on","cb","off","OptionsHandler","matchedMediaOptions","media","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","activePlugins","map","EmblaCarousel","userPlugins","pluginsHandler","mediaHandlers","reInit","reActivate","pluginList","pluginApis","storeElements","userContainer","userSlides","customSlides","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","selectedScrollSnap","deActivate","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","scrollSnapList","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","emblaCarouselSvelte","emblaNode","emblaConfig","storedEmblaConfig","newEmblaConfig","optionsChanged","pluginsChanged","div1","append_hydration","div0","autoplay","autoplayDuration","infinite","currentPageIndex","customWrapperClass","isScrollable","isScrollableNext","isScrollablePrev","isCarouselDisabled","autoplayStopOnInteraction","autoplayRestartOnInteraction","defaultActiveTab","updateCarouselState","isDragFree","onInit","restartAutoplay","autoplayPlugin","goTo","pageIndex","goToPrev","goToNext","onMount","set_custom_element_data","qds_standalone_link","qds_standalone_link_href_value","_a","isDisabled","link","download","hreflang","iconLibrary","iconName","importance","referrerpolicy","rel","size","text","gaEventLocation","gaEventName","visitable","handleClick","resolvedUrl","edmsId","shouldDownload","downloadFile","getEdmsDocumentName","pushEdmsGaEvent","analytics","DataLayerEventName","getCtaCategory","src_url_equal","iframe","iframe_src_value","attr","img","img_src_value","aprimoData","embeddedLinkData","altText","videoSource","videoLink","isYtOrAprimo","thumbnailUrl","getValidYoutubeThumbnail","checkYoutubeOrAprimo","_b","_e","_d","_c","_h","_g","_f","_k","_j","_i","responsiveimage_changes","p","create_if_block_2","create_if_block_1","ColorCode","div2","create_if_block_5","convertFieldSetToParams","div_class_value","null_to_empty","ComponentVariant","embeddedlink_changes","current","imageSource","ImageSource","backgroundImage","pesImage","externalBackgroundImage","url","label","heading","description","itemWidth","$isMobile","isProductBlock","cardsNumber","componentVariant","customPesImageClass","defaultAspectRatio","horizontalImageUrl","squareImageUrl","rectangleImageUrl","isHorizontalImageCdnResourceLoading","isRectangleImageCdnResourceLoading","imageDataSource","containerWidth","_l","_m","conditionalHeading","_n","conditionalDescription","_o","useResizeObserver","dimensions","containerElement","aspectRatio","derived","$dimensions","isContainerFitForHorizontalOrRectangularImage","$aspectRatio","MAX_SQUARE_CONTAINER_ASPECT_RATIO","isContainerFitForHorizontalImage","MIN_HORIZONTAL_CONTAINER_ASPECT_RATIO","t_value","truncateString","set_data","if_block0","if_block1","successStoryCardVersion","successStoryCard","cardDescriptionElementHight","cardLabel","cardHeading","cardDescription","cardHeadingMaxChar","cardDescriptionMaxChar","cardLabelMaxChar","button","button_class_value","is_function","circlePlayGreenButton","checkVideoThumbnail","handlePlayButtonClick","toggleHover","hoverEnabled","showSharedContent","buttonType","ButtonTypes","useGreenCircleButton","$container","$$value","raw_value","h2","html_tag","create_if_block_7","button_aria_selected_value","li","create_if_block_6","IconName","IconSize","create_if_block_3","h3","toggle_class","create_if_block_4","ul","div1_class_value","each_blocks","tabs","tabsType","customTabClass","contentClasses","tabsContainerClasses","activeTab","INITIAL_OFFSET","liRefs","liElementWidths","liElementsTotalWidth","currentLiElementIndex","slider","mouseDown","startPositionX","tabClasses","tabActiveClasses","containerRef","currentScrollLeft","isRightArrowVisible","isLeftArrowVisible","isOverflowing","getClientX","handleTabChangeGAEvent","ItemClickedSuboption","handleKeyDown","k","constant.KEY_BOARD_LEFT_ARROW","constant.KEY_BOARD_DOWN_ARROW","constant.KEY_BOARD_UP_ARROW","constant.KEY_BOARD_RIGHT_ARROW","constant.KEY_BOARD_EVENT_ENTER_CODE","startDragging","stopDragging","accumulatedWidth","handleDragging","scrollDistance","scrollTabs","isRtlLanguage","targetScrollLeft","effectiveScrollLeft","checkOverflow","totalWidth","ulWidth","handleResize","onDestroy","click_handler","click_handler_1","keydown_handler","click_handler_2","keydown_handler_1","isMainTabs","tab","children","parent","path","styleProp","HorizontalTabsVariant","container_changes","requestedtranslationstooltip_changes","isComponentOutdated","COMPONENT_META_DATA","componentstyleswrapper_changes","componentVersion","ComponentStyles","defaultComponentStylesCheckboxesValues","variant","filteredTabs","isEditing","shouldHide","block","isBlockStatusInvalid","$blockLinkStatusesStore","arrow","t0_value","sanitizeHtml","div0_class_value","span","t0","OPEN_IN_NEW_TAB_ICON","show_if","isInvalidLink","accordionGroup","cta","sanitizeConfig","selectedTabIndex","intersecting","handleTabChange","$isBrowser","CAROUSEL_BUTTON_SIZE","CAROUSEL_BUTTON_IMPORTANCE","buttonImportance","buttonSize","navigationBarCustomClass","handleGoTo","elements","fetchProductPicture","pesId","language","country","appOriginUrl","productPictureRes","error","LOCALE_MAP","getMappedLocale","mappedLocales","mapping","mappedLocale","cachedPesImages","constants_0","child_ctx","carouselnavigation_changes","cardGroup","rangeCardGroup","backgroundColor","responsive","getCountryAndLanguage","carousel","pesImages","pesItems","carouselWidth","transformRangeItem","data","cardGroupWithValidLinks","item","$internalLinksStatusStore","currentPesItems","origin","pesIds","notCachedPesIds","$cachedPesImages","mappedCountry","mappedLanguage","newPesImages","productPicture","BackgroundColor","itemsToBeDisplayed","isComponentInvalid","setBlockLinkStatus","kpiValues","shouldDisplayKpiValues","qdsbutton_changes","get_if_ctx","dynamicLink","toggleFirstButton","toggleSecondButton","firstButton","secondButton","disabledButtons","cardLink","commonClass","DEFAULT_ICON","img_alt_value","create_if_block_12","get_if_ctx_1","ButtonType","qdsstandalonelink_changes","create_if_block_13","create_if_block_11","create_if_block_10","create_if_block_9","icon","iconAltText","tags","title","buttons","componentName","toggleProductSelector","linkImportance","openVirtualAgent","widgetTitle","isIcon","areTags","isTitle","isDescription","linkIconName","_q","_p","_t","_s","_r","buttonIconLibrary","_w","_v","_u","_y","_x","buttonIconName","_B","_A","_z","_D","_C","_F","_E","qds_web_carousel","carouselID","newUniqueId","ariaLabel","indicatorPosition","itemMinWidth","qds_web_carousel_item","DIALOG_CONTAINER_ID","dialog","dialog_class_value","div7","div7_class_value","div6","div5","div4","isWidgetOnFullScreen","handleResizeWidget","toggleWidget","document_1","script","disableHeading","firstRow","secondRow","isProductSelectorVisible","isOpen","showProductSelector","ctaName","tick","openWidget","setFullScreen","filteredFirstRow","filteredSecondRow","isAnyButtonLinkValid","isCardLinkValid","getItemMinWidth","GAP","$isTablet","$isDesktop","$isLargeDesktop","isFirstRow","isSecondRow","show_if_2","show_if_1","style_height","style_changed","CTAText","isHover","titleHeight","descriptionHeight","linkTextHeight","aprimovideometadata_changes","t1_value","source","source_src_value","video","track","t1","aprimoVideo","disablePlayOnHover","videoElement","jsonLdScript","onMouseEnter","onMouseLeave","posterUrl","isVideoCdnResourceLoading","videoSchema","serialize","serializeSchema","videoSection","isYoutubeVideoVisible","youtubeUrl","aprimoimagemetadata_changes","RESPONSIVE_OPTIONS","MEDIA_TYPE","mediaType","imageSection","itemsLength","isAprimo","checkIfContentBenefitCardIsValid","internalLinksStatus","invalidYouTubeLink","videoUri","filterInvalidLinks","items","carditem_changes","maxItems","filteredItems","isThreeItems","isMaxItems","isComponentVisible","videoStore","CARD_DEFAULT_HEIGHT","getDefaultAspectRatio","button_data_count_value","div3","picture","itemNumber","infoElement","infoHeight","setInfoHeight","handleCardClick","isVideoLink","youtubeLink","SAFE_MARGIN","cards","itemsWithValidLinks","card","MAX_VISIBLE_ELEMENTS","DESKTOP_GAP","MOBILE_GAP","svg","checkStringLength","Icon","TableFieldsValue","td","tr","each_value_1","ensure_array_like","strong","sections","columns","columnsCount","table","table_class_value","thead","tbody","layoutType","expandedButtonText","collapsedButtonText","section","expanded","getLayoutClass","TableLayoutType","handleGAEvents","outerWidth","ButtonSize","totalRows","sec","visibleSections","remainingRows","sectionsToShow","s","rowsToShow","lastSection","youTubeVideo","CARD_BUTTON_ACTION","CARD_BUTTON_IMPORTANCE","CARD_BUTTON_SIZE","Variant","if_block2","if_block3","if_block4","useYouTubeVideoAsBackground","isLogo","blockVariant","useSixteenByNineAspectRatio","noCarouselPadding","isTitleAndDescVisible","color"],"mappings":"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,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM,QAAS,KAAO,EACxE,CAAE,gBAAiB,KAAM,YAAa,CAAE,SAAU,KAAM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","x_google_ignoreList":[5,6,7,8]}