{"version":3,"file":"static/js/18.1a24c5f8a69011d23bef.chunk.js","mappings":"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CJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MAC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","sources":["webpack://venchi-ecommerce-msdyn365/./src/common/components/phone-number-input/index.tsx?2507","webpack://venchi-ecommerce-msdyn365/./src/modules/checkout-invoice/checkout-invoice.tsx?8775","webpack://venchi-ecommerce-msdyn365/./src/modules/checkout-invoice/common/convert_a2_a3.ts?385f","webpack://venchi-ecommerce-msdyn365/./src/modules/checkout-invoice/common/fiscal-code-utils.ts?49ce","webpack://venchi-ecommerce-msdyn365/./src/modules/checkout-invoice/checkout-invoice.view.tsx?db30","webpack://venchi-ecommerce-msdyn365/./src/modules/email-verification/email-verification.tsx?5d82","webpack://venchi-ecommerce-msdyn365/./src/modules/email-verification/email-verification.view.tsx?2421","webpack://venchi-ecommerce-msdyn365/./src/modules/loyalty-balance-check/loyalty-balance-check.tsx?efe1","webpack://venchi-ecommerce-msdyn365/./src/modules/loyalty-balance-check/loyalty-balance-check.view.tsx?49d9","webpack://venchi-ecommerce-msdyn365/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.tsx?5eec","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/textWithLineBreaks.tsx?aad0","webpack://venchi-ecommerce-msdyn365/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.view.tsx?b7f5","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-button.tsx?ce78","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-error.tsx?5bfb","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-input.tsx?e5a5","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-label.tsx?96f0","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-loading-icon.tsx?eca8","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-loading-message.tsx?9b52","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/components/new-sign-up-success.tsx?2dfb","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/new-sign-up.tsx?3c28","webpack://venchi-ecommerce-msdyn365/./src/modules/new-sign-up/new-sign-up.view.tsx?fca0","webpack://venchi-ecommerce-msdyn365/./src/modules/newsletter-block/newsletter-block.tsx?8702","webpack://venchi-ecommerce-msdyn365/./src/modules/newsletter-block/newsletter-block.props.autogenerated.ts?e1dd","webpack://venchi-ecommerce-msdyn365/./src/modules/newsletter-block/newsletter-block.view.tsx?b94f","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/constants.ts?e30c","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/determineSiteLanguageForAbandonedCart.ts?fa12","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/buybox.view.tsx?fc20","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/getCustomDiscountPercentage.ts?8d75","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/cart.view.tsx?0fd8","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/checkout.view.tsx?ea45","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/header.view.tsx?2a15","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/components/navigation-menu-utilities.tsx?ca80","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/navigation-menu.view.tsx?2c75","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/order-confirmation.view.tsx?31ca","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/search.view.tsx?3a76","webpack://venchi-ecommerce-msdyn365/./src/types/site-language-for-abandoned-cart.types.ts?6da1","webpack://venchi-ecommerce-msdyn365/../../src/checkout-state-data-action.ts?8344","webpack://venchi-ecommerce-msdyn365/../../src/checkout-state.ts?acd8","webpack://venchi-ecommerce-msdyn365/../../src/checkout-utilities.data.ts?b2cc","webpack://venchi-ecommerce-msdyn365/../../../src/module-state-manager/module-state.ts?7579","webpack://venchi-ecommerce-msdyn365/../../../src/module-state-manager/with-module-state.tsx?61ca"],"sourcesContent":["import React, { useState, useEffect, CSSProperties } from 'react';\r\n\r\nimport countryCodeOptions from './countryCodes.json';\r\n\r\ninterface PhoneInputComponentProps {\r\n channelCountryRegionISOCode: string; // Default country ISO code (IT, DE, US, ...)\r\n isCountryCodeHidden: boolean; // Config for disabling the country code selector, e.g for the US website\r\n phoneInputId: string; // For labels, and other html feature\r\n phoneValue?: string;\r\n onPhoneNumberChange: (phoneNumber: string, fullPhoneNumber: string, hasValidationError: boolean) => void;\r\n resources: {\r\n phoneValidationErrorMin: string;\r\n phoneValidationErrorMax: string;\r\n phoneValidationErrorNumeric: string;\r\n };\r\n}\r\nconst PhoneInputComponent: React.FC = ({\r\n channelCountryRegionISOCode,\r\n isCountryCodeHidden,\r\n phoneInputId,\r\n phoneValue,\r\n onPhoneNumberChange,\r\n resources\r\n}) => {\r\n const defaultCountryCode = countryCodeOptions.find(c => c.code === channelCountryRegionISOCode);\r\n\r\n const [countryCode, setCountryCode] = useState(defaultCountryCode?.dial_code || '');\r\n const [phoneNumber, setPhoneNumber] = useState(phoneValue || '');\r\n const [phoneNumberError, setPhoneNumberError] = React.useState('');\r\n\r\n const customStyles: { [key: string]: CSSProperties } = {\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n padding: 0,\r\n width: '100%'\r\n },\r\n dropdown: {\r\n width: '30%',\r\n height: '47px',\r\n fontSize: '13px'\r\n },\r\n input: {\r\n width: '70%',\r\n height: '47px',\r\n fontSize: '14px'\r\n },\r\n option: {\r\n fontSize: '14px'\r\n }\r\n };\r\n\r\n // TODO: please test this part when you add phone number\r\n // input in profile information column\r\n useEffect(() => {\r\n const detectCountryCode = (value: string) => {\r\n for (const country of countryCodeOptions) {\r\n if (value.startsWith(country.dial_code)) {\r\n return country;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n if (phoneValue) {\r\n const detectedCountry = detectCountryCode(phoneValue);\r\n setCountryCode(detectedCountry?.dial_code || '');\r\n const defaultPhoneNumber = phoneValue.replace(detectedCountry?.dial_code || '', '');\r\n setPhoneNumber(defaultPhoneNumber);\r\n\r\n const validationResult = validatePhoneNumber(defaultPhoneNumber);\r\n\r\n if (validationResult) {\r\n setPhoneNumberError(validationResult);\r\n }\r\n }\r\n }, [phoneValue]);\r\n\r\n const validatePhoneNumber = (newPhoneNumber: string) => {\r\n const phoneRegex = /^\\d{4,11}$/;\r\n\r\n if (newPhoneNumber.length && !phoneRegex.test(newPhoneNumber)) {\r\n if (newPhoneNumber.length < 4) {\r\n return resources.phoneValidationErrorMin;\r\n } else if (newPhoneNumber.length > 11) {\r\n return resources.phoneValidationErrorMax;\r\n } else {\r\n return resources.phoneValidationErrorNumeric;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const handlePhoneNumberChange = (event: any) => {\r\n const newPhoneNumber = String(event.target.value);\r\n setPhoneNumber(newPhoneNumber);\r\n\r\n const newPhoneNumberFull = countryCode + newPhoneNumber;\r\n const validationResult = validatePhoneNumber(newPhoneNumber);\r\n\r\n if (!validationResult) {\r\n setPhoneNumberError('');\r\n } else {\r\n setPhoneNumberError(validationResult);\r\n }\r\n\r\n onPhoneNumberChange(newPhoneNumber, newPhoneNumberFull, !!validationResult);\r\n };\r\n\r\n const handleCountryCodeChange = (event: any) => {\r\n const newCountryCode = String(event.target.value);\r\n setCountryCode(newCountryCode);\r\n\r\n const newPhoneNumberFull = newCountryCode + phoneNumber;\r\n const validationResult = validatePhoneNumber(phoneNumber);\r\n\r\n onPhoneNumberChange(phoneNumber, newPhoneNumberFull, !!validationResult);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {!isCountryCodeHidden &&\r\n countryCodeOptions.map((option, index) => (\r\n \r\n ))}\r\n {isCountryCodeHidden && (\r\n \r\n )}\r\n \r\n\r\n \r\n
\r\n\r\n {phoneNumberError && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PhoneInputComponent;\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 { IModuleStateProps, withModuleState, IModuleStateManager } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, when } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICheckoutInvoiceData } from './checkout-invoice.data';\r\nimport { ICheckoutInvoiceProps } from './checkout-invoice.props.autogenerated';\r\n\r\nexport interface ICheckoutInvoiceModuleProps extends ICheckoutInvoiceProps, IModuleStateProps {}\r\n\r\ninterface ICountriesOptions {\r\n key: string | undefined;\r\n value: string | undefined;\r\n}\r\nexport interface ICheckoutInvoiceViewProps extends ICheckoutInvoiceModuleProps {\r\n CheckoutInvoice: IModuleProps;\r\n moduleProps: ICheckoutInvoiceModuleProps;\r\n countryRegions: ICountriesOptions[];\r\n moduleState: IModuleStateManager;\r\n onEdit?(): void;\r\n paymentVerificationRedirection: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutInvoice component\r\n * @extends {React.PureComponent>}\r\n */\r\n// @ts-ignore\r\n@withModuleState\r\n@observer\r\nclass CheckoutInvoice extends React.Component {\r\n @computed get isDataReady(): boolean {\r\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\r\n }\r\n @computed get isPaymentVerificationRedirection(): boolean {\r\n const { requestFormData, query } = this.props.context.request;\r\n const redirection = query && query.pv === '1' && (requestFormData || query.redirectResult) ? true : false;\r\n return redirection;\r\n }\r\n\r\n public componentDidMount(): void {\r\n // @ts-ignore: Compiler not reconizing condition check for function params\r\n when(\r\n () => this.isDataReady,\r\n async () => {\r\n await this.init();\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { className },\r\n moduleState: { isReady }\r\n } = this.props;\r\n const countriesOptions: ICountriesOptions[] = [];\r\n this.props.data.countryRegions.result?.forEach((item, index: number) => {\r\n countriesOptions.push({\r\n key: item.CountryRegionId,\r\n value: item.ShortName\r\n });\r\n });\r\n\r\n const viewProps: ICheckoutInvoiceViewProps = {\r\n ...this.props,\r\n ...this.state,\r\n onEdit: this.onEdit,\r\n moduleProps: this.props,\r\n CheckoutInvoice: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-invoice', className, isReady ? 'show' : 'add')\r\n },\r\n countryRegions: countriesOptions,\r\n paymentVerificationRedirection: this.isPaymentVerificationRedirection\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private init = async (): Promise => {\r\n this.props.moduleState.init({\r\n onEdit: this.onEdit\r\n });\r\n if (this.isPaymentVerificationRedirection) {\r\n this.props.moduleState.onReady();\r\n }\r\n };\r\n\r\n private onEdit = (): void => {\r\n this.props.moduleState.onUpdating();\r\n };\r\n}\r\n\r\nexport default CheckoutInvoice;\r\n","// tslint:disable-next-line:variable-name\r\nexport const convert_a2_to_a3 = {\r\n AF: 'AFG',\r\n AX: 'ALA',\r\n AL: 'ALB',\r\n DZ: 'DZA',\r\n AS: 'ASM',\r\n AD: 'AND',\r\n AO: 'AGO',\r\n AI: 'AIA',\r\n AQ: 'ATA',\r\n AG: 'ATG',\r\n AR: 'ARG',\r\n AM: 'ARM',\r\n AW: 'ABW',\r\n AU: 'AUS',\r\n AT: 'AUT',\r\n AZ: 'AZE',\r\n BS: 'BHS',\r\n BH: 'BHR',\r\n BD: 'BGD',\r\n BB: 'BRB',\r\n BY: 'BLR',\r\n BE: 'BEL',\r\n BZ: 'BLZ',\r\n BJ: 'BEN',\r\n BM: 'BMU',\r\n BT: 'BTN',\r\n BO: 'BOL',\r\n BA: 'BIH',\r\n BW: 'BWA',\r\n BV: 'BVT',\r\n BR: 'BRA',\r\n IO: 'IOT',\r\n BN: 'BRN',\r\n BG: 'BGR',\r\n BF: 'BFA',\r\n BI: 'BDI',\r\n KH: 'KHM',\r\n CM: 'CMR',\r\n CA: 'CAN',\r\n CV: 'CPV',\r\n KY: 'CYM',\r\n CF: 'CAF',\r\n TD: 'TCD',\r\n CL: 'CHL',\r\n CN: 'CHN',\r\n CX: 'CXR',\r\n CC: 'CCK',\r\n CO: 'COL',\r\n KM: 'COM',\r\n CG: 'COG',\r\n CD: 'COD',\r\n CK: 'COK',\r\n CR: 'CRI',\r\n CI: 'CIV',\r\n HR: 'HRV',\r\n CU: 'CUB',\r\n CY: 'CYP',\r\n CZ: 'CZE',\r\n DK: 'DNK',\r\n DJ: 'DJI',\r\n DM: 'DMA',\r\n DO: 'DOM',\r\n EC: 'ECU',\r\n EG: 'EGY',\r\n SV: 'SLV',\r\n GQ: 'GNQ',\r\n ER: 'ERI',\r\n EE: 'EST',\r\n ET: 'ETH',\r\n FK: 'FLK',\r\n FO: 'FRO',\r\n FJ: 'FJI',\r\n FI: 'FIN',\r\n FR: 'FRA',\r\n GF: 'GUF',\r\n PF: 'PYF',\r\n TF: 'ATF',\r\n GA: 'GAB',\r\n GM: 'GMB',\r\n GE: 'GEO',\r\n DE: 'DEU',\r\n GH: 'GHA',\r\n GI: 'GIB',\r\n GR: 'GRC',\r\n GL: 'GRL',\r\n GD: 'GRD',\r\n GP: 'GLP',\r\n GU: 'GUM',\r\n GT: 'GTM',\r\n GG: 'GGY',\r\n GN: 'GIN',\r\n GW: 'GNB',\r\n GY: 'GUY',\r\n HT: 'HTI',\r\n HM: 'HMD',\r\n VA: 'VAT',\r\n HN: 'HND',\r\n HK: 'HKG',\r\n HU: 'HUN',\r\n IS: 'ISL',\r\n IN: 'IND',\r\n ID: 'IDN',\r\n IR: 'IRN',\r\n IQ: 'IRQ',\r\n IE: 'IRL',\r\n IM: 'IMN',\r\n IL: 'ISR',\r\n IT: 'ITA',\r\n JM: 'JAM',\r\n JP: 'JPN',\r\n JE: 'JEY',\r\n JO: 'JOR',\r\n KZ: 'KAZ',\r\n KE: 'KEN',\r\n KI: 'KIR',\r\n KP: 'PRK',\r\n KR: 'KOR',\r\n KW: 'KWT',\r\n KG: 'KGZ',\r\n LA: 'LAO',\r\n LV: 'LVA',\r\n LB: 'LBN',\r\n LS: 'LSO',\r\n LR: 'LBR',\r\n LY: 'LBY',\r\n LI: 'LIE',\r\n LT: 'LTU',\r\n LU: 'LUX',\r\n MO: 'MAC',\r\n MK: 'MKD',\r\n MG: 'MDG',\r\n MW: 'MWI',\r\n MY: 'MYS',\r\n MV: 'MDV',\r\n ML: 'MLI',\r\n MT: 'MLT',\r\n MH: 'MHL',\r\n MQ: 'MTQ',\r\n MR: 'MRT',\r\n MU: 'MUS',\r\n YT: 'MYT',\r\n MX: 'MEX',\r\n FM: 'FSM',\r\n MD: 'MDA',\r\n MC: 'MCO',\r\n MN: 'MNG',\r\n ME: 'MNE',\r\n MS: 'MSR',\r\n MA: 'MAR',\r\n MZ: 'MOZ',\r\n MM: 'MMR',\r\n NA: 'NAM',\r\n NR: 'NRU',\r\n NP: 'NPL',\r\n NL: 'NLD',\r\n AN: 'ANT',\r\n NC: 'NCL',\r\n NZ: 'NZL',\r\n NI: 'NIC',\r\n NE: 'NER',\r\n NG: 'NGA',\r\n NU: 'NIU',\r\n NF: 'NFK',\r\n MP: 'MNP',\r\n NO: 'NOR',\r\n OM: 'OMN',\r\n PK: 'PAK',\r\n PW: 'PLW',\r\n PS: 'PSE',\r\n PA: 'PAN',\r\n PG: 'PNG',\r\n PY: 'PRY',\r\n PE: 'PER',\r\n PH: 'PHL',\r\n PN: 'PCN',\r\n PL: 'POL',\r\n PT: 'PRT',\r\n PR: 'PRI',\r\n QA: 'QAT',\r\n RE: 'REU',\r\n RO: 'ROU',\r\n RU: 'RUS',\r\n RW: 'RWA',\r\n BL: 'BLM',\r\n SH: 'SHN',\r\n KN: 'KNA',\r\n LC: 'LCA',\r\n MF: 'MAF',\r\n PM: 'SPM',\r\n VC: 'VCT',\r\n WS: 'WSM',\r\n SM: 'SMR',\r\n ST: 'STP',\r\n SA: 'SAU',\r\n SN: 'SEN',\r\n RS: 'SRB',\r\n SC: 'SYC',\r\n SL: 'SLE',\r\n SG: 'SGP',\r\n SK: 'SVK',\r\n SI: 'SVN',\r\n SB: 'SLB',\r\n SO: 'SOM',\r\n ZA: 'ZAF',\r\n GS: 'SGS',\r\n ES: 'ESP',\r\n LK: 'LKA',\r\n SD: 'SDN',\r\n SR: 'SUR',\r\n SJ: 'SJM',\r\n SZ: 'SWZ',\r\n SE: 'SWE',\r\n CH: 'CHE',\r\n SY: 'SYR',\r\n TW: 'TWN',\r\n TJ: 'TJK',\r\n TZ: 'TZA',\r\n TH: 'THA',\r\n TL: 'TLS',\r\n TG: 'TGO',\r\n TK: 'TKL',\r\n TO: 'TON',\r\n TT: 'TTO',\r\n TN: 'TUN',\r\n TR: 'TUR',\r\n TM: 'TKM',\r\n TC: 'TCA',\r\n TV: 'TUV',\r\n UG: 'UGA',\r\n UA: 'UKR',\r\n AE: 'ARE',\r\n GB: 'GBR',\r\n US: 'USA',\r\n UM: 'UMI',\r\n UY: 'URY',\r\n UZ: 'UZB',\r\n VU: 'VUT',\r\n VE: 'VEN',\r\n VN: 'VNM',\r\n VG: 'VGB',\r\n VI: 'VIR',\r\n WF: 'WLF',\r\n EH: 'ESH',\r\n YE: 'YEM',\r\n ZM: 'ZMB',\r\n ZW: 'ZWE'\r\n};\r\n","export const CHECK_CODE_ODD = new Map([\r\n ['0', 1],\r\n ['1', 0],\r\n ['2', 5],\r\n ['3', 7],\r\n ['4', 9],\r\n ['5', 13],\r\n ['6', 15],\r\n ['7', 17],\r\n ['8', 19],\r\n ['9', 21],\r\n ['A', 1],\r\n ['B', 0],\r\n ['C', 5],\r\n ['D', 7],\r\n ['E', 9],\r\n ['F', 13],\r\n ['G', 15],\r\n ['H', 17],\r\n ['I', 19],\r\n ['J', 21],\r\n ['K', 2],\r\n ['L', 4],\r\n ['M', 18],\r\n ['N', 20],\r\n ['O', 11],\r\n ['P', 3],\r\n ['Q', 6],\r\n ['R', 8],\r\n ['S', 12],\r\n ['T', 14],\r\n ['U', 16],\r\n ['V', 10],\r\n ['W', 22],\r\n ['X', 25],\r\n ['Y', 24],\r\n ['Z', 23]\r\n]);\r\n\r\nexport const CHECK_CODE_EVEN = new Map([\r\n ['0', 0],\r\n ['1', 1],\r\n ['2', 2],\r\n ['3', 3],\r\n ['4', 4],\r\n ['5', 5],\r\n ['6', 6],\r\n ['7', 7],\r\n ['8', 8],\r\n ['9', 9],\r\n ['A', 0],\r\n ['B', 1],\r\n ['C', 2],\r\n ['D', 3],\r\n ['E', 4],\r\n ['F', 5],\r\n ['G', 6],\r\n ['H', 7],\r\n ['I', 8],\r\n ['J', 9],\r\n ['K', 10],\r\n ['L', 11],\r\n ['M', 12],\r\n ['N', 13],\r\n ['O', 14],\r\n ['P', 15],\r\n ['Q', 16],\r\n ['R', 17],\r\n ['S', 18],\r\n ['T', 19],\r\n ['U', 20],\r\n ['V', 21],\r\n ['W', 22],\r\n ['X', 23],\r\n ['Y', 24],\r\n ['Z', 25]\r\n]);\r\n\r\nexport const CHECK_CODE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\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/* tslint:disable: no-duplicate-imports */\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport { CommerceProperty } from '@msdyn365-commerce/retail-proxy';\r\n// import { getCheckoutState } from '@msdyn365-commerce/global-state';\r\nimport * as React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { validateVatNum_CAPAsync } from '../../actions/DataActionExtension.g';\r\n// import { getInvoiceAccountInfo_CAPAsync } from '../../actions/DataActionExtension.g';\r\nimport { ICheckoutInvoiceModuleProps, ICheckoutInvoiceViewProps } from './checkout-invoice';\r\nimport { convert_a2_to_a3 } from './common/convert_a2_a3';\r\nimport { CHECK_CODE_EVEN, CHECK_CODE_ODD, CHECK_CODE_CHARS } from './common/fiscal-code-utils';\r\nimport get from 'lodash/get';\r\n\r\n// import { CartCheckout } from '@msdyn365-commerce-modules/checkout';\r\n\r\nconst allFields = [\r\n 'billing',\r\n 'InvoiceCustAccount_CAP',\r\n 'Type_CAP',\r\n 'Street_CAP',\r\n 'StreetNumber_CAP',\r\n 'ZipCode_CAP',\r\n 'City_CAP',\r\n 'Country_CAP',\r\n 'OrgName_CAP',\r\n 'FirstName_CAP',\r\n 'LastName_CAP',\r\n 'VatNum_CAP',\r\n 'FiscalCode_CAP',\r\n 'PEC_CAP',\r\n 'SDI_CAP'\r\n];\r\n\r\nconst updateExtProps = async (data: Inputs, moduleProps: ICheckoutInvoiceModuleProps) => {\r\n const dataCompiled = [];\r\n Object.keys(data).forEach(key => {\r\n const value =\r\n typeof get(data, key) === 'boolean'\r\n ? {\r\n BooleanValue: get(data, key)\r\n }\r\n : key === 'Type_CAP'\r\n ? {\r\n IntegerValue: Number(get(data, key))\r\n }\r\n : { StringValue: get(data, key) };\r\n dataCompiled.push({\r\n Key: key,\r\n Value: value\r\n });\r\n });\r\n\r\n for (const str of allFields) {\r\n if (!Object.keys(data).includes(str)) {\r\n dataCompiled.push({\r\n Key: str,\r\n Value: { StringValue: '' }\r\n });\r\n }\r\n }\r\n\r\n const checkoutResult = moduleProps.data.checkout.result;\r\n\r\n const dataCompiledCc = [\r\n {\r\n Key: 'CustomInvoiceModuleCompiled_VEN',\r\n Value: {\r\n BooleanValue: true\r\n }\r\n }\r\n ];\r\n\r\n Array.prototype.push.apply(dataCompiledCc, dataCompiled);\r\n\r\n if (checkoutResult) {\r\n await checkoutResult.checkoutCart.updateExtensionProperties({\r\n newExtensionProperties: dataCompiledCc\r\n });\r\n } else {\r\n console.error('Cannot write invoice details on the checkout cart');\r\n }\r\n};\r\n\r\nconst _capDataRender = async (moduleProps: ICheckoutInvoiceModuleProps): Promise<[Inputs | null, boolean]> => {\r\n //const currentCheckoutState = await getCheckoutState(moduleProps.context.actionContext);\r\n const currentCheckoutState = moduleProps.data.checkout.result;\r\n\r\n const extProps = currentCheckoutState?.checkoutCart.cart?.ExtensionProperties;\r\n if (!extProps) {\r\n return [null, false];\r\n }\r\n const extPropsToRemoveA = extProps.filter(eProp => eProp.Key === 'ExtPropsRemove_CAP');\r\n const invoiceModuleCompiledA = extProps.filter(eProp => eProp.Key === 'CustomInvoiceModuleCompiled_VEN');\r\n const extPropsToRemove = extPropsToRemoveA && extPropsToRemoveA[0]?.Value?.BooleanValue;\r\n const invoiceModuleCompiled = (invoiceModuleCompiledA && invoiceModuleCompiledA[0]?.Value?.BooleanValue) ?? false;\r\n\r\n if (extPropsToRemove !== true) {\r\n return [convertExtPropertiesToInput(extProps), invoiceModuleCompiled];\r\n }\r\n return [null, false];\r\n};\r\n\r\nconst convertExtPropertiesToInput = (extProps: CommerceProperty[]): Inputs => {\r\n const inputs: Inputs = {} as Inputs;\r\n extProps.forEach(prop => {\r\n if (prop.Key && prop.Value) {\r\n const values = [prop.Value.StringValue, prop.Value.IntegerValue, prop.Value.BooleanValue].filter(\r\n value => value !== undefined && value !== null\r\n );\r\n const value = values.length > 0 ? values[0] : null;\r\n if (value !== null && value !== undefined && value !== '') {\r\n if (allFields.indexOf(prop.Key) > -1) {\r\n inputs[prop.Key] = value;\r\n }\r\n }\r\n }\r\n });\r\n // Return the inputs object\r\n return inputs;\r\n};\r\n\r\nconst _capDataSave = async (moduleProps: ICheckoutInvoiceModuleProps, data: Inputs) => {\r\n await updateExtProps(data, moduleProps);\r\n};\r\n\r\ntype Inputs = {\r\n City_CAP: string;\r\n FiscalCode_CAP: string;\r\n OrgName_CAP: string;\r\n PEC_CAP: string;\r\n SDI_CAP: string;\r\n StreetNumber_CAP: string;\r\n Street_CAP: string;\r\n VatNum_CAP: string;\r\n ZipCode_CAP: string;\r\n billing: boolean;\r\n\r\n Type_CAP: number;\r\n Country_CAP: string;\r\n InvoiceCustAccount_CAP: string;\r\n FirstName_CAP: string;\r\n LastName_CAP: string;\r\n};\r\n\r\ninterface IMaincategories {\r\n key: string | undefined;\r\n value: string | undefined;\r\n}\r\nconst countriesWithOptionalInvoice = [\r\n 'AUT',\r\n 'BEL',\r\n 'BGR',\r\n 'HRV',\r\n 'CYP',\r\n 'CZE',\r\n 'DNK',\r\n 'EST',\r\n 'FIN',\r\n 'FRA',\r\n 'DEU',\r\n 'GRC',\r\n 'HRV',\r\n 'HUN',\r\n 'IRL',\r\n 'ITA',\r\n 'LVA',\r\n 'LTU',\r\n 'LUX',\r\n 'MLT',\r\n 'NLD',\r\n 'POL',\r\n 'PRT',\r\n 'ROU',\r\n 'SVK',\r\n 'SVN',\r\n 'ESP',\r\n 'SWE',\r\n 'GBR'\r\n];\r\n\r\nconst validateFiscalCode15 = (codiceFiscale: string): boolean => {\r\n codiceFiscale = codiceFiscale.toUpperCase();\r\n let val = 0;\r\n for (let i = 0; i < 15; i = i + 1) {\r\n const c = codiceFiscale.charAt(i);\r\n val += i % 2 !== 0 ? CHECK_CODE_EVEN.get(c) ?? 0 : CHECK_CODE_ODD.get(c) ?? 0;\r\n }\r\n val = val % 26;\r\n return codiceFiscale.charAt(15) === CHECK_CODE_CHARS.charAt(val);\r\n};\r\nconst validateFiscalCode11 = (codiceFiscale: string): boolean => {\r\n if (!/^[0-9]{11}$/.test(codiceFiscale)) {\r\n return false;\r\n }\r\n if (codiceFiscale === '00000000000') {\r\n return false;\r\n }\r\n let val = 0;\r\n for (let i = 0; i < 10; i = i + 1) {\r\n const c = parseInt(codiceFiscale.charAt(i), 10);\r\n //se sono dispari\r\n if (i % 2 === 0) {\r\n val += c;\r\n } else {\r\n let evenC = c * 2;\r\n if (evenC > 9) {\r\n evenC = evenC - 9;\r\n }\r\n val += evenC;\r\n }\r\n }\r\n val = 10 - (val % 10);\r\n val = val % 10;\r\n return codiceFiscale.charAt(10) === val.toString();\r\n};\r\n\r\nconst validateFiscalCode = (codiceFiscale: string): boolean => {\r\n if (codiceFiscale.length === 16) {\r\n return validateFiscalCode15(codiceFiscale);\r\n }\r\n if (codiceFiscale.length === 11) {\r\n return validateFiscalCode11(codiceFiscale);\r\n }\r\n return false;\r\n};\r\n\r\nconst CheckoutInvoiceView: React.FC = props => {\r\n const { CheckoutInvoice, resources, countryRegions, moduleState, moduleProps, paymentVerificationRedirection } = props;\r\n const [dataCompiled, setDataCompiled] = React.useState();\r\n const shippingCountry = moduleProps?.data?.checkout?.result?.shippingAddress?.ThreeLetterISORegionName;\r\n const [billing, setBilling] = React.useState(false);\r\n const [typeSelected, setTypeSelected] = React.useState(0);\r\n const [countrySelected, setCountrySelected] = React.useState('');\r\n const fiscalPattern = /^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})$|([0-9]{11})$/i;\r\n // @ts-ignore\r\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;\r\n\r\n const customerId = CheckoutInvoice.moduleProps?.context?.actionContext?.requestContext?.user?.customerAccountNumber;\r\n const invoiceTypeOptions = [\r\n { key: '1', value: resources.typePersonLabel },\r\n { key: '2', value: resources.typeOrgLabel }\r\n ];\r\n\r\n React.useEffect(() => {\r\n void setData();\r\n // void getUserData();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (!paymentVerificationRedirection) {\r\n if (shippingCountry && countriesWithOptionalInvoice.indexOf(shippingCountry) === -1) {\r\n if (!billing) {\r\n setBilling(true);\r\n setValue('billing', true, { shouldDirty: true });\r\n if (moduleState.status === 'ready') {\r\n moduleState.onEdit && moduleState.onEdit();\r\n }\r\n }\r\n } else if (typeSelected === 0) {\r\n setBilling(false);\r\n setValue('billing', false, { shouldDirty: true });\r\n }\r\n }\r\n }, [shippingCountry]);\r\n\r\n function gMapsAutocomplete() {\r\n setTimeout(() => {\r\n const boxes = document.querySelectorAll('.pac-container');\r\n boxes.forEach(box => box.remove());\r\n\r\n const autocompleteFormField = document.getElementsByName('Street_CAP')[0] as HTMLInputElement;\r\n if (autocompleteFormField === undefined || autocompleteFormField === null) {\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n const autocomplete = new window.google.maps.places.Autocomplete(autocompleteFormField, {\r\n types: ['address']\r\n });\r\n\r\n autocompleteFormField.setAttribute('placeholder', resources.startTypingYourAddress);\r\n\r\n // @ts-ignore\r\n var checkListeners = window.google.maps.event.hasListeners(autocomplete, `place_changed`);\r\n\r\n // @ts-ignore\r\n window.google.maps.event.clearInstanceListeners(autocomplete);\r\n\r\n // @ts-ignore\r\n const listener = window.google.maps.event.addListener(autocomplete, `place_changed`, () => {\r\n const place = autocomplete.getPlace();\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n\r\n nativeInputValueSetter.call(autocompleteFormField, place.name);\r\n const eCustom = new Event('change', { bubbles: true });\r\n autocompleteFormField.dispatchEvent(eCustom);\r\n\r\n place.address_components.forEach((element: { types: string[]; long_name: string; short_name: string }) => {\r\n var checkZipCode = false;\r\n switch (element.types[0]) {\r\n case 'street_number':\r\n setValue('StreetNumber_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n break;\r\n case 'locality':\r\n setValue('City_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n break;\r\n case 'country':\r\n const countryValue = convert_a2_to_a3[element.short_name];\r\n setValue('Country_CAP', countryValue, { shouldDirty: true });\r\n setCountrySelected(countryValue);\r\n break;\r\n case 'postal_code':\r\n setValue('ZipCode_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n checkZipCode = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n if (!checkZipCode) {\r\n setValue('ZipCode_CAP', '', { shouldDirty: true });\r\n }\r\n });\r\n // @ts-ignore\r\n const street = document.getElementsByName('Street_CAP') as HTMLInputElement;\r\n street[0].value = street[0].value.split(',')[0];\r\n });\r\n });\r\n }\r\n\r\n const { register, handleSubmit, errors, setValue, setError, reset } = useForm();\r\n\r\n const _renderInput = (name: string, label: string, required: boolean, errorMessage: string, pattern?: RegExp): JSX.Element => {\r\n return (\r\n
\r\n \r\n \r\n {get(errors, name) && {errorMessage}}\r\n
\r\n );\r\n };\r\n\r\n const _renderTypeSelect = (name: string, label: string, options: IMaincategories[], required: boolean): JSX.Element => {\r\n return (\r\n
\r\n \r\n {\r\n setValue('Type_CAP', e.target.value, {\r\n shouldDirty: true\r\n });\r\n setTypeSelected(parseInt(e.target.value, 10));\r\n }}\r\n >\r\n \r\n {options.map(option => {\r\n return (\r\n \r\n );\r\n })}\r\n ;\r\n \r\n {get(errors, name) && {resources.genericFieldError}}\r\n
\r\n );\r\n };\r\n\r\n const _renderCountrySelect = (name: string, label: string, options: IMaincategories[], required: boolean): JSX.Element => {\r\n return (\r\n
\r\n \r\n {\r\n setCountrySelected(e.target.value);\r\n setValue('Country_CAP', e.target.value, {\r\n shouldDirty: true\r\n });\r\n }}\r\n >\r\n \r\n {options.map(option => {\r\n return (\r\n \r\n );\r\n })}\r\n ;\r\n \r\n {get(errors, name) && {resources.genericFieldError}}\r\n
\r\n );\r\n };\r\n\r\n const onSubmit = async (data: Inputs) => {\r\n if (data.VatNum_CAP && data.VatNum_CAP !== '') {\r\n void validateVatNum_CAPAsync({ callerContext: moduleProps.context?.actionContext }, data.VatNum_CAP, data.Country_CAP).then(\r\n response => {\r\n if (response.Status === true) {\r\n if (data.Country_CAP === 'ITA' && data.FiscalCode_CAP && data.FiscalCode_CAP !== '') {\r\n if (validateFiscalCode(data.FiscalCode_CAP)) {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n } else {\r\n setError('FiscalCode_CAP', {\r\n message: 'Fiscal Code Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n } else {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n }\r\n } else {\r\n setError('VatNum_CAP', {\r\n message: 'Vat Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n if (data.Country_CAP === 'ITA' && data.FiscalCode_CAP && data.FiscalCode_CAP !== '') {\r\n if (validateFiscalCode(data.FiscalCode_CAP)) {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n } else {\r\n setError('FiscalCode_CAP', {\r\n message: 'Fiscal Code Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n } else {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n }\r\n }\r\n };\r\n\r\n const _resetForm = () => {\r\n if (dataCompiled?.billing && !billing) {\r\n setBilling(true);\r\n setCountrySelected(dataCompiled.Country_CAP);\r\n setTypeSelected(dataCompiled.Type_CAP);\r\n } else if (dataCompiled && billing) {\r\n setCountrySelected(dataCompiled.Country_CAP);\r\n setTypeSelected(dataCompiled.Type_CAP);\r\n }\r\n moduleState.onReady();\r\n };\r\n\r\n const setData = async () => {\r\n const [dataLoadedFromExtProps, pageRefreshedDataSaved] = await _capDataRender(moduleProps);\r\n if (dataLoadedFromExtProps && pageRefreshedDataSaved && dataLoadedFromExtProps.billing !== undefined) {\r\n setDataCompiled(dataLoadedFromExtProps);\r\n setBilling(dataLoadedFromExtProps.billing);\r\n dataLoadedFromExtProps.Type_CAP && setTypeSelected(dataLoadedFromExtProps.Type_CAP);\r\n dataLoadedFromExtProps.Country_CAP && setCountrySelected(dataLoadedFromExtProps.Country_CAP);\r\n moduleState.onReady();\r\n reset(dataLoadedFromExtProps);\r\n }\r\n };\r\n\r\n // const getUserData = async () => {\r\n // if (customerId) {\r\n // await getInvoiceAccountInfo_CAPAsync({ callerContext: CheckoutInvoice.moduleProps.context?.actionContext }, customerId).then(\r\n // result => {\r\n // // console.log('getInvoiceAccountInfo_CAPAsync');\r\n // // console.log(result);\r\n // }\r\n // );\r\n // }\r\n // };\r\n\r\n if (moduleState.status === 'ready') {\r\n return (\r\n \r\n
\r\n {dataCompiled &&\r\n Object.keys(dataCompiled).map((keyName, i) => (\r\n \r\n {get(dataCompiled, keyName)}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n \r\n {shippingCountry && countriesWithOptionalInvoice.indexOf(shippingCountry) === -1 && (\r\n

\r\n {props.config.billingLabel}\r\n

\r\n )}\r\n
\r\n {billing && (\r\n <>\r\n {gMapsAutocomplete()}\r\n {customerId && (\r\n
\r\n \r\n
\r\n )}\r\n {_renderTypeSelect('Type_CAP', `${resources.typeLabel}`, invoiceTypeOptions, true)}\r\n {typeSelected !== 0 &&\r\n _renderInput('Street_CAP', `${resources.streetLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n _renderInput('StreetNumber_CAP', `${resources.streetNumberLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n _renderInput('ZipCode_CAP', `${resources.zipCodeLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 && _renderInput('City_CAP', `${resources.cityLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 && _renderCountrySelect('Country_CAP', `${resources.countryLabel}`, countryRegions, true)}\r\n {typeSelected === 2 &&\r\n _renderInput('OrgName_CAP', `${resources.orgNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 1 &&\r\n _renderInput('FirstName_CAP', `${resources.firstNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 1 &&\r\n _renderInput('LastName_CAP', `${resources.lastNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 2 &&\r\n countriesWithOptionalInvoice.indexOf(countrySelected) > -1 &&\r\n _renderInput('VatNum_CAP', `${resources.vatNumLabel}`, true, `${resources.vatNumberError}`)}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n _renderInput(\r\n 'FiscalCode_CAP',\r\n `${resources.fiscalCodeLabel}`,\r\n true,\r\n `${resources.fiscalCodeError}`,\r\n fiscalPattern\r\n )}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n typeSelected === 2 &&\r\n _renderInput('PEC_CAP', `${resources.pecLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n typeSelected === 2 &&\r\n _renderInput('SDI_CAP', `${resources.sdiLabel}`, true, `${resources.genericFieldError}`)}\r\n \r\n )}\r\n
\r\n \r\n {resources.saveContinueBtnLabel}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n};\r\nexport default CheckoutInvoiceView;\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 MsDyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IEmailVerificationProps } from './email-verification.props.autogenerated';\r\n\r\nexport interface IEmailVerificationViewProps extends IEmailVerificationProps<{}> {\r\n paragraph?: React.ReactNode;\r\n source?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\n/**\r\n *\r\n * EmailVerification component\r\n */\r\nclass EmailVerification extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { paragraph, className } = this.props.config;\r\n const text = paragraph && (\r\n \r\n );\r\n const EmailVerificationViewProps = {\r\n ...this.props,\r\n paragraph: text,\r\n className: classnames('ms-text-block', className)\r\n };\r\n return this.props.renderView(EmailVerificationViewProps) as React.ReactElement;\r\n }\r\n\r\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\r\n}\r\nexport default EmailVerification;\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\nimport { addToNewsLetterWelcomeOffer_Len_CAPAsync } from '../../actions/DataActionExtension.g';\r\nimport { IEmailVerificationViewProps } from './email-verification';\r\nimport {\r\n getSiteLanguageConfigFromContext,\r\n determineSiteLanguageForAbandonedCart\r\n} from '../../themes/venchi/utils/determineSiteLanguageForAbandonedCart';\r\n\r\nconst EmailVerificationView: React.FC = props => {\r\n const siteLanguageConfig = getSiteLanguageConfigFromContext(props.context);\r\n const locale = determineSiteLanguageForAbandonedCart(siteLanguageConfig);\r\n\r\n // TODO: enable loyalty flow\r\n const source = props?.config?.source || '';\r\n const channelId: number = props.context.request.apiSettings.channelId;\r\n const requestParams = props.context.request.query;\r\n const email = requestParams?.email;\r\n const token = requestParams?.token;\r\n let message = props.resources.emailVerificationSuccessMessage;\r\n const [loading, setLoading] = React.useState(false);\r\n const [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n React.useEffect(() => {\r\n if (email && token) {\r\n setLoading(true);\r\n // TODO: enable loyalty flow\r\n addToNewsLetterWelcomeOffer_Len_CAPAsync(\r\n { callerContext: props.context?.actionContext },\r\n channelId,\r\n email,\r\n token,\r\n locale,\r\n source\r\n )\r\n .then(result => {\r\n // message = result[0].Error ? result[0].Error : message;\r\n setLoading(false);\r\n if (result.Status) {\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n } else {\r\n message = result.Error ? result.Error : '';\r\n switch (message) {\r\n case 'token-email_notValid':\r\n message = props.resources.tokenEmailNotValid;\r\n break;\r\n case 'registerToCRM_error':\r\n message = props.resources.registerToCrmError;\r\n break;\r\n case 'SendCoupon_error':\r\n message = props.resources.sendCouponError;\r\n break;\r\n case 'already_confirmed':\r\n message = props.resources.emailAlreadyConfirmed;\r\n break;\r\n case 'already_subscribed':\r\n message = props.resources.alreadySubscribedText;\r\n break;\r\n default:\r\n // code block\r\n }\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'error'\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n message = error.message;\r\n setSubscribeMessage({\r\n state: true,\r\n message: error.message,\r\n class: 'error'\r\n });\r\n });\r\n }\r\n }, []);\r\n return (\r\n
\r\n {props.paragraph}\r\n {loading ? (\r\n
\r\n
\r\n
\r\n ) : (\r\n ''\r\n )}\r\n {subscribeMessage.state ? (\r\n
\r\n {subscribeMessage.message}\r\n
\r\n ) : (\r\n ''\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default EmailVerificationView;\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\n\r\nimport { ILoyaltyBalanceCheckData } from './loyalty-balance-check.data';\r\nimport { ILoyaltyBalanceCheckProps } from './loyalty-balance-check.props.autogenerated';\r\n\r\nexport interface ILoyaltyBalanceCheckViewProps extends ILoyaltyBalanceCheckProps {}\r\n\r\n/**\r\n *\r\n * LoyaltyBalanceCheck component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LoyaltyBalanceCheck extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LoyaltyBalanceCheck;\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 * as React from 'react';\r\nimport { ILoyaltyBalanceCheckViewProps } from './loyalty-balance-check';\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\nimport { useForm } from 'react-hook-form';\r\nimport { getLoyaltyCard_DLXAsync } from '../../actions/DataActionExtension.g';\r\n\r\nconst LoyaltyBalanceCheckView: React.FC = props => {\r\n // const user_card_number = (document.getElementById('loyalty-card-input') as HTMLInputElement).value;\r\n const [points, setPoints] = React.useState(-1);\r\n const [tier, setTier] = React.useState('');\r\n\r\n const { register, handleSubmit } = useForm();\r\n\r\n const _submit = async (data: { loyalty_card_number: string; email: string }) => {\r\n // Protip: Check if the loyalty card's associated email address matches with the input one for improved security\r\n // console.log(data.loyalty_card_number);\r\n // console.log(data.email);\r\n\r\n await getLoyaltyCard_DLXAsync({ callerContext: props.context.actionContext }, data.loyalty_card_number, data.email)\r\n .then(result => {\r\n const tmp_card = result[0];\r\n // @ts-ignore\r\n const firstLoyaltyGroup = tmp_card.LoyaltyGroups[0];\r\n const highestTierId = firstLoyaltyGroup.HighestActiveLoyaltyCardTier;\r\n // @ts-ignore\r\n const tierDetails = firstLoyaltyGroup.LoyaltyCardTiers.filter(tier => tier.RecordId === highestTierId)[0];\r\n if (tierDetails.TierId) {\r\n setTier(tierDetails.TierId);\r\n }\r\n const tmp_points = tmp_card.RewardPoints ?? -1;\r\n setPoints(tmp_points[0].ActivePoints ?? -1);\r\n if (typeof window !== undefined) {\r\n const points_div: HTMLDivElement = document.getElementById('points') as HTMLDivElement;\r\n points_div.style.display = 'block';\r\n const scrollIntoViewOptions: ScrollIntoViewOptions = { behavior: 'smooth' };\r\n if (window.innerWidth < 992) {\r\n (document.getElementById('text-p') as HTMLButtonElement).scrollIntoView(scrollIntoViewOptions);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n setPoints(-1);\r\n if (typeof window !== undefined) {\r\n const points_div: HTMLDivElement = document.getElementById('points') as HTMLDivElement;\r\n points_div.style.display = 'block';\r\n const scrollIntoViewOptions: ScrollIntoViewOptions = { behavior: 'smooth' };\r\n if (window.innerWidth < 992) {\r\n (document.getElementById('text-p') as HTMLButtonElement).scrollIntoView(scrollIntoViewOptions);\r\n }\r\n }\r\n // console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {props.config.headingText ?

{props.config.headingText}

: null}\r\n\r\n {props.config.paragraphText ? (\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {props.config.loyaltyCardLabel ? : null}\r\n \r\n
\r\n
\r\n {props.config.emailLabel ? : null}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {props.resources.balanceCheckLabel && props.resources.balanceCheckError ? (\r\n
\r\n {points !== -1 && tier !== '' ? (\r\n

{format(props.resources.balanceCheckLabel, points, tier)}

\r\n ) : (\r\n

{props.resources.balanceCheckError}

\r\n )}\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoyaltyBalanceCheckView;\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\n\r\nimport { ILoyaltyStoreSignUpData } from './loyalty-store-sign-up.data';\r\nimport { ILoyaltyStoreSignUpProps } from './loyalty-store-sign-up.props.autogenerated';\r\n\r\nexport interface ILoyaltyStoreSignUpViewProps extends ILoyaltyStoreSignUpProps {}\r\n\r\n/**\r\n *\r\n * LoyaltyStoreSignUp component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LoyaltyStoreSignUp extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LoyaltyStoreSignUp;\r\n","import React from 'react';\r\n\r\nexport function textWithLineBreaks(text: string): React.ReactNode {\r\n return text.split('\\n').map((line, index) => (\r\n \r\n {line}\r\n
\r\n
\r\n ));\r\n}\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 { ILoyaltyStoreSignUpViewProps } from './loyalty-store-sign-up';\r\nimport { useForm } from 'react-hook-form';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { signUp_DLXAsync } from '../../actions/DataActionExtension.g';\r\nimport { isMobile, VariantType, format } from '@msdyn365-commerce-modules/utilities';\r\nimport { textWithLineBreaks } from '../../themes/venchi/utils/textWithLineBreaks';\r\nimport PhoneInputComponent from '../../common/components/phone-number-input';\r\nimport { TEMPORARY_ACCOUNT_NUMBER_LENGTH } from '../../themes/venchi/utils/constants';\r\nimport {\r\n getSiteLanguageConfigFromContext,\r\n determineSiteLanguageForAbandonedCart\r\n} from '../../themes/venchi/utils/determineSiteLanguageForAbandonedCart';\r\n\r\n// Define the component\r\nconst LoyaltyStoreSignUpView: React.FC = props => {\r\n // Destructure props for easier access\r\n const {\r\n loyaltyStoreSignUpMandatoryAgreement,\r\n additionalFieldsHeading,\r\n birthdaySubtext,\r\n postalCodeSubtext,\r\n phoneNumberSubtext,\r\n // loyaltyVCLUBDetailsLinkText,\r\n feedbackAlreadySubscribed,\r\n feedbackCardBeingGenerated,\r\n feedbackSuccess,\r\n privacyPolicyURL,\r\n textGenericMarketing,\r\n // walletLoyaltyProgramName,\r\n loyaltyCouponCode,\r\n loyaltyBarcodeImage\r\n } = props.config;\r\n\r\n const {\r\n vClubCard,\r\n joinedLoyaltyThankYouHeader,\r\n loyaltyStoreSignUpSubmitButtonLabel,\r\n heresYourCouponCodeText,\r\n loyaltyRegistrationDateText,\r\n htmlGenericMarketing,\r\n htmlProfiling,\r\n htmlThirdParty,\r\n birthdayLabelText,\r\n addressZipCodeLabelOptional,\r\n phoneLabelText,\r\n emailAddressLabelText,\r\n emailErrortext,\r\n feedbackErrorText,\r\n loyaltyBarcodeText\r\n } = props.resources;\r\n\r\n // Define the form inputs type\r\n type FormInputs = {\r\n country: string;\r\n email: string;\r\n phone_number: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n };\r\n\r\n // Initialize form handling with react-hook-form\r\n const {\r\n register,\r\n watch,\r\n handleSubmit,\r\n formState: { errors }\r\n } = useForm({\r\n mode: 'onChange'\r\n });\r\n\r\n // This error is shown under the register button.\r\n const [phoneErrorMessage, setPhoneErrorMessage] = React.useState('');\r\n\r\n // const programString: string = walletLoyaltyProgramName || 'v-club-emea';\r\n\r\n // State variables for loading, disabled state, and subscription message\r\n const [loading, setLoading] = React.useState(false);\r\n const [disabled_state, setDisabled] = React.useState(false);\r\n const check_ref = React.useRef(null);\r\n const [submittedEmailAddress, setSubmittedEmailAddress] = React.useState(null);\r\n const [loyaltyCardNumber, setLoyaltyCardNumber] = React.useState(null);\r\n const [loyaltyEnrollmentDate, setLoyaltyEnrollmentDate] = React.useState(null);\r\n const [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n\r\n const isMobileDevice =\r\n isMobile({ variant: VariantType.Browser, context: props.context.request }) === 'xs' ||\r\n isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs' ||\r\n isMobile({ variant: VariantType.Browser, context: props.context.request }) === 'sm' ||\r\n isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'sm';\r\n\r\n // Extract query parameters from the request context\r\n const query_dict = props.context.request.query as Object;\r\n const queryParameter = Object.keys(query_dict)[0];\r\n const store_code = Object.values(query_dict)[0];\r\n const store_kiosk = Object.keys(query_dict).indexOf('kiosk') > -1 ? true : false;\r\n\r\n const siteLanguageConfig = getSiteLanguageConfigFromContext(props.context);\r\n const localeString = siteLanguageConfig.currentLocale;\r\n const hostname = siteLanguageConfig.hostname;\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n\r\n const regionCRM = determineSiteLanguageForAbandonedCart(siteLanguageConfig);\r\n\r\n // Define constants for hostname and locale\r\n // const loyalty_URL = `https://${hostname}/${sitePath}/loyalty?hasJoined=true`;\r\n\r\n const [unchecked_state, setUncheckedState] = React.useState(localeString !== 'en-us');\r\n\r\n const watchEmail = watch('email');\r\n\r\n // Function to handle form submission\r\n const _submit = async (data: any) => {\r\n if (phoneErrorMessage) {\r\n return;\r\n }\r\n\r\n setDisabled(true);\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n setSubmittedEmailAddress(data.email);\r\n setLoading(true);\r\n let birthday_slash: string = data.birthday;\r\n birthday_slash = birthday_slash.replace('-', '/').replace('-', '/');\r\n if (localeString === 'en-us' && data.birthday !== '') {\r\n birthday_slash = `${birthday_slash}/1900`;\r\n }\r\n let message: string;\r\n\r\n const context = props.context;\r\n await signUp_DLXAsync(\r\n { callerContext: context.actionContext },\r\n '',\r\n '',\r\n data.email,\r\n localeString !== 'en-us' ? data.phone_number : `+1${data.phone_number}`,\r\n true,\r\n data.marketing,\r\n localeString !== 'en-us' ? data.profiling : data.marketing,\r\n localeString !== 'en-us' ? data.thirdparty : false,\r\n localeString,\r\n birthday_slash,\r\n data.postal_code,\r\n store_code ? `Store_${store_code}` : 'Store_fallback',\r\n regionCRM\r\n )\r\n .then(result => {\r\n if (result.Error !== '') {\r\n throw new Error(result.Error);\r\n } else if (result.CustomerGUID?.length !== 0) {\r\n console.log('New email');\r\n // Brand new email\r\n message = feedbackSuccess ?? 'Thank you! Please check your email';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n // If the following array is NOT empty and OOUID is NOT 0, the synced user did NOT have a Loyalty card yet\r\n if (result.LoyaltyCards && result.LoyaltyCards.length > 0 && result.LoyaltyCards[0].OmOperatingUnitId !== 0) {\r\n if (result.LoyaltyCards[0].CardNumber?.length) {\r\n console.log('Loyalty card issued');\r\n setLoyaltyCardNumber(result.LoyaltyCards[0].CardNumber ?? null);\r\n setLoyaltyEnrollmentDate(result.LoyaltyCards[0].LoyaltyEnrollmentDateLocal ?? null);\r\n }\r\n // Old email, new loyalty\r\n message = feedbackSuccess ?? 'Thank you! Please check your email';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n } else {\r\n console.log('Loyalty card already existing');\r\n // Synced user with an existing loyalty card\r\n throw new Error('already_existing');\r\n }\r\n } else if (result.AccountNum?.length === TEMPORARY_ACCOUNT_NUMBER_LENGTH) {\r\n console.log('Account not synced yet');\r\n // This user is not synced yet, so they still have a temporary GUID, e.g. 278ef388-f813-449b-b7ac-721169659675\r\n // New email but already generating the loyalty\r\n throw new Error('generating');\r\n } else if (result.AccountNum?.length === 10) {\r\n console.log('Account synced');\r\n // This user is synced already, so they have an FO account number, e.g. FC12345678\r\n // If the following array is NOT empty and OOUID is NOT 0, the synced user did NOT have a Loyalty card yet\r\n if (result.LoyaltyCards && result.LoyaltyCards.length > 0 && result.LoyaltyCards[0].OmOperatingUnitId !== 0) {\r\n if (result.LoyaltyCards[0].CardNumber?.length) {\r\n console.log('Loyalty card issued');\r\n setLoyaltyCardNumber(result.LoyaltyCards[0].CardNumber ?? null);\r\n setLoyaltyEnrollmentDate(result.LoyaltyCards[0].LoyaltyEnrollmentDateLocal ?? null);\r\n }\r\n // Old email, new loyalty\r\n message = feedbackSuccess ?? 'Thank you! Please check your email';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n } else {\r\n console.log('Loyalty card already existing');\r\n // Synced user with an existing loyalty card\r\n throw new Error('already_existing');\r\n }\r\n }\r\n setLoading(false);\r\n if (store_kiosk && !result.Error) {\r\n setTimeout(() => {\r\n window.location.href = `https://${hostname}/${\r\n sitePath ? `${sitePath}/` : ''\r\n }loyalty-region-selection?${queryParameter}=${store_code}&kiosk=true`;\r\n }, 5000);\r\n }\r\n })\r\n .catch(err => {\r\n switch (err.message) {\r\n case 'generating':\r\n message = feedbackCardBeingGenerated ?? 'Your card is already being generated, thank you for your patience.';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'generic'\r\n });\r\n break;\r\n case 'already_existing':\r\n message = feedbackAlreadySubscribed ?? 'The inserted email is already subscribed to our loyalty program.';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'error'\r\n });\r\n break;\r\n default:\r\n message = feedbackErrorText;\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'error'\r\n });\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n // Debug US 9189\r\n React.useEffect(() => {\r\n console.log({ subscribeMessage, loyaltyCardNumber, submittedEmailAddress });\r\n }, [subscribeMessage, loyaltyCardNumber, submittedEmailAddress]);\r\n\r\n const mm_dd: RegExp = /(0[1-9]|1[0-2])\\/(0[1-9]|[1-2][0-9]|3[0-1])/gm;\r\n\r\n const currentChannelCountryRegionISOCode = props.context.request.channel?.ChannelCountryRegionISOCode || 'IT';\r\n\r\n return (\r\n
\r\n {!subscribeMessage.state ? (\r\n
\r\n {loading ?
: }\r\n
\r\n {emailAddressLabelText && emailErrortext ? (\r\n
\r\n \r\n \r\n {/* {watchEmail && watchEmail.includes('@') && watchEmail.endsWith('.con') && (\r\n <>\r\n

\r\n Maybe you meant {watchEmail.slice(0, -3)}\r\n com  \r\n

\r\n \r\n )} */}\r\n {/* For future scalability: Array with forbidden domains and .any in the endsWith? */}\r\n {(errors.email || (watchEmail && watchEmail.endsWith('.con'))) && (\r\n {emailErrortext}\r\n )}\r\n
\r\n ) : null}\r\n\r\n {phoneLabelText && localeString === 'en-us' ? (\r\n
\r\n \r\n
\r\n
\r\n +1\r\n
\r\n {\r\n if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('phone_number') as HTMLInputElement;\r\n this_thing.maxLength = 16;\r\n }\r\n }}\r\n ref={register({ required: true, maxLength: 16 })}\r\n // ref={\r\n // localeString === 'en-us'\r\n // ? register({\r\n // required: true,\r\n // pattern: /^\\\\ ( [2-9] {1} [0-9] {2}\\\\) [ ]? [0-9] {3}[-]?[0-9] {4}$/,\r\n // maxLength: 15\r\n // })\r\n // : register({ required: false, maxLength: 15 })\r\n // }\r\n />\r\n
\r\n {errors.phone_number && (\r\n {emailErrortext.replace('email', 'phone number')}\r\n )}\r\n {phoneNumberSubtext ?

{phoneNumberSubtext}

: null}\r\n
\r\n ) : null}\r\n\r\n {htmlGenericMarketing && privacyPolicyURL ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {htmlProfiling && privacyPolicyURL && localeString !== 'en-us' ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {htmlThirdParty && privacyPolicyURL && localeString !== 'en-us' ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n {additionalFieldsHeading ?

{additionalFieldsHeading}

: null}\r\n\r\n {phoneLabelText && localeString !== 'en-us' ? (\r\n
\r\n \r\n\r\n {\r\n if (!hasValidationError) {\r\n setPhoneErrorMessage('');\r\n } else {\r\n setPhoneErrorMessage(props.resources.phoneValidationErrorMessage);\r\n }\r\n const phoneNumberHidden: HTMLInputElement = document.getElementById(\r\n 'phone_number'\r\n ) as HTMLInputElement;\r\n\r\n phoneNumberHidden.value = phoneNumber ? fullPhoneNumber : '';\r\n }}\r\n />\r\n \r\n {phoneNumberSubtext ?

{phoneNumberSubtext}

: null}\r\n
\r\n ) : null}\r\n\r\n {localeString !== 'en-us'\r\n ? birthdayLabelText && (\r\n
\r\n \r\n \r\n {birthdaySubtext ?

{birthdaySubtext}

: null}\r\n
\r\n )\r\n : birthdayLabelText && (\r\n // TODO Better validation for US\r\n
\r\n \r\n {/* Protip: Custom error messages https://legacy.react-hook-form.com/v6/api/#register */}\r\n {\r\n if (typeof window !== undefined) {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday: HTMLInputElement = document.getElementById('bday') as HTMLInputElement;\r\n birthday_proxy.maxLength = 5;\r\n birthday_proxy.onchange = () => {\r\n birthday.value = `1900/${birthday_proxy.value}`;\r\n };\r\n }\r\n }}\r\n ref={register({\r\n required: false,\r\n maxLength: 5,\r\n pattern: mm_dd\r\n })}\r\n />\r\n \r\n {birthdaySubtext ?

{birthdaySubtext}

: null}\r\n
\r\n )}\r\n\r\n {addressZipCodeLabelOptional ? (\r\n
\r\n \r\n {\r\n if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('postal_code') as HTMLInputElement;\r\n this_thing.maxLength = 9;\r\n }\r\n }}\r\n ref={register({ required: false, maxLength: 9 })}\r\n />\r\n {postalCodeSubtext ?

{postalCodeSubtext}

: null}\r\n
\r\n ) : null}\r\n
\r\n\r\n {localeString !== 'en-us' ? (\r\n // EMEA\r\n loyaltyStoreSignUpMandatoryAgreement ? (\r\n
\r\n {\r\n setUncheckedState(!check_ref.current?.checked!);\r\n }}\r\n />\r\n {/* @ts-ignore */}\r\n
\r\n ) : null\r\n ) : // US\r\n loyaltyStoreSignUpMandatoryAgreement ? (\r\n
\r\n {/* TODO change to MsDyn365.RichTextComponent to avoid setHTML? */}\r\n
\r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n {loading && loyaltyStoreSignUpSubmitButtonLabel ? (\r\n
\r\n ) : (\r\n {loyaltyStoreSignUpSubmitButtonLabel}\r\n )}\r\n \r\n\r\n {phoneErrorMessage && (\r\n
\r\n

{phoneErrorMessage}

\r\n
\r\n )}\r\n
\r\n \r\n ) : isMobileDevice &&\r\n loyaltyCardNumber &&\r\n loyaltyCardNumber.length > 0 &&\r\n submittedEmailAddress &&\r\n submittedEmailAddress.length > 0 ? (\r\n // Here goes the response from the success request\r\n
\r\n
\r\n
\r\n {/*

DEBUG test Protip if kiosk error something like show this to a sales assistant in the store

*/}\r\n
\r\n

{joinedLoyaltyThankYouHeader}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {vClubCard}: {loyaltyCardNumber}\r\n

\r\n
\r\n {loyaltyBarcodeImage?.src && (\r\n
\r\n

{textWithLineBreaks(heresYourCouponCodeText)}

\r\n {loyaltyCouponCode}\r\n

{textWithLineBreaks(loyaltyBarcodeText)}

\r\n
\r\n )}\r\n {/* Hide add to wallet buttons because user creation happens with a delay */}\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
*/}\r\n
\r\n

\r\n {loyaltyRegistrationDateText}:{' '}\r\n \r\n

\r\n
\r\n {/* {!store_kiosk && loyaltyVCLUBDetailsLinkText && subscribeMessage.class !== 'error' ? (\r\n {loyaltyVCLUBDetailsLinkText}\r\n ) : null} */}\r\n
\r\n ) : (\r\n
\r\n
\r\n

{subscribeMessage.message}

\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default LoyaltyStoreSignUpView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpButton {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nconst SignUpButton: React.FC = ({ id, className, text, ariaLabel, disabled, onClick }) => (\r\n \r\n);\r\n\r\nexport default SignUpButton;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpErrorProps {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpError: React.FC = ({ id, className, type = 'page', message }) => {\r\n const errorClassName = `${className}__${type}-error`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpError;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpInputProps {\r\n id?: string;\r\n hasFocus?: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n type: any;\r\n value?: string;\r\n pattern?: string;\r\n required?: boolean;\r\n className: string;\r\n maxLength?: string;\r\n onChange?(event: React.ChangeEvent): void;\r\n}\r\n\r\nexport interface ISignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst SignUpInput: React.FC = ({ id, type, value, pattern, required, className, maxLength, onChange }) => (\r\n \r\n);\r\n\r\nexport default SignUpInput;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLabel {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nconst SignUpLabel: React.FC = ({ id, forId, className, text }) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingIcon {\r\n className: string;\r\n}\r\n\r\nconst SignUpLoadingIcon: React.FC = ({ className }) =>
;\r\n\r\nexport default SignUpLoadingIcon;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpLoadingMessage {\r\n className: string;\r\n message: string;\r\n}\r\n\r\nconst SignUpLoadingMessage: React.FC = ({ className, message }) => (\r\n
{message}
\r\n);\r\n\r\nexport default SignUpLoadingMessage;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface ISignUpSuccess {\r\n id?: string;\r\n className: string;\r\n type?: string;\r\n message?: string;\r\n}\r\n\r\nconst SignUpSuccess: React.FC = ({ id, className, type = 'page', message }) => {\r\n const successClassName = `${className}__${type}-success`;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpSuccess;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { EmailRegex, PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, INodeProps, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport SignUpButtonComponent from './components/new-sign-up-button';\r\nimport SignUpErrorComponent from './components/new-sign-up-error';\r\nimport SignUpInputComponent from './components/new-sign-up-input';\r\nimport SignUpLabelComponent from './components/new-sign-up-label';\r\nimport SignUpLoadingIconComponent from './components/new-sign-up-loading-icon';\r\nimport SignUpLoadingMessageComponent from './components/new-sign-up-loading-message';\r\nimport SignUpSuccessComponent from './components/new-sign-up-success';\r\nimport { INewSignUpConfig, INewSignUpProps, INewSignUpResources } from './new-sign-up.props.autogenerated';\r\n\r\nexport interface ISignUpViewState {\r\n isShowLoading: boolean;\r\n}\r\n\r\nexport interface ISignUpItem {\r\n wrapper: INodeProps;\r\n key: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpEmailVerification {\r\n isRequired: boolean;\r\n email: ISignUpItem;\r\n buttonWrapper: INodeProps;\r\n buttons: React.ReactNode[];\r\n successMessage: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Given Name Verification Interface.\r\n */\r\nexport interface ISignUpGivenNameVerification {\r\n isRequired: boolean;\r\n givenName: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n * SignUp Surname Verification Interface.\r\n */\r\nexport interface ISignUpSurnameVerification {\r\n isRequired: boolean;\r\n surname: ISignUpItem;\r\n errorMessage: React.ReactNode[];\r\n verificationControlWrapper: INodeProps;\r\n}\r\n\r\nexport interface ISignUpLocalAccount {\r\n localAccount: INodeProps;\r\n items: ISignUpItem[];\r\n emailVerification: ISignUpEmailVerification;\r\n givenNameVerification: ISignUpGivenNameVerification;\r\n surnameVerification: ISignUpSurnameVerification;\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpLoading {\r\n modal: INodeProps;\r\n modalBody: INodeProps;\r\n icon: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\n\r\nexport interface ISignUpViewProps {\r\n className: string;\r\n viewState: ISignUpViewState;\r\n loading: ISignUpLoading;\r\n signUp: IModuleProps;\r\n defaultAADConainer: INodeProps;\r\n aadConainer: INodeProps;\r\n heading: React.ReactNode;\r\n signUpLocalAccount: ISignUpLocalAccount;\r\n config: INewSignUpConfig;\r\n resources: INewSignUpResources;\r\n regionCRM: string;\r\n LastConsentSource: string;\r\n locale: string;\r\n channelCountryRegionISOCode: string;\r\n EcomSignUpLegalEntity: string;\r\n}\r\n\r\n/**\r\n *\r\n * SignUp component\r\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\r\n * Please ensure any change in module don't break contract with AAD.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass SignUp extends React.Component> {\r\n @observable private isGivenNameVerificationRequried: boolean;\r\n\r\n @observable private isSurnameVerificationRequried: boolean;\r\n\r\n private readonly moduleClassName: string = 'ms-sign-up';\r\n\r\n @observable private emailRegex: string;\r\n\r\n @observable private newPasswordRegex: string;\r\n\r\n @observable private isEmailVerificationRequried: boolean;\r\n\r\n @observable private isInitialized: boolean;\r\n\r\n @observable private templateVersion: string;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private initializationTimer: any;\r\n\r\n constructor(props: INewSignUpProps) {\r\n super(props);\r\n\r\n this.emailRegex = EmailRegex.defaultRegex.source;\r\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\r\n /* this.reenterPasswordRegex = PasswordRegex.defaultRegex.source; */\r\n this.isEmailVerificationRequried = false;\r\n this.isGivenNameVerificationRequried = false;\r\n this.isSurnameVerificationRequried = false;\r\n this.isInitialized = false;\r\n this.templateVersion = '';\r\n }\r\n\r\n public componentDidMount(): void {\r\n this._onInit();\r\n }\r\n\r\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\r\n public componentDidUpdate(): void {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['$element']['initialize']();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: INewSignUpProps, nextState: ISignUpViewState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n public render(): JSX.Element {\r\n // Locale management\r\n const locale = this.props?.context?.request?.locale;\r\n const channelCountryRegionISOCode = this.props?.context?.request.channel?.ChannelCountryRegionISOCode;\r\n\r\n const regionCRM: string =\r\n this.props.config.regionLanguageMapping?.find(regionMapping => regionMapping.pageLanguage === locale)?.regionCRM || locale;\r\n const LastConsentSource = this.props.config.Source;\r\n const EcomSignUpLegalEntity = this.props.config.EcomSignUpLegalEntity;\r\n\r\n const { config, resources } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n viewState: {\r\n isShowLoading: !this.isInitialized\r\n },\r\n signUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, config.className)\r\n },\r\n loading: {\r\n modal: {\r\n tag: Modal,\r\n isOpen: true\r\n },\r\n modalBody: {\r\n tag: ModalBody\r\n },\r\n icon: ,\r\n message: \r\n },\r\n defaultAADConainer: {\r\n id: 'api',\r\n style: { display: 'none' }\r\n },\r\n aadConainer: {\r\n id: this.isInitialized ? 'api' : null,\r\n className: `${this.moduleClassName}__container`\r\n },\r\n heading: (\r\n \r\n ),\r\n signUpLocalAccount: this._renderLocalAccount(),\r\n locale: locale,\r\n channelCountryRegionISOCode,\r\n regionCRM: regionCRM,\r\n LastConsentSource: LastConsentSource,\r\n EcomSignUpLegalEntity: EcomSignUpLegalEntity\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handles heading content change event.\r\n * @param event - Content editable event.\r\n * @returns - Heading Text.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\r\n\r\n /**\r\n * Handles paragraph content change event.\r\n * @param event - Content editable event.\r\n * @returns - Paragraph Text.\r\n */\r\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.disclaimer = event.target.value);\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public _onInit = () => {\r\n this._prePopulateData();\r\n this._updateErrorMessage();\r\n\r\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\r\n this.initializationTimer = setInterval(() => {\r\n this._isInitializationSuccessful();\r\n }, 100);\r\n setTimeout(() => {\r\n clearInterval(this.initializationTimer);\r\n }, 10_000);\r\n };\r\n\r\n // After successful AAD initialization, remove waiting and preload any data, if needed.\r\n private readonly _isInitializationSuccessful = () => {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\r\n clearInterval(this.initializationTimer);\r\n this.isInitialized = true;\r\n }\r\n };\r\n\r\n private readonly _prePopulateData = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\r\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\r\n window['SA_FIELDS']['AttributeFields'].map(\r\n (obj: { ID: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string; VERIFY: boolean }) => {\r\n switch (obj.ID.toLowerCase()) {\r\n case 'emailverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n this.templateVersion = 'v2';\r\n break;\r\n }\r\n case 'email': {\r\n this.emailRegex = obj.PAT;\r\n this.isEmailVerificationRequried = obj.VERIFY;\r\n this.templateVersion = 'v1';\r\n break;\r\n }\r\n case 'givennameverificationcontrol': {\r\n this.isGivenNameVerificationRequried = true;\r\n break;\r\n }\r\n case 'givenname': {\r\n this.isGivenNameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'surnameverificationcontrol': {\r\n this.isEmailVerificationRequried = true;\r\n break;\r\n }\r\n case 'surname': {\r\n this.isSurnameVerificationRequried = obj.VERIFY;\r\n break;\r\n }\r\n case 'newpassword': {\r\n this.newPasswordRegex = obj.PAT;\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n switch (obj.UX_INPUT_TYPE.toLowerCase()) {\r\n case 'password': {\r\n obj.PAT_DESC = resources.invalidPasswordError;\r\n break;\r\n }\r\n case 'emailbox': {\r\n obj.PAT_DESC = resources.invalidEmailAddressError;\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n );\r\n }\r\n };\r\n\r\n private readonly _updateErrorMessage = () => {\r\n const resources: INewSignUpResources = this.props.resources || {};\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n if (window && window['CONTENT']) {\r\n const errorMessages = {\r\n required_field: resources.requiredFieldMissingError\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\r\n Object.assign(window['CONTENT'], errorMessages);\r\n }\r\n };\r\n\r\n private readonly getValue = (v1Value: string, v2Value: string): string => {\r\n if (this.templateVersion) {\r\n return this.templateVersion === 'v1' ? v1Value : v2Value;\r\n }\r\n return '';\r\n };\r\n\r\n private _renderLocalAccount(): ISignUpLocalAccount {\r\n const { config, resources } = this.props;\r\n return {\r\n localAccount: {\r\n id: 'attributeList',\r\n className: `${this.moduleClassName}__account-items attr`\r\n },\r\n items: [\r\n this._renderInput('email', 'email', `${resources.emailAddressLabelText} *`, '255', this.emailRegex, true),\r\n // this._renderInput('email_rep', 'email', 'Repeat your email address', '255'),\r\n this._renderInput('newPassword', 'password', resources.signUpPasswordLabelText, undefined, this.newPasswordRegex, true),\r\n this._renderInput('givenName', 'text', `${resources.firstNameLabelText} *`, resources.firstNameMaxLength, undefined, true),\r\n this._renderInput('surname', 'text', `${resources.lastNameLabelText} *`, resources.lastNameMaxLength, undefined, true),\r\n this._renderInput('postalCode', 'text', resources.addressZipCodeLabelOptional, '8'),\r\n this._renderInput('extension_Birthday', 'date', resources.birthdayLabelText),\r\n // TODO Manage spaces\r\n this._renderInput('phone_number', 'tel', resources.phoneLabelText, '15'),\r\n this._renderInput('extension_RegionCRM', 'text', 'RegionCRM'),\r\n this._renderInput('extension_LastConsentSource', 'text', 'LastConsentSource'),\r\n this._renderInput('extension_EcomSignUpLegalEntity', 'text', 'EcomSignUpLegalEntity'),\r\n this._renderInput('extension_GenericMarketing', 'checkbox', ''),\r\n this._renderInput('extension_Profiling', 'checkbox', ''),\r\n this._renderInput('extension_ThirdParty', 'checkbox', '')\r\n ],\r\n emailVerification: {\r\n isRequired: this.isEmailVerificationRequried,\r\n email: this._renderInput(\r\n this.getValue('email_ver_input', 'emailVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'emailVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n buttonWrapper: {\r\n className: `${this.moduleClassName}__email-verification-buttons ${this.getValue('verify', '')}`,\r\n 'data-claim_id': 'email'\r\n },\r\n buttons: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n successMessage: [\r\n ,\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n \r\n ]\r\n },\r\n givenNameVerification: {\r\n isRequired: this.isGivenNameVerificationRequried,\r\n givenName: this._renderInput(\r\n this.getValue('givenName_ver_input', 'givenNameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'givenNameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n surnameVerification: {\r\n isRequired: this.isSurnameVerificationRequried,\r\n surname: this._renderInput(\r\n this.getValue('surname_ver_input', 'surnameVerificationCode'),\r\n 'text',\r\n resources.verificationCodeLabelText,\r\n undefined,\r\n undefined,\r\n undefined,\r\n 'VerificationCode'\r\n ),\r\n verificationControlWrapper: {\r\n id: 'surnameVerificationControl',\r\n className: `${this.moduleClassName}__verification-control-content verificationControlContent`\r\n },\r\n errorMessage: [\r\n \r\n ]\r\n },\r\n buttons: [\r\n \r\n ],\r\n errorMessage: [\r\n ,\r\n ,\r\n ,\r\n \r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n )\r\n };\r\n }\r\n\r\n private _renderInput(\r\n id: string,\r\n type: string,\r\n labelText: string,\r\n maxLength?: string,\r\n pattern?: string,\r\n required?: boolean,\r\n value?: any,\r\n onChange?: any,\r\n cssClassName?: string\r\n ): ISignUpItem {\r\n const className = `${this.moduleClassName}__account-item`;\r\n return {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry', cssClassName)\r\n },\r\n key: id,\r\n label: (\r\n \r\n ),\r\n errorMessage: (\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n }\r\n}\r\n\r\nexport default SignUp;\r\n","/* eslint-disable react/jsx-key */\r\n/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISignUpEmailVerification,\r\n ISignUpGivenNameVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpSurnameVerification,\r\n ISignUpViewProps\r\n} from './new-sign-up';\r\nimport SignUpButtonComponent from './components/new-sign-up-button';\r\nimport PhoneInputComponent from '../../common/components/phone-number-input';\r\n\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\nimport { trackVClubRegistration } from '../../themes/venchi/utilities/datalayer';\r\n\r\nconst SignUpItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\r\n return (\r\n <>\r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {errorMessage &&\r\n errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode) => {\r\n return <>{button};\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of sign-up givenName.\r\n * @param event - Content editable event.\r\n * @param event.givenName - Event Given Name.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for Given Name.\r\n */\r\nconst SignUpGivenNameVerificationComponent: React.FC = ({ givenName, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Handles validation of signUp surname.\r\n * @param event - Content editable event.\r\n * @param event.surname - Event surname.\r\n * @param event.errorMessage - Event Error Message.\r\n * @returns - Error Message for surname.\r\n */\r\nconst SignUpSurnameVerificationComponent: React.FC = ({ surname, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = props => {\r\n const {\r\n localAccount,\r\n items,\r\n emailVerification,\r\n givenNameVerification,\r\n surnameVerification,\r\n buttons,\r\n errorMessage,\r\n disclaimer\r\n } = props.signUpLocalAccount;\r\n\r\n const locale = props.locale;\r\n const regionCRM = props.regionCRM;\r\n const EcomSignUpLegalEntity = props.EcomSignUpLegalEntity;\r\n let LastConsentSource: string;\r\n\r\n switch (props.LastConsentSource) {\r\n case 'FinanceOperationEU':\r\n LastConsentSource = 'Finance&Operation EU';\r\n break;\r\n case 'FinanceOperationUS':\r\n LastConsentSource = 'Finance&Operation US';\r\n break;\r\n default:\r\n LastConsentSource = 'Finance&Operation EU';\r\n }\r\n\r\n const [birthDate, setBirthDate] = React.useState('');\r\n const [formatDateState, setFormatDateState] = React.useState(true);\r\n const pattern = /^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^((16|[248][048]|[3579][26])00)|(1[6789]|[2-9][0-9])(0[48]|[13579][26]|[2468][048])\\/02\\/(0[1-9]|1[0-9]|2[0-9])$|^(1[6789]|[2-9][0-9])[0-9]{2}\\/02\\/(0[1-9]|1[0-9]|2[0-8])$/gm;\r\n const patternUS = /^((0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^02\\/(0[1-9]|1[0-9]|2[0-9])$/gm;\r\n\r\n // This error is shown under the register button.\r\n const [phoneErrorMessage, setPhoneErrorMessage] = React.useState('');\r\n\r\n const checkDate = (event: React.KeyboardEvent) => {\r\n const value = event.currentTarget.value;\r\n const today = new Date();\r\n if (value !== '' && (!value.match(locale !== 'en-US' ? pattern : patternUS) || today < new Date(value))) {\r\n setFormatDateState(false);\r\n } else {\r\n setFormatDateState(true);\r\n }\r\n if (locale === 'en-US') {\r\n setBirthDate(`1900/${value}`);\r\n }\r\n };\r\n\r\n if (typeof window !== 'undefined') {\r\n const signUpButton: HTMLElement = document.getElementById('continue') as HTMLElement;\r\n if (signUpButton !== undefined) {\r\n signUpButton.onclick = e => {\r\n if (!formatDateState) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n trackVClubRegistration();\r\n };\r\n }\r\n }\r\n\r\n const profiling_ref = React.useRef(null);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n if (locale.toLowerCase() === 'en-us') {\r\n const { checked } = e.target;\r\n profiling_ref.current!.checked = checked;\r\n }\r\n };\r\n\r\n const currentChannelCountryRegionISOCode = props.channelCountryRegionISOCode;\r\n\r\n // DONE guest state session variable; check that user ID (the one that's NOT an FC) exists alongside the user not being auth (since if not auth = loyalty)\r\n\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignUpItem) => {\r\n switch (item.key) {\r\n case 'email':\r\n if (emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n const emailRepErrorText: string = props.resources.emailRepErrorText ?? null;\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const email: HTMLInputElement = document.getElementById(\r\n 'email'\r\n ) as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById(\r\n 'text-error'\r\n ) as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email_rep.pattern = email.value;\r\n // I hope the following works well with Azure\r\n email_rep.title = emailRepErrorText;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n \r\n {\r\n const email: HTMLInputElement = document.getElementById('email') as HTMLInputElement;\r\n const email_rep: HTMLInputElement = document.getElementById(\r\n 'email_rep'\r\n ) as HTMLInputElement;\r\n const email_rep_error = document.getElementById('text-error') as HTMLParagraphElement;\r\n const email_rep_error_backup = document.getElementById(\r\n 'text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n email.pattern = email_rep.value;\r\n\r\n if (email.value === email_rep.value) {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = ' ';\r\n } else {\r\n email_rep_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (email_rep_error !== null) {\r\n email_rep_error.textContent = emailRepErrorText;\r\n } else {\r\n email_rep_error_backup.textContent = emailRepErrorText;\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n case 'newPassword':\r\n const passwordRepErrorText: string = props.resources.passwordRepErrorText ?? null;\r\n return (\r\n <>\r\n {\r\n if (typeof window !== 'undefined') {\r\n const newPassword: HTMLInputElement = document.getElementById(\r\n 'newPassword'\r\n ) as HTMLInputElement;\r\n const reenterPassword: HTMLInputElement = document.getElementById(\r\n 'reenterPassword'\r\n ) as HTMLInputElement;\r\n const reenterPassword_error = document.getElementById(\r\n 'password-text-error'\r\n ) as HTMLParagraphElement;\r\n const reenterPassword_error_backup = document.getElementById(\r\n 'password-text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n reenterPassword.pattern = newPassword.value;\r\n // I hope the following works well with Azure\r\n reenterPassword.title = passwordRepErrorText;\r\n\r\n if (newPassword.value === reenterPassword.value) {\r\n if (reenterPassword_error !== null) {\r\n reenterPassword_error.textContent = ' ';\r\n } else {\r\n reenterPassword_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (reenterPassword_error !== null) {\r\n reenterPassword_error.textContent = passwordRepErrorText;\r\n } else {\r\n reenterPassword_error_backup.textContent = passwordRepErrorText;\r\n }\r\n }\r\n }\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n \r\n {props.resources.confirmPasswordLabelText\r\n ? props.resources.confirmPasswordLabelText\r\n : 'Confirm password *'}\r\n \r\n {\r\n const newPassword: HTMLInputElement = document.getElementById(\r\n 'newPassword'\r\n ) as HTMLInputElement;\r\n const reenterPassword: HTMLInputElement = document.getElementById(\r\n 'reenterPassword'\r\n ) as HTMLInputElement;\r\n const reenterPassword_error = document.getElementById(\r\n 'password-text-error'\r\n ) as HTMLParagraphElement;\r\n const reenterPassword_error_backup = document.getElementById(\r\n 'password-text-error-backup'\r\n ) as HTMLSpanElement;\r\n\r\n newPassword.pattern = reenterPassword.value;\r\n\r\n if (newPassword.value === reenterPassword.value) {\r\n if (reenterPassword_error !== null) {\r\n reenterPassword_error.textContent = ' ';\r\n } else {\r\n reenterPassword_error_backup.textContent = ' ';\r\n }\r\n } else {\r\n if (reenterPassword_error !== null) {\r\n reenterPassword_error.textContent = passwordRepErrorText;\r\n } else {\r\n reenterPassword_error_backup.textContent = passwordRepErrorText;\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'givenName':\r\n if (givenNameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'surname':\r\n if (surnameVerification.isRequired) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n case 'extension_Birthday':\r\n return (\r\n <>\r\n
\r\n \r\n {/* TODO Test US elements */}\r\n {locale === 'en-US' ? (\r\n <>\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n {/* // TODO? Validate that it's not in the future, and possibly that it's after at least 18 years */}\r\n e.preventDefault()}\r\n onChange={() => {\r\n if (typeof window !== 'undefined') {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday_hidden: HTMLInputElement = document.getElementById(\r\n 'extension_Birthday'\r\n ) as HTMLInputElement;\r\n birthday_proxy.onchange = event => {\r\n birthday_hidden.value = birthday_proxy.value;\r\n };\r\n }\r\n }}\r\n />\r\n e.preventDefault()}\r\n style={{ display: 'none' }}\r\n />\r\n \r\n )}\r\n
\r\n {props.config.BirthdayText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'postalCode':\r\n return (\r\n <>\r\n \r\n {props.config.PostalText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'phone_number':\r\n return (\r\n <>\r\n {\r\n if (!hasValidationError) {\r\n setPhoneErrorMessage('');\r\n } else {\r\n setPhoneErrorMessage(props.resources.phoneValidationErrorMessage);\r\n }\r\n const phoneNumberHidden: HTMLInputElement = document.getElementById(\r\n 'extension_PhoneNumber'\r\n ) as HTMLInputElement;\r\n\r\n phoneNumberHidden.value = phoneNumber ? fullPhoneNumber : '';\r\n }}\r\n />\r\n }\r\n />\r\n \r\n {props.config.PhoneText ? (\r\n \r\n ) : null}\r\n \r\n );\r\n case 'extension_GenericMarketing':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_Profiling':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_ThirdParty':\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n case 'extension_RegionCRM':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_LastConsentSource':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case 'extension_EcomSignUpLegalEntity':\r\n return (\r\n
\r\n \r\n
\r\n );\r\n default:\r\n return ;\r\n }\r\n })}\r\n {disclaimer}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n // @ts-ignore\r\n if (button?.key === 'continue') {\r\n const isDisabled = phoneErrorMessage !== null && phoneErrorMessage !== undefined && phoneErrorMessage !== '';\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return {button};\r\n }\r\n })}\r\n {phoneErrorMessage && (\r\n
\r\n

{phoneErrorMessage}

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst SignUpLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst SignUpView: React.FC = props => {\r\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\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 { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { INewsletterBlockProps } from './newsletter-block.props.autogenerated';\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport interface INewsletterBlockViewProps extends INewsletterBlockProps<{}> {\r\n paragraph?: React.ReactNode;\r\n privacyTextM?: React.ReactNode;\r\n privacyTextP?: React.ReactNode;\r\n privacyTextT?: React.ReactNode;\r\n source?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\n/**\r\n *\r\n * NewsletterBlock component\r\n */\r\nclass NewsletterBlock extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const localeString = this.props?.context?.request?.locale ? this.props?.context?.request?.locale?.toLowerCase() : '';\r\n\r\n const { paragraph, privacyTextM, className, privacyPolicyURL } = this.props.config;\r\n let { htmlGenericMarketing, htmlProfiling, htmlThirdParty } = this.props.resources;\r\n\r\n htmlGenericMarketing = `

${format(htmlGenericMarketing, privacyPolicyURL)}

`;\r\n htmlProfiling = `

${format(htmlProfiling, privacyPolicyURL)}

`;\r\n htmlThirdParty = `

${format(htmlThirdParty, privacyPolicyURL)}

`;\r\n\r\n const text = paragraph && ;\r\n\r\n const textPrivacyTextM = privacyTextM && (\r\n \r\n );\r\n const textPrivacyTextP = htmlProfiling && ;\r\n const textPrivacyTextT = htmlThirdParty && ;\r\n\r\n const newsletterBlockViewProps = {\r\n ...this.props,\r\n paragraph: text,\r\n privacyTextM: textPrivacyTextM,\r\n privacyTextP: textPrivacyTextP,\r\n privacyTextT: textPrivacyTextT,\r\n className: classnames('ms-newsletter-block', className)\r\n };\r\n return this.props.renderView(newsletterBlockViewProps) as React.ReactElement;\r\n }\r\n}\r\nexport default NewsletterBlock;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * INewsletterBlock contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum position {\r\n Page = 'Page',\r\n Popup = 'Popup',\r\n Footer = 'Footer'\r\n}\r\n\r\nexport const enum customExternalAPI {\r\n D365 = 'D365',\r\n External = 'External'\r\n}\r\n\r\nexport const enum source {\r\n CommerceSubscriberEU = 'CommerceSubscriberEU',\r\n CommerceSubscribersUS = 'CommerceSubscribersUS',\r\n CommerceSubscribersAU = 'CommerceSubscribersAU',\r\n RetailEU = 'RetailEU',\r\n RetailUS = 'RetailUS',\r\n RetailAU = 'RetailAU'\r\n}\r\n\r\nexport interface INewsletterBlockConfig extends Msdyn365.IModuleConfig {\r\n paragraph?: Msdyn365.RichText;\r\n privacyTextM?: Msdyn365.RichText;\r\n requiredMarketingError?: string;\r\n className?: string;\r\n position: position;\r\n customExternalAPI?: customExternalAPI;\r\n externalApiURL?: string;\r\n externalThankYouMessage?: string;\r\n source: source;\r\n preflagMarketing?: boolean;\r\n preflagProfiling?: boolean;\r\n preflagThirdParty?: boolean;\r\n hideMarketing?: boolean;\r\n hideProfiling?: boolean;\r\n hideThirdParty?: boolean;\r\n privacyPolicyURL?: string;\r\n}\r\n\r\nexport interface INewsletterBlockResources {\r\n alreadySubscribedText: string;\r\n verifyEmailText: string;\r\n yourEmailAddressText: string;\r\n subscribeBtnText: string;\r\n htmlGenericMarketing: string;\r\n htmlProfiling: string;\r\n htmlThirdParty: string;\r\n invalidEmailAddressError: string;\r\n}\r\n\r\nexport interface INewsletterBlockProps extends Msdyn365.IModule {\r\n resources: INewsletterBlockResources;\r\n config: INewsletterBlockConfig;\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\nimport { useForm } from 'react-hook-form';\r\nimport { signUp_DLXAsync } from '../../actions/DataActionExtension.g';\r\nimport {\r\n determineSiteLanguageForAbandonedCart,\r\n getSiteLanguageConfigFromContext\r\n} from '../../themes/venchi/utils/determineSiteLanguageForAbandonedCart';\r\nimport { INewsletterBlockViewProps } from './newsletter-block';\r\nimport { customExternalAPI as customeExternalAPIType } from './newsletter-block.props.autogenerated';\r\n\r\nexport interface ExternalPayload {\r\n email: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n thirdparty: boolean;\r\n message?: string;\r\n}\r\n\r\nconst NewsletterBlockView: React.FC = props => {\r\n const siteLanguageConfig = getSiteLanguageConfigFromContext(props.context);\r\n const localeString = siteLanguageConfig.currentLocale;\r\n const regionCRM = determineSiteLanguageForAbandonedCart(siteLanguageConfig);\r\n\r\n type Inputs = {\r\n email: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n thirdParts: boolean;\r\n };\r\n // const { register, handleSubmit, watch, errors } = useForm();\r\n const { register, handleSubmit, errors } = useForm();\r\n // const marketingChoice: boolean = watch('marketing');\r\n const [loading, setLoading] = React.useState(false);\r\n const [disabled_state, setDisabled] = React.useState(false);\r\n\r\n const customExternalAPI = props?.config?.customExternalAPI;\r\n const externalApiURL = props.config.externalApiURL ?? '';\r\n const externalThankYouMessage = props.config.externalThankYouMessage ?? '';\r\n const useExternalAPI = (externalApiURL && customExternalAPI === customeExternalAPIType.External) ?? false;\r\n\r\n let message = props.resources.verifyEmailText;\r\n // const channelId: number = props.context.request.apiSettings.channelId;\r\n const [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n\r\n let source: string;\r\n switch (props.config.source?.toString()) {\r\n case 'CommerceSubscriberEU':\r\n source = 'Commerce Subscriber EU';\r\n break;\r\n case 'CommerceSubscribersUS':\r\n source = 'Commerce Subscribers US';\r\n break;\r\n case 'RetailEU':\r\n source = 'Retail EU';\r\n break;\r\n case 'RetailUS':\r\n source = 'Retail US';\r\n break;\r\n }\r\n\r\n const _subscribeToNL = async (data: Inputs) => {\r\n setDisabled(true);\r\n setLoading(true);\r\n signUp_DLXAsync(\r\n { callerContext: props.context?.actionContext },\r\n '',\r\n '',\r\n data.email,\r\n '',\r\n false,\r\n data.marketing,\r\n localeString !== 'en-us' ? data.profiling : data.marketing,\r\n data.thirdParts,\r\n localeString,\r\n '',\r\n '',\r\n source,\r\n regionCRM\r\n )\r\n .then(result => {\r\n message = result.Error\r\n ? result.Error === 'already_subscribed'\r\n ? props.resources.alreadySubscribedText\r\n : result.Error\r\n : message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n // @ts-ignore\r\n window.dataLayer?.push?.({\r\n event: 'gaEvent',\r\n eventCategory: 'newsletter',\r\n eventAction: 'subscription',\r\n //@ts-ignore\r\n eventLabel: props.config.position\r\n });\r\n })\r\n .catch(error => {\r\n message = error.message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: error.message,\r\n class: 'error'\r\n });\r\n });\r\n };\r\n\r\n function postJson(url: string, data: any): Promise {\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! Status: ${response.status}`);\r\n }\r\n return response.status;\r\n })\r\n .catch(error => {\r\n console.error('Error:', error);\r\n throw error;\r\n });\r\n }\r\n\r\n const _externalSubscribeToNL = async (data: Inputs) => {\r\n setLoading(true);\r\n const payload: ExternalPayload = {\r\n email: data.email,\r\n marketing: data.marketing,\r\n profiling: data.profiling,\r\n thirdparty: data.thirdParts\r\n };\r\n postJson(externalApiURL, payload)\r\n .then(result => {\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: externalThankYouMessage,\r\n class: 'success'\r\n });\r\n })\r\n .catch(error => {\r\n message = error.message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: error.message,\r\n class: 'error'\r\n });\r\n });\r\n };\r\n\r\n const _validateEmail = (email: string): boolean | string => {\r\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n return emailRegex.test(email) || props.resources.invalidEmailAddressError;\r\n };\r\n\r\n console.log(errors);\r\n\r\n return (\r\n
\r\n {props.paragraph}\r\n {subscribeMessage.state === false ? (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {errors?.email?.message && (\r\n
\r\n

\r\n {errors.email.message}\r\n

\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {subscribeMessage.message}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default NewsletterBlockView;\r\n","export const TEMPORARY_ACCOUNT_NUMBER_LENGTH = 36;\r\n","import { SiteLanguageConfig, SITE_LANGUAGE_CONSTANTS } from '../../../types/site-language-for-abandoned-cart.types';\r\nconst { EU_PROD_HOSTNAME, EU_TEST_HOSTNAME, LANGUAGE_CODES } = SITE_LANGUAGE_CONSTANTS;\r\n\r\nexport const determineSiteLanguageForAbandonedCart = (config: SiteLanguageConfig): string => {\r\n const { hostname, pathname, currentLocale } = config;\r\n const pathSegments = pathname\r\n .replace(/\\/$/, '')\r\n .split('/')\r\n .filter(Boolean);\r\n\r\n // PROD env EU domain cases\r\n if (hostname === EU_PROD_HOSTNAME) {\r\n if (pathSegments[0] === LANGUAGE_CODES.DE) {\r\n return LANGUAGE_CODES.DE;\r\n }\r\n if (pathSegments[0] === LANGUAGE_CODES.FR) {\r\n return LANGUAGE_CODES.FR;\r\n }\r\n return LANGUAGE_CODES.EU;\r\n }\r\n\r\n // TEST env (EMEA path cases for non-EU domains)\r\n if (hostname === EU_TEST_HOSTNAME && pathSegments[1] === 'emea' && pathSegments[2] !== 'gb') {\r\n if (pathSegments[2] === LANGUAGE_CODES.DE) {\r\n return LANGUAGE_CODES.DE;\r\n }\r\n if (pathSegments[2] === LANGUAGE_CODES.FR) {\r\n return LANGUAGE_CODES.FR;\r\n }\r\n if (pathSegments[2] === LANGUAGE_CODES.IT) {\r\n return LANGUAGE_CODES.IT;\r\n }\r\n return LANGUAGE_CODES.EU;\r\n }\r\n\r\n return currentLocale;\r\n};\r\n\r\nexport const getSiteLanguageConfigFromContext = (context: any): SiteLanguageConfig => {\r\n const hostname = context?.request?.url?.requestUrl?.hostname || '';\r\n const pathname = context?.request?.url?.requestUrl?.pathname || '';\r\n const currentLocale = context?.request?.locale?.toLowerCase() || '';\r\n\r\n return { hostname, pathname, currentLocale };\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\n// Importing necessary modules and interfaces from various packages\r\nimport {\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxAddToOrderTemplateViewProps,\r\n IBuyboxAddToWishlistViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxData,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxProps,\r\n IBuyboxState,\r\n IBuyboxViewProps\r\n} from '@msdyn365-commerce-modules/buybox';\r\nimport { IProductSpecificationViewProps } from '@msdyn365-commerce-modules/product-specification';\r\nimport {\r\n IProductSpecificationProps as IProductSpecificationExtensionProps,\r\n IProductSpecificationConfig as IProductSpecificationExtensionConfig,\r\n IReassuranceItemsData as IReassuranceItemsExtensionData\r\n} from '../definition-extensions/product-specification.ext.props.autogenerated';\r\n// NOTE Commented the \"Add to MyVenchiMix\" button on PDP to facilitate A-B tests on the page\r\n// NOTE ref. https://dev.azure.com/venchi/Venchi.DigitalProducts/_workitems/edit/9624\r\n// NOTE uncomment whenever requested\r\n// import { getCategoryPathsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport * as React from 'react';\r\nimport { IBuyboxResources } from '@msdyn365-commerce-modules/buybox/dist/types/modules/buybox/buybox.props.autogenerated';\r\nimport { ITelemetryContent, Module, Node, format } from '@msdyn365-commerce-modules/utilities';\r\n// NOTE Commented the \"Add to MyVenchiMix\" button on PDP to facilitate A-B tests on the page\r\n// NOTE ref. https://dev.azure.com/venchi/Venchi.DigitalProducts/_workitems/edit/9624\r\n// NOTE uncomment whenever requested\r\n// import { getCategoriesUrlSync, Image, IImageData } from '@msdyn365-commerce/core';\r\nimport { Image, IImageData } from '@msdyn365-commerce/core';\r\nimport { ProductDimension } from '@msdyn365-commerce/retail-proxy';\r\nimport { insertBackInStock_CAPAsync_v2 } from '../../../actions/DataActionExtension.g';\r\nimport {\r\n IBuyboxProps as IBuyboxExtensionProps,\r\n IBuyboxResources as IBuyboxExtensionResources,\r\n IBuyboxConfig as IBuyboxExtensionConfig,\r\n IBadgeItemsData as IBadgeItemsExtensionData,\r\n BadgeItemsBadgeLabelColor as BadgeItemsBadgeLabelColorExtension\r\n} from '../definition-extensions/buybox.ext.props.autogenerated';\r\nimport { Quantity } from '../utilities/quantity';\r\nimport axios from 'axios';\r\nimport { getCustomDiscountPercentage } from '../utils/getCustomDiscountPercentage';\r\nimport { trackAddToCartFromPDP, trackAddToWishlistFromPDP, trackViewItemFromPDP } from '../utilities/datalayer/index';\r\nimport { getSiteLanguageConfigFromContext, determineSiteLanguageForAbandonedCart } from '../utils/determineSiteLanguageForAbandonedCart';\r\n\r\n// Defining interfaces for product specification and badge show types\r\ninterface productSpecificationData {\r\n Name: string;\r\n BooleanValue: boolean;\r\n TextValue: string;\r\n IntegerValue: number;\r\n}\r\n\r\ninterface BadgeShowType {\r\n key: string;\r\n label: string;\r\n image: IImageData;\r\n color?: BadgeItemsBadgeLabelColorExtension;\r\n}\r\n\r\ninterface NutritionalData {\r\n label: string;\r\n qty1Label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n qty2Unit: string;\r\n qty2Value: number;\r\n subcategory: NutritionalSubcategoryData[];\r\n}\r\n\r\ninterface NutritionalSubcategoryData {\r\n label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n}\r\n\r\ninterface ProductLabel {\r\n label: string;\r\n imgLink: string;\r\n}\r\n\r\ninterface ReassuranceShowType {\r\n title: string;\r\n description: string;\r\n image: IImageData;\r\n}\r\n\r\n// Certification values enum\r\nenum CertificationValueEnum {\r\n RainforestAlliance = 'RAMB'\r\n}\r\n\r\n// Main BuyboxView component\r\nconst BuyboxView: React.FC &\r\n IBuyboxExtensionConfig &\r\n IProductSpecificationViewProps &\r\n IProductSpecificationExtensionProps &\r\n IProductSpecificationExtensionConfig> = props => {\r\n const {\r\n ModuleProps,\r\n MediaGalleryContainerProps,\r\n ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n telemetryContent,\r\n configure,\r\n quantity,\r\n title,\r\n callbacks,\r\n state,\r\n resources,\r\n inventoryLabel,\r\n keyInPrice,\r\n quantityLimitsMessages,\r\n max\r\n } = props;\r\n\r\n const {\r\n // Extracting product availability and specification data from props\r\n // prettier-ignore\r\n // @ts-ignore\r\n data: { productAvailableQuantity: { result: productAvailableQuantity }, productSpecificationData: { result: productSpecificationData }\r\n }\r\n } = props;\r\n const availibilityCode = productAvailableQuantity ? productAvailableQuantity[0]?.StockLevelCode : '';\r\n\r\n // Mapping badge items from configuration\r\n // const badgesItems: BadgeShowType[] | undefined = props?.config?.badgeItems?.map((badge: IBadgeItemsExtensionData) => ({\r\n // key: badge.badgeName,\r\n // label: badge.badgeLabel,\r\n // color: badge.badgeLabelColor,\r\n // image: badge.badgeImage\r\n // }));\r\n // const badgesTag = badgesItems?.map(({ key }): string => key);\r\n const maxBadges = props?.config?.badgeMaxItems !== undefined ? Number(props.config.badgeMaxItems.replace('max_', '')) : 99;\r\n\r\n // Filtering badges to show based on product specification data\r\n const [badgesItemsState] = React.useState(\r\n props?.config?.badgeItems?.map((badge: IBadgeItemsExtensionData) => ({\r\n key: badge.badgeName,\r\n label: badge.badgeLabel,\r\n color: badge.badgeLabelColor,\r\n image: badge.badgeImage\r\n }))\r\n );\r\n const [badgesTagState] = React.useState(badgesItemsState?.map(({ key }): string => key));\r\n const [badgesToShowState] = React.useState([]);\r\n\r\n productSpecificationData?.map((row: productSpecificationData) => {\r\n const attributeName = (row.Name ?? '').replace('\\n', '').trim();\r\n // if the attribute exists, has the name of a product tag and its value is true, add it specs to the badges to display\r\n if (\r\n !badgesToShowState.includes(attributeName) &&\r\n row !== null &&\r\n badgesTagState?.includes(attributeName) &&\r\n (row.BooleanValue === true ||\r\n (Object.values(CertificationValueEnum) as string[]).includes(row.TextValue) ||\r\n row.TextValue === 'Yes')\r\n ) {\r\n badgesToShowState.push(attributeName);\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n const productSpecificationResult = props?.data?.productSpecificationData?.result;\r\n const specificationsList = ['Product description', 'Ingredients', 'Nutritional Values JSON'];\r\n const specificationsListOrder = { 'Product description': 1, Reassurance: 2, Ingredients: 3, 'Nutritional Values JSON': 4, Labels: 5 };\r\n const ingredientsAllAttributesList = ['Ingredients', 'Ingredients 2', 'Ingredients 3'];\r\n const labels = props.resources;\r\n\r\n // @ts-ignore\r\n const pTags = [];\r\n const pSpecifications = [];\r\n // @ts-ignore\r\n const ingredientsArray = [];\r\n let ingredientsString = '';\r\n\r\n const reassuranceItems: ReassuranceShowType[] = props?.slots?.productSpecification?.length\r\n ? // @ts-ignore\r\n (props?.slots?.productSpecification[0]?.props?.config?.reassuranceItems ?? []).map(\r\n (reassurance: IReassuranceItemsExtensionData) => {\r\n if (reassurance) {\r\n return {\r\n title: reassurance.reassuranceTitle,\r\n description: reassurance.reassuranceDescription,\r\n image: reassurance.reassuranceImage\r\n };\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n )\r\n : [];\r\n\r\n const isProductAccordionOpened = props?.slots?.productSpecification?.length\r\n ? // @ts-ignore\r\n props?.slots?.productSpecification[0]?.props?.config?.productDescriptionAccordionOpened ?? false\r\n : false;\r\n\r\n const [accordionsState, setAccordionsState] = React.useState(isProductAccordionOpened ? 'Productdescription' : '');\r\n const [fetchingLabels, setFetchingLabels] = React.useState(false);\r\n const [productLabels, setProductLabels] = React.useState([\r\n {\r\n label: labels['product_specification_title_emea_label'] ?? 'EMEA label',\r\n imgLink: ''\r\n },\r\n {\r\n label: labels['product_specification_title_emea_warnings'] ?? 'EMEA warnings',\r\n imgLink: ''\r\n },\r\n {\r\n label: labels['product_specification_title_fda_label'] ?? 'FDA label',\r\n imgLink: ''\r\n }\r\n ]);\r\n\r\n productSpecificationResult?.map((row: productSpecificationData) => {\r\n if (row !== null && specificationsList.includes(row.Name) && row.TextValue !== '') {\r\n pSpecifications.push({\r\n name: row.Name,\r\n data: row,\r\n order: specificationsListOrder[row.Name as keyof typeof specificationsListOrder]\r\n });\r\n }\r\n if (row !== null && ingredientsAllAttributesList.includes(row.Name) && row.TextValue !== '') {\r\n ingredientsArray.push(row);\r\n }\r\n });\r\n pSpecifications.push({ name: 'Reassurance', order: specificationsListOrder.Reassurance });\r\n pSpecifications.push({ name: 'Labels', order: specificationsListOrder.Labels });\r\n pSpecifications.sort((a, b) => a.order - b.order);\r\n // @ts-ignore\r\n const productSku = props.data.product.result?.ItemId;\r\n // @ts-ignore\r\n const productPrimaryImageUrl = props.data.product.result?.PrimaryImageUrl;\r\n\r\n const addToCartEventHandler = () => {\r\n const product = props.data.product.result;\r\n const quantity = Number((document.getElementsByClassName('quantity-input')[0] as HTMLInputElement).value) || 0;\r\n\r\n if (props.data.productPrice.result?.CustomerContextualPrice && props.data.productPrice.result?.AdjustedPrice) {\r\n trackAddToCartFromPDP(\r\n props.context,\r\n product,\r\n quantity,\r\n props.data.productPrice.result!.CustomerContextualPrice!,\r\n props.data.productPrice.result!.AdjustedPrice!\r\n );\r\n }\r\n };\r\n\r\n const addToWishlistEventHandler = () => {\r\n if (props.data.productPrice.result?.CustomerContextualPrice && props.data.productPrice.result?.AdjustedPrice) {\r\n trackAddToWishlistFromPDP(\r\n props.context,\r\n props.data.product.result,\r\n props.data.productPrice.result!.CustomerContextualPrice!,\r\n props.data.productPrice.result!.AdjustedPrice!\r\n );\r\n }\r\n };\r\n\r\n // TODO: remove this after development\r\n // Debug product attributes\r\n React.useEffect(() => {\r\n console.log('*** product specification data');\r\n console.log({ productSpecificationData: productSpecificationData });\r\n const attributes = new Map();\r\n productSpecificationData?.map((row: productSpecificationData) => {\r\n const attributeName: string = (row.Name ?? '').replace('\\n', '').trim();\r\n const attributeValue: boolean | string = row.BooleanValue ?? row.TextValue ?? row.IntegerValue ?? '';\r\n attributes.set(attributeName, attributeValue);\r\n });\r\n console.log('*** product attributes');\r\n console.log({ attributes: attributes });\r\n }, [productSpecificationData]);\r\n\r\n // TODO: remove this after development\r\n // Debug product attributes\r\n React.useEffect(() => {\r\n console.log('*** badges items ***');\r\n console.log({ badgesItemsState: badgesItemsState });\r\n }, [badgesItemsState]);\r\n\r\n // TODO: remove this after development\r\n // Debug product attributes\r\n React.useEffect(() => {\r\n console.log('*** badges tag ***');\r\n console.log({ badgesTagState: badgesTagState });\r\n }, [badgesTagState]);\r\n\r\n // TODO: remove this after development\r\n // Debug product attributes\r\n React.useEffect(() => {\r\n console.log('*** badges to show ***');\r\n console.log({ badgesToShowState: badgesToShowState });\r\n }, [badgesToShowState]);\r\n\r\n React.useEffect(() => {\r\n const product = props.data.product.result;\r\n\r\n if (props.data.productPrice.result?.CustomerContextualPrice && props.data.productPrice.result?.AdjustedPrice) {\r\n trackViewItemFromPDP(\r\n props.context,\r\n product,\r\n props.data.productPrice.result!.CustomerContextualPrice!,\r\n props.data.productPrice.result!.AdjustedPrice!\r\n );\r\n }\r\n\r\n document.querySelector('.msc-add-to-wishlist')?.addEventListener('click', addToWishlistEventHandler);\r\n document.querySelector('.msc-add-to-cart')?.addEventListener('click', addToCartEventHandler);\r\n }, []);\r\n\r\n // @ts-ignore\r\n ingredientsArray.map(row => {\r\n ingredientsString += row.TextValue || '';\r\n });\r\n\r\n const accordionOnClick = (accordion: string): void => {\r\n const accStates = accordionsState.split(',');\r\n if (accStates.includes(accordion)) {\r\n setAccordionsState('');\r\n } else {\r\n setAccordionsState(accordion);\r\n }\r\n };\r\n\r\n const isAccordionExpanded = (accordion: string): boolean => {\r\n const accStates = accordionsState.split(',');\r\n return accStates.includes(accordion);\r\n };\r\n\r\n const normalizeData = (data: NutritionalData[]): NutritionalData[] => {\r\n const resultData: NutritionalData[] = [];\r\n data.map((row: NutritionalData) => {\r\n if (row.qty1Value) {\r\n let category: NutritionalData | undefined;\r\n const subcategory: NutritionalSubcategoryData[] = [];\r\n if (row.subcategory) {\r\n row.subcategory.map((subRow: NutritionalSubcategoryData) => {\r\n if (subRow.qty1Value) {\r\n subcategory.push(subRow);\r\n }\r\n });\r\n }\r\n category = {\r\n ...row\r\n };\r\n if (subcategory.length) {\r\n category.subcategory = subcategory;\r\n } else if (category.subcategory) {\r\n // @ts-ignore\r\n delete category.subcategory;\r\n }\r\n resultData.push(category);\r\n }\r\n });\r\n return resultData;\r\n };\r\n\r\n const _renderNutritionalValues = (jData: any): JSX.Element | undefined => {\r\n const normalizedData = normalizeData(jData);\r\n if (normalizedData.length < 2) {\r\n return undefined;\r\n }\r\n return (\r\n
\r\n {normalizedData.map((row: NutritionalData) => (\r\n <>\r\n
\r\n {/* @ts-ignore */}\r\n
{labels[row.label] ?? ''}
\r\n
\r\n {/* @ts-ignore */}\r\n
{labels[row.qty1Label] ?? ''}
\r\n
{row.qty1Value ?? ''}
\r\n
{row.qty1Unit ?? ''}
\r\n
\r\n {row.qty2Value && (\r\n
\r\n
\r\n
\r\n
\r\n
{row.qty2Value ?? ''}
\r\n
{row.qty2Unit ?? ''}
\r\n
\r\n )}\r\n {row.subcategory &&\r\n row.subcategory.map((subRow: NutritionalSubcategoryData) => (\r\n
\r\n {/* @ts-ignore */}\r\n
{labels[subRow.label] ?? ''}
\r\n
\r\n
{subRow.qty1Value ?? ''}
\r\n
{subRow.qty1Unit ?? ''}
\r\n
\r\n ))}\r\n \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const _renderProductLabels = (productLabels: ProductLabel[]): JSX.Element => {\r\n return (\r\n
\r\n {productLabels\r\n .filter(label => label.imgLink !== '')\r\n .map((row: ProductLabel) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const _renderReassurance = (reassuranceItems: ReassuranceShowType[]): JSX.Element => {\r\n return (\r\n
\r\n {reassuranceItems.map((row: ReassuranceShowType, index: number) => {\r\n const isLast = index === reassuranceItems.length - 1;\r\n const imgSettings = row?.image?.imageSettings ?? undefined;\r\n return imgSettings ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {row.title}\r\n {row.description}\r\n
\r\n
\r\n ) : (\r\n undefined\r\n );\r\n })}\r\n
\r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n if (!fetchingLabels) {\r\n setFetchingLabels(true);\r\n _getProductLabels(productSku, productPrimaryImageUrl).then((response: string[]) => {\r\n const newProductLabels = [...productLabels];\r\n productLabels.forEach((_, index: number) => {\r\n newProductLabels[index].imgLink = response[index];\r\n });\r\n setProductLabels(newProductLabels);\r\n });\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n const productShortDescription = props?.data?.productSpecificationData?.result?.filter(\r\n (productDesc: { Name: string }) => productDesc.Name === 'Short product description'\r\n )[0]?.TextValue;\r\n\r\n // @ts-ignore\r\n const expirationDate = props?.data?.productSpecificationData?.result?.filter(\r\n (productDesc: { Name: string }) => productDesc.Name === 'Expiration date'\r\n )[0]?.BooleanValue;\r\n\r\n // @ts-ignore\r\n const piecesPerPackage = props?.data?.productSpecificationData?.result?.filter(\r\n (productDesc: { Name: string }) => productDesc.Name === 'Pieces per package'\r\n )[0]?.IntegerValue;\r\n\r\n return (\r\n \r\n
\r\n {props.mediaGallery}\r\n
\r\n
\r\n \r\n {title}\r\n {_renderPrice(props, resources)}\r\n {availibilityCode &&
{inventoryLabel}
}\r\n {configure && _renderConfigure(configure)}\r\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n \r\n
\r\n {quantity &&\r\n _renderQuantity(\r\n quantity,\r\n callbacks,\r\n props,\r\n state,\r\n resources,\r\n quantityLimitsMessages,\r\n max,\r\n telemetryContent\r\n )}\r\n {_renderCartAndActions(addToCart, addToOrderTemplate, props.resources)}\r\n
\r\n {_renderWishlist(addToWishlist)}\r\n
{_renderAddToCartErrorBlock(addToCart)}
\r\n {/* NOTE Commented the \"Add to MyVenchiMix\" button on PDP to facilitate A-B tests on the page\r\n NOTE ref. https://dev.azure.com/venchi/Venchi.DigitalProducts/_workitems/edit/9624\r\n NOTE uncomment whenever requested */}\r\n {/* {_renderCartAndActionsPM(addToCart, addToWishlist, props.resources)} */}\r\n
\r\n {productShortDescription && (\r\n
\r\n {productShortDescription}\r\n {expirationDate && (\r\n
\r\n {resources.expirationDate.split(':')[0]}:{' '}\r\n {resources.expirationDate.split(':')[1]}\r\n
\r\n )}\r\n {piecesPerPackage !== undefined && piecesPerPackage !== null && piecesPerPackage > 0 && (\r\n
\r\n {format(resources.itemsPerPack, piecesPerPackage).split(':')[0]}:{' '}\r\n \r\n {format(resources.itemsPerPack, piecesPerPackage).split(':')[1]}\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n {maxBadges ? (\r\n
\r\n {badgesItemsState\r\n ?.filter((badge: BadgeShowType) => badgesToShowState.includes(badge.key))\r\n ?.map((badge: BadgeShowType, index: number) => {\r\n if (index <= maxBadges - 1) {\r\n return _renderBadge(badge, props);\r\n }\r\n return '';\r\n })}\r\n
\r\n ) : null}\r\n
\r\n {props.data.product.result?.RecordId}\r\n {props.data.product.result?.ItemId}\r\n
\r\n {_renderTextBlock(props.slots.textBlocks)}\r\n
\r\n \r\n {pSpecifications.length ? (\r\n \r\n {pSpecifications.map(row => {\r\n const title = row.name;\r\n const titleId = title.replace(/\\s+/g, '');\r\n // @ts-ignore\r\n let titleLabel = labels[`product_specification_title_${title.replace(/\\s+/g, '_').toLowerCase()}`] ?? title;\r\n const ingredientsFinalString = ingredientsString;\r\n\r\n let accordionContent;\r\n if (title === 'Ingredients' && ingredientsFinalString) {\r\n accordionContent = ingredientsFinalString;\r\n } else if (title === 'Nutritional Values JSON') {\r\n try {\r\n // @ts-ignore\r\n const jData = JSON.parse(row.data.TextValue);\r\n accordionContent = _renderNutritionalValues(\r\n jData.nutritionalValueJSONType ? jData.nutritionalValueJSONType : jData\r\n );\r\n } catch (e) {\r\n return;\r\n }\r\n } else if (title === 'Reassurance' && reassuranceItems.length > 0) {\r\n accordionContent = _renderReassurance(reassuranceItems);\r\n } else if (title === 'Labels' && productLabels.filter(label => label.imgLink !== '').length > 0) {\r\n titleLabel = labels['product_specification_title_product_labels'] ?? titleLabel;\r\n accordionContent = _renderProductLabels(productLabels);\r\n // @ts-ignore;\r\n } else if (row.data && row.data.TextValue) {\r\n // @ts-ignore;\r\n accordionContent = row.data.TextValue;\r\n }\r\n\r\n if (!accordionContent) {\r\n return;\r\n }\r\n\r\n return (\r\n // tslint:disable-next-line:jsx-key\r\n
\r\n
\r\n accordionOnClick(titleId)}\r\n aria-expanded={isAccordionExpanded(titleId)}\r\n >\r\n

{titleLabel}

\r\n
\r\n \r\n
\r\n \r\n {accordionContent}\r\n
\r\n \r\n );\r\n })}\r\n {_renderSocialShare(props.slots && props.slots?.socialShare)}\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\n// tslint:disable-next-line:no-any\r\nconst _renderAddToBackInStore = (\r\n customerId?: string,\r\n channelId?: number,\r\n itemid?: string,\r\n dimensions?: ProductDimension[],\r\n actionContext?: any,\r\n resources?: IBuyboxResources & IBuyboxExtensionResources,\r\n emailAddress?: string,\r\n locale?: string\r\n): JSX.Element => {\r\n const cust = customerId ? customerId : '';\r\n const item = itemid ? itemid : '';\r\n const channel = channelId ? channelId : 0;\r\n const dims = dimensions ? dimensions : [];\r\n let color: string = '';\r\n let config: string = '';\r\n let size: string = '';\r\n let style: string = '';\r\n // prettier-ignore\r\n // @ts-ignore\r\n let message = resources.backInStockMessage ? resources.backInStockMessage : 'You will receive an email when the product is back in stock';\r\n let toHide = false;\r\n\r\n dims.forEach(dim => {\r\n if (dim.DimensionTypeValue === 1) {\r\n color = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 2) {\r\n config = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 3) {\r\n size = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 4) {\r\n style = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n }\r\n });\r\n\r\n toHide = cust !== '' ? false : true;\r\n const [stockMessage, setStockMessage] = React.useState(false);\r\n\r\n const _AddToBackInStore = async () => {\r\n insertBackInStock_CAPAsync_v2(\r\n { callerContext: actionContext },\r\n channel,\r\n cust,\r\n item,\r\n color,\r\n config,\r\n size,\r\n style,\r\n 1,\r\n emailAddress || '',\r\n locale || ''\r\n ).then(result => {\r\n message = result[0].Error ? result[0].Error : message;\r\n });\r\n setStockMessage(true);\r\n };\r\n const inactiveAccount = cust.includes('-');\r\n\r\n return (\r\n <>\r\n {toHide === false && (\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderTextBlock = (textBlocks: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!textBlocks || textBlocks.length === 0) {\r\n return undefined;\r\n }\r\n\r\n return <>{textBlocks[0]};\r\n};\r\n\r\nconst _renderPrice = (props: IBuyboxViewProps, resources: IBuyboxResources & IBuyboxExtensionResources): JSX.Element | undefined => {\r\n const custom_price = props.context.cultureFormatter.formatCurrency(props.data.productPrice.result?.AdjustedPrice?.toFixed(2) ?? '');\r\n const custom_discount_percentage = getCustomDiscountPercentage(props.data.productPrice.result?.DiscountLines);\r\n const custom_discounted_price = props.context.cultureFormatter.formatCurrency(\r\n props.data.productPrice.result?.CustomerContextualPrice?.toFixed(2) ?? ''\r\n );\r\n\r\n if (custom_discount_percentage) {\r\n // @ts-ignore\r\n const attributes = props.data.productSpecificationData.result;\r\n\r\n let omnibus_price = null;\r\n if (attributes) {\r\n // @ts-ignore\r\n omnibus_price = attributes.filter(attribute => attribute.Name.includes('Minimum Price Last 30 Days'))[0];\r\n }\r\n\r\n let omnibus_price_currency = '';\r\n if (omnibus_price && omnibus_price.CurrencyValue && omnibus_price.CurrencyCode) {\r\n omnibus_price_currency = props.context.cultureFormatter.formatCurrency(omnibus_price.CurrencyValue, omnibus_price.CurrencyCode);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {custom_price}\r\n {custom_discount_percentage}\r\n {custom_discounted_price}\r\n {omnibus_price_currency && (\r\n
\r\n \r\n {resources.omnibus_recent_price_label} \r\n {omnibus_price_currency}\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n }\r\n return (\r\n \r\n {custom_price}\r\n \r\n );\r\n};\r\n\r\n// NOTE Commented the \"Add to MyVenchiMix\" button on PDP to facilitate A-B tests on the page\r\n// NOTE ref. https://dev.azure.com/venchi/Venchi.DigitalProducts/_workitems/edit/9624\r\n// NOTE uncomment whenever requested\r\n// function _addToPickAndMix(\r\n// catUrl: string,\r\n// pmProductsList: any,\r\n// RecordId: number,\r\n// Name: string | undefined,\r\n// PrimaryImageUrl: string | undefined,\r\n// pQuantity: number,\r\n// Price: number,\r\n// ItemId: number\r\n// ): void {\r\n// pmProductsList[RecordId] = {\r\n// Id: RecordId,\r\n// Item: Name,\r\n// Qty: pQuantity,\r\n// UOM: '',\r\n// Price: Price,\r\n// Description: ItemId.toString(),\r\n// DataAreaId: '',\r\n// PrimaryImageUrl: PrimaryImageUrl\r\n// };\r\n// typeof window !== 'undefined' ? localStorage.setItem('pm_products', JSON.stringify(pmProductsList)) : undefined;\r\n// window.location.assign(catUrl);\r\n// }\r\n\r\nconst _renderCartAndActions = (\r\n addToCart?: IBuyboxAddToCartViewProps,\r\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps,\r\n resources?: IBuyboxResources & IBuyboxExtensionResources\r\n): JSX.Element | undefined => {\r\n if (!addToCart) {\r\n return undefined;\r\n }\r\n // @ts-ignore\r\n const props = addToCart?.button?.props;\r\n\r\n const siteLanguageConfig = getSiteLanguageConfigFromContext(props.context);\r\n const locale = determineSiteLanguageForAbandonedCart(siteLanguageConfig);\r\n\r\n return (\r\n
\r\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\r\n
\r\n
\r\n {_renderAddToBackInStore(\r\n props.context.request.user.customerAccountNumber,\r\n props.context.request.apiSettings.channelId,\r\n props.data?.product?.ItemId,\r\n props.data?.product?.Dimensions,\r\n props.context?.actionContext,\r\n resources,\r\n props.context.request.user.emailAddress,\r\n locale\r\n )}\r\n {addToCart && addToCart.button}\r\n {addToOrderTemplate && addToOrderTemplate.button}\r\n
\r\n
\r\n {props.context.request.user.customerAccountNumber !== null && !props.context.request.user.customerAccountNumber.includes('-') && (\r\n
\r\n {\r\n // @ts-ignore\r\n resources.backInStockAgreement\r\n }\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst _renderWishlist = (addToWishlist?: IBuyboxAddToWishlistViewProps): JSX.Element | undefined => {\r\n if (!addToWishlist) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n
\r\n {addToWishlist && addToWishlist.errorBlock}\r\n {addToWishlist && {addToWishlist && addToWishlist.button}}\r\n
\r\n );\r\n};\r\n\r\nconst _renderAddToCartErrorBlock = (addToCart?: IBuyboxAddToCartViewProps): JSX.Element | undefined => {\r\n if (!addToCart) {\r\n return undefined;\r\n }\r\n\r\n return <>{addToCart && addToCart.errorBlock};\r\n};\r\n\r\n// NOTE Commented the \"Add to MyVenchiMix\" button on PDP to facilitate A-B tests on the page\r\n// NOTE ref. https://dev.azure.com/venchi/Venchi.DigitalProducts/_workitems/edit/9624\r\n// NOTE uncomment whenever requested\r\n// const _renderCartAndActionsPM = (\r\n// addToCart?: IBuyboxAddToCartViewProps,\r\n// addToWishlist?: IBuyboxAddToWishlistViewProps,\r\n// resources?: IBuyboxResources & IBuyboxExtensionResources\r\n// ): JSX.Element | undefined => {\r\n// if (!addToCart && !addToWishlist) {\r\n// return undefined;\r\n// }\r\n// // @ts-ignore\r\n// const props = addToCart?.button?.props;\r\n// const productId = props?.data?.product?.RecordId;\r\n// const channelId = props?.context?.request?.channel?.RecordId;\r\n// const categoryPathLookups = [{ ProductId: productId }];\r\n// const [catUrl, setCatUrl] = React.useState('');\r\n// const [isPm, setIsPm] = React.useState(false);\r\n// const _productCategory = async () => {\r\n// const categoryPathResults = await getCategoryPathsAsync(props?.context?.actionContext, channelId, 0, categoryPathLookups);\r\n// categoryPathResults &&\r\n// categoryPathResults[0] &&\r\n// categoryPathResults[0]?.CategoryPath?.map((catPath, i) => {\r\n// const categoryUrl = getCategoriesUrlSync(catPath, props?.context?.actionContext);\r\n// if (categoryUrl && categoryUrl[1] && categoryUrl[1].Name === 'Pick&Mix') {\r\n// setIsPm(true);\r\n// setCatUrl(categoryUrl[1].Url ? categoryUrl[1].Url : '');\r\n// }\r\n// });\r\n// return;\r\n// };\r\n// React.useEffect(() => {\r\n// void _productCategory();\r\n// }, []);\r\n// // tslint:disable-next-line:no-shadowed-variable\r\n// const _addToPM = (\r\n// catUrl: string,\r\n// RecordId: number,\r\n// Name: string,\r\n// PrimaryImageUrl: string,\r\n// AdjustedPrice: number,\r\n// Qty: number,\r\n// ItemId: number\r\n// ) => {\r\n// const localPm = localStorage && localStorage.getItem('pm_products');\r\n// const localPmProds = localPm && localPm !== null ? localPm : JSON.stringify({});\r\n// const pmProductsList = JSON.parse(localPmProds);\r\n// const _addToPm = () => {\r\n// _addToPickAndMix(catUrl, pmProductsList, RecordId, Name, PrimaryImageUrl, AdjustedPrice, Qty, ItemId);\r\n// };\r\n// return (\r\n// <>\r\n// \r\n// \r\n// );\r\n// };\r\n// /* @ts-ignore */\r\n// const product_qty: product_qty = addToCart?.button?.props?.quantity;\r\n// return (\r\n//
\r\n// {isPm ? (\r\n//
\r\n// {_addToPM(\r\n// catUrl,\r\n// props.data?.product?.RecordId,\r\n// props.data?.product?.Name,\r\n// props.data?.product?.PrimaryImageUrl,\r\n// product_qty,\r\n// props.data?.product?.AdjustedPrice,\r\n// props.data?.product?.ItemId\r\n// )}\r\n//
\r\n// ) : (\r\n// ''\r\n// )}\r\n//
\r\n// );\r\n// };\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return {dropdowns.map(_renderConfigureDropdown)};\r\n};\r\n\r\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n};\r\n\r\nconst _renderQuantity = (\r\n quantityComponent: IBuyboxProductQuantityViewProps,\r\n callbacks: IBuyboxCallbacks,\r\n props: IBuyboxProps,\r\n state: IBuyboxState,\r\n extentionResources: IBuyboxResources & IBuyboxExtensionResources,\r\n quantityLimitsMessages: React.ReactNode,\r\n max: number | undefined,\r\n telemetryContent?: ITelemetryContent\r\n): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\r\n\r\n const { resources } = props;\r\n\r\n const { quantity } = state;\r\n\r\n if (state.isCustomPriceSelected) {\r\n props.data;\r\n }\r\n const onChange = (newValue: number): boolean => {\r\n if (callbacks.updateQuantity) {\r\n return callbacks.updateQuantity(newValue);\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n\r\n \r\n {quantityLimitsMessages}\r\n \r\n );\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n {heading}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderBadge = (badge: BadgeShowType, props: IBuyboxViewProps) => {\r\n const imgSettings = badge?.image?.imageSettings ?? undefined;\r\n if (!imgSettings) {\r\n return undefined;\r\n }\r\n return (\r\n
\r\n \r\n {badge.label}\r\n
\r\n );\r\n};\r\n\r\nconst _getProductLabels = async (productId?: string, baseImagePath?: string): Promise => {\r\n if (productId && baseImagePath) {\r\n const results: string[] = [];\r\n const imgBaseUrlArray = decodeURIComponent(baseImagePath).split('/');\r\n imgBaseUrlArray.pop();\r\n\r\n const imgUrls = [\r\n [...imgBaseUrlArray, `${productId}_000_006.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_007.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_008.jpg`].join('/')\r\n ];\r\n for (let i = 0; i < 3; i = i + 1) {\r\n try {\r\n const response = await axios.get(imgUrls[i]);\r\n results.push(response?.status === 200 ? imgUrls[i] : '');\r\n } catch (e) {\r\n results.push('');\r\n }\r\n }\r\n return results;\r\n }\r\n return ['', '', ''];\r\n};\r\n\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) {\r\n return undefined;\r\n }\r\n return <>{socialShare[0]};\r\n};\r\n\r\nexport default BuyboxView;\r\n","import { DiscountLine } from \"@msdyn365-commerce/retail-proxy\";\r\n\r\nconst getNormalizedDiscountPercentage = (percentage ?: number) : number => {\r\n if(!percentage) return 0;\r\n return percentage / 100;\r\n}\r\n\r\nexport const getCustomDiscountPercentage = (discountLines ?: DiscountLine[]) : string | undefined => {\r\n if(!discountLines || discountLines.length < 1) return;\r\n const normalizedDiscountedPrice = discountLines.reduce(\r\n (accumulator, discountLine) => accumulator * (1 - getNormalizedDiscountPercentage(discountLine.Percentage)), 1);\r\n return `-${100 - (Math.round(normalizedDiscountedPrice * 100))}%`;\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 { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\r\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n INodeProps,\r\n ITelemetryContent,\r\n Node,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport * as React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { ICartResources as ICartResourcesExt } from '../definition-extensions/cart.ext.props.autogenerated';\r\nimport { getPromotionOptionsForCartLineItems, PromotionOptionsForCartLineItems } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { CartLine, CartPromotionLine, CommerceProperty, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { find } from 'lodash';\r\n\r\nimport { trackViewCart, trackBeginCheckout, trackRemoveFromCart, trackAddToWishlistFromCart } from '../utilities/datalayer/index';\r\nimport { CheckoutType, LoginFromType, SessionStorageKey } from '../utilities/datalayer/types';\r\nimport { IWishlistActionSuccessResult } from '@msdyn365-commerce/components';\r\n\r\ninterface IPromotionData {\r\n promotionOptions?: CartPromotionLine[];\r\n}\r\n\r\ninterface ICartViewPropsExt extends ICartViewProps {\r\n resources: ICartResourcesExt;\r\n}\r\n\r\ninterface AvailablePromotionsProps {\r\n props: ICartViewPropsExt;\r\n}\r\n\r\nconst CartView: React.FC = (props: ICartViewPropsExt) => {\r\n const beginClassicCheckout = () => {\r\n trackBeginCheckout(\r\n props.context,\r\n props.cart?.cart,\r\n props.data.products.result || ([] as SimpleProduct[]),\r\n CheckoutType.CLASSIC_CHECKOUT\r\n );\r\n\r\n if (!props.context.request.user.isAuthenticated) {\r\n sessionStorage.setItem(SessionStorageKey.LOGIN_FROM, LoginFromType.CHECKOUT);\r\n }\r\n };\r\n\r\n const beginGuestCheckout = () => {\r\n trackBeginCheckout(\r\n props.context,\r\n props.cart?.cart,\r\n props.data.products.result || ([] as SimpleProduct[]),\r\n CheckoutType.GUEST_CHECKOUT\r\n );\r\n };\r\n\r\n const trackRemoveFromCartEventHandler = (cartLine: CartLine | undefined) => {\r\n trackRemoveFromCart(props.context, props.cart?.cart, props.data.products.result || ([] as SimpleProduct[]), cartLine);\r\n };\r\n\r\n const trackAddToWishlistEventHandler = (cartLine: CartLine | undefined) => {\r\n trackAddToWishlistFromCart(props.context, props.cart?.cart, props.data.products.result || ([] as SimpleProduct[]), cartLine);\r\n };\r\n\r\n React.useEffect(() => {\r\n trackViewCart(props.context, props.cart?.cart, props.data.products.result || ([] as SimpleProduct[]));\r\n\r\n document.querySelector('.msc-cart__btn-checkout')?.addEventListener('click', beginClassicCheckout);\r\n document.querySelector('.msc-cart__btn-guestcheckout')?.addEventListener('click', beginGuestCheckout);\r\n }, []);\r\n\r\n const locale = props.context.request.locale;\r\n return (\r\n
\r\n {props.title}\r\n
\r\n {props.multiplePickUpEnabled ? (\r\n _renderCartLinesGroup(props, trackRemoveFromCartEventHandler, trackAddToWishlistEventHandler)\r\n ) : (\r\n \r\n \r\n {_renderAddGreetingMessage(props)}\r\n {_renderCartlines(\r\n props.cartlines,\r\n props.resources,\r\n props.storeSelector,\r\n props.backToShoppingButton,\r\n props.waitingComponent,\r\n props.cartLoadingStatus,\r\n props.cartDataResult,\r\n trackRemoveFromCartEventHandler,\r\n trackAddToWishlistEventHandler,\r\n props.telemetryContent,\r\n props.multiplePickUpEnabled,\r\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\r\n )}\r\n \r\n )}\r\n
\r\n {props.orderSummaryHeading && (\r\n \r\n {props.orderSummaryHeading}\r\n {_renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props, locale)}\r\n {_renderErrorBlock(props.OrderSummaryErrors)}\r\n {props.checkoutAsSignInUserButton}\r\n {props.checkoutAsGuestButton}\r\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\r\n {props.expressCheckoutButton}\r\n ) : null}\r\n {props.backToShoppingButton}\r\n {props.createTemplateFromCartButton}\r\n \r\n )}\r\n {props.storeSelector}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst AvailablePromotions: React.FC = ({ props }) => {\r\n const [promotionsArray, setPromotionsArray] = React.useState([]);\r\n React.useEffect(() => {\r\n retrievePromotions(props, setPromotionsArray);\r\n }, []);\r\n\r\n if (props && props.promotionOptions && promotionsArray.length >= 1) {\r\n return (\r\n \r\n \r\n \r\n {props.resources.promotionStringHeading}\r\n
    \r\n {promotionsArray.map(function(text: string, index: number) {\r\n return
  • {text}
  • ;\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n\r\nconst retrievePromotions = async (cartProps: ICartViewProps, setPromotions: any) => {\r\n var tmpArray: string[] = [];\r\n const currentPromotions = await getPromotionData(cartProps.context?.actionContext);\r\n currentPromotions.promotionOptions?.forEach(element => {\r\n if (element.Promotion) {\r\n let offerDesc = '';\r\n try {\r\n const offerDescriptions = JSON.parse(element.Promotion.Description || '{}');\r\n const currentLanguage = cartProps.context.request.locale; // Function to get the current language\r\n offerDesc = offerDescriptions[currentLanguage.toLowerCase()] || offerDescriptions['it'] || '';\r\n } catch (e) {\r\n // If JSON parsing fails, use the OfferDescription as is, split on the colon\r\n if (element.Promotion.Description) {\r\n offerDesc = element.Promotion.Description;\r\n }\r\n }\r\n offerDesc = offerDesc || element.Promotion.OfferName || '';\r\n if (offerDesc) {\r\n tmpArray.push(offerDesc);\r\n }\r\n }\r\n });\r\n setPromotions(tmpArray);\r\n};\r\n\r\nasync function getPromotionData(ctx: IActionContext): Promise {\r\n const promotionData: IPromotionData = {};\r\n await getPromotionOptionsForCartLineItems(new PromotionOptionsForCartLineItems(ctx.requestContext.apiSettings), ctx)\r\n .then(promotionOptions => {\r\n if (promotionOptions) {\r\n promotionData.promotionOptions = promotionOptions;\r\n }\r\n })\r\n .catch(error => {\r\n ctx.telemetry.exception(error);\r\n return {};\r\n });\r\n return promotionData;\r\n}\r\n\r\nconst _renderAddGreetingMessage = (props: ICartViewPropsExt) => {\r\n type Inputs = {\r\n message: string;\r\n sign: string;\r\n };\r\n\r\n const { register, handleSubmit, reset, setValue } = useForm();\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extPropsToRemove = props?.cart?.cart?.ExtensionProperties?.filter((fieldVal: { Key: string }) => fieldVal.Key === 'ExtPropsRemove_CAP')[0]?.Value?.BooleanValue;\r\n const noCartLines = !props?.cart?.cart?.CartLines || props?.cart?.cart?.CartLines.length === 0;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingMessageCAP = (noCartLines || extPropsToRemove) ? '' : props?.cart?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingMessage_CAP')[0]?.Value?.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingSignCAP = (noCartLines || extPropsToRemove) ? '' : props?.cart?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingSign_CAP')[0]?.Value?.StringValue;\r\n\r\n // @ts-ignore\r\n const setRemoveData = async (cartprops: ICartViewProps) => {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const currentCartState = await getCartState(cartprops.context?.actionContext);\r\n // const currentCartState = props?.cart;\r\n const extProps = currentCartState?.cart?.ExtensionProperties;\r\n const extPropsToEmpty = [];\r\n // const cartLines = currentCartState?.cart?.CartLines;\r\n // if (extPropsToRemove === true || !cartLines || (cartLines && cartLines.length === 0)) {\r\n if (extPropsToRemove === true) {\r\n const extKeysToRemove = [\r\n 'ActiveCartId_CAP',\r\n 'CheckoutCartId_CAP',\r\n 'GreetingMessage_CAP',\r\n 'GreetingSign_CAP',\r\n 'billing',\r\n 'Type_CAP',\r\n 'Country_CAP',\r\n 'City_CAP',\r\n 'ZipCode_CAP',\r\n 'OrgName_CAP',\r\n 'VatNum_CAP',\r\n 'FiscalCode_CAP',\r\n 'PEC_CAP',\r\n 'SDI_CAP',\r\n 'InvoiceCustAccount_CAP',\r\n 'Street_CAP',\r\n 'StreetNumber_CAP',\r\n 'FirstName_CAP',\r\n 'LastName_CAP'\r\n ];\r\n\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, (obj: { Key: string }): boolean => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n if (extPropsToRemove === true) {\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n }\r\n if (currentCartState && extPropsToEmpty.length !== 0) {\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n }\r\n // else {\r\n // console.log(\"no extension property to clean found\");\r\n // }\r\n } else {\r\n setValue('message', greetingMessageCAP, { shouldDirty: true });\r\n setValue('sign', greetingSignCAP, { shouldDirty: true });\r\n }\r\n };\r\n React.useEffect(() => {\r\n void setRemoveData(props);\r\n }, []);\r\n const [greetingsState, setGreetingsState] = React.useState({\r\n isCompiled: (greetingMessageCAP && greetingMessageCAP !== '') || (greetingSignCAP && greetingSignCAP !== '') ? true : false,\r\n isEditing: false\r\n });\r\n const [greeting, setGreeting] = React.useState({\r\n message: greetingMessageCAP && greetingMessageCAP !== '' ? greetingMessageCAP : '',\r\n sign: greetingSignCAP && greetingSignCAP !== '' ? greetingSignCAP : ''\r\n });\r\n\r\n const greetingsTrigger = () => {\r\n setGreetingsState(greetingsState => ({\r\n ...greetingsState,\r\n isEditing: !greetingsState.isEditing\r\n }));\r\n };\r\n\r\n const updateExtProps = async (data: Inputs, cartProps: ICartViewProps) => {\r\n const addGreeting = [\r\n {\r\n Key: 'GreetingMessage_CAP',\r\n Value: {\r\n StringValue: data.message\r\n }\r\n },\r\n {\r\n Key: 'GreetingSign_CAP',\r\n Value: {\r\n StringValue: data.sign\r\n }\r\n }\r\n ];\r\n\r\n const currentCartState = await getCartState(cartProps.context?.actionContext);\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: addGreeting });\r\n await currentCartState.refreshCart({});\r\n };\r\n\r\n const _addMessCart = async (data: Inputs) => {\r\n setGreeting(() => ({\r\n message: data.message,\r\n sign: data.sign\r\n }));\r\n if (data.message !== '' || data.sign !== '') {\r\n setGreetingsState(() => ({\r\n isCompiled: true,\r\n isEditing: false\r\n }));\r\n } else {\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: false\r\n }));\r\n }\r\n\r\n await updateExtProps(data, props);\r\n };\r\n\r\n const resetGreeting = () => {\r\n reset({ message: greeting.message, sign: greeting.sign });\r\n setGreetingsState(() => ({\r\n isCompiled: true,\r\n isEditing: false\r\n }));\r\n };\r\n const changeGreeting = () => {\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: true\r\n }));\r\n };\r\n const removeGreeting = async () => {\r\n reset({ message: '', sign: '' });\r\n setGreeting({ message: '', sign: '' });\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: false\r\n }));\r\n await updateExtProps({ message: '', sign: '' }, props);\r\n };\r\n return (\r\n \r\n

\r\n \r\n {props.resources.addGreetingText}\r\n

\r\n
\r\n
\r\n
\r\n \r\n