{"version":3,"file":"static/js/17.71ded84f5351c7636376.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/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","/*!\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 { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\nconst LoyaltyStoreSignUpView: React.FC = props => {\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 } = props.config;\r\n\r\n // const { loyaltyStoreSignUpSubmitButtonLabel, htmlGenericMarketing, htmlProfiling, htmlThirdParty, feedbackErrorText } = props.resources;\r\n const {\r\n loyaltyStoreSignUpSubmitButtonLabel,\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 } = props.resources;\r\n\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 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 // if (!(errors && Object.keys(errors).length === 0 && Object.getPrototypeOf(errors) === Object.prototype)) {\r\n // console.log('ERROR');\r\n // console.log(errors);\r\n // }\r\n\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 [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n\r\n const query_dict = props.context.request.query as Object;\r\n const queryParameter = Object.keys(query_dict)[0];\r\n const store_code = Object.values(query_dict)[0];\r\n const store_kiosk = Object.keys(query_dict).indexOf('kiosk') > -1 ? true : false;\r\n\r\n const 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 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 const _submit = async (data: any) => {\r\n setDisabled(true);\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\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 // 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 } else if (result.AccountNum?.length === 36) {\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 // 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!.length > 0 && result.LoyaltyCards![0].OmOperatingUnitId !== 0) {\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 // 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 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 ) : (\r\n
\r\n {/*

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

*/}\r\n

{subscribeMessage.message}

\r\n {/* {!store_kiosk && loyaltyVCLUBDetailsLinkText && subscribeMessage.class !== 'error' ? (\r\n {loyaltyVCLUBDetailsLinkText}\r\n ) : null} */}\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 RetailEU = 'RetailEU',\r\n RetailUS = 'RetailUS'\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\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 {\r\n trackAddToCartFromPDP,\r\n trackAddToWishlistFromPDP,\r\n trackViewItemFromPDP,\r\n} from '../utilities/datalayer/index';\r\n\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\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\ninterface NutritionalSubcategoryData {\r\n label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n}\r\ninterface ProductLabel {\r\n label: string;\r\n imgLink: string;\r\n}\r\ninterface ReassuranceShowType {\r\n title: string;\r\n description: string;\r\n image: IImageData;\r\n}\r\n\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 // 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 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 const badgesToShow: string[] = [];\r\n productSpecificationData?.map((row: productSpecificationData) => {\r\n const attributeName = (row.Name ?? '').replace('\\n', '').trim();\r\n if (row !== null && badgesTag?.includes(attributeName) && row.BooleanValue === true) {\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 // @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((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 }\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 // @ts-ignore\r\n productSpecificationResult?.map(row => {\r\n if (row !== null && specificationsList.includes(row.Name) && row.TextValue !== '') {\r\n pSpecifications.push({ name: row.Name, data: row, order: specificationsListOrder[row.Name] });\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 &&\r\n props.data.productPrice.result?.AdjustedPrice\r\n ) {\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 &&\r\n props.data.productPrice.result?.AdjustedPrice\r\n ) {\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 React.useEffect(() => {\r\n const product = props.data.product.result;\r\n\r\n if (props.data.productPrice.result?.CustomerContextualPrice &&\r\n props.data.productPrice.result?.AdjustedPrice\r\n ) {\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
{labels[row.label] ?? ''}
\r\n
\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
{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
\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 {// @ts-ignore\r\n pSpecifications.map(row => {\r\n const title = row.name;\r\n const titleId = title.replace(/\\s+/g, '');\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,\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: 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\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\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: 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