{"version":3,"file":"static/js/10.bcf7f5c129ecb587d481.chunk.js","mappings":"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","sources":["webpack://nile.commerce.online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://nile.commerce.online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://nile.commerce.online/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://nile.commerce.online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://nile.commerce.online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://nile.commerce.online/./src/modules/password-reset/password-reset.tsx?0983","webpack://nile.commerce.online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://nile.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://nile.commerce.online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://nile.commerce.online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://nile.commerce.online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://nile.commerce.online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://nile.commerce.online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://nile.commerce.online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://nile.commerce.online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://nile.commerce.online/./src/modules/content-block/components/links.tsx?abbf","webpack://nile.commerce.online/./src/modules/content-block/content-block.tsx?3084","webpack://nile.commerce.online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://nile.commerce.online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://nile.commerce.online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://nile.commerce.online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://nile.commerce.online/./src/modules/social-share/social-share.tsx?899b","webpack://nile.commerce.online/./src/modules/tile-list/tile-list.tsx?78cb","webpack://nile.commerce.online/./src/themes/nile-theme/views/checkout-gift-card.view.tsx?097f","webpack://nile.commerce.online/./src/themes/nile-theme/views/checkout-loyalty.view.tsx?44cd","webpack://nile.commerce.online/./src/themes/nile-theme/views/k3-compositions.view.tsx?f300","webpack://nile.commerce.online/./src/themes/nile-theme/views/ratings-histogram.view.tsx?e731","webpack://nile.commerce.online/./src/themes/nile-theme/views/search-result-container.view.tsx?45ff","webpack://nile.commerce.online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://nile.commerce.online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://nile.commerce.online/./src/modules/content-block/content-block.view.tsx?1773","webpack://nile.commerce.online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://nile.commerce.online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://nile.commerce.online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://nile.commerce.online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://nile.commerce.online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://nile.commerce.online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://nile.commerce.online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://nile.commerce.online/./src/modules/adventureworks/views/b2b-requests-status.view.tsx?de3b","webpack://nile.commerce.online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://nile.commerce.online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://nile.commerce.online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://nile.commerce.online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://nile.commerce.online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://nile.commerce.online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://nile.commerce.online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://nile.commerce.online/./src/modules/adventureworks/views/search.view.tsx?bfa7","webpack://nile.commerce.online/./src/modules/adventureworks/views/sign-in.view.tsx?048a","webpack://nile.commerce.online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://nile.commerce.online/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://nile.commerce.online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980"],"sourcesContent":["/*!\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<IAccountLoyaltyTileLinks> = ({ links, telemetryContent, onTextChange, requestContext }) => {\n    if (links.length === 0) {\n        return null;\n    }\n    const editableLinks = _mapEditableLinks(links, telemetryContent);\n    return (\n        <div className='ms-account-loyalty-tile__links'>\n            {editableLinks && editableLinks.length > 0 ? (\n                <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n            ) : null}\n        </div>\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<IAccountLoyaltyTileData> {\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<IAccountLoyaltyTileProps<IAccountLoyaltyTileData>>}\n */\nclass AccountLoyaltyTile extends React.PureComponent<IAccountLoyaltyTileProps<IAccountLoyaltyTileData>> {\n    private readonly telemetryContent: ITelemetryContent;\n\n    constructor(props: IAccountLoyaltyTileProps<IAccountLoyaltyTileData>) {\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                <Msdyn365.Text\n                    className='ms-account-loyalty-tile__heading'\n                    tag={heading.tag || 'h2'}\n                    text={heading.text}\n                    editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n                />\n            ),\n            links: (\n                <LinksComponent\n                    {...{\n                        links: [link],\n                        onTextChange: this.handleLinkTextChange,\n                        requestContext: this.props.context.request,\n                        telemetryContent: this.telemetryContent\n                    }}\n                />\n            ),\n            description: <DescriptionComponent description={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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } 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 { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n    isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n    wrapper: INodeProps;\n    key: string;\n    label: React.ReactNode;\n    errorMessage: React.ReactNode;\n    input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n    localAccount: INodeProps;\n    items: IAccountProfileEditItem[];\n    errorMessage: React.ReactNode[];\n    buttonsWrapper: INodeProps;\n    buttons: React.ReactNode[];\n    verificationSuccessModal: INodeProps;\n    verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n    modal: INodeProps;\n    modalBody: INodeProps;\n    icon: React.ReactNode;\n    message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n    className: string;\n    viewState: IAccountProfileEditViewState;\n    loading: IAccountProfileEditLoading;\n    accountProfileEdit: IModuleProps;\n    defaultAADConainer: INodeProps;\n    aadConainer: INodeProps;\n    heading: React.ReactNode;\n    accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component<IAccountProfileEditProps<IAccountProfileEditConfig>>}\n */\n@observer\nclass AccountProfileEdit extends React.Component<IAccountProfileEditProps<IAccountProfileEditConfig>> {\n    private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n    private readonly telemetryContent: ITelemetryContent;\n\n    @observable private givenName: string;\n\n    @observable private surname: string;\n\n    @observable private email: string;\n\n    @observable private emailRegex: 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: IAccountProfileEditProps<IAccountProfileEditConfig>) {\n        super(props);\n        this.givenName = '';\n        this.surname = '';\n        this.email = '';\n        this.emailRegex = EmailRegex.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(\n        nextProps: IAccountProfileEditProps<IAccountProfileEditConfig>,\n        nextState: IAccountProfileEditViewState\n    ): 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            accountProfileEdit: {\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: <AccountProfileEditLoadingIconComponent className={this.moduleClassName} />,\n                message: <AccountProfileEditLoadingMessageComponent className={this.moduleClassName} message={resources.loadingMessage} />\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 && config.heading.text && (\n                <Msdyn365.Text\n                    className={`${this.moduleClassName}__heading`}\n                    {...config.heading}\n                    editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n                />\n            ),\n            accountProfileEditLocalAccount: 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    public onTextBoxChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n        const id = event.target.id;\n        const value = event.target.value;\n\n        switch (id.toLowerCase()) {\n            case 'givenname': {\n                this.givenName = value;\n                break;\n            }\n            case 'surname': {\n                this.surname = value;\n                break;\n            }\n            case 'email': {\n                this.emailRegex = value;\n                break;\n            }\n            default:\n        }\n    };\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        const { resources } = this.props;\n        const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\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(\n                (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n                    const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n                    switch (obj.ID.toLowerCase()) {\n                        case 'givenname': {\n                            this.givenName = value;\n                            break;\n                        }\n                        case 'surname': {\n                            this.surname = value;\n                            break;\n                        }\n                        case 'email': {\n                            this.email = value;\n                            this.emailRegex = obj.PAT;\n                            obj.PAT_DESC = invalidEmailAddressError;\n                            break;\n                        }\n                        default:\n                    }\n                }\n            );\n        }\n    };\n\n    private _htmlDecode(str: string): string {\n        const e = document.createElement('div');\n\n        e.innerHTML = str;\n        return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\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                required_field: resources.requiredFieldMissingError,\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(): IAccountProfileEditLocalAccount {\n        const { config, resources } = this.props;\n        const localAccount = {\n            localAccount: {\n                id: 'attributeList',\n                className: `${this.moduleClassName}__account-items attr`\n            },\n            items: [\n                this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n                this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n            ],\n            errorMessage: [\n                <AccountProfileEditErrorComponent\n                    key='requiredFieldMissing'\n                    id='requiredFieldMissing'\n                    className={this.moduleClassName}\n                    message={resources.requiredFieldMissingSummaryError}\n                />,\n                <AccountProfileEditErrorComponent\n                    key='fieldIncorrect'\n                    id='fieldIncorrect'\n                    className={this.moduleClassName}\n                    message={resources.fieldIncorrectError}\n                />,\n                <AccountProfileEditErrorComponent\n                    key='claimVerificationServerError'\n                    id='claimVerificationServerError'\n                    className={this.moduleClassName}\n                />\n            ],\n            buttonsWrapper: {\n                className: `${this.moduleClassName}__buttons`\n            },\n            buttons: [\n                <AccountProfileEditButtonComponent\n                    key='continue'\n                    id='continue'\n                    className={`${this.moduleClassName}__save-button`}\n                    ariaLabel={resources.saveButtonAriaLabel}\n                    text={resources.saveButtonText}\n                    telemetryContent={this.telemetryContent}\n                />,\n                <AccountProfileEditButtonComponent\n                    key='cancel'\n                    id='cancel'\n                    className={`${this.moduleClassName}__cancel-button`}\n                    ariaLabel={resources.cancelButtonText}\n                    text={resources.cancelButtonText}\n                    telemetryContent={this.telemetryContent}\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        if (config.showEmail && this.email !== '') {\n            localAccount.items.push(\n                this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n            );\n        }\n\n        return localAccount;\n    }\n\n    private _renderInput(\n        id: string,\n        type: string,\n        value: string,\n        labelText: string,\n        maxLength?: string,\n        pattern?: string\n    ): IAccountProfileEditItem {\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                <AccountProfileEditLabelComponent\n                    {...{\n                        id,\n                        forId: id,\n                        className,\n                        text: labelText\n                    }}\n                />\n            ),\n            errorMessage: (\n                <AccountProfileEditErrorComponent\n                    {...{\n                        className: this.moduleClassName,\n                        type: 'item'\n                    }}\n                />\n            ),\n            input: (\n                <AccountProfileEditInputComponent\n                    {...{\n                        id,\n                        type,\n                        value,\n                        pattern,\n                        className,\n                        maxLength,\n                        onChange: this.onTextBoxChange\n                    }}\n                />\n            )\n        };\n    }\n}\n\nexport default AccountProfileEdit;\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<IAccountLoyaltyTileViewProps> = props => {\n    const { AccountLoyaltyTile, heading, description, links } = props;\n\n    return (\n        <Module {...AccountLoyaltyTile}>\n            {heading}\n            {description}\n            {links}\n        </Module>\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n    IAccountProfileEditItem,\n    IAccountProfileEditLoading,\n    IAccountProfileEditLocalAccount,\n    IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC<IAccountProfileEditItem> = ({ wrapper, label, errorMessage, input }) => {\n    return (\n        <Node {...wrapper}>\n            {label}\n            {errorMessage}\n            {input}\n        </Node>\n    );\n};\n\nconst LocalAccount: React.FC<IAccountProfileEditLocalAccount> = ({\n    localAccount,\n    items,\n    errorMessage,\n    buttonsWrapper,\n    buttons,\n    verificationSuccessModal,\n    verificationSuccessModalMessage\n}) => {\n    return (\n        <Node {...localAccount}>\n            {items &&\n                items.map((item: IAccountProfileEditItem) => {\n                    // eslint-disable-next-line react/jsx-key\n                    return <AccountProfileEditItem {...item} />;\n                })}\n            {errorMessage &&\n                errorMessage.map((error: React.ReactNode, index: number) => {\n                    return <React.Fragment key={index}>{error}</React.Fragment>;\n                })}\n            <Node {...buttonsWrapper}>\n                {buttons &&\n                    buttons.map((button: React.ReactNode, index: number) => {\n                        return <React.Fragment key={index}>{button}</React.Fragment>;\n                    })}\n            </Node>\n\n            <Node {...verificationSuccessModal}>\n                <Node {...verificationSuccessModalMessage} />\n            </Node>\n        </Node>\n    );\n};\n\nconst AccountProfileEditLoading: React.FC<IAccountProfileEditLoading> = ({ modal, modalBody, icon, message }) => {\n    return (\n        <Node {...modal}>\n            <Node {...modalBody}>\n                {icon}\n                {message}\n            </Node>\n        </Node>\n    );\n};\n\nconst AccountProfileEditView: React.FC<IAccountProfileEditViewProps> = props => {\n    const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n    return (\n        <Module {...accountProfileEdit}>\n            {viewState.isShowLoading && <Node {...defaultAADConainer} />}\n            {viewState.isShowLoading && <AccountProfileEditLoading {...loading} />}\n            <Node {...aadConainer}>\n                {heading}\n                {LocalAccount(accountProfileEditLocalAccount)}\n            </Node>\n        </Module>\n    );\n};\n\nexport default AccountProfileEditView;\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<IPasswordResetProps<IPasswordResetConfig>>}\n */\n@observer\nclass PasswordReset extends React.Component<IPasswordResetProps<IPasswordResetConfig>> {\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<IPasswordResetConfig>) {\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<IPasswordResetConfig>, 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: <PasswordResetLoadingIconComponent className={this.moduleClassName} />,\n                message: <PasswordResetLoadingMessageComponent className={this.moduleClassName} message={resources.loadingMessage} />\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                <Msdyn365.Text\n                    className={`${this.moduleClassName}__heading`}\n                    {...config.heading}\n                    editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\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                <PasswordResetErrorComponent\n                    key='passwordEntryMismatch'\n                    id='passwordEntryMismatch'\n                    className={this.moduleClassName}\n                    message={resources.passwordEntryMismatchError}\n                />,\n                <PasswordResetErrorComponent\n                    key='requiredFieldMissing'\n                    id='requiredFieldMissing'\n                    className={this.moduleClassName}\n                    message={resources.requiredFieldMissingError}\n                />,\n                <PasswordResetErrorComponent\n                    key='email_fail_throttled'\n                    id='fieldIncorrect'\n                    className={this.moduleClassName}\n                    message={resources.fieldIncorrectError}\n                />,\n                <PasswordResetErrorComponent\n                    key='claimVerificationServerError'\n                    id='claimVerificationServerError'\n                    className={this.moduleClassName}\n                />\n            ],\n            buttonsWrapper: {\n                className: `${this.moduleClassName}__buttons`\n            },\n            buttons: [\n                <PasswordResetButtonComponent\n                    key='continue'\n                    id='continue'\n                    className={`${this.moduleClassName}__continue-button`}\n                    ariaLabel={resources.saveButtonAriaLabel}\n                    text={resources.saveButtonText}\n                    telemetryContent={this.telemetryContent}\n                />,\n                <PasswordResetButtonComponent\n                    key='cancel'\n                    id='cancel'\n                    className={`${this.moduleClassName}__cancel-button`}\n                    ariaLabel={resources.cancelButtonText}\n                    text={resources.cancelButtonText}\n                    telemetryContent={this.telemetryContent}\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                <PasswordResetLabelComponent\n                    {...{\n                        id,\n                        forId: id,\n                        className,\n                        text: labelText\n                    }}\n                />\n            ),\n            errorMessage: (\n                <PasswordResetErrorComponent\n                    {...{\n                        className: this.moduleClassName,\n                        type: 'item'\n                    }}\n                />\n            ),\n            input: (\n                <PasswordResetInputComponent\n                    {...{\n                        id,\n                        type,\n                        pattern,\n                        className\n                    }}\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<IPasswordResetItem> = ({ wrapper, label, errorMessage, input }) => {\n    return (\n        <Node {...wrapper}>\n            {label}\n            {errorMessage}\n            {input}\n        </Node>\n    );\n};\n\nconst LocalAccount: React.FC<IPasswordResetLocalAccount> = ({\n    localAccount,\n    items,\n    errorMessage,\n    buttonsWrapper,\n    buttons,\n    verificationSuccessModal,\n    verificationSuccessModalMessage\n}) => {\n    return (\n        <Node {...localAccount}>\n            {items &&\n                items.map((item: IPasswordResetItem) => {\n                    // eslint-disable-next-line react/jsx-key\n                    return <PasswordResetItem {...item} />;\n                })}\n            {errorMessage &&\n                errorMessage.map((error: React.ReactNode, index: number) => {\n                    return <React.Fragment key={index}>{error}</React.Fragment>;\n                })}\n            <Node {...buttonsWrapper}>\n                {buttons &&\n                    buttons.map((button: React.ReactNode, index: number) => {\n                        return <React.Fragment key={index}>{button}</React.Fragment>;\n                    })}\n            </Node>\n\n            <Node {...verificationSuccessModal}>\n                <Node {...verificationSuccessModalMessage} />\n            </Node>\n        </Node>\n    );\n};\n\nconst PasswordResetLoading: React.FC<IPasswordResetLoading> = ({ modal, modalBody, icon, message }) => {\n    return (\n        <Node {...modal}>\n            <Node {...modalBody}>\n                {icon}\n                {message}\n            </Node>\n        </Node>\n    );\n};\n\nconst PasswordResetView: React.FC<IPasswordResetViewProps> = props => {\n    const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n    return (\n        <Module {...passwordReset}>\n            {viewState.isShowLoading && <Node {...defaultAADConainer} />}\n            {viewState.isShowLoading && <PasswordResetLoading {...loading} />}\n            <Node {...aadConainer}>\n                {heading}\n                {LocalAccount(passwordResetLocalAccount)}\n            </Node>\n        </Module>\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 { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-header';\nconst headingClassName = `${componentClassName}__heading`;\nconst orderCountClassName = `${componentClassName}__order-count`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderResources {\n    orderCountLabel: string;\n    ordersCountLabel: string;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderData {\n    salesOrders: SalesOrder[];\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderProps\n    extends Msdyn365.IComponentProps<IOrderHistoryWithSearchAndFiltersHeaderData> {\n    className?: string;\n    resources: IOrderHistoryWithSearchAndFiltersHeaderResources;\n    textProps: Msdyn365.ITextProps;\n    showOrderCount: boolean;\n    extraActions?: React.ReactNode;\n    onChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent: React.FC<IOrderHistoryWithSearchAndFiltersHeaderProps> = (\n    props: IOrderHistoryWithSearchAndFiltersHeaderProps\n) => {\n    const {\n        resources,\n        data: { salesOrders },\n        textProps,\n        showOrderCount,\n        extraActions\n    } = props;\n\n    const orderCount = salesOrders?.length;\n    const orderCountText = `(${orderCount} ${orderCount === 1 ? resources?.orderCountLabel : resources?.ordersCountLabel})`;\n\n    return (\n        <Node className={classnames(props.className, componentClassName)}>\n            {textProps?.text && (\n                <Msdyn365.Text\n                    {...textProps}\n                    className={headingClassName}\n                    tag={textProps.tag || 'h2'}\n                    editProps={{ onEdit: props.onChange, requestContext: props.context.request }}\n                />\n            )}\n            {showOrderCount && <span className={orderCountClassName}>{orderCountText}</span>}\n            {extraActions}\n        </Node>\n    );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n */\nexport const OrderHistoryWithSearchAndFiltersHeaderComponent: React.FunctionComponent<IOrderHistoryWithSearchAndFiltersHeaderProps> = Msdyn365.msdyn365Commerce.createComponent<\n    // @ts-expect-error\n    IOrderHistoryWithSearchAndFiltersHeaderProps\n>('OrderHistoryWithSearchAndFiltersHeaderComponent', { component: OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent });\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<IAccountOrganizationUsersTileDescription> = ({ description }) => (\n    <p className='ms-account-organization-users-tile__description'>{description}</p>\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<IAccountOrganizationUsersTileLinks> = ({\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        <div className='ms-account-organization-users-tile__links'>\n            {editableLinks && editableLinks.length > 0 ? (\n                <Msdyn365.Links links={editableLinks} editProps={{ onTextChange, requestContext }} />\n            ) : null}\n        </div>\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<IOrganizationUsersTileData> {\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<IOrganizationUsersTileProps<IOrganizationUsersTileData>>}\n */\nclass OrganizationUsersTile extends React.PureComponent<IOrganizationUsersTileProps<IOrganizationUsersTileData>> {\n    private readonly telemetryContent?: ITelemetryContent;\n\n    constructor(props: IOrganizationUsersTileProps<IOrganizationUsersTileData>) {\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                <Msdyn365.Text\n                    className='ms-account-organization-users-tile__heading'\n                    tag={heading.tag}\n                    text={heading.text}\n                    editProps={{ onEdit: this.handleHeadingChange, requestContext: this.props.context.request }}\n                />\n            ),\n            links: links && links.length > 0 && (\n                <AccountOrganizationUsersTileLinks\n                    {...{\n                        links,\n                        onTextChange: this.handleLinkTextChange,\n                        requestContext: this.props.context.request,\n                        telemetryContent: this.telemetryContent\n                    }}\n                />\n            ),\n            description: (\n                <AccountOrganizationUsersTileDescription description={format(accountOrganizationUsersTileDescription, numUsers || 0)} />\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 QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n    /**\n     * The confirmation text to show.\n     */\n    confirmationText: string;\n\n    /**\n     * Should the order confirmation number shown as QR code or not.\n     * If false, the order confirmation number (channel reference ID) will be shown as text.\n     */\n    shouldShowQrCode: boolean;\n\n    /**\n     * The label shows for channel reference ID.\n     */\n    channelReferenceIdLabel: string;\n\n    /**\n     * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n     */\n    channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC<ICheckInConfirmationProps> = ({\n    confirmationText,\n    shouldShowQrCode,\n    channelReferenceIdLabel,\n    channelReferenceId\n}) => {\n    return (\n        <div className='msc-check-in-for-pickup__confirmation-section col-sm-12 col-md-4 offset-md-4'>\n            <h2 className='msc-check-in-for-pickup__confirmation-heading'>{confirmationText}</h2>\n            {channelReferenceId && (\n                <p className='msc-check-in-for-pickup__confirmation-channel-reference-id'>\n                    {`${channelReferenceIdLabel} ${channelReferenceId}`}\n                </p>\n            )}\n            {channelReferenceId && shouldShowQrCode && (\n                <span className='msc-check-in-for-pickup__confirmation-qr-code'>\n                    <QRCode value={channelReferenceId} size={80} />\n                </span>\n            )}\n        </div>\n    );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n    errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC<ICheckInErrorProps> = ({ errorMessage }) => {\n    if (!errorMessage) {\n        return null;\n    }\n\n    return (\n        <span className='msc-alert msc-alert-noborder msc-alert-danger'>\n            <span className='msi-exclamation-triangle' aria-hidden='true' />\n            <span>{errorMessage}</span>\n        </span>\n    );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n    formKey: IAdditionalInformationKeysData;\n    value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n    /**\n     * If the module has header error to show.\n     */\n    isHeaderError: boolean;\n\n    /**\n     * If the customer has checked in.\n     */\n    isCheckedIn: boolean;\n\n    /**\n     * Additional information to capture.\n     */\n    additionalInformation: IDictionary<string>[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps<ICheckInForPickupConfig> {\n    headerError: React.ReactNode;\n    confirmationComponent: React.ReactNode;\n    viewState: ICheckInViewState;\n    additionalInformationValues: string[];\n    checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise<void>;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n    /**\n     * The header error message.\n     */\n    headerErrorMessage: string;\n\n    /**\n     * If the customer has checked in successfully.\n     */\n    isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component<ICheckInForPickupProps<ICheckInForPickupConfig>, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component<ICheckInForPickupProps<ICheckInForPickupConfig>, ICheckInForPickupState> {\n    public constructor(props: ICheckInForPickupProps<ICheckInForPickupConfig>) {\n        super(props);\n        this.state = {\n            headerErrorMessage: '',\n            isCheckedIn: false\n        };\n    }\n\n    public render(): JSX.Element | null {\n        const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n        const viewProps = {\n            ...this.props,\n            headerError: <CheckInErrorComponent errorMessage={this.state.headerErrorMessage} />,\n            confirmationComponent: (\n                <CheckInConfirmationComponent\n                    confirmationText={this.props.resources.defaultConfirmationText}\n                    shouldShowQrCode={this.props.config.shouldShowQrCode as boolean}\n                    channelReferenceIdLabel={this.props.resources.confirmationIdLabel}\n                    channelReferenceId={this.props.context.request.query?.channelReferenceId}\n                />\n            ),\n            checkInForOrderPickup: this.checkInForOrderPickup,\n            additionalInformationValues: this.props.config.additionalInformationKeys\n                ? this.props.config.additionalInformationKeys.map(() => {\n                      return {};\n                  })\n                : undefined,\n            viewState: {\n                isHeaderError,\n                isCheckedIn: this.state.isCheckedIn\n            }\n        };\n\n        return this.props.renderView(viewProps) as React.ReactElement;\n    }\n\n    public shouldComponentUpdate(nextProps: ICheckInForPickupProps<ICheckInForPickupConfig>, nextState: ICheckInForPickupState): boolean {\n        if (\n            this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n            this.props.config.confirmationText !== nextProps.config.confirmationText\n        ) {\n            return true;\n        }\n        if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n            return true;\n        }\n        return false;\n    }\n\n    public async componentDidMount(): Promise<void> {\n        await this._onInit();\n    }\n\n    /**\n     * The async callback for submitting check-in.\n     * @param additionalInformationList - The optional additional information captured.\n     * @returns The async result.\n     */\n    public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise<void> => {\n        const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n        const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n        const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n        const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n            additionalInformationKeyValuePair => {\n                return {\n                    formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n                    value: additionalInformationKeyValuePair.value\n                };\n            }\n        );\n        const extensionPropertyList: CommerceProperty[] = [];\n        if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n            for (const additionalInformation of additionalInformationToSubmit) {\n                extensionPropertyList.push({\n                    Key: additionalInformation.formKey,\n                    Value: {\n                        StringValue: additionalInformation.value\n                    }\n                });\n            }\n        }\n        try {\n            await SalesOrdersDataActions.checkInForOrderPickupAsync(\n                { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n                channelId,\n                packingSlipId,\n                channelReferenceId,\n                extensionPropertyList\n            );\n        } catch (error) {\n            this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n            this.props.telemetry.error(error);\n            return Promise.resolve();\n        }\n        this.setState({ headerErrorMessage: '', isCheckedIn: true });\n        return Promise.resolve();\n    };\n\n    /**\n     * The action performed on module initialization.\n     * @returns The async result.\n     */\n    private readonly _onInit = async (): Promise<void> => {\n        const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n        const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n        const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n        if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n            // No error message shown in editor mode.\n            if (this.props.context.request.params.isEditor) {\n                return Promise.resolve();\n            } else if (this.props.context.request.params.isPreview) {\n                this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n            } else {\n                this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n            }\n            this.props.context.telemetry.error(\n                'One or more required URL parameters are missing. ' +\n                    'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n            );\n            return Promise.resolve();\n        }\n\n        const { additionalInformationKeys } = this.props.config;\n\n        const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n        // Call check-in-for-pickup directly if no additional information to capture.\n        if (!hasAdditionalInformation) {\n            try {\n                await SalesOrdersDataActions.checkInForOrderPickupAsync(\n                    { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n                    channelId,\n                    packingSlipId,\n                    channelReferenceId\n                );\n            } catch (error) {\n                this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n                this.props.telemetry.error(error);\n                return Promise.resolve();\n            }\n            this.setState({ headerErrorMessage: '', isCheckedIn: true });\n        }\n        return Promise.resolve();\n    };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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        <Msdyn365.Text\n            text={additionalContentHeading}\n            tag='p'\n            className='ms-content-block__details__additional-content__text'\n            editProps={{\n                /**\n                 * On edit event for heading text change.\n                 * @param event - Change event.\n                 */\n                onEdit: event => {\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        <Msdyn365.Text\n            text={additionalContentParagraphText}\n            tag='p'\n            className='ms-content-block__details__additional-content__paragraph'\n            editProps={{\n                /**\n                 * On edit event for heading text change.\n                 * @param event - Change event.\n                 */\n                onEdit: event => {\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        <Msdyn365.Link\n            key={linkIndex}\n            link={editableLink}\n            editProps={{\n                /**\n                 * Handle additional Link Text change.\n                 * @param event - The keyboard event.\n                 */\n                onTextChange: event => {\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<IContentCardLinks>}\n */\nexport class ContentCardLinks extends React.PureComponent<IContentCardLinks> {\n    public render(): JSX.Element {\n        const editableLinks = this._mapEditableLinks(this.props.links);\n        return (\n            <div className='ms-content-block__cta'>\n                {editableLinks && editableLinks.length > 0 ? (\n                    <Msdyn365.Links\n                        links={editableLinks}\n                        editProps={{ onTextChange: this.props.onTextChange, requestContext: this.props.requestContext }}\n                    />\n                ) : null}\n            </div>\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<IContentBlockProps{}>}\n */\nexport class ContentBlock extends React.PureComponent<IContentBlockProps<{}>> {\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            <Msdyn365.Text\n                className='ms-content-block__title'\n                tag={heading.tag ?? 'h1'}\n                text={heading.text}\n                editProps={{ onEdit: this.handleTextChange, requestContext: this.props.context.request }}\n            />\n        );\n\n        const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n            <LinksComponent\n                {...{\n                    links,\n                    onTextChange: this.handleLinkTextChange,\n                    requestContext: this.props.context.request,\n                    telemetryContent: this.telemetryContent,\n                    role: (this.props.config as IContentBlockFullConfig).msdyn365__moduleLayout === 'tile' ? 'link' : 'button'\n                }}\n            />\n        );\n        const contentBlockText = paragraph && (\n            <Msdyn365.RichTextComponent\n                text={paragraph}\n                className='ms-content-block__text'\n                editProps={{ onEdit: this.handleParagraphChange, requestContext: this.props.context.request }}\n            />\n        );\n\n        let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n        if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n            contentBlockImageSettings = {\n                ...image?.imageSettings,\n                backgroundColor: this.props.config.backgroundColor\n            };\n        } else {\n            contentBlockImageSettings = image?.imageSettings;\n        }\n\n        const imageProps = {\n            gridSettings: this.props.context.request.gridSettings ?? {},\n            imageSettings: contentBlockImageSettings\n        };\n\n        const contentBlockImage = (\n            <Msdyn365.Image\n                {...image}\n                {...imageProps}\n                requestContext={this.props.context.request}\n                preserveImageSpace={true}\n                editProps={{\n                    key: this.props.config.image ?? {},\n                    requestContext: this.props.context.request,\n                    moduleType: this.props.typeName,\n                    imagePropertyName: 'image',\n                    moduleId: this.props.id,\n                    layout: (this.props.config as IContentBlockFullConfig).msdyn365__moduleLayout\n                }}\n                shouldSkipToMainImage\n            />\n        );\n\n        const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n            ? { backgroundColor: this.props.config.backgroundColor }\n            : undefined;\n\n        if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n            this.props.context.telemetry.error('Content block content is empty, module wont render.');\n            return null;\n        }\n        const contentBlockviewProps = {\n            ...this.props,\n            title: contentBlockTitle,\n            text: contentBlockText,\n            image: contentBlockImage,\n            links: contentBlockLinks,\n            moduleClass: this.props.config.className,\n            contentBlockContainer: {\n                moduleProps: this.props,\n                className: classnames('ms-content-block', className),\n                style: contentBlockContainerStyle\n            },\n            imageContainer: { className: 'ms-content-block__image' },\n            detailsContainer: { className: 'ms-content-block__details' },\n            contentBlockAnchorTag: {\n                tag: 'a',\n                className: 'ms-content-block__link',\n                role: 'link'\n            },\n            imageLink: this._getImageLink(),\n            imageAriaLabel,\n            additionalContent: contentBlockAdditionalContent({\n                requestContext: this.props.context.request,\n                additionalContent: this.props.config.additionalContent,\n                handleAdditionalTextChange: this.handleAdditionalTextChange,\n                handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n                handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n            }),\n            handleAdditionalText: this.handleAdditionalTextChange,\n            handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n            handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n        };\n\n        return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n    }\n\n    /**\n     * To handle text change.\n     * @param event - To handle text change event.\n     * @name - HandleTextChange\n     * @public\n     * @returns - The Text value.\n     */\n    public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n    /**\n     * To handle paragraph change.\n     * @param event - To handle text change event.\n     * @name - HandleParagraphChange\n     * @public\n     * @returns - The Paragraph value.\n     */\n    public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n    /**\n     * Handle link text change.\n     * @param linkIndex - The link index.\n     * @returns - Void.\n     */\n    public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n        if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n            this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n        }\n    };\n\n    public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n        if (this.props.config.additionalContent) {\n            this.props.config.additionalContent[Number(index)].heading = event.target.value;\n        }\n    }\n\n    public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n        const additionalContentObject =\n            (this.props.config.additionalContent &&\n                ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n                this.props.config.additionalContent[Number(index)]) ||\n            {};\n        if (additionalContentObject.links) {\n            additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n        }\n    }\n\n    public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n        if (this.props.config.additionalContent) {\n            this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n        }\n    }\n\n    private _getImageLink(): string | null {\n        const { imageLink, links, actionableRegion } = this.props.config;\n        if (actionableRegion === region.imageAndLinks) {\n            if (imageLink?.destinationUrl) {\n                return imageLink.destinationUrl;\n            } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n                return links[0].linkUrl.destinationUrl;\n            }\n            return null;\n        }\n        return null;\n    }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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 <div className={className}>{value}</div>;\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 && <div className={errorMessageClassName}>{responseErrorMessage}</div>;\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        <div className={registeredUserClassName}>\n            {message}\n            <a className={signInLinkClassName} href={signInUrl}>\n                {signInText}\n            </a>\n            {infoMessage}\n        </div>\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 <div className='ms-order-lookup__field-value__error-message'>{orderLookupFieldValidationErrorMessage}</div>;\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<HTMLInputElement>): 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<IOrderLookupAdditionalFieldInfoInput> {\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            <div className='ms-order-lookup__details__form__additional-fields'>\n                {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n                {this._getOrderLookupAdditionalFields().additionalFieldError}\n                {this._getOrderLookupAdditionalFields().additionalFieldInput}\n            </div>\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                <div className='ms-order-lookup__details__form__additional-fields__input-detail'>\n                    <input\n                        type={this.props.inputType}\n                        onChange={this.props.onChange}\n                        aria-label={this.props.ariaLabel}\n                        value={this.props.value}\n                        name={this.props.name}\n                    />\n                </div>\n            ),\n            additionalFieldError: (\n                <div className='ms-order-lookup__details__form__additional-fields__input-error'>\n                    {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n                </div>\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<HTMLInputElement>;\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<HTMLInputElement>): 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<IOrderLookupFieldInfoInput> {\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            <div className={this.props.className}>\n                {this._getOrderLookupFields().label}\n                {this._getOrderLookupFields().error}\n                {this._getOrderLookupFields().input}\n            </div>\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                <div className='ms-order-lookup__details__form__fields__input-detail'>\n                    <input\n                        ref={this.props.inputReference}\n                        type={this.props.inputType}\n                        onChange={this.props.onChange}\n                        aria-label={this.props.ariaLabel}\n                        value={this.props.value}\n                        name={this.props.name}\n                    />\n                </div>\n            ),\n            error: (\n                <div className={this.props.fieldErrorClassName}>\n                    {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n                    {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n                </div>\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<HTMLInputElement>): 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<IOrderLookupProps<{}>>}\n */\nclass OrderLookup extends React.PureComponent<IOrderLookupProps<{}>, IOrderLookupFormState> {\n    public orderNumberInputRef: React.RefObject<HTMLInputElement>;\n\n    public emailInputRef: React.RefObject<HTMLInputElement>;\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            <Msdyn365.Text\n                className={orderLookupHeadingClassName}\n                tag={headingTag}\n                text={headingText}\n                editProps={{ onEdit: this.handleTextChange, requestContext: this.props.context.request }}\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                <RenderOrderLookupFormFields\n                    inputReference={this.orderNumberInputRef}\n                    ariaLabel={orderLookupOrderNumberAriaLabel}\n                    className={orderLookupFormFieldsClassName}\n                    inputType='text'\n                    value={orderNumber}\n                    name={OrderLookupSearchValues.ordernumber}\n                    orderLookupLabel={orderLookupOrderNumberLabel}\n                    orderLookupLabelClassName={orderNumberLabelClassName}\n                    fieldErrorClassName={orderNumberInputErrorClassName}\n                    isInputTypeError={false}\n                    isValidInputField={isOrdNumberError}\n                    renderAlert={this._renderOrderNumberAlert}\n                    onChange={this.onChange}\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<void> {\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<HTMLInputElement>): 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            <Msdyn365.RichTextComponent\n                text={text}\n                className='ms-order-lookup__details__text'\n                editProps={{ onEdit: this.handleParagraphChange, requestContext: request }}\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                    <span className={`${className}__alert`} role='alert'>\n                        {this.requiredErrorMessage}\n                    </span>\n                )}\n                {isEmailValidError && isValidEmailInput && (\n                    <span className={`${className}__alert`} role='alert'>\n                        {this.emailValidationErrorMessage}\n                    </span>\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                    <span className={`${className}__alert`} role='alert'>\n                        {orderLookupRequiredTextErrorMessage}\n                    </span>\n                )}\n                {isOrdNumberError && (\n                    <span className={`${className}__alert`} role='alert'>\n                        {orderLookupOrderNumberValidationErrorMessage}\n                    </span>\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                <RenderOrderLookupAdditionalFieldInput\n                    className={name.toLocaleLowerCase()}\n                    ariaLabel={item.ariaLabel}\n                    inputType='text'\n                    value={item.fieldValue}\n                    name={name.toLocaleLowerCase()}\n                    additionalFieldLabel={item.labelName}\n                    additionalFieldLabelClassName='ms-order-lookup__details__form__additional-fields__label'\n                    isValidAdditionalFieldName={item.isValidFieldName}\n                    additionalFieldValidationMessage={item.additionalfieldErrorMessage}\n                    onChange={this.onChange}\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                    <RenderOrderLookupFormFields\n                        inputReference={this.emailInputRef}\n                        ariaLabel={orderLookupEmailAriaLabel}\n                        className='ms-order-lookup__details__form__fields'\n                        inputType='text'\n                        value={email}\n                        name={OrderLookupSearchValues.email}\n                        orderLookupLabel={orderLookupEmailLabel}\n                        orderLookupLabelClassName='ms-order-lookup__details__form__fields__email-label'\n                        fieldErrorClassName='ms-order-lookup__details__form__fields__email-input-error'\n                        isInputTypeError={isEmailError}\n                        isValidInputField={isValidEmailError}\n                        renderAlert={this._renderAlert}\n                        onChange={this.onChange}\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 { 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<ISocialShareConfig> {\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<ISocialShareProps<ISocialShareConfig>>}\n */\nclass SocialShare extends React.PureComponent<ISocialShareProps<ISocialShareConfig>> {\n    constructor(props: ISocialShareProps<ISocialShareConfig>) {\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n    getTelemetryObject,\n    Heading,\n    IComponentNodeProps,\n    INodeProps,\n    ISingleSlideCarouselProps,\n    ITelemetryContent,\n    NodeTag,\n    SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n    title?: React.ReactNode;\n    tiles: React.ReactNode[];\n    tileItemContainer: INodeProps;\n    tileListContainer: INodeProps;\n    tileListHeading: INodeProps;\n    singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent<ITileListProps<{}>>}\n */\nexport class TileList extends React.PureComponent<ITileListProps<{}>> {\n    private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n        this.props.context.request.telemetryPageName!,\n        this.props.friendlyName,\n        this.props.telemetry\n    );\n    private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n        if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n            return null;\n        }\n        return <Heading headingTag={heading.tag} text={heading.text} className='ms-tile-list__title' />;\n    }\n    public constructor(props: ITileListProps<{}>) {\n        super(props);\n    }\n\n    public render(): JSX.Element | null {\n        const { resources } = this.props;\n        const { title, className } = this.props.config;\n        const propsCarousel: IComponentNodeProps<ISingleSlideCarouselProps> = {\n            tag: SingleSlideCarousel,\n            className: this.props.config.className ?? '',\n            flipperPrevLabel: resources.flipperPrevious,\n            flipperNextLabel: resources.flipperNext,\n            parentId: this.props.id,\n            telemetryContent: this._telemetryContent,\n            vertical: false\n        };\n\n        const viewProps = {\n            ...this.props,\n            title: TileList._createHeading(title),\n            singleSlideCarouselComponentProps: propsCarousel,\n            tileItemContainer: {\n                tag: 'li' as NodeTag,\n                className: 'ms-tile__item',\n                role: 'listitem'\n            },\n            tileListContainer: { className: classnames('ms-tile-list', className) },\n            tileListHeading: { className: 'ms-tile-list__heading' },\n            tiles: this.props.slots.content\n        };\n        return this.props.renderView(viewProps) as React.ReactElement;\n    }\n}\n\nexport default TileList;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddResource, ICheckoutGiftCardViewProps, IForm, IItem, IList, IShowResource } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-gift-card/./checkout-gift-card';\r\n\r\nexport const From: React.FC<IForm> = ({ formProps, label, inputPinLabel, inputExpLabel, alert, inputProps, inputNumProps,\r\n    inputPinProps, inputExpProps, inputNumber, inputPin, inputExp, applyButton, supportExternalGiftCard, showGiftCardPinInput, showGiftCardExpInput, alertFieldLabel }) => (\r\n    <Node {...formProps}>\r\n            {supportExternalGiftCard ? \r\n            <Node {...inputProps}>\r\n                <Node {...inputNumProps}>\r\n                    {label}\r\n                    {alert}\r\n                    {inputNumber}\r\n                </Node>\r\n            {showGiftCardPinInput &&\r\n                <Node {...inputPinProps}>\r\n                    {inputPinLabel}\r\n                    {inputPin}\r\n                </Node>}\r\n            {showGiftCardExpInput &&\r\n                <Node {...inputExpProps}>\r\n                    {inputExpLabel}\r\n                    {inputExp}\r\n                </Node>}\r\n            {(showGiftCardPinInput || showGiftCardExpInput) && alertFieldLabel}\r\n            \r\n            {applyButton}\r\n        </Node> : <>\r\n                {label}\r\n                {alert}\r\n                {inputNumber}\r\n                {applyButton}\r\n                \r\n            </>}\r\n        </Node>\r\n);\r\n\r\nexport const SelectedGiftCard: React.FC<IItem> = ({ itemProps, selectedGiftCard, removeButton }) => (\r\n    <Node {...itemProps}>\r\n        {selectedGiftCard}\r\n        {removeButton}\r\n    </Node>\r\n);\r\n\r\nexport const GiftCardList: React.FC<IList> = ({ listProps, list }) => (\r\n    <Node {...listProps}>\r\n        {list.map(({ id, ...item }) => (\r\n            <SelectedGiftCard key={id} {...item} />\r\n        ))}\r\n    </Node>\r\n);\r\n\r\nexport const AddResource: React.FC<IAddResource> = ({ form, list }) => (\r\n    <>\r\n        {form && <From {...form} />}\r\n        {list && <GiftCardList {...list} />}\r\n    </>\r\n);\r\n\r\n\r\nexport const ShowResource: React.FC<IShowResource> = ({ title, list }) => (\r\n    <>\r\n        {title}\r\n        {list && <GiftCardList {...list} />}\r\n    </>\r\n);\r\n\r\nconst CheckoutGiftCardView: React.FC<ICheckoutGiftCardViewProps> = props => {\r\n    const { checkoutGiftCardProps, showGiftCard, addGiftCard } = props;\r\n    return (\r\n            <Module {...checkoutGiftCardProps}>\r\n                {showGiftCard && <ShowResource {...showGiftCard} />}\r\n                {addGiftCard && <AddResource {...addGiftCard} />}\r\n            </Module>\r\n    );\r\n};\r\n\r\nexport default CheckoutGiftCardView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n    ICheckoutLoyaltyAdd, ICheckoutLoyaltyRewardPoint, ICheckoutLoyaltyShow,\r\n    ICheckoutLoyaltyViewProps\r\n} from '@msdyn365-commerce-modules/checkout/src/modules/checkout-loyalty/./checkout-loyalty';\r\nimport MsDyn365 from \"@msdyn365-commerce/core\";\r\nimport { ICheckoutLoyaltyProps } from \"../definition-extensions/checkout-loyalty.ext.props.autogenerated\";\r\n\r\n\r\ninterface ICheckoutLoyaltyAddExtended extends ICheckoutLoyaltyAdd {\r\n    notEnoughPointsErrorString: string;\r\n    showNotEnoughPointsError: boolean;\r\n}\r\n\r\nconst AddCheckoutLoyalty: React.FC<ICheckoutLoyaltyAddExtended> = ({\r\n    heading,\r\n    cardNumber,\r\n    drawer,\r\n    rewardPoints,\r\n    loyaltyAmountContainer,\r\n    appliedLoyaltyAmountContainer,\r\n    loyaltyAmountLabel,\r\n    loyaltyAmountInput,\r\n    loyaltyAmountApplyButton,\r\n    showAppliedAmount,\r\n    loyaltyAmountAppliedText,\r\n    loyaltyAmountAppliedPrice,\r\n    loyaltyAmountRemoveButton,\r\n  notEnoughPointsErrorString,\r\n  showNotEnoughPointsError\r\n}) => {\r\n    return (\r\n        <>\r\n            {heading}\r\n            {cardNumber}\r\n            <Node {...drawer}>\r\n                {rewardPoints.map((rewardPoint: ICheckoutLoyaltyRewardPoint) => {\r\n                    return (\r\n                        <Node {...rewardPoint.checkoutLoyaltyRewardPoint} key={rewardPoint.key}>\r\n                            {rewardPoint.title}\r\n                            {rewardPoint.availablePointsText}\r\n                            {rewardPoint.activePoints}\r\n                            {rewardPoint.expiringPointsText}\r\n                            {rewardPoint.expiringPoints}\r\n                        </Node>\r\n                    );\r\n                })}\r\n            </Node>\r\n            <Node {...loyaltyAmountContainer}>\r\n                {loyaltyAmountLabel}\r\n                {loyaltyAmountInput}\r\n                {loyaltyAmountApplyButton}\r\n                {\r\n                    showAppliedAmount &&\r\n                        <Node {...appliedLoyaltyAmountContainer}>\r\n                            {loyaltyAmountAppliedText}\r\n                            {loyaltyAmountAppliedPrice}\r\n                            {loyaltyAmountRemoveButton}\r\n                        </Node>\r\n                }\r\n            </Node>\r\n            {showNotEnoughPointsError && <p>{notEnoughPointsErrorString}</p>}\r\n        </>\r\n    );\r\n};\r\n\r\nconst ShowCheckoutLoyalty: React.FC<ICheckoutLoyaltyShow> = ({\r\n    heading,\r\n    coveredAmountText,\r\n    amount\r\n}) => {\r\n\r\n    return (\r\n        <>\r\n            {heading}\r\n            {coveredAmountText}\r\n            {amount}\r\n        </>\r\n    );\r\n};\r\n\r\nconst CheckoutLoyaltyView: React.FC<ICheckoutLoyaltyViewProps & ICheckoutLoyaltyProps<{}>> = props => {\r\n    const [ initialized , setInitialized ] = React.useState<boolean>(false);\r\n    const [ showMinValueError , setShowMinvalueError ] = React.useState<boolean>(false);\r\n    const { checkoutLoyalty,\r\n        viewState,\r\n        showLoyalty,\r\n        addLoyalty,\r\n      resources: {\r\n          notEnoughPointsErrorString,\r\n          notEnoughPointsMessage\r\n      },\r\n      config: {\r\n        minLoyaltyRedeemAmount\r\n      },\r\n      context: {\r\n        cultureFormatter: {\r\n            formatCurrency\r\n        }\r\n      }\r\n    } = props;\r\n    const maxDollars = getMaxDollars(props);\r\n    const minDollars = minLoyaltyRedeemAmount ? (minLoyaltyRedeemAmount * .10) : 0;\r\n    const minPoints  = minLoyaltyRedeemAmount || 0;\r\n    if (MsDyn365.isBrowser && !initialized) {\r\n        const input = document.querySelector<HTMLInputElement>('.ms-checkout-loyalty__amount-input');\r\n        const btn = document.querySelector<HTMLButtonElement>('.ms-checkout-loyalty__amount-button');\r\n        if (input && btn) {\r\n            setInitialized(true);\r\n            loyaltyGuard(minDollars, input, btn, setShowMinvalueError);\r\n        }\r\n\r\n    }\r\n\r\n    const addLoyaltyExtended: ICheckoutLoyaltyAddExtended = {\r\n        ...addLoyalty,\r\n        notEnoughPointsErrorString: notEnoughPointsErrorString.replace('{0}', formatCurrency(minDollars)),\r\n        showNotEnoughPointsError: showMinValueError\r\n    }\r\n\r\n    let cartDollars = props.data.checkout.result?.checkoutCart.cart.TotalAmount || 0;\r\n    return (\r\n        <Module {...checkoutLoyalty}>\r\n            {minDollars > cartDollars ? (\r\n               <>\r\n               <p>{formatCartValueTooLowMessage(props.resources.cartValueTooLowMessage, minPoints.toString(), formatCurrency(minDollars), formatCurrency(cartDollars))}</p>\r\n               </> \r\n            ) : \r\n            maxDollars >= minDollars || minDollars === 0 ? (\r\n                <>\r\n                  {viewState.isShowLoyalty && <ShowCheckoutLoyalty {...showLoyalty} />}\r\n                  {viewState.isShowAddLoyalty && <AddCheckoutLoyalty {...addLoyaltyExtended} />}\r\n                </>\r\n              ) : (\r\n                <>\r\n                <p>{formatNotEnoughPointsMessage(notEnoughPointsMessage, minPoints.toString(), formatCurrency(minDollars), formatCurrency(maxDollars))}</p>\r\n                </>)\r\n            }\r\n\r\n        </Module>\r\n    );\r\n};\r\n\r\nconst formatNotEnoughPointsMessage = (message: string, minPoints:string, minDollars: string, maxDollars: string) =>\r\n  message.replace('{0}', minPoints).replace('{1}', minDollars).replace('{2}', maxDollars);\r\n\r\n  const formatCartValueTooLowMessage = (message: string, minPoints: string, equivalentDollars:string, cartDollars: string) =>\r\n  formatNotEnoughPointsMessage(message, minPoints, equivalentDollars, cartDollars);\r\n\r\n\r\nconst getMaxDollars = (props: ICheckoutLoyaltyViewProps): number => {\r\n    return props.data.loyaltyTransactionEstimation.result &&\r\n    props.data.loyaltyTransactionEstimation.result.MaxCurrencyValueOfLoyaltyPoints ? props.data.loyaltyTransactionEstimation.result.MaxCurrencyValueOfLoyaltyPoints : 0;\r\n}\r\n\r\nconst loyaltyGuard = (minDollars: number, input: HTMLInputElement, button: HTMLButtonElement, setShowMinValueError:  React.Dispatch<React.SetStateAction<boolean>>) => {\r\n    input.addEventListener('keyup', (e) => {\r\n        // @ts-ignore - yes it is\r\n        const value = e.target?.value;\r\n        if (value) {\r\n            const parsedValue = parseFloat(value);\r\n            const isError = parsedValue < minDollars;\r\n            button.disabled = isError;\r\n            setShowMinValueError(isError);\r\n        }\r\n    })\r\n}\r\n\r\nexport default CheckoutLoyaltyView;\r\n","import * as React from 'react';\r\nimport { IK3ProductCompositionTable, K3ProductCompositionTableExtensionClass } from '@k3-msdyn365-commerce-modules/k3.msdyn365.commerce.online/dist/types/actions/DataServiceEntities.g';\r\nimport { IK3CompositionsViewProps } from '@k3-msdyn365-commerce-modules/k3.msdyn365.commerce.online/dist/types/modules/k3-compositions/k3-compositions';\r\nimport { Drawer } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport default (props: IK3CompositionsViewProps) => {\r\n    const {\r\n        data: { productCompositions, compositionTypes, fibres },\r\n        productRecId\r\n    } = props;\r\n\r\n    let open = true;\r\n\r\n    const [compositionState, setCompositionState] = React.useState<IK3ProductCompositionTable[] | undefined>(undefined);\r\n\r\n    const _toggle = () => (): void => {\r\n        open = !open;\r\n    };\r\n\r\n    const [hasSetValue, setHasSetValue] = React.useState<boolean>(false);\r\n\r\n    if (!hasSetValue) {\r\n        const renderModule =\r\n            productRecId && !!productCompositions.result?.filter(composition => composition.Product === productRecId).length;\r\n\r\n        if (renderModule) {\r\n            const thatOne = productCompositions.result?.filter(\r\n                composition => composition.Product === productRecId && composition.ItemDataAreaId === ''\r\n            );\r\n            if (thatOne && thatOne.length > 0) {\r\n                setCompositionState(thatOne);\r\n                setHasSetValue(true);\r\n            }\r\n        }\r\n    }\r\n\r\n    if (compositionState && compositionState.length) {\r\n        const compositionMap = new Map();\r\n        compositionState.forEach(cs => {\r\n            const collection = compositionMap.get(cs.CompositionType);\r\n            if (!collection) {\r\n                compositionMap.set(cs.CompositionType, [cs]);\r\n            } else {\r\n                collection.push(cs);\r\n            }\r\n        });\r\n        // console.log(compositionState);\r\n        return (\r\n            <Drawer\r\n                key={'materialslot'}\r\n                collapseProps={{\r\n                    timeout: 0,\r\n                    isOpen: true\r\n                }}\r\n                className='ms-product-specification__drawer'\r\n                openGlyph='ms-product-specification__drawer-open'\r\n                closeGlyph='ms-product-specification__drawer-close'\r\n                glyphPlacement='end'\r\n                toggleButtonText='Material'\r\n                onToggle={_toggle}\r\n            >\r\n                <div className='ms-product-details'>\r\n                    <span className='compositions'>\r\n                        {[...compositionMap.values()].map((cm: K3ProductCompositionTableExtensionClass[]) => (\r\n                            <p key={cm[0].CompositionType}>\r\n                                {`${compositionTypes?.result?.find(el => el.RecId === cm[0].CompositionType)?.Description}: ` || ''}\r\n\r\n                                {cm.map((c: K3ProductCompositionTableExtensionClass) => (\r\n                                    <span className='fibres' key={c.Fibre}>\r\n                                        {`${c.Percent}% ${fibres?.result?.find(el => el.RecId === c.Fibre)?.Description}` || ''}\r\n                                        <span className='comma'>, </span>\r\n                                    </span>\r\n                                ))}\r\n                            </p>\r\n                        ))}\r\n                    </span>\r\n                </div>\r\n            </Drawer>\r\n        );\r\n    } else {\r\n        return null;\r\n    }\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst RatingsHistogramView: React.FC<IRatingsHistogramViewProps> = props => {\r\n    const { heading, histogramItems, histogramProps, moduleProps } = props;\r\n    return (\r\n        <Module {...moduleProps}>\r\n            {heading}\r\n            <Node {...histogramProps}>\r\n                {histogramItems.map(item => {\r\n                    return histogramItem(item);\r\n                })}\r\n            </Node>\r\n        </Module>\r\n    );\r\n};\r\n\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n    return (\r\n        <Node {...props.buttonProps} >\r\n            {props.starLabel}\r\n            {props.bar}\r\n            {props.percentage}\r\n        </Node>\r\n    );\r\n};\r\n\r\nexport default RatingsHistogramView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n    ICategoryHierarchyViewProps,\r\n    IRefineMenuViewProps,\r\n    ISearchResultContainerViewProps,\r\n    ISearchResultModalViewProps,\r\n    ISortByViewProps,\r\n    ITitleViewProps\r\n} from '@msdyn365-commerce-modules/search-result-container';\r\nimport {\r\n    Module,\r\n    Node,\r\n    LabeledDropdown,\r\n    ILabeledDropdownOption,\r\n    ILabeledDropdownOnChangeNotification\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { ProductRefinerValue, SortColumn } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport * as React from 'react';\r\nimport MsDyn365, { IRequestContext } from '@msdyn365-commerce/core';\r\nimport { transaction } from 'mobx';\r\nimport { useEffect } from 'react';\r\n\r\nconst SearchResultContainerView: React.FC<ISearchResultContainerViewProps> = (props: {\r\n    context?: any;\r\n    resources?: any;\r\n    data?: any;\r\n    telemetry?: any;\r\n    SearchResultContainer?: any;\r\n    products?: any;\r\n    pagination?: any;\r\n    ProductsContainer?: any;\r\n    ProductSectionContainer?: any;\r\n    choiceSummary?: any;\r\n    isMobile?: any;\r\n    modalToggle?: any;\r\n    searchResultModal?: any;\r\n    TitleViewProps?: any;\r\n    refineMenu?: any;\r\n    categoryHierarchy?: any;\r\n    CategoryNavContainer?: any;\r\n    RefineAndProductSectionContainer?: any;\r\n    errorMessage?: any;\r\n    FeatureSearchContainer?: any;\r\n    similarLookProduct?: any;\r\n}) => {\r\n    const {\r\n        SearchResultContainer,\r\n        products,\r\n        pagination,\r\n        ProductsContainer,\r\n        ProductSectionContainer,\r\n        choiceSummary,\r\n        isMobile,\r\n        modalToggle,\r\n        searchResultModal,\r\n        TitleViewProps,\r\n        refineMenu,\r\n        categoryHierarchy,\r\n        CategoryNavContainer,\r\n        RefineAndProductSectionContainer,\r\n        errorMessage,\r\n        FeatureSearchContainer,\r\n        similarLookProduct\r\n    } = props;\r\n    const isRecoSearchPage = props.context.actionContext.requestContext.query?.recommendation;\r\n\r\n    const newOptions: ILabeledDropdownOption[] = [\r\n        { key: 'Ranking-Desc', value: props.resources.sortByOptionRelevanceDesc },\r\n        { key: 'BestSelling', value: props.resources.sortByOptionBestSelling },\r\n        { key: 'NewScore', value: props.resources.sortByOptionNewScore }\r\n    ];\r\n\r\n    const parseQueryParam = (key: string, requestContext: IRequestContext): SortColumn[] | null => {\r\n        if (requestContext.query && requestContext.query[key]) {\r\n            return JSON.parse(decodeURIComponent(requestContext.query[key]));\r\n        }\r\n        return null;\r\n    };\r\n\r\n    useEffect(() => {\r\n        swatchDisable();\r\n    });\r\n\r\n    let _sortAndFilterContainerRef: React.RefObject<LabeledDropdown> = React.createRef<LabeledDropdown>();\r\n\r\n    let _getSortCriteriaColumn = (): SortColumn | undefined => {\r\n        const sortCriteria = props.data.listPageState.result?.sortingCritera;\r\n        if (ArrayExtensions.hasElements(sortCriteria?.Columns)) {\r\n            return sortCriteria!.Columns[0];\r\n        }\r\n\r\n        const queryColumns = parseQueryParam('sorting', props.context.request);\r\n        if (ArrayExtensions.hasElements(queryColumns)) {\r\n            return queryColumns[0];\r\n        }\r\n\r\n        return undefined;\r\n    };\r\n\r\n    let _getCurrentlySelectedOption = (): ILabeledDropdownOption | undefined => {\r\n        const activeSortColumn = _getSortCriteriaColumn();\r\n\r\n        const searchConfiguration = props.data.searchConfiguration.result;\r\n\r\n        if (!activeSortColumn || !searchConfiguration) {\r\n            return undefined;\r\n        }\r\n\r\n        const activeMappedConfig = searchConfiguration.find(\r\n            (mappedSearchConfig: { sortColumn: { ColumnName: string | undefined; IsDescending: boolean | undefined } }) =>\r\n                mappedSearchConfig.sortColumn.ColumnName === activeSortColumn.ColumnName &&\r\n                mappedSearchConfig.sortColumn.IsDescending === activeSortColumn.IsDescending\r\n        );\r\n        if (!activeMappedConfig) {\r\n            return undefined;\r\n        }\r\n\r\n        return newOptions.find(dropdownOption => dropdownOption.key === activeMappedConfig.key);\r\n    };\r\n\r\n    const compressRefiners = (refiners: ProductRefinerValue[]) => {\r\n        const compressedRefiners: (string | number)[][] = [];\r\n\r\n        refiners.forEach(refiner => {\r\n            const compressedRefiner: (string | number)[] = [];\r\n            const compressedRefinerKeys = [\r\n                'DataTypeValue',\r\n                'LeftValueBoundString',\r\n                'RefinerRecordId',\r\n                'RefinerSourceValue',\r\n                'RightValueBoundString',\r\n                'UnitText'\r\n            ];\r\n            compressedRefinerKeys.forEach(refinerKey => {\r\n                compressedRefiner.push(refiner[refinerKey]);\r\n            });\r\n            compressedRefiners.push(compressedRefiner);\r\n        });\r\n\r\n        return compressedRefiners;\r\n    };\r\n\r\n    const buildListPageUrl = (fullUrl: URL, refiners?: ProductRefinerValue[], sortingColumns?: SortColumn[], skipCount?: number) => {\r\n        // Refiner Change flow\r\n        if (refiners !== undefined) {\r\n            if (refiners.length === 0) {\r\n                fullUrl.searchParams.delete('refiners');\r\n            } else {\r\n                const sortedRefiners = refiners.sort((first, second) =>\r\n                    first.RefinerRecordId && second.RefinerRecordId && first.RefinerRecordId > second.RefinerRecordId ? 1 : -1\r\n                );\r\n                fullUrl.searchParams.set('refiners', JSON.stringify(compressRefiners(sortedRefiners)));\r\n            }\r\n\r\n            // Adding or removing a refiner means we want to always load page 1\r\n            fullUrl.searchParams.delete('skip');\r\n            return fullUrl.href;\r\n        }\r\n\r\n        if (sortingColumns !== undefined) {\r\n            if (sortingColumns.length === 0) {\r\n                fullUrl.searchParams.delete('sorting');\r\n            } else {\r\n                fullUrl.searchParams.set('sorting', JSON.stringify(sortingColumns));\r\n            }\r\n\r\n            // Changing the sort means always load page 1\r\n            fullUrl.searchParams.delete('skip');\r\n            return fullUrl.href;\r\n        }\r\n\r\n        if (skipCount) {\r\n            fullUrl.searchParams.set('skip', skipCount.toString());\r\n        }\r\n\r\n        return fullUrl.href;\r\n    };\r\n\r\n    const getCurrentUrl = (requestContext: IRequestContext): URL => {\r\n        if (MsDyn365.isBrowser) {\r\n            return new URL(window.location.href);\r\n        }\r\n\r\n        // NOTE: Typing on requestURL is incorrect\r\n        //@ts-ignore\r\n        if (requestContext.url.requestUrl.href) {\r\n            //@ts-ignore\r\n            return new URL(requestContext.url.requestUrl.href);\r\n        }\r\n        // @ts-ignore\r\n        return new URL(requestContext.url.requestUrl);\r\n    };\r\n\r\n    const _updateSortByDropdown = (notification: ILabeledDropdownOnChangeNotification): void => {\r\n        const { context } = props;\r\n        const requestContext = context && context.request;\r\n        const actionContext = context && context.actionContext;\r\n\r\n        if (!requestContext || !actionContext || !props.data.listPageState.result) {\r\n            const error = `[sort-by-category] cannot sort without context: ${!requestContext ? 'requestContext ' : ''} ${\r\n                !actionContext ? 'actionContext ' : ''\r\n            } could not be found`;\r\n            props.telemetry.warning(error);\r\n        }\r\n\r\n        window.history.pushState(\r\n            {},\r\n            '',\r\n            buildListPageUrl(\r\n                getCurrentUrl(props.context.request),\r\n                undefined,\r\n                [_getSortColumnFromSelectedOption(notification.selectedOption)],\r\n                undefined\r\n            )\r\n        );\r\n        transaction(() => {\r\n            props.data.listPageState.result!.currentPageNumber = 0;\r\n            props.data.listPageState.result!.sortingCritera = { Columns: [_getSortColumnFromSelectedOption(notification.selectedOption)] };\r\n        });\r\n    };\r\n\r\n    const _getSortColumnFromSelectedOption = (option: ILabeledDropdownOption): SortColumn => {\r\n        const { data } = props;\r\n        if (!data.searchConfiguration.result) {\r\n            return {};\r\n        }\r\n        const mappedConfiguration = data.searchConfiguration.result.find((searchConfiguration: { key: string }) => {\r\n            return searchConfiguration.key === option.key;\r\n        });\r\n        if (mappedConfiguration) {\r\n            return mappedConfiguration.sortColumn;\r\n        }\r\n        return {};\r\n    };\r\n\r\n    let state = {\r\n        pending: false,\r\n        selectedSortByOption: newOptions[0]\r\n    };\r\n\r\n    const activeDropdown = _getCurrentlySelectedOption() || state.selectedSortByOption;\r\n\r\n    const newdd = (\r\n        <LabeledDropdown\r\n            labelClassname='reviews-list-sort-by'\r\n            labelText={props.resources.sortByDropdownLabel}\r\n            dropdownId='categorySortByDropdown'\r\n            dropdownClassname='reviews-list-dropdown'\r\n            toggleColor='link'\r\n            dropdownOptions={newOptions}\r\n            selectedOption={activeDropdown}\r\n            onSelectOption={_updateSortByDropdown}\r\n            ref={_sortAndFilterContainerRef}\r\n        />\r\n    );\r\n\r\n    // props.data.listPageState;\r\n    let newSortOptions: ISortByViewProps = {\r\n        SortingContainer: { className: 'ms-search-result-container__Sort-by-category' },\r\n        sortByDropDown: newdd\r\n    };\r\n\r\n    const swatchDisable = () => {\r\n        if (document) {\r\n            const _strikeSVG =\r\n                'data:image/svg+xml;utf8,' +\r\n                \"<svg xmlns='http://www.w3.org/2000/svg' version='1.1' preserveAspectRatio='none' viewBox='0 0 100 100'>\" +\r\n                \"<path d='M0 0 L100 100 ' stroke='white' stroke-width='5.5'/></svg>\";\r\n\r\n            /* Task 1217 & 1312 */\r\n            const imgCollect = document.querySelectorAll<HTMLImageElement>('img.msc-swatch-container__item__image');\r\n\r\n            if (imgCollect.length > 0) {\r\n                imgCollect.forEach(node => {\r\n                    if (node.classList.contains('msc-swatch-container__item__disabled')) {\r\n                        const thisColour = node.src;\r\n                        node.src = _strikeSVG;\r\n                        node.style.backgroundImage = node.style.backgroundImage = \"url('\" + thisColour + \"')\";\r\n                        if (isMobile) {\r\n                            node.style.maxWidth = '20px';\r\n                        } else {\r\n                            node.style.maxWidth = '30px';\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }\r\n    };\r\n\r\n    if (isMobile) {\r\n        return (\r\n            <Module {...SearchResultContainer}>\r\n                {categoryHierarchy && renderCategoryHierarchy(categoryHierarchy)}\r\n                {renderTitle(TitleViewProps)}\r\n                {choiceSummary}\r\n                {modalToggle}\r\n                {createSearchResultModal(searchResultModal, refineMenu, newSortOptions, isRecoSearchPage)}\r\n                <Node {...FeatureSearchContainer}>{similarLookProduct}</Node>\r\n                <Node {...ProductsContainer}>\r\n                    {errorMessage}\r\n                    {products}\r\n                </Node>\r\n                {pagination}\r\n            </Module>\r\n        );\r\n    }\r\n    return (\r\n        <Module {...SearchResultContainer}>\r\n            {categoryHierarchy && <Node {...CategoryNavContainer}>{renderCategoryHierarchy(categoryHierarchy)}</Node>}\r\n            <Node {...RefineAndProductSectionContainer}>\r\n                {refineMenu && renderRefiner(refineMenu)}\r\n                <Node {...ProductSectionContainer}>\r\n                    <Node {...FeatureSearchContainer}>{similarLookProduct}</Node>\r\n                    <div className='ms-search-result-wrapper-title-choice-summary'>\r\n                        {TitleViewProps && renderTitle(TitleViewProps)}\r\n                        {choiceSummary}\r\n                    </div>\r\n                    <div className='ms-search-result-wrapper-sort-by-category'>\r\n                        {newSortOptions && !isRecoSearchPage && renderSort(newSortOptions)}\r\n                    </div>\r\n                    <Node {...ProductsContainer}>\r\n                        {errorMessage}\r\n                        {products}\r\n                    </Node>\r\n                    {pagination}\r\n                </Node>\r\n            </Node>\r\n        </Module>\r\n    );\r\n};\r\n\r\nconst createSearchResultModal = (\r\n    modalProps: ISearchResultModalViewProps,\r\n    refineMenu: IRefineMenuViewProps,\r\n    sortByDropDown: ISortByViewProps,\r\n    isRecoSearchPage?: string\r\n): JSX.Element => {\r\n    return React.cloneElement(\r\n        modalProps.modal,\r\n        {},\r\n        modalProps.modalHeader,\r\n        createModalBody(modalProps, refineMenu, sortByDropDown, isRecoSearchPage),\r\n        modalProps.modalFooter\r\n    );\r\n};\r\n\r\nconst createModalBody = (\r\n    props: ISearchResultModalViewProps,\r\n    refineMenu: IRefineMenuViewProps,\r\n    sortByDropDown: ISortByViewProps,\r\n    isRecoSearchPage?: string\r\n): JSX.Element | null => {\r\n    if (sortByDropDown) {\r\n        return React.cloneElement(props.modalBody, {}, renderSort(sortByDropDown, isRecoSearchPage), renderRefiner(refineMenu));\r\n    }\r\n    return null;\r\n};\r\n\r\nconst renderRefiner = (props: IRefineMenuViewProps): JSX.Element | null => {\r\n    const { refiners, RefineMenuContainer, RefinerSectionContainer } = props;\r\n    if (refiners) {\r\n        return (\r\n            <Node {...RefinerSectionContainer}>\r\n                <Node {...RefineMenuContainer}>\r\n                    {refiners.map((submenu, index) => (\r\n                        <React.Fragment key={index}>{submenu}</React.Fragment>\r\n                    ))}\r\n                </Node>\r\n            </Node>\r\n        );\r\n    }\r\n    return null;\r\n};\r\n\r\nconst renderSort = (props: ISortByViewProps, isRecoSearchPage?: string): JSX.Element | null => {\r\n    const { SortingContainer, sortByDropDown } = props;\r\n    if (sortByDropDown && !isRecoSearchPage) {\r\n        return <Node {...SortingContainer}>{sortByDropDown}</Node>;\r\n    }\r\n    return null;\r\n};\r\n\r\nconst renderCategoryHierarchy = (props: ICategoryHierarchyViewProps): JSX.Element | null => {\r\n    const { CategoryHierarchyContainer, categoryHierarchyList, categoryHierarchySeparator } = props;\r\n    if (categoryHierarchyList) {\r\n        return (\r\n            <Node {...CategoryHierarchyContainer}>\r\n                {categoryHierarchyList.map((category, index) => (\r\n                    <React.Fragment key={index}>\r\n                        {category}\r\n                        {categoryHierarchyList && categoryHierarchyList[index + 1] && categoryHierarchySeparator}\r\n                    </React.Fragment>\r\n                ))}\r\n            </Node>\r\n        );\r\n    }\r\n\r\n    return null;\r\n};\r\n\r\nconst renderTitle = (props: ITitleViewProps): JSX.Element | null => {\r\n    const { title, TitleContainer } = props;\r\n    if (title) {\r\n        return (\r\n            <Node {...TitleContainer}>\r\n                <h2>\r\n                    {title.titlePrefix}\r\n                    {title.titleText}({title.titleCount})\r\n                </h2>\r\n            </Node>\r\n        );\r\n    }\r\n    return null;\r\n};\r\n\r\nexport default SearchResultContainerView;\r\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<IOrganizationUsersTileViewProps> = props => {\n    const { OrganizationUsersTile, heading, description, links } = props;\n\n    return (\n        <Module {...OrganizationUsersTile}>\n            {heading}\n            {description}\n            {links}\n        </Module>\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC<ICheckInViewProps> = (props: ICheckInViewProps) => {\n    const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n    return (\n        <>\n            {viewState.isHeaderError && headerError}\n            {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n                <FormBuilder\n                    heading={props.config.additionalInformationHeading ?? props.resources.additionalInformationDefaultHeading}\n                    submitButtonText={props.resources.additionalInformationSubmitButtonText}\n                    keys={props.config.additionalInformationKeys}\n                    requiredValueMissingErrorMessage={props.resources.requiredValueMissingErrorMessage}\n                    onSubmit={checkInForOrderPickup}\n                    confirmationComponent={confirmationComponent}\n                />\n            )}\n            {!viewState.isHeaderError &&\n                !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n                viewState.isCheckedIn &&\n                confirmationComponent}\n        </>\n    );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { 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        <Node {...additionalContent.additionalContentNode}>\n            {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n                return (\n                    <>\n                        {item.heading}\n                        <Node {...item.additionalContentItemContainer}>\n                            {item.text}\n                            <Node {...item.additionalContentItemLinks}>{item.links}</Node>\n                        </Node>\n                    </>\n                );\n            })}\n        </Node>\n    );\n};\n\nconst ContentBlockView: React.FC<IContentBlockViewProps> = 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            <Module {...contentBlockContainer}>\n                <Node\n                    {...contentBlockAnchorTag}\n                    href={imageLink}\n                    className={contentBlockAnchorTag ? contentBlockAnchorTag.className : ''}\n                    aria-label={imageAriaLabel}\n                >\n                    <Node {...imageContainer}>{image}</Node>\n                </Node>\n                <Node {...detailsContainer}>\n                    {title}\n                    {text}\n                    {links}\n                    {additionalContent && renderAdditionalContent(additionalContent)}\n                </Node>\n            </Module>\n        );\n    }\n    return (\n        <Module {...contentBlockContainer}>\n            <Node {...imageContainer}>{image}</Node>\n            <Node {...detailsContainer}>\n                {title}\n                {text}\n                {links}\n                {additionalContent && renderAdditionalContent(additionalContent)}\n            </Node>\n        </Module>\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 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<ICartViewProps> = (props: ICartViewProps) => (\n    <div className={props.className} id={props.id} {...props.renderModuleAttributes(props)}>\n        {props.title}\n        {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n        {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n            _renderCartLinesGroup(props, props.resources)\n        ) : (\n            <Node {...props.CartlinesWrapper}>\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            </Node>\n        )}\n        {props.orderSummaryHeading && (\n            <Node {...props.OrderSummaryWrapper}>\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                    <Node {...props.ExpressCheckoutSectionWrapper}>{props.expressCheckoutButton}</Node>\n                ) : null}\n                {props.backToShoppingButton}\n                {props.createTemplateFromCartButton}\n            </Node>\n        )}\n        {props.storeSelector}\n    </div>\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n    return (\n        <>\n            <Node {...promotions.promotionMessageWrapper}>\n                {promotions.promotionMessage}\n                {promotions.promotionSeeAllLink}\n                {promotions.promotionDialog}\n            </Node>\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                <div className='msc-cart-lines-item' key={`${index}-${MsDyn365.isBrowser.toString()}`}>\n                    {cartLine.cartline}\n                    {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n                    {mulitplePickUp ? (\n                        <Node className='msc-cart-line-group__extra-actions'>\n                            {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n                            {cartLine.addToOrderTemplate}\n                            {cartLine.addToWishlist}\n                            {cartLine.remove}\n                        </Node>\n                    ) : cartLine.addToOrderTemplate ? (\n                        <Node className='msc-cart-line__extra-actions'>\n                            {cartLine.addToOrderTemplate}\n                            {cartLine.addToWishlist}\n                            {cartLine.remove}\n                        </Node>\n                    ) : (\n                        <>\n                            {cartLine.addToWishlist}\n                            {cartLine.remove}\n                        </>\n                    )}\n                </div>\n            );\n        });\n    }\n    return cartDataResult ? (\n        <div className='msc-cart__empty-cart'>\n            <p className='msc-cart-line'>{emptyCartText}</p>\n            {backToShoppingButton}\n        </div>\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        <Node {...cartLine.pickUpInStore.ContainerProps}>\n            <div className='msc-cart-line__bopis-method'>\n                {isBopisSelected ? (\n                    <span className='pick-up'>{pickUpAtStoreWithLocationText}</span>\n                ) : (\n                    <span className='ship'>{shipToAddressDisplayText}</span>\n                )}\n            </div>\n            {isBopisSelected && (\n                <div className='msc-cart-line__bopis-fullfilment'>\n                    <span className='msc-cart-line__bopis-fullfilment-store'>{cartLine.pickUpInStore.orgUnitName}</span>\n                    <Button role='link' className='msc-cart-line__bopis-changestore' onClick={onChangeStoreHandler(cartLine)}>\n                        {changeStoreDisplayText}\n                    </Button>\n                </div>\n            )}\n            <Button\n                className='msc-cart-line__bopis-btn'\n                {...puckUpinStoreAttribute}\n                onClick={onToggleBopisHandler(cartLine, isBopisSelected)}\n            >\n                {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n            </Button>\n        </Node>\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        <Node {...errorData.Wrapper}>\n            {errorData.header}\n            {errorData.errors}\n        </Node>\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        <Node {...OrderSummaryItems}>\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        </Node>\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        <Node {...OrderSummaryItems}>\n            {invoiceSummaryLines.invoices}\n            {invoiceSummaryLines.giftCard}\n            {invoiceSummaryLines.loyalty}\n            {invoiceSummaryLines.orderTotal}\n        </Node>\n    );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n    if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n        return (\n            <div className='msc-cart-lines-group'>\n                {props.cartLinesGroup.map(cartlines => {\n                    return (\n                        <div key={cartlines[0].cartlineId} className='msc-cart-lines-group-wraper'>\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                        </div>\n                    );\n                })}\n            </div>\n        );\n    }\n    return props.cartDataResult ? (\n        <div className='msc-cartline-wraper'>\n            <div className='msc-cart__empty-cart'>\n                <p className='msc-cart-line'>{props.resources.emptyCartText}</p>\n                {props.backToShoppingButton}\n            </div>\n        </div>\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            <div className='msc-cart-lines-group-wraper__bopis-heading'>\n                <p className={`msc-cart-lines-group-wraper__bopis-heading-${groupTitle.toLowerCase()}-icon`} />\n                <p className={`msc-cart-lines-group-wraper__bopis-heading-${groupTitle.toLowerCase()}`}>{groupTitle}</p>\n                {_renderCartLinesGroupTitle(cartLine, resources, count)}\n            </div>\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                <Button className='msc-cart-line__remove-item msc-btn' onClick={onChangeStoreHandler(cartLine)} aria-live='polite'>\n                    {changeStoreDisplayText}\n                </Button>\n            ) : null}\n            <Button\n                className='msc-cart-line__remove-item msc-btn'\n                {...puckUpinStoreAttribute}\n                onClick={onToggleBopisHandler(cartLine, isBopisSelected)}\n            >\n                {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n            </Button>\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            <Node className='msc-cart-lines-group-wraper__bopis-heading-title'>\n                {isBopisSelected ? (\n                    <p className='msc-cart-lines-group-wraper__bopis-heading-title-st'>\n                        {cartLine.pickUpInStore?.deliveryOption}\n                        {', '}\n                        {cartLine.pickUpInStore?.orgUnitName}\n                    </p>\n                ) : null}\n                <p className='msc-cart-lines-group-wraper__bopis-heading-title-ct'>\n                    ({count}\n                    {` `}\n                    {suffix})\n                </p>\n            </Node>\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<IOrderInformation> = ({\n    orderInformationProps,\n    salesId,\n    receiptId,\n    channelName,\n    createdDate,\n    count,\n    amount,\n    channelReferenceId\n}) => (\n    <Node {...orderInformationProps}>\n        {channelName}\n        {salesId}\n        {receiptId}\n        {createdDate}\n        {count}\n        {amount}\n        {channelReferenceId}\n    </Node>\n);\n\nexport const OrderHistoryGroupDelivery: React.FC<IGroupDelivery> = ({\n    deliveryProps,\n    heading,\n    count,\n    processing,\n    address,\n    trackingInfo\n}) => (\n    <Node {...deliveryProps}>\n        {heading}\n        {count}\n        {processing}\n        {address}\n        {trackingInfo}\n    </Node>\n);\n\nexport const OrderHistoryGroup: React.FC<IGroup> = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n    <Node {...groupProps}>\n        {salesLines && (\n            <Node {...salesLinesProps}>\n                {salesLines.map(salesLine => (\n                    <React.Fragment key={salesLine.data.salesLine.LineId}>{salesLine.salesLine}</React.Fragment>\n                ))}\n            </Node>\n        )}\n    </Node>\n);\n\nexport const OrderHistoryGroups: React.FC<IGroups> = ({ groupsProps, groups }) => (\n    <Node {...groupsProps}>\n        {groups.map((group, index) => (\n            <OrderHistoryGroup key={index} {...group} />\n        ))}\n    </Node>\n);\n\nexport const OrderHistoryHeader: React.FC<IHeader> = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n    <Node {...headerProps}>\n        {heading}\n        {orderCountLabel}\n        {extraActions}\n    </Node>\n);\n\nexport const OrderHistorySalesOder: React.FC<ISalesOrder> = ({\n    salesOrderProps,\n    orderInfomation,\n    groups,\n    orderDetailsLink,\n    expandProductsButton\n}) => (\n    <Node {...salesOrderProps}>\n        {orderInfomation && <OrderHistoryOrderInfomation {...orderInfomation} />}\n        {groups && <OrderHistoryGroups {...groups} />}\n        {expandProductsButton}\n        {orderDetailsLink}\n    </Node>\n);\n\nexport const OrderHistoryList: React.FC<IList> = ({ listProps, salesOrders }) => (\n    <Node {...listProps}>\n        {salesOrders && salesOrders.map((salesOrder, index) => <OrderHistorySalesOder key={index} {...salesOrder} />)}\n    </Node>\n);\n\nconst OrderHistoryView: React.FC<IOrderHistoryViewProps> = ({\n    orderHistoryProps,\n    header,\n    alert,\n    loading,\n    emptyMessage,\n    backToShoppingLink,\n    list,\n    table,\n    moreButton\n}) => (\n    <Module {...orderHistoryProps}>\n        {header && <OrderHistoryHeader {...header} />}\n        {loading}\n        {alert && (\n            <>\n                {alert}\n                {backToShoppingLink}\n            </>\n        )}\n        {emptyMessage && (\n            <Node className='ms-order-history__empty-message-container'>\n                {emptyMessage}\n                {backToShoppingLink}\n            </Node>\n        )}\n        {list && <OrderHistoryList {...list} />}\n        {table}\n        {moreButton && moreButton}\n    </Module>\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<IRatingsHistogramViewProps> = props => {\n    const { heading, histogramItems, histogramProps, moduleProps } = props;\n    return (\n        <Module {...moduleProps}>\n            {heading}\n            <Node {...histogramProps}>\n                {histogramItems.map(item => {\n                    return histogramItem(item);\n                })}\n            </Node>\n        </Module>\n    );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n    return (\n        <Node {...props.buttonProps}>\n            {props.starLabel}\n            {props.bar}\n            {props.percentage}\n        </Node>\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<IReviewsListViewProps> = 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 <Module {...moduleProps}>{noReviewsMessage}</Module>;\n    }\n\n    return (\n        <Module {...moduleProps}>\n            {averageRating}\n            {reviewCount}\n            <Node {...refineReviewsProps}>\n                {sortByDropdown}\n                {filterByDropdown}\n            </Node>\n            <Node {...reviewsListProps}>\n                {userReview && buildReviewCard(userReview)}\n                {reviewCards.map(review => {\n                    return buildReviewCard(review);\n                })}\n            </Node>\n            {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n            {pageControls}\n            {createReviewModal(reviewModal, moduleProps)}\n            {createReportModal(reportReviewModal, state)}\n        </Module>\n    );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n    return (\n        <Node {...props.cardProps}>\n            <Node {...props.headerProps}>\n                {props.rating}\n                {props.name}\n                {props.date}\n            </Node>\n            <Node {...props.cardBodyProps}>\n                <Node {...props.reviewProps}>\n                    {props.reviewTitle}\n                    {props.reviewText}\n                </Node>\n                <Node {...props.responseProps}>\n                    {props.responseName}\n                    {props.responseDate}\n                    {props.responseText}\n                </Node>\n                <Node {...props.controlsProps}>\n                    {props.ratingHelpfulLabel}\n                    {props.like}\n                    {props.dislike}\n                    {props.edit}\n                    {props.report}\n                </Node>\n            </Node>\n        </Node>\n    );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n    return (\n        <Module {...moduleProps} {...props.modal}>\n            {props.modalHeader}\n            <Node {...props.modalBody}>\n                <Node {...props.form}>\n                    <Node {...props.inputRow}>\n                        {props.rating}\n                        {props.ratingLabel}\n                    </Node>\n                    <Node {...props.inputRow}>\n                        {props.titleLabel}\n                        {props.titleInput}\n                    </Node>\n                    <Node {...props.inputRow}>\n                        {props.textLabel}\n                        {props.textInput}\n                    </Node>\n                    {props.privacyPolicyUrl}\n                    {props.error}\n                </Node>\n            </Node>\n            <Node {...props.modalFooter}>\n                {props.submitButton}\n                {props.cancelButton}\n            </Node>\n        </Module>\n    );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n    return (\n        <Node {...props.modal}>\n            <Node {...props.modalHeader}>{state.reported ? props.headerSubmitted : props.header}</Node>\n            <Node {...props.modalBody}>\n                {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n            </Node>\n            <Node {...props.modalFooter}>{state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}</Node>\n        </Node>\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 { 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<IOrderLookupViewProps> = 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        <Module {...orderLookup}>\n            <Node {...orderLookupContainer}>\n                {heading}\n                {paragraph}\n                <Node className={orderLookupForm?.className ?? ''}>\n                    {orderNumberInput}\n                    {renderOrderLookupInputField}\n                    {ArrayExtensions.hasElements(additionalProperties) && (\n                        <Node {...orderLookupAdditionalFieldContainer}>\n                            {additionalProperties.map((item: JSX.Element) => (\n                                <React.Fragment key=''>{item}</React.Fragment>\n                            ))}\n                        </Node>\n                    )}\n                    {fieldErrorMessage}\n                    <Node {...submitButton} className={submitButton?.className ?? ''}>\n                        {props.submitButtonLabelText}\n                    </Node>\n                    {errorMessage}\n                </Node>\n                {registeredUserMessage}\n            </Node>\n        </Module>\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC<ISocialShareViewProps> = 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        <Module {...SocialShare}>\n            <Node {...SocialShareList}>\n                {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n                    return (\n                        <Node {...SocialShareItem} key={index}>\n                            {SocialShareElement}\n                        </Node>\n                    );\n                })}\n            </Node>\n        </Module>\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 { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC<ITileListViewProps> = props => {\n    const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n    return (\n        <Node {...tileListContainer}>\n            <Node {...tileListHeading}>{title}</Node>\n            <Node {...singleSlideCarouselComponentProps}>\n                {tiles.map((tileItem: ReactNode, index: number) => {\n                    const keyIndex = `tile-list-item__${index}`;\n                    return (\n                        <Node {...tileItemContainer} key={keyIndex}>\n                            {tileItem}\n                        </Node>\n                    );\n                })}\n            </Node>\n        </Node>\n    );\n};\n\nexport default tileListView;\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<IB2bRequestsStatusViewProps & IB2bRequestsStatusProps<IB2bRequestsStatusResources>> = 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            <Module {...b2bRequestsStatus}>\n                {heading}\n                <Node className=''>\n                    <div className='ms-account-b2b-requests__empty-list'>\n                        <h2 className='ms-account-b2b-requests__empty-list-heading'>{props.resources.headingForEmptyRequestStatus}</h2>\n                        <p className='ms-account-b2b-requests__empty-list-text'>{props.resources.textForEmptyRequestStatus}</p>\n                        <Node className='ms-account-b2b-requests__empty-list__btn-section'>\n                            <Button\n                                role='button'\n                                title={continueShoppingButtonTitle}\n                                aria-label={continueShoppingButtonTitle}\n                                className='ms-account-b2b-requests__empty-list__btn-backtoshopping'\n                                href={getUrlSync('home', props.context.actionContext)}\n                            >\n                                {continueShoppingButtonTitle}\n                            </Button>\n                        </Node>\n                    </div>\n                </Node>\n            </Module>\n        );\n    }\n    return (\n        <Module {...b2bRequestsStatus}>\n            {heading}\n            {table}\n        </Module>\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<IAccountPaymentSummaryViewForm> = ({\n    formProps,\n    label,\n    addPaymentButton,\n    appliedLine,\n    bottomBorder,\n    paymentAmountInput\n}) => (\n    <Node {...formProps}>\n        <>\n            {label}\n            {paymentAmountInput}\n            {addPaymentButton}\n            {appliedLine}\n            {bottomBorder}\n        </>\n    </Node>\n);\n\nexport const EditForm: React.FC<IAccountPaymentEditViewForm> = ({\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    <Node {...formProps}>\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    </Node>\n);\n\nconst CheckoutCustomerAccountView: React.FC<ICheckoutCustomerAccountPaymentViewProps> = props => {\n    const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n    return (\n        <Module {...checkoutCustomerAccount} ref={checkoutErrorRef}>\n            {alert}\n            {moduleState.isReady && summaryView && <SummaryForm {...summaryView} />}\n            {!moduleState.isReady && editView && <EditForm {...editView} />}\n        </Module>\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    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<IOrderInformation> = ({\n    orderInformationProps,\n    salesId,\n    receiptId,\n    channelName,\n    createdDate,\n    count,\n    amount,\n    channelReferenceId\n}) => (\n    <Node {...orderInformationProps}>\n        {channelName}\n        {salesId}\n        {receiptId}\n        {createdDate}\n        {count}\n        {amount}\n        {channelReferenceId}\n    </Node>\n);\n\nexport const OrderHistoryGroupDelivery: React.FC<IGroupDelivery> = ({\n    deliveryProps,\n    heading,\n    count,\n    processing,\n    address,\n    trackingInfo\n}) => (\n    <Node {...deliveryProps}>\n        {heading}\n        {count}\n        {processing}\n        {address}\n        {trackingInfo}\n    </Node>\n);\n\nexport const OrderHistoryGroup: React.FC<IGroup> = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n    <Node {...groupProps}>\n        {salesLines && (\n            <Node {...salesLinesProps}>\n                {salesLines.map(salesLine => (\n                    <React.Fragment key={salesLine.data.salesLine.LineId}>{salesLine.salesLine}</React.Fragment>\n                ))}\n            </Node>\n        )}\n    </Node>\n);\n\nexport const OrderHistoryGroups: React.FC<IGroups> = ({ groupsProps, groups }) => (\n    <Node {...groupsProps}>\n        {groups.map((group, index) => (\n            <OrderHistoryGroup key={index} {...group} />\n        ))}\n    </Node>\n);\n\nexport const OrderHistoryHeader: React.FC<IHeader> = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n    <Node {...headerProps}>\n        {heading}\n        {orderCountLabel}\n        {extraActions}\n    </Node>\n);\n\nexport const OrderHistorySalesOder: React.FC<ISalesOrder> = ({\n    salesOrderProps,\n    orderInfomation,\n    groups,\n    orderDetailsLink,\n    expandProductsButton\n}) => (\n    <Node {...salesOrderProps}>\n        <div>\n            {orderInfomation.placedBy && <React.Fragment>{orderInfomation.placedBy}</React.Fragment>}\n            <div>{orderInfomation && <OrderHistoryOrderInfomation {...orderInfomation} />}</div>\n        </div>\n        {groups && <OrderHistoryGroups {...groups} />}\n        {expandProductsButton}\n        {orderDetailsLink}\n    </Node>\n);\n\nexport const OrderHistoryList: React.FC<IList> = ({ listProps, salesOrders }) => (\n    <Node {...listProps}>\n        {salesOrders && salesOrders.map((salesOrder, index) => <OrderHistorySalesOder key={index} {...salesOrder} />)}\n    </Node>\n);\n\nconst OrderHistoryView: React.FC<IOrderHistoryViewProps> = ({\n    orderHistoryProps,\n    header,\n    alert,\n    loading,\n    emptyMessage,\n    backToShoppingLink,\n    list,\n    table,\n    moreButton\n}) => (\n    <Module {...orderHistoryProps}>\n        {header && <OrderHistoryHeader {...header} />}\n        {loading}\n        {alert && (\n            <>\n                {alert}\n                {backToShoppingLink}\n            </>\n        )}\n        {emptyMessage && (\n            <Node className='ms-order-history__empty-message-container'>\n                {emptyMessage}\n                {backToShoppingLink}\n            </Node>\n        )}\n        {list && <OrderHistoryList {...list} />}\n        {table}\n        {moreButton && moreButton}\n    </Module>\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 { 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 <div className='msc-autoSuggest__categoryResults-title'>{categoryAutoSuggestionHeading}</div>;\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<ISearchData>,\n    isLoadingAutoSuggest?: boolean,\n    isLoadingNode?: React.ReactNode\n): JSX.Element => {\n    return props.autosuggestCategory ? (\n        <Node {...props.CategorySuggest}>\n            {renderCategorySuggestionsTitle(inCategoriesHeading)}\n            <Node {...props.UlCategory}>\n                {isLoadingAutoSuggest && isLoadingNode}\n                {!isLoadingAutoSuggest &&\n                    props.autosuggestCategory.text.map(text => {\n                        return text;\n                    })}\n            </Node>\n        </Node>\n    ) : (\n        <Node {...props.CategorySuggest}>\n            {renderCategorySuggestionsTitle(inCategoriesHeading)}\n            <Node {...props.UlCategory}>\n                <li className='msc-autoSuggest__categoryResults-no-results'>{noResultText}</li>\n            </Node>\n        </Node>\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<ISearchData>): 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        <Image\n            altText={noSearchResultImage.altText}\n            className='msc-autoSuggest__productResults-no-results-image-img'\n            gridSettings={props.context.request.gridSettings!}\n            src={noSearchResultImage.src}\n            requestContext={props.context.request}\n            imageSettings={imageSettings}\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<ISearchData>): JSX.Element => {\n    return (\n        <Node className='msc-autoSuggest__productResults-empty-mobile-content'>\n            <div className='msc-autoSuggest__productResults-empty-mobile-no-results-image'>{renderProductNotFoundResultsImage(props)}</div>\n            <div className='msc-autoSuggest__productResults-empty-mobile-text-content'>\n                <div className='msc-autoSuggest__productResults-empty-mobile-heading'>{props.resources.emptyMobileSearchTextHeading}</div>\n                <div className='msc-autoSuggest__productResults-empty-mobile-text'>{props.resources.emptyMobileSearchText}</div>\n            </div>\n        </Node>\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        <Button className='ms-search__form-control__clear' title={clearSearchButtonText || 'Clear'} onClick={clearSearch}>\n            {clearSearchButtonText || 'Clear'}\n        </Button>\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<ISearchData>,\n    isSearchText: boolean,\n    clearSearch: () => void\n): JSX.Element => {\n    const cancelButtonNode = (\n        <Button\n            className='ms-search__form-cancelSearch'\n            aria-label={props.resources.cancelBtnAriaLabel}\n            onClick={clearSearch}\n            type='button'\n        />\n    );\n\n    return isMobile ? (\n        <Node {...searchForm}>\n            {form.cancelBtn}\n            <Node {...formWrapper}>\n                {form.input}\n                {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n                {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n            </Node>\n        </Node>\n    ) : (\n        <Node {...searchForm}>\n            <Node {...formWrapper}>\n                {form.submitBtn}\n                {form.input}\n                {isSearchText && cancelButtonNode}\n            </Node>\n        </Node>\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 <div className='msc-autoSuggest_keywordsResults-title'>{categoryAutoSuggestionHeading}</div>;\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        <Node {...keywordSuggest}>\n            {renderKeywordSuggestionsTitle(keywordsHeading)}\n            <Node {...ulKeyword}>\n                {isLoadingAutoSuggest && isLoadingNode}\n                {!isLoadingAutoSuggest &&\n                    keywordSuggestions.text.map(text => {\n                        return text;\n                    })}\n            </Node>\n        </Node>\n    ) : (\n        <Node {...keywordSuggest}>\n            {renderKeywordSuggestionsTitle(keywordsHeading)}\n            <Node {...ulKeyword}>\n                <li className='msc-autoSuggest__keywordResults-no-results'>{noResultText}</li>\n            </Node>\n        </Node>\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 <div className='msc-autoSuggest__productResults-title'>{productAutoSuggestionHeading}</div>;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps<ISearchData>): JSX.Element | null => {\n    const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n    if (!noSearchResultImage || !noSearchResultImage.src) {\n        return null;\n    }\n    return (\n        <Image\n            altText={noSearchResultImage.altText}\n            className='msc-autoSuggest__productResults-no-results-image-img'\n            gridSettings={props.context.request.gridSettings!}\n            src={noSearchResultImage.src}\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<ISearchData>): JSX.Element => {\n    return (\n        <Node className='msc-autoSuggest__productResults-no-results-content'>\n            <div className='msc-autoSuggest__productResults-no-results-image'>{renderProductNotFoundResultsImage(props)}</div>\n            <div className='msc-autoSuggest__productResults-no-results-content-title'>{props.resources.noResultContentHeadingText}</div>\n            <div className='msc-autoSuggest__productResults-no-results-content-paragraph'>\n                {props.resources.noResultContentParagraphText}\n            </div>\n        </Node>\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<ISearchData>,\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        <Node {...productSuggest}>\n            {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n            <Node {...ulProduct}>\n                {isLoadingAutoSuggest && isLoadingNode}\n                {!isLoadingAutoSuggest &&\n                    productSuggestions.items.map((item, index) => {\n                        return (\n                            <Node {...item.LiProduct} key={item.id ?? index}>\n                                <Node {...item.AProduct}>\n                                    {item.thumbnail}\n                                    {item.text}\n                                    {item.price}\n                                </Node>\n                            </Node>\n                        );\n                    })}\n            </Node>\n        </Node>\n    ) : (\n        <Node {...productSuggest}>\n            {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n            <Node {...ulProduct}>\n                <Node {...liProduct}>{renderProductNotFoundResults(props)}</Node>\n            </Node>\n        </Node>\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 <Node className='msc-autoSuggest__search-title'>{searchAutoSuggestionHeading}</Node>;\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC<ISearchViewProps & ISearchProps<ISearchData>> = (\n    props: ISearchViewProps & ISearchProps<ISearchData>\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<string>();\n    const [isMobilePort, setIsMobile] = useState<boolean>(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<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;\n        const propsFormInputCurrent = (propsFormInput.ref as React.RefObject<HTMLInputElement>).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        <Module {...Search}>\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                <Node {...AutoSuggest}>\n                    {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n                        <Node {...AutoSuggestAriaLabel}>{AutoSuggestAriaLabelText}</Node>\n                    ) : (\n                        ''\n                    )}\n                    {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n                        <>\n                            <Node className='msc-autoSuggest__search-title-container'>\n                                <Button\n                                    className='ms-search__form-cancelSearch'\n                                    aria-label={props.resources.cancelBtnAriaLabel}\n                                    onClick={clearSearch}\n                                    onBlur={handleCancelSearchFocused}\n                                    type='button'\n                                />\n                                {renderTitle(searchSuggestionHeading, searchText)}\n                            </Node>\n                            <Node className='msc-autoSuggest__results-container'>\n                                <Node className='msc-autoSuggest__results'>\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                                </Node>\n                                {ProductSuggestionsComponent(\n                                    ProductSuggest,\n                                    UlProduct,\n                                    props,\n                                    autosuggestProduct,\n                                    isLoadingAutoSuggest,\n                                    isLoadingNode\n                                )}\n                            </Node>\n                        </>\n                    ) : null}\n                </Node>\n            )}\n            {isMobileView && props.isSearchFormExpanded && (\n                <Node {...AutoSuggest}>\n                    {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n                        <Node {...AutoSuggestAriaLabel}>{AutoSuggestAriaLabelText}</Node>\n                    ) : (\n                        ''\n                    )}\n                    {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n                        <>\n                            <Node className='msc-autoSuggest__search-title-container'>\n                                {(form as ISearchFormViewProps).cancelBtn}\n                                {renderTitle(searchSuggestionHeading, searchText)}\n                            </Node>\n                            <Node className='msc-autoSuggest__results-container'>\n                                <Node className='msc-autoSuggest__results'>\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                                </Node>\n                                {ProductSuggestionsComponent(\n                                    ProductSuggest,\n                                    UlProduct,\n                                    props,\n                                    autosuggestProduct,\n                                    isLoadingAutoSuggest,\n                                    isLoadingNode\n                                )}\n                            </Node>\n                        </>\n                    ) : null}\n                </Node>\n            )}\n        </Module>\n    );\n};\nexport default SearchView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n    ISignInItem,\n    ISignInLoading,\n    ISignInLocalAccount,\n    ISignInSocialAccount,\n    ISignInSocialItem,\n    ISignInB2BAccount,\n    ISignInB2BItem,\n    ISignInViewProps,\n    ISignInButton\n} from '@msdyn365-commerce-modules/account-management';\n\nimport { ISignInProps, ISignInResources } from '../definition-extensions/sign-in.ext.props.autogenerated';\n\nconst LocalAccount: React.FC<ISignInLocalAccount> = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n    return (\n        <Node {...localAccount}>\n            {items &&\n                items.map((item: ISignInItem) => {\n                    return (\n                        <Node key={item.key} {...item.wrapper}>\n                            {item.label}\n                            {item.error}\n                            {item.input}\n                        </Node>\n                    );\n                })}\n            {forgetPassword}\n            {disclaimer}\n            {error}\n            {signInButton}\n        </Node>\n    );\n};\n\nconst SocialAccount: React.FC<ISignInSocialAccount> = ({ socialAccounts, items }) => {\n    return (\n        <Node {...socialAccounts}>\n            {items &&\n                items.map((item: ISignInSocialItem) => {\n                    return (\n                        <Node key={item.key} {...item.button}>\n                            {item.image}\n                            {item.text}\n                        </Node>\n                    );\n                })}\n        </Node>\n    );\n};\n\nconst B2BAccount: React.FC<ISignInB2BAccount> = ({ socialAccounts, items }) => {\n    return (\n        <Node {...socialAccounts}>\n            {items &&\n                items.map((item: ISignInB2BItem) => {\n                    return (\n                        item && (\n                            <Node key={item.key} {...item.button}>\n                                {item.text}\n                            </Node>\n                        )\n                    );\n                })}\n        </Node>\n    );\n};\n\nconst SignInLoading: React.FC<ISignInLoading> = ({ modal, modalBody, icon, message }) => {\n    return (\n        <Node {...modal}>\n            <Node {...modalBody}>\n                {icon}\n                {message}\n            </Node>\n        </Node>\n    );\n};\nconst SignInButton: React.FC<ISignInButton> = ({ id, className, text, ariaLabel, telemetryContent, onClick }) => {\n    const payLoad = getPayloadObject('click', telemetryContent!, text);\n    const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n    return (\n        <a id={id} className={className} aria-label={ariaLabel} onClick={onClick} {...attributes}>\n            {text}\n        </a>\n    );\n};\n\nconst signUpButton: React.FC<ISignInViewProps & ISignInProps<ISignInResources>> = (\n    props: ISignInViewProps & ISignInProps<ISignInResources>\n) => {\n    const {\n        resources,\n        telemetry,\n        friendlyName,\n        context: {\n            request: { telemetryPageName }\n        }\n    } = props;\n    const telemetryContent = getTelemetryObject(telemetryPageName!, friendlyName, telemetry);\n    const attributes = {\n        href: '#'\n    };\n\n    return (\n        <SignInButton\n            id='createAccount'\n            {...attributes}\n            className={`ms-sign-in__sign-up-link msc-btn`}\n            ariaLabel={resources.b2bSignUpButtonAriaLabel}\n            text={resources.b2bSignUpButtonText}\n            telemetryContent={telemetryContent}\n        />\n    );\n};\n\nconst SignInView: React.FC<ISignInViewProps & ISignInProps<ISignInResources>> = props => {\n    const {\n        signIn,\n        viewState,\n        loading,\n        defaultAADConainer,\n        aadConainer,\n        signInSection,\n        signUpSection,\n        signInSectionHeading,\n        signInLocalAccount,\n        signInSocialAccount,\n        signUpSectionHeading,\n        signInB2BAccount,\n        signUpDescription\n    } = props;\n\n    return (\n        <Module {...signIn}>\n            {viewState.isShowLoading && <Node {...defaultAADConainer} />}\n            {viewState.isShowLoading && <SignInLoading {...loading} />}\n            <Node {...aadConainer}>\n                <Node {...signInSection}>\n                    {signInSectionHeading}\n                    {LocalAccount(signInLocalAccount)}\n                    {SocialAccount(signInSocialAccount)}\n                </Node>\n                <Node {...signUpSection}>\n                    {signUpSectionHeading}\n                    {signUpDescription}\n                    {signUpButton(props)}\n                </Node>\n                <div className='ms-sign-in__employee-sign-in-section'>\n                    <div className='ms-sign-in__employee-sign-in-section__line-strike'>\n                        <span>or</span>\n                    </div>\n                    {B2BAccount(signInB2BAccount)}\n                </div>\n            </Node>\n        </Module>\n    );\n};\n\nexport default SignInView;\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<IAccountLoyaltyTileDescription> = ({ description }) => (\n    <p className='ms-account-loyalty-tile__description'>{description}</p>\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 { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n    id?: string;\n    className: string;\n    text: string;\n    ariaLabel: string;\n    disabled?: boolean;\n    telemetryContent?: ITelemetryContent;\n    onClick?(event: React.MouseEvent<HTMLElement>): void;\n}\n\nconst AccountProfileEditButton: React.FC<IAccountProfileEditButton> = ({\n    id,\n    className,\n    text,\n    ariaLabel,\n    disabled,\n    telemetryContent,\n    onClick\n}) => {\n    const payLoad = getPayloadObject('click', telemetryContent!, text);\n    const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n    return (\n        <Button id={id} className={className} aria-label={ariaLabel} disabled={disabled} onClick={onClick} {...attributes}>\n            {text}\n        </Button>\n    );\n};\n\nexport default AccountProfileEditButton;\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 IAccountProfileEditErrorProps {\n    id?: string;\n    className: string;\n    type?: string;\n    message?: string;\n}\n\nconst AccountProfileEditError: React.FC<IAccountProfileEditErrorProps> = ({ id, className, type = 'page', message }) => {\n    const errorClassName = `${className}__${type}-error`;\n\n    return (\n        <div id={id} className={classnames(errorClassName, 'error', `${type}Level`)} role='alert' aria-live='assertive' aria-hidden='true'>\n            <p className={`${errorClassName}-text`}>{message}</p>\n        </div>\n    );\n};\n\nexport default AccountProfileEditError;\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 IAccountProfileEditInputProps {\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<HTMLInputElement>): void;\n}\n\nexport interface IAccountProfileEditInput {\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 AccountProfileEditInput: React.FC<IAccountProfileEditInputProps> = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n    <input\n        id={id}\n        type={type}\n        value={value}\n        className={`${className}-input ${className}-${id}`}\n        pattern={pattern !== '' ? pattern : undefined}\n        aria-required='true'\n        maxLength={GetMaxLength(maxLength)}\n        onChange={onChange}\n    />\n);\n\nexport default AccountProfileEditInput;\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 IAccountProfileEditLabel {\n    id: string;\n    forId: string;\n    className: string;\n    text: string;\n}\n\nconst AccountProfileEditLabel: React.FC<IAccountProfileEditLabel> = ({ id, forId, className, text }) => (\n    <label id={`${id}_label`} className={`${className}-label`} htmlFor={forId}>\n        {text}\n    </label>\n);\n\nexport default AccountProfileEditLabel;\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 IAccountProfileEditLoadingIcon {\n    className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC<IAccountProfileEditLoadingIcon> = ({ className }) => (\n    <div className={`${className}__loading-icon`} />\n);\n\nexport default AccountProfileEditLoadingIcon;\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 IAccountProfileEditLoadingMessage {\n    className: string;\n    message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC<IAccountProfileEditLoadingMessage> = ({ className, message }) => (\n    <div className={`${className}__loading-message`}>{message}</div>\n);\n\nexport default AccountProfileEditLoadingMessage;\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<HTMLElement>): void;\n}\n\nconst PasswordResetButton: React.FC<IPasswordResetButton> = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n    const payLoad = getPayloadObject('click', telemetryContent!, text);\n    const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n    return (\n        <Button id={id} className={className} aria-label={ariaLabel} disabled={disabled} onClick={onClick} {...attributes}>\n            {text}\n        </Button>\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<IPasswordResetErrorProps> = ({ id, className, type = 'page', message }) => {\n    const errorClassName = `${className}__${type}-error`;\n\n    return (\n        <div id={id} className={classnames(errorClassName, 'error', `${type}Level`)} role='alert' aria-live='assertive' aria-hidden='true'>\n            <p className={`${errorClassName}-text`}>{message}</p>\n        </div>\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<HTMLInputElement>): 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<IPasswordResetInputProps> = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n    <input\n        id={id}\n        type={type}\n        value={value}\n        className={`${className}-input ${className}-${id}`}\n        pattern={pattern !== '' ? pattern : undefined}\n        aria-required='true'\n        maxLength={GetMaxLength(maxLength)}\n        onChange={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<IPasswordResetLabel> = ({ id, forId, className, text }) => (\n    <label id={`${id}_label`} className={`${className}-label`} htmlFor={forId}>\n        {text}\n    </label>\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<IPasswordResetLoadingIcon> = ({ className }) => <div className={`${className}__loading-icon`} />;\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<IPasswordResetLoadingMessage> = ({ className, message }) => (\n    <div className={`${className}__loading-message`}>{message}</div>\n);\n\nexport default PasswordResetLoadingMessage;\n"],"names":["_mapEditableLinks","linkdata","telemetryContent","length","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","className","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","_ref","links","onTextChange","requestContext","React","Msdyn365","editProps","AccountLoyaltyTile","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleLinkTextChange","linkIndex","signUpLinkText","viewLinkText","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","data","resources","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","description","url","actionContext","result","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","format","toFixed","viewProps","_objectSpread","moduleProps","classnames","tag","onEdit","LinksComponent","Object","assign","DescriptionComponent","renderView","AccountProfileEdit","moduleClassName","onTextBoxChange","id","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","map","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","message","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","componentDidMount","componentDidUpdate","shouldComponentUpdate","nextProps","nextState","state","viewState","isShowLoading","accountProfileEdit","loading","modal","Modal","isOpen","modalBody","ModalBody","icon","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","style","display","aadConainer","accountProfileEditLocalAccount","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","localAccount","items","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","errorMessage","AccountProfileEditErrorComponent","key","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","undefined","type","labelText","maxLength","pattern","wrapper","label","AccountProfileEditLabelComponent","forId","input","AccountProfileEditInputComponent","onChange","__decorate","observable","observer","Module","AccountProfileEditItem","Node","AccountProfileEditLoading","_ref3","_ref2","item","error","button","LocalAccount","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","salesOrders","textProps","showOrderCount","extraActions","orderCount","orderCountText","orderCountLabel","ordersCountLabel","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","async","channelId","Number","parseInt","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","callerContext","queryResultSettings","setState","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","btnClass","onClick","onTelemetryClick","ContentBlock","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$config$im","image","imageAriaLabel","contentBlockTitle","contentBlockLinks","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","imageSettings","backgroundColor","imageProps","gridSettings","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockContainerStyle","contentBlockviewProps","title","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","href","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","name","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","URL","location","origin","redirectUrl","searchParameters","searchParams","set","fieldName","StringExtensions","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","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","submitButton","Button","disabled","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","SocialShare","slots","socialShareItems","cookies","isConsentGiven","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","TileList","_telemetryContent","Heading","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","content","From","formProps","inputPinLabel","inputExpLabel","alert","inputProps","inputNumProps","inputPinProps","inputExpProps","inputNumber","inputPin","inputExp","applyButton","supportExternalGiftCard","showGiftCardPinInput","showGiftCardExpInput","alertFieldLabel","SelectedGiftCard","itemProps","selectedGiftCard","removeButton","GiftCardList","listProps","list","_ref4","_objectWithoutProperties","_excluded","AddResource","_ref5","form","ShowResource","_ref6","checkoutGiftCardProps","showGiftCard","addGiftCard","AddCheckoutLoyalty","cardNumber","drawer","rewardPoints","loyaltyAmountContainer","appliedLoyaltyAmountContainer","loyaltyAmountLabel","loyaltyAmountInput","loyaltyAmountApplyButton","showAppliedAmount","loyaltyAmountAppliedText","loyaltyAmountAppliedPrice","loyaltyAmountRemoveButton","notEnoughPointsErrorString","showNotEnoughPointsError","checkoutLoyaltyRewardPoint","availablePointsText","activePoints","expiringPointsText","expiringPoints","ShowCheckoutLoyalty","coveredAmountText","amount","formatNotEnoughPointsMessage","minPoints","minDollars","maxDollars","formatCartValueTooLowMessage","equivalentDollars","cartDollars","getMaxDollars","loyaltyTransactionEstimation","MaxCurrencyValueOfLoyaltyPoints","loyaltyGuard","setShowMinValueError","addEventListener","_e$target","isError","parseFloat","_props$data$checkout$","initialized","setInitialized","showMinValueError","setShowMinvalueError","checkoutLoyalty","showLoyalty","addLoyalty","notEnoughPointsMessage","minLoyaltyRedeemAmount","cultureFormatter","formatCurrency","MsDyn365","isBrowser","querySelector","btn","addLoyaltyExtended","checkout","checkoutCart","cart","TotalAmount","cartValueTooLowMessage","isShowLoyalty","isShowAddLoyalty","productCompositions","compositionTypes","fibres","productRecId","open","compositionState","setCompositionState","_toggle","hasSetValue","setHasSetValue","_productCompositions$","filter","composition","Product","_productCompositions$2","thatOne","ItemDataAreaId","compositionMap","Map","cs","collection","get","CompositionType","Drawer","collapseProps","timeout","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","values","cm","_compositionTypes$res","el","RecId","Description","c","_fibres$result","Fibre","Percent","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","createSearchResultModal","modalProps","refineMenu","sortByDropDown","isRecoSearchPage","modalHeader","createModalBody","modalFooter","renderSort","renderRefiner","refiners","RefineMenuContainer","RefinerSectionContainer","submenu","SortingContainer","renderCategoryHierarchy","CategoryHierarchyContainer","categoryHierarchyList","categoryHierarchySeparator","category","renderTitle","TitleContainer","titlePrefix","titleText","titleCount","_props$context$action","SearchResultContainer","products","pagination","ProductsContainer","ProductSectionContainer","choiceSummary","isMobile","modalToggle","searchResultModal","TitleViewProps","categoryHierarchy","CategoryNavContainer","RefineAndProductSectionContainer","FeatureSearchContainer","similarLookProduct","recommendation","newOptions","sortByOptionRelevanceDesc","sortByOptionBestSelling","sortByOptionNewScore","useEffect","swatchDisable","_sortAndFilterContainerRef","_getSortCriteriaColumn","_props$data$listPageS","sortCriteria","listPageState","sortingCritera","Columns","queryColumns","JSON","parse","decodeURIComponent","parseQueryParam","_getSortColumnFromSelectedOption","option","searchConfiguration","mappedConfiguration","sortColumn","pending","selectedSortByOption","activeDropdown","_getCurrentlySelectedOption","activeSortColumn","activeMappedConfig","mappedSearchConfig","ColumnName","IsDescending","dropdownOption","newSortOptions","LabeledDropdown","labelClassname","sortByDropdownLabel","dropdownId","dropdownClassname","toggleColor","dropdownOptions","selectedOption","onSelectOption","notification","warning","history","pushState","buildListPageUrl","fullUrl","sortingColumns","skipCount","delete","sortedRefiners","sort","first","second","RefinerRecordId","stringify","compressedRefiners","refiner","compressedRefiner","refinerKey","compressRefiners","requestUrl","getCurrentUrl","transaction","currentPageNumber","_strikeSVG","imgCollect","querySelectorAll","node","classList","contains","thisColour","src","backgroundImage","maxWidth","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","renderAdditionalContent","_additionalContent$ad","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","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","header","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","count","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$cart2","renderModuleAttributes","promotionOptions","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","headerProps","OrderHistorySalesOder","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","salesOrder","_ref8","orderHistoryProps","emptyMessage","backToShoppingLink","table","moreButton","buildReviewCard","cardProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","cancelButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","SocialShareView","SocialShareElement","tileListView","tileItem","keyIndex","_props$data$operation","b2bRequestsStatus","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","SummaryForm","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","isReady","placedBy","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","Image","altText","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","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","price","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","viewport","onBlur","isSearchFormExpanded","SignInLoading","SignInButton","signIn","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","forgetPassword","disclaimer","signInButton","socialAccounts","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","signUpButton","B2BAccount","errorClassName","GetMaxLength","parsedMaxLength","htmlFor"],"sourceRoot":""}