@sikka/hawa
Version:
Modern UI Kit made with Tailwind
1,574 lines (1,568 loc) • 112 kB
JavaScript
"use client";
import {
useViewportSize
} from "./chunk-WL7C2A5D.mjs";
import {
Button,
Chip,
HelperText,
Label,
Skeleton,
cn
} from "./chunk-GGWTBYZF.mjs";
// elements/alert/Alert.tsx
import React, { useRef, useState, useEffect } from "react";
var Alert = ({
direction = "ltr",
severity = "none",
duration,
icon,
className,
...props
}) => {
const alertRef = useRef(null);
const [closed, setClosed] = useState(false);
useEffect(() => {
if (duration) {
const timeoutHide = setTimeout(() => {
setClosed(true);
}, duration);
const timeoutDestroy = setTimeout(() => {
setClosed(true);
if (alertRef == null ? void 0 : alertRef.current) {
alertRef == null ? void 0 : alertRef.current.removeChild(alertRef == null ? void 0 : alertRef.current.children[0]);
}
}, duration + 1e3);
return () => {
clearTimeout(timeoutHide);
clearTimeout(timeoutDestroy);
};
}
}, [duration]);
let closeButtonStyle = {
none: "",
info: "",
warning: "",
error: "",
success: "",
hyper: "",
oceanic: ""
};
let styleVariant = {
none: "hawa-bg-background hawa-border",
info: "hawa-text-info-foreground hawa-bg-info/90",
warning: "hawa-text-warning-foreground hawa-bg-warning/90",
error: "hawa-text-destructive-foreground hawa-bg-destructive/90",
success: "hawa-text-success-foreground hawa-bg-success/90",
hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-700 hawa-via-red-500 hawa-to-yellow-600 ",
oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-500 hawa-via-blue-700 hawa-to-purple-500"
};
return /* @__PURE__ */ React.createElement("div", { ref: alertRef }, /* @__PURE__ */ React.createElement(
"div",
{
"data-testid": "alert",
"aria-label": "Alert",
role: "alert",
dir: direction,
className: cn(
"hawa-relative hawa-mb-4 hawa-flex hawa-flex-col hawa-rounded hawa-p-4 hawa-text-sm hawa-transition-all",
styleVariant[severity],
closed ? "hawa-opacity-0" : "hawa-opacity-100",
className
)
},
/* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-row" }, icon && /* @__PURE__ */ React.createElement(
"div",
{
className: direction === "rtl" ? "hawa-pl-2 hawa-pt-1" : "hawa-pr-2 hawa-pt-1"
},
icon
), /* @__PURE__ */ React.createElement("div", { className: "hawa-flex hawa-flex-col" }, /* @__PURE__ */ React.createElement(
"span",
{
className: cn(
"hawa-font-bold",
direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8"
)
},
props.title
), /* @__PURE__ */ React.createElement(
"span",
{
className: cn(
direction === "rtl" ? "hawa-ml-8" : "hawa-mr-8",
props.persistent ? "hawa-w-full" : "hawa-w-[calc(100% - 40px)]"
)
},
props.text
), props.actions && /* @__PURE__ */ React.createElement("div", { className: "hawa-mt-2 hawa-flex hawa-flex-row hawa-gap-2" }, props.actions.map((act, index) => /* @__PURE__ */ React.createElement(
Button,
{
key: index,
variant: act.variant,
onClick: act.onClick()
},
act.label
))))),
!props.persistent && /* @__PURE__ */ React.createElement(
"button",
{
type: "button",
"data-dismiss-target": "#alert-default",
"aria-label": "Close",
className: cn(
"hawa-absolute hawa-top-2 hawa-inline-flex hawa-h-9 hawa-w-9 hawa-items-center hawa-justify-center hawa-rounded-inner hawa-p-1.5 hawa-transition-all hover:hawa-text-gray-900",
closeButtonStyle[severity],
direction === "rtl" ? "hawa-left-2" : "hawa-right-2"
),
onClick: () => {
if (props.onAlertClosed) {
props.onAlertClosed();
}
if (!props.noDestroy) {
setClosed(true);
setTimeout(() => {
if (alertRef == null ? void 0 : alertRef.current) {
alertRef == null ? void 0 : alertRef.current.removeChild(
alertRef == null ? void 0 : alertRef.current.children[0]
);
}
}, 200);
}
}
},
/* @__PURE__ */ React.createElement("span", { className: "hawa-sr-only" }, "Close"),
/* @__PURE__ */ React.createElement(
"svg",
{
"aria-label": "Close Icon",
"aria-hidden": "true",
className: "hawa-h-5 hawa-w-5",
fill: "currentColor",
viewBox: "0 0 20 20"
},
/* @__PURE__ */ React.createElement(
"path",
{
fillRule: "evenodd",
d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
clipRule: "evenodd"
}
)
)
)
));
};
// elements/input/Input.tsx
import React2, { forwardRef } from "react";
var Input = forwardRef(
({
margin = "none",
width = "full",
preview = false,
forceHideHelperText = false,
labelProps,
placeholder,
showCount,
inputProps,
countPosition = "bottom",
...props
}, ref) => {
var _a;
let marginStyles = {
none: "hawa-mb-0",
normal: "hawa-mb-3",
large: "hawa-mb-5"
};
let widthStyles = {
small: "hawa-w-full hawa-max-w-2xs",
normal: "hawa-w-1/2",
full: "hawa-w-full",
auto: ""
};
let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground";
const handleChange = (e) => {
let newValue = e.target.value;
if (props.prefixText) {
if (newValue.length < props.prefixText.length) {
newValue = props.prefixText;
} else {
const isSubstring = props.prefixText.startsWith(newValue);
if (!isSubstring && !newValue.startsWith(props.prefixText)) {
newValue = `${props.prefixText}${newValue}`;
}
}
}
if (props.onChange) {
const newEvent = { ...e, target: { ...e.target, value: newValue } };
props.onChange(newEvent);
}
};
return /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
defaultStyle,
marginStyles[margin],
widthStyles[width],
props.containerClassName,
"hawa-w-full hawa-gap-2"
)
},
props.label && /* @__PURE__ */ React2.createElement(Label, { ...labelProps }, props.label),
/* @__PURE__ */ React2.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center" }, props.outsidePrefix && /* @__PURE__ */ React2.createElement(
"span",
{
className: cn(
"hawa-me-2 hawa-opacity-90",
!forceHideHelperText && "hawa-mb-2"
)
},
props.outsidePrefix
), props.isLoading ? /* @__PURE__ */ React2.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React2.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ React2.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React2.createElement(
Skeleton,
{
animation: "none",
className: "hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]",
content: /* @__PURE__ */ React2.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ React2.createElement(
"svg",
{
xmlns: "http://www.w3.org/2000/svg",
width: "20",
height: "20",
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round",
className: "hawa-text-destructive"
},
/* @__PURE__ */ React2.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
/* @__PURE__ */ React2.createElement("path", { d: "M12 9v4" }),
/* @__PURE__ */ React2.createElement("path", { d: "M12 17h.01" })
), /* @__PURE__ */ React2.createElement("span", null, /* @__PURE__ */ React2.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
}
)) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800",
preview ? "hawa-opacity-100" : "hawa-opacity-0"
)
}
), /* @__PURE__ */ React2.createElement("div", { className: "hawa-flex hawa-flex-col hawa-w-full hawa-gap-2" }, /* @__PURE__ */ React2.createElement("div", { className: "hawa-relative" }, props.startIcon && /* @__PURE__ */ React2.createElement("div", { className: "hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.startIcon), props.endIcon && /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2",
(_a = props.endIconProps) == null ? void 0 : _a.className
)
},
props.endIcon
), /* @__PURE__ */ React2.createElement(
"input",
{
required: true,
dir: props.dir,
type: props.type,
value: props.value,
onChange: handleChange,
autoComplete: props.autoComplete,
defaultValue: props.defaultValue,
placeholder,
disabled: props.disabled || preview,
style: { height: 40 },
...inputProps,
className: cn(
defaultInputStyle,
"focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white",
{
"hawa-pe-9": props.endIcon,
"hawa-ps-9": props.startIcon,
"hawa-pe-[60px]": countPosition === "center"
},
preview && "hawa-border-transparent hawa-bg-transparent hawa-px-0",
inputProps == null ? void 0 : inputProps.className
)
}
)), !forceHideHelperText && /* @__PURE__ */ React2.createElement(HelperText, { helperText: props.helperText }), !props.disabled && forceHideHelperText && /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all",
props.helperText ? "hawa-border hawa-p-1" : "hawa-border-none hawa-p-0"
)
},
props.helperText
), showCount && /* @__PURE__ */ React2.createElement(
"div",
{
className: cn(
"hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all",
{
"hawa-end-0 hawa-top-[62px]": countPosition === "bottom",
"hawa-bottom-[62px] hawa-end-0": countPosition === "top",
"hawa-end-2": countPosition === "center"
}
)
},
props.value ? String(props.value).length : 0,
"/",
props.maxLength
))))
);
}
);
// elements/select/Select.tsx
import React3 from "react";
import ReactSelect from "react-select";
import CreatableSelect from "react-select/creatable";
import clsx from "clsx";
var Select = ({
labelProps,
labelKey = "label",
...props
}) => {
const NoOption = () => {
var _a, _b;
return /* @__PURE__ */ React3.createElement("div", null, (_b = (_a = props.texts) == null ? void 0 : _a.noOptions) != null ? _b : "No Items Found");
};
const Control = ({ children, innerProps, innerRef }) => {
return /* @__PURE__ */ React3.createElement(
"div",
{
ref: innerRef,
className: clsx(
"hawa-flex hawa-w-full hawa-rounded hawa-border hawa-bg-background hawa-p-2 hawa-text-sm hawa-text-gray-900 focus:hawa-border-blue-500 focus:hawa-ring-blue-500 dark:focus:hawa-ring-blue-500"
),
...innerProps
},
children
);
};
const Option = ({ children, innerProps, innerRef }) => {
return /* @__PURE__ */ React3.createElement(
"div",
{
ref: innerRef,
className: cn(
"hawa-flex hawa-cursor-pointer hawa-select-none hawa-flex-row hawa-items-center hawa-justify-between hawa-rounded-inner hawa-p-1 hawa-px-2 hawa-transition-all hover:hawa-bg-primary hover:hawa-text-primary-foreground"
),
...innerProps
},
children
);
};
const Menu = ({
cx,
children,
getStyles,
innerProps,
innerRef,
...menuProps
}) => {
const menuOpen = menuProps.selectProps.menuIsOpen;
return /* @__PURE__ */ React3.createElement(
"div",
{
className: cn(
"dark:dark-shadow hawa-absolute hawa-z-10 -hawa-mx-1 hawa-mt-1 hawa-flex hawa-flex-col hawa-justify-start hawa-rounded hawa-border hawa-bg-background hawa-shadow-md",
props.phoneCode ? "hawa-p-1.5" : "hawa-w-full hawa-p-1.5",
menuOpen && "hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95"
),
ref: innerRef,
...innerProps
},
children
);
};
let phoneCodeStyles = "hawa-min-w-[65px] hawa-text-right hawa-w-[100px] hawa-p-0 hawa-rounded-r-none hawa-h-[40px]";
let selectContainerStyles = "hawa-rounded hawa-block hawa-w-full hawa-border hawa-transition-all hawa-bg-background hawa-p-0 hawa-px-1 hawa-text-sm";
let selectPlaceholderStyles = "hawa-text-muted-foreground hawa-cursor-pointer hawa-px-1";
let selectIndicatorContainerStyles = "hawa-cursor-pointer hawa-text-muted-foreground hawa-absolute hawa-end-0 hawa-top-[50%] hawa-bottom-[50%] ";
return /* @__PURE__ */ React3.createElement(
"div",
{
className: cn(
"hawa-flex hawa-flex-col hawa-gap-2",
props.width === "fit" ? "hawa-w-fit" : "hawa-w-full"
)
},
props.label && /* @__PURE__ */ React3.createElement(Label, { ...labelProps }, props.label),
props.isLoading ? /* @__PURE__ */ React3.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" }) : !props.isCreatable ? (
// TODO: enable keyboard to go to the next item in the list
/* @__PURE__ */ React3.createElement(
ReactSelect,
{
noOptionsMessage: NoOption,
classNames: {
control: () => cn(
props.phoneCode && "hawa-rounded-r-none",
props.controlClassNames
),
container: () => cn(
selectContainerStyles,
props.phoneCode && phoneCodeStyles,
props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer",
props.isMulti && "hawa-ps-0 "
),
placeholder: () => selectPlaceholderStyles,
valueContainer: () => "hawa-text-foreground hawa-px-1 ",
singleValue: () => "hawa-text-foreground",
indicatorsContainer: () => cn(
selectIndicatorContainerStyles,
props.hideIndicator ? "hawa-invisible" : "hawa-px-1"
)
},
unstyled: true,
autoFocus: false,
components: props.hideIndicator ? { Option, Menu, IndicatorsContainer: () => null } : {
Option,
Menu,
// Control: (e) => (
// <div
// className={cn(e.className, "hawa-flex hawa-flex-row")}
// {...e}
// />
// ),
ValueContainer: (e) => /* @__PURE__ */ React3.createElement(
"div",
{
className: cn(
e.className,
"hawa-gap-1 hawa-flex hawa-flex-row hawa-flex-wrap hawa-p-1"
),
...e
}
),
MultiValueContainer: (e) => /* @__PURE__ */ React3.createElement(
"div",
{
className: "hawa-rounded hawa-border hawa-p-1 hawa-px-2 hawa-flex hawa-flex-row",
...e
}
)
},
onChange: (newValue, action) => props.onChange(newValue, action),
options: props.options,
getOptionLabel: props.getOptionLabel,
defaultValue: props.defaultValue,
placeholder: props.placeholder,
isDisabled: props.disabled,
isClearable: props.isClearable,
isMulti: props.isMulti,
isSearchable: props.isSearchable
}
)
) : /* @__PURE__ */ React3.createElement(
CreatableSelect,
{
formatCreateLabel: (inputValue) => {
var _a, _b;
return `${(_b = (_a = props.texts) == null ? void 0 : _a.createLabel) != null ? _b : "Create"} "${inputValue}"`;
},
classNames: {
container: () => cn(
"hawa-rounded",
props.disabled ? "hawa-cursor-not-allowed" : "hawa-cursor-pointer"
),
placeholder: () => "hawa-px-2 hawa-text-muted-foreground",
input: () => "hawa-text-primary hawa-px-2",
valueContainer: () => "hawa-text-white dark:hawa-text-muted-foreground",
singleValue: () => "hawa-text-black dark:hawa-text-white hawa-px-2",
indicatorsContainer: () => " hawa-px-2 hawa-cursor-pointer hawa-text-muted-foreground"
},
unstyled: true,
options: props.options,
isClearable: props.isClearable,
isMulti: props.isMulti,
isSearchable: props.isSearchable,
placeholder: props.placeholder,
onCreateOption: props.handleCreateOption,
onChange: (newValue, action) => props.onChange(newValue, action),
components: { Control, Option, Menu },
onInputChange: (newValue, action) => props.onInputChange(newValue, action)
}
),
!props.hideHelperText && /* @__PURE__ */ React3.createElement(HelperText, { helperText: props.helperText })
);
};
// elements/phoneInput/PhoneInput.tsx
import React4, { useState as useState2, useRef as useRef2 } from "react";
// countries.ts
var countries = [
{
country_label: "Saudi Arabia",
code: "SA",
unicode: "🇸🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/SA.svg",
label: "+966"
},
{
country_label: "United Arab Emirates",
code: "AE",
unicode: "🇦🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AE.svg",
label: "+971"
},
{
country_label: "Bahrain",
code: "BH",
unicode: "🇧🇭",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BH.svg",
label: "+973"
},
{
country_label: "Kuwait",
code: "KW",
unicode: "🇰🇼",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KW.svg",
label: "+965"
},
{
country_label: "Qatar",
code: "QA",
unicode: "🇶🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/QA.svg",
label: "+974"
},
{
country_label: "Oman",
code: "OM",
unicode: "🇴🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/OM.svg",
label: "+968"
},
{
country_label: "Andorra",
value: "Andorra",
code: "AD",
unicode: "🇦🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AD.svg",
label: "+376"
},
{
country_label: "Afghanistan",
code: "AF",
unicode: "🇦🇫",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AF.svg",
label: "+93"
},
{
country_label: "Antigua & Barbuda",
code: "AG",
unicode: "🇦🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AG.svg",
label: "+1268"
},
{
country_label: "Anguilla",
code: "AI",
unicode: "🇦🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AI.svg",
label: "+1264"
},
{
country_label: "Albania",
code: "AL",
unicode: "🇦🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AL.svg",
label: "+355"
},
{
country_label: "Armenia",
code: "AM",
unicode: "🇦🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AM.svg",
label: "+374"
},
{
country_label: "Angola",
code: "AO",
unicode: "🇦🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AO.svg",
label: "+244"
},
{
country_label: "Antarctica",
code: "AQ",
unicode: "🇦🇶",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AQ.svg",
label: "+672"
},
{
country_label: "Argentina",
code: "AR",
unicode: "🇦🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AR.svg",
label: "+54"
},
{
country_label: "American Samoa",
code: "AS",
unicode: "🇦🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AS.svg",
label: "+1684"
},
{
country_label: "Austria",
code: "AT",
unicode: "🇦🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AT.svg",
label: "+43"
},
{
country_label: "Australia",
code: "AU",
unicode: "🇦🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AU.svg",
label: "+61"
},
{
country_label: "Aruba",
code: "AW",
unicode: "🇦🇼",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AW.svg",
label: "+297"
},
{
country_label: "\xC5land Islands",
code: "AX",
unicode: "🇦🇽",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AX.svg",
label: "+358"
},
{
country_label: "Azerbaijan",
code: "AZ",
unicode: "🇦🇿",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/AZ.svg",
label: "+994"
},
{
country_label: "Bosnia & Herzegovina",
code: "BA",
unicode: "🇧🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BA.svg",
label: "+387"
},
{
country_label: "Barbados",
code: "BB",
unicode: "🇧🇧",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BB.svg",
label: "+1246"
},
{
country_label: "Bangladesh",
code: "BD",
unicode: "🇧🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BD.svg",
label: "+880"
},
{
country_label: "Belgium",
code: "BE",
unicode: "🇧🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BE.svg",
label: "+32"
},
{
country_label: "Burkina Faso",
code: "BF",
unicode: "🇧🇫",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BF.svg",
label: "+226"
},
{
country_label: "Bulgaria",
code: "BG",
unicode: "🇧🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BG.svg",
label: "+359"
},
{
country_label: "Burundi",
code: "BI",
unicode: "🇧🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BI.svg",
label: "+257"
},
{
country_label: "Benin",
code: "BJ",
unicode: "🇧🇯",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BJ.svg",
label: "+229"
},
{
country_label: "St. Barth\xE9lemy",
code: "BL",
unicode: "🇧🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BL.svg",
label: "+590"
},
{
country_label: "Bermuda",
code: "BM",
unicode: "🇧🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BM.svg",
label: "+1441"
},
{
country_label: "Brunei",
code: "BN",
unicode: "🇧🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BN.svg",
label: "+673"
},
{
country_label: "Bolivia",
code: "BO",
unicode: "🇧🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BO.svg",
label: "+591"
},
{
country_label: "Brazil",
code: "BR",
unicode: "🇧🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BR.svg",
label: "+55"
},
{
country_label: "Bahamas",
code: "BS",
unicode: "🇧🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BS.svg",
label: "+1242"
},
{
country_label: "Bhutan",
code: "BT",
unicode: "🇧🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BT.svg",
label: "+975"
},
{
country_label: "Botswana",
code: "BW",
unicode: "🇧🇼",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BW.svg",
label: "+267"
},
{
country_label: "Belarus",
code: "BY",
unicode: "🇧🇾",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BY.svg",
label: "+375"
},
{
country_label: "Belize",
code: "BZ",
unicode: "🇧🇿",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/BZ.svg",
label: "+501"
},
{
country_label: "Canada",
code: "CA",
unicode: "🇨🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CA.svg",
label: "+1"
},
{
country_label: "Cocos (Keeling) Islands",
code: "CC",
unicode: "🇨🇨",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CC.svg",
label: "+61"
},
{
country_label: "Congo - Kinshasa",
code: "CD",
unicode: "🇨🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CD.svg",
label: "+243"
},
{
country_label: "Central African Republic",
code: "CF",
unicode: "🇨🇫",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CF.svg",
label: "+236"
},
{
country_label: "Congo - Brazzaville",
code: "CG",
unicode: "🇨🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CG.svg",
label: "+242"
},
{
country_label: "Switzerland",
code: "CH",
unicode: "🇨🇭",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CH.svg",
label: "+41"
},
{
country_label: "C\xF4te d\u2019Ivoire",
code: "CI",
unicode: "🇨🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CI.svg",
label: "+225"
},
{
country_label: "Cook Islands",
code: "CK",
unicode: "🇨🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CK.svg",
label: "+682"
},
{
country_label: "Chile",
code: "CL",
unicode: "🇨🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CL.svg",
label: "+56"
},
{
country_label: "Cameroon",
code: "CM",
unicode: "🇨🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CM.svg",
label: "+237"
},
{
country_label: "China",
code: "CN",
unicode: "🇨🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CN.svg",
label: "+86"
},
{
country_label: "Colombia",
code: "CO",
unicode: "🇨🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CO.svg",
label: "+57"
},
{
country_label: "Costa Rica",
code: "CR",
unicode: "🇨🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CR.svg",
label: "+506"
},
{
country_label: "Cuba",
code: "CU",
unicode: "🇨🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CU.svg",
label: "+53"
},
{
country_label: "Cape Verde",
code: "CV",
unicode: "🇨🇻",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CV.svg",
label: "+238"
},
{
country_label: "Christmas Island",
code: "CX",
unicode: "🇨🇽",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CX.svg",
label: "+61"
},
{
country_label: "Cyprus",
code: "CY",
unicode: "🇨🇾",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CY.svg",
label: "+357"
},
{
country_label: "Czechia",
code: "CZ",
unicode: "🇨🇿",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/CZ.svg",
label: "+420"
},
{
country_label: "Germany",
code: "DE",
unicode: "🇩🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DE.svg",
label: "+49"
},
{
country_label: "Djibouti",
code: "DJ",
unicode: "🇩🇯",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DJ.svg",
label: "+253"
},
{
country_label: "Denmark",
code: "DK",
unicode: "🇩🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DK.svg",
label: "+45"
},
{
country_label: "Dominica",
code: "DM",
unicode: "🇩🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DM.svg",
label: "+1767"
},
{
country_label: "Dominican Republic",
code: "DO",
unicode: "🇩🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DO.svg",
label: "+1849"
},
{
country_label: "Algeria",
code: "DZ",
unicode: "🇩🇿",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/DZ.svg",
label: "+213"
},
{
country_label: "Ecuador",
code: "EC",
unicode: "🇪🇨",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EC.svg",
label: "+593"
},
{
country_label: "Estonia",
code: "EE",
unicode: "🇪🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EE.svg",
label: "+372"
},
{
country_label: "Egypt",
code: "EG",
unicode: "🇪🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/EG.svg",
label: "+20"
},
{
country_label: "Eritrea",
code: "ER",
unicode: "🇪🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ER.svg",
label: "+291"
},
{
country_label: "Spain",
code: "ES",
unicode: "🇪🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ES.svg",
label: "+34"
},
{
country_label: "Ethiopia",
code: "ET",
unicode: "🇪🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ET.svg",
label: "+251"
},
{
country_label: "Finland",
code: "FI",
unicode: "🇫🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FI.svg",
label: "+358"
},
{
country_label: "Fiji",
code: "FJ",
unicode: "🇫🇯",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FJ.svg",
label: "+679"
},
{
country_label: "Falkland Islands",
code: "FK",
unicode: "🇫🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FK.svg",
label: "+500"
},
{
country_label: "Micronesia",
code: "FM",
unicode: "🇫🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FM.svg",
label: "+691"
},
{
country_label: "Faroe Islands",
code: "FO",
unicode: "🇫🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FO.svg",
label: "+298"
},
{
country_label: "France",
code: "FR",
unicode: "🇫🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/FR.svg",
label: "+33"
},
{
country_label: "Gabon",
code: "GA",
unicode: "🇬🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GA.svg",
label: "+241"
},
{
country_label: "United Kingdom",
code: "GB",
unicode: "🇬🇧",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GB.svg",
label: "+44"
},
{
country_label: "Grenada",
code: "GD",
unicode: "🇬🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GD.svg",
label: "+1473"
},
{
country_label: "Georgia",
code: "GE",
unicode: "🇬🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GE.svg",
label: "+995"
},
{
country_label: "French Guiana",
code: "GF",
unicode: "🇬🇫",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GF.svg",
label: "+594"
},
{
country_label: "Guernsey",
code: "GG",
unicode: "🇬🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GG.svg",
label: "+44"
},
{
country_label: "Ghana",
code: "GH",
unicode: "🇬🇭",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GH.svg",
label: "+233"
},
{
country_label: "Gibraltar",
code: "GI",
unicode: "🇬🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GI.svg",
label: "+350"
},
{
country_label: "Greenland",
code: "GL",
unicode: "🇬🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GL.svg",
label: "+299"
},
{
country_label: "Gambia",
code: "GM",
unicode: "🇬🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GM.svg",
label: "+220"
},
{
country_label: "Guinea",
code: "GN",
unicode: "🇬🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GN.svg",
label: "+224"
},
{
country_label: "Guadeloupe",
code: "GP",
unicode: "🇬🇵",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GP.svg",
label: "+590"
},
{
country_label: "Equatorial Guinea",
code: "GQ",
unicode: "🇬🇶",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GQ.svg",
label: "+240"
},
{
country_label: "Greece",
code: "GR",
unicode: "🇬🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GR.svg",
label: "+30"
},
{
country_label: "South Georgia & South Sandwich Islands",
code: "GS",
unicode: "🇬🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GS.svg",
label: "+500"
},
{
country_label: "Guatemala",
code: "GT",
unicode: "🇬🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GT.svg",
label: "+502"
},
{
country_label: "Guam",
code: "GU",
unicode: "🇬🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GU.svg",
label: "+1671"
},
{
country_label: "Guinea-Bissau",
code: "GW",
unicode: "🇬🇼",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GW.svg",
label: "+245"
},
{
country_label: "Guyana",
code: "GY",
unicode: "🇬🇾",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/GY.svg",
label: "+595"
},
{
country_label: "Hong Kong SAR China",
code: "HK",
unicode: "🇭🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HK.svg",
label: "+852"
},
{
country_label: "Honduras",
code: "HN",
unicode: "🇭🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HN.svg",
label: "+504"
},
{
country_label: "Croatia",
code: "HR",
unicode: "🇭🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HR.svg",
label: "+385"
},
{
country_label: "Haiti",
code: "HT",
unicode: "🇭🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HT.svg",
label: "+509"
},
{
country_label: "Hungary",
code: "HU",
unicode: "🇭🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/HU.svg",
label: "+36"
},
{
country_label: "Indonesia",
code: "ID",
unicode: "🇮🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ID.svg",
label: "+62"
},
{
country_label: "Ireland",
code: "IE",
unicode: "🇮🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IE.svg",
label: "+353"
},
{
country_label: "Israel",
code: "IL",
unicode: "🇮🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IL.svg",
label: "+972"
},
{
country_label: "Isle of Man",
code: "IM",
unicode: "🇮🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IM.svg",
label: "+44"
},
{
country_label: "India",
code: "IN",
unicode: "🇮🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IN.svg",
label: "+91"
},
{
country_label: "British Indian Ocean Territory",
code: "IO",
unicode: "🇮🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IO.svg",
label: "+246"
},
{
country_label: "Iraq",
code: "IQ",
unicode: "🇮🇶",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IQ.svg",
label: "+964"
},
{
country_label: "Iran",
code: "IR",
unicode: "🇮🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IR.svg",
label: "+98"
},
{
country_label: "Iceland",
code: "IS",
unicode: "🇮🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IS.svg",
label: "+354"
},
{
country_label: "Italy",
code: "IT",
unicode: "🇮🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/IT.svg",
label: "+39"
},
{
country_label: "Jersey",
code: "JE",
unicode: "🇯🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JE.svg",
label: "+44"
},
{
country_label: "Jamaica",
code: "JM",
unicode: "🇯🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JM.svg",
label: "+1876"
},
{
country_label: "Jordan",
code: "JO",
unicode: "🇯🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JO.svg",
label: "+962"
},
{
country_label: "Japan",
code: "JP",
unicode: "🇯🇵",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/JP.svg",
label: "+81"
},
{
country_label: "Kenya",
code: "KE",
unicode: "🇰🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KE.svg",
label: "+254"
},
{
country_label: "Kyrgyzstan",
code: "KG",
unicode: "🇰🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KG.svg",
label: "+996"
},
{
country_label: "Cambodia",
code: "KH",
unicode: "🇰🇭",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KH.svg",
label: "+855"
},
{
country_label: "Kiribati",
code: "KI",
unicode: "🇰🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KI.svg",
label: "+686"
},
{
country_label: "Comoros",
code: "KM",
unicode: "🇰🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KM.svg",
label: "+269"
},
{
country_label: "St. Kitts & Nevis",
code: "KN",
unicode: "🇰🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KN.svg",
label: "+1869"
},
{
country_label: "North Korea",
code: "KP",
unicode: "🇰🇵",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KP.svg",
label: "+850"
},
{
country_label: "South Korea",
code: "KR",
unicode: "🇰🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KR.svg",
label: "+82"
},
{
country_label: "Cayman Islands",
code: "KY",
unicode: "🇰🇾",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KY.svg",
label: "+ 345"
},
{
country_label: "Kazakhstan",
code: "KZ",
unicode: "🇰🇿",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/KZ.svg",
label: "+77"
},
{
country_label: "Laos",
code: "LA",
unicode: "🇱🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LA.svg",
label: "+856"
},
{
country_label: "Lebanon",
code: "LB",
unicode: "🇱🇧",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LB.svg",
label: "+961"
},
{
country_label: "St. Lucia",
code: "LC",
unicode: "🇱🇨",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LC.svg",
label: "+1758"
},
{
country_label: "Liechtenstein",
code: "LI",
unicode: "🇱🇮",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LI.svg",
label: "+423"
},
{
country_label: "Sri Lanka",
code: "LK",
unicode: "🇱🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LK.svg",
label: "+94"
},
{
country_label: "Liberia",
code: "LR",
unicode: "🇱🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LR.svg",
label: "+231"
},
{
country_label: "Lesotho",
code: "LS",
unicode: "🇱🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LS.svg",
label: "+266"
},
{
country_label: "Lithuania",
code: "LT",
unicode: "🇱🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LT.svg",
label: "+370"
},
{
country_label: "Luxembourg",
code: "LU",
unicode: "🇱🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LU.svg",
label: "+352"
},
{
country_label: "Latvia",
code: "LV",
unicode: "🇱🇻",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LV.svg",
label: "+371"
},
{
country_label: "Libya",
code: "LY",
unicode: "🇱🇾",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/LY.svg",
label: "+218"
},
{
country_label: "Morocco",
code: "MA",
unicode: "🇲🇦",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MA.svg",
label: "+212"
},
{
country_label: "Monaco",
code: "MC",
unicode: "🇲🇨",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MC.svg",
label: "+377"
},
{
country_label: "Moldova",
code: "MD",
unicode: "🇲🇩",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MD.svg",
label: "+373"
},
{
country_label: "Montenegro",
code: "ME",
unicode: "🇲🇪",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ME.svg",
label: "+382"
},
{
country_label: "St. Martin",
code: "MF",
unicode: "🇲🇫",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MF.svg",
label: "+590"
},
{
country_label: "Madagascar",
code: "MG",
unicode: "🇲🇬",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MG.svg",
label: "+261"
},
{
country_label: "Marshall Islands",
code: "MH",
unicode: "🇲🇭",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MH.svg",
label: "+692"
},
{
country_label: "North Macedonia",
code: "MK",
unicode: "🇲🇰",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MK.svg",
label: "+389"
},
{
country_label: "Mali",
code: "ML",
unicode: "🇲🇱",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/ML.svg",
label: "+223"
},
{
country_label: "Myanmar (Burma)",
code: "MM",
unicode: "🇲🇲",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MM.svg",
label: "+95"
},
{
country_label: "Mongolia",
code: "MN",
unicode: "🇲🇳",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MN.svg",
label: "+976"
},
{
country_label: "Macao SAR China",
code: "MO",
unicode: "🇲🇴",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MO.svg",
label: "+853"
},
{
country_label: "Northern Mariana Islands",
code: "MP",
unicode: "🇲🇵",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MP.svg",
label: "+1670"
},
{
country_label: "Martinique",
code: "MQ",
unicode: "🇲🇶",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MQ.svg",
label: "+596"
},
{
country_label: "Mauritania",
code: "MR",
unicode: "🇲🇷",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MR.svg",
label: "+222"
},
{
country_label: "Montserrat",
code: "MS",
unicode: "🇲🇸",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MS.svg",
label: "+1664"
},
{
country_label: "Malta",
code: "MT",
unicode: "🇲🇹",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MT.svg",
label: "+356"
},
{
country_label: "Mauritius",
code: "MU",
unicode: "🇲🇺",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MU.svg",
label: "+230"
},
{
country_label: "Maldives",
code: "MV",
unicode: "🇲🇻",
image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MV.svg",
label: "+960"
},
{