{"version":3,"file":"static/js/24.b173a7668f941ae4d22c.chunk.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./src/models/notification-message-type.ts?e39e","webpack://msdyn365.commerce.online/./src/modules/content-block-no-headings/components/links.tsx?bf2f","webpack://msdyn365.commerce.online/./src/modules/content-block-no-headings/content-block-no-headings.props.autogenerated.ts?1e17","webpack://msdyn365.commerce.online/./src/modules/content-block-no-headings/content-block-no-headings.tsx?5b4f","webpack://msdyn365.commerce.online/./src/modules/content-block-no-headings/content-block-no-headings.view.tsx?d90f","webpack://msdyn365.commerce.online/./src/modules/notification/notification.tsx?d6a7","webpack://msdyn365.commerce.online/./src/modules/smwe-footer-category/smwe-footer-category.tsx?6bac","webpack://msdyn365.commerce.online/./src/modules/smwe-footer-category/smwe-footer-category.view.tsx?7803","webpack://msdyn365.commerce.online/./src/Utilities/heading/Heading.tsx?3183","webpack://msdyn365.commerce.online/./src/modules/smwe-footer-item/smwe-footer-item.tsx?7c5e","webpack://msdyn365.commerce.online/./src/modules/smwe-footer-item/smwe-footer-item.view.tsx?a558","webpack://msdyn365.commerce.online/./src/themes/colsolare/views/account-management-address.view.tsx?d358","webpack://msdyn365.commerce.online/./src/themes/colsolare/views/footer-item.view.tsx?872b","webpack://msdyn365.commerce.online/./src/themes/columbiacrest/views/account-management-address.view.tsx?c9c4","webpack://msdyn365.commerce.online/./src/themes/columbiacrest/views/footer-item.view.tsx?2e8d","webpack://msdyn365.commerce.online/./src/themes/conn-creek/views/account-management-address.view.tsx?5609","webpack://msdyn365.commerce.online/./src/themes/conn-creek/views/footer-item.view.tsx?3d64","webpack://msdyn365.commerce.online/./src/themes/enoteca/views/account-management-address.view.tsx?debe","webpack://msdyn365.commerce.online/./src/themes/enoteca/views/footer-item.view.tsx?8410","webpack://msdyn365.commerce.online/./src/themes/erath/views/account-management-address.view.tsx?ac40","webpack://msdyn365.commerce.online/./src/themes/erath/views/footer-item.view.tsx?eebb","webpack://msdyn365.commerce.online/./src/themes/fth/views/footer-item.view.tsx?562f","webpack://msdyn365.commerce.online/./src/themes/generazioni/views/account-management-address.view.tsx?fd79","webpack://msdyn365.commerce.online/./src/themes/generazioni/views/footer-item.view.tsx?8dd5","webpack://msdyn365.commerce.online/./src/themes/intrinsic-wine-co/views/account-management-address.view.tsx?2508","webpack://msdyn365.commerce.online/./src/themes/intrinsic-wine-co/views/footer-item.view.tsx?0c6f","webpack://msdyn365.commerce.online/./src/themes/north-star/views/account-management-address.view.tsx?c482","webpack://msdyn365.commerce.online/./src/themes/north-star/views/footer-item.view.tsx?b7ff","webpack://msdyn365.commerce.online/./src/themes/patzhall/views/account-management-address.view.tsx?2256","webpack://msdyn365.commerce.online/./src/themes/patzhall/views/footer-item.view.tsx?cf7d","webpack://msdyn365.commerce.online/./src/themes/spring-valley-vineyard/views/account-management-address.view.tsx?92b9","webpack://msdyn365.commerce.online/./src/themes/spring-valley-vineyard/views/footer-item.view.tsx?ac6f","webpack://msdyn365.commerce.online/./src/themes/stagsleap/views/account-management-address.view.tsx?fc6c","webpack://msdyn365.commerce.online/./src/themes/stagsleap/views/footer-item.view.tsx?fc6c","webpack://msdyn365.commerce.online/./src/themes/stemichelle/views/account-management-address.view.tsx?c624","webpack://msdyn365.commerce.online/./src/themes/stemichelle/views/footer-item.view.tsx?e332","webpack://msdyn365.commerce.online/./src/themes/wine-estates/views/footer-item.view.tsx?825a","webpack://msdyn365.commerce.online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://msdyn365.commerce.online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://msdyn365.commerce.online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://msdyn365.commerce.online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://msdyn365.commerce.online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://msdyn365.commerce.online/./src/modules/content-block/components/links.tsx?abbf","webpack://msdyn365.commerce.online/./src/modules/content-block/content-block.tsx?3084","webpack://msdyn365.commerce.online/./src/modules/content-block/content-block.view.tsx?1773","webpack://msdyn365.commerce.online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://msdyn365.commerce.online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://msdyn365.commerce.online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://msdyn365.commerce.online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://msdyn365.commerce.online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://msdyn365.commerce.online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://msdyn365.commerce.online/./src/modules/product-specification/product-specification.tsx?6583","webpack://msdyn365.commerce.online/./src/modules/product-specification/product-specification.view.tsx?7490"],"sourcesContent":["/**\r\n * enum to define all message types used in INotificationMessage\r\n */\r\nexport const enum NotificationType {\r\n info = 'info',\r\n success = 'success',\r\n warning = 'warning',\r\n error = 'error',\r\n validation = 'validation',\r\n none = 'none'\r\n}\r\n","/* eslint-disable no-duplicate-imports */\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { ILinksData } from '../content-block-no-headings.props.autogenerated';\r\n\r\nexport interface IContentCardLinks {\r\n links: ILinksData[];\r\n requestContext: Msdyn365.IRequestContext;\r\n telemetryContent: ITelemetryContent;\r\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\r\n}\r\n\r\n/**\r\n *\r\n * ContentCardLinks component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ContentCardLinks extends React.PureComponent {\r\n public render(): JSX.Element {\r\n const editableLinks = this._mapEditableLinks(this.props.links);\r\n return(\r\n
\r\n { editableLinks && editableLinks.length ?\r\n \r\n : null\r\n }\r\n
\r\n );\r\n }\r\n\r\n private _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\r\n if(!linkdata || linkdata.length === 0) {\r\n return null;\r\n }\r\n const editableLinks: Msdyn365.ILinksData[] = [];\r\n linkdata.forEach((link,index) => {\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\r\n const linkText = link.linkText ? link.linkText : '';\r\n payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\r\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: link.ariaLabel,\r\n className: btnClass,\r\n linkText: link.linkText,\r\n linkUrl: link.linkUrl.destinationUrl,\r\n openInNewTab: link.openInNewTab,\r\n additionalProperties: attributes,\r\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\r\n };\r\n editableLinks.push(editableLink);\r\n });\r\n\r\n return editableLinks;\r\n };\r\n}\r\nexport default ContentCardLinks;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IContentBlockNoHeadings contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum actionableRegion {\r\n imageAndLinks = 'imageAndLinks',\r\n linksOnly = 'linksOnly'\r\n}\r\n\r\nexport interface IContentBlockNoHeadingsConfig extends Msdyn365.IModuleConfig {\r\n heading?: IHeadingData;\r\n paragraph?: Msdyn365.RichText;\r\n image?: Msdyn365.IImageData;\r\n links?: ILinksData[];\r\n actionableRegion?: actionableRegion;\r\n imageLink?: Msdyn365.ILinkData;\r\n imageAriaLabel?: string;\r\n className?: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ILinksData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IContentBlockNoHeadingsProps extends Msdyn365.IModule {\r\n config: IContentBlockNoHeadingsConfig;\r\n}\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\n/* eslint-disable no-duplicate-imports */\r\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport LinksComponent from './components/links';\r\nimport { actionableRegion as region, IContentBlockNoHeadingsProps } from './content-block-no-headings.props.autogenerated';\r\n\r\nexport interface IContentBlockViewProps extends IContentBlockNoHeadingsProps<{}> {\r\n title?: React.ReactNode;\r\n text?: React.ReactNode;\r\n image?: React.ReactNode;\r\n links?: React.ReactNode;\r\n className?: string;\r\n contentBlockContainer: IModuleProps;\r\n imageContainer: INodeProps;\r\n detailsContainer: INodeProps;\r\n contentBlockAnchorTag?: INodeProps;\r\n imageLink?: string;\r\n imageAriaLabel?: string;\r\n}\r\n/**\r\n *\r\n * ContentCard component\r\n * @extends {React.PureComponent}\r\n */\r\n\r\nclass ContentBlock extends React.PureComponent> {\r\n private telemetryContent: ITelemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry);\r\n public render(): JSX.Element | null {\r\n const {\r\n heading,\r\n image,\r\n links,\r\n className,\r\n imageAriaLabel\r\n } = this.props.config;\r\n let { paragraph } = this.props.config;\r\n const contentBlockTitle = heading && (\r\n \r\n );\r\n const imageProps = {\r\n gridSettings: this.props.context.request.gridSettings || {},\r\n imageSettings: image && image.imageSettings,\r\n };\r\n const contentBlockLinks = links && links.length > 0 && (\r\n \r\n );\r\n //Change the paragraph source by replacing all the heading tags to p tags and adding custom styling for font size to them\r\n if (paragraph) {\r\n if (paragraph.indexOf(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh1 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh1 = modifyh1.replace(\"\", \"\").replace('class=\"', 'class=\"h1 ');\r\n if (!updatedh1.includes(\"class\")) {\r\n updatedh1 = updatedh1.replace(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh2 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh2 = modifyh2.replace(\"\", \"\").replace('class=\"', 'class=\"h2 ');\r\n if (!updatedh2.includes(\"class\")) {\r\n updatedh2 = updatedh2.replace(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh3 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh3 = modifyh3.replace(\"\", \"\").replace('class=\"', 'class=\"h3 ');\r\n if (!updatedh3.includes(\"class\")) {\r\n updatedh3 = updatedh3.replace(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh4 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh4 = modifyh4.replace(\"\", \"\").replace('class=\"', 'class=\"h4 ');\r\n if (!updatedh4.includes(\"class\")) {\r\n updatedh4 = updatedh4.replace(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh5 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh5 = modifyh5.replace(\"\", \"\").replace('class=\"', 'class=\"h5 ');\r\n if (!updatedh5.includes(\"class\")) {\r\n updatedh5 = updatedh5.replace(\"= 0 && paragraph.indexOf(\"\") >= 0) {\r\n const modifyh6 = paragraph.substring(paragraph.indexOf(\"\") + 5);\r\n let updatedh6 = modifyh6.replace(\"\", \"\").replace('class=\"', 'class=\"h6 ');\r\n if (!updatedh6.includes(\"class\")) {\r\n updatedh6 = updatedh6.replace(\"\r\n );\r\n const contentBlockImage = image && (\r\n \r\n );\r\n\r\n if (\r\n !contentBlockTitle &&\r\n !contentBlockText &&\r\n !contentBlockImage &&\r\n !contentBlockLinks\r\n ) {\r\n this.props.context.telemetry.error(\r\n 'Content block content is empty, module wont render.'\r\n );\r\n return null;\r\n }\r\n\r\n const contentBlockviewProps = {\r\n ...this.props,\r\n title: contentBlockTitle,\r\n text: contentBlockText,\r\n image: contentBlockImage,\r\n links: contentBlockLinks,\r\n moduleClass: this.props.config.className,\r\n contentBlockContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-content-block', className),\r\n },\r\n imageContainer: { className: 'ms-content-block__image' },\r\n detailsContainer: { className: 'ms-content-block__details' },\r\n contentBlockAnchorTag: {\r\n tag: 'a',\r\n className: 'ms-content-block__link',\r\n role: 'link',\r\n },\r\n imageLink: this._getImageLink(),\r\n imageAriaLabel\r\n };\r\n\r\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\r\n }\r\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.heading!.text = event.target.value;\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => this.props.config.paragraph = event.target.value;\r\n /* Handle link text change*/\r\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\r\n if (this.props.config.links && this.props.config.links[linkIndex]) {\r\n this.props.config.links[linkIndex].linkText = event.target.value;\r\n }\r\n };\r\n private _getImageLink(): string | null {\r\n const { imageLink, links, actionableRegion } = this.props.config;\r\n if (actionableRegion === region.imageAndLinks) {\r\n if (imageLink && imageLink.destinationUrl) {\r\n return imageLink.destinationUrl;\r\n } else if (links && links.length && links[0].linkUrl) {\r\n return links[0].linkUrl.destinationUrl;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport default ContentBlock;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IContentBlockViewProps } from './content-block-no-headings';\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 } = props;\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 \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 \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 { Alert } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { NotificationType } from '../../models/notification-message-type';\r\nimport { INotificationData } from './notification.data';\r\nimport { INotificationProps } from './notification.props.autogenerated';\r\n\r\n/**\r\n *\r\n * Notification component\r\n * @extends {React.Component>}\r\n */\r\nclass Notification extends React.Component> {\r\n public render(): JSX.Element | null {\r\n const moduleData = this.props.data;\r\n if (!(moduleData && moduleData.notification && moduleData.notification.result)) {\r\n return null;\r\n }\r\n const notificationMessageObject = moduleData.notification.result;\r\n if (notificationMessageObject.message && !notificationMessageObject.displayed) {\r\n return (\r\n
\r\n {this._renderErrorBlock(notificationMessageObject.message, notificationMessageObject.messagetype)}\r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: INotificationProps): boolean {\r\n return Boolean(nextProps.data.notification && nextProps.data.notification.status === 'SUCCESS');\r\n }\r\n\r\n private _markNotificationDisplayed = () => {\r\n this.props.data.notification!.result!.displayed = true;\r\n this.forceUpdate();\r\n };\r\n\r\n private _renderErrorBlock = (message: string, _errorType: NotificationType): JSX.Element | null => {\r\n const alertcolorclassName = this._getClassName(_errorType,'color');\r\n const messageTextClassName = this._getClassName(_errorType,'text');\r\n return (\r\n \r\n
{message}
\r\n
\r\n );\r\n };\r\n\r\n private _getClassName = (errorType: NotificationType ,classtype:string): string => {\r\n switch (errorType) {\r\n case NotificationType.error:\r\n return `message-error-${classtype}`;\r\n case NotificationType.info:\r\n return `message-info-${classtype}`;\r\n case NotificationType.success:\r\n return `message-success-${classtype}`;\r\n case NotificationType.validation:\r\n return `message-validation-${classtype}`;\r\n case NotificationType.warning:\r\n return `message-warning-${classtype}`;\r\n case NotificationType.none:\r\n return '';\r\n default:\r\n return '';\r\n }\r\n };\r\n}\r\n\r\nexport default Notification;\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\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ISmweFooterCategoryConfig, ISmweFooterCategoryProps } from './smwe-footer-category.props.autogenerated';\r\n\r\nexport interface IFooterCategoryViewProps extends ISmweFooterCategoryProps {\r\n categories: React.ReactNode[];\r\n FooterList: IModuleProps;\r\n FooterListItem: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * FooterCategory component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FooterCategory extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n if(!this.props.slots || !this.props.slots.content || !this.props.slots.content.length) {\r\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\r\n return null;\r\n }\r\n const viewprops = {\r\n ...this.props,\r\n categories: this.props.slots.content,\r\n FooterList: {\r\n moduleProps: this.props,\r\n className: classnames('ms-footer__list', this.props.config.className),\r\n tag:'ul'\r\n },\r\n FooterListItem: {\r\n className: classnames('ms-footer__list-item', this.props.config.className),\r\n tag: 'li'\r\n },\r\n };\r\n\r\n return this.props.renderView(viewprops) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default FooterCategory;\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\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { ReactNode } from 'react';\r\nimport { IFooterCategoryViewProps } from './smwe-footer-category';\r\n\r\nexport const FooterCategoryView: React.FC = props => {\r\n const {categories, FooterList, FooterListItem} = props;\r\n if(!categories || !categories.length) {\r\n props.context.telemetry.error('Footer content is empty, module wont render');\r\n return null;\r\n }\r\n return(\r\n \r\n { categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default FooterCategoryView;","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IHeadingProps } from './Heading.props';\r\n\r\n/**\r\n * Heading component.\r\n * @extends {React.PureComponent}\r\n */\r\n\r\nconst Heading = ({ headingTag: HTag = 'h1', tag: Tag, className, text, ariaLabel = text }: IHeadingProps) => (\r\n Tag ? \r\n {text}\r\n : \r\n {text}\r\n \r\n);\r\n\r\nexport default Heading;\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\n\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { IImageData, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IHeadingData, ILinkData, ISmweFooterItemConfig, ISmweFooterItemProps } from './smwe-footer-item.props.autogenerated';\r\nimport Heading from '../../Utilities/heading/Heading';\r\n\r\nexport interface IFooterViewProps extends ISmweFooterItemProps {\r\n heading: React.ReactNode;\r\n image: React.ReactNode;\r\n text: React.ReactNode;\r\n linkText: React.ReactNode;\r\n className?: string;\r\n FooterItem: IModuleProps;\r\n HeadingContainer: INodeProps;\r\n ItemContainer: INodeProps;\r\n Link: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * FooterItem component\r\n * @extends {React.PureComponent>}\r\n */\r\nexport class FooterItem extends React.PureComponent> {\r\n constructor(props: ISmweFooterItemProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { heading, image, link, text } = this.props.config;\r\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\r\n\r\n const viewProps: IFooterViewProps = {\r\n ... this.props,\r\n heading: this._createHeading(heading!),\r\n image: this._createImageMarkup(image!),\r\n text: this._createText(text!),\r\n linkText: this._createLinkText(link!),\r\n // @ts-ignore\r\n FooterItem: {\r\n moduleProps: this.props,\r\n className: footerItemClassName\r\n },\r\n // @ts-ignore\r\n HeadingContainer: {\r\n className: 'ms-footer__heading'\r\n },\r\n // @ts-ignore\r\n ItemContainer: {\r\n className: 'ms-footer__link__container'\r\n },\r\n // @ts-ignore\r\n Link: link && link.linkUrl && link.linkUrl.destinationUrl && {\r\n tag: 'a',\r\n className: 'ms-footer__link',\r\n href: link.linkUrl.destinationUrl,\r\n title: link.linkText,\r\n target: link.openInNewTab ? '_blank' : undefined\r\n },\r\n className: footerItemClassName\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _createLinkText(link: ILinkData): React.ReactNode | null {\r\n if (!link || !link.linkText) {\r\n return null;\r\n }\r\n\r\n return ({link.linkText});\r\n }\r\n\r\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\r\n if (!heading || !heading.text || !heading.text.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _createText(text: string): React.ReactNode | null {\r\n if (!text) {\r\n return null;\r\n }\r\n return
{text}
;\r\n }\r\n\r\n private _createImageMarkup(item: IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\r\n if (!item || !item.src || !item.src.length) {\r\n return null;\r\n }\r\n\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=24&h=24&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=24&h=24&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n return ;\r\n }\r\n}\r\n\r\nexport default FooterItem;\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 } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IFooterViewProps } from './smwe-footer-item';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return (\r\n \r\n {/* New footer module */}\r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const { heading, HeadingContainer, Link, linkText, image } = props;\r\n if (heading) {\r\n return (\r\n \r\n {heading}\r\n {linkText}\r\n {image}\r\n \r\n );\r\n } else if (Link) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n private pathName: string = '';\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return {this._renderElement(this.props)};\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const { heading, HeadingContainer, Link, linkText, image, text } = props;\r\n const { link } = this.props.config;\r\n if (Link) {\r\n this._formatLinkData(Link);\r\n }\r\n if (heading && text) {\r\n return (\r\n <>\r\n {heading}\r\n {text}\r\n \r\n {linkText}\r\n {image}\r\n \r\n \r\n \r\n );\r\n } else if (heading) {\r\n ( {heading});\r\n } else if (Link) {\r\n const linkChecker = this._getPathNameFromURL(link!.linkUrl.destinationUrl.toString());\r\n if (process.env.CURRENT_ENVIRONMENT === 'web') {\r\n this.pathName = window.location.pathname;\r\n } else {\r\n this.pathName = this.props.context.request.url.requestUrl.pathname;\r\n }\r\n if(linkChecker === this.pathName){\r\n return (\r\n \r\n {linkText}\r\n \r\n {image}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {linkText}\r\n \r\n {image}\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if (Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n private _getPathNameFromURL(linkURL: string): string {\r\n let pathName = '';\r\n try {\r\n // if linkURL is a full url\r\n pathName = new URL(linkURL).pathname;\r\n } catch {\r\n pathName = linkURL.split('?')[0];\r\n }\r\n return pathName;\r\n }\r\n\r\n}\r\n\r\nexport default FooterItemView;\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { Heading, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-add';\r\nimport { IAddressList, IAddressListItem, IAddressListProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-list';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address/dist/types/common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address';\r\nimport { IAccountManagementAddressConfig } from '@msdyn365-commerce-modules/address/dist/types/modules/account-management-address/account-management-address.props.autogenerated';\r\n\r\nconst AddressShow: React.FC = ({\r\n AddressDetail,\r\n items\r\n}) => {\r\n\r\n return (\r\n \r\n {items && items.map((item: IAddressShowItem) => {\r\n return (\r\n <>\r\n {item.description}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressList: React.FC = ({\r\n List,\r\n isShowList,\r\n heading,\r\n items\r\n}) => {\r\n\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n return (\r\n \r\n {isShowError && \r\n {title}\r\n {message}\r\n }\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items && items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n {label}\r\n {alert}\r\n {input}\r\n );\r\n })}\r\n {hasError && \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, addUpdateAddress, viewState, showAddressList, showAddOrUpdateAddress } = props;\r\n\r\n // update heading in props if not provided from module\r\n if (!showAddOrUpdateAddress.heading) {\r\n // create heading component from configured values\r\n const addAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).addAddressHeading;\r\n const editAddressHeading = (AccountAddressManagement.moduleProps.config as IAccountManagementAddressConfig).editAddressHeading;\r\n const headingText = addUpdateAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n const heading = headingText && ;\r\n\r\n showAddOrUpdateAddress.heading = heading;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*---------------------------------------------------------------------------------------------\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const { FooterItem } = this.props;\r\n return(\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n const {heading, HeadingContainer,Link, linkText, image} = props;\r\n const { link } = this.props.config;\r\n if(heading) {\r\n return ( {heading} );\r\n } else if(Link && this._formatLinkData(Link)) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n return(\r\n <>\r\n {linkText}\r\n {image}\r\n \r\n );\r\n }\r\n\r\n private _formatLinkData = (Link: INodeProps) => {\r\n if(Link.href === undefined) {\r\n return Link;\r\n }\r\n\r\n const path: string = (Link.href as Msdyn365.ILinkData).destinationUrl || (Link.href as string);\r\n const newUrl = new URL(path, this.props.context.request.url.requestUrl).href;\r\n Link.href = newUrl;\r\n return Link;\r\n };\r\n}\r\n\r\nexport default FooterItemView;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\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 React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\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 { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\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 { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\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 { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n"],"names":["NotificationType","ContentCardLinks","React","constructor","_mapEditableLinks","linkdata","length","editableLinks","forEach","link","index","payLoad","getPayloadObject","this","props","telemetryContent","linkText","contentAction","etext","attributes","getTelemetryAttributes","btnClass","editableLink","ariaLabel","className","linkUrl","destinationUrl","openInNewTab","additionalProperties","onClick","onTelemetryClick","push","render","links","Msdyn365","editProps","onTextChange","requestContext","actionableRegion","HeadingTag","ContentBlock","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","handleTextChange","event","config","heading","text","target","value","handleParagraphChange","paragraph","handleLinkTextChange","linkIndex","image","imageAriaLabel","contentBlockTitle","tag","onEdit","imageProps","gridSettings","imageSettings","contentBlockLinks","LinksComponent","Object","assign","indexOf","modifyh1","substring","updatedh1","replace","includes","modifyh2","updatedh2","modifyh3","updatedh3","modifyh4","updatedh4","modifyh5","updatedh5","modifyh6","updatedh6","contentBlockText","contentBlockImage","key","error","contentBlockviewProps","_objectSpread","title","moduleClass","contentBlockContainer","moduleProps","classnames","imageContainer","detailsContainer","contentBlockAnchorTag","role","imageLink","_getImageLink","renderView","region","imageAndLinks","Module","Node","href","Notification","_markNotificationDisplayed","data","notification","result","displayed","forceUpdate","_renderErrorBlock","message","_errorType","alertcolorclassName","_getClassName","messageTextClassName","Alert","color","errorType","classtype","info","success","validation","warning","none","moduleData","notificationMessageObject","onAnimationEnd","messagetype","shouldComponentUpdate","nextProps","Boolean","status","FooterCategory","slots","content","viewprops","categories","FooterList","FooterListItem","FooterCategoryView","map","category","_ref","headingTag","HTag","Tag","FooterItem","super","footerItemClassName","viewProps","_createHeading","_createImageMarkup","_createText","_createLinkText","HeadingContainer","ItemContainer","Link","undefined","Heading","item","ariaHiddenAttr","src","defaultImageSettings","viewports","xs","q","w","h","lg","lazyload","Image","loadFailureBehavior","FooterItemView","_renderElement","AddressShow","AddressDetail","items","description","AddressList","_ref2","List","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","editButton","Error","isShowError","AddressLists","_ref3","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","AddressAddUpdate","_ref4","AddressForm","hasError","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","label","alert","input","AddressError","AccountAddressManagement","addUpdateAddress","viewState","showAddressList","showAddOrUpdateAddress","addAddressHeading","editAddressHeading","headingText","RecordId","isShowAddresList","isShowAddOrUpdateAddress","_formatLinkData","path","newUrl","URL","url","requestUrl","pathName","linkChecker","_getPathNameFromURL","toString","window","location","pathname","linkURL","_unused","split","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","errorMessage","CheckInForPickup","checkInForOrderPickup","async","channelId","Number","parseInt","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","callerContext","actionContext","queryResultSettings","setState","headerErrorMessage","resources","genericErrorMessage","isCheckedIn","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","state","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","_heading$tag","_this$props$config$im","msdyn365__moduleLayout","contentBlockImageSettings","backgroundColor","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","id","layout","shouldSkipToMainImage","contentBlockContainerStyle","style","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","renderAdditionalContent","_additionalContent$ad","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","type","inputType","onChange","name","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","observer","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","origin","redirectUrl","searchParameters","searchParams","set","fieldName","StringExtensions","isNullOrWhitespace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","moduleClassName","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","orderNumberInput","submitButton","Button","disabled","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","handleHeadingChange","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","reaction","product","actionInput","AttributesForSelectedVariantInput","apiSettings","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","filter","row"],"sourceRoot":""}