{"version":3,"file":"static/js/29.adf343667341a6c93aba.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/breadcrumb/components/link.tsx?d232","webpack://Citta2.0/./src/modules/breadcrumb/components/separator.tsx?92bb","webpack://Citta2.0/./src/modules/breadcrumb/breadcrumb.tsx?efcc","webpack://Citta2.0/./src/modules/image-list/image-list.tsx?5602","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/components/get-add-contact-info.tsx?233e","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/components/get-show-contact-info.tsx?4546","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/checkout-guest-profile-emarsys.tsx?1c34","webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.tsx?1096","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/checkout-guest-profile-emarsys.view.tsx?9340","webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.view.tsx?287b","webpack://Citta2.0/./src/modules/breadcrumb/breadcrumb.view.tsx?4b3d","webpack://Citta2.0/./src/modules/image-list/image-list.view.tsx?2bed"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IImageListConfig, IImageListProps, IImagesData } from './image-list.props.autogenerated';\n\n/**\n * The interface for IImageListViewProps.\n */\nexport interface IImageListViewProps extends IImageListProps {\n imageList: IModuleProps;\n imageListHeading?: React.ReactNode;\n imageListContainer: INodeProps;\n imageListItem: INodeProps;\n imageListItemAnchorTag: INodeProps;\n imageListItems: IImageListItem[] | undefined;\n}\n\n/**\n * The interface for IImageListItem.\n */\nexport interface IImageListItem {\n image: JSX.Element | undefined;\n text: JSX.Element | undefined;\n link: string | undefined;\n linkAltText: string | undefined;\n linkAriaLabel: string | undefined;\n linkOpenInNewTab?: boolean;\n}\n\n/**\n *\n * ImageList component.\n * @extends {React.PureComponent>}\n */\nclass ImageList extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { heading } = this.props.config;\n const imageListTitle = heading && ;\n const viewProps: IImageListViewProps = {\n ...this.props,\n imageList: {\n moduleProps: this.props,\n className: classnames('ms-image-list', this.props.config.className),\n tag: 'div'\n },\n imageListHeading: imageListTitle,\n imageListContainer: {\n className: 'ms-image-list__list',\n role: 'list',\n tag: 'ul'\n },\n imageListItem: {\n className: 'ms-image-list__list-item',\n role: 'listitem',\n tag: 'li'\n },\n imageListItemAnchorTag: {\n tag: 'a',\n className: 'ms-image-list__link',\n role: 'link'\n },\n imageListItems: this._renderImageListItems()\n };\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle paragraph change.\n * @param index - Index of image item in array of image items.\n * @returns Void.\n */\n public handleParagraphChange = (index: number) => (event: Msdyn365.ContentEditableEvent): void => {\n if (this.props.config.images![index]) {\n this.props.config.images![index].paragraph = event.target.value;\n }\n };\n\n /**\n * Render list of images.\n * @returns List of images with text and redirection link.\n */\n private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\n const imageList: IImagesData[] | undefined = this.props.config.images;\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\n xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\n },\n lazyload: false,\n disableLazyLoad: true\n };\n return imageList?.map((item, index) => {\n const { image, link, paragraph } = item;\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: (image?.imageSettings ?? defaultImageSettings) as Msdyn365.IImageSettings | undefined\n };\n\n const imageLink: string | undefined = link?.linkUrl.destinationUrl;\n const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\n const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\n const imageLinkOpenInNewTab = link?.openInNewTab;\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n const imageImage = (\n \n );\n\n const imageText = paragraph && (\n \n );\n const imageListItem: IImageListItem = {\n image: imageImage,\n text: imageText,\n link: imageLink,\n linkAltText: imageLinkText,\n linkAriaLabel: imageLinkAriaLabel,\n linkOpenInNewTab: imageLinkOpenInNewTab\n };\n return imageListItem;\n });\n };\n}\n\nexport default ImageList;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IAddContactInfoInput {\r\n inputRef?: React.RefObject;\r\n hasError: boolean;\r\n email: string;\r\n resources: {\r\n emailLabel: string;\r\n emailErrortext: string;\r\n saveBtnLabel: string;\r\n cancelBtnLabel: string;\r\n };\r\n canSubmit: boolean;\r\n canCancel: boolean;\r\n onChange(email: string): void;\r\n onSubmit(): void;\r\n onCancel(): void;\r\n}\r\n\r\nexport interface IAddContactInfo {\r\n addFormProps: INodeProps;\r\n submitButton: React.ReactNode;\r\n cancelButton: React.ReactNode;\r\n inputGroupProps: INodeProps;\r\n label: React.ReactNode;\r\n error: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\n/**\r\n * On Input change handler function.\r\n * @param onChange -On change input function.\r\n * @returns Call of onChange function.\r\n */\r\nconst onInputChangeHandler = (onChange: (email: string) => void) => (event: React.ChangeEvent): void => {\r\n onChange(event.target.value || '');\r\n};\r\n\r\nconst getAddContactInfo = ({\r\n hasError,\r\n inputRef,\r\n email,\r\n canSubmit,\r\n canCancel,\r\n onChange,\r\n onSubmit,\r\n onCancel,\r\n resources: { emailLabel, emailErrortext, saveBtnLabel, cancelBtnLabel }\r\n}: IAddContactInfoInput): IAddContactInfo => {\r\n const onInputChange = onInputChangeHandler(onChange);\r\n\r\n return {\r\n addFormProps: { className: 'ms-checkout-guest-profile__add-contact-info' },\r\n submitButton: canSubmit && (\r\n \r\n ),\r\n cancelButton: canCancel && (\r\n \r\n ),\r\n inputGroupProps: { className: classnames('ms-checkout-guest-profile__input', { 'is-invalid': hasError }) },\r\n label: (\r\n \r\n ),\r\n error: hasError && (\r\n \r\n {emailErrortext}\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n};\r\n\r\nexport default getAddContactInfo;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IShowContactInfoInput {\r\n canEdit: boolean;\r\n email: string;\r\n resources: {\r\n editBtnLabel: string;\r\n };\r\n onEdit(): void;\r\n}\r\n\r\nexport interface IShowContactInfo {\r\n showInfoProps: INodeProps;\r\n email: React.ReactNode;\r\n editButton?: React.ReactNode;\r\n}\r\n\r\nconst getContactInfo = ({ canEdit, email, resources: { editBtnLabel }, onEdit }: IShowContactInfoInput): IShowContactInfo => ({\r\n showInfoProps: { className: 'ms-checkout-guest-profile__selected-item' },\r\n email: {email},\r\n editButton: canEdit && (\r\n \r\n )\r\n});\r\n\r\nexport default getContactInfo;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport { computed, reaction, when } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { ICheckoutGuestProfileEmarsysData } from './checkout-guest-profile-emarsys.data';\r\nimport { ICheckoutGuestProfileEmarsysProps } from './checkout-guest-profile-emarsys.props.autogenerated';\r\nimport getAddContactInfo, { IAddContactInfo } from './components/get-add-contact-info';\r\nimport getShowContactInfo, { IShowContactInfo } from './components/get-show-contact-info';\r\n\r\nexport * from './components/get-add-contact-info';\r\nexport * from './components/get-show-contact-info';\r\n\r\ninterface ICheckoutGuestProfileState {\r\n email: string;\r\n TermsAndConditionsChecked: boolean;\r\n reCaptchaChecked: boolean;\r\n rCCError: boolean;\r\n\r\n}\r\n\r\nexport interface ICheckoutGuestProfileModuleProps extends ICheckoutGuestProfileEmarsysProps, IModuleStateProps { }\r\n\r\nexport interface ICheckoutGuestProfileViewProps extends ICheckoutGuestProfileEmarsysProps, ICheckoutGuestProfileState {\r\n moduleProps: IModuleProps;\r\n showContactInfo?: IShowContactInfo;\r\n addContactInfo?: IAddContactInfo;\r\n reCaptcha: React.ReactNode;\r\n checkBox: React.ReactNode;\r\n\r\n onChange?(email: string): void;\r\n onEdit?(): void;\r\n onSubmit?(): void;\r\n onCancel?(): void;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutGuestProfile component.\r\n * @extends {React.PureComponent, ICheckoutGuestProfileState>}\r\n */\r\n// @ts-expect-error\r\n@withModuleState\r\n@observer\r\nclass CheckoutGuestProfile extends React.Component {\r\n public state: ICheckoutGuestProfileState = {\r\n email:\r\n (this.props.context &&\r\n this.props.context.request &&\r\n this.props.context.request.user &&\r\n this.props.context.request.user.isAuthenticated &&\r\n this.props.context.request.user.emailAddress) ||\r\n '',\r\n TermsAndConditionsChecked: false,\r\n reCaptchaChecked: false,\r\n rCCError: false,\r\n };\r\n\r\n private readonly inputRef: React.RefObject = React.createRef();\r\n private _TermsAndConditionsRef: React.RefObject = React.createRef();\r\n private _recaptchaRef: React.RefObject = React.createRef();\r\n private recaptchaErrorMessage: string | undefined;\r\n // private responseMessage: string | undefined;\r\n\r\n\r\n @computed get isDataReady(): boolean {\r\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\r\n }\r\n\r\n public componentDidMount(): void {\r\n when(\r\n () => this.isDataReady,\r\n async () => {\r\n await this.init();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.checkout.result?.isExpressCheckoutApplied,\r\n async isExpressCheckoutApplied => {\r\n if (isExpressCheckoutApplied && !this.props.data.checkout.result?.isExpressAddressApplied) {\r\n const email = this.props.data.checkout.result?.emailAddressFromExpressCheckout ?? '';\r\n\r\n await this.submitEmail(email);\r\n }\r\n }\r\n );\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICheckoutGuestProfileModuleProps, nextState: ICheckoutGuestProfileState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { className },\r\n resources,\r\n moduleState: { isReady, hasError, hasExternalSubmitGroup }\r\n } = this.props;\r\n const email = this.props.data.checkout.result?.guestCheckoutEmail ?? '';\r\n // const checkBox : this._renderCheckbox();\r\n\r\n const viewProps: ICheckoutGuestProfileViewProps = {\r\n ...this.props,\r\n ...this.state,\r\n onChange: this.onChange,\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n checkBox: this._renderCheckbox(),\r\n reCaptcha: this._renderReCaptcha(),\r\n\r\n\r\n moduleProps: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-guest-profile', className, isReady ? 'show' : 'add')\r\n },\r\n showContactInfo: isReady\r\n ? getShowContactInfo({\r\n canEdit: !hasExternalSubmitGroup,\r\n email,\r\n resources,\r\n onEdit: this.onEdit\r\n })\r\n : undefined,\r\n addContactInfo: !isReady\r\n ? getAddContactInfo({\r\n email: this.state.email,\r\n hasError,\r\n resources,\r\n inputRef: this.inputRef,\r\n onChange: this.onChange,\r\n canSubmit: !hasExternalSubmitGroup,\r\n onSubmit: this.onSubmit,\r\n canCancel: !hasExternalSubmitGroup && !!email,\r\n onCancel: this.onCancel\r\n })\r\n : undefined\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n\r\n private _renderCheckbox(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n private _renderReCaptcha(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n {this.state.rCCError ? this._renderRecaptchaAlert('recaptcha-error') : ''}\r\n this._submit()}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderRecaptchaAlert(className: string): JSX.Element {\r\n\r\n if (this.props.config.reCaptchaOption) {\r\n if (!this.state.reCaptchaChecked) {\r\n this.recaptchaErrorMessage = this.props.resources.recaptchaErrorMessage;\r\n }\r\n }\r\n\r\n const rCCError = this.state.rCCError;\r\n return (\r\n <>\r\n {rCCError && (\r\n \r\n {\r\n this.recaptchaErrorMessage &&\r\n <>\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private readonly init = async (): Promise => {\r\n const checkoutState = this.props.data.checkout.result;\r\n\r\n const hasInvoiceLine = checkoutState?.checkoutCart.hasInvoiceLine;\r\n\r\n const emailOnCart = checkoutState?.checkoutCart.cart.ReceiptEmail;\r\n const email = hasInvoiceLine\r\n ? this.props.context.request.user.emailAddress ?? ''\r\n : emailOnCart ??\r\n (checkoutState?.isExpressCheckoutApplied ? checkoutState.emailAddressFromExpressCheckout : undefined) ??\r\n this.state.email;\r\n\r\n if (email) {\r\n await this.updateGuestProfile(email);\r\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: true });\r\n } else {\r\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: false });\r\n }\r\n\r\n const isEmailValid = this.isEmailValid(email);\r\n this.props.moduleState.init({\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n status: hasInvoiceLine ? 'disabled' : email && isEmailValid ? 'ready' : 'updating',\r\n hasError: !!email && !isEmailValid\r\n });\r\n };\r\n\r\n private readonly onChange = (rowEmail: string): void => {\r\n const email = (rowEmail || '').replace(new RegExp('[<>]', 'gi'), '');\r\n this.setState({ email });\r\n if (this.props.moduleState.hasError) {\r\n // Clear error during user updating the email\r\n this.props.moduleState.setHasError(false);\r\n }\r\n };\r\n\r\n private _checkBoxOnChange = () => (e: React.ChangeEvent) => {\r\n const isChecked = this._TermsAndConditionsRef.current && this._TermsAndConditionsRef.current.checked ? this._TermsAndConditionsRef.current.checked : false;\r\n this.setState({TermsAndConditionsChecked: isChecked });\r\n }\r\n private readonly isEmailValid = (email: string): boolean => {\r\n return EmailRegex.defaultRegex.test(email);\r\n };\r\n\r\n private readonly updateGuestProfile = async (newGuestCheckoutEmail: string): Promise => {\r\n if (this.props.data.checkout.result) {\r\n await this.props.data.checkout.result.updateGuestCheckoutEmail({ newGuestCheckoutEmail });\r\n this.setState({ email: newGuestCheckoutEmail });\r\n }\r\n };\r\n\r\n private readonly onEdit = (): void => {\r\n this.props.telemetry.information('Guest profile onEdit is called.');\r\n this.props.moduleState.onUpdating();\r\n };\r\n\r\n private readonly onSubmit = async (): Promise => {\r\n this.props.telemetry.information('Guest profile onSubmit is called.');\r\n const { email } = this.state;\r\n await this.submitEmail(email);\r\n if(this.state.TermsAndConditionsChecked) {\r\n try {\r\n this._recaptchaRef.current?.execute()\r\n } catch(e) {\r\n console.log(e, 'Please fill the form!');\r\n }\r\n }\r\n };\r\n\r\n private async _submit(): Promise {\r\n let emarsysGroupId = this.props.config.emarsysGroup;\r\n const { email } = this.state;\r\n try {\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostCheckoutGuestProfileEmarsys',\r\n 'post',\r\n {\r\n emailAddress: email,\r\n emarsysGroupId: emarsysGroupId,\r\n optIn:true\r\n }\r\n ) as any;\r\n\r\n if (response?.data.Result !== 'Error') {\r\n console.log('emasys success')\r\n } else {\r\n console.log('this is an emasys error')\r\n }\r\n this._recaptchaRef.current?.reset();\r\n } catch (e) {\r\n console.log('rechatcha error')\r\n }\r\n \r\n }\r\n /**\r\n * Submit the email address.\r\n * @param email - The email to be submitted.\r\n *\r\n */\r\n private readonly submitEmail = async (email: string): Promise => {\r\n const isValid = this.isEmailValid(email);\r\n if (!isValid) {\r\n this.props.moduleState.setHasError(true);\r\n\r\n const input = this.inputRef.current?.focus && (this.inputRef.current as HTMLElement);\r\n input?.focus();\r\n\r\n } else {\r\n this.props.moduleState.onReady();\r\n await this.updateGuestProfile(email);\r\n\r\n }\r\n };\r\n\r\n private readonly onCancel = (): void => {\r\n this.props.telemetry.information('Guest profile onCancel is called.');\r\n\r\n // Reset to the saved value\r\n if (!this.props.data.checkout.result) {\r\n return;\r\n }\r\n\r\n const email = this.props.data.checkout.result.guestCheckoutEmail;\r\n if (!email) {\r\n // It has no saved email, set to status updating and request user to fill the email form\r\n this.props.moduleState.onUpdating();\r\n } else {\r\n // It has saved email, set to status ready\r\n this.setState({\r\n email\r\n });\r\n this.props.moduleState.setHasError(false);\r\n this.props.moduleState.onReady();\r\n }\r\n };\r\n}\r\n\r\nexport default CheckoutGuestProfile;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { Button, IModuleProps, Modal, ModalBody, ModalHeader} from '@msdyn365-commerce-modules/utilities';\r\nimport { ICittaLightboxConfig, ICittaLightboxProps } from './citta-lightbox.props.autogenerated';\r\n\r\nexport interface ICittaLightboxViewProps extends ICittaLightboxProps {\r\n CittaLighboxContainer: IModuleProps;\r\n LaunchLighboxButton: React.ReactNode;\r\n ModalPopUp: React.ReactNode;\r\n}\r\n\r\ninterface ICittaLightBoxState extends React.ComponentState {\r\n isOpen: boolean;\r\n }\r\n\r\n/**\r\n *\r\n * CittaLightbox component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaLightbox extends React.PureComponent, ICittaLightBoxState> {\r\n constructor(props: ICittaLightboxProps) {\r\n super(props);\r\n this.state = { isOpen: false };\r\n this._openModal = this._openModal.bind(this);\r\n this._closeModal = this._closeModal.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n const {config: { defaultOpenState } } = this.props;\r\n if (defaultOpenState) {\r\n this.setState({ isOpen: defaultOpenState});\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n const launchLightboxButton = this._launchLightboxButton(config.hasLaunchLightboxButton, config.launchLightboxButtonText);\r\n const CittaLighboxViewProps: ICittaLightboxViewProps = {\r\n ...this.props,\r\n CittaLighboxContainer: {\r\n moduleProps: this.props,\r\n className: config.launchLightboxButtonClassName && config.launchLightboxButtonClassName !== '' ? config.launchLightboxButtonClassName : 'lightbox'\r\n },\r\n LaunchLighboxButton: launchLightboxButton,\r\n ModalPopUp: this._modalPopUp()\r\n };\r\n return this.props.renderView(CittaLighboxViewProps) as React.ReactElement;\r\n }\r\n\r\n private _launchLightboxButton(hasLaunchLightboxButton: boolean | undefined, buttonText: string | undefined): JSX.Element | null {\r\n if(hasLaunchLightboxButton) {\r\n return ();\r\n }\r\n return null;\r\n }\r\n\r\n private _modalPopUp(): JSX.Element | null {\r\n const {config} = this.props;\r\n return (\r\n {e.preventDefault();}\r\n }}\r\n >\r\n {config.showModalHeader ? config.modalHeader: null}\r\n \r\n {this.props.slots &&\r\n this.props.slots.content &&\r\n this.props.slots.content.length\r\n ? this.props.slots.content.map(\r\n (slot: React.ReactNode, index: number) => {\r\n return
{slot}
;\r\n }\r\n )\r\n : false}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _closeModal(): void {\r\n this.setState(prevState => ({\r\n isOpen: !prevState.isOpen\r\n }));\r\n }\r\n\r\n private _openModal(): void {\r\n this.setState(prevState => ({\r\n isOpen: !prevState.isOpen\r\n }));\r\n }\r\n}\r\n\r\nexport default CittaLightbox;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddContactInfo, ICheckoutGuestProfileViewProps, IShowContactInfo } from './checkout-guest-profile-emarsys';\r\n\r\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\r\n \r\n {email}\r\n {editButton}\r\n \r\n);\r\n\r\nexport const AddContactInfo: React.FC = ({\r\n addFormProps,\r\n submitButton,\r\n cancelButton,\r\n inputGroupProps,\r\n label,\r\n error,\r\n input\r\n}) => (\r\n \r\n \r\n {'Email Address'}\r\n {error}\r\n {input}\r\n \r\n {submitButton}\r\n {cancelButton}\r\n \r\n);\r\n\r\nconst CheckoutGuestProfileView: React.FC = ({ moduleProps, showContactInfo, addContactInfo, checkBox, reCaptcha}) => {\r\n return (\r\n \r\n {showContactInfo && }\r\n {addContactInfo && }\r\n {checkBox}\r\n {reCaptcha}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutGuestProfileView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaLightboxViewProps } from './citta-lightbox';\r\n\r\nexport default (props: ICittaLightboxViewProps) => {\r\n const { CittaLighboxContainer, LaunchLighboxButton, ModalPopUp } = props;\r\n return (\r\n \r\n {LaunchLighboxButton}\r\n {ModalPopUp}\r\n \r\n );\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n \n \n );\n};\n\nexport default BreadCrumbView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IImageListViewProps } from './image-list';\n\n/**\n * Render the thumbnail item images.\n * @param props - The image list view props.\n * @returns Return HTML having IImageListViewProps props with image List.\n */\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\n const { imageList, imageListContainer, imageListHeading, imageListItem, imageListItems, imageListItemAnchorTag } = props;\n return (\n \n {imageListHeading}\n \n {imageListItems?.map(item => {\n let indexKey: string;\n\n if (item.image) {\n const image = (item.image as unknown) as Msdyn365.Image;\n indexKey = image.props.src as string;\n } else {\n const text = (item.text as unknown) as Msdyn365.RichTextComponent;\n indexKey = text.props.text as string;\n }\n return (\n \n {item.image && (\n \n {item.image}\n \n )}\n {item.text}\n \n );\n })}\n \n \n );\n};\n\nexport default imageListView;\n"],"names":["Link","_ref","text","className","href","ariaLabel","index","noclick","telemetryContent","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","React","Object","assign","onClick","onTelemetryClick","itemProp","content","Separator","separator","Breadcrumb","constructor","_pageType","this","props","context","request","urlTokens","pageType","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_getRootLink","root","config","linkUrl","destinationUrl","error","_getCustomBreadcrumbLinks","itemPosition","links","length","map","value","keyIndex","key","toString","_getCategoryHierarchy","data","categoryHierarchy","result","_getFriendlyName","locale","NameTranslations","Url","nameTranslations","_nameTranslation","nameTranslation","ArrayExtensions","hasElements","find","item","Language","toLowerCase","Text","_getPDPLinks","categoryPaths","product","url","requestUrl","push","Name","hideProductName","_goBack","window","history","back","_getPDPBackButton","query","MsDyn365","isBrowser","document","referrer","role","resources","backToResultsText","render","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","_objectSpread","BreadcrumbContainer","moduleProps","classnames","tag","BreadcrumbList","BreadcrumbListItem","backButton","renderView","ImageList","handleParagraphChange","event","images","paragraph","target","_renderImageListItems","imageList","defaultImageSettings","viewports","xs","q","w","h","lg","xl","lazyload","disableLazyLoad","_image$imageSettings","_link$linkText","image","link","imageProps","gridSettings","imageSettings","imageLink","imageLinkText","imageLinkAriaLabel","imageLinkOpenInNewTab","openInNewTab","Msdyn365","loadFailureBehavior","requestContext","editProps","onEdit","linkAltText","linkAriaLabel","linkOpenInNewTab","_heading$tag","heading","imageListTitle","viewProps","imageListHeading","imageListContainer","imageListItem","imageListItemAnchorTag","imageListItems","hasError","inputRef","email","canSubmit","canCancel","onChange","onSubmit","onCancel","emailLabel","emailErrortext","saveBtnLabel","cancelBtnLabel","onInputChange","onInputChangeHandler","addFormProps","submitButton","Button","title","color","cancelButton","inputGroupProps","label","id","input","ref","type","canEdit","editBtnLabel","showInfoProps","editButton","CheckoutGuestProfile","state","user","isAuthenticated","emailAddress","TermsAndConditionsChecked","reCaptchaChecked","rCCError","_TermsAndConditionsRef","_recaptchaRef","init","async","_this$props$context$r","checkoutState","checkout","hasInvoiceLine","checkoutCart","emailOnCart","cart","ReceiptEmail","isExpressCheckoutApplied","emailAddressFromExpressCheckout","updateGuestProfile","updateHasGuestCheckoutEmail","newHasGuestCheckoutEmail","isEmailValid","moduleState","status","rowEmail","replace","RegExp","setState","setHasError","_checkBoxOnChange","e","isChecked","current","checked","EmailRegex","defaultRegex","test","updateGuestCheckoutEmail","newGuestCheckoutEmail","information","onUpdating","submitEmail","_this$_recaptchaRef$c","execute","console","log","onReady","_this$inputRef$curren","focus","guestCheckoutEmail","isDataReady","componentDidMount","when","reaction","_this$props$data$chec","_this$props$data$chec2","isExpressAddressApplied","_this$props$data$chec3","_this$props$data$chec4","shouldComponentUpdate","nextProps","nextState","_this$props$data$chec5","_this$props$data$chec6","isReady","hasExternalSubmitGroup","checkBox","_renderCheckbox","reCaptcha","_renderReCaptcha","showContactInfo","getShowContactInfo","addContactInfo","getAddContactInfo","termsAndConditionsText","termsAndConditionsLink","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","size","_submit","reCaptchaOption","recaptchaErrorMessage","emarsysGroupId","emarsysGroup","_this$_recaptchaRef$c2","response","optIn","Result","reset","__decorate","computed","withModuleState","observer","CittaLightbox","super","isOpen","_openModal","bind","_closeModal","defaultOpenState","launchLightboxButton","_launchLightboxButton","hasLaunchLightboxButton","launchLightboxButtonText","CittaLighboxViewProps","CittaLighboxContainer","launchLightboxButtonClassName","LaunchLighboxButton","ModalPopUp","_modalPopUp","buttonText","Modal","autoFocus","fade","horizontalPosition","verticalPosition","zIndex","toggle","applicationNode","lightboxClassName","modalTransition","onMouseDown","preventDefault","ModalHeader","showModalHeader","modalHeader","ModalBody","slots","slot","prevState","ShowContactInfo","Node","AddContactInfo","_ref2","_ref3","Module","imageListView","indexKey","src","altText"],"sourceRoot":""}