{"version":3,"file":"static/js/cbc98cde4203e9eef794.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?ffdf","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?dff7","webpack://Msdyn365.Commerce.Online/./lib/footer-item/module-registration.js?3ce3","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/footer-item.view.tsx?15be","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable no-duplicate-imports */\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable no-duplicate-imports */\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['footer-item'] = {\n c: () => require('partner/modules/footer-item/footer-item.tsx'),\n $type: 'moduleDefinition',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'footer-item',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/footer-item'\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__|modules|footer-item|footer-item'] = {\n c: () => require('partner/modules/footer-item/footer-item.view.tsx'),\n cn: '__local__-__local__-footer-item'\n };\nviewDictionary['@msdyn365-commerce-modules|footer|modules|footer-item|footer-item'] = {\n c: () => require('@msdyn365-commerce-modules/footer/dist/lib/modules/footer-item/footer-item.view.js'),\n cn: '@msdyn365-commerce-modules-footer-footer-item'\n };\nviewDictionary['@msdyn365-commerce-theme|adventureworks-theme-kit|modules|adventureworks|views|footer-item'] = {\n c: () => require('@msdyn365-commerce-theme/adventureworks-theme-kit/dist/lib/modules/adventureworks/views/footer-item.view.js'),\n cn: '@msdyn365-commerce-theme-adventureworks-theme-kit-footer-item'\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return (\n \n {' '}\n \n );\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["FooterItem","React","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleTextChange","handleLinkTextChange","link","linkText","telemetryContent","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","payLoad","getPayloadObject","render","image","footerItemClassName","classnames","className","contentAction","etext","attributes","getTelemetryAttributes","viewProps","_objectSpread","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","moduleProps","HeadingContainer","ItemContainer","Link","linkUrl","destinationUrl","tag","role","href","title","ariaLabel","openInNewTab","undefined","onClick","onTelemetryClick","renderView","editableLink","additionalProperties","Msdyn365","editProps","onTextChange","requestContext","length","onEdit","item","ariaHiddenAttr","src","Object","assign","gridSettings","imageSettings","viewports","xs","q","w","h","lg","lazyload","loadFailureBehavior","key","shouldSkipToMainImage","FooterItemView","Module","_renderElement","Node","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}