{"version":3,"file":"static/js/21.c9d0f931534aab554ab3.chunk.js","mappings":";6zBAoCA,IAAMA,EAAN,cAA8BC,EAAAA,UAA9BC,kCAiDY,KAAAC,KAAOC,UACXC,KAAKC,MAAMC,YAAYJ,KAAK,CACxBK,OAAQH,KAAKG,SAEbH,KAAKI,kCACLJ,KAAKC,MAAMC,YAAYG,WAIvB,KAAAF,OAAS,KACbH,KAAKC,MAAMC,YAAYI,cA1DjB,kBACN,MAAgF,aAAxEN,KAAKC,MAAMM,KAAKC,SAASC,QAAUT,KAAKC,MAAMM,KAAKC,SAASE,QAE9D,uCACN,MAAM,gBAAEC,EAAe,MAAEC,GAAUZ,KAAKC,MAAMY,QAAQC,QAEtD,SADoBF,GAAsB,MAAbA,EAAMG,KAAeJ,IAAmBC,EAAMI,gBAIxEC,qBAEHC,EAAAA,EAAAA,KACI,IAAMlB,KAAKmB,cACXpB,gBACUC,KAAKF,UAKhBsB,SAAM,IAAAC,EACT,MACIC,QAAQ,UAAEC,GACVrB,aAAa,QAAEsB,IACfxB,KAAKC,MACHwB,EAAwC,GACT,QAArCJ,EAAArB,KAAKC,MAAMM,KAAKmB,eAAejB,cAAM,IAAAY,GAArCA,EAAuCM,SAAQ,CAACC,EAAMC,KAClDJ,EAAiBK,KAAK,CAClBC,IAAKH,EAAKI,gBACVC,MAAOL,EAAKM,eAIpB,MAAMC,EAASC,EAAAA,EAAAA,EAAA,GACRpC,KAAKC,OACLD,KAAKqC,OAAK,IACblC,OAAQH,KAAKG,OACbmC,YAAatC,KAAKC,MAClBN,gBAAiB,CACb2C,YAAatC,KAAKC,MAClBsB,UAAWgB,GAAAA,CAAW,sBAAuBhB,EAAWC,EAAU,OAAS,QAE/EE,eAAgBD,EAChBe,+BAAgCxC,KAAKI,mCAGzC,OAAOJ,KAAKC,MAAMwC,WAAWN,MA7CvBO,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,iCAGCD,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,qDAJPhD,GAAe+C,EAAAA,EAAAA,IAAA,CAFpBE,EAAAA,gBACAC,EAAAA,IACKlD,GA+DN,2JClGO,MAAMmD,EAAmB,CAC5BC,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,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,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/checkout-invoice.tsx?8775","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/common/convert_a2_a3.ts?385f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/common/fiscal-code-utils.ts?49ce","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/checkout-invoice.view.tsx?db30","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-balance-check/loyalty-balance-check.tsx?efe1","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-balance-check/loyalty-balance-check.view.tsx?49d9","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.tsx?5eec","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utils/textWithLineBreaks.tsx?aad0","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.view.tsx?b7f5","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.tsx?8702","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.props.autogenerated.ts?e1dd","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.view.tsx?b94f","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utils/constants.ts?e30c","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/cart.view.tsx?0fd8","webpack://Msdyn365.Commerce.Online/../../src/checkout-state-data-action.ts?8344","webpack://Msdyn365.Commerce.Online/../../src/checkout-state.ts?acd8","webpack://Msdyn365.Commerce.Online/../../src/checkout-utilities.data.ts?b2cc","webpack://Msdyn365.Commerce.Online/../../../src/module-state-manager/module-state.ts?7579","webpack://Msdyn365.Commerce.Online/../../../src/module-state-manager/with-module-state.tsx?61ca"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { 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 countrriesEU = [\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];\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 && countrriesEU.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 && countrriesEU.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 countrriesEU.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.\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 { TEMPORARY_ACCOUNT_NUMBER_LENGTH } from '../../themes/venchi/utils/constants';\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 // 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 // Define constants for hostname and locale\r\n const euHostname = 'eu.venchi.com';\r\n const localeString = props?.context?.request?.locale ? props?.context?.request?.locale?.toLowerCase() : '';\r\n const [unchecked_state, setUncheckedState] = React.useState(localeString !== 'en-us');\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n // const loyalty_URL = `https://${hostname}/${sitePath}/loyalty?hasJoined=true`;\r\n\r\n // Determine the region for CRM based on hostname and site path\r\n let regionCRM: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n regionCRM = 'eu';\r\n } else {\r\n regionCRM = localeString;\r\n }\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 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 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 if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('phone_number') as HTMLInputElement;\r\n this_thing.maxLength = 15;\r\n }\r\n }}\r\n ref={register({ required: false, maxLength: 15 })}\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 {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 \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 becasue 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. 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\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 euHostname = 'eu.venchi.com';\r\n const localeString = props?.context?.request?.locale ? props?.context?.request?.locale?.toLowerCase() : '';\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n // const currency = props?.context?.request?.channel?.Currency;\r\n // const locale = sitePath !== '' ? sitePath : currency === 'EUR' && localeString === 'en-gb' ? 'eu' : localeString;\r\n const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n let regionCRM: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n regionCRM = 'eu';\r\n } else {\r\n regionCRM = localeString;\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","/*---------------------------------------------------------------------------------------------\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 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