{"version":3,"file":"static/js/18.cef9f85bba77d2d4f356.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/citta-gift-card-container/citta-gift-card-container.tsx?f0ea","webpack://Citta2.0/./src/modules/citta-gift-card-container/citta-gift-card-container.view.tsx?a5f5","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/footer-category/footer-category.tsx?e0bd","webpack://Citta2.0/./src/modules/footer-category/footer-category.view.tsx?fdce"],"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\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaGiftCardContainerData } from './citta-gift-card-container.data';\r\nimport { ICittaGiftCardContainerProps } from './citta-gift-card-container.props.autogenerated';\r\n\r\nexport interface ICittaGiftCardContainerViewProps extends ICittaGiftCardContainerProps {\r\n GiftCardWrapper: IModuleProps;\r\n giftCardContent: React.ReactNode[];\r\n giftCardForm: React.ReactNode[];\r\n SlotWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaGiftCardContainer component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaGiftCardContainer extends React.PureComponent> {\r\n private moduleClassName: string = 'giftcardCreateWrap';\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaGiftCardContainerViewProps = {\r\n ...this.props,\r\n GiftCardWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName)\r\n },\r\n giftCardContent: this.props.slots.slot1,\r\n giftCardForm: this.props.slots.slot2,\r\n SlotWrapper: {\r\n className: 'giftcardsslot-wrapper',\r\n },\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default CittaGiftCardContainer;\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaGiftCardContainerViewProps } from './citta-gift-card-container';\r\n\r\nexport default (props: ICittaGiftCardContainerViewProps) => {\r\n const { GiftCardWrapper, giftCardContent, giftCardForm, SlotWrapper } = props;\r\n return (\r\n \r\n \r\n {...giftCardContent}\r\n \r\n \r\n {...giftCardForm}\r\n \r\n \r\n );\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\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 './index';\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterCategoryConfig, IFooterCategoryProps } from './footer-category.props.autogenerated';\n\nexport interface IFooterCategoryViewProps extends IFooterCategoryProps {\n categories: React.ReactNode[];\n FooterList: IModuleProps;\n FooterListItem: INodeProps;\n}\n\n/**\n *\n * FooterCategory component.\n * @extends {React.PureComponent>}\n */\nclass FooterCategory extends React.PureComponent> {\n public render(): JSX.Element | null {\n if (!this.props.slots || !this.props.slots.content || this.props.slots.content.length === 0) {\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\n return null;\n }\n const viewprops = {\n ...this.props,\n categories: this.props.slots.content,\n FooterList: {\n moduleProps: this.props,\n className: classnames('ms-footer__list', this.props.config.className),\n tag: 'ul'\n },\n FooterListItem: {\n className: classnames('ms-footer__list-item', this.props.config.className),\n tag: 'li'\n }\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default FooterCategory;\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 { IFooterCategoryViewProps } from './footer-category';\n\nexport const FooterCategoryView: React.FC = props => {\n const { categories, FooterList, FooterListItem } = props;\n if (!categories || categories.length === 0) {\n props.context.telemetry.error('Footer content is empty, module wont render');\n return null;\n }\n return (\n \n {categories.map((category: ReactNode, index: number) => {\n return (\n \n {category}\n \n );\n })}\n \n );\n};\n\nexport default FooterCategoryView;\n"],"names":["CittaGiftCardContainer","React","constructor","moduleClassName","render","viewProps","_objectSpread","this","props","GiftCardWrapper","moduleProps","className","classnames","giftCardContent","slots","slot1","giftCardForm","slot2","SlotWrapper","renderView","Module","Object","assign","Node","CittaLightbox","super","state","isOpen","_openModal","bind","_closeModal","componentDidMount","config","defaultOpenState","setState","launchLightboxButton","_launchLightboxButton","hasLaunchLightboxButton","launchLightboxButtonText","CittaLighboxViewProps","CittaLighboxContainer","launchLightboxButtonClassName","LaunchLighboxButton","ModalPopUp","_modalPopUp","buttonText","Button","onClick","Modal","autoFocus","fade","horizontalPosition","verticalPosition","zIndex","toggle","applicationNode","lightboxClassName","modalTransition","onMouseDown","e","preventDefault","ModalHeader","showModalHeader","modalHeader","ModalBody","content","length","map","slot","index","key","prevState","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","tag","BreadcrumbList","BreadcrumbListItem","backButton","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","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","FooterCategory","categories","FooterList","FooterListItem","FooterCategoryView","category"],"sourceRoot":""}