{"version":3,"file":"static/js/22.ab9b30adf15fb7d1ff17.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.tsx?1096","webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.view.tsx?287b","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/breadcrumb/breadcrumb.view.tsx?4b3d","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Citta2.0/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Citta2.0/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://Citta2.0/./src/modules/subscribe/subscribe.tsx?9fea","webpack://Citta2.0/./src/modules/subscribe/subscribe.view.tsx?19c8"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n \n \n );\n};\n\nexport default BreadCrumbView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

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

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps {\n modalContainer: IModuleProps;\n modalHeaderContainer: INodeProps;\n modalFooterContainer: INodeProps;\n modalBodyContainer: INodeProps;\n heading?: React.ReactNode;\n subheading?: React.ReactNode;\n link?: React.ReactNode;\n countryList?: React.ReactNode[];\n isModalOpen?: boolean;\n state?: ICountryPickerState;\n stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CountryPicker extends React.PureComponent, ICountryPickerState> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationTime = 5_184_000;\n\n public constructor(props: ICountryPickerProps) {\n super(props);\n let isCookieValueSet: boolean = false;\n if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n isCookieValueSet = true;\n }\n this.state = {\n isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n };\n }\n\n public render(): JSX.Element | null {\n const { heading, subheading, countryList, actionLink } = this.props.config;\n\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const countryPickerHeading = heading && (\n \n );\n\n const countryPickerSubHeading = subheading && (\n \n );\n\n const countryPickerActionLink = actionLink && this.createLink(actionLink);\n const currentSiteButton = (\n \n );\n\n const viewprops: ICountryPickerViewProps = {\n ...this.props,\n state: this.state,\n isModalOpen: this.state.isModalOpen,\n modalContainer: {\n moduleProps: this.props,\n tag: Modal,\n className: 'ms-country-picker__dialog',\n isOpen: true,\n 'aria-label': 'country-picker',\n toggle: this.closeModal,\n modalTransition: { timeout: 0 },\n shouldUpdateFocusToFirstElement: true\n },\n modalHeaderContainer: {\n tag: ModalHeader,\n className: 'ms-country-picker__modal-header',\n toggle: this.closeModal,\n closeButtonTabIndex: 1\n },\n modalFooterContainer: {\n tag: ModalFooter,\n className: 'ms-countryPicker__modal-footer'\n },\n modalBodyContainer: {\n tag: ModalBody,\n className: 'ms-counrtyPicker__modal-body'\n },\n heading: countryPickerHeading,\n subheading: countryPickerSubHeading,\n link: countryPickerActionLink,\n countryList: countryList && this.renderCountryList(),\n stayOnCurrentSiteButton: currentSiteButton\n };\n\n return this.props.renderView(viewprops);\n }\n\n /**\n * Initiate close modal.\n */\n public readonly closeModal = (): void => {\n this.setState({\n isModalOpen: false\n });\n };\n\n public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.subheading = event.target.value;\n }\n\n public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.heading!.text = event.target.value;\n }\n\n public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.actionLink?.linkText) {\n this.props.config.actionLink.linkText = event.target.value;\n }\n }\n\n public createLink(link?: IActionLinkData): React.ReactNode | null {\n if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n const linkText = link?.linkText ?? '';\n const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: link?.ariaLabel,\n className: 'ms-countryPicker__link',\n linkText,\n linkUrl: link?.linkUrl.destinationUrl,\n openInNewTab: link?.openInNewTab,\n role: 'link',\n additionalProperties: attributes!,\n onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n public renderCountryList(): React.ReactNode[] | undefined {\n const marketSettings = this.props.context.request.marketSettings;\n if (!marketSettings) {\n return undefined;\n }\n const localeItems = marketSettings.localeItems;\n const countryLinks = localeItems.map((value: ILocaleItems) => {\n return this.renderCountry(value);\n });\n\n return countryLinks;\n }\n\n public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n const countryList = this.props.config.countryList;\n let baseUrl = localeItem.localeBaseUrl;\n baseUrl = this._appendProtocolToUrl(baseUrl);\n const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n if (!matchedCountryItem) {\n return null;\n }\n const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: imageSize,\n lg: imageSize,\n xl: imageSize\n },\n lazyload: true\n };\n const image = matchedCountryItem.image;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings ?? defaultImageSettings\n };\n return (\n \n {image && (\n \n )}\n
\n {matchedCountryItem.displayString}\n {matchedCountryItem.displaySubString}\n
\n \n );\n }\n\n /**\n * Writes the current site base url to cookie and closes the country picker modal dialog.\n */\n private readonly _handleStayOnSiteButtonClick = (): void => {\n const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n if (currentBaseUrl) {\n const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n }\n this.closeModal();\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n * @returns - This method just writes the cookie to the browser.\n */\n private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n this._writeToCookie(storageKey, storageValue);\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n */\n private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n if (!storageKey || !storageValue) {\n return;\n }\n const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n cookieOptions.maxAge = this._cookieExpirationTime;\n this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n };\n\n /**\n * Appends protocol to an url.\n * @param baseUrl - Url to be formatted.\n * @returns - URL after appending protocol.\n */\n private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n };\n}\n\nexport default CountryPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerViewProps } from './country-picker';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC = (props: ICountryPickerViewProps) => {\n const {\n isModalOpen,\n modalContainer,\n modalHeaderContainer,\n modalBodyContainer,\n heading,\n modalFooterContainer,\n subheading,\n link,\n countryList,\n stayOnCurrentSiteButton\n } = props;\n return isModalOpen && countryList ? (\n \n \n {heading}\n {subheading}\n \n \n {countryList.map(country => (\n <>{country}\n ))}\n \n \n {stayOnCurrentSiteButton}\n {link}\n \n \n ) : null;\n};\n\nexport default countryPickerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISubscribeConfig, ISubscribeProps } from './subscribe.props.autogenerated';\n\n/**\n * Subscribe view props.\n */\nexport interface ISubscribeViewProps extends ISubscribeProps {\n subscribe: IModuleProps;\n subscribeContainer: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n subscribeForm?: INodeProps;\n emailInput?: INodeProps;\n handleText(): void;\n}\n\n/**\n * Subscribe component.\n * @extends {React.PureComponent>}\n */\nexport class Subscribe extends React.PureComponent> {\n private readonly _emailAddressInputRef: React.RefObject;\n\n public constructor(props: ISubscribeViewProps) {\n super(props);\n this._emailAddressInputRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const moduleClassName = 'ms-subscribe';\n\n const subscribeParagraph = paragraph && (\n \n );\n\n const subscribeHeading = heading && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n subscribe: {\n moduleProps: this.props,\n className: moduleClassName\n },\n subscribeContainer: {\n className: 'ms-subscribe__details'\n },\n heading: subscribeHeading,\n text: subscribeParagraph,\n subscribeForm: {\n className: 'ms-subscribe__details__form',\n tag: 'form',\n 'aria-label': this.props.resources.subscribeFormAriaLabel,\n name: 'subscribeForm',\n role: 'form',\n autoComplete: 'off'\n },\n emailInput: {\n className: 'ms-subscribe__details__form__email',\n tag: 'input',\n ref: this._emailAddressInputRef,\n type: 'email',\n 'aria-label': this.props.resources.subscribeFormEmailAriaLabel,\n placeholder: this.props.resources.subscribeEmailPlaceholderText\n },\n submitButton: {\n className: 'ms-subscribe__details__form__submit',\n tag: Button,\n 'aria-label': this.props.resources.subscribeFormSubmitAriaLabel,\n type: 'submit',\n title: this.props.resources.subscribeButtonLabel\n },\n submitButtonLabelText: this.props.resources.subscribeButtonLabel\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n}\n\nexport default Subscribe;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISubscribeViewProps } from './subscribe';\n\n/**\n * Override form action and button action below.\n * @param event - The form event.\n */\nconst onSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n};\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns nothing.\n */\nexport const subscribeView: React.FC = props => {\n const { subscribe, subscribeContainer, heading, text, subscribeForm, emailInput, submitButton } = props;\n return (\n \n \n {heading}\n {text}\n \n \n \n {props.submitButtonLabelText}\n \n \n \n \n );\n};\n\nexport default subscribeView;\n"],"names":["CittaLightbox","React","constructor","props","super","this","state","isOpen","_openModal","bind","_closeModal","componentDidMount","config","defaultOpenState","setState","render","launchLightboxButton","_launchLightboxButton","hasLaunchLightboxButton","launchLightboxButtonText","CittaLighboxViewProps","_objectSpread","CittaLighboxContainer","moduleProps","className","launchLightboxButtonClassName","LaunchLighboxButton","ModalPopUp","_modalPopUp","renderView","buttonText","Button","onClick","Modal","autoFocus","fade","horizontalPosition","verticalPosition","zIndex","toggle","applicationNode","lightboxClassName","modalTransition","onMouseDown","e","preventDefault","ModalHeader","showModalHeader","modalHeader","ModalBody","slots","content","length","map","slot","index","key","prevState","Module","Object","assign","Link","_ref","text","href","ariaLabel","noclick","telemetryContent","payLoad","getPayloadObject","linkText","undefined","contentAction","etext","attribute","getTelemetryAttributes","onTelemetryClick","itemProp","Separator","separator","Breadcrumb","_pageType","context","request","urlTokens","pageType","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_getRootLink","root","linkUrl","destinationUrl","error","_getCustomBreadcrumbLinks","itemPosition","links","value","keyIndex","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","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","BreadcrumbContainer","classnames","tag","BreadcrumbList","BreadcrumbListItem","backButton","Node","link","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","errorMessage","CheckInForPickup","checkInForOrderPickup","async","channelId","Number","parseInt","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","callerContext","actionContext","queryResultSettings","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","_this$props$context$r5","isHeaderError","viewProps","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","viewState","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","heading","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","CountryPicker","_telemetryContent","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","isModalOpen","_handleStayOnSiteButtonClick","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","set","baseUrl","includes","isCookieValueSet","get","_heading$tag","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","editProps","onEdit","handleTextChange","requestContext","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","tabIndex","stayOnCurrentSiteButtonText","viewprops","modalContainer","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","renderCountryList","stayOnCurrentSiteButton","event","target","handleLinkTextChange","_this$props$config$ac","StringExtensions","isNullOrEmpty","_link$linkText","attributes","editableLink","openInNewTab","additionalProperties","onTextChange","localeItems","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","imageSize","q","w","h","defaultImageSettings","viewports","xs","lg","xl","lazyload","image","imageProps","gridSettings","imageSettings","displayString","src","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","countryPickerView","country","Subscribe","paragraph","_emailAddressInputRef","subscribeParagraph","Msdyn365","subscribeHeading","handleText","subscribe","subscribeContainer","subscribeForm","subscribeFormAriaLabel","name","autoComplete","emailInput","ref","type","subscribeFormEmailAriaLabel","placeholder","subscribeEmailPlaceholderText","submitButton","subscribeFormSubmitAriaLabel","title","subscribeButtonLabel","submitButtonLabelText","subscribeView","_subscribeForm$classN","_emailInput$className","_submitButton$classNa"],"sourceRoot":""}