{"version":3,"file":"static/js/blocks41.e170b645.chunk.js","mappings":"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","sources":["components/LottieAnimation/LottieAnimation.component.tsx","blocks/components/TextGraphics/hooks/usePosition.hook.ts","webpack://@danishagro/cms/./src/blocks/components/TextGraphics/TextGraphics.module.scss?767b","blocks/components/TextGraphics/TextGraphics.component.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport lottie from \"lottie-web\";\n\ninterface LottieAnimationProps {\n url: string;\n}\n\nexport const LottieAnimation = ({ url }: LottieAnimationProps) => {\n const animationContainer = useRef(null);\n\n useEffect(() => {\n let anim;\n const loadAnimation = async () => {\n if (!url.endsWith(\".json\")) {\n console.error(\"The provided URL is not a .json file:\", url);\n return;\n }\n\n try {\n const response = await fetch(url);\n const data = await response.json();\n\n anim = lottie.loadAnimation({\n container: animationContainer.current,\n renderer: \"svg\",\n loop: true,\n autoplay: true,\n animationData: data,\n });\n } catch (error) {\n console.error(\"Error fetching Lottie animation:\", error);\n }\n };\n\n loadAnimation();\n\n return () => {\n if (anim) {\n anim.destroy();\n }\n };\n }, [url]);\n\n return
;\n};\n\n// Usage example\n// ;\n","import { useMemo } from \"react\";\n\nexport const usePosition = (position: string, S: { [key: string]: string }) => {\n const positionClassName = useMemo(() => {\n switch (position) {\n case \"POSITION_GRAPHIC_LEFT\":\n return S.positionGraphicLeft;\n case \"POSITION_GRAPHIC_BOTTOM\":\n return S.positionGraphicBottom;\n }\n }, [position, S]);\n\n return {\n positionClassName,\n };\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"wrapper\":\"TextGraphics_wrapper__KilwV\",\"inner\":\"TextGraphics_inner__a4qWZ\",\"positionGraphicBottom\":\"TextGraphics_positionGraphicBottom__Coln1\",\"textWrapper\":\"TextGraphics_textWrapper__E5Mwo\",\"button\":\"TextGraphics_button__iIcrb\",\"positionGraphicLeft\":\"TextGraphics_positionGraphicLeft__T4ly9\",\"tagline\":\"TextGraphics_tagline__LJdt5\",\"text\":\"TextGraphics_text__+k7G9\",\"graphicsWrapper\":\"TextGraphics_graphicsWrapper__NQtuN\"};","import React from \"react\";\nimport { DA_Container } from \"@danishagro/shared/src/components/atoms/Container/Container.component\";\nimport {\n DA_Title,\n DA_TitleTag,\n} from \"@danishagro/shared/src/components/atoms/Title/Title.component\";\nimport { DA_Text } from \"@danishagro/shared/src/components/atoms/Text/Text.component\";\nimport { Buttons } from \"src/components/Buttons/Buttons.component\";\nimport { useBackgroundColor } from \"src/blocks/hooks/useBackgroundColor/useBackgroundColor.hook\";\nimport { cn } from \"@danishagro/shared/src/helpers/classNames.helper\";\nimport { usePadding } from \"src/blocks/hooks/usePadding/usePadding.hook\";\nimport { LottieAnimation } from \"src/components/LottieAnimation/LottieAnimation.component\";\nimport { CMS_SITE_ORIGIN } from \"@danishagro/shared/src/constants/urlRoot.constants\";\nimport { TextGraphicsProps } from \"./TextGraphics.interface\";\nimport { EuropeMap } from \"./components/EuropeMap/EuropeMap.component\";\nimport { usePosition } from \"./hooks/usePosition.hook\";\nimport S from \"./TextGraphics.module.scss\";\n\ninterface LottieProps {\n lottieURL?: string;\n umbracoFile?: string;\n lottieId?: string;\n}\n\nconst TextGraphics = (props: TextGraphicsProps) => {\n // Settings\n const { backgroundColorClass, alternativeButtonTheme, hasBackgroundColor } = useBackgroundColor(\n props.backgroundColor\n );\n const { positionClassName } = usePosition(props.position, S);\n const { paddingClass } = usePadding(props.isCompact, hasBackgroundColor);\n\n const getCmsCdnUrl = globalThis?.cmsCdnUrl;\n\n // Graphics content\n const getInnerHtml = () => {\n const graphicsContent = props?.graphics && props?.graphics[0];\n\n switch (graphicsContent?.alias) {\n case \"europe\":\n return ;\n case \"lottie\": {\n const lottieProps = graphicsContent?.props as LottieProps;\n\n let lottieUrl = \"\";\n\n if (lottieProps?.lottieURL) {\n lottieUrl = lottieProps?.lottieURL;\n } else if (lottieProps?.umbracoFile) {\n lottieUrl = getCmsCdnUrl\n ? `${lottieProps?.umbracoFile}`\n : `${CMS_SITE_ORIGIN}/getmediafile?url=${lottieProps?.umbracoFile}`;\n }\n\n return lottieUrl ? : null;\n }\n default:\n return null;\n }\n };\n\n return (\n
\n \n
\n {/** Content */}\n
\n {/** Tagline */}\n {props.tagline ? {props.tagline} : null}\n {/** Title */}\n {props.headline ? (\n \n {props.headline}\n \n ) : null}\n\n {/** Text */}\n {props.text ? (\n
\n \n
\n ) : null}\n\n {/** Buttons */}\n {props.buttons && props.buttons.length > 0 && (\n
\n \n
\n )}\n
\n\n {/* Graphics content */}\n
{getInnerHtml()}
\n
\n
\n
\n );\n};\n\nexport default TextGraphics;\n"],"names":["LottieAnimation","_ref","url","animationContainer","useRef","useEffect","anim","async","endsWith","response","fetch","data","json","lottie","container","current","renderer","loop","autoplay","animationData","error","console","loadAnimation","destroy","_jsx","ref","props","backgroundColorClass","alternativeButtonTheme","hasBackgroundColor","useBackgroundColor","backgroundColor","positionClassName","position","S","useMemo","positionGraphicLeft","positionGraphicBottom","usePosition","paddingClass","usePadding","isCompact","getCmsCdnUrl","globalThis","cmsCdnUrl","className","cn","wrapper","children","DA_Container","noVerticalPadding","_jsxs","inner","textWrapper","tagline","headline","DA_Title","h2","tag","DA_TitleTag","H2","noMargin","fullWidth","text","DA_Text","html","noPadding","buttons","length","button","Buttons","theme","graphicsWrapper","getInnerHtml","graphicsContent","graphics","alias","EuropeMap","regions","lottieProps","lottieUrl","lottieURL","umbracoFile","CMS_SITE_ORIGIN"],"sourceRoot":""}