{"version":3,"file":"static/js/28.8e3421209916a1fcbac3.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/alphabet-list/alphabet-list.tsx?2a42","webpack://Citta2.0/./src/modules/alphabet-list/alphabet-list.view.tsx?271d","webpack://Citta2.0/./src/modules/checkout-section-container/components/loading.tsx?edc6","webpack://Citta2.0/./src/modules/checkout-section-container/checkout-section-container.tsx?5c75","webpack://Citta2.0/./src/modules/checkout-section-container/checkout-section-container.view.tsx?de8f","webpack://Citta2.0/./src/modules/citta-productpdf-specification/citta-productpdf-specification.tsx?4ff0","webpack://Citta2.0/./src/modules/citta-productpdf-specification/citta-productpdf-specification.view.tsx?8ccf","webpack://Citta2.0/./src/modules/business-partner-promotion/components/terms-paragraph.tsx?1a9a","webpack://Citta2.0/./src/modules/business-partner-promotion/business-partner-promotion.tsx?df24","webpack://Citta2.0/./src/modules/business-partner-promotion/business-partner-promotion.view.tsx?1ff2"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { IAlphabetListData } from './alphabet-list.data';\r\nimport { IAlphabetListProps, IAlphabetItemsDetailsData } from './alphabet-list.props.autogenerated';\r\n\r\nexport interface IAlphabetListViewProps extends IAlphabetListProps {\r\n alphapetContainer: IModuleProps;\r\n letterItems: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * AlphabetList component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass AlphabetList extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n\r\n const viewProps: IAlphabetListViewProps = {\r\n ...(this.props as IAlphabetListProps),\r\n alphapetContainer: {\r\n moduleProps: this.props,\r\n className: 'AlphabetList'\r\n },\r\n letterItems: this._renderLetter(this.props.config.alphabetItemsDetails, this.props.config.displayTwoColumns, this.props.config.letterToSplitAt)\r\n };\r\n\r\n return this.props.renderView(viewProps);\r\n }\r\n\r\n private _renderLetter(alphabetItemsDetails?: IAlphabetItemsDetailsData[], displayTwoColumns?: boolean, letterToSplitAt?: string): JSX.Element {\r\n console.log('displayTwoColumns', displayTwoColumns)\r\n if (displayTwoColumns) {\r\n return this._renderSplitColumn(alphabetItemsDetails, letterToSplitAt)\r\n }\r\n\r\n return this._renderSingleColumn(alphabetItemsDetails)\r\n }\r\n\r\n private _renderItem(alphabetItemDetail: IAlphabetItemsDetailsData): JSX.Element {\r\n return (\r\n
\r\n

{alphabetItemDetail.letter}

\r\n
\r\n
\r\n {alphabetItemDetail.subMenus?.map(item => {\r\n return (\r\n <>\r\n {item.name}\r\n \r\n )\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderSplitColumn(alphabetItemsDetails?: IAlphabetItemsDetailsData[], letterToSplitAt?: string): JSX.Element {\r\n let leftSide = true;\r\n const leftListNode: JSX.Element[] = [];\r\n const rightListNode: JSX.Element[] = [];\r\n alphabetItemsDetails?.forEach(alphabetItem => {\r\n\r\n if (alphabetItem.letter === letterToSplitAt) {\r\n leftSide = false\r\n }\r\n\r\n if (leftSide) {\r\n leftListNode.push(this._renderItem(alphabetItem))\r\n } else {\r\n rightListNode.push(this._renderItem(alphabetItem))\r\n }\r\n })\r\n\r\n return (\r\n
\r\n
{leftListNode}
\r\n
{rightListNode}
\r\n
\r\n )\r\n }\r\n\r\n private _renderSingleColumn(alphabetItemsDetails?: IAlphabetItemsDetailsData[]): JSX.Element {\r\n const listNode = alphabetItemsDetails?.map(alphabetItem => {\r\n return this._renderItem(alphabetItem)\r\n })\r\n\r\n return (\r\n <>\r\n {listNode}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AlphabetList;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { IAlphabetListViewProps } from './alphabet-list';\r\n\r\nexport default (props: IAlphabetListViewProps) => {\r\n return ( \r\n \r\n {props.letterItems}\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\nimport * as React from 'react';\r\n\r\nconst Loading: React.FC = () =>
;\r\n\r\nexport default Loading;\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 { IModuleStateManager, IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport get from 'lodash/get';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICheckoutSectionContainerData } from './checkout-section-container.data';\r\nimport { ICheckoutSectionContainerProps } from './checkout-section-container.props.autogenerated';\r\nimport LoadingComponent from './components/loading';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport FingerprintJS from '@fingerprintjs/fingerprintjs-pro'\r\n\r\nexport interface ICheckoutSectionContainerModuleProps extends ICheckoutSectionContainerProps, IModuleStateProps {\r\n enableControl: boolean;\r\n}\r\n\r\nexport enum PaymentType {\r\n Adyen = 'checkout-payment-instrument',\r\n PayByAccount = 'citta-checkout-customer-account-payment'\r\n}\r\nexport interface ICheckoutSectionContainerItem {\r\n id: string;\r\n loading?: React.ReactNode;\r\n itemProps: INodeProps;\r\n item: React.ReactNode;\r\n accordion:React.ReactNode\r\n}\r\n\r\nexport interface ICheckoutSectionContainerState {\r\n activeAccordion: string;\r\n}\r\n\r\nexport interface ICheckoutSectionContainerState {\r\n reCaptchaChecked: boolean;\r\n rCCError: boolean;\r\n activeAccordion: string;\r\n fingerPrintError:boolean;\r\n requestId:string\r\n}\r\n\r\nexport interface ICheckoutSectionContainerViewProps extends ICheckoutSectionContainerProps<{}> {\r\n className: string;\r\n checkoutPlainContainerProps: IModuleProps;\r\n items: ICheckoutSectionContainerItem[];\r\n // accordion: React.ReactNode;\r\n reCaptcha: React.ReactNode;\r\n fingerPrintError:React.ReactNode;\r\n \r\n}\r\n/**\r\n *\r\n * CheckoutPlainContainer component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nexport class CheckoutPlainContainer extends React.Component {\r\n \r\n public constructor(props:ICheckoutSectionContainerModuleProps) {\r\n super(props);\r\n this.state = {\r\n activeAccordion:PaymentType.PayByAccount,\r\n reCaptchaChecked: false,\r\n rCCError: false,\r\n fingerPrintError:false,\r\n requestId: ''\r\n };\r\n\r\n }\r\n // public state: ICheckoutSectionContainerState = {\r\n // reCaptchaChecked: false,\r\n // rCCError: false,\r\n // activeAccordion:PaymentType.PayByAccount\r\n // }\r\n \r\n private _recaptchaRef: React.RefObject = React.createRef();\r\n private recaptchaErrorMessage: string | undefined;\r\n public async componentDidMount(): Promise {\r\n const items = this.getItems();\r\n const childIds = items.map((item: React.ReactNode) => get(item, 'props.id'));\r\n if(this.props.config.reCaptchaOption){\r\n const fpPromise = FingerprintJS.load({\r\n apiKey: \"SavNfJLiPxQvtGc0eGD5\",\r\n endpoint: [\r\n \"https://fp.cittadesign.com\",\r\n FingerprintJS.defaultEndpoint\r\n ],\r\n scriptUrlPattern: [\r\n \"https://fp.cittadesign.com/web/v//loader_v.js\",\r\n FingerprintJS.defaultScriptUrlPattern\r\n ]\r\n });\r\n const requestID = await fpPromise.then(fp => fp.get()).then(result => {return result.requestId});\r\n this.setState({requestId:requestID});\r\n }\r\n \r\n this.props.moduleState.init({\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n childIds,\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.moduleState.isReady,\r\n () => {\r\n this.onContainerReady();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.moduleState.shouldSubmitContainer,\r\n () => {\r\n this.onSubmit();\r\n }\r\n );\r\n }\r\n\r\n public componentDidUpdate(): void {\r\n if (!this.props.moduleState.hasExternalSubmitGroup) {\r\n return;\r\n }\r\n /**\r\n * Review all modules to updating status if one of the modules has error\r\n */\r\n const { childIds, hasError, getModule } = this.props.moduleState;\r\n const hasReadyItems = childIds.some((childId: string) => {\r\n const state = getModule(childId);\r\n return !!state && state.isReady;\r\n });\r\n if (hasReadyItems && hasError) {\r\n this.onEdit();\r\n }\r\n }\r\n public render(): JSX.Element | null {\r\n const {\r\n enableControl,\r\n moduleState,\r\n config: { width, paymentAccordion, creditCardIcon }\r\n } = this.props;\r\n const items = this.getItems();\r\n if (!items.length) {\r\n this.props.context.telemetry.error('Checkout section content is empty, module wont render');\r\n return null;\r\n }\r\n\r\n const moduleClassName = classname(\r\n 'ms-checkout-section-container',\r\n {\r\n 'has-initialized': moduleState.hasInitialized,\r\n 'is-ready': moduleState.isReady,\r\n 'is-updating': !moduleState.isReady,\r\n container: width === 'container',\r\n 'col-12 fullwidth': width === 'fluid'\r\n },\r\n this.props.config.className\r\n );\r\n\r\n const viewProps: ICheckoutSectionContainerViewProps = {\r\n ...this.props,\r\n\r\n className: moduleClassName,\r\n reCaptcha: this._renderReCaptcha(),\r\n fingerPrintError:this._renderFingerPrintErrorMessage(),\r\n checkoutPlainContainerProps: {\r\n moduleProps: this.props,\r\n className: moduleClassName\r\n },\r\n items: items.map((item: React.ReactNode) => {\r\n const childId = get(item, 'props.id');\r\n const childTypeName = get(item, \"props.typeName\");\r\n const state = moduleState.getModule(childId);\r\n const customerInfo = get(this.props, 'data.customerInformation.result');\r\n const platform = get(this.props, 'context.request.app.platform');\r\n const isAllowOnAccountPayment = customerInfo && customerInfo.AllowOnAccountPayment && platform &&\r\n (platform.enableCustomerAccountPayment === 'all' ||\r\n (platform.enableCustomerAccountPayment === 'b2b' && customerInfo.IsB2b === true) ||\r\n (platform.enableCustomerAccountPayment === 'b2c' && customerInfo.IsB2b === false))\r\n // Modules has not completed initializing or it's disable \r\n\r\n // let isPayment = childTypeName ===PaymentType.PayByAccount || childTypeName ===PaymentType.Adyen\r\n const hidden = state.hasModuleState && (!state.hasInitialized || state.isDisabled || state.isSkipped)||(isAllowOnAccountPayment && paymentAccordion? this.state.activeAccordion !== childTypeName: '');\r\n \r\n return {\r\n id: childId,\r\n loading: state.hasModuleState && !state.hasInitialized && ,\r\n itemProps: {\r\n 'data-type-name': state.typeName,\r\n className: classname('ms-checkout-section-container__item', {\r\n hidden: hidden,\r\n initialized: state.hasInitialized,\r\n disabled: state.isDisabled,\r\n skipped: state.isSkipped,\r\n ready: state.isReady,\r\n updating: state.isUpdating,\r\n pending: state.isPending\r\n })\r\n },\r\n accordion:isAllowOnAccountPayment && paymentAccordion? this._renderAccordionItem(item, creditCardIcon): null,\r\n item: React.cloneElement(item as React.ReactElement, { enableControl })\r\n };\r\n })\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _renderReCaptcha(): React.ReactNode {\r\n if(this.props.config.reCaptchaOption){\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 return null;\r\n }\r\n\r\n private _renderFingerPrintErrorMessage():React.ReactNode {\r\n if(this.state.fingerPrintError) {\r\n return(\r\n
\r\n

Error message

\r\n

\r\n {this.props.config.fingerPrintErrorMessage}\r\n

\r\n
\r\n )\r\n }\r\n return null\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 async _submit():Promise {\r\n const recaptchaValue = this._recaptchaRef.current?.getValue();\r\n this.clearError();\r\n if(!recaptchaValue){\r\n this.setState({\r\n rCCError: true\r\n });\r\n this._recaptchaRef.current?.reset();\r\n } else {\r\n const res = this.props.config.turnOnFingerPrint && await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'GetFingerprint',\r\n 'post',\r\n {\r\n myInputValue:this.state.requestId\r\n }\r\n ) as any;\r\n const suspectScore:number = this.props.config.turnOnFingerPrint && res.data.result && res.data.result.data.result||0;\r\n const suspectScoreThreshold:number = this.props.config.suspectScoreThreshold || 90;\r\n const isBlocked:boolean = suspectScore > suspectScoreThreshold;\r\n if(this.props.config.turnOnFingerPrint && isBlocked) {\r\n this.setState({\r\n fingerPrintError:true\r\n })\r\n } else {\r\n this.getActiveChildModuleStates().forEach(state => {\r\n !state.isReady && state.onSubmit && state.onSubmit();\r\n });\r\n }\r\n this._recaptchaRef.current?.reset();\r\n }\r\n }\r\n\r\n private getItems = (): React.ReactNode[] => {\r\n const { slots } = this.props;\r\n return (slots && slots.primary && slots.primary.length && slots.primary) || [];\r\n };\r\n\r\n private _renderAccordionItem(item:any, creditCardIcon:any): React.ReactNode{\r\n const childTypeName = get(item, 'props.typeName');\r\n let slotName:string = '';\r\n switch(childTypeName) {\r\n case PaymentType.PayByAccount:\r\n slotName = 'Charge to Account';\r\n break;\r\n case PaymentType.Adyen:\r\n slotName = 'Credit Card';\r\n break;\r\n default:null\r\n }\r\n return (\r\n
\r\n this.updateAccordion(childTypeName)} />\r\n
{slotName}
\r\n {childTypeName === PaymentType.Adyen?
\"\"
: null}\r\n
\r\n )\r\n }\r\n\r\n public updateAccordion(newValue: string): void {\r\n if(this.state.activeAccordion===PaymentType.PayByAccount){\r\n this.props.moduleState.getModuleByTypeName(this.state.activeAccordion).onSkip();\r\n }\r\n this.setState({activeAccordion: newValue});\r\n this.props.moduleState.getModuleByTypeName(newValue).onUpdating();\r\n if(newValue===PaymentType.PayByAccount){\r\n this.props.moduleState.getModuleByTypeName(PaymentType.Adyen).onDisable()\r\n } else {\r\n this.props.moduleState.getModuleByTypeName(PaymentType.PayByAccount).onDisable()\r\n }\r\n }\r\n\r\n private getActiveChildModuleStates = (): IModuleStateManager[] => {\r\n const { childIds, getModule } = this.props.moduleState;\r\n return childIds\r\n .map(getModule)\r\n .filter((state): state is IModuleStateManager => !!state && !state.isDisabled && state.hasModuleState);\r\n };\r\n\r\n private clearError = (): void => {\r\n // Clear error before action, otherwise it will rise conflict;\r\n this.getActiveChildModuleStates().forEach(state => {\r\n state.hasError && state.setHasError(false);\r\n });\r\n };\r\n\r\n private onSubmit = ():void =>{\r\n if(this.props.config.reCaptchaOption){\r\n this._recaptchaRef.current?.execute()\r\n } else {\r\n this.clearError();\r\n this.getActiveChildModuleStates().forEach(state => {\r\n !state.isReady && state.onSubmit && state.onSubmit();\r\n });\r\n }\r\n };\r\n\r\n private onCancel = (): void => {\r\n this.clearError();\r\n this.getActiveChildModuleStates().forEach(state => {\r\n !state.isReady && state.onCancel && state.onCancel();\r\n });\r\n };\r\n\r\n private onEdit = (): void => {\r\n const {\r\n config: {paymentAccordion}, data\r\n } = this.props;\r\n const isAllowOnAccountPayment = data.customerInformation.result?.AllowOnAccountPayment\r\n this.getActiveChildModuleStates().forEach(state => {\r\n (state.isReady || state.isSkipped) && state.onEdit && state.onEdit();\r\n });\r\n isAllowOnAccountPayment && paymentAccordion && this.props.moduleState.getModuleByTypeName(PaymentType.Adyen).onDisable()\r\n };\r\n\r\n private onContainerReady = (): void => {\r\n this.getActiveChildModuleStates().forEach(state => {\r\n state.isReady && state.onContainerReady && state.onContainerReady();\r\n });\r\n };\r\n}\r\n\r\nexport default withModuleState(CheckoutPlainContainer);\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport get from 'lodash/get';\r\nimport { ICheckoutSectionContainerItem, ICheckoutSectionContainerViewProps } from './checkout-section-container';\r\n\r\nconst ItemComponent: React.FC = ({ loading, itemProps, item, accordion }) =>\r\n accordion? \r\n (\r\n
\r\n {loading}\r\n {accordion}\r\n {item}\r\n
\r\n ) :\r\n (\r\n <>\r\n {loading}\r\n {item}\r\n \r\n );\r\n\r\nconst CheckoutSectionContainerView: React.FC = ({ checkoutPlainContainerProps, items,reCaptcha, fingerPrintError }) => (\r\n \r\n {items.map(item => (\r\n \r\n ))}\r\n {reCaptcha}\r\n {fingerPrintError}\r\n \r\n);\r\n\r\nexport default CheckoutSectionContainerView;\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 { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICittaProductpdfSpecificationData } from './citta-productpdf-specification.data';\r\nimport { ICittaProductpdfSpecificationProps } from './citta-productpdf-specification.props.autogenerated';\r\n\r\nexport interface ICittaProductpdfSpecificationViewProps extends ICittaProductpdfSpecificationProps {\r\n PdfSpecificationContainer: IModuleProps;\r\n PdfSpecificationContentContainer: INodeProps;\r\n PdfSpecificationContent: INodeProps;\r\n PdfSpecificationContentShow: boolean;\r\n ProductSku: string | undefined;\r\n}\r\n\r\n/**\r\n *\r\n * CittaProductpdfSpecification component\r\n * @extends {React.Component>}\r\n */\r\n\r\n@observer\r\nclass CittaProductpdfSpecification extends React.Component> {\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n\r\n const content: ICittaProductpdfSpecificationData = this.props.data;\r\n\r\n const pdfSpecificationContent = this._getProductSpecificationContent(content, config.pdfSpecificationTitle ? config.pdfSpecificationTitle : '');\r\n const productSku = content && content.product && content.product.result && content.product.result.ItemId;\r\n const CittaProductpdfSpecificationViewProps = {\r\n ...this.props,\r\n PdfSpecificationContainer: {\r\n moduleProps: this.props,\r\n className: 'pdf-specification'\r\n },\r\n PdfSpecificationContentContainer: {\r\n className: 'pdf-specification-content',\r\n 'aria-label': config.pdfSpecificationTitle\r\n },\r\n PdfSpecificationContent: {\r\n tag: 'a',\r\n href: pdfSpecificationContent,\r\n 'aria-label': `Click here to read ${config.pdfSpecificationTitle}`,\r\n target: '_blank',\r\n rel: \"noopener\"\r\n },\r\n PdfSpecificationContentShow : pdfSpecificationContent ? true : false,\r\n ProductSku: productSku\r\n };\r\n\r\n return this.props.renderView(CittaProductpdfSpecificationViewProps) as React.ReactElement;\r\n }\r\n\r\n private _getProductSpecificationContent(content: ICittaProductpdfSpecificationData, specificationTitle: string): string {\r\n const productSpec = content.productSpecificationData.result;\r\n let contentText = '';\r\n if (productSpec) {\r\n productSpec.some(spec => {\r\n if (spec.TextValue && spec.Name === specificationTitle) {\r\n contentText = spec.TextValue;\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n return contentText;\r\n }\r\n}\r\n\r\nexport default CittaProductpdfSpecification;\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 { ICittaProductpdfSpecificationViewProps } from './citta-productpdf-specification';\r\n\r\nexport default (props: ICittaProductpdfSpecificationViewProps) => {\r\n const {PdfSpecificationContainer, PdfSpecificationContentContainer, PdfSpecificationContentShow, PdfSpecificationContent} = props;\r\n const {pdfSpecificationTitle} = props.config;\r\n\r\n if (PdfSpecificationContentShow) {\r\n return (\r\n \r\n \r\n {pdfSpecificationTitle}\r\n \r\n \r\n );\r\n } else {\r\n return null;\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 * as React from 'react';\n\nexport interface IBusinessPartnerPromotionTermsParagraphProp {\n description: string;\n className: string;\n title?: string;\n titleClassName?: string;\n}\n\nexport const BusinessPartnerPromotionTermsParagraph: React.FC = ({\n title,\n description,\n className,\n titleClassName\n}) => {\n return (\n
  • \n {title &&

    {title}

    }\n

    {description}

    \n
  • \n );\n};\n\nexport default BusinessPartnerPromotionTermsParagraph;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { Button, Alert, IModuleProps, Modal, ModalBody, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport { promoteToSellerAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\nimport { BusinessPartnerUser } from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Text } from '@msdyn365-commerce/core';\nimport { IBusinessPartnerPromotionData } from './business-partner-promotion.data';\nimport { IBusinessPartnerPromotionProps } from './business-partner-promotion.props.autogenerated';\nimport { BusinessPartnerPromotionTermsParagraph } from './components';\n\nexport interface IBusinessPartnerPromotionViewProps extends IBusinessPartnerPromotionProps {\n businessPartnerPromotionProps: IModuleProps;\n heading: React.ReactNode;\n notificationMessage?: React.ReactNode;\n sellerDescriptions: React.ReactNode[];\n termsOfServiceCheckbox: React.ReactNode;\n termsOfServiceModal: React.ReactNode;\n submitButton: React.ReactNode;\n}\n\nexport interface IBusinessPartnerPromotionState {\n showTermsOfService: boolean;\n showSubmitButton: boolean;\n termsOfServiceChecked: boolean;\n termsOfServiceModalOpened: boolean;\n errorMessage?: string;\n notificationMessage?: string;\n}\n\n/**\n * The class name root for the module.\n */\nexport const moduleClassName: string = 'ms-business-partner-promotion';\n\n/**\n *\n * BusinessPartnerPromotion component\n * @extends {React.PureComponent>}\n */\nclass BusinessPartnerPromotion extends React.Component<\n IBusinessPartnerPromotionProps,\n IBusinessPartnerPromotionState\n> {\n constructor(props: IBusinessPartnerPromotionProps) {\n super(props);\n this.state = {\n showTermsOfService: true,\n showSubmitButton: true,\n termsOfServiceChecked: false,\n termsOfServiceModalOpened: false,\n errorMessage: undefined,\n notificationMessage: undefined\n };\n }\n\n public render(): JSX.Element | null {\n const {\n showSubmitButton,\n showTermsOfService,\n termsOfServiceChecked,\n termsOfServiceModalOpened,\n errorMessage,\n notificationMessage\n } = this.state;\n const { resources, data, config } = this.props;\n const { heading, termsOfService } = config;\n const { authorizationErrorMessage } = resources;\n const { b2bUserInformation } = data;\n const canSubmit = this.isAdminUser(b2bUserInformation.result);\n let error: string | undefined = errorMessage;\n\n // do not show error message when the API is still in loading.\n if (!canSubmit && b2bUserInformation.status !== 'LOADING') {\n error = authorizationErrorMessage;\n }\n const btnEnabled = canSubmit && termsOfServiceChecked;\n\n const viewProps: IBusinessPartnerPromotionViewProps = {\n ...this.props,\n businessPartnerPromotionProps: {\n moduleProps: this.props,\n className: classnames(moduleClassName, moduleClassName)\n },\n heading: ,\n notificationMessage: this.renderNotificationBar(error, notificationMessage),\n sellerDescriptions: this.renderSellerDescriptions(),\n termsOfServiceCheckbox: showTermsOfService && (\n
    \n \n {resources.termsOfServiceAgreementText}\n \n {resources.termsOfServiceLinkText}\n \n
    \n ),\n termsOfServiceModal: (\n \n {resources.termsOfServiceModalHeading}\n \n \n \n \n ),\n submitButton: showSubmitButton && (\n
    \n \n {resources.submitRequestLabel}\n \n
    \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private renderNotificationBar(errorMessage: string | undefined, notificationMessage: string | undefined): React.ReactNode {\n let notificationBar: React.ReactNode = null;\n if (errorMessage) {\n notificationBar = {errorMessage};\n } else if (notificationMessage) {\n notificationBar = {notificationMessage};\n }\n return notificationBar;\n }\n\n private renderSellerDescriptions(): React.ReactNode[] {\n const { config } = this.props;\n const results: React.ReactNode[] = [];\n const sellerDescriptions = config.sellerDescriptions;\n\n if (!sellerDescriptions) {\n return results;\n }\n\n return sellerDescriptions.map((description, idx1) => {\n return (\n
    \n \n
      \n {description.bulletPoints?.map((bulletPoint, idx2) => {\n return (\n \n );\n })}\n
    \n
    \n );\n });\n }\n\n private isAdminUser(user: BusinessPartnerUser | undefined): boolean {\n return (\n !ObjectExtensions.isNullOrUndefined(user) && !StringExtensions.isNullOrEmpty(user.BusinessPartnerId) && user.IsAdmin === true\n );\n }\n\n private readonly onCheckBoxChange = (event: React.ChangeEvent) => {\n this.setState({\n termsOfServiceChecked: event.target.checked\n });\n };\n\n private readonly onToggleTermOfServiceModal = () => {\n this.setState({\n termsOfServiceModalOpened: !this.state.termsOfServiceModalOpened\n });\n };\n\n private readonly onSubmit = async (event: React.MouseEvent) => {\n const { context, data, resources } = this.props;\n const { errorMessageText, promoteToSellerSubmitSuccessMessage } = resources;\n const businessPartnerId = data.b2bUserInformation.result?.BusinessPartnerId ?? '';\n\n try {\n await promoteToSellerAsync({ callerContext: context.actionContext }, businessPartnerId);\n this.setState({\n showSubmitButton: false,\n showTermsOfService: false,\n errorMessage: undefined,\n notificationMessage: promoteToSellerSubmitSuccessMessage\n });\n } catch {\n this.setState({\n showTermsOfService: true,\n showSubmitButton: true,\n errorMessage: errorMessageText,\n notificationMessage: undefined\n });\n }\n };\n}\n\nexport default BusinessPartnerPromotion;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessPartnerPromotionViewProps } from './business-partner-promotion';\n\n/**\n * View layout of business partner promotion module.\n * @param props - React props of the component.\n * @returns Functional component.\n */\nconst businessPartnersView: React.FC = props => {\n const {\n businessPartnerPromotionProps,\n heading,\n notificationMessage,\n sellerDescriptions,\n termsOfServiceCheckbox,\n termsOfServiceModal,\n submitButton\n } = props;\n return (\n \n {heading}\n {notificationMessage}\n {sellerDescriptions}\n {termsOfServiceCheckbox}\n {termsOfServiceModal}\n {submitButton}\n \n );\n};\n\nexport default businessPartnersView;\n"],"names":["AlphabetList","React","render","viewProps","_objectSpread","this","props","alphapetContainer","moduleProps","className","letterItems","_renderLetter","config","alphabetItemsDetails","displayTwoColumns","letterToSplitAt","renderView","console","log","_renderSplitColumn","_renderSingleColumn","_renderItem","alphabetItemDetail","_alphabetItemDetail$s","letter","subMenus","map","item","href","link","target","openInNewTab","name","leftSide","leftListNode","rightListNode","forEach","alphabetItem","push","listNode","Module","Object","assign","Loading","PaymentType","CheckoutPlainContainer","constructor","super","_recaptchaRef","getItems","slots","primary","length","getActiveChildModuleStates","childIds","getModule","moduleState","filter","state","isDisabled","hasModuleState","clearError","hasError","setHasError","onSubmit","_this$_recaptchaRef$c","reCaptchaOption","current","execute","isReady","onCancel","onEdit","_data$customerInforma","paymentAccordion","data","isAllowOnAccountPayment","customerInformation","result","AllowOnAccountPayment","isSkipped","getModuleByTypeName","Adyen","onDisable","onContainerReady","activeAccordion","PayByAccount","reCaptchaChecked","rCCError","fingerPrintError","requestId","async","get","fpPromise","FingerprintJS","apiKey","endpoint","scriptUrlPattern","requestID","then","fp","setState","init","reaction","shouldSubmitContainer","componentDidUpdate","hasExternalSubmitGroup","some","childId","enableControl","width","creditCardIcon","items","context","telemetry","error","moduleClassName","classname","hasInitialized","container","reCaptcha","_renderReCaptcha","_renderFingerPrintErrorMessage","checkoutPlainContainerProps","childTypeName","customerInfo","platform","enableCustomerAccountPayment","IsB2b","hidden","id","loading","LoadingComponent","itemProps","typeName","initialized","disabled","skipped","ready","updating","isUpdating","pending","isPending","accordion","_renderAccordionItem","_renderRecaptchaAlert","ReCAPTCHA","ref","sitekey","reCaptchaSiteKey","size","onChange","_submit","fingerPrintErrorMessage","recaptchaErrorMessage","resources","role","_this$_recaptchaRef$c2","recaptchaValue","getValue","_this$_recaptchaRef$c4","res","turnOnFingerPrint","MsDyn365","request","myInputValue","isBlocked","suspectScoreThreshold","reset","_this$_recaptchaRef$c3","slotName","style","type","checked","updateAccordion","src","alt","newValue","onSkip","onUpdating","__decorate","observer","withModuleState","ItemComponent","_ref","Node","_ref2","key","CittaProductpdfSpecification","content","pdfSpecificationContent","_getProductSpecificationContent","pdfSpecificationTitle","productSku","product","ItemId","CittaProductpdfSpecificationViewProps","PdfSpecificationContainer","PdfSpecificationContentContainer","PdfSpecificationContent","tag","rel","PdfSpecificationContentShow","ProductSku","specificationTitle","productSpec","productSpecificationData","contentText","spec","TextValue","Name","BusinessPartnerPromotionTermsParagraph","title","description","titleClassName","BusinessPartnerPromotion","onCheckBoxChange","event","termsOfServiceChecked","onToggleTermOfServiceModal","termsOfServiceModalOpened","_data$b2bUserInformat","_data$b2bUserInformat2","errorMessageText","promoteToSellerSubmitSuccessMessage","businessPartnerId","b2bUserInformation","BusinessPartnerId","promoteToSellerAsync","callerContext","actionContext","showSubmitButton","showTermsOfService","errorMessage","undefined","notificationMessage","_unused","heading","termsOfService","authorizationErrorMessage","canSubmit","isAdminUser","status","btnEnabled","businessPartnerPromotionProps","classnames","Text","renderNotificationBar","sellerDescriptions","renderSellerDescriptions","termsOfServiceCheckbox","termsOfServiceLinkText","termsOfServiceAgreementText","onClick","termsOfServiceModal","Modal","isOpen","horizontalPosition","verticalPosition","autoFocus","fade","toggle","ModalHeader","termsOfServiceModalHeading","ModalBody","text","submitButton","Button","submitRequestLabel","notificationBar","Alert","color","results","idx1","_description$bulletPo","bulletPoints","bulletPoint","idx2","label","user","ObjectExtensions","isNullOrUndefined","StringExtensions","isNullOrEmpty","IsAdmin"],"sourceRoot":""}