{"version":3,"file":"static/js/7.3f157a6be535dd9a3cac.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-generic-tile.view.tsx?19d2","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/definition-extensions/account-loyalty.ext.props.autogenerated.ts?0bf6","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-loyalty.view.tsx?24c1","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/checkout.view.tsx?ea45","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-confirmation.view.tsx?31ca","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-history.view.tsx?1eff","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-template-list.view.tsx?f44e","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/store-selector.view.tsx?4246","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.tsx?0983","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/components/accept-button.tsx?8e73","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/components/links.tsx?97b8","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/cookie-compliance.tsx?02ac","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/cookie-compliance.view.tsx?a33f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/b2b-requests-status.view.tsx?de3b","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-details.view.tsx?027b","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport { IAccountGenericTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-generic-tile/./account-generic-tile';\r\nimport { IAccountGenericTileProps } from '../definition-extensions/account-generic-tile.ext.props.autogenerated.js'\r\n\r\nconst AccountGenericTileView: React.FC> = props => {\r\n const { AccountGenericTile, heading, links } = props;\r\n const textField = props.config.text;\r\n const text = textField && ;\r\n\r\n return (\r\n \r\n {heading}\r\n {text}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default AccountGenericTileView;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IAccountLoyalty contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum layout {\r\n cardLayout = 'cardLayout',\r\n wideLayout = 'wideLayout',\r\n compact = 'compact'\r\n}\r\n\r\nexport interface IAccountLoyaltyConfig extends Msdyn365.IModuleConfig {\r\n heading?: IHeadingData;\r\n className?: string;\r\n clientRender?: boolean;\r\n layout: layout;\r\n displayJoinDate?: boolean;\r\n displayAppleWallet?: boolean;\r\n displayGoogleWallet?: boolean;\r\n appleWalletBtnImage?: Msdyn365.IImageData;\r\n googleWalletBtnImage?: Msdyn365.IImageData;\r\n walletLoyaltyProgramName?: string;\r\n pointsExpirationReminder?: string;\r\n loyaltyTiersLink?: ILoyaltyTiersLinkData;\r\n}\r\n\r\nexport interface IAccountLoyaltyResources {\r\n loyaltyCardLabel: string;\r\n joinDateFormatted: string;\r\n totalAvailablePointsLabel: string;\r\n expiringPointsFormatLabel: string;\r\n expiringPointsFormatAriaLabel: string;\r\n availablePointsLabel: string;\r\n availablePointsAriaLabel: string;\r\n loyaltyActivityDateLabel: string;\r\n loyaltyActivityBalanceLabel: string;\r\n redeemedPointsLabel: string;\r\n refundedPointsLabel: string;\r\n earnedPointsLabel: string;\r\n pendingPointsLabel: string;\r\n adjustedPointsLabel: string;\r\n backToShoppingText: string;\r\n loyaltyTierLabel: string;\r\n loyaltyCardLabel_CL: string;\r\n availablePointsLabel_CL_before: string;\r\n availablePointsLabel_CL_after: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ILoyaltyTiersLinkData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IAccountLoyaltyProps extends Msdyn365.IModule {\r\n resources: IAccountLoyaltyResources;\r\n config: IAccountLoyaltyConfig;\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\n// import { Modal, ModalBody, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { IAccountLoyaltyProps, layout as layoutNames } from '../definition-extensions/account-loyalty.ext.props.autogenerated';\r\nimport { IAccountLoyaltyViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-loyalty/./account-loyalty';\r\nimport { ILoyaltySignUpProps } from '@msdyn365-commerce-modules/account-management/src/modules/loyalty-sign-up';\r\n\r\nimport { Row, Container } from 'reactstrap';\r\nimport classnames from 'classnames';\r\n\r\nconst isWideOrCompactLayout = (layout: layoutNames) => {\r\n return [layoutNames.wideLayout, layoutNames.compact].includes(layout);\r\n}\r\n\r\nconst layoutClassNames = {\r\n [layoutNames.wideLayout]: 'loyalty-wide-layout',\r\n [layoutNames.compact]: 'loyalty-compact-layout'\r\n}\r\nconst getLayoutClassName = (layout: layoutNames) => layoutClassNames[layout] || 'loyalty-wide-layout'\r\n\r\nconst AccountLoyaltyView: React.FC & ILoyaltySignUpProps<{}>> = props => {\r\n const {\r\n AccountLoyalty,\r\n heading,\r\n cardNumber,\r\n joinDate,\r\n points,\r\n } = props;\r\n\r\n const {\r\n layout,\r\n displayJoinDate,\r\n displayAppleWallet,\r\n displayGoogleWallet,\r\n appleWalletBtnImage,\r\n googleWalletBtnImage,\r\n pointsExpirationReminder,\r\n loyaltyTiersLink,\r\n walletLoyaltyProgramName\r\n } = props.config;\r\n\r\n const {\r\n loyaltyTierLabel,\r\n loyaltyCardLabel,\r\n loyaltyCardLabel_CL,\r\n availablePointsLabel,\r\n availablePointsLabel_CL_before,\r\n availablePointsLabel_CL_after,\r\n viewLoyaltyPageText\r\n } = props.resources;\r\n\r\n // @ts-ignore\r\n const firstLoyaltyGroup = props.AccountLoyalty.moduleProps.data.loyaltyCard.result && props.AccountLoyalty.moduleProps.data.loyaltyCard.result.LoyaltyGroups[0];\r\n // @ts-ignore\r\n const highestTierId = firstLoyaltyGroup.HighestActiveLoyaltyCardTier;\r\n // @ts-ignore\r\n const tierDetails = firstLoyaltyGroup.LoyaltyCardTiers.filter(tier => tier.RecordId === highestTierId)[0];\r\n const tierName = tierDetails.TierId;\r\n\r\n const user_email = props.AccountLoyalty.moduleProps.context.request.user.emailAddress;\r\n // @ts-ignore\r\n const user_card_number = cardNumber!.props.text;\r\n \r\n let points_numbers = [-1.1];\r\n \r\n // @ts-ignore\r\n if (points && points.props) {\r\n // @ts-ignore\r\n points_numbers = points.props.text.split('.');\r\n }\r\n\r\n const height_to_set = 48; // Minimum per Google guidelines\r\n\r\n const tierClass = `tier-name__${tierName}`;\r\n\r\n const apple_wallet_check: boolean = displayAppleWallet && appleWalletBtnImage && appleWalletBtnImage.src && appleWalletBtnImage.altText && user_card_number;\r\n const google_wallet_check: boolean = displayGoogleWallet && googleWalletBtnImage && googleWalletBtnImage.src && googleWalletBtnImage.altText && user_card_number;\r\n const programString : string = walletLoyaltyProgramName || \"v-club-emea\";\r\n\r\n if (isWideOrCompactLayout(layout)) {\r\n // Wide or compact layout (Loyalty page and Homepage row)\r\n return (\r\n \r\n {heading}\r\n \r\n \r\n
\r\n

{loyaltyCardLabel}

\r\n {cardNumber}\r\n {(apple_wallet_check || google_wallet_check) && (
\r\n {apple_wallet_check ?\r\n \r\n {appleWalletBtnImage?.altText}\r\n : null}\r\n {google_wallet_check ?\r\n \r\n {googleWalletBtnImage?.altText}\r\n : null}\r\n
)}\r\n {/* @ts-ignore */}\r\n {displayJoinDate && !joinDate?.props.text.endsWith('1900') ? joinDate : null}\r\n
\r\n
\r\n

{availablePointsLabel}

\r\n {points_numbers[0] != -1.1 ?

{points_numbers[0]}

: null}\r\n {pointsExpirationReminder ?

{pointsExpirationReminder}

: null}\r\n {viewLoyaltyPageText ?\r\n \r\n {viewLoyaltyPageText}\r\n : null}\r\n
\r\n
\r\n

{loyaltyTierLabel}

\r\n

{tierName}

\r\n {(loyaltyTiersLink && loyaltyTiersLink.linkUrl && loyaltyTiersLink.linkUrl.destinationUrl && loyaltyTiersLink.linkText) ?\r\n \r\n {loyaltyTiersLink.linkText} \r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n // Card layout (Homepage column)\r\n return (\r\n \r\n {heading}\r\n
\r\n \r\n \r\n
\r\n

{loyaltyCardLabel_CL}

 

{cardNumber}

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

{loyaltyTierLabel}

 {tierName}

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

\r\n \r\n {availablePointsLabel_CL_before} {points_numbers[0] != -1.1 ?

{points_numbers[0]}

: null} {availablePointsLabel_CL_after}\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountLoyaltyView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n IEmailDelivery,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { ICheckoutResources as ICheckoutResourcesExt } from '../definition-extensions/checkout.ext.props.autogenerated';\r\nimport { find } from 'lodash';\r\n\r\nimport * as React from 'react';\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 return (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \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 Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\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);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number | null, props: ICheckoutViewPropsExt): JSX.Element | null => {\r\n const { taxLabel, toBeCalculatedText } = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n {taxLabel}\r\n\r\n {\r\n taxAmount && taxAmount > 0 ? `${taxAmount}` : toBeCalculatedText\r\n }\r\n

\r\n
\r\n )\r\n}\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines, ...other }) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const props = other.props;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n\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 {locale.toLowerCase() == 'en-gb' ? _renderCustomTaxLine(taxAmount, props) : 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 );\r\n};\r\ninterface ICheckoutViewPropsExt extends ICheckoutViewProps {\r\n resources: ICheckoutResourcesExt;\r\n}\r\n// tslint:disable-next-line:max-func-body-length\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\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 lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n keepShoppingButton\r\n } = props;\r\n\r\n const locale = props.checkoutProps.moduleProps.context.request.locale;\r\n const taxAmount = props?.data?.checkout?.result?.checkoutCart?.cart?.TaxAmount;\r\n\r\n const extraOrdersSummaryEu = {\r\n taxAmount: taxAmount,\r\n locale: locale,\r\n props: props\r\n };\r\n const [greeting, setGreeting] = React.useState({\r\n status: false,\r\n greetingMessageCAP: '',\r\n greetingSignCAP: ''\r\n });\r\n\r\n\r\n const getCartProps = async () => {\r\n const activeCartState = await getCartState(props.context?.actionContext);\r\n const checkoutCartState = props?.data?.checkout?.result?.checkoutCart;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extPropsToRemove = checkoutCartState?.cart?.ExtensionProperties?.filter((fieldVal: { Key: string }) => fieldVal.Key === 'ExtPropsRemove_CAP')[0]?.Value?.BooleanValue;\r\n // prettier-ignore\r\n if (extPropsToRemove === true) {\r\n const extKeysToRemove = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n\r\n const removeExtProps = async () => {\r\n const extProps = checkoutCartState?.cart?.ExtensionProperties;\r\n const extPropsToEmpty = [];\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n await activeCartState?.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n await checkoutCartState?.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n };\r\n void removeExtProps();\r\n } else {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingMessageCAP = checkoutCartState?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingMessage_CAP')[0]?.Value?.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingSignCAP = checkoutCartState?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingSign_CAP')[0]?.Value?.StringValue;\r\n setGreeting({\r\n status:\r\n (greetingMessageCAP !== null && greetingMessageCAP !== undefined && greetingMessageCAP !== '') ||\r\n (greetingSignCAP !== null && greetingSignCAP !== undefined && greetingSignCAP !== ''),\r\n greetingMessageCAP: greetingMessageCAP !== undefined ? greetingMessageCAP : '',\r\n greetingSignCAP: greetingSignCAP !== undefined ? greetingSignCAP : ''\r\n });\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (canShow) {\r\n void getCartProps();\r\n }\r\n }, [canShow]);\r\n\r\n // function sleep(ms: number) {\r\n // return new Promise(resolve => setTimeout(resolve, ms));\r\n // }\r\n\r\n // React.useEffect(() => {\r\n /*\r\n V item_id: “114066”, //product_id, SKU DL_CI\r\n V item_name: “Crema spalmabile Suprema Nocciola 250g”, DL_CI\r\n V coupon: “Coupon prodotto”, //coupon a livello di prodotto CHECKOUT\r\n V discount: 2.85, //Qualunque sconto associato CHECKOUT\r\n V item_discount_rate: \"30%\", CHECKOUT\r\n V index: 0, // la posizione del prodotto nel listato, inizia da 0 DL_CI\r\n item_category: “Cioccolato“ / “Pick&Mix” / “Idee regalo”, //valori delle breadcrumbs DL_CI\r\n item_list_name:  \"Cioccolato\" / \"Pick&Mix\" / \"Best seller\" / \"Search results\", DL_CI\r\n V price: 9.50, DL_CI\r\n V quantity: 1 DL_CI\r\n */\r\n\r\n // function getCheckoutCartItemsGA() {\r\n // // getDLCart().then(dl_cart => {\r\n // const checkout_cart_items = document.getElementsByClassName('msc-cart-line__content');\r\n // // if (dl_cart.length !== checkout_cart_items.length) {\r\n // // return;\r\n // // }\r\n // let cart_items: {}[] = [];\r\n // Array.from(checkout_cart_items).forEach((item, index) => {\r\n // cart_items.push({\r\n // 'item_id': item.getElementsByClassName('data-product-sku')[0].textContent ?? '',\r\n // 'item_name': item.getElementsByTagName('a')[0].textContent ?? '',\r\n // 'coupon': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[0]?.textContent?.split(': ')[1] ?? '',\r\n // 'discount': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[1]?.textContent!.slice(0, -2) ?? '0',\r\n // 'item_discount_rate': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.substring(\r\n // (item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.indexOf('(') ?? 0) + 1,\r\n // item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.lastIndexOf(')')\r\n // ) ?? '0%',\r\n // 'index': index,\r\n // 'item_category': localStorage.getItem(item.getElementsByClassName('data-product-sku')[0].textContent!)?.split(';')[0] ?? '',\r\n // 'item_list_name': localStorage.getItem(item.getElementsByClassName('data-product-sku')[0].textContent!)?.split(';')[1] ?? '',\r\n // 'price': item.getElementsByClassName('msc-price__actual')[0].textContent!.slice(0, -2) ?? '',\r\n // 'quantity': item.getElementsByClassName('quantity-value')[0].textContent ?? ''\r\n // });\r\n // });\r\n // const item_object = { 'items': cart_items };\r\n // return item_object;\r\n // // });\r\n // }\r\n\r\n // // async function getDLCart() {\r\n // // await sleep(3000);\r\n // // for (let i = 0; i < window.dataLayer.length; i++) {\r\n // // if (window.dataLayer[i].cart_items !== undefined) {\r\n // // return window.dataLayer[i].cart_items;\r\n // // }\r\n // // }\r\n // // }\r\n\r\n // getCheckoutCartItemsGA();\r\n\r\n // temporary mirror cart from which to get data for the DL management\r\n // getDLCart().then(res => {\r\n // const temp_cart = res;\r\n // console.log(temp_cart);\r\n // getCheckoutCart();\r\n // });\r\n // console.log(temp_cart);\r\n\r\n // function checkOutGA4() {\r\n // console.log('started new checkout tracker GA4');\r\n // // Select the node that will be observed for mutations\r\n // const targetNode = document.querySelector('.ms-checkout__guided-form') as Node;\r\n \r\n // // Options for the observer (which mutations to observe)\r\n // const config = { attributes: true, childList: true, subtree: true };\r\n \r\n // // Callback function to execute when mutations are observed\r\n // const callback = (mutationsList: MutationRecord[]) => {\r\n // // TODO this function was called twice before the page loaded completely in one of the tests,\r\n // // be careful about sending wrong GA events\r\n // // or maybe this is how to manage the pre filled ones\r\n // // wait this might be called when the thingy is removed too oh no; it shouldn't be an issue tho\r\n \r\n // // do stuff when loading disappears instead (as a removed node)?\r\n // for (let mutation of mutationsList) {\r\n // console.log(mutation.removedNodes);\r\n // if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\r\n // let pos = -1;\r\n // for (let i = 0; i < mutation.addedNodes.length; i++) {\r\n // // @ts-ignore\r\n // if (mutation.addedNodes[i].classList?.contains('ms-checkout__guided-card-footer')) {\r\n // pos = i;\r\n // break;\r\n // }\r\n // }\r\n \r\n // if (pos !== -1) {\r\n // console.log('right case');\r\n // // @ts-ignore\r\n // const new_button = mutation.addedNodes[pos].getElementsByClassName('ms-checkout__guided-card-btn-save')[0];\r\n // // @ts-ignore\r\n // const closestCard = mutation.target.closest('.ms-checkout__guided-card');\r\n // const cardHeader = closestCard.querySelector('.ms-checkout__guided-card-header');\r\n // const cardHeaderText = cardHeader.textContent.trim();\r\n // let variable: string;\r\n // switch (cardHeaderText[0]) {\r\n // case '1':\r\n // variable = 'robert 1';\r\n // break;\r\n // case '2':\r\n // variable = 'robert 2';\r\n // break;\r\n // case '3':\r\n // variable = 'robert 3';\r\n // break;\r\n // case '4':\r\n // variable = 'robert 4';\r\n // break;\r\n // case '5':\r\n // variable = 'robert 5';\r\n // break;\r\n // default:\r\n // variable = 'Unknown Value';\r\n // }\r\n // console.log(variable);\r\n // // change from click to remove the node so that it catches the auto changes too?\r\n // new_button.addEventListener('click', () => {\r\n // console.log('step ' + variable);\r\n // });\r\n // }\r\n // }\r\n // }\r\n // };\r\n \r\n // // Create an observer instance linked to the callback function\r\n // const observer = new MutationObserver(callback);\r\n \r\n // // Start observing the target node for configured mutations\r\n // observer.observe(targetNode!, config);\r\n \r\n // }\r\n\r\n // checkOutGA4();\r\n\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 \r\n {guidedForm}\r\n {termsAndConditions}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n
\r\n
\r\n \r\n {orderSummary && }\r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n {greeting.status ? (\r\n
\r\n

\r\n \r\n {props.resources.greetingTitle}\r\n

\r\n
\r\n
\r\n {' '}\r\n {greeting.greetingMessageCAP}\r\n
\r\n
\r\n {greeting.greetingSignCAP}\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {/* tslint:disable-next-line:react-a11y-anchors */}\r\n

\r\n \r\n {props.resources.addGreetingText}\r\n \r\n

\r\n
\r\n )}\r\n
\r\n {/* tslint:disable-next-line:react-a11y-anchors */}\r\n

\r\n \r\n {props.resources.insertModifyYourPromoCode}\r\n \r\n

\r\n
\r\n\r\n {lineItems && }\r\n\r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \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 {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { find } from 'lodash';\r\n\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {createdDate}\r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n {salesLine}\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({\r\n deliveryProps,\r\n heading,\r\n count,\r\n processing,\r\n address,\r\n trackingInfo,\r\n pickupDateTimeslot\r\n}) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number): JSX.Element | null => {\r\n //const { estimatedTaxLabel, yetToBeCalculatedText} = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n Tax\r\n \r\n {taxAmount}\r\n \r\n

\r\n
\r\n )\r\n}\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n\r\n return (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {locale.toLowerCase() == 'en-gb' && taxAmount > 0 ? _renderCustomTaxLine(taxAmount) : tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n );\r\n};\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n data,\r\n slots\r\n}) => {\r\n // const updateExtProps = async (modprops: IModuleProps) => {\r\n // const currentCartState = await getCartState(modprops.moduleProps.context?.actionContext);\r\n // const cartLines = currentCartState?.cart?.CartLines;\r\n // if (!cartLines || (cartLines && cartLines.length === 0)) {\r\n // console.log(currentCartState?.cart?.CartLines?.length);\r\n // const removeExtProps = [\r\n // {\r\n // Key: 'ExtPropsRemove_CAP',\r\n // Value: {\r\n // BooleanValue: true\r\n // }\r\n // }\r\n // ];\r\n // await currentCartState.updateExtensionProperties({ newExtensionProperties: removeExtProps });\r\n // }\r\n // };\r\n\r\n // React.useEffect(() => {\r\n // void updateExtProps(moduleProps);\r\n // }, []);\r\n\r\n const setRemoveData = async (modprops: IModuleProps) => {\r\n const currentCartState = await getCartState(modprops.moduleProps.context?.actionContext)\r\n const extProps = currentCartState?.cart?.ExtensionProperties;\r\n const extPropsToRemove = extProps && find(extProps, obj => obj.Key === 'ExtPropsRemove_CAP')?.Value?.BooleanValue;\r\n const cartLines = currentCartState?.cart?.CartLines;\r\n // console.log(\"setRemoveData function\");\r\n if (!cartLines || (cartLines && cartLines.length === 0)) {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extKeysToRemove = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n const extPropsToEmpty = [];\r\n // console.log(\"Cleaning Extension properties of cart\");\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n if (extPropsToRemove === true){\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n }\r\n if (extPropsToEmpty.length !== 0) {\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n }\r\n else {\r\n // console.log(\"no extension property to clean found\");\r\n }\r\n }\r\n };\r\n React.useEffect(() => {\r\n void setRemoveData(moduleProps);\r\n }, []);\r\n\r\n const locale = moduleProps.moduleProps.context.request.locale;\r\n // @ts-ignore\r\n const salseOrderData = moduleProps?.moduleProps?.data?.orderHydration?.result?.salesOrder;\r\n const taxAmount = salseOrderData?.TaxAmount;\r\n const extraOrdersSummaryEu = {\r\n taxAmount: taxAmount,\r\n locale: locale\r\n };\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && }\r\n {orderSummary && }\r\n {help && }\r\n {slots &&\r\n slots.commisionJunction &&\r\n React.cloneElement(slots.commisionJunction[0] as React.ReactElement, {\r\n salesOrder: data.orderHydration.result?.salesOrder\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHeader,\r\n IList,\r\n IOrderHistoryViewProps,\r\n IOrderInformation,\r\n ISalesOrder\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderHistoryOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n channelName,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelName}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {channelReferenceId}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroupDelivery: React.FC = ({\r\n deliveryProps,\r\n heading,\r\n count,\r\n processing,\r\n address,\r\n trackingInfo\r\n}) => (\r\n \r\n {heading}\r\n {count}\r\n {processing}\r\n {address}\r\n {trackingInfo}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n {salesLine.salesLine}\r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\r\n \r\n {heading}\r\n {orderCountLabel}\r\n {extraActions}\r\n \r\n);\r\n\r\nexport const OrderHistorySalesOder: React.FC = ({ salesOrderProps, orderInfomation, groups, orderDetailsLink }) => {\r\n // @ts-ignore\r\n const dataPrice = orderInfomation.amount !== null ? orderInfomation.amount.props.data.price.CustomerContextualPrice : 0;\r\n const orderType = dataPrice < 0 ? 'order--return' : 'order--default';\r\n return (\r\n \r\n {orderInfomation && }\r\n {groups && }\r\n {orderDetailsLink}\r\n \r\n );\r\n};\r\n\r\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\r\n \r\n {salesOrders && salesOrders.map((salesOrder, index) => )}\r\n \r\n);\r\n\r\nconst OrderHistoryView: React.FC = ({\r\n orderHistoryProps,\r\n header,\r\n alert,\r\n loading,\r\n emptyMessage,\r\n backToShoppingLink,\r\n list,\r\n moreButton\r\n}) => (\r\n \r\n {header && }\r\n {loading}\r\n {alert && (\r\n <>\r\n {alert}\r\n {backToShoppingLink}\r\n \r\n )}\r\n {emptyMessage && (\r\n <>\r\n {emptyMessage}\r\n {backToShoppingLink}\r\n \r\n )}\r\n {list && }\r\n {moreButton && moreButton}\r\n \r\n);\r\n\r\nexport default OrderHistoryView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport const OrderTemplateListView: React.FC = props => {\r\n const {\r\n OrderTemplateList,\r\n status,\r\n statusMessage,\r\n heading,\r\n OrderTemplates,\r\n orderTemplates,\r\n OrderTemplate,\r\n createOrderTemplateButton,\r\n templateHeaderStatusMessage\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {status !== 'SUCCESS' && statusMessage}\r\n \r\n {createOrderTemplateButton}\r\n {templateHeaderStatusMessage}\r\n \r\n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\r\n \r\n {orderTemplates &&\r\n orderTemplates.map(orderTemplate => {\r\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\r\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\r\n return (\r\n \r\n {orderTemplateName}\r\n {orderTemplateImage}\r\n {addToCartButton}\r\n {removeButton}\r\n {orderTemplateStatusMessage}\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateListView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IStoreSelectorViewProps } from '@msdyn365-commerce-modules/store-selector/src/modules/store-selector/./store-selector';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst StoreSelectorView: React.FC = props => {\r\n const {\r\n BodyContainerProps,\r\n FooterContainerProps,\r\n HeaderContainerProps,\r\n HeaderProps,\r\n ModuleProps,\r\n // headerText,\r\n locationsMessage,\r\n search,\r\n state,\r\n spinner,\r\n locationsList,\r\n noLocationsMessage,\r\n terms\r\n } = props;\r\n const currentUrl = ModuleProps.moduleProps.context.request.url.requestUrl.href;\r\n const baseUrl = currentUrl.substring(0, currentUrl.lastIndexOf('/') + 1);\r\n React.useEffect(() => {\r\n const titles = Array.from(document.querySelectorAll('.ms-store-select__location-line-item-store-name'));\r\n if (titles.length > 0) {\r\n titles.forEach(el => {\r\n const storeName = el.textContent;\r\n if (storeName && storeName.startsWith('R ')) {\r\n el.closest('.ms-store-select__location-line-item')?.classList.add('location-type__dealer');\r\n el.textContent = storeName.replace('R ', '');\r\n }\r\n // @ts-ignore\r\n if (props.config.renderLinkToStorePage) {\r\n const goToStoreCtn = el.closest('.ms-store-select__location-line-item')?.querySelector('.go-to-store');\r\n if (goToStoreCtn === null) {\r\n const storeUrl = storeName\r\n ?.replace('R ', '')\r\n .toLowerCase()\r\n .replace(/[ .&@',]/g, '-')\r\n .replace(/-+/g, '-');\r\n const goToStore = document.createElement('div');\r\n goToStore.className = 'go-to-store';\r\n // tslint:disable-next-line:no-inner-html\r\n goToStore.innerHTML = `${\r\n // @ts-ignore\r\n props.resources.goToStorePage ? props.resources.goToStorePage : 'Go to Store page'\r\n }`;\r\n el.closest('.ms-store-select__location-line-item:not(.location-type__dealer)')\r\n ?.querySelector('.ms-store-select__location-line-item-content')\r\n ?.appendChild(goToStore);\r\n }\r\n }\r\n });\r\n }\r\n }, [locationsList]);\r\n\r\n return (\r\n \r\n {HeaderProps}\r\n \r\n {locationsMessage}\r\n {search}\r\n {state.isSearchInProgress ? spinner : <>{locationsList ? locationsList : noLocationsMessage}}\r\n \r\n {terms}\r\n \r\n );\r\n};\r\n\r\nexport default StoreSelectorView;\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 { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\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 AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-loyalty-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountLoyaltyTileLinks;\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 { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\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 {\n const { config, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \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.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\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 { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\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 IAccountLoyaltyTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountLoyaltyTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountLoyaltyTileDescription;\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\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\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\nexport const AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-order-templates-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\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 {\n const { config, resources, data } = this.props;\n\n if (!this.props.context.request.params.isEditor && !isChannelTypeB2B(this.props.context.request)) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\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 AccountOrderTemplatesTile;\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 { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\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\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\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\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\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 { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\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, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\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 OrganizationUsersTile;\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 { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\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\nexport interface IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\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\nexport interface IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\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\nexport interface IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\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 { PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\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 // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\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 { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className)\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n
\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICookieComplianceAcceptButton {\n acceptCookiesButtonText?: string;\n acceptCookiesButtonAriaLabel?: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const CookieComplianceAcceptButton: React.FC = ({\n acceptCookiesButtonText,\n acceptCookiesButtonAriaLabel,\n telemetryContent,\n onClose\n}) => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n {acceptCookiesButtonText}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActionLinksData } from '../cookie-compliance.props.autogenerated';\n\nexport interface ICookieComplianceLinks {\n links: IActionLinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class CookieComplianceLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n \n );\n }\n\n private readonly _mapEditableLinks = (linkdata: IActionLinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\n\nexport default CookieComplianceLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\nimport { ICookieComplianceConfig, ICookieComplianceProps } from './cookie-compliance.props.autogenerated';\n\n/**\n * Alert state interface.\n */\nexport interface IAlertState {\n visible: boolean;\n}\n\n/**\n * Cookie compliance view props interface.\n */\nexport interface ICookieComplianceViewProps extends ICookieComplianceProps<{}> {\n CookieComplianceBanner: IModuleProps;\n AlertProps: IAlertProps;\n Content: INodeProps;\n text?: React.ReactNode;\n links?: React.ReactNode;\n acceptButton?: React.ReactNode;\n className: string;\n onDismiss(): void;\n}\n\n/**\n *\n * CookieCompliance component.\n * @extends {React.PureComponent>}\n */\nclass CookieCompliance extends React.PureComponent, IAlertState> {\n private readonly cookieRef: React.RefObject;\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 constructor(props: ICookieComplianceProps) {\n super(props);\n this.state = { visible: false };\n this.cookieRef = React.createRef();\n this._onDismiss = this._onDismiss.bind(this);\n }\n\n public componentDidMount(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\n this.setState({ visible: true });\n }\n }\n\n public render(): JSX.Element | null {\n const { config, context, resources, telemetry } = this.props;\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\n const { visible } = this.state;\n\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\n let moduleConfig: ICookieComplianceConfig;\n\n try {\n moduleConfig = config;\n } catch (error) {\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\n return
{error}
;\n }\n\n if (isConsentGiven && !visible) {\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\n return null;\n }\n\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\n return <>;\n }\n\n const viewProps = {\n ...this.props,\n onDismiss: this._onDismiss,\n CookieComplianceBanner: {\n moduleProps: this.props,\n className: classnames('ms-cookie-compliance', moduleConfig.className),\n ref: this.cookieRef\n },\n AlertProps: {\n className: 'ms-cookie-compliance__container',\n color: 'white',\n fade: false\n },\n Content: {\n className: 'ms-cookie-compliance__content'\n },\n text: moduleConfig.content && (\n \n ),\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\n \n ),\n acceptButton: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles Link 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.actionLinks?.[linkIndex]) {\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Handles content change event.\n * @param event - Event.\n */\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.content = event.target.value;\n };\n\n private _onDismiss(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies) {\n context.request.cookies.setConsentCookie();\n location.reload();\n }\n this.setState({ visible: false });\n }\n}\n\nexport default CookieCompliance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICookieComplianceViewProps } from './cookie-compliance';\n\nconst CookieComplianceView: React.FC = props => {\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links } = props;\n\n return (\n \n \n \n {text}\n {links}\n \n {acceptButton}\n \n \n );\n};\nexport default CookieComplianceView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n return content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n {this.props.context.request.app?.config?.OmniChannelMedia && this._createAdditionalMediaDrawer()}\n \n );\n });\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { IB2bRequestsStatusViewProps } from '@msdyn365-commerce-modules/account-management';\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusProps, IB2bRequestsStatusResources } from '../definition-extensions/b2b-requests-status.ext.props.autogenerated';\n\n/**\n * B2b Request status View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\nconst B2bRequestsStatusView: React.FC> = props => {\n const { b2bRequestsStatus, heading, table } = props;\n const { continueShoppingButtonTitle } = props.resources;\n const initialCount = 0;\n\n if (props.data.operationRequests.result?.length === initialCount) {\n return (\n \n {heading}\n \n
\n

{props.resources.headingForEmptyRequestStatus}

\n

{props.resources.textForEmptyRequestStatus}

\n \n \n {continueShoppingButtonTitle}\n \n \n
\n
\n
\n );\n }\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHelp,\n IOrderDetailsViewProps,\n IOrderInformation,\n IOrderSummary,\n IPaymentMethods,\n ISalesLine\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n createdDate,\n count,\n amount,\n channelReferenceId,\n channelName,\n channelAddress\n}) => (\n \n {channelName}\n {channelAddress}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\n \n {salesLine}\n {buyAgainButton}\n {errors}\n \n);\n\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\n \n {heading}\n {count}\n \n);\n\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\n \n {delivery && }\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n \n {!isCashAndCarryTransaction && salesLine.salesStatus}\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\n \n \n ))}\n \n )}\n {!delivery.showTimeslot && address}\n {delivery.showTimeslot && (\n \n {address}\n {delivery.pickupDateTimeslot}\n \n )}\n \n \n);\n\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderDetailsView: React.FC = ({\n moduleProps,\n viewModes,\n tableViewActions,\n table,\n placedBy,\n heading,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {placedBy}\n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {tableViewActions}\n {viewModes}\n {table}\n {groups && }\n \n {orderSummary && }\n {payment && }\n \n {help && }\n \n );\n};\n\nexport default OrderDetailsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \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 { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\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 { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \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 { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n"],"names":["props","AccountGenericTile","heading","links","textField","config","text","React","Msdyn365","className","Module","Object","assign","layout","HeadingTag","layoutClassNames","layoutNames","wideLayout","compact","getLayoutClassName","AccountLoyalty","cardNumber","joinDate","points","displayJoinDate","displayAppleWallet","displayGoogleWallet","appleWalletBtnImage","googleWalletBtnImage","pointsExpirationReminder","loyaltyTiersLink","walletLoyaltyProgramName","loyaltyTierLabel","loyaltyCardLabel","loyaltyCardLabel_CL","availablePointsLabel","availablePointsLabel_CL_before","availablePointsLabel_CL_after","viewLoyaltyPageText","resources","firstLoyaltyGroup","moduleProps","data","loyaltyCard","result","LoyaltyGroups","highestTierId","HighestActiveLoyaltyCardTier","tierName","LoyaltyCardTiers","filter","tier","RecordId","TierId","user_email","context","request","user","emailAddress","user_card_number","points_numbers","split","tierClass","apple_wallet_check","src","altText","google_wallet_check","programString","includes","isWideOrCompactLayout","Container","Row","href","alt","height","endsWith","classnames","linkUrl","destinationUrl","linkText","PickUpAtStoreComponent","_ref","PickUpAtStore","label","location","Node","EmailDeliveryComponent","_ref2","EmailDelivery","LineItemComponent","_ref3","LineItem","item","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","lineItems","map","lineItem","key","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","undefined","index","OrderSummaryComponent","_ref9","lines","other","_objectWithoutProperties","_excluded","locale","taxAmount","subtotal","shipping","otherCharge","toLowerCase","_renderCustomTaxLine","taxLabel","toBeCalculatedText","style","marginBottom","tax","totalDiscounts","loyalty","giftCard","orderTotal","_props$data","canShow","checkoutProps","headerProps","hasSalesOrder","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","loading","alert","title","guidedForm","orderSummary","placeOrderButton","termsAndConditions","keepShoppingButton","extraOrdersSummaryEu","checkout","checkoutCart","cart","TaxAmount","greeting","setGreeting","status","greetingMessageCAP","greetingSignCAP","async","_props$context","_props$data2","_checkoutCartState$ca","activeCartState","getCartState","actionContext","checkoutCartState","ExtensionProperties","fieldVal","Key","Value","BooleanValue","extKeysToRemove","_checkoutCartState$ca2","extProps","extPropsToEmpty","propToRemove","_find","obj","push","updateExtensionProperties","newExtensionProperties","removeExtProps","_checkoutCartState$ca3","_checkoutCartState$ca4","greetingVal","StringValue","getCartProps","greetingTitle","greetingMessage","greetingSign","addGreetingText","insertModifyYourPromoCode","OrderConfirmationOrderInfomation","orderInformationProps","receiptEmail","createdDate","channelReferenceId","OrderConfirmationSalesLine","salesLineProps","salesLine","buyAgainButton","OrderConfirmationGroupDelivery","deliveryProps","count","processing","address","trackingInfo","pickupDateTimeslot","OrderConfirmationGroup","groupProps","delivery","salesLinesProps","salesLines","shippingItemsToYou","OrderConfirmationGroups","groupsProps","groups","group","OrderConfirmationOrderSummary","orderSummaryProps","totalAmount","earnedPoints","itemProp","OrderConfirmationPayment","paymentMethodsProps","methods","OrderConfirmationHelp","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_moduleProps$modulePr","_data$orderHydration$","backToShoppingLink","orderInfomation","payment","help","slots","_modprops$moduleProps","_currentCartState$car","_find2","_currentCartState$car2","currentCartState","modprops","extPropsToRemove","cartLines","CartLines","length","setRemoveData","salseOrderData","orderHydration","salesOrder","commisionJunction","OrderHistoryOrderInfomation","salesId","receiptId","channelName","amount","OrderHistoryGroupDelivery","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderDetailsLink","dataPrice","price","CustomerContextualPrice","orderType","OrderHistoryList","listProps","salesOrders","orderHistoryProps","header","emptyMessage","list","moreButton","OrderTemplateListView","OrderTemplateList","statusMessage","OrderTemplates","orderTemplates","OrderTemplate","createOrderTemplateButton","templateHeaderStatusMessage","orderTemplate","_renderOrderTemplate","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","removeButton","orderTemplateName","BodyContainerProps","FooterContainerProps","HeaderContainerProps","HeaderProps","ModuleProps","locationsMessage","search","state","spinner","locationsList","noLocationsMessage","terms","currentUrl","url","requestUrl","baseUrl","substring","lastIndexOf","titles","Array","from","document","querySelectorAll","forEach","el","storeName","textContent","_el$closest","startsWith","closest","classList","add","replace","renderLinkToStorePage","_el$closest2","querySelector","_el$closest3","storeUrl","goToStore","createElement","innerHTML","goToStorePage","appendChild","isSearchInProgress","_mapEditableLinks","linkdata","telemetryContent","editableLinks","payLoad","getPayloadObject","link","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","openInNewTab","role","additionalProperties","onTextChange","requestContext","editProps","AccountLoyaltyTile","constructor","super","handleHeadingChange","event","this","target","value","handleLinkTextChange","linkIndex","signUpLinkText","viewLinkText","getTelemetryObject","telemetryPageName","friendlyName","telemetry","render","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","description","CardNumber","decimalPrecision","RewardPoints","rewardPoint","ActivePoints","format","toFixed","viewProps","_objectSpread","tag","onEdit","LinksComponent","DescriptionComponent","renderView","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","params","isEditor","isChannelTypeB2B","accountOrderTemplatesTileDescription","orderTemplatesCount","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","id","disabled","onClick","Button","type","message","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","pattern","onChange","forId","htmlFor","PasswordReset","moduleClassName","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","ID","newPasswordRegex","PAT","reenterPasswordRegex","verifying_blurb","loadingMessage","PasswordRegex","defaultRegex","source","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","viewState","isShowLoading","passwordReset","modal","Modal","isOpen","modalBody","ModalBody","icon","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","defaultAADConainer","display","aadConainer","passwordResetLocalAccount","_renderLocalAccount","localAccount","items","_renderInput","newPasswordLabelText","confirmPasswordLabelText","errorMessage","PasswordResetErrorComponent","passwordEntryMismatchError","requiredFieldMissingError","fieldIncorrectError","buttonsWrapper","buttons","PasswordResetButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","labelText","wrapper","PasswordResetLabelComponent","input","PasswordResetInputComponent","__decorate","observable","observer","PasswordResetItem","PasswordResetLoading","error","button","LocalAccount","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","btnClass","onTelemetryClick","ContentBlock","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$context$r","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","imageProps","gridSettings","imageSettings","contentBlockLinks","ArrayExtensions","hasElements","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","CookieComplianceAcceptButton","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","onClose","CookieComplianceLinks","CookieCompliance","_this$props$config$ac","actionLinks","handleContentChange","content","visible","cookieRef","_onDismiss","bind","cookies","isConsentGiven","setState","acceptCookiesAriaLabel","moduleConfig","MsDyn365","isBrowser","onDismiss","CookieComplianceBanner","ref","AlertProps","color","fade","Content","acceptButton","setConsentCookie","reload","Alert","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","_renderErrorBlock","errorData","errors","Wrapper","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","promotionOptions","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","expandProductsButton","table","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","buildReviewCard","cardProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modalHeader","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","URL","origin","redirectUrl","searchParameters","searchParams","set","fieldName","isNullOrWhitespace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","onSubmit","orderNumberInput","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","callerContext","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","validateCatalogId","reaction","product","actionInput","AttributesForSelectedVariantInput","apiSettings","channelId","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","_renderProductCell","app","OmniChannelMedia","_createAdditionalMediaDrawer","_this$props$context$r2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","additionalMediaLocations","mediaLocation","Uri","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","trueValueText","falseValueText","rowdata","row","ObjectExtensions","isNullOrUndefined","SocialShare","socialShareItems","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","SocialShareView","SocialShareElement","_props$data$operation","b2bRequestsStatus","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","isReady","OrderInfomation","channelAddress","SalesLine","GroupDelivery","Group","isCashAndCarryTransaction","salesStatus","deliveryType","shipment","showTimeslot","pickupProps","Groups","OrderSummary","Payment","Help","viewModes","tableViewActions","placedBy","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","Image","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","renderTitle","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded"],"sourceRoot":""}