vue3-q-tel-input-sorted
Version:
Vue 3 telephone input implemented over Quasar framework
1,218 lines โข 424 kB
JavaScript
import { computed, markRaw, defineComponent, h, withDirectives, getCurrentInstance, ref, reactive, onMounted, watch, onBeforeUpdate, inject, onBeforeUnmount, nextTick, onDeactivated, onActivated, Transition, unref, onUnmounted, Teleport, onBeforeMount, onUpdated, mergeModels, useSlots, useModel, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, createElementBlock, normalizeClass, toDisplayString, createCommentVNode, createVNode, renderList, renderSlot, normalizeProps, guardReactiveProps } from "vue";
const countryInformation = [
{ name: "South Georgia", iso2: "GS", dialCode: "+500", dialCodeSuffixes: [], flag: "๐ฌ๐ธ", invalid: false },
{ name: "Grenada", iso2: "GD", dialCode: "+1473", dialCodeSuffixes: [], flag: "๐ฌ๐ฉ", invalid: false },
{ name: "Switzerland", iso2: "CH", dialCode: "+41", dialCodeSuffixes: [], flag: "๐จ๐ญ", invalid: false },
{ name: "Sierra Leone", iso2: "SL", dialCode: "+232", dialCodeSuffixes: [], flag: "๐ธ๐ฑ", invalid: false },
{ name: "Hungary", iso2: "HU", dialCode: "+36", dialCodeSuffixes: [], flag: "๐ญ๐บ", invalid: false },
{ name: "Taiwan", iso2: "TW", dialCode: "+886", dialCodeSuffixes: [], flag: "๐น๐ผ", invalid: false },
{ name: "Wallis and Futuna", iso2: "WF", dialCode: "+681", dialCodeSuffixes: [], flag: "๐ผ๐ซ", invalid: false },
{ name: "Barbados", iso2: "BB", dialCode: "+1246", dialCodeSuffixes: [], flag: "๐ง๐ง", invalid: false },
{ name: "Pitcairn Islands", iso2: "PN", dialCode: "+64", dialCodeSuffixes: [], flag: "๐ต๐ณ", invalid: false },
{ name: "Ivory Coast", iso2: "CI", dialCode: "+225", dialCodeSuffixes: [], flag: "๐จ๐ฎ", invalid: false },
{ name: "Tunisia", iso2: "TN", dialCode: "+216", dialCodeSuffixes: [], flag: "๐น๐ณ", invalid: false },
{ name: "Italy", iso2: "IT", dialCode: "+39", dialCodeSuffixes: [], flag: "๐ฎ๐น", invalid: false },
{ name: "Benin", iso2: "BJ", dialCode: "+229", dialCodeSuffixes: [], flag: "๐ง๐ฏ", invalid: false },
{ name: "Indonesia", iso2: "ID", dialCode: "+62", dialCodeSuffixes: [], flag: "๐ฎ๐ฉ", invalid: false },
{ name: "Cape Verde", iso2: "CV", dialCode: "+238", dialCodeSuffixes: [], flag: "๐จ๐ป", invalid: false },
{ name: "Saint Kitts and Nevis", iso2: "KN", dialCode: "+1869", dialCodeSuffixes: [], flag: "๐ฐ๐ณ", invalid: false },
{ name: "Laos", iso2: "LA", dialCode: "+856", dialCodeSuffixes: [], flag: "๐ฑ๐ฆ", invalid: false },
{ name: "Caribbean Netherlands", iso2: "BQ", dialCode: "+599", dialCodeSuffixes: [], flag: "๐ง๐ถ", invalid: false },
{ name: "Uganda", iso2: "UG", dialCode: "+256", dialCodeSuffixes: [], flag: "๐บ๐ฌ", invalid: false },
{ name: "Andorra", iso2: "AD", dialCode: "+376", dialCodeSuffixes: [], flag: "๐ฆ๐ฉ", invalid: false },
{ name: "Burundi", iso2: "BI", dialCode: "+257", dialCodeSuffixes: [], flag: "๐ง๐ฎ", invalid: false },
{ name: "South Africa", iso2: "ZA", dialCode: "+27", dialCodeSuffixes: [], flag: "๐ฟ๐ฆ", invalid: false },
{ name: "France", iso2: "FR", dialCode: "+33", dialCodeSuffixes: [], flag: "๐ซ๐ท", invalid: false },
{ name: "Libya", iso2: "LY", dialCode: "+218", dialCodeSuffixes: [], flag: "๐ฑ๐พ", invalid: false },
{ name: "Mexico", iso2: "MX", dialCode: "+52", dialCodeSuffixes: [], flag: "๐ฒ๐ฝ", invalid: false },
{ name: "Gabon", iso2: "GA", dialCode: "+241", dialCodeSuffixes: [], flag: "๐ฌ๐ฆ", invalid: false },
{ name: "Northern Mariana Islands", iso2: "MP", dialCode: "+1670", dialCodeSuffixes: [], flag: "๐ฒ๐ต", invalid: false },
{ name: "North Macedonia", iso2: "MK", dialCode: "+389", dialCodeSuffixes: [], flag: "๐ฒ๐ฐ", invalid: false },
{ name: "China", iso2: "CN", dialCode: "+86", dialCodeSuffixes: [], flag: "๐จ๐ณ", invalid: false },
{ name: "Yemen", iso2: "YE", dialCode: "+967", dialCodeSuffixes: [], flag: "๐พ๐ช", invalid: false },
{ name: "Saint Barthรฉlemy", iso2: "BL", dialCode: "+590", dialCodeSuffixes: [], flag: "๐ง๐ฑ", invalid: false },
{ name: "Guernsey", iso2: "GG", dialCode: "+44", dialCodeSuffixes: [], flag: "๐ฌ๐ฌ", invalid: false },
{ name: "Solomon Islands", iso2: "SB", dialCode: "+677", dialCodeSuffixes: [], flag: "๐ธ๐ง", invalid: false },
{ name: "Svalbard and Jan Mayen", iso2: "SJ", dialCode: "+4779", dialCodeSuffixes: [], flag: "๐ธ๐ฏ", invalid: false },
{ name: "Faroe Islands", iso2: "FO", dialCode: "+298", dialCodeSuffixes: [], flag: "๐ซ๐ด", invalid: false },
{ name: "Uzbekistan", iso2: "UZ", dialCode: "+998", dialCodeSuffixes: [], flag: "๐บ๐ฟ", invalid: false },
{ name: "Egypt", iso2: "EG", dialCode: "+20", dialCodeSuffixes: [], flag: "๐ช๐ฌ", invalid: false },
{ name: "Senegal", iso2: "SN", dialCode: "+221", dialCodeSuffixes: [], flag: "๐ธ๐ณ", invalid: false },
{ name: "Sri Lanka", iso2: "LK", dialCode: "+94", dialCodeSuffixes: [], flag: "๐ฑ๐ฐ", invalid: false },
{ name: "Palestine", iso2: "PS", dialCode: "+970", dialCodeSuffixes: [], flag: "๐ต๐ธ", invalid: false },
{ name: "Bangladesh", iso2: "BD", dialCode: "+880", dialCodeSuffixes: [], flag: "๐ง๐ฉ", invalid: false },
{ name: "Peru", iso2: "PE", dialCode: "+51", dialCodeSuffixes: [], flag: "๐ต๐ช", invalid: false },
{ name: "Singapore", iso2: "SG", dialCode: "+65", dialCodeSuffixes: [], flag: "๐ธ๐ฌ", invalid: false },
{ name: "Turkey", iso2: "TR", dialCode: "+90", dialCodeSuffixes: [], flag: "๐น๐ท", invalid: false },
{ name: "Afghanistan", iso2: "AF", dialCode: "+93", dialCodeSuffixes: [], flag: "๐ฆ๐ซ", invalid: false },
{ name: "Aruba", iso2: "AW", dialCode: "+297", dialCodeSuffixes: [], flag: "๐ฆ๐ผ", invalid: false },
{ name: "Cook Islands", iso2: "CK", dialCode: "+682", dialCodeSuffixes: [], flag: "๐จ๐ฐ", invalid: false },
{ name: "United Kingdom", iso2: "GB", dialCode: "+44", dialCodeSuffixes: [], flag: "๐ฌ๐ง", invalid: false },
{ name: "Zambia", iso2: "ZM", dialCode: "+260", dialCodeSuffixes: [], flag: "๐ฟ๐ฒ", invalid: false },
{ name: "Finland", iso2: "FI", dialCode: "+358", dialCodeSuffixes: [], flag: "๐ซ๐ฎ", invalid: false },
{ name: "Niger", iso2: "NE", dialCode: "+227", dialCodeSuffixes: [], flag: "๐ณ๐ช", invalid: false },
{ name: "Christmas Island", iso2: "CX", dialCode: "+61", dialCodeSuffixes: [], flag: "๐จ๐ฝ", invalid: false },
{ name: "Tokelau", iso2: "TK", dialCode: "+690", dialCodeSuffixes: [], flag: "๐น๐ฐ", invalid: false },
{ name: "Guinea-Bissau", iso2: "GW", dialCode: "+245", dialCodeSuffixes: [], flag: "๐ฌ๐ผ", invalid: false },
{ name: "Azerbaijan", iso2: "AZ", dialCode: "+994", dialCodeSuffixes: [], flag: "๐ฆ๐ฟ", invalid: false },
{ name: "Rรฉunion", iso2: "RE", dialCode: "+262", dialCodeSuffixes: [], flag: "๐ท๐ช", invalid: false },
{ name: "Djibouti", iso2: "DJ", dialCode: "+253", dialCodeSuffixes: [], flag: "๐ฉ๐ฏ", invalid: false },
{ name: "North Korea", iso2: "KP", dialCode: "+850", dialCodeSuffixes: [], flag: "๐ฐ๐ต", invalid: false },
{ name: "Mauritius", iso2: "MU", dialCode: "+230", dialCodeSuffixes: [], flag: "๐ฒ๐บ", invalid: false },
{ name: "Montserrat", iso2: "MS", dialCode: "+1664", dialCodeSuffixes: [], flag: "๐ฒ๐ธ", invalid: false },
{
name: "United States Virgin Islands",
iso2: "VI",
dialCode: "+1340",
dialCodeSuffixes: [],
flag: "๐ป๐ฎ",
invalid: false
},
{ name: "Colombia", iso2: "CO", dialCode: "+57", dialCodeSuffixes: [], flag: "๐จ๐ด", invalid: false },
{ name: "Greece", iso2: "GR", dialCode: "+30", dialCodeSuffixes: [], flag: "๐ฌ๐ท", invalid: false },
{ name: "Croatia", iso2: "HR", dialCode: "+385", dialCodeSuffixes: [], flag: "๐ญ๐ท", invalid: false },
{ name: "Morocco", iso2: "MA", dialCode: "+212", dialCodeSuffixes: [], flag: "๐ฒ๐ฆ", invalid: false },
{ name: "Algeria", iso2: "DZ", dialCode: "+213", dialCodeSuffixes: [], flag: "๐ฉ๐ฟ", invalid: false },
{ name: "Netherlands", iso2: "NL", dialCode: "+31", dialCodeSuffixes: [], flag: "๐ณ๐ฑ", invalid: false },
{ name: "Sudan", iso2: "SD", dialCode: "+249", dialCodeSuffixes: [], flag: "๐ธ๐ฉ", invalid: false },
{ name: "Fiji", iso2: "FJ", dialCode: "+679", dialCodeSuffixes: [], flag: "๐ซ๐ฏ", invalid: false },
{ name: "Liechtenstein", iso2: "LI", dialCode: "+423", dialCodeSuffixes: [], flag: "๐ฑ๐ฎ", invalid: false },
{ name: "Nepal", iso2: "NP", dialCode: "+977", dialCodeSuffixes: [], flag: "๐ณ๐ต", invalid: false },
{ name: "Puerto Rico", iso2: "PR", dialCode: "+1", dialCodeSuffixes: ["787", "939"], flag: "๐ต๐ท", invalid: false },
{ name: "Georgia", iso2: "GE", dialCode: "+995", dialCodeSuffixes: [], flag: "๐ฌ๐ช", invalid: false },
{ name: "Pakistan", iso2: "PK", dialCode: "+92", dialCodeSuffixes: [], flag: "๐ต๐ฐ", invalid: false },
{ name: "Monaco", iso2: "MC", dialCode: "+377", dialCodeSuffixes: [], flag: "๐ฒ๐จ", invalid: false },
{ name: "Botswana", iso2: "BW", dialCode: "+267", dialCodeSuffixes: [], flag: "๐ง๐ผ", invalid: false },
{ name: "Lebanon", iso2: "LB", dialCode: "+961", dialCodeSuffixes: [], flag: "๐ฑ๐ง", invalid: false },
{ name: "Papua New Guinea", iso2: "PG", dialCode: "+675", dialCodeSuffixes: [], flag: "๐ต๐ฌ", invalid: false },
{ name: "Mayotte", iso2: "YT", dialCode: "+262", dialCodeSuffixes: [], flag: "๐พ๐น", invalid: false },
{
name: "Dominican Republic",
iso2: "DO",
dialCode: "+1",
dialCodeSuffixes: ["809", "829", "849"],
flag: "๐ฉ๐ด",
invalid: false
},
{ name: "Norfolk Island", iso2: "NF", dialCode: "+672", dialCodeSuffixes: [], flag: "๐ณ๐ซ", invalid: false },
{ name: "Bouvet Island", iso2: "BV", dialCode: "+47", dialCodeSuffixes: [], flag: "๐ง๐ป", invalid: false },
{ name: "Qatar", iso2: "QA", dialCode: "+974", dialCodeSuffixes: [], flag: "๐ถ๐ฆ", invalid: false },
{ name: "Madagascar", iso2: "MG", dialCode: "+261", dialCodeSuffixes: [], flag: "๐ฒ๐ฌ", invalid: false },
{ name: "India", iso2: "IN", dialCode: "+91", dialCodeSuffixes: [], flag: "๐ฎ๐ณ", invalid: false },
{ name: "Syria", iso2: "SY", dialCode: "+963", dialCodeSuffixes: [], flag: "๐ธ๐พ", invalid: false },
{ name: "Montenegro", iso2: "ME", dialCode: "+382", dialCodeSuffixes: [], flag: "๐ฒ๐ช", invalid: false },
{ name: "Eswatini", iso2: "SZ", dialCode: "+268", dialCodeSuffixes: [], flag: "๐ธ๐ฟ", invalid: false },
{ name: "Paraguay", iso2: "PY", dialCode: "+595", dialCodeSuffixes: [], flag: "๐ต๐พ", invalid: false },
{ name: "El Salvador", iso2: "SV", dialCode: "+503", dialCodeSuffixes: [], flag: "๐ธ๐ป", invalid: false },
{ name: "Ukraine", iso2: "UA", dialCode: "+380", dialCodeSuffixes: [], flag: "๐บ๐ฆ", invalid: false },
{ name: "Isle of Man", iso2: "IM", dialCode: "+44", dialCodeSuffixes: [], flag: "๐ฎ๐ฒ", invalid: false },
{ name: "Namibia", iso2: "NA", dialCode: "+264", dialCodeSuffixes: [], flag: "๐ณ๐ฆ", invalid: false },
{ name: "United Arab Emirates", iso2: "AE", dialCode: "+971", dialCodeSuffixes: [], flag: "๐ฆ๐ช", invalid: false },
{ name: "Bulgaria", iso2: "BG", dialCode: "+359", dialCodeSuffixes: [], flag: "๐ง๐ฌ", invalid: false },
{ name: "Greenland", iso2: "GL", dialCode: "+299", dialCodeSuffixes: [], flag: "๐ฌ๐ฑ", invalid: false },
{ name: "Germany", iso2: "DE", dialCode: "+49", dialCodeSuffixes: [], flag: "๐ฉ๐ช", invalid: false },
{ name: "Cambodia", iso2: "KH", dialCode: "+855", dialCodeSuffixes: [], flag: "๐ฐ๐ญ", invalid: false },
{ name: "Iraq", iso2: "IQ", dialCode: "+964", dialCodeSuffixes: [], flag: "๐ฎ๐ถ", invalid: false },
{
name: "French Southern and Antarctic Lands",
iso2: "TF",
dialCode: "+262",
dialCodeSuffixes: [],
flag: "๐น๐ซ",
invalid: false
},
{ name: "Sweden", iso2: "SE", dialCode: "+46", dialCodeSuffixes: [], flag: "๐ธ๐ช", invalid: false },
{ name: "Cuba", iso2: "CU", dialCode: "+53", dialCodeSuffixes: [], flag: "๐จ๐บ", invalid: false },
{ name: "Kyrgyzstan", iso2: "KG", dialCode: "+996", dialCodeSuffixes: [], flag: "๐ฐ๐ฌ", invalid: false },
{
name: "Russia",
iso2: "RU",
dialCode: "+7",
dialCodeSuffixes: ["3", "4", "5", "8", "9"],
flag: "๐ท๐บ",
invalid: false
},
{ name: "Malaysia", iso2: "MY", dialCode: "+60", dialCodeSuffixes: [], flag: "๐ฒ๐พ", invalid: false },
{ name: "Sรฃo Tomรฉ and Prรญncipe", iso2: "ST", dialCode: "+239", dialCodeSuffixes: [], flag: "๐ธ๐น", invalid: false },
{ name: "Cyprus", iso2: "CY", dialCode: "+357", dialCodeSuffixes: [], flag: "๐จ๐พ", invalid: false },
{ name: "Canada", iso2: "CA", dialCode: "+1", dialCodeSuffixes: [], flag: "๐จ๐ฆ", invalid: false },
{ name: "Malawi", iso2: "MW", dialCode: "+265", dialCodeSuffixes: [], flag: "๐ฒ๐ผ", invalid: false },
{ name: "Saudi Arabia", iso2: "SA", dialCode: "+966", dialCodeSuffixes: [], flag: "๐ธ๐ฆ", invalid: false },
{ name: "Bosnia and Herzegovina", iso2: "BA", dialCode: "+387", dialCodeSuffixes: [], flag: "๐ง๐ฆ", invalid: false },
{ name: "Ethiopia", iso2: "ET", dialCode: "+251", dialCodeSuffixes: [], flag: "๐ช๐น", invalid: false },
{ name: "Spain", iso2: "ES", dialCode: "+34", dialCodeSuffixes: [], flag: "๐ช๐ธ", invalid: false },
{ name: "Slovenia", iso2: "SI", dialCode: "+386", dialCodeSuffixes: [], flag: "๐ธ๐ฎ", invalid: false },
{ name: "Oman", iso2: "OM", dialCode: "+968", dialCodeSuffixes: [], flag: "๐ด๐ฒ", invalid: false },
{ name: "Saint Pierre and Miquelon", iso2: "PM", dialCode: "+508", dialCodeSuffixes: [], flag: "๐ต๐ฒ", invalid: false },
{ name: "Macau", iso2: "MO", dialCode: "+853", dialCodeSuffixes: [], flag: "๐ฒ๐ด", invalid: false },
{ name: "San Marino", iso2: "SM", dialCode: "+378", dialCodeSuffixes: [], flag: "๐ธ๐ฒ", invalid: false },
{ name: "Lesotho", iso2: "LS", dialCode: "+266", dialCodeSuffixes: [], flag: "๐ฑ๐ธ", invalid: false },
{ name: "Marshall Islands", iso2: "MH", dialCode: "+692", dialCodeSuffixes: [], flag: "๐ฒ๐ญ", invalid: false },
{ name: "Sint Maarten", iso2: "SX", dialCode: "+1721", dialCodeSuffixes: [], flag: "๐ธ๐ฝ", invalid: false },
{ name: "Iceland", iso2: "IS", dialCode: "+354", dialCodeSuffixes: [], flag: "๐ฎ๐ธ", invalid: false },
{ name: "Luxembourg", iso2: "LU", dialCode: "+352", dialCodeSuffixes: [], flag: "๐ฑ๐บ", invalid: false },
{ name: "Argentina", iso2: "AR", dialCode: "+54", dialCodeSuffixes: [], flag: "๐ฆ๐ท", invalid: false },
{ name: "Turks and Caicos Islands", iso2: "TC", dialCode: "+1649", dialCodeSuffixes: [], flag: "๐น๐จ", invalid: false },
{ name: "Nauru", iso2: "NR", dialCode: "+674", dialCodeSuffixes: [], flag: "๐ณ๐ท", invalid: false },
{ name: "Cocos (Keeling) Islands", iso2: "CC", dialCode: "+61", dialCodeSuffixes: [], flag: "๐จ๐จ", invalid: false },
{
name: "Western Sahara",
iso2: "EH",
dialCode: "+2",
dialCodeSuffixes: ["125288", "125289"],
flag: "๐ช๐ญ",
invalid: false
},
{ name: "Dominica", iso2: "DM", dialCode: "+1767", dialCodeSuffixes: [], flag: "๐ฉ๐ฒ", invalid: false },
{ name: "Costa Rica", iso2: "CR", dialCode: "+506", dialCodeSuffixes: [], flag: "๐จ๐ท", invalid: false },
{ name: "Australia", iso2: "AU", dialCode: "+61", dialCodeSuffixes: [], flag: "๐ฆ๐บ", invalid: false },
{ name: "Thailand", iso2: "TH", dialCode: "+66", dialCodeSuffixes: [], flag: "๐น๐ญ", invalid: false },
{ name: "Haiti", iso2: "HT", dialCode: "+509", dialCodeSuffixes: [], flag: "๐ญ๐น", invalid: false },
{ name: "Tuvalu", iso2: "TV", dialCode: "+688", dialCodeSuffixes: [], flag: "๐น๐ป", invalid: false },
{ name: "Honduras", iso2: "HN", dialCode: "+504", dialCodeSuffixes: [], flag: "๐ญ๐ณ", invalid: false },
{ name: "Equatorial Guinea", iso2: "GQ", dialCode: "+240", dialCodeSuffixes: [], flag: "๐ฌ๐ถ", invalid: false },
{ name: "Saint Lucia", iso2: "LC", dialCode: "+1758", dialCodeSuffixes: [], flag: "๐ฑ๐จ", invalid: false },
{ name: "French Polynesia", iso2: "PF", dialCode: "+689", dialCodeSuffixes: [], flag: "๐ต๐ซ", invalid: false },
{ name: "Belarus", iso2: "BY", dialCode: "+375", dialCodeSuffixes: [], flag: "๐ง๐พ", invalid: false },
{ name: "Latvia", iso2: "LV", dialCode: "+371", dialCodeSuffixes: [], flag: "๐ฑ๐ป", invalid: false },
{ name: "Palau", iso2: "PW", dialCode: "+680", dialCodeSuffixes: [], flag: "๐ต๐ผ", invalid: false },
{ name: "Guadeloupe", iso2: "GP", dialCode: "+590", dialCodeSuffixes: [], flag: "๐ฌ๐ต", invalid: false },
{ name: "Philippines", iso2: "PH", dialCode: "+63", dialCodeSuffixes: [], flag: "๐ต๐ญ", invalid: false },
{ name: "Gibraltar", iso2: "GI", dialCode: "+350", dialCodeSuffixes: [], flag: "๐ฌ๐ฎ", invalid: false },
{ name: "Denmark", iso2: "DK", dialCode: "+45", dialCodeSuffixes: [], flag: "๐ฉ๐ฐ", invalid: false },
{ name: "Cameroon", iso2: "CM", dialCode: "+237", dialCodeSuffixes: [], flag: "๐จ๐ฒ", invalid: false },
{ name: "Guinea", iso2: "GN", dialCode: "+224", dialCodeSuffixes: [], flag: "๐ฌ๐ณ", invalid: false },
{ name: "Bahrain", iso2: "BH", dialCode: "+973", dialCodeSuffixes: [], flag: "๐ง๐ญ", invalid: false },
{ name: "Suriname", iso2: "SR", dialCode: "+597", dialCodeSuffixes: [], flag: "๐ธ๐ท", invalid: false },
{ name: "DR Congo", iso2: "CD", dialCode: "+243", dialCodeSuffixes: [], flag: "๐จ๐ฉ", invalid: false },
{ name: "Somalia", iso2: "SO", dialCode: "+252", dialCodeSuffixes: [], flag: "๐ธ๐ด", invalid: false },
{ name: "Czechia", iso2: "CZ", dialCode: "+420", dialCodeSuffixes: [], flag: "๐จ๐ฟ", invalid: false },
{ name: "New Caledonia", iso2: "NC", dialCode: "+687", dialCodeSuffixes: [], flag: "๐ณ๐จ", invalid: false },
{ name: "Vanuatu", iso2: "VU", dialCode: "+678", dialCodeSuffixes: [], flag: "๐ป๐บ", invalid: false },
{
name: "Saint Helena, Ascension and Tristan da Cunha",
iso2: "SH",
dialCode: "+2",
dialCodeSuffixes: ["90", "47"],
flag: "๐ธ๐ญ",
invalid: false
},
{ name: "Togo", iso2: "TG", dialCode: "+228", dialCodeSuffixes: [], flag: "๐น๐ฌ", invalid: false },
{ name: "British Virgin Islands", iso2: "VG", dialCode: "+1284", dialCodeSuffixes: [], flag: "๐ป๐ฌ", invalid: false },
{ name: "Kenya", iso2: "KE", dialCode: "+254", dialCodeSuffixes: [], flag: "๐ฐ๐ช", invalid: false },
{ name: "Niue", iso2: "NU", dialCode: "+683", dialCodeSuffixes: [], flag: "๐ณ๐บ", invalid: false },
{ name: "Rwanda", iso2: "RW", dialCode: "+250", dialCodeSuffixes: [], flag: "๐ท๐ผ", invalid: false },
{ name: "Estonia", iso2: "EE", dialCode: "+372", dialCodeSuffixes: [], flag: "๐ช๐ช", invalid: false },
{ name: "Romania", iso2: "RO", dialCode: "+40", dialCodeSuffixes: [], flag: "๐ท๐ด", invalid: false },
{ name: "Trinidad and Tobago", iso2: "TT", dialCode: "+1868", dialCodeSuffixes: [], flag: "๐น๐น", invalid: false },
{ name: "Guyana", iso2: "GY", dialCode: "+592", dialCodeSuffixes: [], flag: "๐ฌ๐พ", invalid: false },
{ name: "Timor-Leste", iso2: "TL", dialCode: "+670", dialCodeSuffixes: [], flag: "๐น๐ฑ", invalid: false },
{ name: "Vietnam", iso2: "VN", dialCode: "+84", dialCodeSuffixes: [], flag: "๐ป๐ณ", invalid: false },
{ name: "Uruguay", iso2: "UY", dialCode: "+598", dialCodeSuffixes: [], flag: "๐บ๐พ", invalid: false },
{ name: "Vatican City", iso2: "VA", dialCode: "+3", dialCodeSuffixes: ["906698", "79"], flag: "๐ป๐ฆ", invalid: false },
{ name: "Hong Kong", iso2: "HK", dialCode: "+852", dialCodeSuffixes: [], flag: "๐ญ๐ฐ", invalid: false },
{ name: "Austria", iso2: "AT", dialCode: "+43", dialCodeSuffixes: [], flag: "๐ฆ๐น", invalid: false },
{ name: "Antigua and Barbuda", iso2: "AG", dialCode: "+1268", dialCodeSuffixes: [], flag: "๐ฆ๐ฌ", invalid: false },
{ name: "Turkmenistan", iso2: "TM", dialCode: "+993", dialCodeSuffixes: [], flag: "๐น๐ฒ", invalid: false },
{ name: "Mozambique", iso2: "MZ", dialCode: "+258", dialCodeSuffixes: [], flag: "๐ฒ๐ฟ", invalid: false },
{ name: "Panama", iso2: "PA", dialCode: "+507", dialCodeSuffixes: [], flag: "๐ต๐ฆ", invalid: false },
{ name: "Micronesia", iso2: "FM", dialCode: "+691", dialCodeSuffixes: [], flag: "๐ซ๐ฒ", invalid: false },
{ name: "Ireland", iso2: "IE", dialCode: "+353", dialCodeSuffixes: [], flag: "๐ฎ๐ช", invalid: false },
{ name: "Curaรงao", iso2: "CW", dialCode: "+599", dialCodeSuffixes: [], flag: "๐จ๐ผ", invalid: false },
{ name: "French Guiana", iso2: "GF", dialCode: "+594", dialCodeSuffixes: [], flag: "๐ฌ๐ซ", invalid: false },
{ name: "Norway", iso2: "NO", dialCode: "+47", dialCodeSuffixes: [], flag: "๐ณ๐ด", invalid: false },
{ name: "ร
land Islands", iso2: "AX", dialCode: "+35818", dialCodeSuffixes: [], flag: "๐ฆ๐ฝ", invalid: false },
{ name: "Central African Republic", iso2: "CF", dialCode: "+236", dialCodeSuffixes: [], flag: "๐จ๐ซ", invalid: false },
{ name: "Burkina Faso", iso2: "BF", dialCode: "+226", dialCodeSuffixes: [], flag: "๐ง๐ซ", invalid: false },
{ name: "Eritrea", iso2: "ER", dialCode: "+291", dialCodeSuffixes: [], flag: "๐ช๐ท", invalid: false },
{ name: "Tanzania", iso2: "TZ", dialCode: "+255", dialCodeSuffixes: [], flag: "๐น๐ฟ", invalid: false },
{ name: "South Korea", iso2: "KR", dialCode: "+82", dialCodeSuffixes: [], flag: "๐ฐ๐ท", invalid: false },
{ name: "Jordan", iso2: "JO", dialCode: "+962", dialCodeSuffixes: [], flag: "๐ฏ๐ด", invalid: false },
{ name: "Mauritania", iso2: "MR", dialCode: "+222", dialCodeSuffixes: [], flag: "๐ฒ๐ท", invalid: false },
{ name: "Lithuania", iso2: "LT", dialCode: "+370", dialCodeSuffixes: [], flag: "๐ฑ๐น", invalid: false },
{
name: "United States Minor Outlying Islands",
iso2: "UM",
dialCode: "+268",
dialCodeSuffixes: [],
flag: "๐บ๐ฒ",
invalid: false
},
{ name: "Slovakia", iso2: "SK", dialCode: "+421", dialCodeSuffixes: [], flag: "๐ธ๐ฐ", invalid: false },
{ name: "Angola", iso2: "AO", dialCode: "+244", dialCodeSuffixes: [], flag: "๐ฆ๐ด", invalid: false },
{ name: "Kazakhstan", iso2: "KZ", dialCode: "+7", dialCodeSuffixes: ["6", "7"], flag: "๐ฐ๐ฟ", invalid: false },
{ name: "Moldova", iso2: "MD", dialCode: "+373", dialCodeSuffixes: [], flag: "๐ฒ๐ฉ", invalid: false },
{ name: "Mali", iso2: "ML", dialCode: "+223", dialCodeSuffixes: [], flag: "๐ฒ๐ฑ", invalid: false },
{ name: "Falkland Islands", iso2: "FK", dialCode: "+500", dialCodeSuffixes: [], flag: "๐ซ๐ฐ", invalid: false },
{ name: "Armenia", iso2: "AM", dialCode: "+374", dialCodeSuffixes: [], flag: "๐ฆ๐ฒ", invalid: false },
{ name: "Samoa", iso2: "WS", dialCode: "+685", dialCodeSuffixes: [], flag: "๐ผ๐ธ", invalid: false },
{ name: "Jersey", iso2: "JE", dialCode: "+44", dialCodeSuffixes: [], flag: "๐ฏ๐ช", invalid: false },
{ name: "Japan", iso2: "JP", dialCode: "+81", dialCodeSuffixes: [], flag: "๐ฏ๐ต", invalid: false },
{ name: "Bolivia", iso2: "BO", dialCode: "+591", dialCodeSuffixes: [], flag: "๐ง๐ด", invalid: false },
{ name: "Chile", iso2: "CL", dialCode: "+56", dialCodeSuffixes: [], flag: "๐จ๐ฑ", invalid: false },
{
name: "United States",
iso2: "US",
dialCode: "+1",
dialCodeSuffixes: [
"201",
"202",
"203",
"205",
"206",
"207",
"208",
"209",
"210",
"212",
"213",
"214",
"215",
"216",
"217",
"218",
"219",
"220",
"224",
"225",
"227",
"228",
"229",
"231",
"234",
"239",
"240",
"248",
"251",
"252",
"253",
"254",
"256",
"260",
"262",
"267",
"269",
"270",
"272",
"274",
"276",
"281",
"283",
"301",
"302",
"303",
"304",
"305",
"307",
"308",
"309",
"310",
"312",
"313",
"314",
"315",
"316",
"317",
"318",
"319",
"320",
"321",
"323",
"325",
"327",
"330",
"331",
"334",
"336",
"337",
"339",
"346",
"347",
"351",
"352",
"360",
"361",
"364",
"380",
"385",
"386",
"401",
"402",
"404",
"405",
"406",
"407",
"408",
"409",
"410",
"412",
"413",
"414",
"415",
"417",
"419",
"423",
"424",
"425",
"430",
"432",
"434",
"435",
"440",
"442",
"443",
"447",
"458",
"463",
"464",
"469",
"470",
"475",
"478",
"479",
"480",
"484",
"501",
"502",
"503",
"504",
"505",
"507",
"508",
"509",
"510",
"512",
"513",
"515",
"516",
"517",
"518",
"520",
"530",
"531",
"534",
"539",
"540",
"541",
"551",
"559",
"561",
"562",
"563",
"564",
"567",
"570",
"571",
"573",
"574",
"575",
"580",
"585",
"586",
"601",
"602",
"603",
"605",
"606",
"607",
"608",
"609",
"610",
"612",
"614",
"615",
"616",
"617",
"618",
"619",
"620",
"623",
"626",
"628",
"629",
"630",
"631",
"636",
"641",
"646",
"650",
"651",
"657",
"660",
"661",
"662",
"667",
"669",
"678",
"681",
"682",
"701",
"702",
"703",
"704",
"706",
"707",
"708",
"712",
"713",
"714",
"715",
"716",
"717",
"718",
"719",
"720",
"724",
"725",
"727",
"730",
"731",
"732",
"734",
"737",
"740",
"743",
"747",
"754",
"757",
"760",
"762",
"763",
"765",
"769",
"770",
"772",
"773",
"774",
"775",
"779",
"781",
"785",
"786",
"801",
"802",
"803",
"804",
"805",
"806",
"808",
"810",
"812",
"813",
"814",
"815",
"816",
"817",
"818",
"828",
"830",
"831",
"832",
"843",
"845",
"847",
"848",
"850",
"854",
"856",
"857",
"858",
"859",
"860",
"862",
"863",
"864",
"865",
"870",
"872",
"878",
"901",
"903",
"904",
"906",
"907",
"908",
"909",
"910",
"912",
"913",
"914",
"915",
"916",
"917",
"918",
"919",
"920",
"925",
"928",
"929",
"930",
"931",
"934",
"936",
"937",
"938",
"940",
"941",
"947",
"949",
"951",
"952",
"954",
"956",
"959",
"970",
"971",
"972",
"973",
"975",
"978",
"979",
"980",
"984",
"985",
"989"
],
flag: "๐บ๐ธ",
invalid: false
},
{
name: "Saint Vincent and the Grenadines",
iso2: "VC",
dialCode: "+1784",
dialCodeSuffixes: [],
flag: "๐ป๐จ",
invalid: false
},
{ name: "Bermuda", iso2: "BM", dialCode: "+1441", dialCodeSuffixes: [], flag: "๐ง๐ฒ", invalid: false },
{ name: "Seychelles", iso2: "SC", dialCode: "+248", dialCodeSuffixes: [], flag: "๐ธ๐จ", invalid: false },
{
name: "British Indian Ocean Territory",
iso2: "IO",
dialCode: "+246",
dialCodeSuffixes: [],
flag: "๐ฎ๐ด",
invalid: false
},
{ name: "Guatemala", iso2: "GT", dialCode: "+502", dialCodeSuffixes: [], flag: "๐ฌ๐น", invalid: false },
{ name: "Ecuador", iso2: "EC", dialCode: "+593", dialCodeSuffixes: [], flag: "๐ช๐จ", invalid: false },
{ name: "Martinique", iso2: "MQ", dialCode: "+596", dialCodeSuffixes: [], flag: "๐ฒ๐ถ", invalid: false },
{ name: "Tajikistan", iso2: "TJ", dialCode: "+992", dialCodeSuffixes: [], flag: "๐น๐ฏ", invalid: false },
{ name: "Malta", iso2: "MT", dialCode: "+356", dialCodeSuffixes: [], flag: "๐ฒ๐น", invalid: false },
{ name: "Gambia", iso2: "GM", dialCode: "+220", dialCodeSuffixes: [], flag: "๐ฌ๐ฒ", invalid: false },
{ name: "Nigeria", iso2: "NG", dialCode: "+234", dialCodeSuffixes: [], flag: "๐ณ๐ฌ", invalid: false },
{ name: "Bahamas", iso2: "BS", dialCode: "+1242", dialCodeSuffixes: [], flag: "๐ง๐ธ", invalid: false },
{ name: "Kosovo", iso2: "XK", dialCode: "+383", dialCodeSuffixes: [], flag: "๐ฝ๐ฐ", invalid: false },
{ name: "Kuwait", iso2: "KW", dialCode: "+965", dialCodeSuffixes: [], flag: "๐ฐ๐ผ", invalid: false },
{ name: "Maldives", iso2: "MV", dialCode: "+960", dialCodeSuffixes: [], flag: "๐ฒ๐ป", invalid: false },
{ name: "South Sudan", iso2: "SS", dialCode: "+211", dialCodeSuffixes: [], flag: "๐ธ๐ธ", invalid: false },
{ name: "Iran", iso2: "IR", dialCode: "+98", dialCodeSuffixes: [], flag: "๐ฎ๐ท", invalid: false },
{ name: "Albania", iso2: "AL", dialCode: "+355", dialCodeSuffixes: [], flag: "๐ฆ๐ฑ", invalid: false },
{ name: "Brazil", iso2: "BR", dialCode: "+55", dialCodeSuffixes: [], flag: "๐ง๐ท", invalid: false },
{ name: "Serbia", iso2: "RS", dialCode: "+381", dialCodeSuffixes: [], flag: "๐ท๐ธ", invalid: false },
{ name: "Belize", iso2: "BZ", dialCode: "+501", dialCodeSuffixes: [], flag: "๐ง๐ฟ", invalid: false },
{ name: "Myanmar", iso2: "MM", dialCode: "+95", dialCodeSuffixes: [], flag: "๐ฒ๐ฒ", invalid: false },
{ name: "Bhutan", iso2: "BT", dialCode: "+975", dialCodeSuffixes: [], flag: "๐ง๐น", invalid: false },
{ name: "Venezuela", iso2: "VE", dialCode: "+58", dialCodeSuffixes: [], flag: "๐ป๐ช", invalid: false },
{ name: "Liberia", iso2: "LR", dialCode: "+231", dialCodeSuffixes: [], flag: "๐ฑ๐ท", invalid: false },
{ name: "Jamaica", iso2: "JM", dialCode: "+1876", dialCodeSuffixes: [], flag: "๐ฏ๐ฒ", invalid: false },
{ name: "Poland", iso2: "PL", dialCode: "+48", dialCodeSuffixes: [], flag: "๐ต๐ฑ", invalid: false },
{ name: "Cayman Islands", iso2: "KY", dialCode: "+1345", dialCodeSuffixes: [], flag: "๐ฐ๐พ", invalid: false },
{ name: "Brunei", iso2: "BN", dialCode: "+673", dialCodeSuffixes: [], flag: "๐ง๐ณ", invalid: false },
{ name: "Comoros", iso2: "KM", dialCode: "+269", dialCodeSuffixes: [], flag: "๐ฐ๐ฒ", invalid: false },
{ name: "Guam", iso2: "GU", dialCode: "+1671", dialCodeSuffixes: [], flag: "๐ฌ๐บ", invalid: false },
{ name: "Tonga", iso2: "TO", dialCode: "+676", dialCodeSuffixes: [], flag: "๐น๐ด", invalid: false },
{ name: "Kiribati", iso2: "KI", dialCode: "+686", dialCodeSuffixes: [], flag: "๐ฐ๐ฎ", invalid: false },
{ name: "Ghana", iso2: "GH", dialCode: "+233", dialCodeSuffixes: [], flag: "๐ฌ๐ญ", invalid: false },
{ name: "Chad", iso2: "TD", dialCode: "+235", dialCodeSuffixes: [], flag: "๐น๐ฉ", invalid: false },
{ name: "Zimbabwe", iso2: "ZW", dialCode: "+263", dialCodeSuffixes: [], flag: "๐ฟ๐ผ", invalid: false },
{ name: "Saint Martin", iso2: "MF", dialCode: "+590", dialCodeSuffixes: [], flag: "๐ฒ๐ซ", invalid: false },
{ name: "Mongolia", iso2: "MN", dialCode: "+976", dialCodeSuffixes: [], flag: "๐ฒ๐ณ", invalid: false },
{ name: "Portugal", iso2: "PT", dialCode: "+351", dialCodeSuffixes: [], flag: "๐ต๐น", invalid: false },
{ name: "American Samoa", iso2: "AS", dialCode: "+1684", dialCodeSuffixes: [], flag: "๐ฆ๐ธ", invalid: false },
{ name: "Republic of the Congo", iso2: "CG", dialCode: "+242", dialCodeSuffixes: [], flag: "๐จ๐ฌ", invalid: false },
{ name: "Belgium", iso2: "BE", dialCode: "+32", dialCodeSuffixes: [], flag: "๐ง๐ช", invalid: false },
{ name: "Israel", iso2: "IL", dialCode: "+972", dialCodeSuffixes: [], flag: "๐ฎ๐ฑ", invalid: false },
{ name: "New Zealand", iso2: "NZ", dialCode: "+64", dialCodeSuffixes: [], flag: "๐ณ๐ฟ", invalid: false },
{ name: "Nicaragua", iso2: "NI", dialCode: "+505", dialCodeSuffixes: [], flag: "๐ณ๐ฎ", invalid: false },
{ name: "Anguilla", iso2: "AI", dialCode: "+1264", dialCodeSuffixes: [], flag: "๐ฆ๐ฎ", invalid: false }
];
const countries = countryInformation.sort(
(a, b) => a.name.localeCompare(b.name, void 0, { sensitivity: "base" })
);
const getDefault = (iso2 = "us") => countryInformation.find((a) => a.iso2 === iso2.trim().toUpperCase());
const isNumberInCountry = (dial, country) => {
if (country.dialCode === dial) {
return 1;
}
if (!dial.startsWith(country.dialCode) && !country.dialCode.startsWith(dial)) {
return 0;
}
const newTerm = dial.replace(country.dialCode, "");
const hasSub = country.dialCodeSuffixes.find((suffix) => newTerm.startsWith(suffix) || suffix.startsWith(newTerm));
if (hasSub) {
return 1;
}
return country.dialCodeSuffixes.length ? 0 : 2;
};
const mostSpecific = (a, b) => {
var _a, _b;
const lenA = a.dialCode.length + (((_a = a.dialCodeSuffixes.find((s) => isNumberInCountry(`+${b.dialCode.replace("+", "")}${s}`, a) === 1)) == null ? void 0 : _a.length) ?? 0);
const lenB = b.dialCode.length + (((_b = b.dialCodeSuffixes.find((s) => isNumberInCountry(`+${a.dialCode.replace("+", "")}${s}`, b) === 1)) == null ? void 0 : _b.length) ?? 0);
return lenB - lenA;
};
const getCountryByDialCode = (val = "") => {
const exact = countryInformation.filter((c) => isNumberInCountry(val, c) === 1).sort(mostSpecific);
if (exact.length) return exact[0];
const partial = countryInformation.filter((c) => isNumberInCountry(val, c) === 2).sort(mostSpecific);
return partial[0];
};
const filterCountries = (term) => {
term = term.trim().toLowerCase();
if (term === "") return countryInformation.slice();
const looksNumeric = /^\+?\d+$/.test(term);
const numericNeedle = term.replace(/^\+/, "");
if (looksNumeric) {
const needleWithPlus = `+${numericNeedle}`;
const exact = countryInformation.filter((c) => isNumberInCountry(needleWithPlus, c) === 1);
const broad = countryInformation.filter((c) => isNumberInCountry(needleWithPlus, c) === 2);
const byPrefix = countryInformation.filter(
(c) => c.dialCode.replace("+", "").startsWith(numericNeedle)
);
return Array.from(/* @__PURE__ */ new Set([...exact, ...broad, ...byPrefix]));
}
return countryInformation.filter(
(c) => c.iso2.toLowerCase().includes(term) || c.name.toLowerCase().includes(term)
);
};
const getProperNumber = (phone) => {
var _a;
return ((_a = phone.match(/[+\d]+/g)) == null ? void 0 : _a.join("")) || phone;
};
const useSizeDefaults = {
xs: 18,
sm: 24,
md: 32,
lg: 38,
xl: 46
};
const useSizeProps = {
size: String
};
function useSize(props, sizes = useSizeDefaults) {
return computed(() => props.size !== void 0 ? { fontSize: props.size in sizes ? `${sizes[props.size]}px` : props.size } : null);
}
function injectProp(target2, propName, get, set) {
Object.defineProperty(target2, propName, {
get,
set,
enumerable: true
});
return target2;
}
function createComponent(raw) {
return markRaw(defineComponent(raw));
}
function createDirective(raw) {
return markRaw(raw);
}
function hSlot(slot, otherwise) {
return slot !== void 0 ? slot() || otherwise : otherwise;
}
function hUniqueSlot(slot, otherwise) {
if (slot !== void 0) {
const vnode = slot();
if (vnode !== void 0 && vnode !== null) {
return vnode.slice();
}
}
return otherwise;
}
function hMergeSlot(slot, source) {
return slot !== void 0 ? source.concat(slot()) : source;
}
function hMergeSlotSafely(slot, source) {
if (slot === void 0) {
return source;
}
return source !== void 0 ? source.concat(slot()) : slot();
}
function hDir(tag, data, children, key, condition, getDirsFn) {
data.key = key + condition;
const vnode = h(tag, data, children);
return condition === true ? withDirectives(vnode, getDirsFn()) : vnode;
}
const defaultViewBox = "0 0 24 24";
const sameFn = (i) => i;
const ionFn = (i) => `ionicons ${i}`;
const libMap = {
"mdi-": (i) => `mdi ${i}`,
"icon-": sameFn,
// fontawesome equiv
"bt-": (i) => `bt ${i}`,
"eva-": (i) => `eva ${i}`,
"ion-md": ionFn,
"ion-ios": ionFn,
"ion-logo": ionFn,
"iconfont ": sameFn,
"ti-": (i) => `themify-icon ${i}`,
"bi-": (i) => `bootstrap-icons ${i}`
};
const matMap = {
o_: "-outlined",
r_: "-round",
s_: "-sharp"
};
const symMap = {
sym_o_: "-outlined",
sym_r_: "-rounded",
sym_s_: "-sharp"
};
const libRE = new RegExp("^(" + Object.keys(libMap).join("|") + ")");
const matRE = new RegExp("^(" + Object.keys(matMap).join("|") + ")");
const symRE = new RegExp("^(" + Object.keys(symMap).join("|") + ")");
const mRE = /^[Mm]\s?[-+]?\.?\d/;
const imgRE = /^img:/;
const svgUseRE = /^svguse:/;
const ionRE = /^ion-/;
const faRE = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /;
const QIcon = createComponent({
name: "QIcon",
props: {
...useSizeProps,
tag: {
type: String,
default: "i"
},
name: String,
color: String,
left: Boolean,
right: Boolean
},
setup(props, { slots }) {
const { proxy: { $q } } = getCurrentInstance();
const sizeStyle = useSize(props);
const classes = computed(
() => "q-icon" + (props.left === true ? " on-left" : "") + (props.right === true ? " on-right" : "") + (props.color !== void 0 ? ` text-${props.color}` : "")
);
const type = computed(() => {
let cls;
let icon = props.name;
if (icon === "none" || !icon) {
return { none: true };
}
if ($q.iconMapFn !== null) {
const res = $q.iconMapFn(icon);
if (res !== void 0) {
if (res.icon !== void 0) {
icon = res.icon;
if (icon === "none" || !icon) {
return { none: true };
}
} else {
return {
cls: res.cls,
content: res.content !== void 0 ? res.content : " "
};
}
}
}
if (mRE.test(icon) === true) {
const [def, viewBox = defaultViewBox] = icon.split("|");
return {
svg: true,
viewBox,
nodes: def.split("&&").map((path) => {
const [d, style, transform] = path.split("@@");
return h("path", { style, d, transform });
})
};
}
if (imgRE.test(icon) === true) {
return {
img: true,
src: icon.substring(4)
};
}
if (svgUseRE.test(icon) === true) {
const [def, viewBox = defaultViewBox] = icon.split("|");
return {
svguse: true,
src: def.substring(7),
viewBox
};
}
let content = " ";
const matches = icon.match(libRE);
if (matches !== null) {
cls = libMap[matches[1]](icon);
} else if (faRE.test(icon) === true) {
cls = icon;
} else if (ionRE.test(icon) === true) {
cls = `ionicons ion-${$q.platform.is.ios === true ? "ios" : "md"}${icon.substring(3)}`;
} else if (symRE.test(icon) === true) {
cls = "notranslate material-symbols";
const matches2 = icon.match(symRE);
if (matches2 !== null) {
icon = icon.substring(6);
cls += symMap[matches2[1]];
}
content = icon;
} else {
cls = "notranslate material-icons";
const matches2 = icon.match(matRE);
if (matches2 !== null) {
icon = icon.substring(2);
cls += matMap[matches2[1]];
}
content = icon;
}
return {
cls,
content
};
});
return () => {
const data = {
class: classes.value,
style: sizeStyle.value,
"aria-hidden": "true",
role: "presentation"
};
if (type.value.none === true) {
return h(props.tag, data, hSlot(slots.default));
}
if (type.value.img === true) {
return h(props.tag, data, hMergeSlot(slots.default, [
h("img", { src: type.value.src })
]));
}
if (type.value.svg === true) {
return h(props.tag, data, hMergeSlot(slots.default, [
h("svg", {
viewBox: type.value.viewBox || "0 0 24 24"
}, type.value.nodes)
]));
}
if (type.value.svguse === true) {
return h(props.tag, data, hMergeSlot(slots.default, [
h("svg", {
viewBox: type.value.viewBox
}, [
h("use", { "xlink:href": type.value.src })
])
]));
}
if (type.value.cls !== void 0) {
data.class += " " + type.value.cls;
}
return h(props.tag, data, hMergeSlot(slots.default, [
type.value.content
]));
};
}
});
const useSpinnerProps = {
size: {
type: [String, Number],
default: "1em"
},
color: String
};
function useSpinner(props) {
return {
cSize: computed(() => props.size in useSizeDefaults ? `${useSizeDefaults[props.size]}px` : props.size),
classes: computed(
() => "q-spinner" + (props.color ? ` text-${props.color}` : "")
)
};
}
const QSpinner = createComponent({
name: "QSpinner",
props: {
...useSpinnerProps,
thickness: {
type: Number,
default: 5
}
},
setup(props) {
const { cSize, classes } = useSpinner(props);
return () => h("svg", {
class: classes.value + " q-spinner-mat",
width: cSize.value,
height: cSize.value,
viewBox: "25 25 50 50"
}, [
h("circle", {
class: "path",
cx: "50",
cy: "50",
r: "20",
fill: "none",
stroke: "currentColor",
"stroke-width": props.thickness,
"stroke-miterlimit": "10"
})
]);
}
});
let buf, bufIdx = 0;
const hexBytes = new Array(256);
for (let i = 0; i < 256; i++) {
hexBytes[i] = (i + 256).toString(16).substring(1);
}
const randomBytes = (() => {
const lib = typeof crypto !== "undefined" ? crypto : typeof window !== "undefined" ? window.crypto || window.msCrypto : void 0;
if (lib !== void 0) {
if (lib.randomBytes !== void 0) {
return lib.randomBytes;
}
if (lib.getRandomValues !== void 0) {
return (n) => {
const bytes = new Uint8Array(n);
lib.getRandomValues(bytes);
return bytes;
};
}
}
return (n) => {
const r = [];
for (let i = n; i > 0; i--) {
r.push(Math.floor(Math.random() * 256));
}
return r;
};
})();
const BUFFER_SIZE = 4096;
function uid() {
if (buf === void 0 || bufIdx + 16 > BUFFER_SIZE) {
bufIdx = 0;
buf = randomBytes(BUFFER_SIZE);
}
const b = Array.prototype.slice.call(buf, bufIdx, bufIdx += 16);
b[6] = b[6] & 15 | 64;
b[8] = b[8] & 63 | 128;
return hexBytes[b[0]] + hexBytes[b[1]] + hexBytes[b[2]] + hexBytes[b[3]] + "-" + hexBytes[b[4]] + hexBytes[b[5]] + "-" + hexBytes[b[6]] + hexBytes[b[7]] + "-" + hexBytes[b[8]] + hexBytes[b[9]] + "-" + hexBytes[b[10]] + hexBytes[b[11]] + hexBytes[b[12]] + hexBytes[b[13]] + hexBytes[b[14]] + hexBytes[b[15]];
}
const isRuntimeSsrPreHydration = ref(
false
);
let preHydrationBrowser;
function getMatch(userAgent2, platformMatch) {
const match = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(userAgent2) || /(opr)[\/]([\w.]+)/.exec(userAgent2) || /(vivaldi)[\/]([\w.]+)/.exec(userAgent2) || /(chrome|crios)[\/]([\w.]+)/.exec(userAgent2) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(userAgent2) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(userAgent2) || /(firefox|fxios)[\/]([\w.]+)/.exec(userAgent2) || /(webkit)[\/]([\w.]+)/.exec(userAgent2) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(userAgent2) || [];
return {
browser: match[5] || match[3] || match[1] || "",
version: match[4] || match[2] || "0",
platform: platformMatch[0] || ""
};
}
function getPlatformMatch(userAgent2) {
return /(ipad)/.exec(userAgent2) || /(ipod)/.exec(userAgent2) || /(windows phone)/.exec(userAgent2) || /(iphone)/.exec(userAgent2) || /(kindle)/.exec(userAgent2) || /(silk)/.exec(userAgent2) || /(android)/.exec(userAgent2) || /(win)/.exec(userAgent2) || /(mac)/.exec(userAgent2) || /(linux)/.exec(userAgent2) || /(cros)/.exec(userAgent2) || /(playbook)/.exec(userAgent2) || /(bb)/.exec(userAgent2) || /(blackberry)/.exec(userAgent2) || [];
}
const hasTouch = "ontouchstart" in window || window.navigator.maxTouchPoints > 0;
function getPlatform(UA) {
const userAgent2 = UA.toLowerCase();
const platformMatch = getPlatformMatch(userAgent2);
const matched = getMatch(userAgent2, platformMatch);
const browser = {
mobile: false,
desktop: false,
cordova: false,
capacitor: false,
nativeMobile: false,
// nativeMobileWrapper: void 0,
electron: false,
bex: false,
linux: false,
mac: false,
win: false,
cros: false,
chrome: false,
firefox: false,
opera: false,
safari: false,
vivaldi: false,
edge: false,
edgeChromium: false,
ie: false,
webkit: false,
android: false,
ios: false,
ipad: false,
iphone: false,
ipod: false,
kindle: false,
winphone: false,
blackberry: false,
playbook: false,
silk: false
};
if (matched.browser) {
browser[matched.browser] = true;
browser.version = matched.version;
browser.versionNumber = parseInt(matched.version, 10);
}
if (matched.platform) {
browser[matched.platform] = true;
}
const knownMobiles = browser.android || browser.ios || browser.bb || browser.blackberry || browser.ipad || browser.iphone || browser.ipod || browser.kindle || browser.playbook || browser.silk || browser["windows phone"];
if (knownMobiles === true || userAgent2.indexOf("mobile") !== -1) {
browser.mobile = true;
} else {
browser.desktop = true;
}
if (browser["windows phone"]) {
browser.winphone = true;
delete browser["windows phone"];
}
if (browser.edga || browser.edgios || browser.edg) {
browser.edge = true;
matched.browser = "edge";
} else if (browser.crios) {
browser.chrome = true;
matched.browser = "chrome";
} else if (browser.fxios) {
browser.firefox = true;
matched.browser = "firefox";
}
if (browser.ipod || browser.ipad || browser.iphone) {
browser.ios = true;
}
if (browser.vivaldi) {
matched.browser = "vivaldi";
browser.vivaldi = true;
}
if (
// Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
browser.chrome || browser.opr || browser.safari || browser.vivaldi || browser.mobile === true && browser.ios !== true && knownMobiles !== true
) {
browser.webkit = true;
}
if (browser.opr) {
matched.browser = "opera";
browser.opera = true;
}
if (browser.safari) {
if (browser.blackberry || browser.bb) {
matched.browser = "blackberry";
browser.blackberry = true;
} else if (browser.playbook) {
matched.browser = "playbook";
browser.playbook = true;
} else if (browser.android) {
matched.browser = "android";
browser.android = true;
} else if (browser.kindle) {
matched.browser = "kindle";
browser.kindle = true;
} else if (browser.silk) {
matched.browser = "silk";
browser.silk = true;
}
}
browser.name = matched.browser;
browser.platform = matched.platform;
{
if (userAgent2.indexOf("electron") !== -1) {
browser.electron = true;
} else if (document.location.href.indexOf("-extension://") !== -1) {
browser.bex = true;
} else {
if (window.Capacitor !== void 0) {
browser.capacitor = true;
browser.nativeMobile = true;
browser.nativeMobileWrapper = "capacitor";
} else if (window._cordovaNative !== void 0 || window.cordova !== void 0) {
browser.cordova = true;
browser.nativeMobile = true;
browser.nativeMobileWrapper = "cordova";
}
if (isRuntimeSsrPreHydration.value === true) {
preHydrationBrowser = { is: { ...browser } };
}
if (hasTouch === true && browser.mac === true && (browser.desktop === true && browser.safari === true || browser.nativeMobile === true && browser.android !== true && browser.ios !== true && browser.ipad !== true)) {
delete browser.mac;
delete browser.desktop;
const platform = Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone";
Object.assign(browser, {
mobile: true,
ios: true,
platform,
[platform]: true
});
}
if (browser.mobile !== true && window.navigator.userAgentData && window.navigator.userAgentData.mobile) {
delete browser.desktop;
browser.mobile = true;
}
}
}
return browser;
}
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
const ssrClient = {
has: {
touch: false,
webStorage: false
},
within: { iframe: false }
};
const client = {
userAgent,
is: getPlatform(userAgent),
has: {
touch: hasTouch
},
within: {
iframe: window.self !== window.top
}
};
const Platform = {
install(opts) {
const { $q } = opts;
if (isRuntimeSsrPreHydration.value === true) {
opts.onSSRHydrated.push(() => {
Object.assign($q.platform, client);
isRuntimeSsrPreHydration.value = false;
});
$q.platform = reactive(this);
} else {
$q.platform = this;
}
}
};
{
let hasWebStorage;
injectProp(client.has, "webStorage", () => {
if (hasWebStorage !== void 0) {
return hasWebStorage;
}
try {
if (window.localStorage) {
hasWebStorage = true;
return true;
}
} catch (_) {
}
hasWebStorage = false;
return false;
});
Object.assign(Platform, client);
if (isRuntimeSsrPreHydration.value === true) {
Object.assign(Platform, preHydrationBrowser, ssrClient);
preHydrationBrowser = null;
}
}
function parseValue(val) {
return val === void 0 || val === null ? null : val;
}
function getId(val, required) {
return val === void 0 || val === null ? required === true ? `f_${uid()}` : null : val;
}
function useId({ getValue, required = true } = {}) {
if (isRuntimeSsrPreHydration.value === true) {
const id = getValue !== void 0 ? ref(parseValue(getValue())) : ref(null);
if (required === true && id.value === null) {
onMounted(() => {
id.va