{"version":3,"file":"static/js/f13c81b3f0b16c9b4027.bundle.js","mappings":"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","sources":["webpack://bestseller.commerce.online/./src/shared/hooks/useIsMobile.tsx?52a3","webpack://bestseller.commerce.online/./src/themes/only/views/content-block.view.tsx?744f","webpack://bestseller.commerce.online/./lib/content-block/module-registration.js?4cb2","webpack://bestseller.commerce.online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://bestseller.commerce.online/./src/modules/content-block/components/links.tsx?abbf","webpack://bestseller.commerce.online/./src/modules/content-block/content-block.tsx?3084","webpack://bestseller.commerce.online/./src/modules/content-block/content-block.view.tsx?1773","webpack://bestseller.commerce.online/./src/modules/adventureworks/views/content-block.view.tsx?0db4","webpack://bestseller.commerce.online/external var \"React\"?0d3b","webpack://bestseller.commerce.online/external var \"ReactDOM\"?853b"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport MsDyn365, { ICoreContext } from '@msdyn365-commerce/core';\r\n\r\nexport const useIsMobile = (context: ICoreContext) => {\r\n type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n const [isMobile, setIsMobile] = useState(\r\n (context && context.request && context.request.device && context.request.device.Type === 'Mobile') || false\r\n );\r\n\r\n const updateIsMobile = () => {\r\n const viewport = getViewport();\r\n setIsMobile(viewport === 'xs' || viewport === 'sm');\r\n };\r\n\r\n const getViewport = (): GridSize => {\r\n // Always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n\r\n if (MsDyn365.isBrowser && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n\r\n return 'xs';\r\n };\r\n\r\n useEffect(() => {\r\n if (!!window && typeof window !== 'undefined' && window.addEventListener) {\r\n updateIsMobile();\r\n window.addEventListener('resize', updateIsMobile);\r\n }\r\n }, []);\r\n\r\n return isMobile;\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps,\r\n IContentBlockViewProps,\r\n IContentBlockFullConfig\r\n} from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { useIsMobile } from '../../../shared/hooks/useIsMobile';\r\nimport { IContentBlockProps } from '../definition-extensions/content-block.ext.props.autogenerated';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\r\n return (\r\n <>\r\n {item.heading}\r\n \r\n {item.text}\r\n {item.links}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render View.\r\n * @param props - The view props.\r\n * @returns -The JSX Element.\r\n */\r\nconst contentBlockView: React.FC> = props => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel,\r\n additionalContent,\r\n config,\r\n context\r\n } = props;\r\n\r\n\r\n // @ts-expect-error HTML element need to be clear on run time.\r\n const hasImage: boolean = image.props.src;\r\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\r\n\r\n const mobileImageProps = {\r\n gridSettings: context.request.gridSettings ?? {},\r\n imageSettings: config.mobileImage?.imageSettings\r\n };\r\n\r\n const mobileImage = (\r\n \r\n );\r\n\r\n const isMobile = useIsMobile(context);\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n {isMobile && config.mobileImage ? (\r\n {mobileImage}\r\n ) : (\r\n {image}\r\n )}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {isMobile && config.mobileImage ? {mobileImage} : {image}}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default contentBlockView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['content-block'] = {\n c: () => require('@msdyn365-commerce-modules/content-block/dist/lib/modules/content-block/content-block'),\n $type: 'contentModule',\n da: [],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'content-block',\n p: 'content-block',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/content-block/dist/lib/modules/content-block'\n });\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|themes|only|views|content-block'] = {\n c: () => require('partner/themes/only/views/content-block.view.tsx'),\n cn: '__local__-__local__-content-block'\n };\nviewDictionary['@msdyn365-commerce-modules|content-block|modules|content-block|content-block'] = {\n c: () => require('@msdyn365-commerce-modules/content-block/dist/lib/modules/content-block/content-block.view.js'),\n cn: '@msdyn365-commerce-modules-content-block-content-block'\n };\nviewDictionary['@msdyn365-commerce-theme|adventureworks-theme-kit|modules|adventureworks|views|content-block'] = {\n c: () => require('@msdyn365-commerce-theme/adventureworks-theme-kit/dist/lib/modules/adventureworks/views/content-block.view.js'),\n cn: '@msdyn365-commerce-theme-adventureworks-theme-kit-content-block'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className),\n style: contentBlockContainerStyle\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IContentBlockAdditionalContentItemViewProps,\n IContentBlockAdditionalContentViewProps,\n IContentBlockViewProps\n} from '@msdyn365-commerce-modules/content-block';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\n/**\n * Render View.\n * @param props - The view props.\n * @returns -The JSX Element.\n */\nconst contentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n // @ts-expect-error HTML element need to be clear on run time.\n const hasImage: boolean = image.props.src;\n const imageClass: string = hasImage ? `${detailsContainer.className} withImage` : `${detailsContainer.className} withoutImage`;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default contentBlockView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["renderAdditionalContent","additionalContent","_additionalContent$ad","React","Node","Object","assign","additionalContentNode","additionalContentItems","map","item","heading","additionalContentItemContainer","text","additionalContentItemLinks","links","props","_context$request$grid","_config$mobileImage","_config$mobileImage2","contentBlockContainer","imageContainer","detailsContainer","title","image","contentBlockAnchorTag","imageLink","imageAriaLabel","config","context","imageClass","src","className","mobileImageProps","gridSettings","request","imageSettings","mobileImage","Msdyn365","requestContext","preserveImageSpace","editProps","key","moduleType","typeName","imagePropertyName","moduleId","id","layout","msdyn365__moduleLayout","shouldSkipToMainImage","isMobile","setIsMobile","useState","device","Type","updateIsMobile","viewport","getViewport","MsDyn365","isBrowser","window","innerWidth","xs","w","sm","md","lg","useEffect","addEventListener","useIsMobile","Module","href","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","__bindings__","_objectSpread","viewDictionary","cn","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","tag","onEdit","event","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","index","renderLinks","linkIndex","editableLink","ariaLabel","linkText","linkUrl","destinationUrl","openInNewTab","role","link","onTextChange","handleAdditionalLinkTextChange","contentBlockAdditionalContent","reactNodes","push","ContentCardLinks","constructor","_mapEditableLinks","linkdata","length","editableLinks","forEach","payLoad","getPayloadObject","this","telemetryContent","contentAction","etext","attributes","getTelemetryAttributes","btnClass","additionalProperties","onClick","onTelemetryClick","render","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleTextChange","target","value","handleParagraphChange","paragraph","handleLinkTextChange","Number","_heading$tag","_this$props$context$r","_this$props$config$im","contentBlockTitle","contentBlockLinks","ArrayExtensions","hasElements","LinksComponent","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","contentBlockContainerStyle","undefined","error","contentBlockviewProps","moduleClass","moduleProps","classnames","style","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","renderView","additionalContentObject","actionableRegion","module","exports","ReactDOM"],"sourceRoot":""}