@zengenti/contensis-react-base 3.0.2-beta.19 → 3.0.2-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/forms.js CHANGED
@@ -548,6 +548,9 @@ const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLangu
548
548
  const getFieldType = field => {
549
549
  var _field$editor, _field$editor$propert;
550
550
  if (!field) return null;
551
+ if (field.id === 'country' && field.dataType === 'string') {
552
+ return 'country';
553
+ }
551
554
  if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
552
555
  return 'textarea';
553
556
  } else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {
@@ -926,11 +929,11 @@ const Label = ({
926
929
  return /*#__PURE__*/React__default["default"].createElement("label", {
927
930
  className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,
928
931
  htmlFor: id
929
- }, label, isRequired && /*#__PURE__*/React__default["default"].createElement("span", {
930
- className: "isRequired"
931
- }, "*"), isRequired && /*#__PURE__*/React__default["default"].createElement("span", {
932
- className: "visuallyHidden"
933
- }, " (required)"));
932
+ }, label, isRequired ? /*#__PURE__*/React__default["default"].createElement("span", {
933
+ className: "label__required"
934
+ }, "(required)") : /*#__PURE__*/React__default["default"].createElement("span", {
935
+ className: "label__optional"
936
+ }, "(optional)"));
934
937
  };
935
938
  Label.propTypes = {
936
939
  className: PropTypes__default["default"].string,
@@ -1334,11 +1337,11 @@ const Checkbox = ({
1334
1337
  value: val[defaultLanguage],
1335
1338
  className: `${className ? className : ''} input-checkbox`,
1336
1339
  onChange: e => _handleChange(e.target.value, e.target.checked)
1337
- }), /*#__PURE__*/React__default["default"].createElement(Label, {
1340
+ }), /*#__PURE__*/React__default["default"].createElement("label", {
1341
+ className: "label-checkbox",
1338
1342
  id: `checkbox-${idx}`,
1339
- label: val[defaultLanguage],
1340
- className: "label-checkbox"
1341
- }));
1343
+ htmlFor: `checkbox-${idx}`
1344
+ }, val[defaultLanguage]));
1342
1345
  }));
1343
1346
  }
1344
1347
  case 'single':
@@ -1424,11 +1427,11 @@ const RadioButton = ({
1424
1427
  onChange: e => {
1425
1428
  setValue(formId, id, e.target.value);
1426
1429
  }
1427
- }), /*#__PURE__*/React__default["default"].createElement(Label, {
1430
+ }), /*#__PURE__*/React__default["default"].createElement("label", {
1431
+ className: "label-radio",
1428
1432
  id: val[defaultLanguage],
1429
- label: val[defaultLanguage],
1430
- className: "label-radio"
1431
- }));
1433
+ htmlFor: val[defaultLanguage]
1434
+ }, val[defaultLanguage]));
1432
1435
  }));
1433
1436
  };
1434
1437
  RadioButton.propTypes = {
@@ -1711,6 +1714,1352 @@ EntryPicker.propTypes = {
1711
1714
  formId: PropTypes__default["default"].string
1712
1715
  };
1713
1716
 
1717
+ function _extends() {
1718
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
1719
+ for (var i = 1; i < arguments.length; i++) {
1720
+ var source = arguments[i];
1721
+ for (var key in source) {
1722
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1723
+ target[key] = source[key];
1724
+ }
1725
+ }
1726
+ }
1727
+ return target;
1728
+ };
1729
+ return _extends.apply(this, arguments);
1730
+ }
1731
+
1732
+ const countries = [{
1733
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1e8.svg",
1734
+ "country": "Ascension Island",
1735
+ "code": "ac"
1736
+ }, {
1737
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1e9.svg",
1738
+ "country": "Andorra",
1739
+ "code": "ad"
1740
+ }, {
1741
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ea.svg",
1742
+ "country": "United Arab Emirates",
1743
+ "code": "ae"
1744
+ }, {
1745
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1eb.svg",
1746
+ "country": "Afghanistan",
1747
+ "code": "af"
1748
+ }, {
1749
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ec.svg",
1750
+ "country": "Antigua & Barbuda",
1751
+ "code": "ag"
1752
+ }, {
1753
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ee.svg",
1754
+ "country": "Anguilla",
1755
+ "code": "ai"
1756
+ }, {
1757
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f1.svg",
1758
+ "country": "Albania",
1759
+ "code": "al"
1760
+ }, {
1761
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f2.svg",
1762
+ "country": "Armenia",
1763
+ "code": "am"
1764
+ }, {
1765
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f4.svg",
1766
+ "country": "Angola",
1767
+ "code": "ad"
1768
+ }, {
1769
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f6.svg",
1770
+ "country": "Antarctica",
1771
+ "code": "aq"
1772
+ }, {
1773
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f7.svg",
1774
+ "country": "Argentina",
1775
+ "code": "ar"
1776
+ }, {
1777
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f8.svg",
1778
+ "country": "American Samoa",
1779
+ "code": "as"
1780
+ }, {
1781
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f9.svg",
1782
+ "country": "Austria",
1783
+ "code": "at"
1784
+ }, {
1785
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fa.svg",
1786
+ "country": "Australia",
1787
+ "code": "au"
1788
+ }, {
1789
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fc.svg",
1790
+ "country": "Aruba",
1791
+ "code": "aw"
1792
+ }, {
1793
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fd.svg",
1794
+ "country": "Åland Islands",
1795
+ "code": "ax"
1796
+ }, {
1797
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ff.svg",
1798
+ "country": "Azerbaijan",
1799
+ "code": "az"
1800
+ }, {
1801
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e6.svg",
1802
+ "country": "Bosnia & Herzegovina",
1803
+ "code": "ba"
1804
+ }, {
1805
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e7.svg",
1806
+ "country": "Barbados",
1807
+ "code": "bb"
1808
+ }, {
1809
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e9.svg",
1810
+ "country": "Bangladesh",
1811
+ "code": "bd"
1812
+ }, {
1813
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ea.svg",
1814
+ "country": "Belgium",
1815
+ "code": "be"
1816
+ }, {
1817
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1eb.svg",
1818
+ "country": "Burkina Faso",
1819
+ "code": "bf"
1820
+ }, {
1821
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ec.svg",
1822
+ "country": "Bulgaria",
1823
+ "code": "bg"
1824
+ }, {
1825
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ed.svg",
1826
+ "country": "Bahrain",
1827
+ "code": "bh"
1828
+ }, {
1829
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ee.svg",
1830
+ "country": "Burundi",
1831
+ "code": "bi"
1832
+ }, {
1833
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ef.svg",
1834
+ "country": "Benin",
1835
+ "code": "bj"
1836
+ }, {
1837
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f1.svg",
1838
+ "country": "St. Barthélemy",
1839
+ "code": "bl"
1840
+ }, {
1841
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f2.svg",
1842
+ "country": "Bermuda",
1843
+ "code": "bm"
1844
+ }, {
1845
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f3.svg",
1846
+ "country": "Brunei",
1847
+ "code": "bn"
1848
+ }, {
1849
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f4.svg",
1850
+ "country": "Bolivia",
1851
+ "code": "bo"
1852
+ }, {
1853
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f6.svg",
1854
+ "country": "Caribbean Netherlands"
1855
+ }, {
1856
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f7.svg",
1857
+ "country": "Brazil",
1858
+ "code": "br"
1859
+ }, {
1860
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f8.svg",
1861
+ "country": "Bahamas",
1862
+ "code": "bs"
1863
+ }, {
1864
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f9.svg",
1865
+ "country": "Bhutan",
1866
+ "code": "bt"
1867
+ }, {
1868
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fb.svg",
1869
+ "country": "Bouvet Island",
1870
+ "code": "bv"
1871
+ }, {
1872
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fc.svg",
1873
+ "country": "Botswana",
1874
+ "code": "bw"
1875
+ }, {
1876
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fe.svg",
1877
+ "country": "Belarus",
1878
+ "code": "by"
1879
+ }, {
1880
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ff.svg",
1881
+ "country": "Belize",
1882
+ "code": "bz"
1883
+ }, {
1884
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e6.svg",
1885
+ "country": "Canada",
1886
+ "code": "ca"
1887
+ }, {
1888
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e8.svg",
1889
+ "country": "Cocos (Keeling) Islands",
1890
+ "code": "cc"
1891
+ }, {
1892
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e9.svg",
1893
+ "country": "Congo - Kinshasa",
1894
+ "code": "cg"
1895
+ }, {
1896
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1eb.svg",
1897
+ "country": "Central African Republic",
1898
+ "code": "cf"
1899
+ }, {
1900
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ec.svg",
1901
+ "country": "Congo - Brazzaville",
1902
+ "code": "cd"
1903
+ }, {
1904
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ed.svg",
1905
+ "country": "Switzerland",
1906
+ "code": "ch"
1907
+ }, {
1908
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ee.svg",
1909
+ "country": "Côte d’Ivoire",
1910
+ "code": "ci"
1911
+ }, {
1912
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f0.svg",
1913
+ "country": "Cook Islands",
1914
+ "code": "ck"
1915
+ }, {
1916
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f1.svg",
1917
+ "country": "Chile",
1918
+ "code": "cl"
1919
+ }, {
1920
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f2.svg",
1921
+ "country": "Cameroon",
1922
+ "code": "cm"
1923
+ }, {
1924
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f3.svg",
1925
+ "country": "China",
1926
+ "code": "cn"
1927
+ }, {
1928
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f4.svg",
1929
+ "country": "Colombia",
1930
+ "code": "co"
1931
+ }, {
1932
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f5.svg",
1933
+ "country": "Clipperton Island",
1934
+ "code": "cp"
1935
+ }, {
1936
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f7.svg",
1937
+ "country": "Costa Rica",
1938
+ "code": "cr"
1939
+ }, {
1940
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fa.svg",
1941
+ "country": "Cuba",
1942
+ "code": "cu"
1943
+ }, {
1944
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fb.svg",
1945
+ "country": "Cape Verde",
1946
+ "code": "cv"
1947
+ }, {
1948
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fc.svg",
1949
+ "country": "Curaçao",
1950
+ "code": "cw"
1951
+ }, {
1952
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fd.svg",
1953
+ "country": "Christmas Island",
1954
+ "code": "cx"
1955
+ }, {
1956
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fe.svg",
1957
+ "country": "Cyprus",
1958
+ "code": "cy"
1959
+ }, {
1960
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ff.svg",
1961
+ "country": "Czechia",
1962
+ "code": "cz"
1963
+ }, {
1964
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ea.svg",
1965
+ "country": "Germany",
1966
+ "code": "de"
1967
+ }, {
1968
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ec.svg",
1969
+ "country": "Diego Garcia",
1970
+ "code": "dg"
1971
+ }, {
1972
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ef.svg",
1973
+ "country": "Djibouti",
1974
+ "code": "dj"
1975
+ }, {
1976
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f0.svg",
1977
+ "country": "Denmark",
1978
+ "code": "dk"
1979
+ }, {
1980
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f2.svg",
1981
+ "country": "Dominica",
1982
+ "code": "dm"
1983
+ }, {
1984
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f4.svg",
1985
+ "country": "Dominican Republic",
1986
+ "code": "do"
1987
+ }, {
1988
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ff.svg",
1989
+ "country": "Algeria",
1990
+ "code": "dz"
1991
+ }, {
1992
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1e6.svg",
1993
+ "country": "Ceuta & Melilla",
1994
+ "code": "ea"
1995
+ }, {
1996
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1e8.svg",
1997
+ "country": "Ecuador",
1998
+ "code": "ec"
1999
+ }, {
2000
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ea.svg",
2001
+ "country": "Estonia",
2002
+ "code": "ee"
2003
+ }, {
2004
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ec.svg",
2005
+ "country": "Egypt",
2006
+ "code": "eg"
2007
+ }, {
2008
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ed.svg",
2009
+ "country": "Western Sahara",
2010
+ "code": "eh"
2011
+ }, {
2012
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f7.svg",
2013
+ "country": "Eritrea",
2014
+ "code": "er"
2015
+ }, {
2016
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f8.svg",
2017
+ "country": "Spain",
2018
+ "code": "es"
2019
+ }, {
2020
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f9.svg",
2021
+ "country": "Ethiopia",
2022
+ "code": "et"
2023
+ }, {
2024
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1fa.svg",
2025
+ "country": "European Union",
2026
+ "code": "eu"
2027
+ }, {
2028
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1ee.svg",
2029
+ "country": "Finland",
2030
+ "code": "fi"
2031
+ }, {
2032
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1ef.svg",
2033
+ "country": "Fiji",
2034
+ "code": "fj"
2035
+ }, {
2036
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f0.svg",
2037
+ "country": "Falkland Islands",
2038
+ "code": "fk"
2039
+ }, {
2040
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f2.svg",
2041
+ "country": "Micronesia",
2042
+ "code": "fm"
2043
+ }, {
2044
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f4.svg",
2045
+ "country": "Faroe Islands",
2046
+ "code": "fo"
2047
+ }, {
2048
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f7.svg",
2049
+ "country": "France",
2050
+ "code": "fr"
2051
+ }, {
2052
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e6.svg",
2053
+ "country": "Gabon",
2054
+ "code": "ga"
2055
+ }, {
2056
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e7.svg",
2057
+ "country": "United Kingdom",
2058
+ "code": "gb"
2059
+ }, {
2060
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e9.svg",
2061
+ "country": "Grenada",
2062
+ "code": "gd"
2063
+ }, {
2064
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ea.svg",
2065
+ "country": "Georgia",
2066
+ "code": "ge"
2067
+ }, {
2068
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1eb.svg",
2069
+ "country": "French Guiana",
2070
+ "code": "gf"
2071
+ }, {
2072
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ec.svg",
2073
+ "country": "Guernsey",
2074
+ "code": "gg"
2075
+ }, {
2076
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ed.svg",
2077
+ "country": "Ghana",
2078
+ "code": "gh"
2079
+ }, {
2080
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ee.svg",
2081
+ "country": "Gibraltar",
2082
+ "code": "gi"
2083
+ }, {
2084
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f1.svg",
2085
+ "country": "Greenland",
2086
+ "code": "gl"
2087
+ }, {
2088
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f2.svg",
2089
+ "country": "Gambia",
2090
+ "code": "gm"
2091
+ }, {
2092
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f3.svg",
2093
+ "country": "Guinea",
2094
+ "code": "gn"
2095
+ }, {
2096
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f5.svg",
2097
+ "country": "Guadeloupe",
2098
+ "code": "gp"
2099
+ }, {
2100
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f6.svg",
2101
+ "country": "Equatorial Guinea",
2102
+ "code": "gq"
2103
+ }, {
2104
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f7.svg",
2105
+ "country": "Greece",
2106
+ "code": "gr"
2107
+ }, {
2108
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f8.svg",
2109
+ "country": "South Georgia & South', Sandwich Islands",
2110
+ "code": "gs"
2111
+ }, {
2112
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f9.svg",
2113
+ "country": "Guatemala",
2114
+ "code": "gt"
2115
+ }, {
2116
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fa.svg",
2117
+ "country": "Guam",
2118
+ "code": "gu"
2119
+ }, {
2120
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fc.svg",
2121
+ "country": "Guinea-Bissau",
2122
+ "code": "gw"
2123
+ }, {
2124
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fe.svg",
2125
+ "country": "Guyana",
2126
+ "code": "gy"
2127
+ }, {
2128
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f0.svg",
2129
+ "country": "Hong Kong SAR China",
2130
+ "code": "hk"
2131
+ }, {
2132
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f2.svg",
2133
+ "country": "Heard & McDonald Islands",
2134
+ "code": "hm"
2135
+ }, {
2136
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f3.svg",
2137
+ "country": "Honduras",
2138
+ "code": "hn"
2139
+ }, {
2140
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f7.svg",
2141
+ "country": "Croatia",
2142
+ "code": "hr"
2143
+ }, {
2144
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f9.svg",
2145
+ "country": "Haiti",
2146
+ "code": "ht"
2147
+ }, {
2148
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1fa.svg",
2149
+ "country": "Hungary",
2150
+ "code": "hu"
2151
+ }, {
2152
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1e8.svg",
2153
+ "country": "Canary Islands",
2154
+ "code": "ic"
2155
+ }, {
2156
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1e9.svg",
2157
+ "country": "Indonesia",
2158
+ "code": "id"
2159
+ }, {
2160
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1ea.svg",
2161
+ "country": "Ireland",
2162
+ "code": "ie"
2163
+ }, {
2164
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f1.svg",
2165
+ "country": "Israel",
2166
+ "code": "il"
2167
+ }, {
2168
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f2.svg",
2169
+ "country": "Isle of Man",
2170
+ "code": "im"
2171
+ }, {
2172
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f3.svg",
2173
+ "country": "India",
2174
+ "code": "in"
2175
+ }, {
2176
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f4.svg",
2177
+ "country": "British Indian Ocean Territory",
2178
+ "code": "io"
2179
+ }, {
2180
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f6.svg",
2181
+ "country": "Iraq",
2182
+ "code": "iq"
2183
+ }, {
2184
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f7.svg",
2185
+ "country": "Iran"
2186
+ }, {
2187
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f8.svg",
2188
+ "country": "Iceland",
2189
+ "code": "is"
2190
+ }, {
2191
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f9.svg",
2192
+ "country": "Italy",
2193
+ "code": "it"
2194
+ }, {
2195
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1ea.svg",
2196
+ "country": "Jersey",
2197
+ "code": "je"
2198
+ }, {
2199
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f2.svg",
2200
+ "country": "Jamaica",
2201
+ "code": "jm"
2202
+ }, {
2203
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f4.svg",
2204
+ "country": "Jordan",
2205
+ "code": "jo"
2206
+ }, {
2207
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f5.svg",
2208
+ "country": "Japan",
2209
+ "code": "jp"
2210
+ }, {
2211
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ea.svg",
2212
+ "country": "Kenya",
2213
+ "code": "ke"
2214
+ }, {
2215
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ec.svg",
2216
+ "country": "Kyrgyzstan",
2217
+ "code": "kg"
2218
+ }, {
2219
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ed.svg",
2220
+ "country": "Cambodia",
2221
+ "code": "kh"
2222
+ }, {
2223
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ee.svg",
2224
+ "country": "Kiribati",
2225
+ "code": "ki"
2226
+ }, {
2227
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f2.svg",
2228
+ "country": "Comoros",
2229
+ "code": "km"
2230
+ }, {
2231
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f3.svg",
2232
+ "country": "St. Kitts & Nevis",
2233
+ "code": "kn"
2234
+ }, {
2235
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f5.svg",
2236
+ "country": "North Korea",
2237
+ "code": "kp"
2238
+ }, {
2239
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f7.svg",
2240
+ "country": "South Korea",
2241
+ "code": "kr"
2242
+ }, {
2243
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1fc.svg",
2244
+ "country": "Kuwait",
2245
+ "code": "kw"
2246
+ }, {
2247
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1fe.svg",
2248
+ "country": "Cayman Islands",
2249
+ "code": "ky"
2250
+ }, {
2251
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ff.svg",
2252
+ "country": "Kazakhstan",
2253
+ "code": "kz"
2254
+ }, {
2255
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e6.svg",
2256
+ "country": "Laos",
2257
+ "code": "la"
2258
+ }, {
2259
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e7.svg",
2260
+ "country": "Lebanon",
2261
+ "code": "lb"
2262
+ }, {
2263
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e8.svg",
2264
+ "country": "St. Lucia",
2265
+ "code": "lc"
2266
+ }, {
2267
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1ee.svg",
2268
+ "country": "Liechtenstein",
2269
+ "code": "li"
2270
+ }, {
2271
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f0.svg",
2272
+ "country": "Sri Lanka",
2273
+ "code": "lk"
2274
+ }, {
2275
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f7.svg",
2276
+ "country": "Liberia",
2277
+ "code": "lr"
2278
+ }, {
2279
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f8.svg",
2280
+ "country": "Lesotho",
2281
+ "code": "ls"
2282
+ }, {
2283
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f9.svg",
2284
+ "country": "Lithuania",
2285
+ "code": "lt"
2286
+ }, {
2287
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fa.svg",
2288
+ "country": "Luxembourg",
2289
+ "code": "lu"
2290
+ }, {
2291
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fb.svg",
2292
+ "country": "Latvia",
2293
+ "code": "lv"
2294
+ }, {
2295
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fe.svg",
2296
+ "country": "Libya",
2297
+ "code": "ly"
2298
+ }, {
2299
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e6.svg",
2300
+ "country": "Morocco",
2301
+ "code": "ma"
2302
+ }, {
2303
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e8.svg",
2304
+ "country": "Monaco",
2305
+ "code": "mc"
2306
+ }, {
2307
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e9.svg",
2308
+ "country": "Moldova",
2309
+ "code": "md"
2310
+ }, {
2311
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ea.svg",
2312
+ "country": "Montenegro",
2313
+ "code": "me"
2314
+ }, {
2315
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1eb.svg",
2316
+ "country": "St. Martin",
2317
+ "code": "mf"
2318
+ }, {
2319
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ec.svg",
2320
+ "country": "Madagascar",
2321
+ "code": "mg"
2322
+ }, {
2323
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ed.svg",
2324
+ "country": "Marshall Islands",
2325
+ "code": "mh"
2326
+ }, {
2327
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f0.svg",
2328
+ "country": "North Macedonia",
2329
+ "code": "mk"
2330
+ }, {
2331
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f1.svg",
2332
+ "country": "Mali",
2333
+ "code": "ml"
2334
+ }, {
2335
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f2.svg",
2336
+ "country": "Myanmar (Burma)",
2337
+ "code": "mm"
2338
+ }, {
2339
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f3.svg",
2340
+ "country": "Mongolia",
2341
+ "code": "mn"
2342
+ }, {
2343
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f4.svg",
2344
+ "country": "Macao Sar China",
2345
+ "code": "mo"
2346
+ }, {
2347
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f5.svg",
2348
+ "country": "Northern Mariana Islands",
2349
+ "code": "mp"
2350
+ }, {
2351
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f6.svg",
2352
+ "country": "Martinique",
2353
+ "code": "mq"
2354
+ }, {
2355
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f7.svg",
2356
+ "country": "Mauritania",
2357
+ "code": "mr"
2358
+ }, {
2359
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f8.svg",
2360
+ "country": "Montserrat",
2361
+ "code": "ms"
2362
+ }, {
2363
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f9.svg",
2364
+ "country": "Malta",
2365
+ "code": "mt"
2366
+ }, {
2367
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fa.svg",
2368
+ "country": "Mauritius",
2369
+ "code": "mu"
2370
+ }, {
2371
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fb.svg",
2372
+ "country": "Maldives",
2373
+ "code": "mv"
2374
+ }, {
2375
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fc.svg",
2376
+ "country": "Malawi",
2377
+ "code": "mw"
2378
+ }, {
2379
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fd.svg",
2380
+ "country": "Mexico",
2381
+ "code": "mx"
2382
+ }, {
2383
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fe.svg",
2384
+ "country": "Malaysia",
2385
+ "code": "my"
2386
+ }, {
2387
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ff.svg",
2388
+ "country": "Mozambique",
2389
+ "code": "mz"
2390
+ }, {
2391
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1e6.svg",
2392
+ "country": "Namibia",
2393
+ "code": "na"
2394
+ }, {
2395
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1e8.svg",
2396
+ "country": "New Caledonia",
2397
+ "code": "nc"
2398
+ }, {
2399
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ea.svg",
2400
+ "country": "Niger",
2401
+ "code": "ne"
2402
+ }, {
2403
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1eb.svg",
2404
+ "country": "Norfolk Island",
2405
+ "code": "nf"
2406
+ }, {
2407
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ec.svg",
2408
+ "country": "Nigeria",
2409
+ "code": "ng"
2410
+ }, {
2411
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ee.svg",
2412
+ "country": "Nicaragua",
2413
+ "code": "ni"
2414
+ }, {
2415
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f1.svg",
2416
+ "country": "Netherlands",
2417
+ "code": "nl"
2418
+ }, {
2419
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f4.svg",
2420
+ "country": "Norway",
2421
+ "code": "no"
2422
+ }, {
2423
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f5.svg",
2424
+ "country": "Nepal",
2425
+ "code": "np"
2426
+ }, {
2427
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f7.svg",
2428
+ "country": "Nauru",
2429
+ "code": "nr"
2430
+ }, {
2431
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1fa.svg",
2432
+ "country": "Niue",
2433
+ "code": "nu"
2434
+ }, {
2435
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ff.svg",
2436
+ "country": "New Zealand",
2437
+ "code": "nz"
2438
+ }, {
2439
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f4-1f1f2.svg",
2440
+ "country": "Oman",
2441
+ "code": "om"
2442
+ }, {
2443
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1e6.svg",
2444
+ "country": "Panama",
2445
+ "code": "pa"
2446
+ }, {
2447
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ea.svg",
2448
+ "country": "Peru",
2449
+ "code": "pe"
2450
+ }, {
2451
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1eb.svg",
2452
+ "country": "French Polynesia",
2453
+ "code": "pf"
2454
+ }, {
2455
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ec.svg",
2456
+ "country": "Papua New Guinea",
2457
+ "code": "pg"
2458
+ }, {
2459
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ed.svg",
2460
+ "country": "Philippines",
2461
+ "code": "ph"
2462
+ }, {
2463
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f0.svg",
2464
+ "country": "Pakistan",
2465
+ "code": "pk"
2466
+ }, {
2467
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f1.svg",
2468
+ "country": "Poland",
2469
+ "code": "pl"
2470
+ }, {
2471
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f2.svg",
2472
+ "country": "St. Pierre & Miquelon",
2473
+ "code": "pm"
2474
+ }, {
2475
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f3.svg",
2476
+ "country": "Pitcairn Islands",
2477
+ "code": "pn"
2478
+ }, {
2479
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f7.svg",
2480
+ "country": "Puerto Rico",
2481
+ "code": "pr"
2482
+ }, {
2483
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f8.svg",
2484
+ "country": "Palestinian Territories",
2485
+ "code": "ps"
2486
+ }, {
2487
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f9.svg",
2488
+ "country": "Portugal",
2489
+ "code": "pt"
2490
+ }, {
2491
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1fc.svg",
2492
+ "country": "Palau",
2493
+ "code": "pw"
2494
+ }, {
2495
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1fe.svg",
2496
+ "country": "Paraguay",
2497
+ "code": "py"
2498
+ }, {
2499
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f6-1f1e6.svg",
2500
+ "country": "Qatar",
2501
+ "code": "qa"
2502
+ }, {
2503
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1ea.svg",
2504
+ "country": "Réunion",
2505
+ "code": "re"
2506
+ }, {
2507
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1f4.svg",
2508
+ "country": "Romania",
2509
+ "code": "ro"
2510
+ }, {
2511
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1f8.svg",
2512
+ "country": "Serbia",
2513
+ "code": "yu"
2514
+ }, {
2515
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1fa.svg",
2516
+ "country": "Russia",
2517
+ "code": "ru"
2518
+ }, {
2519
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1fc.svg",
2520
+ "country": "Rwanda",
2521
+ "code": "rw"
2522
+ }, {
2523
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e6.svg",
2524
+ "country": "Saudi Arabia",
2525
+ "code": "sa"
2526
+ }, {
2527
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e7.svg",
2528
+ "country": "Solomon Islands",
2529
+ "code": "sb"
2530
+ }, {
2531
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e8.svg",
2532
+ "country": "Seychelles",
2533
+ "code": "sc"
2534
+ }, {
2535
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e9.svg",
2536
+ "country": "Sudan",
2537
+ "code": "sd"
2538
+ }, {
2539
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ea.svg",
2540
+ "country": "Sweden",
2541
+ "code": "se"
2542
+ }, {
2543
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ec.svg",
2544
+ "country": "Singapore",
2545
+ "code": "sg"
2546
+ }, {
2547
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ed.svg",
2548
+ "country": "St. Helena",
2549
+ "code": "sh"
2550
+ }, {
2551
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ee.svg",
2552
+ "country": "Slovenia",
2553
+ "code": "si"
2554
+ }, {
2555
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ef.svg",
2556
+ "country": "Svalbard & Jan Mayen",
2557
+ "code": "sj"
2558
+ }, {
2559
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f0.svg",
2560
+ "country": "Slovakia",
2561
+ "code": "sk"
2562
+ }, {
2563
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f1.svg",
2564
+ "country": "Sierra Leone",
2565
+ "code": "sl"
2566
+ }, {
2567
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f2.svg",
2568
+ "country": "San Marino",
2569
+ "code": "sm"
2570
+ }, {
2571
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f3.svg",
2572
+ "country": "Senegal",
2573
+ "code": "sn"
2574
+ }, {
2575
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f4.svg",
2576
+ "country": "Somalia",
2577
+ "code": "so"
2578
+ }, {
2579
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f7.svg",
2580
+ "country": "Suriname",
2581
+ "code": "sr"
2582
+ }, {
2583
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f8.svg",
2584
+ "country": "South Sudan",
2585
+ "code": "ss"
2586
+ }, {
2587
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f9.svg",
2588
+ "country": "São Tomé & Príncipe",
2589
+ "code": "st"
2590
+ }, {
2591
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fb.svg",
2592
+ "country": "El Salvador",
2593
+ "code": "sv"
2594
+ }, {
2595
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fd.svg",
2596
+ "country": "Sint Maarten",
2597
+ "code": "sx"
2598
+ }, {
2599
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fe.svg",
2600
+ "country": "Syria",
2601
+ "code": "sy"
2602
+ }, {
2603
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ff.svg",
2604
+ "country": "Eswatini",
2605
+ "code": "sz"
2606
+ }, {
2607
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e6.svg",
2608
+ "country": "Tristan Da Cunha",
2609
+ "code": "sh"
2610
+ }, {
2611
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e8.svg",
2612
+ "country": "Turks & Caicos Islands",
2613
+ "code": "tc"
2614
+ }, {
2615
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e9.svg",
2616
+ "country": "Chad",
2617
+ "code": "td"
2618
+ }, {
2619
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1eb.svg",
2620
+ "country": "French Southern Territories",
2621
+ "code": "tf"
2622
+ }, {
2623
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ec.svg",
2624
+ "country": "Togo",
2625
+ "code": "tg"
2626
+ }, {
2627
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ed.svg",
2628
+ "country": "Thailand",
2629
+ "code": "th"
2630
+ }, {
2631
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ef.svg",
2632
+ "country": "Tajikistan",
2633
+ "code": "tj"
2634
+ }, {
2635
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f0.svg",
2636
+ "country": "Tokelau",
2637
+ "code": "tk"
2638
+ }, {
2639
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f1.svg",
2640
+ "country": "Timor-Leste",
2641
+ "code": "tl"
2642
+ }, {
2643
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f2.svg",
2644
+ "country": "Turkmenistan",
2645
+ "code": "tm"
2646
+ }, {
2647
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f3.svg",
2648
+ "country": "Tunisia",
2649
+ "code": "tn"
2650
+ }, {
2651
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f4.svg",
2652
+ "country": "Tonga",
2653
+ "code": "to"
2654
+ }, {
2655
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f7.svg",
2656
+ "country": "Turkey",
2657
+ "code": "tr"
2658
+ }, {
2659
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f9.svg",
2660
+ "country": "Trinidad & Tobago",
2661
+ "code": "tt"
2662
+ }, {
2663
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1fb.svg",
2664
+ "country": "Tuvalu",
2665
+ "code": "tv"
2666
+ }, {
2667
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1fc.svg",
2668
+ "country": "Taiwan",
2669
+ "code": "tw"
2670
+ }, {
2671
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ff.svg",
2672
+ "country": "Tanzania",
2673
+ "code": "tz"
2674
+ }, {
2675
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1e6.svg",
2676
+ "country": "Ukraine",
2677
+ "code": "ua"
2678
+ }, {
2679
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1ec.svg",
2680
+ "country": "Uganda",
2681
+ "code": "ug"
2682
+ }, {
2683
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f2.svg",
2684
+ "country": "U.S. Outlying Islands",
2685
+ "code": "um"
2686
+ }, {
2687
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f3.svg",
2688
+ "country": "United Nations",
2689
+ "code": "un"
2690
+ }, {
2691
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f8.svg",
2692
+ "country": "United States",
2693
+ "code": "us"
2694
+ }, {
2695
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1fe.svg",
2696
+ "country": "Uruguay",
2697
+ "code": "uy"
2698
+ }, {
2699
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1ff.svg",
2700
+ "country": "Uzbekistan",
2701
+ "code": "uz"
2702
+ }, {
2703
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1e6.svg",
2704
+ "country": "Vatican City",
2705
+ "code": "va"
2706
+ }, {
2707
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1e8.svg",
2708
+ "country": "St. Vincent & Grenadines",
2709
+ "code": "vc"
2710
+ }, {
2711
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ea.svg",
2712
+ "country": "Venezuela",
2713
+ "code": "ve"
2714
+ }, {
2715
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ec.svg",
2716
+ "country": "British Virgin Islands",
2717
+ "code": "vg"
2718
+ }, {
2719
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ee.svg",
2720
+ "country": "U.S. Virgin Islands",
2721
+ "code": "vi"
2722
+ }, {
2723
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1f3.svg",
2724
+ "country": "Vietnam",
2725
+ "code": "vn"
2726
+ }, {
2727
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1fa.svg",
2728
+ "country": "Vanuatu",
2729
+ "code": "vu"
2730
+ }, {
2731
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fc-1f1eb.svg",
2732
+ "country": "Wallis & Futuna",
2733
+ "code": "wf"
2734
+ }, {
2735
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fc-1f1f8.svg",
2736
+ "country": "Samoa",
2737
+ "code": "ws"
2738
+ }, {
2739
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fd-1f1f0.svg",
2740
+ "country": "Kosovo",
2741
+ "code": "xk"
2742
+ }, {
2743
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fe-1f1ea.svg",
2744
+ "country": "Yemen",
2745
+ "code": "ye"
2746
+ }, {
2747
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1fe-1f1f9.svg",
2748
+ "country": "Mayotte",
2749
+ "code": "yt"
2750
+ }, {
2751
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1e6.svg",
2752
+ "country": "South Africa",
2753
+ "code": "za"
2754
+ }, {
2755
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1f2.svg",
2756
+ "country": "Zambia",
2757
+ "code": "zm"
2758
+ }, {
2759
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1fc.svg",
2760
+ "country": "Zimbabwe",
2761
+ "code": "zw"
2762
+ }, {
2763
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg",
2764
+ "country": "England",
2765
+ "code": "uk"
2766
+ }, {
2767
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg",
2768
+ "country": "Scotland",
2769
+ "code": "uk"
2770
+ }, {
2771
+ "flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg",
2772
+ "country": "Wales",
2773
+ "code": "uk"
2774
+ }];
2775
+
2776
+ const useClickOutside = (ref, callback) => {
2777
+ React.useEffect(() => {
2778
+ const element = ref === null || ref === void 0 ? void 0 : ref.current;
2779
+ const listener = evt => {
2780
+ if (!element || element.contains(evt.target)) return;
2781
+ callback(evt);
2782
+ };
2783
+ document.addEventListener('mousedown', listener);
2784
+ document.addEventListener('touchstart', listener);
2785
+ return () => {
2786
+ document.removeEventListener('mousedown', listener);
2787
+ document.removeEventListener('touchstart', listener);
2788
+ };
2789
+ }, [ref, callback]);
2790
+ };
2791
+ const useKeyPress = targetKey => {
2792
+ const [pressed, setPressed] = React.useState(false);
2793
+ React.useEffect(() => {
2794
+ const onKeydown = e => {
2795
+ const keyPressed = e.key;
2796
+ if (keyPressed === targetKey) setPressed(true);
2797
+ };
2798
+ const onKeyup = e => {
2799
+ const keyPressed = e.key;
2800
+ if (keyPressed === targetKey) setPressed(false);
2801
+ };
2802
+ window.addEventListener('keydown', onKeydown);
2803
+ window.addEventListener('keyup', onKeyup);
2804
+ return () => {
2805
+ window.removeEventListener('keydown', onKeydown);
2806
+ window.removeEventListener('keyup', onKeyup);
2807
+ };
2808
+ }, [targetKey]);
2809
+ return pressed;
2810
+ };
2811
+ const CountrySelectStyled = styled__default["default"].div.withConfig({
2812
+ displayName: "country__CountrySelectStyled",
2813
+ componentId: "sc-93yqgk-0"
2814
+ })(["", ";"], ({
2815
+ theme
2816
+ }) => {
2817
+ return styled.css(["div[aria-hidden=\"true\"]{display:none;}[aria-invalid='true']{background:#F9D7D7!important;border:1px solid #ca2121 !important;}[aria-invalid='false']{background:#D5FCE9 !important;border:1px solid #008A48 !important;}.country-select__label{display:block;margin:0 0 8px;}.country-select__wrapper{padding:16px 8px;margin:8px 0 0;}.country-select__btn--toggle{padding:8px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:inherit;background:#fff;border-radius:3px;border:1px solid #949494;height:40px;width:100%;max-width:100%;padding:8px;.country-select__icons{margin-left:auto;display:flex;align-items:center;}}.country-select__input{margin:0 8px 16px;font-family:inherit;background-color:#fff;border-radius:3px;border:1px solid #949494;height:40px;width:100%;max-width:calc(100% - 16px);padding:8px;}.country-select__options{overflow-y:scroll;height:247px;list-style:none;padding:0;margin:0;}.country-select__option{padding:8px;display:flex;align-items:center;cursor:pointer;background:transparent;border:none;width:100%;svg{margin-right:4px;}}img{margin-left:4px;width:16px;height:16px;}.required{color:", ";}"], theme.colors.red_darker);
2818
+ });
2819
+ const CountrySelect = ({
2820
+ formId,
2821
+ id,
2822
+ field,
2823
+ validations,
2824
+ defaultValue
2825
+ }) => {
2826
+ var _options$filter, _options$filter$;
2827
+ const [options, setOptions] = React.useState(countries);
2828
+ const [selected, setSelected] = React.useState(defaultValue || '');
2829
+ const [toggled, toggleDropdown] = React.useState(false);
2830
+ React.useEffect(() => {
2831
+ if (defaultValue) {
2832
+ var _countries$filter, _countries$filter$;
2833
+ const defaultCountry = ((_countries$filter = countries.filter(({
2834
+ country
2835
+ }) => country === defaultValue)) === null || _countries$filter === void 0 ? void 0 : (_countries$filter$ = _countries$filter[0]) === null || _countries$filter$ === void 0 ? void 0 : _countries$filter$.country) || '';
2836
+ if (defaultCountry) setSelected(defaultCountry);
2837
+ }
2838
+ }, [defaultValue]);
2839
+ const isRequired = validations && validations.required ? true : false;
2840
+ const onChange = value => {
2841
+ if (value && value.length >= 1) {
2842
+ const opts = countries;
2843
+ const optsfiltered = opts.filter(({
2844
+ country
2845
+ }) => country.toLowerCase().includes(value.toLowerCase()));
2846
+ setOptions(optsfiltered);
2847
+ } else setOptions(countries);
2848
+ };
2849
+
2850
+ // Validation
2851
+ const dispatch = reactRedux.useDispatch();
2852
+ const selectFormValidationSent = makeSelectFormValidationSent(formId);
2853
+ const formValidationSent = reactRedux.useSelector(selectFormValidationSent);
2854
+ const [a11yInvalid, setA11yInvalid] = React.useState('');
2855
+ React.useEffect(() => {
2856
+ if (formValidationSent) setA11yInvalid(doA11yValidation(selected, field, true));
2857
+ }, [formValidationSent]);
2858
+ const elOptionRef = React.useRef();
2859
+ const elContainerRef = React.useRef();
2860
+ const close = () => toggleDropdown(false);
2861
+ useClickOutside(elContainerRef, close);
2862
+
2863
+ // Keyboard Navigation
2864
+ const isArrowUpPressed = useKeyPress('ArrowUp');
2865
+ const isArrowDownPressed = useKeyPress('ArrowDown');
2866
+ const isEscapePressed = useKeyPress('Escape');
2867
+ const [initState, setInitState] = React.useState({
2868
+ selectedIndex: -1
2869
+ });
2870
+ const updateState = (type, i) => {
2871
+ const max = options.length - 1;
2872
+ if (type === 'ARROW_UP') {
2873
+ let updatedState = {
2874
+ ...initState
2875
+ };
2876
+ const updatedIndex = updatedState.selectedIndex !== 0 ? updatedState.selectedIndex - 1 : max;
2877
+ updatedState.selectedIndex = updatedIndex;
2878
+ setInitState(updatedState);
2879
+ }
2880
+ if (type === 'ARROW_DOWN') {
2881
+ let updatedState = {
2882
+ ...initState
2883
+ };
2884
+ const updatedIndex = updatedState.selectedIndex !== max ? updatedState.selectedIndex + 1 : 0;
2885
+ updatedState.selectedIndex = updatedIndex;
2886
+ setInitState(updatedState);
2887
+ }
2888
+ if (type === 'SELECT') {
2889
+ let updatedState = {
2890
+ ...initState
2891
+ };
2892
+ updatedState.selectedIndex = i;
2893
+ setInitState(updatedState);
2894
+ }
2895
+ };
2896
+ React.useEffect(() => {
2897
+ if (toggled) {
2898
+ if (isArrowDownPressed) updateState('ARROW_DOWN');
2899
+ if (isArrowUpPressed) updateState('ARROW_UP');
2900
+ if (isEscapePressed) toggleDropdown(false);
2901
+ doFocus();
2902
+ }
2903
+ }, [toggled, isArrowDownPressed, isArrowUpPressed, isEscapePressed]);
2904
+ const doFocus = () => {
2905
+ var _element$;
2906
+ const attr = `[aria-pressed="true"]`;
2907
+ const element = document.querySelectorAll(attr);
2908
+ if (element && element.length >= 1) (_element$ = element[0]) === null || _element$ === void 0 ? void 0 : _element$.focus();
2909
+ };
2910
+ return /*#__PURE__*/React__default["default"].createElement(CountrySelectStyled, {
2911
+ ref: elContainerRef,
2912
+ role: "region",
2913
+ id: "country",
2914
+ "aria-live": "polite"
2915
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
2916
+ className: "country-select__label",
2917
+ role: "label",
2918
+ "aria-label": `Select a country ${isRequired ? 'required' : 'optional'} ${selected}`,
2919
+ htmlFor: "country"
2920
+ }, "Select a country", isRequired ? /*#__PURE__*/React__default["default"].createElement("span", {
2921
+ className: "label__required"
2922
+ }, "(required)") : /*#__PURE__*/React__default["default"].createElement("span", {
2923
+ className: "label__optional"
2924
+ }, "(optional)")), /*#__PURE__*/React__default["default"].createElement("button", {
2925
+ className: "country-select__btn--toggle",
2926
+ "aria-controls": "country",
2927
+ "aria-invalid": a11yInvalid,
2928
+ "aria-expanded": toggled,
2929
+ onClick: e => {
2930
+ e.preventDefault();
2931
+ toggleDropdown(!toggled);
2932
+ }
2933
+ }, selected, selected && /*#__PURE__*/React__default["default"].createElement("img", {
2934
+ src: (_options$filter = options.filter(opt => opt.country === selected)) === null || _options$filter === void 0 ? void 0 : (_options$filter$ = _options$filter[0]) === null || _options$filter$ === void 0 ? void 0 : _options$filter$.flag,
2935
+ alt: ""
2936
+ }), /*#__PURE__*/React__default["default"].createElement("span", {
2937
+ className: "sr-only"
2938
+ }, "Open the Country select searchable dropdown"), /*#__PURE__*/React__default["default"].createElement("div", {
2939
+ className: "country-select__icons"
2940
+ }, toggled ? /*#__PURE__*/React__default["default"].createElement("svg", {
2941
+ xmlns: "http://www.w3.org/2000/svg",
2942
+ width: "24",
2943
+ height: "24",
2944
+ fill: "none",
2945
+ focusable: "false",
2946
+ "aria-hidden": "true",
2947
+ role: "presentation"
2948
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
2949
+ fill: "#333",
2950
+ d: "m7 15 4.293-4.293L15.586 15 17 13.586l-5.707-5.707-5.707 5.707L7 15Z"
2951
+ })) : /*#__PURE__*/React__default["default"].createElement("svg", {
2952
+ xmlns: "http://www.w3.org/2000/svg",
2953
+ width: "24",
2954
+ height: "24",
2955
+ fill: "none",
2956
+ focusable: "false",
2957
+ "aria-hidden": "true",
2958
+ role: "presentation"
2959
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
2960
+ fill: "#333",
2961
+ d: "m16 8-4.293 4.293L7.414 8 6 9.414l5.707 5.707 5.707-5.707L16 8Z"
2962
+ })), a11yInvalid == 'true' && /*#__PURE__*/React__default["default"].createElement("svg", {
2963
+ className: "svg",
2964
+ xmlns: "http://www.w3.org/2000/svg",
2965
+ focusable: "false",
2966
+ "aria-hidden": "true",
2967
+ role: "presentation",
2968
+ width: "16",
2969
+ height: "16",
2970
+ fill: "none"
2971
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
2972
+ fill: "#333",
2973
+ d: "M12.2 3.807a.664.664 0 0 0-.94 0L8 7.06 4.74 3.8a.665.665 0 0 0-.94.94L7.06 8 3.8 11.26a.664.664 0 1 0 .94.94L8 8.94l3.26 3.26a.665.665 0 0 0 .94-.94L8.94 8l3.26-3.26a.668.668 0 0 0 0-.933Z"
2974
+ })), a11yInvalid == 'false' && /*#__PURE__*/React__default["default"].createElement("svg", {
2975
+ className: "svg",
2976
+ xmlns: "http://www.w3.org/2000/svg",
2977
+ focusable: "false",
2978
+ "aria-hidden": "true",
2979
+ role: "presentation",
2980
+ width: "16",
2981
+ height: "16",
2982
+ fill: "none"
2983
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
2984
+ fill: "#333",
2985
+ d: "m2 8 4.418 4.667L14 4.659l-1.246-1.326-6.336 6.692-3.18-3.332L2 8Z"
2986
+ })))), /*#__PURE__*/React__default["default"].createElement("div", {
2987
+ className: "country-select__wrapper",
2988
+ "aria-hidden": !toggled
2989
+ }, /*#__PURE__*/React__default["default"].createElement("label", {
2990
+ htmlFor: "search-country-name",
2991
+ className: "sr-only"
2992
+ }, "Search country name"), /*#__PURE__*/React__default["default"].createElement("input", {
2993
+ id: "search-country-name",
2994
+ className: "country-select__input",
2995
+ placeholder: "Search country name",
2996
+ onChange: e => {
2997
+ e.preventDefault();
2998
+ onChange(e.target.value);
2999
+ }
3000
+ }), /*#__PURE__*/React__default["default"].createElement("ul", {
3001
+ id: "contry",
3002
+ role: "select",
3003
+ name: "country",
3004
+ className: "country-select__options"
3005
+ }, options.map((option, i) => {
3006
+ const isSelected = selected === option.country;
3007
+ return /*#__PURE__*/React__default["default"].createElement("li", {
3008
+ key: i,
3009
+ "aria-hidden": isSelected,
3010
+ "aria-selected": isSelected,
3011
+ role: "option"
3012
+ }, /*#__PURE__*/React__default["default"].createElement(CountryOption, {
3013
+ onClick: e => {
3014
+ e.preventDefault();
3015
+ setSelected(option.country);
3016
+ dispatch(setValue(formId, id, e.target.value));
3017
+ setA11yInvalid(doA11yValidation(e.target.value, field, formValidationSent));
3018
+ },
3019
+ onKeyDown: e => {
3020
+ if (e.key === 'Enter' || e.key === ' ') {
3021
+ setSelected(option.country);
3022
+ dispatch(setValue(formId, id, e.target.value));
3023
+ setA11yInvalid(doA11yValidation(e.target.value, field, formValidationSent));
3024
+ updateState('SELECT', i);
3025
+ e.target.blur();
3026
+ }
3027
+ },
3028
+ ref: elOptionRef,
3029
+ value: option.country,
3030
+ "aria-pressed": i === initState.selectedIndex,
3031
+ tabIndex: 0
3032
+ }, isSelected && /*#__PURE__*/React__default["default"].createElement("svg", {
3033
+ focusable: "false",
3034
+ "aria-hidden": "true",
3035
+ role: "presentation",
3036
+ xmlns: "http://www.w3.org/2000/svg",
3037
+ width: "16px",
3038
+ height: "16px",
3039
+ viewBox: "0 0 24 24",
3040
+ fill: "none"
3041
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
3042
+ fill: "#333",
3043
+ d: "m3 12 6.627 7L21 6.988 19.131 5 9.627 15.038 4.856 10.04 3 12Z"
3044
+ })), option.country, /*#__PURE__*/React__default["default"].createElement("img", {
3045
+ src: option.flag,
3046
+ alt: ""
3047
+ })));
3048
+ }))));
3049
+ };
3050
+ const CountryOption = /*#__PURE__*/React.forwardRef(function SelectItem(props, ref = null) {
3051
+ const {
3052
+ className,
3053
+ children,
3054
+ ...rest
3055
+ } = props;
3056
+ return /*#__PURE__*/React__default["default"].createElement("button", _extends({
3057
+ className: "country-select__option",
3058
+ role: "option",
3059
+ ref: ref
3060
+ }, rest), children);
3061
+ });
3062
+
1714
3063
  const FormComposer = ({
1715
3064
  fields,
1716
3065
  formData,
@@ -1863,6 +3212,18 @@ const FormComposer = ({
1863
3212
  placeholder: field.editor
1864
3213
  });
1865
3214
  }
3215
+ case 'country':
3216
+ {
3217
+ var _field$default;
3218
+ return /*#__PURE__*/React__default["default"].createElement(CountrySelect, {
3219
+ key: `${field.id}-${idx}`,
3220
+ formId: formId,
3221
+ field: field,
3222
+ id: field.id,
3223
+ validations: field.validations,
3224
+ defaultValue: field === null || field === void 0 ? void 0 : (_field$default = field.default) === null || _field$default === void 0 ? void 0 : _field$default[defaultLanguage]
3225
+ });
3226
+ }
1866
3227
  }
1867
3228
  });
1868
3229
  };