const dci = { mobileNumberFormat: { patterns: [ { pattern: /^(\()(\d{3})(\))(\-)(\d{3})(\-)(\d{4})$/, format: "($2) $5 $7" }, { pattern: /^(\+1)(\d{3})(\-)(\d{3})(\-)(\d{4})$/, format: "($1) $2 $4 $6" }, { pattern: /^(1)(\d{3})(\-)(\d{3})(\-)(\d{4})$/, format: "(+$1) $2 $4 $6" }, { pattern: /^(1)(\d{3})(\-)(\d{3})(\-)(\d{4})$/, format: "+$1 ($2) $4-$6" }, { pattern: /^(\d{3})(\-)(\d{3})(\-)(\d{4})$/, format: "$1 $3 $5" }, { pattern: /^(\()(\d{3})(\))(\d{3})(\d{4})$/, format: "($2) $4 $5" }, { pattern: /^(\+1)(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4" }, { pattern: /^(\+1)(\d{3})(\d{3})(\d{4})$/, format: "$1 ($2) $3 $4" }, { pattern: /^(1)(\d{3})(\d{3})(\d{4})$/, format: "+$1 $2 $3 $4" }, { pattern: /^(1)(\d{3})(\d{3})(\d{4})$/, format: "+$1 ($2) $3 $4" }, { pattern: /^(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3" } ], pattern: /^(\d{3})(\d{3})(\d{4})$/, format: "$1-$2-$3", length: 19 }, stateLabel: "State", cityLabel: "City", addressLine2Label: "Address", currency: { USD: "$", }, phoneNumberFormat: { patterns: [ { pattern: /^(\()(\d+)(\))(\-)(\d{3})(\-)(\d{4})$/, format: "($2) $5-$7" }, { pattern: /^(\()(\d+)(\))(\d{3})(\-)(\d{4})$/, format: "($2) $4-$6" }, { pattern: /^(\+1)(\d+)(\-)(\d{3})(\-)(\d{4})$/, format: "$1 $2 $4 $6" }, { pattern: /^(\()(\d+)(\))(\d{3})(\-)(\d{4})$/, format: "($2) $4-$6" }, { pattern: /^(1)(\d+)(\-)(\d{3})(\-)(\d{4})$/, format: "+$1 $2 $4 $6" }, { pattern: /^(\+1)(\d+)(\d{3})(\d{4})$/, format: "$1 $2 $3 $4" }, { pattern: /^(1)(\d+)(\d{3})(\d{4})$/, format: "+$1 $2 $3 $4" }, { pattern: /^(\d{3})(\-)(\d{4})$/, format: "$1-$3" } ], pattern: /^(\d{1})(\d{3})(\d{3})(\d{4})$/, format: "$1-$2-$3-$4", length: 19, }, dateFormat: "m/d/Y", dateFormatMask: "mm/dd/yyyy", }; const cultureInfo = { US: { ...dci, countryName: "United States", }, CA: { ...dci, countryName: "Canada", stateLabel: "Province/Territory", currency: { CAD: "$", }, dateFormat: "y-m-d", }, PH: { ...dci, countryName: "Philippines", mobileNumberFormat: { patterns: [ { pattern: /^(\+63)(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4" }, { pattern: /^(63)(\d{3})(\d{3})(\d{4})$/, format: "+$1 $2 $3 $4" }, { pattern: /^(\d{4})(\d{3})(\d{4})$/, format: "$1 $2 $3" }, { pattern: /^9(\d{2})(\d{3})(\d{4})$/, format: "+63 9$1 $2 $3" } ], pattern: /^(\d{5})(\d{3})(\d{4})$/, format: "$1 $2 $3", length: 16, }, phoneNumberFormat: { patterns: [ { pattern: /^(\+)(63)(\()(\d+)(\))(\d{3})(\d{4})$/, format: "+63 ($4) $6 $7" }, { pattern: /^(\+)(63)(\d+)(\d{3})(\d{4})$/, format: "+$2 $3 $4 $5" }, { pattern: /^(63)(\()(\d+)(\))(\d{3})(\d{4})$/, format: "+63 ($3) $5 $6" }, { pattern: /^(63)(\d+)(\d{3})(\d{4})$/, format: "+$1 $2 $3 $4" }, { pattern: /^(\()(\d+)(\))(\d{3})(\d{4})$/, format: "($2) $4 $5" }, { pattern: /^(\d+)(\d{3})(\d{4})$/, format: "$1 $2 $3" }, { pattern: /^(\d{3})(\d{4})$/, format: "$1 $2" } ], pattern: /^(\d{2})(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4", length: 18, }, stateLabel: "Province", cityLabel: "City/Municipality", addressLine2Label: "Barangay", currency: { PHP: "₱", }, }, GB: { ...dci, countryName: "United Kingdom", mobileNumberFormat: { pattern: /^(\d{5})(\d{6})$/, format: "$1 $2", length: 12, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{5})(\d{6})$/, format: "$1-$2-$3", length: 14, }, stateLabel: "Nation", cityLabel: "City/Town", currency: { GBP: "£", }, dateFormat: "d-m-y", }, AT: { ...dci, countryName: "Austria", mobileNumberFormat: { pattern: /^(\d{4})(\d{6})$/, format: "$1 $2", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{8})$/, format: "$1-$2-$3", length: 14, }, cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d.m.y", }, BE: { ...dci, countryName: "Belgium", mobileNumberFormat: { pattern: /^(\d{4})(\d{2})(\d{2})(\d{2})$/, format: "$1 $2 $3 $4", length: 13, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{6})$/, format: "$1-$2-$3", length: 12, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, BG: { ...dci, countryName: "Bulgaria", mobileNumberFormat: { pattern: /^(\d{3})(\d{4})(\d{3})$/, format: "$1 $2 $3", length: 12, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{2})(\d{3})(\d{3})$/, format: "$1-$2-$3-$4", length: 14, }, stateLabel: "Province", currency: { BGN: "лв", }, dateFormat: "d.m.y", }, HR: { ...dci, countryName: "Croatia", phoneNumberFormat: { pattern: /^(\d{3})(\d{2})(\d{6})$/, format: "$1-$2-$3", length: 13, }, stateLabel: "County", currency: { HRK: "kn", }, dateFormat: "d. m. y. ", }, CY: { ...dci, countryName: "Cyprus", mobileNumberFormat: { pattern: /^(\d{2})(\d{6})$/, format: "$1 $2", length: 9, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{2})(\d{6})$/, format: "$1-$2-$3", length: 13, }, stateLabel: "District", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, CZ: { ...dci, countryName: "Czech Republic", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})(\d{3})$/, format: "$1-$2-$3-$4", length: 15, }, stateLabel: "Region", currency: { CZK: "Kč", }, dateFormat: "d. m. y", }, DK: { ...dci, countryName: "Denmark", mobileNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{2})(\d{2})$/, format: "$1 $2 $3 $4", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/, format: "$1 $2 $3 $4 $5", length: 13, }, stateLabel: "Region", currency: { DKK: "kr", }, dateFormat: "d.m.y", }, EE: { ...dci, countryName: "Estonia", mobileNumberFormat: { pattern: /^(\d{4})(\d{4})$/, format: "$1 $2", length: 9, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{4})(\d{4})$/, format: "$1 $2 $3", length: 13, }, stateLabel: "County", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d.m.y", }, FI: { ...dci, countryName: "Finland", phoneNumberFormat: { pattern: /^(\d{3})(\d{2})(\d{6})$/, format: "$1 $2 $3", length: 13, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d.m.y", }, FR: { ...dci, countryName: "France", mobileNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/, format: "$1 $2 $3 $4 $5", length: 14, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{1})(\d{2})(\d{2})(\d{2})(\d{2})$/, format: "$1 $2 $3 $4 $5 $6", length: 17, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, DE: { ...dci, countryName: "Germany", phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4", length: 16, }, currency: { EUR: "€", }, dateFormat: "d.m.y", }, GR: { ...dci, countryName: "Greece", phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4", length: 15, }, stateLabel: "Region", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d-m-y", }, HU: { ...dci, countryName: "Hungary", mobileNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 10, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 13, }, stateLabel: "County", currency: { HUF: "Ft", }, dateFormat: "y. m. d", }, IE: { ...dci, countryName: "Ireland", phoneNumberFormat: { pattern: /^(\d{3})(\d{1})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4", length: 14, }, stateLabel: "County", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d-m-y", }, IT: { ...dci, countryName: "Italy", mobileNumberFormat: { pattern: /^(\d{2})(\d{4})(\d{4})$/, format: "$1 $2 $3", length: 12, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{4})(\d{4})$/, format: "$1 $2 $3 $4", length: 15, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, LV: { ...dci, countryName: "Latvia", mobileNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{2})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 14, }, stateLabel: "Region", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d.m.y", }, LT: { ...dci, countryName: "Lithuania", mobileNumberFormat: { pattern: /^(\d{3})(\d{5})$/, format: "$1 $2", length: 9, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{5})$/, format: "$1 $2 $3", length: 13, }, stateLabel: "County", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "y-m-d", }, LU: { ...dci, countryName: "Luxembourg", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})$/, format: "$1 $2", length: 9, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, stateLabel: "District", currency: { EUR: "€", }, dateFormat: "d.m.y", }, MT: { ...dci, countryName: "Malta", mobileNumberFormat: { pattern: /^(\d{4})(\d{4})$/, format: "$1 $2", length: 9, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{4})(\d{4})$/, format: "$1 $2 $3", length: 13, }, stateLabel: "Locality", cityLabel: "City/Town", currency: { EUR: "€", }, dateFormat: "d-m-y", }, NL: { ...dci, countryName: "Netherlands", mobileNumberFormat: { pattern: /^(\d{3})(\d{7})$/, format: "$1 $2", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{2})(\d{8})$/, format: "$1 $2 $3", length: 14, }, stateLabel: "Province", currency: { EUR: "€", }, dateFormat: "d-m-y", }, PL: { ...dci, countryName: "Poland", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 14, }, stateLabel: "Voivodeship", currency: { PLN: "zł", }, dateFormat: "d/m/y", }, PT: { ...dci, countryName: "Portugal", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 15, }, stateLabel: "District", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, RO: { ...dci, countryName: "Romania", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 14, }, stateLabel: "County", currency: { RON: "lei", }, dateFormat: "d.m.y", }, SK: { ...dci, countryName: "Slovakia", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 12, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 16, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d. m. y", }, SI: { ...dci, countryName: "Slovenia", mobileNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{4})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{3})(\d{1})(\d{4})(\d{4})$/, format: "$1 $2 $3 $4", length: 16, }, stateLabel: "Region", currency: { EUR: "€", }, dateFormat: "d. m. y", }, ES: { ...dci, countryName: "Spain", mobileNumberFormat: { pattern: /^(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 11, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{3})$/, format: "$1 $2 $3 $4", length: 14, }, stateLabel: "Autonomous Community", currency: { EUR: "€", }, dateFormat: "d/m/Y", }, SE: { ...dci, countryName: "Sweden", phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{4})$/, format: "$1 $2 $3 $4", length: 16, }, stateLabel: "County", currency: { SEK: "kr", }, dateFormat: "y-m-d", }, AU: { ...dci, countryName: "Australia", mobileNumberFormat: { pattern: /^(\d{4})(\d{3})(\d{3})$/, format: "$1 $2 $3", length: 12, }, phoneNumberFormat: { pattern: /^(\d{2})(\d{3})(\d{3})(\d{3})$/, format: "$1-$2-$3", length: 13, }, currency: { AUD: "$", }, dateFormat: "m d, y", }, };