{"version":3,"file":"static/js/b21427f2ef86ac4a7b8b.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/./src/themes/b2b/views/content-block.view.tsx?5a73","webpack://@msdyn365-commerce-partners/fabrikam/./src/themes/britax-romers/views/content-block.view.tsx?bfad","webpack://@msdyn365-commerce-partners/fabrikam/./lib/content-block/module-registration.js?4cb2","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/content-block/components/links.tsx?abbf","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/content-block/content-block.tsx?3084","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/content-block/content-block.view.tsx?1773","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/adventureworks/views/content-block.view.tsx?0db4","webpack://@msdyn365-commerce-partners/fabrikam/external var \"React\"?0d3b","webpack://@msdyn365-commerce-partners/fabrikam/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IContentBlockViewProps } from \"@msdyn365-commerce-modules/content-block\";\r\nimport { Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as Msdyn365 from \"@msdyn365-commerce/core\";\r\nimport * as React from \"react\";\r\nimport { IContentBlockProps } from \"../definition-extensions/content-block.ext.props.autogenerated\";\r\n\r\nconst ContentBlockView: React.FC<\r\n IContentBlockViewProps & IContentBlockProps<{}>\r\n> = (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 } = props;\r\n\r\n const { additionalParagraph } = props.config;\r\n\r\n const contentBlockAdditionalText = additionalParagraph && (\r\n \r\n \r\n \r\n );\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {contentBlockAdditionalText}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {image}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n {contentBlockAdditionalText}\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default ContentBlockView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node, Modal } from \"@msdyn365-commerce-modules/utilities\";\r\nimport { IContentBlockViewProps } from \"@msdyn365-commerce-modules/content-block/src/modules/content-block/./content-block\";\r\nimport { ICoreContext, Image } from \"@msdyn365-commerce/core\";\r\nimport { IContentBlockProps } from \"../definition-extensions/content-block.ext.props.autogenerated\";\r\nimport {\r\n IContentBlockAdditionalContentItemViewProps,\r\n IContentBlockAdditionalContentViewProps,\r\n} from \"@msdyn365-commerce-modules/content-block/src/modules/content-block/components/additional-content\";\r\nimport React, { useEffect, useState } from \"react\";\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 = (\r\n additionalContent: IContentBlockAdditionalContentViewProps\r\n) => {\r\n return (\r\n \r\n {additionalContent.additionalContentItems?.map(\r\n (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\nconst ContentBlockView: React.FC = (props: any) => {\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 context,\r\n config: { subHeading },\r\n friendlyName,\r\n data,\r\n additionalContent,\r\n } = props;\r\n const [isMobile, SetIsMobile] = useState(false);\r\n let CategoryHeader;\r\n if (friendlyName === \"plp-content-block\") {\r\n const str = data?.categoryHierarchy?.result[1]?.Name;\r\n const str2 = data?.categoryHierarchy?.result[0]?.Name;\r\n CategoryHeader = str ? str?.toUpperCase() : str2;\r\n }\r\n useEffect(() => {\r\n const _isMobile = isMobileView(context);\r\n SetIsMobile(_isMobile);\r\n });\r\n const [modalState, setModalState] = useState(false);\r\n if (typeof localStorage !== \"undefined\") {\r\n useEffect(() => {\r\n if (localStorage.getItem(\"sign_up_error\") == \"true\") {\r\n setModalState(true);\r\n } else {\r\n setModalState(false);\r\n }\r\n }, [localStorage.getItem(\"sign_up_error\")]);\r\n }\r\n //Content comes with extra

&

tags added. we need to remove them\r\n const Content: string =\r\n props &&\r\n props.config &&\r\n props.config.paragraph &&\r\n JSON.stringify(props.config.paragraph).replace(/(<([^>]+)>)/gi, \"\"); // VSI CUSTOMIZATION - Removed hardcoded text with config\r\n const signOut = () => {\r\n setModalState(false);\r\n localStorage.removeItem(\"sign_up_error\");\r\n let baseUrl = ``;\r\n if (context.request.locale === \"en-GB\") {\r\n baseUrl = `${context.request.url.requestUrl.origin}`;\r\n } else {\r\n baseUrl = `${context.request.url.requestUrl.origin}/${context.request.locale}`;\r\n }\r\n window.location.href =\r\n props.context.request.url.requestUrl.origin +\r\n `/guest-home/_msdyn365/signout?ru=${baseUrl}`;\r\n };\r\n const mobileImage = _renderImageForMobile(props);\r\n if (\r\n !context.request.user.isAuthenticated &&\r\n (friendlyName === \"Hero Banner\" || friendlyName === \"our-partners-home\")\r\n ) {\r\n //Since Business Sign up page also has hero Banner we don't want to display our text there.\r\n if (props.context.telemetryPageName === \"Business partner signup\") {\r\n console.log(\"_\"); //test console log to remain for confirmation.\r\n //we don't want to display the modal in this case.\r\n return <>;\r\n } else {\r\n //we can display on other pages.\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n

{props.config.subHeading}

\r\n {Content}\r\n \r\n \r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n \r\n

{subHeading}

\r\n

\r\n {friendlyName === \"plp-content-block\" ? CategoryHeader : title}\r\n

\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n

{subHeading}

\r\n

\r\n {friendlyName === \"plp-content-block\" ? CategoryHeader : title}\r\n

\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n } else if (\r\n context.request.user.isAuthenticated &&\r\n friendlyName !== \"Hero Banner\" &&\r\n friendlyName !== \"our-partners-home\"\r\n ) {\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n \r\n

{subHeading}

\r\n {friendlyName === \"plp-content-block\" ? CategoryHeader : title}\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n } else {\r\n if (props.friendlyName === \"Profile Left Banner\") {\r\n let linksNew;\r\n if (context.request.locale === \"en-GB\") {\r\n linksNew = links.props.links.filter(\r\n (item: any) => item.linkText !== \"Account Credits\"\r\n );\r\n } else if (context.request.locale === \"de\") {\r\n linksNew = links.props.links.filter(\r\n (item: any) => item.linkText !== \"Kontokreditübersicht\"\r\n );\r\n } else if (context.request.locale === \"fr\") {\r\n linksNew = links.props.links.filter(\r\n (item: any) => item.linkText !== \"Limite de crédits\"\r\n );\r\n } else if (context.request.locale === \"pl\") {\r\n linksNew = links.props.links.filter(\r\n (item: any) => item.linkText !== \"Kredyty na koncie\"\r\n );\r\n }\r\n\r\n const updated: any = {\r\n ...links,\r\n props: {\r\n links: linksNew,\r\n },\r\n };\r\n const hasSameInvoiceAccount =\r\n props?.data?.customerInformation?.result?.ExtensionProperties[4].Value\r\n .StringValue ===\r\n props?.data?.customerInformation?.result?.ExtensionProperties[5].Value\r\n .StringValue;\r\n\r\n if (hasSameInvoiceAccount) {\r\n return (\r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n

{subHeading}

\r\n

\r\n {friendlyName === \"plp-content-block\"\r\n ? CategoryHeader\r\n : title}\r\n

\r\n {text}\r\n {links}\r\n {additionalContent &&\r\n renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n

{subHeading}

\r\n

\r\n {friendlyName === \"plp-content-block\"\r\n ? CategoryHeader\r\n : title}\r\n

\r\n {text}\r\n {updated}\r\n {additionalContent &&\r\n renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n }\r\n } else {\r\n return (\r\n \r\n {/* VSI Cutomization - START - 28/4/21 */}\r\n \r\n {isMobile === true && mobileImage ? mobileImage : image}\r\n \r\n {/* VSI Cutomization - END */}\r\n \r\n

{subHeading}

\r\n

\r\n {friendlyName === \"plp-content-block\" ? CategoryHeader : title}\r\n

\r\n {text}\r\n {links}\r\n {additionalContent && renderAdditionalContent(additionalContent)}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n } else {\r\n return null;\r\n }\r\n};\r\n/* VSI Cutomization - START - 11/11/20 */\r\n/* Following function renders if mobile view has different image than that of desktop image.\r\nThis function is specifically written for sale banner on homepage but can be used anywhere user want to add separate image for mobile. */\r\nconst _renderImageForMobile = (\r\n props: IContentBlockViewProps & IContentBlockProps<{}>\r\n): JSX.Element | undefined => {\r\n const {\r\n config: { imageForMobile },\r\n context: { request },\r\n } = props;\r\n if (imageForMobile === undefined) {\r\n return undefined;\r\n }\r\n return (\r\n \r\n );\r\n};\r\n/* Following function checks device type and handles state accordingly if view changes, state will be updated and view will be shown according to device. */\r\nconst isMobileView = (context: ICoreContext): boolean => {\r\n if (typeof window !== undefined && 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 true;\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return false;\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return false;\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n return false;\r\n};\r\n/* VSI Cutomization - END */\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|b2b|views|content-block'] = {\n c: () => require('partner/themes/b2b/views/content-block.view.tsx'),\n cn: '__local__-__local__-content-block'\n };\nviewDictionary['__local__|__local__|themes|britax-romers|views|content-block'] = {\n c: () => require('partner/themes/britax-romers/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":["props","contentBlockContainer","imageContainer","detailsContainer","title","text","links","image","contentBlockAnchorTag","imageLink","imageAriaLabel","additionalParagraph","config","contentBlockAdditionalText","React","Node","className","Msdyn365","Module","Object","assign","href","renderAdditionalContent","additionalContent","_additionalContent$ad","additionalContentNode","additionalContentItems","map","item","heading","additionalContentItemContainer","additionalContentItemLinks","_renderImageForMobile","imageForMobile","context","request","undefined","Image","gridSettings","imageSettings","loadFailureBehavior","role","id","isMobileView","window","innerWidth","xs","w","sm","md","lg","subHeading","friendlyName","data","isMobile","SetIsMobile","useState","CategoryHeader","_data$categoryHierarc","_data$categoryHierarc2","str","categoryHierarchy","result","Name","str2","toUpperCase","useEffect","_isMobile","modalState","setModalState","localStorage","getItem","Content","paragraph","JSON","stringify","replace","signOut","removeItem","baseUrl","locale","url","requestUrl","origin","location","mobileImage","user","isAuthenticated","_props$data","_props$data2","linksNew","filter","linkText","updated","_objectSpread","customerInformation","ExtensionProperties","Value","StringValue","telemetryPageName","console","log","Modal","isOpen","color","fade","onClick","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","__bindings__","viewDictionary","cn","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","requestContext","tag","editProps","onEdit","event","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","index","renderLinks","linkIndex","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","key","link","onTextChange","handleAdditionalLinkTextChange","contentBlockAdditionalContent","reactNodes","push","ContentCardLinks","constructor","_mapEditableLinks","linkdata","length","editableLinks","forEach","payLoad","getPayloadObject","this","telemetryContent","contentAction","etext","attributes","getTelemetryAttributes","btnClass","additionalProperties","onTelemetryClick","render","ContentBlock","getTelemetryObject","telemetry","handleTextChange","target","value","handleParagraphChange","handleLinkTextChange","Number","_heading$tag","_this$props$context$r","_this$props$config$im","contentBlockTitle","contentBlockLinks","ArrayExtensions","hasElements","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockContainerStyle","error","contentBlockviewProps","moduleClass","moduleProps","classnames","style","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","renderView","additionalContentObject","actionableRegion","imageClass","src","module","exports","ReactDOM"],"sourceRoot":""}