{"version":3,"file":"static/js/31.5f535ea0f804eb2f2427.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/checkout.view.tsx?a006","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/header.view.tsx?5f10","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/product-specification.view.tsx?79c9","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/site-picker.view.tsx?3875","webpack://Msdyn365.Commerce.Online/./src/modules/account-welcome-tile/account-welcome-tile.tsx?2115","webpack://Msdyn365.Commerce.Online/./src/modules/account-welcome-tile/account-welcome-tile.view.tsx?e5e3","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/components/b2b-requests-table.tsx?06fc","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.tsx?c1aa","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-status/b2b-requests-status.view.tsx?6b7c","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-tile/components/account-b2b-requests-tile-links.tsx?d6f5","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-tile/b2b-requests-tile.tsx?9498","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-requests-tile/b2b-requests-tile.view.tsx?3f4e","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/link.tsx?d232","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/components/separator.tsx?92bb","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.tsx?efcc","webpack://Msdyn365.Commerce.Online/./src/modules/breadcrumb/breadcrumb.view.tsx?4b3d","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/buybox.view.tsx?aec4","webpack://Msdyn365.Commerce.Online/./src/modules/back-top-footer/back-top-footer.tsx?f47e","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.tsx?5602","webpack://Msdyn365.Commerce.Online/./src/modules/image-list/image-list.view.tsx?2bed","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/components/links.tsx?7423","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.tsx?792c","webpack://Msdyn365.Commerce.Online/./src/modules/interactive-feature-item/interactive-feature-item.view.tsx?bdcc","webpack://Msdyn365.Commerce.Online/./src/modules/map/map.tsx?6111","webpack://Msdyn365.Commerce.Online/./src/modules/map/map.view.tsx?5db9","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.tsx?9fea","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.view.tsx?19c8","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-template-list.view.tsx?46b6"],"sourcesContent":["/*--------------------------------------------------------------\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./checkout';\r\nimport { IEmailDelivery } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components';\r\nimport { IInvoicePaymentSummary } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components/get-invoice-payment-summary';\r\nimport { ICheckoutProps, ICheckoutResources } from '../definition-extensions/checkout.ext.props.autogenerated';\r\nimport { Collapse, CardBody, Card, CardHeader } from 'reactstrap';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nconst NUMBER_OF_ITEMS = 'ITEM_NUMBERS';\r\n\r\ninterface IOrderSummaryExtended {\r\n lineItems?: ILineItems;\r\n resources: ICheckoutResources;\r\n props: ICheckoutViewProps & ICheckoutProps<{}>;\r\n}\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n {editLink}\r\n \r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines, lineItems, resources, props }) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n // NOTE: Need to check for other shipment products (ship, email, pickup)\r\n const itemsCount = props.data.checkout.result?.checkoutCart.cart.CartLines?.length;\r\n return (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.otherCharge}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n \r\n setIsOpen(prevSt => !prevSt)}\r\n onKeyPress={() => setIsOpen(prevSt => !prevSt)}\r\n >\r\n {resources.itemsInCurrentOrderLabel}\r\n {itemsCount}\r\n \r\n \r\n \r\n {lineItems && }\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.invoices}\r\n {lines.giftCard}\r\n {lines.loyalty}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\nconst getShowButtonFrmCart = async (\r\n context: ICoreContext<{\r\n [x: string]: any;\r\n }>\r\n): Promise => {\r\n const cartState = await getCartState(context.actionContext);\r\n return cartState?.cart.CartLines && cartState?.cart?.TotalAmount === 0;\r\n};\r\nconst CheckoutView: React.FC> = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\r\n hasInvoiceLine,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n termsAndConditionsProps,\r\n orderConfirmation,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n invoicePaymentSummary,\r\n lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n context\r\n } = props;\r\n React.useEffect(() => {\r\n const storageName = `${props.context.request.user.customerAccountNumber}-${NUMBER_OF_ITEMS}`;\r\n localStorage?.setItem(storageName, JSON.stringify(lineItems?.itemsForShip?.lineItems?.length));\r\n }, [lineItems?.itemsForShip?.lineItems?.length]);\r\n\r\n const [showButtonFrmCart, setShowButtonFrmCart] = React.useState(false);\r\n getShowButtonFrmCart(context).then(res => setShowButtonFrmCart(res!));\r\n\r\n const getPlaceOrderButton = () => {\r\n return props.config.showPlaceOrderButton ? (\r\n {placeOrderButton}\r\n ) : (\r\n showButtonFrmCart && {placeOrderButton}\r\n );\r\n };\r\n return (\r\n \r\n {!hasSalesOrder && {title}}\r\n {!hasSalesOrder && (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n {termsAndConditions}\r\n {getPlaceOrderButton()}\r\n \r\n \r\n {!hasInvoiceLine\r\n ? orderSummary && (\r\n \r\n )\r\n : invoicePaymentSummary && }\r\n \r\n {termsAndConditions}\r\n \r\n \r\n {termsAndConditions}\r\n {/* {getPlaceOrderButton()} */}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {hasSalesOrder && orderConfirmation}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\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 classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header';\r\nimport Modal from 'reactstrap/lib/Modal';\r\nimport ModalBody from 'reactstrap/lib/ModalBody';\r\nimport ModalFooter from 'reactstrap/lib/ModalFooter';\r\nimport { Drawer, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { AsyncResult } from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\n\r\nconst headerView: React.FC> = props => {\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer, Divider, config } = props;\r\n const { siteSubtext, siteInfotext } = config;\r\n const {\r\n searchHeader,\r\n closeLabel,\r\n lookForLabel,\r\n switchProfileHeader,\r\n profilesAvailableHeader,\r\n switchProfileNote,\r\n siteName,\r\n switchProfileButtonLabel,\r\n searchButtonLabel\r\n } = props.resources;\r\n const [modal, setModal] = React.useState(false);\r\n const [modalSite, setModalSite] = React.useState(false);\r\n const toggle = () => setModal(!modal);\r\n const toggleSite = () => setModalSite(!modalSite);\r\n return (\r\n <>\r\n \r\n
\r\n

\r\n {searchHeader}\r\n

\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {switchProfileHeader}\r\n

\r\n \r\n
\r\n\r\n \r\n
\r\n

{profilesAvailableHeader}

\r\n {props.siteOptions}\r\n
\r\n
\r\n \r\n

{switchProfileNote}

\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n \r\n
{_renderAccountBlock(props, false)}
\r\n \r\n \r\n
\r\n {props.logo}\r\n
\r\n {siteName}\r\n
\r\n \r\n {siteSubtext}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {siteSubtext}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {props.navIcon}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {/* {_renderReactFragment(props.search)}\r\n {props.preferredStore} */}\r\n\r\n {/* {props.wishListIconDesktop} */}\r\n \r\n {props.cartIcon}\r\n
\r\n
\r\n {_renderCollapseMenu(props)}\r\n {_renderReactFragment(props.menuBar)}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nfunction _renderCollapseMenu(props: IHeaderViewProps & IHeaderProps<{}>): JSX.Element | null {\r\n const {\r\n Divider,\r\n MobileMenuLinksContainer,\r\n mobileMenuCollapsed,\r\n resources: { navMenuHeader }\r\n } = props;\r\n return (\r\n \r\n
\r\n \r\n {props.navIcon}\r\n
\r\n \r\n \r\n {_renderMobileAccountBlock(props, true)}\r\n {/* {props.wishListIconMobile} */}\r\n \r\n \r\n {_renderReactFragment(props.menuBar)}\r\n \r\n \r\n );\r\n}\r\n\r\nconst renderCustomerName = (accountInformation: AsyncResult): React.ReactChild => {\r\n const customer = accountInformation && accountInformation.result;\r\n return <>{customer ? customer.FirstName || customer.Name : ''};\r\n};\r\n\r\nfunction _renderMobileAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\r\n const { AccountInfoDropdownParentContainer, signOutLink, signInLink, data, accountLinks } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(\r\n 'ms-header__drawer',\r\n AccountInfoDropdownParentContainer.className,\r\n renderForMobile ? 'account-mobile' : 'account-desktop'\r\n );\r\n\r\n if (accountLinks) {\r\n return (\r\n \r\n
\r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n
\r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nfunction _renderAccountBlock(props: IHeaderViewProps & IHeaderProps<{}>, renderForMobile: boolean): JSX.Element | null {\r\n const { AccountInfoDropdownParentContainer, AccountInfoDropdownPopoverConentContainer, signOutLink, signInLink, accountLinks } = props;\r\n const customer = props.data.accountInformation.result;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(\r\n AccountInfoDropdownParentContainer.className,\r\n renderForMobile ? 'account-mobile' : 'account-desktop'\r\n );\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {/* VSI-Customization -- START Display username with Hello */}\r\n {_getAccountInfoDropdownButton(customer, props)}\r\n {/* VSI-Customization -- END */}\r\n \r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\n// Display user name with Hello as per Design document.\r\nfunction _getAccountInfoDropdownButton(\r\n customer: Customer | undefined,\r\n props: IHeaderViewProps & IHeaderProps<{}>\r\n): React.ReactNode | undefined {\r\n const telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.friendlyName, props.telemetry);\r\n const { helloLabel } = props.resources;\r\n const payLoad = getPayloadObject('click', telemetryContent, TelemetryConstant.MyProfile);\r\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\r\n const displayName = `${helloLabel} ${customer ? customer.FirstName || customer.Name : undefined}`;\r\n return (\r\n customer &&\r\n displayName && (\r\n \r\n {displayName}\r\n \r\n )\r\n );\r\n}\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*--------------------------------------------------------------\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 { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IProductSpecificationViewProps } from '@msdyn365-commerce-modules/product-specification/src/modules/product-specification/./product-specification';\r\nimport { IProductSpecificationProps } from '../definition-extensions/product-specification.ext.props.autogenerated';\r\n\r\nconst ProductSpecificationView: React.FC> = props => {\r\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\r\n\r\n const rowdata =\r\n productSpecificationResult &&\r\n ArrayExtensions.hasElements(productSpecificationResult) &&\r\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\r\n\r\n const { productAttributesToHide } = props.config;\r\n if (rowdata && productAttributesToHide && productAttributesToHide.length > 0 && rowdata.length > 0) {\r\n for (let index = 0; index < productAttributesToHide.length; index++) {\r\n // const rowIndex = rowdata.findIndex(\r\n // row => row?.props.productName.toLowerCase() === productAttributesToHide[index].toLowerCase().trim()\r\n // );\r\n // Fix for product description broken on 10.0.36 - Fixed by Prasanna Ruwangana\r\n const rowIndex = rowdata.findIndex(row => {\r\n if (row && row.props && row.props.children[0] && row.props.children[0].props && row.props.children[0].props.productName) {\r\n return row.props.children[0].props.productName.toLowerCase() === productAttributesToHide[index].toLowerCase().trim();\r\n }\r\n return false; // Handle case where row, row.props, or row.props.productName is undefined\r\n });\r\n if (rowIndex >= 0) {\r\n rowdata.splice(rowIndex, 1);\r\n }\r\n }\r\n return _renderRowData();\r\n } else {\r\n return _renderRowData();\r\n }\r\n\r\n function _renderRowData(): React.ReactElement> | null {\r\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\r\n \r\n {props.title}\r\n \r\n {rowdata}\r\n \r\n \r\n ) : null;\r\n }\r\n};\r\n\r\nexport default ProductSpecificationView;\r\n","/*--------------------------------------------------------------\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISitePickerViewProps } from '@msdyn365-commerce-modules/site-picker/src/modules/site-picker/./site-picker';\r\n\r\nexport default (props: ISitePickerViewProps) => {\r\n return <>{_renderSitePicker(props)};\r\n};\r\n\r\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\r\n const { SitePickerMobileContainer } = props;\r\n return (\r\n \r\n
\r\n {props.SitePickerMenuListItemArray?.map((item, index) => {\r\n return
{item}
;\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\r\n const { SitePicker } = props;\r\n return (\r\n \r\n {_renderMobileView(props)}\r\n \r\n );\r\n};\r\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 { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileData } from './account-welcome-tile.data';\nimport { IAccountWelcomeTileProps } from './account-welcome-tile.props.autogenerated';\n\nexport interface IAccountWelcomeTileViewProps extends IAccountWelcomeTileProps {\n AccountWelcomeTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AccountWelcome component.\n * @extends {React.PureComponent>}\n */\nclass AccountWelcomeTile extends React.PureComponent> {\n public render(): JSX.Element {\n const { config, data } = this.props;\n const { className } = config;\n\n const accountInfo = data.accountInformation.result;\n const heading = {\n ...config.heading,\n ...{\n text: `${config.heading.text ? config.heading.text : ''} ${\n accountInfo && accountInfo.FirstName ? accountInfo.FirstName : ''\n }`\n }\n };\n\n const viewProps = {\n ...this.props,\n className,\n AccountWelcomeTile: {\n moduleProps: this.props,\n className: classnames('ms-account-welcome-tile', config.className)\n },\n heading: heading && heading.text && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n}\n\nexport default AccountWelcomeTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWelcomeTileViewProps } from './account-welcome-tile';\n\nconst AccountWelcomeTileView: React.FC = props => {\n const { AccountWelcomeTile, heading } = props;\n\n return {heading};\n};\n\nexport default AccountWelcomeTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n IDataTableProps,\n IHeadingsProperty,\n ITableItemProps,\n ITableRowProps,\n Table,\n TableDataType\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay.replace('{0}', request.UserFirstName!).replace('{1}', request.UserLastName!);\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (\n !StringExtensions.isNullOrEmpty(accountStatementStartDateTime) &&\n !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)\n ) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails.replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (\n operationRequests: BusinessPartnerOperationRequest[] | undefined,\n props: IB2bRequestsStatusProps\n): ITableRowProps[] => {\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map(request => {\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading =\n (ArrayExtensions.hasElements(tableData) &&\n tableData[0].row\n .filter(item => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n })\n .map(item => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n })) ||\n [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount:\n context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10))\n ? Number.parseInt(context.request.query.skip, 10)\n : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: (context && getCurrentUrl(context.request).href) || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return ;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\nimport { isChannelTypeB2B } from '@msdyn365-commerce/core';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n {this.getItemNumberDisplayString(itemCount)}\n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../../..';\n\nexport interface IB2bRequestsTileLinksProps {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst defaultClassName = 'ms-account-b2b-requests-tile';\n\nexport const B2bRequestsTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (!ArrayExtensions.hasElements(links)) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n\n return linkdata.map(link => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return {\n ariaLabel: link.ariaLabel,\n className: `${defaultClassName}__link`,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n } as Msdyn365.ILinksData;\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 { isChannelTypeB2B } from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileData } from './b2b-requests-tile.data';\nimport { IB2bRequestsTileProps } from './b2b-requests-tile.props.autogenerated';\nimport { B2bRequestsTileLinks } from './components/account-b2b-requests-tile-links';\n\nexport interface IB2bRequestsTileViewProps extends IB2bRequestsTileProps {\n b2bRequestsTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsTile component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IB2bRequestsTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n const { className, heading, links } = config;\n\n const defaultClassName = 'ms-account-b2b-requests-tile';\n\n if (!isChannelTypeB2B(this.props.context.actionContext.requestContext)) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n b2bRequestsTile: {\n moduleProps: this.props,\n className: classnames(defaultClassName, config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: ArrayExtensions.hasElements(links) && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default B2bRequestsTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsTileViewProps } from './b2b-requests-tile';\n\nconst B2bRequestsTileView: React.FC = props => {\n const { b2bRequestsTile, heading, links } = props;\n\n return (\n \n {heading}\n {links}\n \n );\n};\n\nexport default B2bRequestsTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\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\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\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 { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n \n \n );\n};\n\nexport default BreadCrumbView;\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 { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps {\n modalContainer: IModuleProps;\n modalHeaderContainer: INodeProps;\n modalFooterContainer: INodeProps;\n modalBodyContainer: INodeProps;\n heading?: React.ReactNode;\n subheading?: React.ReactNode;\n link?: React.ReactNode;\n countryList?: React.ReactNode[];\n isModalOpen?: boolean;\n state?: ICountryPickerState;\n stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CountryPicker extends React.PureComponent, ICountryPickerState> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationTime = 5_184_000;\n\n public constructor(props: ICountryPickerProps) {\n super(props);\n let isCookieValueSet: boolean = false;\n if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n isCookieValueSet = true;\n }\n this.state = {\n isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n };\n }\n\n public render(): JSX.Element | null {\n const { heading, subheading, countryList, actionLink } = this.props.config;\n\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const countryPickerHeading = heading && (\n \n );\n\n const countryPickerSubHeading = subheading && (\n \n );\n\n const countryPickerActionLink = actionLink && this.createLink(actionLink);\n const currentSiteButton = (\n \n );\n\n const viewprops: ICountryPickerViewProps = {\n ...this.props,\n state: this.state,\n isModalOpen: this.state.isModalOpen,\n modalContainer: {\n moduleProps: this.props,\n tag: Modal,\n className: 'ms-country-picker__dialog',\n isOpen: true,\n 'aria-label': 'country-picker',\n toggle: this.closeModal,\n modalTransition: { timeout: 0 },\n shouldUpdateFocusToFirstElement: true\n },\n modalHeaderContainer: {\n tag: ModalHeader,\n className: 'ms-country-picker__modal-header',\n toggle: this.closeModal,\n closeButtonTabIndex: 1\n },\n modalFooterContainer: {\n tag: ModalFooter,\n className: 'ms-countryPicker__modal-footer'\n },\n modalBodyContainer: {\n tag: ModalBody,\n className: 'ms-counrtyPicker__modal-body'\n },\n heading: countryPickerHeading,\n subheading: countryPickerSubHeading,\n link: countryPickerActionLink,\n countryList: countryList && this.renderCountryList(),\n stayOnCurrentSiteButton: currentSiteButton\n };\n\n return this.props.renderView(viewprops);\n }\n\n /**\n * Initiate close modal.\n */\n public readonly closeModal = (): void => {\n this.setState({\n isModalOpen: false\n });\n };\n\n public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.subheading = event.target.value;\n }\n\n public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.heading!.text = event.target.value;\n }\n\n public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.actionLink?.linkText) {\n this.props.config.actionLink.linkText = event.target.value;\n }\n }\n\n public createLink(link?: IActionLinkData): React.ReactNode | null {\n if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n const linkText = link?.linkText ?? '';\n const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: link?.ariaLabel,\n className: 'ms-countryPicker__link',\n linkText,\n linkUrl: link?.linkUrl.destinationUrl,\n openInNewTab: link?.openInNewTab,\n role: 'link',\n additionalProperties: attributes!,\n onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n public renderCountryList(): React.ReactNode[] | undefined {\n const marketSettings = this.props.context.request.marketSettings;\n if (!marketSettings) {\n return undefined;\n }\n const localeItems = marketSettings.localeItems;\n const countryLinks = localeItems.map((value: ILocaleItems) => {\n return this.renderCountry(value);\n });\n\n return countryLinks;\n }\n\n public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n const countryList = this.props.config.countryList;\n let baseUrl = localeItem.localeBaseUrl;\n baseUrl = this._appendProtocolToUrl(baseUrl);\n const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n if (!matchedCountryItem) {\n return null;\n }\n const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: imageSize,\n lg: imageSize,\n xl: imageSize\n },\n lazyload: true\n };\n const image = matchedCountryItem.image;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings ?? defaultImageSettings\n };\n return (\n \n {image && (\n \n )}\n
\n {matchedCountryItem.displayString}\n {matchedCountryItem.displaySubString}\n
\n \n );\n }\n\n /**\n * Writes the current site base url to cookie and closes the country picker modal dialog.\n */\n private readonly _handleStayOnSiteButtonClick = (): void => {\n const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n if (currentBaseUrl) {\n const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n }\n this.closeModal();\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n * @returns - This method just writes the cookie to the browser.\n */\n private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n this._writeToCookie(storageKey, storageValue);\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n */\n private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n if (!storageKey || !storageValue) {\n return;\n }\n const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n cookieOptions.maxAge = this._cookieExpirationTime;\n this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n };\n\n /**\n * Appends protocol to an url.\n * @param baseUrl - Url to be formatted.\n * @returns - URL after appending protocol.\n */\n private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n };\n}\n\nexport default CountryPicker;\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 { ICountryPickerViewProps } from './country-picker';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC = (props: ICountryPickerViewProps) => {\n const {\n isModalOpen,\n modalContainer,\n modalHeaderContainer,\n modalBodyContainer,\n heading,\n modalFooterContainer,\n subheading,\n link,\n countryList,\n stayOnCurrentSiteButton\n } = props;\n return isModalOpen && countryList ? (\n \n \n {heading}\n {subheading}\n \n \n {countryList.map(country => (\n <>{country}\n ))}\n \n \n {stayOnCurrentSiteButton}\n {link}\n \n \n ) : null;\n};\n\nexport default countryPickerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxData,\n IBuyboxFindInStoreViewProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductConfigureDropdownViewProps,\n IBuyboxProductConfigureViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IBuyboxViewProps\n} from '@msdyn365-commerce-modules/buybox';\nimport { IncrementalQuantity, ITelemetryContent, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxProps as IBuyboxExtentionProps,\n IBuyboxResources as IBuyboxExtentionResources\n} from '../definition-extensions/buybox.ext.props.autogenerated';\n\nconst BuyboxView: React.FC> = props => {\n const {\n ModuleProps,\n MediaGalleryContainerProps,\n ProductInfoContainerProps,\n addToCart,\n addToOrderTemplate,\n addToWishlist,\n telemetryContent,\n configure,\n description,\n findInStore,\n quantity,\n price,\n title,\n rating,\n callbacks,\n state,\n resources,\n inventoryLabel,\n shopSimilarLook,\n keyInPrice,\n quantityLimitsMessages,\n max,\n shopSimilarDescription,\n unitOfMeasure\n } = props;\n\n return (\n \n {props.mediaGallery}\n \n {title}\n {price}\n {unitOfMeasure}\n {props.bulkPurchaseLink}\n {description}\n {_renderTextBlock(props.slots.textBlocks)}\n {rating}\n {configure && _renderConfigure(configure)}\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\n {quantity && _renderQuantity(quantity, callbacks, props, state, resources, quantityLimitsMessages, max, telemetryContent)}\n {inventoryLabel}\n {_renderCartAndActions(addToCart, addToOrderTemplate, addToWishlist)}\n {findInStore && _renderFindInStore(findInStore)}\n {_renderSocialShare(props.slots && props.slots.socialShare)}\n {shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\n {shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\n \n \n );\n};\n\nconst _renderTextBlock = (textBlocks: React.ReactNode[]): JSX.Element | undefined => {\n if (!textBlocks || textBlocks.length === 0) {\n return undefined;\n }\n\n return <>{textBlocks[0]};\n};\n\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\n if (!socialShare || socialShare.length === 0) {\n return undefined;\n }\n\n return <>{socialShare[0]};\n};\n\nconst _renderCartAndActions = (\n addToCart?: IBuyboxAddToCartViewProps,\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps,\n addToWishlist?: IBuyboxAddToWishlistViewProps\n): JSX.Element | undefined => {\n if (!addToCart && !addToWishlist) {\n return undefined;\n }\n\n return (\n
\n {addToCart && addToCart.errorBlock}\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\n {addToWishlist && addToWishlist.errorBlock}\n
\n {addToCart && addToCart.button}\n {addToOrderTemplate && addToOrderTemplate.button}\n {addToWishlist && addToWishlist.button}\n
\n
\n );\n};\n\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\n const { ContainerProps, dropdowns } = configure;\n\n return {dropdowns.map(_renderConfigureDropdown)};\n};\n\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\n\n return (\n \n \n {heading}\n {errors}\n \n {select}\n \n );\n};\n\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\n const { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\n\n return (\n \n {storeSelector}\n {heading}\n {productPickupOptionList}\n {description}\n {errors}\n {button}\n {modal}\n \n );\n};\n\n/**\n * On Change function.\n * @param callbacks -Callbacks.\n * @returns Update quantity.\n */\nconst onChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number): boolean => {\n if (callbacks.updateQuantity) {\n return callbacks.updateQuantity(newValue);\n }\n return true;\n};\n\nconst _renderQuantity = (\n quantityComponent: IBuyboxProductQuantityViewProps,\n callbacks: IBuyboxCallbacks,\n props: IBuyboxProps,\n state: IBuyboxState,\n extentionResources: IBuyboxExtentionResources,\n quantityLimitsMessages: React.ReactNode,\n max: number | undefined,\n telemetryContent?: ITelemetryContent\n): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\n\n const { resources } = props;\n\n const { quantity } = state;\n\n return (\n \n \n {heading}\n {errors}\n \n\n \n {quantityLimitsMessages}\n \n );\n};\n\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\n\n return (\n \n {heading}\n {input}\n \n );\n};\n\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\n const { ContainerProps, errors, input } = shopSimilarItem;\n\n return (\n \n {errors}\n {input}\n \n );\n};\n\nexport default BuyboxView;\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 { BackToTop, getTelemetryObject, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBackTopFooterProps } from './back-top-footer.props.autogenerated';\n\n/**\n *\n * BackTopFooter component.\n * @extends {React.PureComponent>}\n */\nclass BackTopFooter extends React.PureComponent> {\n private readonly editProps: Msdyn365.ITextEditProps = {\n requestContext: this.props.context.request,\n onEdit: (event: Msdyn365.ContentEditableEvent) => (this.props.config.backtoTopText = event.target.value)\n };\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IBackTopFooterProps<{}>) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n if (!this.props.config.destination) {\n this.props.telemetry.error('BackToTop.destination has not been provided, module wont render.');\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default BackTopFooter;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n \n \n );\n};\n\nexport default imageListView;\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature links.\n */\nexport interface IInteractiveFeatureLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * IInteractiveFeatureLinks component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureCollectionLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && ArrayExtensions.hasElements(editableLinks) ? (\n \n ) : null}\n
\n );\n }\n\n /**\n * IInteractiveFeatureLinks component.\n * @param linkdata - Link data.\n * @returns Editable links.\n */\n private readonly _mapEditableLinks = (linkdata?: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || !ArrayExtensions.hasElements(linkdata)) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n for (const link of linkdata) {\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 editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-interactive-feature-collection__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'button',\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 InteractiveFeatureCollectionLinks;\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, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InteractiveFeatureCollectionLinks } from './components';\nimport { IHeadingData, IInteractiveFeatureItemProps } from './interactive-feature-item.props.autogenerated';\n\n/**\n * Interactive Feature Item view props.\n */\nexport interface IInteractiveFeatureItemViewProps extends IInteractiveFeatureItemProps<{}> {\n title: React.ReactNode;\n paragraph: React.ReactNode;\n image: React.ReactNode;\n links: React.ReactNode;\n featureItem: IModuleProps;\n isMosaic: boolean;\n indexItem?: number;\n itemCounter?: number;\n\n interactiveFeatureCollectionCarouselContainer: INodeProps;\n interactiveFeatureCollectionCarouselImage: INodeProps;\n interactiveFeatureCollectionCarouselContent: INodeProps;\n\n interactiveFeatureCollectionMosaicContainer: INodeProps;\n interactiveFeatureCollectionMosaicImage: INodeProps;\n interactiveFeatureCollectionMosaicDetails: INodeProps;\n}\n\n/**\n * Interactive Feature Item Extented props.\n */\nexport interface IInteractiveFeatureItemExtentedProps extends IInteractiveFeatureItemProps<{}> {\n isMosaic?: boolean;\n indexItem?: number;\n itemCounter?: number;\n}\n\n/**\n *\n * InteractiveFeatureItem component.\n * @extends {React.PureComponent}\n */\nexport class InteractiveFeatureItem 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 constructor(props: IInteractiveFeatureItemProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { indexItem, itemCounter, isMosaic } = this.props;\n const { heading, paragraph, image, links } = this.props.config;\n const featureItemLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n\n const viewProps = {\n ...this.props,\n indexItem,\n itemCounter,\n isMosaic: isMosaic ? isMosaic : false,\n title: this._createHeading(heading),\n paragraph: this._createParagraph(paragraph),\n image: this._renderImage(image),\n links: featureItemLinks,\n featureItem: {\n moduleProps: this.props,\n className: ''\n },\n interactiveFeatureCollectionCarouselContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__container'\n },\n interactiveFeatureCollectionCarouselImage: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__image'\n },\n interactiveFeatureCollectionCarouselContent: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-carousel__heading'\n },\n interactiveFeatureCollectionMosaicContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-interactive-feature-collection-mosaic',\n 'aria-label': heading?.text,\n tabindex: '0',\n role: 'group'\n },\n interactiveFeatureCollectionMosaicImage: {\n className: 'ms-interactive-feature-collection-mosaic__image'\n },\n interactiveFeatureCollectionMosaicDetails: {\n className: 'ms-interactive-feature-collection-mosaic__details'\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles heading content change event.\n * @param event - Content editable event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param event - Content editable event.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * Handles paragraph content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.links?.[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createHeading(heading?: IHeadingData): React.ReactNode | null {\n if (!heading) {\n return null;\n }\n if (StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _renderImage(item?: Msdyn365.IImageData, isAriaHiddenAttribute?: boolean): React.ReactNode | null {\n // Even if image.src is null, we render the Image component to render the fallback SVG\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=328&h=459&m=6', w: 328, h: 459 },\n sm: { q: 'w=348&h=487&m=6', w: 348, h: 487 },\n md: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n lg: { q: 'w=650&h=366&m=6', w: 650, h: 366 },\n xl: { q: 'w=650&h=366&m=6', w: 650, h: 366 }\n },\n lazyload: true\n };\n const verifiedImageSettings = item?.imageSettings?.viewports ? item.imageSettings : defaultImageSettings;\n return (\n \n );\n }\n}\n\nexport default InteractiveFeatureItem;\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IInteractiveFeatureItemViewProps } from './interactive-feature-item';\n\n/**\n * Enumerator used to make some calculations to set the proper classnames\n * using modular calculations to see if they are in a right or left column or on first or last row.\n */\nenum MagicNumber {\n modularDivisor = 4,\n caseNumberZero = 0,\n caseNumberOne = 1,\n caseNumberTwo = 2\n}\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @param indexItem - Feature Item view props.\n * @param itemCounter - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nconst renderMosaic = (thisProps: IInteractiveFeatureItemViewProps, indexItem?: number, itemCounter?: number): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionMosaicContainer,\n interactiveFeatureCollectionMosaicImage,\n interactiveFeatureCollectionMosaicDetails\n } = thisProps;\n const indexAux = indexItem ? indexItem + MagicNumber.caseNumberOne : MagicNumber.caseNumberOne;\n const itemCounterAux = itemCounter ? itemCounter : MagicNumber.caseNumberZero;\n const modularAux = indexAux % MagicNumber.modularDivisor;\n const firstRow = indexAux <= MagicNumber.caseNumberTwo ? 'firstRow' : '';\n const lastRow =\n itemCounterAux && (indexAux === itemCounterAux || indexAux === itemCounterAux - MagicNumber.caseNumberOne) ? 'lastRow' : '';\n const onCornerRight = modularAux === MagicNumber.caseNumberZero ? 'item-corner-right' : '';\n const onCornerLeft = modularAux === MagicNumber.caseNumberOne ? 'item-corner-left' : '';\n const containerClasses = classnames('ms-interactive-feature-collection-mosaic', onCornerLeft, onCornerRight, firstRow, lastRow);\n\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param thisProps - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */ const renderCarousel = (thisProps: IInteractiveFeatureItemViewProps): JSX.Element | null => {\n const {\n title,\n paragraph,\n image,\n links,\n interactiveFeatureCollectionCarouselContainer,\n interactiveFeatureCollectionCarouselImage,\n interactiveFeatureCollectionCarouselContent\n } = thisProps;\n return (\n \n {image}\n \n {title}\n {paragraph}\n {links}\n \n \n );\n};\n\n/**\n * Feature Item View.\n * @param props - Feature Item view props.\n * @returns Feature item View.\n * @extends {} InteractiveFeatureItem\n */\nexport const FeatureItemViewComponent: React.FC = props => {\n const { isMosaic, featureItem, indexItem, itemCounter } = props;\n if (isMosaic) {\n return <>{renderMosaic(props, indexItem, itemCounter)};\n }\n return {renderCarousel(props)};\n};\n\nexport default FeatureItemViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IMapData } from './map.data';\nimport { IMapProps, IPushpinOptionsData } from './map.props.autogenerated';\n\n/**\n * Header Interface.\n */\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n}\n\n/**\n * MapViewProps Interface.\n */\nexport interface IMapViewProps extends IMapProps {\n ModuleProps: IModuleProps;\n Header: IHeader;\n MapProps: INodeProps;\n Map: Microsoft.Maps.Map | undefined;\n}\n\n/**\n *\n * Map component.\n * @extends {React.Component>}\n */\n@observer\nclass Map extends React.PureComponent> {\n @observable public map: Microsoft.Maps.Map | undefined;\n\n private readonly mapRef: React.RefObject = React.createRef();\n\n public constructor(props: IMapProps) {\n super(props);\n }\n\n public componentDidMount(): void {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n }\n } = this.props;\n\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n this._initMap();\n this._updateMap();\n }\n\n when(\n () => !!this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded,\n () => {\n this.props.data.storeSelectorStateManager.result?.setMapModuleLoaded(true);\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.loadMapApi,\n () => {\n this.props.data.storeSelectorStateManager.result?.loadMapApi({\n key: channel?.BingMapsApiKey,\n lang: this.props.context.actionContext.requestContext.locale,\n market: this.props.context?.actionContext?.requestContext?.channel?.ChannelCountryRegionISOCode\n });\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\n () => {\n this._initMap();\n }\n );\n\n reaction(\n () => {\n return [\n this.props.data.storeSelectorStateManager.result?.context?.orgUnitStoreInformation,\n this.props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\n this.map\n ];\n },\n () => {\n this._updateMap();\n }\n );\n }\n\n public render(): JSX.Element | null {\n const {\n config: { heading, className },\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n const shouldDisplayMap = storeSelectorStateManager?.listMapViewState.displayMap;\n\n const viewProps: IMapViewProps = {\n ...this.props,\n ModuleProps: {\n tag: 'div',\n moduleProps: this.props,\n className: classname('ms-map', { show: shouldDisplayMap }, className)\n },\n Header: {\n headerProps: { className: 'ms-map__header' },\n heading: heading?.text && (\n \n )\n },\n MapProps: {\n tag: 'div',\n className: 'ms-map__body',\n ref: this.mapRef\n },\n Map: this.map\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Method to be called on heading change.\n * @param event -Content Edit Event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Initialize the map.\n */\n private readonly _initMap = () => {\n const {\n context: {\n actionContext: {\n requestContext: { channel }\n }\n },\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.map = new Microsoft.Maps.Map(this.mapRef.current as HTMLElement, {\n credentials: channel?.BingMapsApiKey,\n pushpinAccessible: true\n });\n Microsoft.Maps.Events.addHandler(this.map, 'click', async () => {\n await storeSelectorStateManager.setSelectedStoreLocationId(undefined);\n });\n }\n };\n\n /**\n * Update the map.\n */\n private readonly _updateMap = () => {\n const pushpinOptions = this.props.config.pushpinOptions;\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager?.result;\n const orgUnitStoreInformation = storeSelectorStateManager?.context?.orgUnitStoreInformation;\n const selectedStoreLocationId = storeSelectorStateManager?.selectedStoreLocationId;\n\n if (this.map && orgUnitStoreInformation) {\n let mapLocation: OrgUnitLocation | undefined;\n this.map.entities.clear();\n const pushpins: Microsoft.Maps.IPrimitive[] = [];\n\n const storeLocationList = orgUnitStoreInformation.filter(store => store.OrgUnitAvailability !== undefined);\n\n for (const [index, unitStoreInfo] of storeLocationList.entries()) {\n const storeLocation = unitStoreInfo.OrgUnitAvailability?.OrgUnitLocation;\n\n if (storeLocation?.Latitude && storeLocation.Longitude) {\n const isSelectedLocation = selectedStoreLocationId === storeLocation.OrgUnitNumber;\n const options = this._getPushpinOptions(isSelectedLocation, index, pushpinOptions);\n const pushpin = new Microsoft.Maps.Pushpin(\n new Microsoft.Maps.Location(storeLocation.Latitude, storeLocation.Longitude),\n options\n );\n\n Microsoft.Maps.Events.addHandler(pushpin, 'click', () => {\n this.handleClickEvent(storeLocation.OrgUnitNumber);\n });\n isSelectedLocation ? pushpins.unshift(pushpin) : pushpins.push(pushpin);\n\n if (isSelectedLocation) {\n mapLocation = storeLocation;\n }\n }\n }\n\n if (mapLocation) {\n const currentLocation = new Microsoft.Maps.Location(mapLocation.Latitude, mapLocation.Longitude);\n this.map.setView({ center: currentLocation });\n } else {\n // Create a LocationRect from array of pushpins and set the map view.\n this.map.setView({\n bounds: Microsoft.Maps.LocationRect.fromShapes(pushpins)\n });\n }\n\n this.map.setOptions({ pushpinAccessible: true });\n this.map.entities.push(pushpins);\n }\n };\n\n /**\n * Handle click event.\n * @param orgUnitNumber - Organization unit number.\n */\n private readonly handleClickEvent = (orgUnitNumber: string | undefined): void => {\n const storeSelectorStateManager = this.props.data.storeSelectorStateManager.result;\n storeSelectorStateManager?.setSelectedStoreLocationId(undefined);\n if (orgUnitNumber) {\n setTimeout(() => {\n storeSelectorStateManager?.setSelectedStoreLocationId(orgUnitNumber);\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- Time out.\n }, 500);\n }\n };\n\n /**\n * Get the pushpin option.\n * @param isSelectedLocation - Is selected location.\n * @param index - Index.\n * @param pushpinOptions - PushpinOptions.\n * @returns - The pushpin options.\n */\n private readonly _getPushpinOptions = (isSelectedLocation: boolean, index: number, pushpinOptions?: IPushpinOptionsData) => {\n const text = pushpinOptions?.showIndex ? (index + 1).toString() : undefined;\n\n const size = pushpinOptions?.size || 1;\n const color = isSelectedLocation ? pushpinOptions?.selectionColor || pushpinOptions?.color : pushpinOptions?.color;\n const icon = this._getSvgIcon(size, color, text);\n\n return {\n // Fallback if icon doesn't render properly\n color: isSelectedLocation ? pushpinOptions?.selectionColor : pushpinOptions?.color,\n icon\n };\n };\n\n private readonly _getSvgIcon = (size: number, color?: string, text?: string) => {\n const baseValue: number = 32;\n return `\n \n ${text ? `${text}` : ''}\n `;\n };\n}\n\nexport default Map;\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 { IHeader, IMapViewProps } from './map';\n\n/**\n * Render the heading.\n * @param param0 -- Heading props.\n * @param param0.headerProps -- Heading Props.\n * @param param0.heading -- Heading Node.\n * @returns -- Returns the node.\n */\nconst MapHeader: React.FC = ({ headerProps, heading }) => {heading};\n\n/**\n * Renders the map view props.\n * @param param0 -- Map view props.\n * @param param0.ModuleProps -- Module props.\n * @param param0.Header -- Header props.\n * @param param0.MapProps -- Map props.\n * @returns -- Returns the map module.\n */\nconst MapView: React.FC = ({ ModuleProps, Header, MapProps }) => (\n \n {Header && }\n \n \n);\n\nexport default MapView;\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 { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISubscribeConfig, ISubscribeProps } from './subscribe.props.autogenerated';\n\n/**\n * Subscribe view props.\n */\nexport interface ISubscribeViewProps extends ISubscribeProps {\n subscribe: IModuleProps;\n subscribeContainer: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n subscribeForm?: INodeProps;\n emailInput?: INodeProps;\n handleText(): void;\n}\n\n/**\n * Subscribe component.\n * @extends {React.PureComponent>}\n */\nexport class Subscribe extends React.PureComponent> {\n private readonly _emailAddressInputRef: React.RefObject;\n\n public constructor(props: ISubscribeViewProps) {\n super(props);\n this._emailAddressInputRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const moduleClassName = 'ms-subscribe';\n\n const subscribeParagraph = paragraph && (\n \n );\n\n const subscribeHeading = heading && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n subscribe: {\n moduleProps: this.props,\n className: moduleClassName\n },\n subscribeContainer: {\n className: 'ms-subscribe__details'\n },\n heading: subscribeHeading,\n text: subscribeParagraph,\n subscribeForm: {\n className: 'ms-subscribe__details__form',\n tag: 'form',\n 'aria-label': this.props.resources.subscribeFormAriaLabel,\n name: 'subscribeForm',\n role: 'form',\n autoComplete: 'off'\n },\n emailInput: {\n className: 'ms-subscribe__details__form__email',\n tag: 'input',\n ref: this._emailAddressInputRef,\n type: 'email',\n 'aria-label': this.props.resources.subscribeFormEmailAriaLabel,\n placeholder: this.props.resources.subscribeEmailPlaceholderText\n },\n submitButton: {\n className: 'ms-subscribe__details__form__submit',\n tag: Button,\n 'aria-label': this.props.resources.subscribeFormSubmitAriaLabel,\n type: 'submit',\n title: this.props.resources.subscribeButtonLabel\n },\n submitButtonLabelText: this.props.resources.subscribeButtonLabel\n };\n\n return this.props.renderView(viewProps);\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 this.props.config.paragraph = event.target.value;\n };\n}\n\nexport default Subscribe;\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 { ISubscribeViewProps } from './subscribe';\n\n/**\n * Override form action and button action below.\n * @param event - The form event.\n */\nconst onSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n};\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns nothing.\n */\nexport const subscribeView: React.FC = props => {\n const { subscribe, subscribeContainer, heading, text, subscribeForm, emailInput, submitButton } = props;\n return (\n \n \n {heading}\n {text}\n \n \n \n {props.submitButtonLabelText}\n \n \n \n \n );\n};\n\nexport default subscribeView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateListProps, IOrderTemplateListResources } from '../definition-extensions/order-template-list.ext.props.autogenerated';\n\n/**\n * Interface for OrderTemplateImage.\n */\ninterface IOrderTemplateImage {\n props: {\n children: React.ReactElement[];\n };\n}\n\n/**\n * To render order template.\n * @param orderTemplate - The order template view props.\n * @param orderTemplateNodeProps - The order template node props.\n * @returns The JSX Element.\n */\nconst renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, orderTemplateNodeProps?: INodeProps): JSX.Element | null => {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n\n const orderTemplateImageElement: IOrderTemplateImage = orderTemplateImage as React.ReactElement;\n const currentImageListLength = orderTemplateImageElement.props.children.length;\n const defaultNumberImagesInTile = 4;\n\n if (currentImageListLength < defaultNumberImagesInTile) {\n for (let index = 0; index < defaultNumberImagesInTile - currentImageListLength; index++) {\n orderTemplateImageElement.props.children.push();\n }\n }\n\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\n/**\n * Order Template List View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nexport const OrderTemplateListViewComponent: React.FC> = props => {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file\n OrderTemplateList,\n OrderTemplates,\n OrderTemplate,\n status,\n statusMessage,\n heading,\n orderTemplates,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n \n {status === 'SUCCESS' && (!OrderTemplates || !orderTemplates || !ArrayExtensions.hasElements(orderTemplates)) ? (\n
\n

{props.resources.headingForEmptyOrderTemplateList}

\n

{props.resources.textForEmptyOrderTemplateList}

\n {createOrderTemplateButton}\n
\n ) : (\n createOrderTemplateButton\n )}\n {templateHeaderStatusMessage}\n
\n {status !== 'SUCCESS' && statusMessage}\n {OrderTemplates && orderTemplates && ArrayExtensions.hasElements(orderTemplates) && (\n \n {orderTemplates.map(orderTemplate => {\n return renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n
\n );\n};\n\nexport default OrderTemplateListViewComponent;\n"],"names":["PickUpAtStoreComponent","_ref","PickUpAtStore","label","location","React","Node","Object","assign","EmailDeliveryComponent","_ref2","EmailDelivery","LineItemComponent","_ref3","LineItem","item","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","heading","lineItems","map","lineItem","key","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","undefined","index","tag","className","OrderSummaryComponent","_ref9","_props$data$checkout$","lines","resources","props","isOpen","setIsOpen","itemsCount","data","checkout","result","checkoutCart","cart","CartLines","length","subtotal","shipping","otherCharge","tax","totalDiscounts","loyalty","giftCard","orderTotal","CardHeader","tabIndex","onClick","prevSt","onKeyPress","itemsInCurrentOrderLabel","Collapse","Card","CardBody","PaymentSummaryComponent","_ref10","invoices","_lineItems$itemsForSh2","canShow","checkoutProps","headerProps","hasSalesOrder","hasInvoiceLine","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","loading","alert","title","guidedForm","orderSummary","invoicePaymentSummary","placeOrderButton","termsAndConditions","context","_localStorage","_lineItems$itemsForSh","storageName","request","user","customerAccountNumber","localStorage","setItem","JSON","stringify","showButtonFrmCart","setShowButtonFrmCart","async","_cartState$cart","cartState","getCartState","actionContext","TotalAmount","getShowButtonFrmCart","then","res","Module","config","showPlaceOrderButton","renderCustomerName","accountInformation","customer","FirstName","Name","_renderReactFragment","items","slot","HeaderTag","HeaderContainer","HeaderTopBarContainer","Divider","siteSubtext","siteInfotext","searchHeader","closeLabel","lookForLabel","switchProfileHeader","profilesAvailableHeader","switchProfileNote","siteName","switchProfileButtonLabel","searchButtonLabel","modal","setModal","modalSite","setModalSite","toggle","toggleSite","Modal","role","id","ModalBody","htmlFor","search","preferredStore","style","padding","siteOptions","ModalFooter","renderForMobile","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","signOutLink","signInLink","accountLinks","accountClassName","classnames","_props$AccountInfoDro","_props$AccountInfoDro2","_props$AccountInfoDro3","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","telemetry","helloLabel","payLoad","getPayloadObject","TelemetryConstant","MyProfile","attributes","getTelemetryAttributes","displayName","Button","innerRef","target","color","_getAccountInfoDropdownButton","link","_renderAccountBlock","logo","navIcon","cartIcon","MobileMenuLinksContainer","mobileMenuCollapsed","navMenuHeader","Drawer","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","_renderMobileAccountBlock","menuBar","_renderCollapseMenu","ProductSpecification","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","rowdata","ArrayExtensions","hasElements","filter","row","ObjectExtensions","isNullOrUndefined","productAttributesToHide","rowIndex","findIndex","children","productName","toLowerCase","trim","splice","_renderRowData","_renderSitePicker","SitePicker","_props$SitePickerMenu","SitePickerMobileContainer","renderSiteOptions","SitePickerMenuListItemArray","_renderMobileView","AccountWelcomeTile","constructor","handleHeadingChange","event","this","text","value","render","accountInfo","_objectSpread","viewProps","moduleProps","Msdyn365","editProps","onEdit","requestContext","renderView","RequestsTableColumnHeader","getUserName","StringExtensions","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","replace","formatDate","date","cultureFormatter","year","month","day","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","tableData","operationRequests","_request$TypeValue","_request$StatusValue","b2bRequestsTypeColumn","type","TableDataType","Text","b2bRequestsRequestDateColumn","CreatedDateTime","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","StatusValue","isSelected","createTableItems","headings","isMobile","mobileExcludedColumns","includes","name","sortable","ariaLabel","columnSortAriaLabel","rows","editLinkText","deleteLinkText","viewLinkText","enableToModify","actionLinkText","showCheckBoxes","isSortable","showPagination","minifyActions","excludedColumns","paginationProperty","skipCount","query","skip","isNaN","Number","parseInt","itemPerPage","prevText","b2bRequestsPreviousText","nextText","b2bRequestsNextText","paginationText","url","reqContext","MsDyn365","isBrowser","URL","window","href","requestUrl","isSingleSelectOnly","actions","onDelete","onView","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","B2bRequestsTable","Table","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","Heading","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","format","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","isChannelTypeB2B","b2bRequestsStatus","table","__decorate","computed","defaultClassName","B2bRequestsTileLinks","links","onTextChange","editableLinks","_mapEditableLinks","linkdata","contentAction","etext","linkText","linkUrl","destinationUrl","openInNewTab","additionalProperties","B2bRequestsTile","super","handleLinkTextChange","linkIndex","b2bRequestsTile","Link","noclick","attribute","onTelemetryClick","itemProp","content","Separator","separator","Breadcrumb","_pageType","urlTokens","pageType","_getRootLink","root","error","_getCustomBreadcrumbLinks","itemPosition","keyIndex","toString","_getCategoryHierarchy","categoryHierarchy","_getFriendlyName","locale","NameTranslations","Url","nameTranslations","_nameTranslation","nameTranslation","find","Language","_getPDPLinks","categoryPaths","product","push","hideProductName","_goBack","history","back","_getPDPBackButton","document","referrer","backToResultsText","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","backButton","CountryPicker","_telemetryContent","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","setState","isModalOpen","_handleStayOnSiteButtonClick","_this$props$context$r","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","set","baseUrl","isCookieValueSet","get","state","_heading$tag","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","handleTextChange","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","stayOnCurrentSiteButtonText","viewprops","modalContainer","modalTransition","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","ModalHeader","closeButtonTabIndex","modalFooterContainer","modalBodyContainer","renderCountryList","stayOnCurrentSiteButton","_this$props$config$ac","_link$linkText","editableLink","localeItems","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","imageSize","q","w","h","defaultImageSettings","viewports","xs","lg","xl","lazyload","image","imageProps","gridSettings","imageSettings","displayString","src","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","countryPickerView","country","_renderTextBlock","textBlocks","_renderSocialShare","socialShare","_renderCartAndActions","addToCart","addToOrderTemplate","addToWishlist","errorBlock","button","_renderConfigure","configure","ContainerProps","dropdowns","_renderConfigureDropdown","dropdown","LabelContainerProps","errors","select","_renderFindInStore","findInStore","storeSelector","description","productPickupOptionList","onChangeHandler","callbacks","newValue","updateQuantity","_renderQuantity","quantityComponent","extentionResources","quantityLimitsMessages","max","quantity","IncrementalQuantity","currentCount","onChange","inputQuantityAriaLabel","decrementButtonAriaLabel","incrementButtonAriaLabel","minQuantityText","maxQuantityText","_renderKeyInPrice","keyInPrice","input","_renderShopSimilarItem","shopSimilarItem","ModuleProps","MediaGalleryContainerProps","ProductInfoContainerProps","price","rating","inventoryLabel","shopSimilarLook","shopSimilarDescription","unitOfMeasure","mediaGallery","bulkPurchaseLink","slots","BackTopFooter","backtoTopText","destination","BackToTop","ImageList","images","paragraph","_renderImageListItems","imageList","disableLazyLoad","imageLink","imageLinkText","imageLinkAriaLabel","imageLinkOpenInNewTab","linkAltText","linkAriaLabel","linkOpenInNewTab","imageListTitle","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","imageListView","indexKey","InteractiveFeatureCollectionLinks","InteractiveFeatureItem","_this$props$config$li","indexItem","itemCounter","isMosaic","featureItemLinks","_createHeading","_createParagraph","_renderImage","featureItem","interactiveFeatureCollectionCarouselContainer","interactiveFeatureCollectionCarouselImage","interactiveFeatureCollectionCarouselContent","interactiveFeatureCollectionMosaicContainer","tabindex","interactiveFeatureCollectionMosaicImage","interactiveFeatureCollectionMosaicDetails","isNullOrWhitespace","isAriaHiddenAttribute","_item$imageSettings","_this$props$config$im","verifiedImageSettings","sm","md","moduleType","typeName","imagePropertyName","MagicNumber","FeatureItemViewComponent","renderMosaic","thisProps","indexAux","caseNumberOne","itemCounterAux","caseNumberZero","modularAux","modularDivisor","firstRow","caseNumberTwo","lastRow","onCornerRight","onCornerLeft","containerClasses","renderCarousel","Map","mapRef","_initMap","channel","storeSelectorStateManager","isMapApiLoaded","Microsoft","Maps","current","credentials","BingMapsApiKey","pushpinAccessible","Events","addHandler","setSelectedStoreLocationId","_updateMap","_this$props$data$stor","_storeSelectorStateMa","pushpinOptions","orgUnitStoreInformation","selectedStoreLocationId","mapLocation","entities","clear","pushpins","storeLocationList","store","OrgUnitAvailability","unitStoreInfo","entries","_unitStoreInfo$OrgUni","storeLocation","OrgUnitLocation","Latitude","Longitude","isSelectedLocation","OrgUnitNumber","options","_getPushpinOptions","pushpin","Pushpin","Location","handleClickEvent","unshift","currentLocation","setView","center","bounds","LocationRect","fromShapes","setOptions","orgUnitNumber","setTimeout","showIndex","size","selectionColor","icon","_getSvgIcon","componentDidMount","_this$props$data$stor2","BingMapsEnabled","when","_this$props$data$stor3","setMapModuleLoaded","_this$props$data$stor4","reaction","_this$props$data$stor5","loadMapApi","_this$props$data$stor6","_this$props$context","lang","market","ChannelCountryRegionISOCode","_this$props$data$stor7","_this$props$data$stor8","_this$props$data$stor9","shouldDisplayMap","listMapViewState","displayMap","classname","show","Header","MapProps","ref","observable","observer","MapHeader","Subscribe","_emailAddressInputRef","subscribeParagraph","subscribeHeading","handleText","subscribe","subscribeContainer","subscribeForm","subscribeFormAriaLabel","autoComplete","emailInput","subscribeFormEmailAriaLabel","placeholder","subscribeEmailPlaceholderText","submitButton","subscribeFormSubmitAriaLabel","subscribeButtonLabel","submitButtonLabelText","onSubmit","preventDefault","subscribeView","_subscribeForm$classN","_emailInput$className","_submitButton$classNa","OrderTemplateListViewComponent","OrderTemplateList","OrderTemplates","OrderTemplate","status","statusMessage","orderTemplates","createOrderTemplateButton","templateHeaderStatusMessage","headingForEmptyOrderTemplateList","textForEmptyOrderTemplateList","orderTemplate","renderOrderTemplate","orderTemplateNodeProps","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","removeButton","orderTemplateName","orderTemplateImageElement","currentImageListLength"],"sourceRoot":""}