{"version":3,"file":"static/js/16.9a1715aab423710fa10c.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/views/buybox.view.tsx?fc20","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utils/getCustomDiscountPercentage.ts?8d75","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/cart.view.tsx?0fd8","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/checkout.view.tsx?ea45","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/header.view.tsx?2a15","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/components/navigation-menu-utilities.tsx?ca80","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/navigation-menu.view.tsx?2c75","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-confirmation.view.tsx?31ca","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/search.view.tsx?3a76","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\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 === 36) {\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","/*---------------------------------------------------------------------------------------------\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/src/modules/product-specification/./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\nimport { 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 } from '@msdyn365-commerce-modules/utilities';\r\nimport { getCategoriesUrlSync, 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\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}\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 badgesToShow: string[] = [];\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 (row !== null && badgesTag?.includes(attributeName) && row.BooleanValue === true) ||\r\n row.TextValue === CertificationValueEnum.RainforestAlliance\r\n ) {\r\n badgesToShow.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 //TODO OLD IMPLEMENTATION TO MAINTAIN UNTIL NEW ONE BECOMES DEFAULT\r\n const output: string[] = [];\r\n const names = document.getElementsByClassName('ms-breadcrumb_link');\r\n Array.from(names).forEach(item => {\r\n output.push(item.getAttribute('aria-label') ?? '');\r\n });\r\n const categoryGA = output.slice(0, -1).toString();\r\n\r\n const productInfo = {\r\n name: product?.Name,\r\n id: product?.ItemId, //product SKU\r\n price: props.data.productPrice.result?.CustomerContextualPrice,\r\n quantity,\r\n category: categoryGA,\r\n list: ''\r\n };\r\n\r\n window.dataLayer?.push?.({\r\n event: 'addToCart',\r\n ecommerce: {\r\n // @ts-ignore\r\n currencyCode: props.context.cultureFormatter.currencyCode,\r\n add: {\r\n actionField: {\r\n list: '',\r\n action: 'add'\r\n },\r\n products: [productInfo]\r\n }\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\r\n React.useEffect(() => {\r\n console.log({ productSpecificationData });\r\n productSpecificationData?.map((row: productSpecificationData) => {\r\n const attributeName = (row.Name ?? '').replace('\\n', '').trim();\r\n const attributeValue = row.BooleanValue ?? row.TextValue ?? '';\r\n console.log({ attributeName, attributeValue });\r\n });\r\n }, [productSpecificationData]);\r\n\r\n React.useEffect(() => {\r\n console.log({ badgesItems, badgesTag, badgesToShow });\r\n }, [badgesItems, badgesTag, badgesToShow]);\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 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, addToWishlist, props.resources)}\r\n
\r\n {_renderCartAndActionsPM(addToCart, addToWishlist, props.resources)}\r\n
\r\n {productShortDescription &&
{productShortDescription}
}\r\n {maxBadges ? (\r\n
\r\n {badgesItems\r\n ?.filter((badge: BadgeShowType) => badgesToShow.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\nfunction _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 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\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 hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n let locale: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n locale = 'eu';\r\n } else {\r\n locale = sitePath !== '' ? sitePath : localeString;\r\n }\r\n\r\n return (\r\n
\r\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\r\n {addToWishlist && addToWishlist.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 {addToWishlist && {addToWishlist && addToWishlist.button}}\r\n
\r\n {addToCart && addToCart.errorBlock}\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 _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 {\r\n trackViewCart,\r\n trackBeginCheckout,\r\n trackRemoveFromCart,\r\n trackAddToWishlistFromCart,\r\n} from '../utilities/datalayer/index';\r\nimport {\r\n CheckoutType,\r\n LoginFromType,\r\n SessionStorageKey,\r\n} 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(\r\n props.context,\r\n props.cart?.cart,\r\n props.data.products.result || [] as SimpleProduct[],\r\n cartLine\r\n )\r\n }\r\n\r\n const trackAddToWishlistEventHandler = (cartLine: CartLine | undefined) => {\r\n trackAddToWishlistFromCart(\r\n props.context,\r\n props.cart?.cart,\r\n props.data.products.result || [] as SimpleProduct[],\r\n cartLine\r\n )\r\n }\r\n\r\n React.useEffect(() => {\r\n trackViewCart(\r\n props.context,\r\n props.cart?.cart,\r\n props.data.products.result || [] as SimpleProduct[]\r\n );\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(\r\n props,\r\n trackRemoveFromCartEventHandler,\r\n trackAddToWishlistEventHandler\r\n )\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 = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => 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