UNPKG

@sikka/hawa

Version:

Modern UI Kit made with Tailwind

1 lines 108 kB
{"version":3,"sources":["../../elements/phoneInput/PhoneInput.tsx","../../util/index.ts","../../countries.ts","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/select/Select.tsx","../../elements/skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState, FC, useRef, useEffect, ChangeEvent } from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport Countries from \"../../countries\";\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label/Label\";\nimport { Select } from \"../select/Select\";\n\nexport type PhoneInputProps = {\n preferredCountry?: { label: string };\n helperText?: any;\n label?: string;\n labelProps?: LabelProps;\n placeholder?: string;\n handleChange?: (value: string) => void;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n countryCodes?: { label: string }[];\n};\nexport const PhoneInput: FC<PhoneInputProps> = ({\n labelProps,\n inputProps,\n countryCodes,\n ...props\n}) => {\n const [phoneNumber, setPhoneNumber] = useState(\"\");\n const [countryCode, setCountryCode] = useState(props.preferredCountry);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n console.log(\"test e \", e.target.value);\n const validChars = /^[0-9-()]+$/;\n const input = e.target.value;\n\n // If the input is empty or matches the regex, update the state\n if (input === \"\" || validChars.test(input)) {\n setPhoneNumber(input);\n }\n if (props.handleChange) {\n // console.log(\"label is\", countryCode?.label);\n props.handleChange(`${countryCode?.label}-${e.target.value}`);\n } else {\n console.log(\"handleChange prop was not provided in <PhoneInput/>\");\n }\n };\n\n return (\n <div className=\"hawa-flex hawa-h-fit hawa-w-full hawa-flex-col hawa-gap-2\">\n {props.label && <Label {...labelProps}>{props.label}</Label>}\n <div dir=\"ltr\" className=\"hawa-flex hawa-w-full hawa-flex-row\">\n <Select\n phoneCode\n width=\"fit\"\n hideHelperText\n hideIndicator\n isMulti={false}\n isSearchable={true}\n isClearable={false}\n placeholder=\"Code\"\n options={countryCodes || Countries}\n onChange={setCountryCode}\n value={countryCode?.label}\n defaultValue={props.preferredCountry}\n />\n\n <div className=\"hawa-relative hawa-flex hawa-h-fit hawa-w-full hawa-flex-col hawa-justify-center hawa-gap-0\">\n <input\n type=\"tel\"\n ref={inputRef}\n id=\"phone-number\"\n value={phoneNumber}\n onChange={handleInputChange}\n placeholder={props.placeholder}\n className={cn(\n \"placeholder:hawa-text-muted-foreground hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all\",\n )}\n {...inputProps}\n />\n </div>\n </div>\n\n <HelperText helperText={props.helperText} />\n </div>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","let countries: any = [\n {\n country_label: \"Saudi Arabia\",\n code: \"SA\",\n unicode: \"&#x1F1F8;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SA.svg\",\n label: \"+966\"\n },\n {\n country_label: \"United Arab Emirates\",\n code: \"AE\",\n unicode: \"&#x1F1E6;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AE.svg\",\n label: \"+971\"\n },\n {\n country_label: \"Bahrain\",\n code: \"BH\",\n unicode: \"&#x1F1E7;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BH.svg\",\n label: \"+973\"\n },\n {\n country_label: \"Kuwait\",\n code: \"KW\",\n unicode: \"&#x1F1F0;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KW.svg\",\n label: \"+965\"\n },\n {\n country_label: \"Qatar\",\n code: \"QA\",\n unicode: \"&#x1F1F6;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/QA.svg\",\n label: \"+974\"\n },\n {\n country_label: \"Oman\",\n code: \"OM\",\n unicode: \"&#x1F1F4;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/OM.svg\",\n label: \"+968\"\n },\n {\n country_label: \"Andorra\",\n value: \"Andorra\",\n code: \"AD\",\n unicode: \"&#x1F1E6;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AD.svg\",\n label: \"+376\"\n },\n\n {\n country_label: \"Afghanistan\",\n code: \"AF\",\n unicode: \"&#x1F1E6;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AF.svg\",\n label: \"+93\"\n },\n {\n country_label: \"Antigua & Barbuda\",\n code: \"AG\",\n unicode: \"&#x1F1E6;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AG.svg\",\n label: \"+1268\"\n },\n {\n country_label: \"Anguilla\",\n code: \"AI\",\n unicode: \"&#x1F1E6;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AI.svg\",\n label: \"+1264\"\n },\n {\n country_label: \"Albania\",\n code: \"AL\",\n unicode: \"&#x1F1E6;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AL.svg\",\n label: \"+355\"\n },\n {\n country_label: \"Armenia\",\n code: \"AM\",\n unicode: \"&#x1F1E6;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AM.svg\",\n label: \"+374\"\n },\n {\n country_label: \"Angola\",\n code: \"AO\",\n unicode: \"&#x1F1E6;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AO.svg\",\n label: \"+244\"\n },\n {\n country_label: \"Antarctica\",\n code: \"AQ\",\n unicode: \"&#x1F1E6;&#x1F1F6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AQ.svg\",\n label: \"+672\"\n },\n {\n country_label: \"Argentina\",\n code: \"AR\",\n unicode: \"&#x1F1E6;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AR.svg\",\n label: \"+54\"\n },\n {\n country_label: \"American Samoa\",\n code: \"AS\",\n unicode: \"&#x1F1E6;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AS.svg\",\n label: \"+1684\"\n },\n {\n country_label: \"Austria\",\n code: \"AT\",\n unicode: \"&#x1F1E6;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AT.svg\",\n label: \"+43\"\n },\n {\n country_label: \"Australia\",\n code: \"AU\",\n unicode: \"&#x1F1E6;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AU.svg\",\n label: \"+61\"\n },\n {\n country_label: \"Aruba\",\n code: \"AW\",\n unicode: \"&#x1F1E6;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AW.svg\",\n label: \"+297\"\n },\n {\n country_label: \"Åland Islands\",\n code: \"AX\",\n unicode: \"&#x1F1E6;&#x1F1FD;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AX.svg\",\n label: \"+358\"\n },\n {\n country_label: \"Azerbaijan\",\n code: \"AZ\",\n unicode: \"&#x1F1E6;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AZ.svg\",\n label: \"+994\"\n },\n {\n country_label: \"Bosnia & Herzegovina\",\n code: \"BA\",\n unicode: \"&#x1F1E7;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BA.svg\",\n label: \"+387\"\n },\n {\n country_label: \"Barbados\",\n code: \"BB\",\n unicode: \"&#x1F1E7;&#x1F1E7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BB.svg\",\n label: \"+1246\"\n },\n {\n country_label: \"Bangladesh\",\n code: \"BD\",\n unicode: \"&#x1F1E7;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BD.svg\",\n label: \"+880\"\n },\n {\n country_label: \"Belgium\",\n code: \"BE\",\n unicode: \"&#x1F1E7;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BE.svg\",\n label: \"+32\"\n },\n {\n country_label: \"Burkina Faso\",\n code: \"BF\",\n unicode: \"&#x1F1E7;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BF.svg\",\n label: \"+226\"\n },\n {\n country_label: \"Bulgaria\",\n code: \"BG\",\n unicode: \"&#x1F1E7;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BG.svg\",\n label: \"+359\"\n },\n\n {\n country_label: \"Burundi\",\n code: \"BI\",\n unicode: \"&#x1F1E7;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BI.svg\",\n label: \"+257\"\n },\n {\n country_label: \"Benin\",\n code: \"BJ\",\n unicode: \"&#x1F1E7;&#x1F1EF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BJ.svg\",\n label: \"+229\"\n },\n {\n country_label: \"St. Barthélemy\",\n code: \"BL\",\n unicode: \"&#x1F1E7;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BL.svg\",\n label: \"+590\"\n },\n {\n country_label: \"Bermuda\",\n code: \"BM\",\n unicode: \"&#x1F1E7;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BM.svg\",\n label: \"+1441\"\n },\n {\n country_label: \"Brunei\",\n code: \"BN\",\n unicode: \"&#x1F1E7;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BN.svg\",\n label: \"+673\"\n },\n {\n country_label: \"Bolivia\",\n code: \"BO\",\n unicode: \"&#x1F1E7;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BO.svg\",\n label: \"+591\"\n },\n {\n country_label: \"Brazil\",\n code: \"BR\",\n unicode: \"&#x1F1E7;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BR.svg\",\n label: \"+55\"\n },\n {\n country_label: \"Bahamas\",\n code: \"BS\",\n unicode: \"&#x1F1E7;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BS.svg\",\n label: \"+1242\"\n },\n {\n country_label: \"Bhutan\",\n code: \"BT\",\n unicode: \"&#x1F1E7;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BT.svg\",\n label: \"+975\"\n },\n {\n country_label: \"Botswana\",\n code: \"BW\",\n unicode: \"&#x1F1E7;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BW.svg\",\n label: \"+267\"\n },\n {\n country_label: \"Belarus\",\n code: \"BY\",\n unicode: \"&#x1F1E7;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BY.svg\",\n label: \"+375\"\n },\n {\n country_label: \"Belize\",\n code: \"BZ\",\n unicode: \"&#x1F1E7;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BZ.svg\",\n label: \"+501\"\n },\n {\n country_label: \"Canada\",\n code: \"CA\",\n unicode: \"&#x1F1E8;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CA.svg\",\n label: \"+1\"\n },\n {\n country_label: \"Cocos (Keeling) Islands\",\n code: \"CC\",\n unicode: \"&#x1F1E8;&#x1F1E8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CC.svg\",\n label: \"+61\"\n },\n {\n country_label: \"Congo - Kinshasa\",\n code: \"CD\",\n unicode: \"&#x1F1E8;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CD.svg\",\n label: \"+243\"\n },\n {\n country_label: \"Central African Republic\",\n code: \"CF\",\n unicode: \"&#x1F1E8;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CF.svg\",\n label: \"+236\"\n },\n {\n country_label: \"Congo - Brazzaville\",\n code: \"CG\",\n unicode: \"&#x1F1E8;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CG.svg\",\n label: \"+242\"\n },\n {\n country_label: \"Switzerland\",\n code: \"CH\",\n unicode: \"&#x1F1E8;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CH.svg\",\n label: \"+41\"\n },\n {\n country_label: \"Côte d’Ivoire\",\n code: \"CI\",\n unicode: \"&#x1F1E8;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CI.svg\",\n label: \"+225\"\n },\n {\n country_label: \"Cook Islands\",\n code: \"CK\",\n unicode: \"&#x1F1E8;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CK.svg\",\n label: \"+682\"\n },\n {\n country_label: \"Chile\",\n code: \"CL\",\n unicode: \"&#x1F1E8;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CL.svg\",\n label: \"+56\"\n },\n {\n country_label: \"Cameroon\",\n code: \"CM\",\n unicode: \"&#x1F1E8;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CM.svg\",\n label: \"+237\"\n },\n {\n country_label: \"China\",\n code: \"CN\",\n unicode: \"&#x1F1E8;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CN.svg\",\n label: \"+86\"\n },\n {\n country_label: \"Colombia\",\n code: \"CO\",\n unicode: \"&#x1F1E8;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CO.svg\",\n label: \"+57\"\n },\n {\n country_label: \"Costa Rica\",\n code: \"CR\",\n unicode: \"&#x1F1E8;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CR.svg\",\n label: \"+506\"\n },\n {\n country_label: \"Cuba\",\n code: \"CU\",\n unicode: \"&#x1F1E8;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CU.svg\",\n label: \"+53\"\n },\n {\n country_label: \"Cape Verde\",\n code: \"CV\",\n unicode: \"&#x1F1E8;&#x1F1FB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CV.svg\",\n label: \"+238\"\n },\n {\n country_label: \"Christmas Island\",\n code: \"CX\",\n unicode: \"&#x1F1E8;&#x1F1FD;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CX.svg\",\n label: \"+61\"\n },\n {\n country_label: \"Cyprus\",\n code: \"CY\",\n unicode: \"&#x1F1E8;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CY.svg\",\n label: \"+357\"\n },\n {\n country_label: \"Czechia\",\n code: \"CZ\",\n unicode: \"&#x1F1E8;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CZ.svg\",\n label: \"+420\"\n },\n {\n country_label: \"Germany\",\n code: \"DE\",\n unicode: \"&#x1F1E9;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DE.svg\",\n label: \"+49\"\n },\n {\n country_label: \"Djibouti\",\n code: \"DJ\",\n unicode: \"&#x1F1E9;&#x1F1EF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DJ.svg\",\n label: \"+253\"\n },\n {\n country_label: \"Denmark\",\n code: \"DK\",\n unicode: \"&#x1F1E9;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DK.svg\",\n label: \"+45\"\n },\n {\n country_label: \"Dominica\",\n code: \"DM\",\n unicode: \"&#x1F1E9;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DM.svg\",\n label: \"+1767\"\n },\n {\n country_label: \"Dominican Republic\",\n code: \"DO\",\n unicode: \"&#x1F1E9;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DO.svg\",\n label: \"+1849\"\n },\n {\n country_label: \"Algeria\",\n code: \"DZ\",\n unicode: \"&#x1F1E9;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DZ.svg\",\n label: \"+213\"\n },\n {\n country_label: \"Ecuador\",\n code: \"EC\",\n unicode: \"&#x1F1EA;&#x1F1E8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EC.svg\",\n label: \"+593\"\n },\n {\n country_label: \"Estonia\",\n code: \"EE\",\n unicode: \"&#x1F1EA;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EE.svg\",\n label: \"+372\"\n },\n {\n country_label: \"Egypt\",\n code: \"EG\",\n unicode: \"&#x1F1EA;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EG.svg\",\n label: \"+20\"\n },\n {\n country_label: \"Eritrea\",\n code: \"ER\",\n unicode: \"&#x1F1EA;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ER.svg\",\n label: \"+291\"\n },\n {\n country_label: \"Spain\",\n code: \"ES\",\n unicode: \"&#x1F1EA;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ES.svg\",\n label: \"+34\"\n },\n {\n country_label: \"Ethiopia\",\n code: \"ET\",\n unicode: \"&#x1F1EA;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ET.svg\",\n label: \"+251\"\n },\n {\n country_label: \"Finland\",\n code: \"FI\",\n unicode: \"&#x1F1EB;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FI.svg\",\n label: \"+358\"\n },\n {\n country_label: \"Fiji\",\n code: \"FJ\",\n unicode: \"&#x1F1EB;&#x1F1EF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FJ.svg\",\n label: \"+679\"\n },\n {\n country_label: \"Falkland Islands\",\n code: \"FK\",\n unicode: \"&#x1F1EB;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FK.svg\",\n label: \"+500\"\n },\n {\n country_label: \"Micronesia\",\n code: \"FM\",\n unicode: \"&#x1F1EB;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FM.svg\",\n label: \"+691\"\n },\n {\n country_label: \"Faroe Islands\",\n code: \"FO\",\n unicode: \"&#x1F1EB;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FO.svg\",\n label: \"+298\"\n },\n {\n country_label: \"France\",\n code: \"FR\",\n unicode: \"&#x1F1EB;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FR.svg\",\n label: \"+33\"\n },\n {\n country_label: \"Gabon\",\n code: \"GA\",\n unicode: \"&#x1F1EC;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GA.svg\",\n label: \"+241\"\n },\n {\n country_label: \"United Kingdom\",\n code: \"GB\",\n unicode: \"&#x1F1EC;&#x1F1E7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GB.svg\",\n label: \"+44\"\n },\n {\n country_label: \"Grenada\",\n code: \"GD\",\n unicode: \"&#x1F1EC;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GD.svg\",\n label: \"+1473\"\n },\n {\n country_label: \"Georgia\",\n code: \"GE\",\n unicode: \"&#x1F1EC;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GE.svg\",\n label: \"+995\"\n },\n {\n country_label: \"French Guiana\",\n code: \"GF\",\n unicode: \"&#x1F1EC;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GF.svg\",\n label: \"+594\"\n },\n {\n country_label: \"Guernsey\",\n code: \"GG\",\n unicode: \"&#x1F1EC;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GG.svg\",\n label: \"+44\"\n },\n {\n country_label: \"Ghana\",\n code: \"GH\",\n unicode: \"&#x1F1EC;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GH.svg\",\n label: \"+233\"\n },\n {\n country_label: \"Gibraltar\",\n code: \"GI\",\n unicode: \"&#x1F1EC;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GI.svg\",\n label: \"+350\"\n },\n {\n country_label: \"Greenland\",\n code: \"GL\",\n unicode: \"&#x1F1EC;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GL.svg\",\n label: \"+299\"\n },\n {\n country_label: \"Gambia\",\n code: \"GM\",\n unicode: \"&#x1F1EC;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GM.svg\",\n label: \"+220\"\n },\n {\n country_label: \"Guinea\",\n code: \"GN\",\n unicode: \"&#x1F1EC;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GN.svg\",\n label: \"+224\"\n },\n {\n country_label: \"Guadeloupe\",\n code: \"GP\",\n unicode: \"&#x1F1EC;&#x1F1F5;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GP.svg\",\n label: \"+590\"\n },\n {\n country_label: \"Equatorial Guinea\",\n code: \"GQ\",\n unicode: \"&#x1F1EC;&#x1F1F6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GQ.svg\",\n label: \"+240\"\n },\n {\n country_label: \"Greece\",\n code: \"GR\",\n unicode: \"&#x1F1EC;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GR.svg\",\n label: \"+30\"\n },\n {\n country_label: \"South Georgia & South Sandwich Islands\",\n code: \"GS\",\n unicode: \"&#x1F1EC;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GS.svg\",\n label: \"+500\"\n },\n {\n country_label: \"Guatemala\",\n code: \"GT\",\n unicode: \"&#x1F1EC;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GT.svg\",\n label: \"+502\"\n },\n {\n country_label: \"Guam\",\n code: \"GU\",\n unicode: \"&#x1F1EC;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GU.svg\",\n label: \"+1671\"\n },\n {\n country_label: \"Guinea-Bissau\",\n code: \"GW\",\n unicode: \"&#x1F1EC;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GW.svg\",\n label: \"+245\"\n },\n {\n country_label: \"Guyana\",\n code: \"GY\",\n unicode: \"&#x1F1EC;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GY.svg\",\n label: \"+595\"\n },\n {\n country_label: \"Hong Kong SAR China\",\n code: \"HK\",\n unicode: \"&#x1F1ED;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HK.svg\",\n label: \"+852\"\n },\n {\n country_label: \"Honduras\",\n code: \"HN\",\n unicode: \"&#x1F1ED;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HN.svg\",\n label: \"+504\"\n },\n {\n country_label: \"Croatia\",\n code: \"HR\",\n unicode: \"&#x1F1ED;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HR.svg\",\n label: \"+385\"\n },\n {\n country_label: \"Haiti\",\n code: \"HT\",\n unicode: \"&#x1F1ED;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HT.svg\",\n label: \"+509\"\n },\n {\n country_label: \"Hungary\",\n code: \"HU\",\n unicode: \"&#x1F1ED;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HU.svg\",\n label: \"+36\"\n },\n {\n country_label: \"Indonesia\",\n code: \"ID\",\n unicode: \"&#x1F1EE;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ID.svg\",\n label: \"+62\"\n },\n {\n country_label: \"Ireland\",\n code: \"IE\",\n unicode: \"&#x1F1EE;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IE.svg\",\n label: \"+353\"\n },\n {\n country_label: \"Israel\",\n code: \"IL\",\n unicode: \"&#x1F1EE;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IL.svg\",\n label: \"+972\"\n },\n {\n country_label: \"Isle of Man\",\n code: \"IM\",\n unicode: \"&#x1F1EE;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IM.svg\",\n label: \"+44\"\n },\n {\n country_label: \"India\",\n code: \"IN\",\n unicode: \"&#x1F1EE;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IN.svg\",\n label: \"+91\"\n },\n {\n country_label: \"British Indian Ocean Territory\",\n code: \"IO\",\n unicode: \"&#x1F1EE;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IO.svg\",\n label: \"+246\"\n },\n {\n country_label: \"Iraq\",\n code: \"IQ\",\n unicode: \"&#x1F1EE;&#x1F1F6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IQ.svg\",\n label: \"+964\"\n },\n {\n country_label: \"Iran\",\n code: \"IR\",\n unicode: \"&#x1F1EE;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IR.svg\",\n label: \"+98\"\n },\n {\n country_label: \"Iceland\",\n code: \"IS\",\n unicode: \"&#x1F1EE;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IS.svg\",\n label: \"+354\"\n },\n {\n country_label: \"Italy\",\n code: \"IT\",\n unicode: \"&#x1F1EE;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IT.svg\",\n label: \"+39\"\n },\n {\n country_label: \"Jersey\",\n code: \"JE\",\n unicode: \"&#x1F1EF;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JE.svg\",\n label: \"+44\"\n },\n {\n country_label: \"Jamaica\",\n code: \"JM\",\n unicode: \"&#x1F1EF;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JM.svg\",\n label: \"+1876\"\n },\n {\n country_label: \"Jordan\",\n code: \"JO\",\n unicode: \"&#x1F1EF;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JO.svg\",\n label: \"+962\"\n },\n {\n country_label: \"Japan\",\n code: \"JP\",\n unicode: \"&#x1F1EF;&#x1F1F5;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JP.svg\",\n label: \"+81\"\n },\n {\n country_label: \"Kenya\",\n code: \"KE\",\n unicode: \"&#x1F1F0;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KE.svg\",\n label: \"+254\"\n },\n {\n country_label: \"Kyrgyzstan\",\n code: \"KG\",\n unicode: \"&#x1F1F0;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KG.svg\",\n label: \"+996\"\n },\n {\n country_label: \"Cambodia\",\n code: \"KH\",\n unicode: \"&#x1F1F0;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KH.svg\",\n label: \"+855\"\n },\n {\n country_label: \"Kiribati\",\n code: \"KI\",\n unicode: \"&#x1F1F0;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KI.svg\",\n label: \"+686\"\n },\n {\n country_label: \"Comoros\",\n code: \"KM\",\n unicode: \"&#x1F1F0;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KM.svg\",\n label: \"+269\"\n },\n {\n country_label: \"St. Kitts & Nevis\",\n code: \"KN\",\n unicode: \"&#x1F1F0;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KN.svg\",\n label: \"+1869\"\n },\n {\n country_label: \"North Korea\",\n code: \"KP\",\n unicode: \"&#x1F1F0;&#x1F1F5;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KP.svg\",\n label: \"+850\"\n },\n {\n country_label: \"South Korea\",\n code: \"KR\",\n unicode: \"&#x1F1F0;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KR.svg\",\n label: \"+82\"\n },\n\n {\n country_label: \"Cayman Islands\",\n code: \"KY\",\n unicode: \"&#x1F1F0;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KY.svg\",\n label: \"+ 345\"\n },\n {\n country_label: \"Kazakhstan\",\n code: \"KZ\",\n unicode: \"&#x1F1F0;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KZ.svg\",\n label: \"+77\"\n },\n {\n country_label: \"Laos\",\n code: \"LA\",\n unicode: \"&#x1F1F1;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LA.svg\",\n label: \"+856\"\n },\n {\n country_label: \"Lebanon\",\n code: \"LB\",\n unicode: \"&#x1F1F1;&#x1F1E7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LB.svg\",\n label: \"+961\"\n },\n {\n country_label: \"St. Lucia\",\n code: \"LC\",\n unicode: \"&#x1F1F1;&#x1F1E8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LC.svg\",\n label: \"+1758\"\n },\n {\n country_label: \"Liechtenstein\",\n code: \"LI\",\n unicode: \"&#x1F1F1;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LI.svg\",\n label: \"+423\"\n },\n {\n country_label: \"Sri Lanka\",\n code: \"LK\",\n unicode: \"&#x1F1F1;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LK.svg\",\n label: \"+94\"\n },\n {\n country_label: \"Liberia\",\n code: \"LR\",\n unicode: \"&#x1F1F1;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LR.svg\",\n label: \"+231\"\n },\n {\n country_label: \"Lesotho\",\n code: \"LS\",\n unicode: \"&#x1F1F1;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LS.svg\",\n label: \"+266\"\n },\n {\n country_label: \"Lithuania\",\n code: \"LT\",\n unicode: \"&#x1F1F1;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LT.svg\",\n label: \"+370\"\n },\n {\n country_label: \"Luxembourg\",\n code: \"LU\",\n unicode: \"&#x1F1F1;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LU.svg\",\n label: \"+352\"\n },\n {\n country_label: \"Latvia\",\n code: \"LV\",\n unicode: \"&#x1F1F1;&#x1F1FB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LV.svg\",\n label: \"+371\"\n },\n {\n country_label: \"Libya\",\n code: \"LY\",\n unicode: \"&#x1F1F1;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LY.svg\",\n label: \"+218\"\n },\n {\n country_label: \"Morocco\",\n code: \"MA\",\n unicode: \"&#x1F1F2;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MA.svg\",\n label: \"+212\"\n },\n {\n country_label: \"Monaco\",\n code: \"MC\",\n unicode: \"&#x1F1F2;&#x1F1E8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MC.svg\",\n label: \"+377\"\n },\n {\n country_label: \"Moldova\",\n code: \"MD\",\n unicode: \"&#x1F1F2;&#x1F1E9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MD.svg\",\n label: \"+373\"\n },\n {\n country_label: \"Montenegro\",\n code: \"ME\",\n unicode: \"&#x1F1F2;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ME.svg\",\n label: \"+382\"\n },\n {\n country_label: \"St. Martin\",\n code: \"MF\",\n unicode: \"&#x1F1F2;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MF.svg\",\n label: \"+590\"\n },\n {\n country_label: \"Madagascar\",\n code: \"MG\",\n unicode: \"&#x1F1F2;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MG.svg\",\n label: \"+261\"\n },\n {\n country_label: \"Marshall Islands\",\n code: \"MH\",\n unicode: \"&#x1F1F2;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MH.svg\",\n label: \"+692\"\n },\n {\n country_label: \"North Macedonia\",\n code: \"MK\",\n unicode: \"&#x1F1F2;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MK.svg\",\n label: \"+389\"\n },\n {\n country_label: \"Mali\",\n code: \"ML\",\n unicode: \"&#x1F1F2;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ML.svg\",\n label: \"+223\"\n },\n {\n country_label: \"Myanmar (Burma)\",\n code: \"MM\",\n unicode: \"&#x1F1F2;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MM.svg\",\n label: \"+95\"\n },\n {\n country_label: \"Mongolia\",\n code: \"MN\",\n unicode: \"&#x1F1F2;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MN.svg\",\n label: \"+976\"\n },\n {\n country_label: \"Macao SAR China\",\n code: \"MO\",\n unicode: \"&#x1F1F2;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MO.svg\",\n label: \"+853\"\n },\n {\n country_label: \"Northern Mariana Islands\",\n code: \"MP\",\n unicode: \"&#x1F1F2;&#x1F1F5;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MP.svg\",\n label: \"+1670\"\n },\n {\n country_label: \"Martinique\",\n code: \"MQ\",\n unicode: \"&#x1F1F2;&#x1F1F6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MQ.svg\",\n label: \"+596\"\n },\n {\n country_label: \"Mauritania\",\n code: \"MR\",\n unicode: \"&#x1F1F2;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MR.svg\",\n label: \"+222\"\n },\n {\n country_label: \"Montserrat\",\n code: \"MS\",\n unicode: \"&#x1F1F2;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MS.svg\",\n label: \"+1664\"\n },\n {\n country_label: \"Malta\",\n code: \"MT\",\n unicode: \"&#x1F1F2;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MT.svg\",\n label: \"+356\"\n },\n {\n country_label: \"Mauritius\",\n code: \"MU\",\n unicode: \"&#x1F1F2;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MU.svg\",\n label: \"+230\"\n },\n {\n country_label: \"Maldives\",\n code: \"MV\",\n unicode: \"&#x1F1F2;&#x1F1FB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MV.svg\",\n label: \"+960\"\n },\n {\n country_label: \"Malawi\",\n code: \"MW\",\n unicode: \"&#x1F1F2;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MW.svg\",\n label: \"+265\"\n },\n {\n country_label: \"Mexico\",\n code: \"MX\",\n unicode: \"&#x1F1F2;&#x1F1FD;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MX.svg\",\n label: \"+52\"\n },\n {\n country_label: \"Malaysia\",\n code: \"MY\",\n unicode: \"&#x1F1F2;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MY.svg\",\n label: \"+60\"\n },\n {\n country_label: \"Mozambique\",\n code: \"MZ\",\n unicode: \"&#x1F1F2;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MZ.svg\",\n label: \"+258\"\n },\n {\n country_label: \"Namibia\",\n code: \"NA\",\n unicode: \"&#x1F1F3;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NA.svg\",\n label: \"+264\"\n },\n {\n country_label: \"New Caledonia\",\n code: \"NC\",\n unicode: \"&#x1F1F3;&#x1F1E8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NC.svg\",\n label: \"+687\"\n },\n {\n country_label: \"Niger\",\n code: \"NE\",\n unicode: \"&#x1F1F3;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NE.svg\",\n label: \"+227\"\n },\n {\n country_label: \"Norfolk Island\",\n code: \"NF\",\n unicode: \"&#x1F1F3;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NF.svg\",\n label: \"+672\"\n },\n {\n country_label: \"Nigeria\",\n code: \"NG\",\n unicode: \"&#x1F1F3;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NG.svg\",\n label: \"+234\"\n },\n {\n country_label: \"Nicaragua\",\n code: \"NI\",\n unicode: \"&#x1F1F3;&#x1F1EE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NI.svg\",\n label: \"+505\"\n },\n {\n country_label: \"Netherlands\",\n code: \"NL\",\n unicode: \"&#x1F1F3;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NL.svg\",\n label: \"+31\"\n },\n {\n country_label: \"Norway\",\n code: \"NO\",\n unicode: \"&#x1F1F3;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NO.svg\",\n label: \"+47\"\n },\n {\n country_label: \"Nepal\",\n code: \"NP\",\n unicode: \"&#x1F1F3;&#x1F1F5;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NP.svg\",\n label: \"+977\"\n },\n {\n country_label: \"Nauru\",\n code: \"NR\",\n unicode: \"&#x1F1F3;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NR.svg\",\n label: \"+674\"\n },\n {\n country_label: \"Niue\",\n code: \"NU\",\n unicode: \"&#x1F1F3;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NU.svg\",\n label: \"+683\"\n },\n {\n country_label: \"New Zealand\",\n code: \"NZ\",\n unicode: \"&#x1F1F3;&#x1F1FF;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/NZ.svg\",\n label: \"+64\"\n },\n\n {\n country_label: \"Panama\",\n code: \"PA\",\n unicode: \"&#x1F1F5;&#x1F1E6;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PA.svg\",\n label: \"+507\"\n },\n {\n country_label: \"Peru\",\n code: \"PE\",\n unicode: \"&#x1F1F5;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PE.svg\",\n label: \"+51\"\n },\n {\n country_label: \"French Polynesia\",\n code: \"PF\",\n unicode: \"&#x1F1F5;&#x1F1EB;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PF.svg\",\n label: \"+689\"\n },\n {\n country_label: \"Papua New Guinea\",\n code: \"PG\",\n unicode: \"&#x1F1F5;&#x1F1EC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PG.svg\",\n label: \"+675\"\n },\n {\n country_label: \"Philippines\",\n code: \"PH\",\n unicode: \"&#x1F1F5;&#x1F1ED;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PH.svg\",\n label: \"+63\"\n },\n {\n country_label: \"Pakistan\",\n code: \"PK\",\n unicode: \"&#x1F1F5;&#x1F1F0;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PK.svg\",\n label: \"+92\"\n },\n {\n country_label: \"Poland\",\n code: \"PL\",\n unicode: \"&#x1F1F5;&#x1F1F1;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PL.svg\",\n label: \"+48\"\n },\n {\n country_label: \"St. Pierre & Miquelon\",\n code: \"PM\",\n unicode: \"&#x1F1F5;&#x1F1F2;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PM.svg\",\n label: \"+508\"\n },\n {\n country_label: \"Pitcairn Islands\",\n code: \"PN\",\n unicode: \"&#x1F1F5;&#x1F1F3;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PN.svg\",\n label: \"+872\"\n },\n {\n country_label: \"Puerto Rico\",\n code: \"PR\",\n unicode: \"&#x1F1F5;&#x1F1F7;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PR.svg\",\n label: \"+1939\"\n },\n {\n country_label: \"Palestinian Territories\",\n code: \"PS\",\n unicode: \"&#x1F1F5;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PS.svg\",\n label: \"+970\"\n },\n {\n country_label: \"Portugal\",\n code: \"PT\",\n unicode: \"&#x1F1F5;&#x1F1F9;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PT.svg\",\n label: \"+351\"\n },\n {\n country_label: \"Palau\",\n code: \"PW\",\n unicode: \"&#x1F1F5;&#x1F1FC;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PW.svg\",\n label: \"+680\"\n },\n {\n country_label: \"Paraguay\",\n code: \"PY\",\n unicode: \"&#x1F1F5;&#x1F1FE;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/PY.svg\",\n label: \"+595\"\n },\n\n {\n country_label: \"Réunion\",\n code: \"RE\",\n unicode: \"&#x1F1F7;&#x1F1EA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RE.svg\",\n label: \"+262\"\n },\n {\n country_label: \"Romania\",\n code: \"RO\",\n unicode: \"&#x1F1F7;&#x1F1F4;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RO.svg\",\n label: \"+40\"\n },\n {\n country_label: \"Serbia\",\n code: \"RS\",\n unicode: \"&#x1F1F7;&#x1F1F8;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RS.svg\",\n label: \"+381\"\n },\n {\n country_label: \"Russia\",\n code: \"RU\",\n unicode: \"&#x1F1F7;&#x1F1FA;\",\n image:\n \"https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/RU.svg\",\n label: \"+7\"\n },\n {\n country_label: \"Rwanda\",\n code