UNPKG

@sikka/hawa

Version:

Modern UI Kit made with Tailwind

1,574 lines (1,568 loc) • 112 kB
"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: "&#x1F1F8;&#x1F1E6;", 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: "&#x1F1E6;&#x1F1EA;", 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: "&#x1F1E7;&#x1F1ED;", 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: "&#x1F1F0;&#x1F1FC;", 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: "&#x1F1F6;&#x1F1E6;", 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: "&#x1F1F4;&#x1F1F2;", 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: "&#x1F1E6;&#x1F1E9;", 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: "&#x1F1E6;&#x1F1EB;", 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: "&#x1F1E6;&#x1F1EC;", 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: "&#x1F1E6;&#x1F1EE;", 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: "&#x1F1E6;&#x1F1F1;", 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: "&#x1F1E6;&#x1F1F2;", 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: "&#x1F1E6;&#x1F1F4;", 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: "&#x1F1E6;&#x1F1F6;", 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: "&#x1F1E6;&#x1F1F7;", 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: "&#x1F1E6;&#x1F1F8;", 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: "&#x1F1E6;&#x1F1F9;", 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: "&#x1F1E6;&#x1F1FA;", 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: "&#x1F1E6;&#x1F1FC;", 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: "&#x1F1E6;&#x1F1FD;", 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: "&#x1F1E6;&#x1F1FF;", 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: "&#x1F1E7;&#x1F1E6;", 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: "&#x1F1E7;&#x1F1E7;", 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: "&#x1F1E7;&#x1F1E9;", 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: "&#x1F1E7;&#x1F1EA;", 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: "&#x1F1E7;&#x1F1EB;", 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: "&#x1F1E7;&#x1F1EC;", 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: "&#x1F1E7;&#x1F1EE;", 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: "&#x1F1E7;&#x1F1EF;", 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: "&#x1F1E7;&#x1F1F1;", 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: "&#x1F1E7;&#x1F1F2;", 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: "&#x1F1E7;&#x1F1F3;", 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: "&#x1F1E7;&#x1F1F4;", 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: "&#x1F1E7;&#x1F1F7;", 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: "&#x1F1E7;&#x1F1F8;", 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: "&#x1F1E7;&#x1F1F9;", 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: "&#x1F1E7;&#x1F1FC;", 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: "&#x1F1E7;&#x1F1FE;", 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: "&#x1F1E7;&#x1F1FF;", 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: "&#x1F1E8;&#x1F1E6;", 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: "&#x1F1E8;&#x1F1E8;", 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: "&#x1F1E8;&#x1F1E9;", 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: "&#x1F1E8;&#x1F1EB;", 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: "&#x1F1E8;&#x1F1EC;", 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: "&#x1F1E8;&#x1F1ED;", 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: "&#x1F1E8;&#x1F1EE;", 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: "&#x1F1E8;&#x1F1F0;", 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: "&#x1F1E8;&#x1F1F1;", 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: "&#x1F1E8;&#x1F1F2;", 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: "&#x1F1E8;&#x1F1F3;", 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: "&#x1F1E8;&#x1F1F4;", 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: "&#x1F1E8;&#x1F1F7;", 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: "&#x1F1E8;&#x1F1FA;", 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: "&#x1F1E8;&#x1F1FB;", 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: "&#x1F1E8;&#x1F1FD;", 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: "&#x1F1E8;&#x1F1FE;", 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: "&#x1F1E8;&#x1F1FF;", 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: "&#x1F1E9;&#x1F1EA;", 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: "&#x1F1E9;&#x1F1EF;", 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: "&#x1F1E9;&#x1F1F0;", 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: "&#x1F1E9;&#x1F1F2;", 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: "&#x1F1E9;&#x1F1F4;", 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: "&#x1F1E9;&#x1F1FF;", 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: "&#x1F1EA;&#x1F1E8;", 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: "&#x1F1EA;&#x1F1EA;", 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: "&#x1F1EA;&#x1F1EC;", 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: "&#x1F1EA;&#x1F1F7;", 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: "&#x1F1EA;&#x1F1F8;", 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: "&#x1F1EA;&#x1F1F9;", 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: "&#x1F1EB;&#x1F1EE;", 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: "&#x1F1EB;&#x1F1EF;", 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: "&#x1F1EB;&#x1F1F0;", 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: "&#x1F1EB;&#x1F1F2;", 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: "&#x1F1EB;&#x1F1F4;", 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: "&#x1F1EB;&#x1F1F7;", 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: "&#x1F1EC;&#x1F1E6;", 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: "&#x1F1EC;&#x1F1E7;", 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: "&#x1F1EC;&#x1F1E9;", 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: "&#x1F1EC;&#x1F1EA;", 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: "&#x1F1EC;&#x1F1EB;", 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: "&#x1F1EC;&#x1F1EC;", 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: "&#x1F1EC;&#x1F1ED;", 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: "&#x1F1EC;&#x1F1EE;", 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: "&#x1F1EC;&#x1F1F1;", 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: "&#x1F1EC;&#x1F1F2;", 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: "&#x1F1EC;&#x1F1F3;", 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: "&#x1F1EC;&#x1F1F5;", 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: "&#x1F1EC;&#x1F1F6;", 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: "&#x1F1EC;&#x1F1F7;", 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: "&#x1F1EC;&#x1F1F8;", 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: "&#x1F1EC;&#x1F1F9;", 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: "&#x1F1EC;&#x1F1FA;", 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: "&#x1F1EC;&#x1F1FC;", 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: "&#x1F1EC;&#x1F1FE;", 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: "&#x1F1ED;&#x1F1F0;", 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: "&#x1F1ED;&#x1F1F3;", 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: "&#x1F1ED;&#x1F1F7;", 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: "&#x1F1ED;&#x1F1F9;", 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: "&#x1F1ED;&#x1F1FA;", 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: "&#x1F1EE;&#x1F1E9;", 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: "&#x1F1EE;&#x1F1EA;", 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: "&#x1F1EE;&#x1F1F1;", 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: "&#x1F1EE;&#x1F1F2;", 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: "&#x1F1EE;&#x1F1F3;", 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: "&#x1F1EE;&#x1F1F4;", 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: "&#x1F1EE;&#x1F1F6;", 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: "&#x1F1EE;&#x1F1F7;", 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: "&#x1F1EE;&#x1F1F8;", 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: "&#x1F1EE;&#x1F1F9;", 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: "&#x1F1EF;&#x1F1EA;", 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: "&#x1F1EF;&#x1F1F2;", 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: "&#x1F1EF;&#x1F1F4;", 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: "&#x1F1EF;&#x1F1F5;", 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: "&#x1F1F0;&#x1F1EA;", 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: "&#x1F1F0;&#x1F1EC;", 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: "&#x1F1F0;&#x1F1ED;", 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: "&#x1F1F0;&#x1F1EE;", 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: "&#x1F1F0;&#x1F1F2;", 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: "&#x1F1F0;&#x1F1F3;", 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: "&#x1F1F0;&#x1F1F5;", 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: "&#x1F1F0;&#x1F1F7;", 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: "&#x1F1F0;&#x1F1FE;", 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: "&#x1F1F0;&#x1F1FF;", 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: "&#x1F1F1;&#x1F1E6;", 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: "&#x1F1F1;&#x1F1E7;", 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: "&#x1F1F1;&#x1F1E8;", 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: "&#x1F1F1;&#x1F1EE;", 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: "&#x1F1F1;&#x1F1F0;", 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: "&#x1F1F1;&#x1F1F7;", 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: "&#x1F1F1;&#x1F1F8;", 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: "&#x1F1F1;&#x1F1F9;", 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: "&#x1F1F1;&#x1F1FA;", 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: "&#x1F1F1;&#x1F1FB;", 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: "&#x1F1F1;&#x1F1FE;", 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: "&#x1F1F2;&#x1F1E6;", 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: "&#x1F1F2;&#x1F1E8;", 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: "&#x1F1F2;&#x1F1E9;", 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: "&#x1F1F2;&#x1F1EA;", 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: "&#x1F1F2;&#x1F1EB;", 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: "&#x1F1F2;&#x1F1EC;", 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: "&#x1F1F2;&#x1F1ED;", 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: "&#x1F1F2;&#x1F1F0;", 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: "&#x1F1F2;&#x1F1F1;", 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: "&#x1F1F2;&#x1F1F2;", 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: "&#x1F1F2;&#x1F1F3;", 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: "&#x1F1F2;&#x1F1F4;", 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: "&#x1F1F2;&#x1F1F5;", 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: "&#x1F1F2;&#x1F1F6;", 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: "&#x1F1F2;&#x1F1F7;", 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: "&#x1F1F2;&#x1F1F8;", 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: "&#x1F1F2;&#x1F1F9;", 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: "&#x1F1F2;&#x1F1FA;", 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: "&#x1F1F2;&#x1F1FB;", image: "https://cdn.jsdelivr.net/npm/country-flag-emoji-json@2.0.0/dist/images/MV.svg", label: "+960" }, {