{"version":3,"file":"static/js/18.ed5dea5f49e43bd4ee29.chunk.js","mappings":"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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,MACJC,G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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, CSSProperties } from 'react';\r\n\r\nimport countryCodeOptions from './countryCodes.json';\r\n\r\ninterface PhoneInputComponentProps {\r\n channelCountryRegionISOCode: string;\r\n isCountryCodeHidden: boolean;\r\n phoneInputId: 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 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('');\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 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 reenterPasswordRegex: 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 case 'reenterpassword': {\r\n this.reenterPasswordRegex = 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(\r\n 'reenterPassword',\r\n 'password',\r\n resources.confirmPasswordLabelText,\r\n undefined,\r\n this.reenterPasswordRegex,\r\n true\r\n ),\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 '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}\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 { INewsletterBlockViewProps } from './newsletter-block';\r\nimport { customExternalAPI as customeExternalAPIType } from './newsletter-block.props.autogenerated';\r\nimport {\r\n getSiteLanguageConfigFromContext,\r\n determineSiteLanguageForAbandonedCart\r\n} from '../../themes/venchi/utils/determineSiteLanguageForAbandonedCart';\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 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
\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