@firebase-oss/ui-core 0.0.1
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/brands/apple/logo.svg +1 -0
- package/brands/facebook/logo.svg +1 -0
- package/brands/github/logo.svg +1 -0
- package/brands/google/logo.svg +1 -0
- package/brands/line/logo.svg +1 -0
- package/brands/microsoft/logo.svg +1 -0
- package/brands/snapchat/logo.svg +1 -0
- package/brands/twitter/logo.svg +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3996 -0
- package/dist/index.d.ts +3996 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/package.json +69 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {registerVersion,FirebaseError}from'firebase/app';import {getMultiFactorResolver,EmailAuthProvider,signInWithCredential,createUserWithEmailAndPassword,PhoneAuthProvider,sendPasswordResetEmail,sendSignInLinkToEmail,signInWithCustomToken,signInAnonymously,isSignInWithEmailLink,multiFactor,TotpMultiFactorGenerator,getAuth,getRedirectResult,linkWithCredential,RecaptchaVerifier,linkWithRedirect,signInWithRedirect,linkWithPopup,signInWithPopup,GoogleAuthProvider,updateProfile}from'firebase/auth';import Fe from'qrcode-generator';import {getTranslation,ERROR_CODE_MAP,enUs}from'@firebase-oss/ui-translations';import {parsePhoneNumberWithError,formatIncompletePhoneNumber}from'libphonenumber-js';import {map,deepMap}from'nanostores';import*as n from'zod';function F(e,o){registerVersion("firebase-ui-web",o,e);}var A={version:"0.0.1"};function s(e,o,a){return getTranslation(e.locale,o,a)}var j=class e extends FirebaseError{constructor(o,a){let r=s(o,"errors",ERROR_CODE_MAP[a.code]);super(a.code,r||a.message),Object.setPrototypeOf(this,e.prototype);}};function l(e,o){if(!J(o))throw o;if(o.code==="auth/account-exists-with-different-credential"&&Z(o)&&window.sessionStorage.setItem("pendingCred",JSON.stringify(o.credential.toJSON())),o.code==="auth/multi-factor-auth-required"){let a=getMultiFactorResolver(e.auth,o);e.setMultiFactorResolver(a);}throw new j(e,o)}function J(e){return !!e&&typeof e=="object"&&"code"in e&&"message"in e}function Z(e){return "credential"in e}var T=async(e,o,a)=>{let r=e.auth.currentUser;if(!r?.isAnonymous)return;let t=r.uid,i=await linkWithCredential(r,o);return a&&await a(e,t,i),i},x=async(e,o,a)=>{let r=e.auth.currentUser;if(!r?.isAnonymous)return;let t=r.uid;window.localStorage.setItem("fbui:upgrade:oldUserId",t);let i=await p(e,"providerLinkStrategy")(e,r,o);return window.localStorage.removeItem("fbui:upgrade:oldUserId"),a&&await a(e,t,i),i},P=async(e,o,a)=>{let r=window.localStorage.getItem("fbui:upgrade:oldUserId");r&&window.localStorage.removeItem("fbui:upgrade:oldUserId"),!(!a||!r||!o)&&await a(e,r,o);};var R=async e=>{let o=e.auth;o.currentUser||await signInAnonymously(o);};var w=(e,o,a)=>new RecaptchaVerifier(e.auth,o,{size:a?.size??"invisible",theme:a?.theme??"light",tabindex:a?.tabindex??0});var H=async(e,o)=>signInWithRedirect(e.auth,o),M=async(e,o)=>signInWithPopup(e.auth,o),B=async(e,o,a)=>linkWithRedirect(o,a),E=async(e,o,a)=>linkWithPopup(o,a);var N=async(e,o)=>{if(e.auth.currentUser&&!e.auth.currentUser.isAnonymous||document.querySelector("script[data-one-tap-sign-in]"))return;let a=document.createElement("script");a.setAttribute("data-one-tap-sign-in","true"),a.src="https://accounts.google.com/gsi/client",a.async=true,a.onload=()=>{window.google.accounts.id.initialize({client_id:o.clientId,auto_select:o.autoSelect,cancel_on_tap_outside:o.cancelOnTapOutside,context:o.context,ux_mode:o.uxMode,log_level:o.logLevel,callback:async r=>{let t=GoogleAuthProvider.credential(r.credential);await I(e,t);}}),window.google.accounts.id.prompt();},document.body.appendChild(a);};var L=async(e,o,a)=>{await updateProfile(o,{displayName:a});};var g=[{name:"Afghanistan",dialCode:"+93",code:"AF",emoji:"\u{1F1E6}\u{1F1EB}"},{name:"Albania",dialCode:"+355",code:"AL",emoji:"\u{1F1E6}\u{1F1F1}"},{name:"Algeria",dialCode:"+213",code:"DZ",emoji:"\u{1F1E9}\u{1F1FF}"},{name:"American Samoa",dialCode:"+1",code:"AS",emoji:"\u{1F1E6}\u{1F1F8}"},{name:"Andorra",dialCode:"+376",code:"AD",emoji:"\u{1F1E6}\u{1F1E9}"},{name:"Angola",dialCode:"+244",code:"AO",emoji:"\u{1F1E6}\u{1F1F4}"},{name:"Anguilla",dialCode:"+1",code:"AI",emoji:"\u{1F1E6}\u{1F1EE}"},{name:"Antigua and Barbuda",dialCode:"+1",code:"AG",emoji:"\u{1F1E6}\u{1F1EC}"},{name:"Argentina",dialCode:"+54",code:"AR",emoji:"\u{1F1E6}\u{1F1F7}"},{name:"Armenia",dialCode:"+374",code:"AM",emoji:"\u{1F1E6}\u{1F1F2}"},{name:"Aruba",dialCode:"+297",code:"AW",emoji:"\u{1F1E6}\u{1F1FC}"},{name:"Ascension Island",dialCode:"+247",code:"AC",emoji:"\u{1F1E6}\u{1F1E8}"},{name:"Australia",dialCode:"+61",code:"AU",emoji:"\u{1F1E6}\u{1F1FA}"},{name:"Austria",dialCode:"+43",code:"AT",emoji:"\u{1F1E6}\u{1F1F9}"},{name:"Azerbaijan",dialCode:"+994",code:"AZ",emoji:"\u{1F1E6}\u{1F1FF}"},{name:"Bahamas",dialCode:"+1",code:"BS",emoji:"\u{1F1E7}\u{1F1F8}"},{name:"Bahrain",dialCode:"+973",code:"BH",emoji:"\u{1F1E7}\u{1F1ED}"},{name:"Bangladesh",dialCode:"+880",code:"BD",emoji:"\u{1F1E7}\u{1F1E9}"},{name:"Barbados",dialCode:"+1",code:"BB",emoji:"\u{1F1E7}\u{1F1E7}"},{name:"Belarus",dialCode:"+375",code:"BY",emoji:"\u{1F1E7}\u{1F1FE}"},{name:"Belgium",dialCode:"+32",code:"BE",emoji:"\u{1F1E7}\u{1F1EA}"},{name:"Belize",dialCode:"+501",code:"BZ",emoji:"\u{1F1E7}\u{1F1FF}"},{name:"Benin",dialCode:"+229",code:"BJ",emoji:"\u{1F1E7}\u{1F1EF}"},{name:"Bermuda",dialCode:"+1",code:"BM",emoji:"\u{1F1E7}\u{1F1F2}"},{name:"Bhutan",dialCode:"+975",code:"BT",emoji:"\u{1F1E7}\u{1F1F9}"},{name:"Bolivia",dialCode:"+591",code:"BO",emoji:"\u{1F1E7}\u{1F1F4}"},{name:"Bosnia and Herzegovina",dialCode:"+387",code:"BA",emoji:"\u{1F1E7}\u{1F1E6}"},{name:"Botswana",dialCode:"+267",code:"BW",emoji:"\u{1F1E7}\u{1F1FC}"},{name:"Brazil",dialCode:"+55",code:"BR",emoji:"\u{1F1E7}\u{1F1F7}"},{name:"British Indian Ocean Territory",dialCode:"+246",code:"IO",emoji:"\u{1F1EE}\u{1F1F4}"},{name:"British Virgin Islands",dialCode:"+1",code:"VG",emoji:"\u{1F1FB}\u{1F1EC}"},{name:"Brunei",dialCode:"+673",code:"BN",emoji:"\u{1F1E7}\u{1F1F3}"},{name:"Bulgaria",dialCode:"+359",code:"BG",emoji:"\u{1F1E7}\u{1F1EC}"},{name:"Burkina Faso",dialCode:"+226",code:"BF",emoji:"\u{1F1E7}\u{1F1EB}"},{name:"Burundi",dialCode:"+257",code:"BI",emoji:"\u{1F1E7}\u{1F1EE}"},{name:"Cambodia",dialCode:"+855",code:"KH",emoji:"\u{1F1F0}\u{1F1ED}"},{name:"Cameroon",dialCode:"+237",code:"CM",emoji:"\u{1F1E8}\u{1F1F2}"},{name:"Canada",dialCode:"+1",code:"CA",emoji:"\u{1F1E8}\u{1F1E6}"},{name:"Cape Verde",dialCode:"+238",code:"CV",emoji:"\u{1F1E8}\u{1F1FB}"},{name:"Caribbean Netherlands",dialCode:"+599",code:"BQ",emoji:"\u{1F1E7}\u{1F1F6}"},{name:"Cayman Islands",dialCode:"+1",code:"KY",emoji:"\u{1F1F0}\u{1F1FE}"},{name:"Central African Republic",dialCode:"+236",code:"CF",emoji:"\u{1F1E8}\u{1F1EB}"},{name:"Chad",dialCode:"+235",code:"TD",emoji:"\u{1F1F9}\u{1F1E9}"},{name:"Chile",dialCode:"+56",code:"CL",emoji:"\u{1F1E8}\u{1F1F1}"},{name:"China",dialCode:"+86",code:"CN",emoji:"\u{1F1E8}\u{1F1F3}"},{name:"Christmas Island",dialCode:"+61",code:"CX",emoji:"\u{1F1E8}\u{1F1FD}"},{name:"Cocos [Keeling] Islands",dialCode:"+61",code:"CC",emoji:"\u{1F1E8}\u{1F1E8}"},{name:"Colombia",dialCode:"+57",code:"CO",emoji:"\u{1F1E8}\u{1F1F4}"},{name:"Comoros",dialCode:"+269",code:"KM",emoji:"\u{1F1F0}\u{1F1F2}"},{name:"Democratic Republic Congo",dialCode:"+243",code:"CD",emoji:"\u{1F1E8}\u{1F1E9}"},{name:"Republic of Congo",dialCode:"+242",code:"CG",emoji:"\u{1F1E8}\u{1F1EC}"},{name:"Cook Islands",dialCode:"+682",code:"CK",emoji:"\u{1F1E8}\u{1F1F0}"},{name:"Costa Rica",dialCode:"+506",code:"CR",emoji:"\u{1F1E8}\u{1F1F7}"},{name:"C\xF4te d'Ivoire",dialCode:"+225",code:"CI",emoji:"\u{1F1E8}\u{1F1EE}"},{name:"Croatia",dialCode:"+385",code:"HR",emoji:"\u{1F1ED}\u{1F1F7}"},{name:"Cuba",dialCode:"+53",code:"CU",emoji:"\u{1F1E8}\u{1F1FA}"},{name:"Cura\xE7ao",dialCode:"+599",code:"CW",emoji:"\u{1F1E8}\u{1F1FC}"},{name:"Cyprus",dialCode:"+357",code:"CY",emoji:"\u{1F1E8}\u{1F1FE}"},{name:"Czech Republic",dialCode:"+420",code:"CZ",emoji:"\u{1F1E8}\u{1F1FF}"},{name:"Denmark",dialCode:"+45",code:"DK",emoji:"\u{1F1E9}\u{1F1F0}"},{name:"Djibouti",dialCode:"+253",code:"DJ",emoji:"\u{1F1E9}\u{1F1EF}"},{name:"Dominica",dialCode:"+1",code:"DM",emoji:"\u{1F1E9}\u{1F1F2}"},{name:"Dominican Republic",dialCode:"+1",code:"DO",emoji:"\u{1F1E9}\u{1F1F4}"},{name:"East Timor",dialCode:"+670",code:"TL",emoji:"\u{1F1F9}\u{1F1F1}"},{name:"Ecuador",dialCode:"+593",code:"EC",emoji:"\u{1F1EA}\u{1F1E8}"},{name:"Egypt",dialCode:"+20",code:"EG",emoji:"\u{1F1EA}\u{1F1EC}"},{name:"El Salvador",dialCode:"+503",code:"SV",emoji:"\u{1F1F8}\u{1F1FB}"},{name:"Equatorial Guinea",dialCode:"+240",code:"GQ",emoji:"\u{1F1EC}\u{1F1F6}"},{name:"Eritrea",dialCode:"+291",code:"ER",emoji:"\u{1F1EA}\u{1F1F7}"},{name:"Estonia",dialCode:"+372",code:"EE",emoji:"\u{1F1EA}\u{1F1EA}"},{name:"Ethiopia",dialCode:"+251",code:"ET",emoji:"\u{1F1EA}\u{1F1F9}"},{name:"Falkland Islands [Islas Malvinas]",dialCode:"+500",code:"FK",emoji:"\u{1F1EB}\u{1F1F0}"},{name:"Faroe Islands",dialCode:"+298",code:"FO",emoji:"\u{1F1EB}\u{1F1F4}"},{name:"Fiji",dialCode:"+679",code:"FJ",emoji:"\u{1F1EB}\u{1F1EF}"},{name:"Finland",dialCode:"+358",code:"FI",emoji:"\u{1F1EB}\u{1F1EE}"},{name:"France",dialCode:"+33",code:"FR",emoji:"\u{1F1EB}\u{1F1F7}"},{name:"French Guiana",dialCode:"+594",code:"GF",emoji:"\u{1F1EC}\u{1F1EB}"},{name:"French Polynesia",dialCode:"+689",code:"PF",emoji:"\u{1F1F5}\u{1F1EB}"},{name:"Gabon",dialCode:"+241",code:"GA",emoji:"\u{1F1EC}\u{1F1E6}"},{name:"Gambia",dialCode:"+220",code:"GM",emoji:"\u{1F1EC}\u{1F1F2}"},{name:"Georgia",dialCode:"+995",code:"GE",emoji:"\u{1F1EC}\u{1F1EA}"},{name:"Germany",dialCode:"+49",code:"DE",emoji:"\u{1F1E9}\u{1F1EA}"},{name:"Ghana",dialCode:"+233",code:"GH",emoji:"\u{1F1EC}\u{1F1ED}"},{name:"Gibraltar",dialCode:"+350",code:"GI",emoji:"\u{1F1EC}\u{1F1EE}"},{name:"Greece",dialCode:"+30",code:"GR",emoji:"\u{1F1EC}\u{1F1F7}"},{name:"Greenland",dialCode:"+299",code:"GL",emoji:"\u{1F1EC}\u{1F1F1}"},{name:"Grenada",dialCode:"+1",code:"GD",emoji:"\u{1F1EC}\u{1F1E9}"},{name:"Guadeloupe",dialCode:"+590",code:"GP",emoji:"\u{1F1EC}\u{1F1F5}"},{name:"Guam",dialCode:"+1",code:"GU",emoji:"\u{1F1EC}\u{1F1FA}"},{name:"Guatemala",dialCode:"+502",code:"GT",emoji:"\u{1F1EC}\u{1F1F9}"},{name:"Guernsey",dialCode:"+44",code:"GG",emoji:"\u{1F1EC}\u{1F1EC}"},{name:"Guinea Conakry",dialCode:"+224",code:"GN",emoji:"\u{1F1EC}\u{1F1F3}"},{name:"Guinea-Bissau",dialCode:"+245",code:"GW",emoji:"\u{1F1EC}\u{1F1FC}"},{name:"Guyana",dialCode:"+592",code:"GY",emoji:"\u{1F1EC}\u{1F1FE}"},{name:"Haiti",dialCode:"+509",code:"HT",emoji:"\u{1F1ED}\u{1F1F9}"},{name:"Honduras",dialCode:"+504",code:"HN",emoji:"\u{1F1ED}\u{1F1F3}"},{name:"Hong Kong",dialCode:"+852",code:"HK",emoji:"\u{1F1ED}\u{1F1F0}"},{name:"Hungary",dialCode:"+36",code:"HU",emoji:"\u{1F1ED}\u{1F1FA}"},{name:"Iceland",dialCode:"+354",code:"IS",emoji:"\u{1F1EE}\u{1F1F8}"},{name:"India",dialCode:"+91",code:"IN",emoji:"\u{1F1EE}\u{1F1F3}"},{name:"Indonesia",dialCode:"+62",code:"ID",emoji:"\u{1F1EE}\u{1F1E9}"},{name:"Iran",dialCode:"+98",code:"IR",emoji:"\u{1F1EE}\u{1F1F7}"},{name:"Iraq",dialCode:"+964",code:"IQ",emoji:"\u{1F1EE}\u{1F1F6}"},{name:"Ireland",dialCode:"+353",code:"IE",emoji:"\u{1F1EE}\u{1F1EA}"},{name:"Isle of Man",dialCode:"+44",code:"IM",emoji:"\u{1F1EE}\u{1F1F2}"},{name:"Israel",dialCode:"+972",code:"IL",emoji:"\u{1F1EE}\u{1F1F1}"},{name:"Italy",dialCode:"+39",code:"IT",emoji:"\u{1F1EE}\u{1F1F9}"},{name:"Jamaica",dialCode:"+1",code:"JM",emoji:"\u{1F1EF}\u{1F1F2}"},{name:"Japan",dialCode:"+81",code:"JP",emoji:"\u{1F1EF}\u{1F1F5}"},{name:"Jersey",dialCode:"+44",code:"JE",emoji:"\u{1F1EF}\u{1F1EA}"},{name:"Jordan",dialCode:"+962",code:"JO",emoji:"\u{1F1EF}\u{1F1F4}"},{name:"Kazakhstan",dialCode:"+7",code:"KZ",emoji:"\u{1F1F0}\u{1F1FF}"},{name:"Kenya",dialCode:"+254",code:"KE",emoji:"\u{1F1F0}\u{1F1EA}"},{name:"Kiribati",dialCode:"+686",code:"KI",emoji:"\u{1F1F0}\u{1F1EE}"},{name:"Kosovo",dialCode:"+377",code:"XK",emoji:"\u{1F1FD}\u{1F1F0}"},{name:"Kosovo",dialCode:"+381",code:"XK",emoji:"\u{1F1FD}\u{1F1F0}"},{name:"Kosovo",dialCode:"+386",code:"XK",emoji:"\u{1F1FD}\u{1F1F0}"},{name:"Kuwait",dialCode:"+965",code:"KW",emoji:"\u{1F1F0}\u{1F1FC}"},{name:"Kyrgyzstan",dialCode:"+996",code:"KG",emoji:"\u{1F1F0}\u{1F1EC}"},{name:"Laos",dialCode:"+856",code:"LA",emoji:"\u{1F1F1}\u{1F1E6}"},{name:"Latvia",dialCode:"+371",code:"LV",emoji:"\u{1F1F1}\u{1F1FB}"},{name:"Lebanon",dialCode:"+961",code:"LB",emoji:"\u{1F1F1}\u{1F1E7}"},{name:"Lesotho",dialCode:"+266",code:"LS",emoji:"\u{1F1F1}\u{1F1F8}"},{name:"Liberia",dialCode:"+231",code:"LR",emoji:"\u{1F1F1}\u{1F1F7}"},{name:"Libya",dialCode:"+218",code:"LY",emoji:"\u{1F1F1}\u{1F1FE}"},{name:"Liechtenstein",dialCode:"+423",code:"LI",emoji:"\u{1F1F1}\u{1F1EE}"},{name:"Lithuania",dialCode:"+370",code:"LT",emoji:"\u{1F1F1}\u{1F1F9}"},{name:"Luxembourg",dialCode:"+352",code:"LU",emoji:"\u{1F1F1}\u{1F1FA}"},{name:"Macau",dialCode:"+853",code:"MO",emoji:"\u{1F1F2}\u{1F1F4}"},{name:"Macedonia",dialCode:"+389",code:"MK",emoji:"\u{1F1F2}\u{1F1F0}"},{name:"Madagascar",dialCode:"+261",code:"MG",emoji:"\u{1F1F2}\u{1F1EC}"},{name:"Malawi",dialCode:"+265",code:"MW",emoji:"\u{1F1F2}\u{1F1FC}"},{name:"Malaysia",dialCode:"+60",code:"MY",emoji:"\u{1F1F2}\u{1F1FE}"},{name:"Maldives",dialCode:"+960",code:"MV",emoji:"\u{1F1F2}\u{1F1FB}"},{name:"Mali",dialCode:"+223",code:"ML",emoji:"\u{1F1F2}\u{1F1F1}"},{name:"Malta",dialCode:"+356",code:"MT",emoji:"\u{1F1F2}\u{1F1F9}"},{name:"Marshall Islands",dialCode:"+692",code:"MH",emoji:"\u{1F1F2}\u{1F1ED}"},{name:"Martinique",dialCode:"+596",code:"MQ",emoji:"\u{1F1F2}\u{1F1F6}"},{name:"Mauritania",dialCode:"+222",code:"MR",emoji:"\u{1F1F2}\u{1F1F7}"},{name:"Mauritius",dialCode:"+230",code:"MU",emoji:"\u{1F1F2}\u{1F1FA}"},{name:"Mayotte",dialCode:"+262",code:"YT",emoji:"\u{1F1FE}\u{1F1F9}"},{name:"Mexico",dialCode:"+52",code:"MX",emoji:"\u{1F1F2}\u{1F1FD}"},{name:"Micronesia",dialCode:"+691",code:"FM",emoji:"\u{1F1EB}\u{1F1F2}"},{name:"Moldova",dialCode:"+373",code:"MD",emoji:"\u{1F1F2}\u{1F1E9}"},{name:"Monaco",dialCode:"+377",code:"MC",emoji:"\u{1F1F2}\u{1F1E8}"},{name:"Mongolia",dialCode:"+976",code:"MN",emoji:"\u{1F1F2}\u{1F1F3}"},{name:"Montenegro",dialCode:"+382",code:"ME",emoji:"\u{1F1F2}\u{1F1EA}"},{name:"Montserrat",dialCode:"+1",code:"MS",emoji:"\u{1F1F2}\u{1F1F8}"},{name:"Morocco",dialCode:"+212",code:"MA",emoji:"\u{1F1F2}\u{1F1E6}"},{name:"Mozambique",dialCode:"+258",code:"MZ",emoji:"\u{1F1F2}\u{1F1FF}"},{name:"Myanmar [Burma]",dialCode:"+95",code:"MM",emoji:"\u{1F1F2}\u{1F1F2}"},{name:"Namibia",dialCode:"+264",code:"NA",emoji:"\u{1F1F3}\u{1F1E6}"},{name:"Nauru",dialCode:"+674",code:"NR",emoji:"\u{1F1F3}\u{1F1F7}"},{name:"Nepal",dialCode:"+977",code:"NP",emoji:"\u{1F1F3}\u{1F1F5}"},{name:"Netherlands",dialCode:"+31",code:"NL",emoji:"\u{1F1F3}\u{1F1F1}"},{name:"New Caledonia",dialCode:"+687",code:"NC",emoji:"\u{1F1F3}\u{1F1E8}"},{name:"New Zealand",dialCode:"+64",code:"NZ",emoji:"\u{1F1F3}\u{1F1FF}"},{name:"Nicaragua",dialCode:"+505",code:"NI",emoji:"\u{1F1F3}\u{1F1EE}"},{name:"Niger",dialCode:"+227",code:"NE",emoji:"\u{1F1F3}\u{1F1EA}"},{name:"Nigeria",dialCode:"+234",code:"NG",emoji:"\u{1F1F3}\u{1F1EC}"},{name:"Niue",dialCode:"+683",code:"NU",emoji:"\u{1F1F3}\u{1F1FA}"},{name:"Norfolk Island",dialCode:"+672",code:"NF",emoji:"\u{1F1F3}\u{1F1EB}"},{name:"North Korea",dialCode:"+850",code:"KP",emoji:"\u{1F1F0}\u{1F1F5}"},{name:"Northern Mariana Islands",dialCode:"+1",code:"MP",emoji:"\u{1F1F2}\u{1F1F5}"},{name:"Norway",dialCode:"+47",code:"NO",emoji:"\u{1F1F3}\u{1F1F4}"},{name:"Oman",dialCode:"+968",code:"OM",emoji:"\u{1F1F4}\u{1F1F2}"},{name:"Pakistan",dialCode:"+92",code:"PK",emoji:"\u{1F1F5}\u{1F1F0}"},{name:"Palau",dialCode:"+680",code:"PW",emoji:"\u{1F1F5}\u{1F1FC}"},{name:"Palestinian Territories",dialCode:"+970",code:"PS",emoji:"\u{1F1F5}\u{1F1F8}"},{name:"Panama",dialCode:"+507",code:"PA",emoji:"\u{1F1F5}\u{1F1E6}"},{name:"Papua New Guinea",dialCode:"+675",code:"PG",emoji:"\u{1F1F5}\u{1F1EC}"},{name:"Paraguay",dialCode:"+595",code:"PY",emoji:"\u{1F1F5}\u{1F1FE}"},{name:"Peru",dialCode:"+51",code:"PE",emoji:"\u{1F1F5}\u{1F1EA}"},{name:"Philippines",dialCode:"+63",code:"PH",emoji:"\u{1F1F5}\u{1F1ED}"},{name:"Poland",dialCode:"+48",code:"PL",emoji:"\u{1F1F5}\u{1F1F1}"},{name:"Portugal",dialCode:"+351",code:"PT",emoji:"\u{1F1F5}\u{1F1F9}"},{name:"Puerto Rico",dialCode:"+1",code:"PR",emoji:"\u{1F1F5}\u{1F1F7}"},{name:"Qatar",dialCode:"+974",code:"QA",emoji:"\u{1F1F6}\u{1F1E6}"},{name:"R\xE9union",dialCode:"+262",code:"RE",emoji:"\u{1F1F7}\u{1F1EA}"},{name:"Romania",dialCode:"+40",code:"RO",emoji:"\u{1F1F7}\u{1F1F4}"},{name:"Russia",dialCode:"+7",code:"RU",emoji:"\u{1F1F7}\u{1F1FA}"},{name:"Rwanda",dialCode:"+250",code:"RW",emoji:"\u{1F1F7}\u{1F1FC}"},{name:"Saint Barth\xE9lemy",dialCode:"+590",code:"BL",emoji:"\u{1F1E7}\u{1F1F1}"},{name:"Saint Helena",dialCode:"+290",code:"SH",emoji:"\u{1F1F8}\u{1F1ED}"},{name:"St. Kitts",dialCode:"+1",code:"KN",emoji:"\u{1F1F0}\u{1F1F3}"},{name:"St. Lucia",dialCode:"+1",code:"LC",emoji:"\u{1F1F1}\u{1F1E8}"},{name:"Saint Martin",dialCode:"+590",code:"MF",emoji:"\u{1F1F2}\u{1F1EB}"},{name:"Saint Pierre and Miquelon",dialCode:"+508",code:"PM",emoji:"\u{1F1F5}\u{1F1F2}"},{name:"St. Vincent",dialCode:"+1",code:"VC",emoji:"\u{1F1FB}\u{1F1E8}"},{name:"Samoa",dialCode:"+685",code:"WS",emoji:"\u{1F1FC}\u{1F1F8}"},{name:"San Marino",dialCode:"+378",code:"SM",emoji:"\u{1F1F8}\u{1F1F2}"},{name:"S\xE3o Tom\xE9 and Pr\xEDncipe",dialCode:"+239",code:"ST",emoji:"\u{1F1F8}\u{1F1F9}"},{name:"Saudi Arabia",dialCode:"+966",code:"SA",emoji:"\u{1F1F8}\u{1F1E6}"},{name:"Senegal",dialCode:"+221",code:"SN",emoji:"\u{1F1F8}\u{1F1F3}"},{name:"Serbia",dialCode:"+381",code:"RS",emoji:"\u{1F1F7}\u{1F1F8}"},{name:"Seychelles",dialCode:"+248",code:"SC",emoji:"\u{1F1F8}\u{1F1E8}"},{name:"Sierra Leone",dialCode:"+232",code:"SL",emoji:"\u{1F1F8}\u{1F1F1}"},{name:"Singapore",dialCode:"+65",code:"SG",emoji:"\u{1F1F8}\u{1F1EC}"},{name:"Sint Maarten",dialCode:"+1",code:"SX",emoji:"\u{1F1F8}\u{1F1FD}"},{name:"Slovakia",dialCode:"+421",code:"SK",emoji:"\u{1F1F8}\u{1F1F0}"},{name:"Slovenia",dialCode:"+386",code:"SI",emoji:"\u{1F1F8}\u{1F1EE}"},{name:"Solomon Islands",dialCode:"+677",code:"SB",emoji:"\u{1F1F8}\u{1F1E7}"},{name:"Somalia",dialCode:"+252",code:"SO",emoji:"\u{1F1F8}\u{1F1F4}"},{name:"South Africa",dialCode:"+27",code:"ZA",emoji:"\u{1F1FF}\u{1F1E6}"},{name:"South Korea",dialCode:"+82",code:"KR",emoji:"\u{1F1F0}\u{1F1F7}"},{name:"South Sudan",dialCode:"+211",code:"SS",emoji:"\u{1F1F8}\u{1F1F8}"},{name:"Spain",dialCode:"+34",code:"ES",emoji:"\u{1F1EA}\u{1F1F8}"},{name:"Sri Lanka",dialCode:"+94",code:"LK",emoji:"\u{1F1F1}\u{1F1F0}"},{name:"Sudan",dialCode:"+249",code:"SD",emoji:"\u{1F1F8}\u{1F1E9}"},{name:"Suriname",dialCode:"+597",code:"SR",emoji:"\u{1F1F8}\u{1F1F7}"},{name:"Svalbard and Jan Mayen",dialCode:"+47",code:"SJ",emoji:"\u{1F1F8}\u{1F1EF}"},{name:"Swaziland",dialCode:"+268",code:"SZ",emoji:"\u{1F1F8}\u{1F1FF}"},{name:"Sweden",dialCode:"+46",code:"SE",emoji:"\u{1F1F8}\u{1F1EA}"},{name:"Switzerland",dialCode:"+41",code:"CH",emoji:"\u{1F1E8}\u{1F1ED}"},{name:"Syria",dialCode:"+963",code:"SY",emoji:"\u{1F1F8}\u{1F1FE}"},{name:"Taiwan",dialCode:"+886",code:"TW",emoji:"\u{1F1F9}\u{1F1FC}"},{name:"Tajikistan",dialCode:"+992",code:"TJ",emoji:"\u{1F1F9}\u{1F1EF}"},{name:"Tanzania",dialCode:"+255",code:"TZ",emoji:"\u{1F1F9}\u{1F1FF}"},{name:"Thailand",dialCode:"+66",code:"TH",emoji:"\u{1F1F9}\u{1F1ED}"},{name:"Togo",dialCode:"+228",code:"TG",emoji:"\u{1F1F9}\u{1F1EC}"},{name:"Tokelau",dialCode:"+690",code:"TK",emoji:"\u{1F1F9}\u{1F1F0}"},{name:"Tonga",dialCode:"+676",code:"TO",emoji:"\u{1F1F9}\u{1F1F4}"},{name:"Trinidad/Tobago",dialCode:"+1",code:"TT",emoji:"\u{1F1F9}\u{1F1F9}"},{name:"Tunisia",dialCode:"+216",code:"TN",emoji:"\u{1F1F9}\u{1F1F3}"},{name:"Turkey",dialCode:"+90",code:"TR",emoji:"\u{1F1F9}\u{1F1F7}"},{name:"Turkmenistan",dialCode:"+993",code:"TM",emoji:"\u{1F1F9}\u{1F1F2}"},{name:"Turks and Caicos Islands",dialCode:"+1",code:"TC",emoji:"\u{1F1F9}\u{1F1E8}"},{name:"Tuvalu",dialCode:"+688",code:"TV",emoji:"\u{1F1F9}\u{1F1FB}"},{name:"U.S. Virgin Islands",dialCode:"+1",code:"VI",emoji:"\u{1F1FB}\u{1F1EE}"},{name:"Uganda",dialCode:"+256",code:"UG",emoji:"\u{1F1FA}\u{1F1EC}"},{name:"Ukraine",dialCode:"+380",code:"UA",emoji:"\u{1F1FA}\u{1F1E6}"},{name:"United Arab Emirates",dialCode:"+971",code:"AE",emoji:"\u{1F1E6}\u{1F1EA}"},{name:"United Kingdom",dialCode:"+44",code:"GB",emoji:"\u{1F1EC}\u{1F1E7}"},{name:"United States",dialCode:"+1",code:"US",emoji:"\u{1F1FA}\u{1F1F8}"},{name:"Uruguay",dialCode:"+598",code:"UY",emoji:"\u{1F1FA}\u{1F1FE}"},{name:"Uzbekistan",dialCode:"+998",code:"UZ",emoji:"\u{1F1FA}\u{1F1FF}"},{name:"Vanuatu",dialCode:"+678",code:"VU",emoji:"\u{1F1FB}\u{1F1FA}"},{name:"Vatican City",dialCode:"+379",code:"VA",emoji:"\u{1F1FB}\u{1F1E6}"},{name:"Venezuela",dialCode:"+58",code:"VE",emoji:"\u{1F1FB}\u{1F1EA}"},{name:"Vietnam",dialCode:"+84",code:"VN",emoji:"\u{1F1FB}\u{1F1F3}"},{name:"Wallis and Futuna",dialCode:"+681",code:"WF",emoji:"\u{1F1FC}\u{1F1EB}"},{name:"Western Sahara",dialCode:"+212",code:"EH",emoji:"\u{1F1EA}\u{1F1ED}"},{name:"Yemen",dialCode:"+967",code:"YE",emoji:"\u{1F1FE}\u{1F1EA}"},{name:"Zambia",dialCode:"+260",code:"ZM",emoji:"\u{1F1FF}\u{1F1F2}"},{name:"Zimbabwe",dialCode:"+263",code:"ZW",emoji:"\u{1F1FF}\u{1F1FC}"},{name:"\xC5land Islands",dialCode:"+358",code:"AX",emoji:"\u{1F1E6}\u{1F1FD}"}];function eo(e,o){try{let a=parsePhoneNumberWithError(e,o.code);if(a&&a.isValid())return a.number}catch{}try{return formatIncompletePhoneNumber(e,o.code).replace(/\s/g,"")}catch{let a=e.replace(/[^\d+]/g,"").trim();return a.startsWith("+")?a:`${o.dialCode}${a}`}}var k=e=>{let o=e?.allowedCountries?.length?g.filter(r=>e.allowedCountries.includes(r.code)):g;e?.allowedCountries?.length&&o.length===0&&(console.warn('No countries matched the "allowedCountries" list, falling back to all countries'),o=g);let a=e?.defaultCountry?g.find(r=>r.code===e.defaultCountry):g.find(r=>r.code==="US");return o.some(r=>r.code===a.code)||(a=o[0],console.warn(`The "defaultCountry" option is not in the "allowedCountries" list, the default country has been set to ${a.code}`)),{allowedCountries:o,defaultCountry:a}};function y(e){return {type:"callable",handler:e}}function O(e){return {type:"redirect",handler:e}}function S(e){return {type:"init",handler:e}}function to(){return {autoAnonymousLogin:S(R)}}function no(e){return {autoUpgradeAnonymousCredential:y((o,a)=>T(o,a,e?.onUpgrade)),autoUpgradeAnonymousProvider:y((o,a)=>x(o,a,e?.onUpgrade)),autoUpgradeAnonymousUserRedirectHandler:O((o,a)=>P(o,a,e?.onUpgrade))}}function Ce(e){return {recaptchaVerification:y((o,a)=>w(o,a,e))}}function ye(){return {providerSignInStrategy:y(H),providerLinkStrategy:y(B)}}function so(){return {providerSignInStrategy:y(M),providerLinkStrategy:y(E)}}function lo(e){return {oneTapSignIn:S(o=>N(o,e))}}function mo(){return {requireDisplayName:y(L)}}function ge(e){return {countryCodes:y(()=>k(e))}}function u(e,o){return !!e.behaviors[o]}function p(e,o){if(!u(e,o))throw new Error(`Behavior ${o} not found`);return e.behaviors[o].handler}var b={...Ce(),...ye(),...ge()};async function c(e,o){let a=window.sessionStorage.getItem("pendingCred");if(!a)return o;try{let r=JSON.parse(a),t=await linkWithCredential(o.user,r);return window.sessionStorage.removeItem("pendingCred"),t}catch{return window.sessionStorage.removeItem("pendingCred"),o}}function m(e){e.setRedirectError(void 0),e.setState("pending");}async function fo(e,o,a){try{m(e);let r=EmailAuthProvider.credential(o,a);if(u(e,"autoUpgradeAnonymousCredential")){let i=await p(e,"autoUpgradeAnonymousCredential")(e,r);if(i)return c(e,i)}let t=await signInWithCredential(e.auth,r);return c(e,t)}catch(r){l(e,r);}finally{e.setState("idle");}}async function jo(e,o,a,r){try{m(e);let t=EmailAuthProvider.credential(o,a);if(u(e,"requireDisplayName")&&!r)throw new FirebaseError("auth/display-name-required",s(e,"errors","displayNameRequired"));if(u(e,"autoUpgradeAnonymousCredential")){let d=await p(e,"autoUpgradeAnonymousCredential")(e,t);if(d)return u(e,"requireDisplayName")&&await p(e,"requireDisplayName")(e,d.user,r),c(e,d)}let i=await createUserWithEmailAndPassword(e.auth,o,a);return u(e,"requireDisplayName")&&await p(e,"requireDisplayName")(e,i.user,r),c(e,i)}catch(t){l(e,t);}finally{e.setState("idle");}}async function Io(e,o,a,r,t){try{m(e);let i=new PhoneAuthProvider(e.auth);if(t&&e.multiFactorResolver)return await i.verifyPhoneNumber({multiFactorHint:t,session:e.multiFactorResolver.session},a);if(r){let d=await r.getSession();return await i.verifyPhoneNumber({phoneNumber:o,session:d},a)}else return await i.verifyPhoneNumber(o,a)}catch(i){l(e,i);}finally{e.setState("idle");}}async function So(e,o,a){try{m(e);let r=e.auth.currentUser,t=PhoneAuthProvider.credential(o,a);if(r?.isAnonymous&&u(e,"autoUpgradeAnonymousCredential")){let d=await p(e,"autoUpgradeAnonymousCredential")(e,t);if(d)return c(e,d)}let i=await signInWithCredential(e.auth,t);return c(e,i)}catch(r){l(e,r);}finally{e.setState("idle");}}async function bo(e,o){try{m(e),await sendPasswordResetEmail(e.auth,o);}catch(a){l(e,a);}finally{e.setState("idle");}}async function Uo(e,o){try{m(e);let a={url:window.location.href,handleCodeInApp:!0};await sendSignInLinkToEmail(e.auth,o,a),window.localStorage.setItem("emailForSignIn",o);}catch(a){l(e,a);}finally{e.setState("idle");}}async function Te(e,o,a){let r=EmailAuthProvider.credentialWithLink(o,a);return I(e,r)}async function I(e,o){try{if(m(e),u(e,"autoUpgradeAnonymousCredential")){let r=await p(e,"autoUpgradeAnonymousCredential")(e,o);if(r)return c(e,r)}let a=await signInWithCredential(e.auth,o);return c(e,a)}catch(a){l(e,a);}finally{e.setState("idle");}}async function vo(e,o){try{m(e);let a=await signInWithCustomToken(e.auth,o);return c(e,a)}catch(a){l(e,a);}finally{e.setState("idle");}}async function Fo(e){try{m(e);let o=await signInAnonymously(e.auth);return c(e,o)}catch(o){l(e,o);}finally{e.setState("idle");}}async function Ao(e,o){try{if(m(e),u(e,"autoUpgradeAnonymousProvider")){let t=await p(e,"autoUpgradeAnonymousProvider")(e,o);if(t)return c(e,t)}let r=await p(e,"providerSignInStrategy")(e,o);return c(e,r)}catch(a){l(e,a);}finally{e.setState("idle");}}async function To(e,o){try{if(!isSignInWithEmailLink(e.auth,o))return null;let a=window.localStorage.getItem("emailForSignIn");if(!a)return null;m(e);let r=await Te(e,a,o);return c(e,r)}catch(a){l(e,a);}finally{e.setState("idle"),window.localStorage.removeItem("emailForSignIn");}}function xo(e,o,a,r){let t=e.auth.currentUser;if(!t)throw new Error("User must be authenticated to generate a TOTP QR code");let i=o.generateQrCodeUrl(a||t.email||"",r),d=Fe(0,"L");return d.addData(i),d.make(),d.createDataURL()}async function Po(e,o){try{m(e);let a=await e.multiFactorResolver?.resolveSignIn(o);return e.setMultiFactorResolver(void 0),a}catch(a){l(e,a);}finally{e.setState("idle");}}async function Ro(e,o,a){try{m(e),await multiFactor(e.auth.currentUser).enroll(o,a);}catch(r){l(e,r);}finally{e.setState("idle");}}async function wo(e){try{m(e);let a=await multiFactor(e.auth.currentUser).getSession();return await TotpMultiFactorGenerator.generateSecret(a)}catch(o){l(e,o);}finally{e.setState("idle");}}var h=map({});function ko(e,o="[DEFAULT]"){let a=e.behaviors?.reduce((i,d)=>({...i,...d}),b);h.setKey(o,deepMap({app:e.app,auth:e.auth||getAuth(e.app),locale:e.locale??enUs,setLocale:i=>{h.get()[o].setKey("locale",i);},state:"idle",setState:i=>{h.get()[o].setKey("state",i);},behaviors:a??b,multiFactorResolver:void 0,setMultiFactorResolver:i=>{h.get()[o].setKey("multiFactorResolver",i);},redirectError:void 0,setRedirectError:i=>{h.get()[o].setKey("redirectError",i);}}));let r=h.get()[o],t=r.get();if(typeof window<"u"){let i=[],d=[];for(let C of Object.values(t.behaviors))C.type==="redirect"?d.push(C):C.type==="init"&&i.push(C);i.length>0&&(r.setKey("state","loading"),t.auth.authStateReady().then(()=>{Promise.all(i.map(C=>C.handler(t))).then(()=>{r.setKey("state","idle");});})),getRedirectResult(t.auth).then(C=>Promise.all(d.map(f=>f.handler(t,C)))).catch(C=>{try{l(t,C);}catch(f){t.setRedirectError(f instanceof Error?f:new Error(String(f)));}});}return r}var Do=["email","phone","anonymous","emailLink","google"];function Wo(e){return n.object({email:n.email(s(e,"errors","invalidEmail")),password:n.string().min(6,s(e,"errors","weakPassword"))})}function Vo(e){let o=u(e,"requireDisplayName"),a=s(e,"errors","displayNameRequired");return n.object({email:n.email(s(e,"errors","invalidEmail")),password:n.string().min(6,s(e,"errors","weakPassword")),displayName:o?n.string().min(1,a):n.string().min(1,a).optional()})}function Ko(e){return n.object({email:n.email(s(e,"errors","invalidEmail"))})}function qo(e){return n.object({email:n.email(s(e,"errors","invalidEmail"))})}function Me(e){return n.object({phoneNumber:n.string().min(1,s(e,"errors","missingPhoneNumber")).max(10,s(e,"errors","invalidPhoneNumber"))})}function Be(e){return n.object({verificationId:n.string().min(1,s(e,"errors","missingVerificationId")),verificationCode:n.string().refine(o=>!o||o.length>=6,{error:s(e,"errors","invalidVerificationCode")})})}function _o(e){return Me(e).extend({displayName:n.string().min(1,s(e,"errors","displayNameRequired"))})}function Jo(e){return Be(e)}function Zo(e){return n.object({displayName:n.string().min(1,s(e,"errors","displayNameRequired"))})}function Yo(e){return n.object({verificationCode:n.string().refine(o=>o.length===6,{error:s(e,"errors","invalidVerificationCode")})})}import.meta.env.PROD&&F("core",A.version);
|
|
2
|
+
export{h as $config,j as FirebaseUIError,Do as LoginTypes,to as autoAnonymousLogin,no as autoUpgradeAnonymousUsers,To as completeEmailLinkSignIn,So as confirmPhoneNumber,ge as countryCodes,g as countryData,qo as createEmailLinkAuthFormSchema,Ko as createForgotPasswordAuthFormSchema,_o as createMultiFactorPhoneAuthNumberFormSchema,Jo as createMultiFactorPhoneAuthVerifyFormSchema,Zo as createMultiFactorTotpAuthNumberFormSchema,Yo as createMultiFactorTotpAuthVerifyFormSchema,Me as createPhoneAuthNumberFormSchema,Be as createPhoneAuthVerifyFormSchema,Wo as createSignInAuthFormSchema,Vo as createSignUpAuthFormSchema,jo as createUserWithEmailAndPassword,b as defaultBehaviors,Ro as enrollWithMultiFactorAssertion,eo as formatPhoneNumber,xo as generateTotpQrCode,wo as generateTotpSecret,p as getBehavior,s as getTranslation,l as handleFirebaseError,u as hasBehavior,ko as initializeUI,lo as oneTapSignIn,so as providerPopupStrategy,ye as providerRedirectStrategy,Ce as recaptchaVerification,F as registerFramework,mo as requireDisplayName,bo as sendPasswordResetEmail,Uo as sendSignInLinkToEmail,Fo as signInAnonymously,I as signInWithCredential,vo as signInWithCustomToken,fo as signInWithEmailAndPassword,Te as signInWithEmailLink,Po as signInWithMultiFactorAssertion,Ao as signInWithProvider,Io as verifyPhoneNumber};//# sourceMappingURL=index.js.map
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/register-framework.ts","../package.json","../src/translations.ts","../src/errors.ts","../src/behaviors/anonymous-upgrade.ts","../src/behaviors/auto-anonymous-login.ts","../src/behaviors/recaptcha.ts","../src/behaviors/provider-strategy.ts","../src/behaviors/one-tap.ts","../src/behaviors/require-display-name.ts","../src/country-data.ts","../src/behaviors/country-codes.ts","../src/behaviors/utils.ts","../src/behaviors/index.ts","../src/auth.ts","../src/config.ts","../src/schemas.ts","../src/index.ts"],"names":["registerFramework","framework","version","registerVersion","package_default","getTranslation","ui","category","key","_getTranslation","FirebaseUIError","_FirebaseUIError","FirebaseError","error","message","ERROR_CODE_MAP","handleFirebaseError","isFirebaseError","errorContainsCredential","resolver","getMultiFactorResolver","autoUpgradeAnonymousCredentialHandler","credential","onUpgrade","currentUser","oldUserId","result","linkWithCredential","autoUpgradeAnonymousProviderHandler","provider","getBehavior","autoUpgradeAnonymousUserRedirectHandler","autoAnonymousLoginHandler","auth","signInAnonymously","recaptchaVerificationHandler","element","options","RecaptchaVerifier","signInWithRediectHandler","signInWithRedirect","signInWithPopupHandler","signInWithPopup","linkWithRedirectHandler","_ui","user","linkWithRedirect","linkWithPopupHandler","linkWithPopup","oneTapSignInHandler","script","response","GoogleAuthProvider","signInWithCredential","requireDisplayNameHandler","_","displayName","updateProfile","countryData","formatPhoneNumber","phoneNumber","parsedNumber","parsePhoneNumberWithError","formatIncompletePhoneNumber","cleaned","countryCodesHandler","allowedCountries","country","defaultCountry","callableBehavior","handler","redirectBehavior","initBehavior","autoAnonymousLogin","autoUpgradeAnonymousUsers","recaptchaVerification","providerRedirectStrategy","providerPopupStrategy","oneTapSignIn","requireDisplayName","countryCodes","hasBehavior","defaultBehaviors","handlePendingCredential","pendingCredString","pendingCred","setPendingState","signInWithEmailAndPassword","email","password","EmailAuthProvider","_signInWithCredential","createUserWithEmailAndPassword","_createUserWithEmailAndPassword","verifyPhoneNumber","appVerifier","mfaUser","mfaHint","PhoneAuthProvider","session","confirmPhoneNumber","verificationId","verificationCode","sendPasswordResetEmail","_sendPasswordResetEmail","sendSignInLinkToEmail","actionCodeSettings","_sendSignInLinkToEmail","signInWithEmailLink","link","userCredential","signInWithCustomToken","customToken","_signInWithCustomToken","_signInAnonymously","signInWithProvider","completeEmailLinkSignIn","currentUrl","_isSignInWithEmailLink","generateTotpQrCode","secret","accountName","issuer","uri","qr","QRCode","signInWithMultiFactorAssertion","assertion","enrollWithMultiFactorAssertion","multiFactor","generateTotpSecret","TotpMultiFactorGenerator","$config","map","initializeUI","config","name","behaviors","acc","behavior","deepMap","getAuth","enUs","locale","state","store","initBehaviors","redirectBehaviors","getRedirectResult","LoginTypes","createSignInAuthFormSchema","createSignUpAuthFormSchema","displayNameRequiredMessage","createForgotPasswordAuthFormSchema","createEmailLinkAuthFormSchema","createPhoneAuthNumberFormSchema","createPhoneAuthVerifyFormSchema","val","createMultiFactorPhoneAuthNumberFormSchema","createMultiFactorPhoneAuthVerifyFormSchema","createMultiFactorTotpAuthNumberFormSchema","createMultiFactorTotpAuthVerifyFormSchema"],"mappings":"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","file":"index.js","sourcesContent":["import { registerVersion } from \"firebase/app\";\n\n/**\n * Register a framework with the FirebaseUI configuration.\n * @internal\n * @param framework The type of framework being registered.\n * @param version The version of the framework being registered.\n */\nexport function registerFramework(framework: string, version: string) {\n registerVersion(\"firebase-ui-web\", version, framework);\n}\n","{\n \"name\": \"@firebase-oss/ui-core\",\n \"version\": \"0.0.1\",\n \"description\": \"Core authentication service for Firebase UI\",\n \"type\": \"module\",\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./brands/*\": \"./brands/*\"\n },\n \"files\": [\n \"dist\",\n \"brands\"\n ],\n \"scripts\": {\n \"prepare\": \"pnpm run build\",\n \"emulators:start\": \"firebase emulators:start -P demo-firebaseui\",\n \"build\": \"tsup\",\n \"build:local\": \"pnpm run build && pnpm pack\",\n \"dev\": \"tsup --watch\",\n \"lint\": \"eslint . --ext .ts\",\n \"lint:fix\": \"eslint . --ext .ts --fix\",\n \"format\": \"prettier --write \\\"src/**/*.ts\\\" \\\"tests/**/*.ts\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.ts\\\" \\\"tests/**/*.ts\\\"\",\n \"clean\": \"rimraf dist\",\n \"test:unit\": \"vitest run src\",\n \"test:unit:watch\": \"vitest tests\",\n \"test:integration\": \"vitest run tests\",\n \"test:integration:watch\": \"vitest integration\",\n \"test\": \"vitest run\",\n \"publish:tags\": \"sh -c 'TAG=\\\"${npm_package_name}@${npm_package_version}\\\"; git tag --list \\\"$TAG\\\" | grep . || git tag \\\"$TAG\\\"; git push origin \\\"$TAG\\\"'\",\n \"release\": \"pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/\"\n },\n \"keywords\": [\n \"firebase\",\n \"auth\",\n \"authentication\",\n \"firebaseui\"\n ],\n \"author\": \"TODO\",\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"firebase\": \"catalog:peerDependencies\"\n },\n \"dependencies\": {\n \"@firebase-oss/ui-translations\": \"workspace:*\",\n \"libphonenumber-js\": \"^1.12.23\",\n \"nanostores\": \"catalog:\",\n \"qrcode-generator\": \"^2.0.4\",\n \"zod\": \"catalog:\"\n },\n \"devDependencies\": {\n \"@types/google-one-tap\": \"^1.2.6\",\n \"@types/jsdom\": \"catalog:\",\n \"firebase\": \"catalog:\",\n \"jsdom\": \"catalog:\",\n \"rimraf\": \"catalog:\",\n \"tsup\": \"catalog:\",\n \"typescript\": \"catalog:\",\n \"vite\": \"catalog:\",\n \"vitest\": \"catalog:\"\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n getTranslation as _getTranslation,\n type TranslationCategory,\n type TranslationKey,\n} from \"@firebase-oss/ui-translations\";\nimport { type FirebaseUI } from \"./config\";\n\nexport function getTranslation<T extends TranslationCategory>(ui: FirebaseUI, category: T, key: TranslationKey<T>) {\n return _getTranslation(ui.locale, category, key);\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ERROR_CODE_MAP, type ErrorCode } from \"@firebase-oss/ui-translations\";\nimport { FirebaseError } from \"firebase/app\";\nimport { type AuthCredential, getMultiFactorResolver, type MultiFactorError } from \"firebase/auth\";\nimport { type FirebaseUI } from \"./config\";\nimport { getTranslation } from \"./translations\";\nexport class FirebaseUIError extends FirebaseError {\n constructor(ui: FirebaseUI, error: FirebaseError) {\n const message = getTranslation(ui, \"errors\", ERROR_CODE_MAP[error.code as ErrorCode]);\n super(error.code, message || error.message);\n\n // Ensures that `instanceof FirebaseUIError` works, alongside `instanceof FirebaseError`\n Object.setPrototypeOf(this, FirebaseUIError.prototype);\n }\n}\n\nexport function handleFirebaseError(ui: FirebaseUI, error: unknown): never {\n // If it's not a Firebase error, then we just throw it and preserve the original error.\n if (!isFirebaseError(error)) {\n throw error;\n }\n\n // TODO(ehesp): Type error as unknown, check instance of FirebaseError\n // TODO(ehesp): Support via behavior\n if (error.code === \"auth/account-exists-with-different-credential\" && errorContainsCredential(error)) {\n window.sessionStorage.setItem(\"pendingCred\", JSON.stringify(error.credential.toJSON()));\n }\n\n // Update the UI with the multi-factor resolver if the error is thrown.\n if (error.code === \"auth/multi-factor-auth-required\") {\n const resolver = getMultiFactorResolver(ui.auth, error as MultiFactorError);\n ui.setMultiFactorResolver(resolver);\n }\n\n throw new FirebaseUIError(ui, error);\n}\n\n// Utility to obtain whether something is a FirebaseError\nfunction isFirebaseError(error: unknown): error is FirebaseError {\n // Calling instanceof FirebaseError is not working - not sure why yet.\n return !!error && typeof error === \"object\" && \"code\" in error && \"message\" in error;\n}\n\n// Utility to obtain whether something is a FirebaseError that contains a credential - doesn't seemed to be typed?\nfunction errorContainsCredential(error: FirebaseError): error is FirebaseError & { credential: AuthCredential } {\n return \"credential\" in error;\n}\n","import { type AuthCredential, type AuthProvider, linkWithCredential, type UserCredential } from \"firebase/auth\";\nimport { type FirebaseUI } from \"~/config\";\nimport { getBehavior } from \"~/behaviors\";\n\nexport type OnUpgradeCallback = (ui: FirebaseUI, oldUserId: string, credential: UserCredential) => Promise<void> | void;\n\nexport const autoUpgradeAnonymousCredentialHandler = async (\n ui: FirebaseUI,\n credential: AuthCredential,\n onUpgrade?: OnUpgradeCallback\n) => {\n const currentUser = ui.auth.currentUser;\n\n if (!currentUser?.isAnonymous) {\n return;\n }\n\n const oldUserId = currentUser.uid;\n\n const result = await linkWithCredential(currentUser, credential);\n\n if (onUpgrade) {\n await onUpgrade(ui, oldUserId, result);\n }\n\n return result;\n};\n\nexport const autoUpgradeAnonymousProviderHandler = async (\n ui: FirebaseUI,\n provider: AuthProvider,\n onUpgrade?: OnUpgradeCallback\n) => {\n const currentUser = ui.auth.currentUser;\n\n if (!currentUser?.isAnonymous) {\n return;\n }\n\n const oldUserId = currentUser.uid;\n\n window.localStorage.setItem(\"fbui:upgrade:oldUserId\", oldUserId);\n\n const result = await getBehavior(ui, \"providerLinkStrategy\")(ui, currentUser, provider);\n\n // If we got here, the user has been linked via a popup, so we need to call the onUpgrade callback\n // and delete the oldUserId from localStorage.\n // If we didn't get here, they'll be redirected and we'll handle the result inside of the autoUpgradeAnonymousUserRedirectHandler.\n\n window.localStorage.removeItem(\"fbui:upgrade:oldUserId\");\n\n if (onUpgrade) {\n await onUpgrade(ui, oldUserId, result);\n }\n\n return result;\n};\n\nexport const autoUpgradeAnonymousUserRedirectHandler = async (\n ui: FirebaseUI,\n credential: UserCredential | null,\n onUpgrade?: OnUpgradeCallback\n) => {\n const oldUserId = window.localStorage.getItem(\"fbui:upgrade:oldUserId\");\n\n // Always clean up localStorage once we've retrieved the oldUserId\n if (oldUserId) {\n window.localStorage.removeItem(\"fbui:upgrade:oldUserId\");\n }\n\n if (!onUpgrade || !oldUserId || !credential) {\n return;\n }\n\n await onUpgrade(ui, oldUserId, credential);\n};\n","import { signInAnonymously } from \"firebase/auth\";\nimport { type InitHandler } from \"./utils\";\n\nexport const autoAnonymousLoginHandler: InitHandler = async (ui) => {\n const auth = ui.auth;\n\n if (!auth.currentUser) {\n await signInAnonymously(auth);\n }\n};\n","import { RecaptchaVerifier } from \"firebase/auth\";\nimport { type FirebaseUI } from \"~/config\";\n\nexport type RecaptchaVerificationOptions = {\n size?: \"normal\" | \"invisible\" | \"compact\";\n theme?: \"light\" | \"dark\";\n tabindex?: number;\n};\n\nexport const recaptchaVerificationHandler = (\n ui: FirebaseUI,\n element: HTMLElement,\n options?: RecaptchaVerificationOptions\n) => {\n return new RecaptchaVerifier(ui.auth, element, {\n size: options?.size ?? \"invisible\",\n theme: options?.theme ?? \"light\",\n tabindex: options?.tabindex ?? 0,\n });\n};\n","import {\n type AuthProvider,\n linkWithPopup,\n linkWithRedirect,\n signInWithPopup,\n signInWithRedirect,\n type User,\n type UserCredential,\n} from \"firebase/auth\";\nimport { type FirebaseUI } from \"~/config\";\n\nexport type ProviderSignInStrategyHandler = (ui: FirebaseUI, provider: AuthProvider) => Promise<never | UserCredential>;\nexport type ProviderLinkStrategyHandler = (\n ui: FirebaseUI,\n user: User,\n provider: AuthProvider\n) => Promise<never | UserCredential>;\n\nexport const signInWithRediectHandler: ProviderSignInStrategyHandler = async (ui, provider) => {\n return signInWithRedirect(ui.auth, provider);\n};\n\nexport const signInWithPopupHandler: ProviderSignInStrategyHandler = async (ui, provider) => {\n return signInWithPopup(ui.auth, provider);\n};\n\nexport const linkWithRedirectHandler: ProviderLinkStrategyHandler = async (_ui, user, provider) => {\n return linkWithRedirect(user, provider);\n};\n\nexport const linkWithPopupHandler: ProviderLinkStrategyHandler = async (_ui, user, provider) => {\n return linkWithPopup(user, provider);\n};\n","import { GoogleAuthProvider } from \"firebase/auth\";\nimport type { IdConfiguration } from \"google-one-tap\";\nimport type { FirebaseUI } from \"~/config\";\nimport { signInWithCredential } from \"~/auth\";\n\nexport type OneTapSignInOptions = {\n clientId: IdConfiguration[\"client_id\"];\n autoSelect?: IdConfiguration[\"auto_select\"];\n cancelOnTapOutside?: IdConfiguration[\"cancel_on_tap_outside\"];\n context?: IdConfiguration[\"context\"];\n uxMode?: IdConfiguration[\"ux_mode\"];\n logLevel?: IdConfiguration[\"log_level\"];\n};\n\nexport const oneTapSignInHandler = async (ui: FirebaseUI, options: OneTapSignInOptions) => {\n // Only show one-tap if user is not signed in OR if they are anonymous.\n // Don't show if user is already signed in with a real account.\n if (ui.auth.currentUser && !ui.auth.currentUser.isAnonymous) {\n return;\n }\n\n // Prevent multiple instances of the script from being loaded, e.g. hot reload.\n if (document.querySelector(\"script[data-one-tap-sign-in]\")) {\n return;\n }\n\n const script = document.createElement(\"script\");\n script.setAttribute(\"data-one-tap-sign-in\", \"true\");\n script.src = \"https://accounts.google.com/gsi/client\";\n script.async = true;\n\n script.onload = () => {\n window.google.accounts.id.initialize({\n client_id: options.clientId,\n auto_select: options.autoSelect,\n cancel_on_tap_outside: options.cancelOnTapOutside,\n context: options.context,\n ux_mode: options.uxMode,\n log_level: options.logLevel,\n callback: async (response) => {\n const credential = GoogleAuthProvider.credential(response.credential);\n await signInWithCredential(ui, credential);\n },\n });\n\n window.google.accounts.id.prompt();\n };\n\n document.body.appendChild(script);\n};\n","import { updateProfile, type User } from \"firebase/auth\";\nimport { type FirebaseUI } from \"~/config\";\n\nexport const requireDisplayNameHandler = async (_: FirebaseUI, user: User, displayName: string) => {\n await updateProfile(user, { displayName });\n};\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { formatIncompletePhoneNumber, parsePhoneNumberWithError, type CountryCode } from \"libphonenumber-js\";\n\nexport const countryData = [\n { name: \"Afghanistan\", dialCode: \"+93\", code: \"AF\", emoji: \"🇦🇫\" },\n { name: \"Albania\", dialCode: \"+355\", code: \"AL\", emoji: \"🇦🇱\" },\n { name: \"Algeria\", dialCode: \"+213\", code: \"DZ\", emoji: \"🇩🇿\" },\n { name: \"American Samoa\", dialCode: \"+1\", code: \"AS\", emoji: \"🇦🇸\" },\n { name: \"Andorra\", dialCode: \"+376\", code: \"AD\", emoji: \"🇦🇩\" },\n { name: \"Angola\", dialCode: \"+244\", code: \"AO\", emoji: \"🇦🇴\" },\n { name: \"Anguilla\", dialCode: \"+1\", code: \"AI\", emoji: \"🇦🇮\" },\n { name: \"Antigua and Barbuda\", dialCode: \"+1\", code: \"AG\", emoji: \"🇦🇬\" },\n { name: \"Argentina\", dialCode: \"+54\", code: \"AR\", emoji: \"🇦🇷\" },\n { name: \"Armenia\", dialCode: \"+374\", code: \"AM\", emoji: \"🇦🇲\" },\n { name: \"Aruba\", dialCode: \"+297\", code: \"AW\", emoji: \"🇦🇼\" },\n { name: \"Ascension Island\", dialCode: \"+247\", code: \"AC\", emoji: \"🇦🇨\" },\n { name: \"Australia\", dialCode: \"+61\", code: \"AU\", emoji: \"🇦🇺\" },\n { name: \"Austria\", dialCode: \"+43\", code: \"AT\", emoji: \"🇦🇹\" },\n { name: \"Azerbaijan\", dialCode: \"+994\", code: \"AZ\", emoji: \"🇦🇿\" },\n { name: \"Bahamas\", dialCode: \"+1\", code: \"BS\", emoji: \"🇧🇸\" },\n { name: \"Bahrain\", dialCode: \"+973\", code: \"BH\", emoji: \"🇧🇭\" },\n { name: \"Bangladesh\", dialCode: \"+880\", code: \"BD\", emoji: \"🇧🇩\" },\n { name: \"Barbados\", dialCode: \"+1\", code: \"BB\", emoji: \"🇧🇧\" },\n { name: \"Belarus\", dialCode: \"+375\", code: \"BY\", emoji: \"🇧🇾\" },\n { name: \"Belgium\", dialCode: \"+32\", code: \"BE\", emoji: \"🇧🇪\" },\n { name: \"Belize\", dialCode: \"+501\", code: \"BZ\", emoji: \"🇧🇿\" },\n { name: \"Benin\", dialCode: \"+229\", code: \"BJ\", emoji: \"🇧🇯\" },\n { name: \"Bermuda\", dialCode: \"+1\", code: \"BM\", emoji: \"🇧🇲\" },\n { name: \"Bhutan\", dialCode: \"+975\", code: \"BT\", emoji: \"🇧🇹\" },\n { name: \"Bolivia\", dialCode: \"+591\", code: \"BO\", emoji: \"🇧🇴\" },\n { name: \"Bosnia and Herzegovina\", dialCode: \"+387\", code: \"BA\", emoji: \"🇧🇦\" },\n { name: \"Botswana\", dialCode: \"+267\", code: \"BW\", emoji: \"🇧🇼\" },\n { name: \"Brazil\", dialCode: \"+55\", code: \"BR\", emoji: \"🇧🇷\" },\n { name: \"British Indian Ocean Territory\", dialCode: \"+246\", code: \"IO\", emoji: \"🇮🇴\" },\n { name: \"British Virgin Islands\", dialCode: \"+1\", code: \"VG\", emoji: \"🇻🇬\" },\n { name: \"Brunei\", dialCode: \"+673\", code: \"BN\", emoji: \"🇧🇳\" },\n { name: \"Bulgaria\", dialCode: \"+359\", code: \"BG\", emoji: \"🇧🇬\" },\n { name: \"Burkina Faso\", dialCode: \"+226\", code: \"BF\", emoji: \"🇧🇫\" },\n { name: \"Burundi\", dialCode: \"+257\", code: \"BI\", emoji: \"🇧🇮\" },\n { name: \"Cambodia\", dialCode: \"+855\", code: \"KH\", emoji: \"🇰🇭\" },\n { name: \"Cameroon\", dialCode: \"+237\", code: \"CM\", emoji: \"🇨🇲\" },\n { name: \"Canada\", dialCode: \"+1\", code: \"CA\", emoji: \"🇨🇦\" },\n { name: \"Cape Verde\", dialCode: \"+238\", code: \"CV\", emoji: \"🇨🇻\" },\n { name: \"Caribbean Netherlands\", dialCode: \"+599\", code: \"BQ\", emoji: \"🇧🇶\" },\n { name: \"Cayman Islands\", dialCode: \"+1\", code: \"KY\", emoji: \"🇰🇾\" },\n { name: \"Central African Republic\", dialCode: \"+236\", code: \"CF\", emoji: \"🇨🇫\" },\n { name: \"Chad\", dialCode: \"+235\", code: \"TD\", emoji: \"🇹🇩\" },\n { name: \"Chile\", dialCode: \"+56\", code: \"CL\", emoji: \"🇨🇱\" },\n { name: \"China\", dialCode: \"+86\", code: \"CN\", emoji: \"🇨🇳\" },\n { name: \"Christmas Island\", dialCode: \"+61\", code: \"CX\", emoji: \"🇨🇽\" },\n { name: \"Cocos [Keeling] Islands\", dialCode: \"+61\", code: \"CC\", emoji: \"🇨🇨\" },\n { name: \"Colombia\", dialCode: \"+57\", code: \"CO\", emoji: \"🇨🇴\" },\n { name: \"Comoros\", dialCode: \"+269\", code: \"KM\", emoji: \"🇰🇲\" },\n { name: \"Democratic Republic Congo\", dialCode: \"+243\", code: \"CD\", emoji: \"🇨🇩\" },\n { name: \"Republic of Congo\", dialCode: \"+242\", code: \"CG\", emoji: \"🇨🇬\" },\n { name: \"Cook Islands\", dialCode: \"+682\", code: \"CK\", emoji: \"🇨🇰\" },\n { name: \"Costa Rica\", dialCode: \"+506\", code: \"CR\", emoji: \"🇨🇷\" },\n { name: \"Côte d'Ivoire\", dialCode: \"+225\", code: \"CI\", emoji: \"🇨🇮\" },\n { name: \"Croatia\", dialCode: \"+385\", code: \"HR\", emoji: \"🇭🇷\" },\n { name: \"Cuba\", dialCode: \"+53\", code: \"CU\", emoji: \"🇨🇺\" },\n { name: \"Curaçao\", dialCode: \"+599\", code: \"CW\", emoji: \"🇨🇼\" },\n { name: \"Cyprus\", dialCode: \"+357\", code: \"CY\", emoji: \"🇨🇾\" },\n { name: \"Czech Republic\", dialCode: \"+420\", code: \"CZ\", emoji: \"🇨🇿\" },\n { name: \"Denmark\", dialCode: \"+45\", code: \"DK\", emoji: \"🇩🇰\" },\n { name: \"Djibouti\", dialCode: \"+253\", code: \"DJ\", emoji: \"🇩🇯\" },\n { name: \"Dominica\", dialCode: \"+1\", code: \"DM\", emoji: \"🇩🇲\" },\n { name: \"Dominican Republic\", dialCode: \"+1\", code: \"DO\", emoji: \"🇩🇴\" },\n { name: \"East Timor\", dialCode: \"+670\", code: \"TL\", emoji: \"🇹🇱\" },\n { name: \"Ecuador\", dialCode: \"+593\", code: \"EC\", emoji: \"🇪🇨\" },\n { name: \"Egypt\", dialCode: \"+20\", code: \"EG\", emoji: \"🇪🇬\" },\n { name: \"El Salvador\", dialCode: \"+503\", code: \"SV\", emoji: \"🇸🇻\" },\n { name: \"Equatorial Guinea\", dialCode: \"+240\", code: \"GQ\", emoji: \"🇬🇶\" },\n { name: \"Eritrea\", dialCode: \"+291\", code: \"ER\", emoji: \"🇪🇷\" },\n { name: \"Estonia\", dialCode: \"+372\", code: \"EE\", emoji: \"🇪🇪\" },\n { name: \"Ethiopia\", dialCode: \"+251\", code: \"ET\", emoji: \"🇪🇹\" },\n { name: \"Falkland Islands [Islas Malvinas]\", dialCode: \"+500\", code: \"FK\", emoji: \"🇫🇰\" },\n { name: \"Faroe Islands\", dialCode: \"+298\", code: \"FO\", emoji: \"🇫🇴\" },\n { name: \"Fiji\", dialCode: \"+679\", code: \"FJ\", emoji: \"🇫🇯\" },\n { name: \"Finland\", dialCode: \"+358\", code: \"FI\", emoji: \"🇫🇮\" },\n { name: \"France\", dialCode: \"+33\", code: \"FR\", emoji: \"🇫🇷\" },\n { name: \"French Guiana\", dialCode: \"+594\", code: \"GF\", emoji: \"🇬🇫\" },\n { name: \"French Polynesia\", dialCode: \"+689\", code: \"PF\", emoji: \"🇵🇫\" },\n { name: \"Gabon\", dialCode: \"+241\", code: \"GA\", emoji: \"🇬🇦\" },\n { name: \"Gambia\", dialCode: \"+220\", code: \"GM\", emoji: \"🇬🇲\" },\n { name: \"Georgia\", dialCode: \"+995\", code: \"GE\", emoji: \"🇬🇪\" },\n { name: \"Germany\", dialCode: \"+49\", code: \"DE\", emoji: \"🇩🇪\" },\n { name: \"Ghana\", dialCode: \"+233\", code: \"GH\", emoji: \"🇬🇭\" },\n { name: \"Gibraltar\", dialCode: \"+350\", code: \"GI\", emoji: \"🇬🇮\" },\n { name: \"Greece\", dialCode: \"+30\", code: \"GR\", emoji: \"🇬🇷\" },\n { name: \"Greenland\", dialCode: \"+299\", code: \"GL\", emoji: \"🇬🇱\" },\n { name: \"Grenada\", dialCode: \"+1\", code: \"GD\", emoji: \"🇬🇩\" },\n { name: \"Guadeloupe\", dialCode: \"+590\", code: \"GP\", emoji: \"🇬🇵\" },\n { name: \"Guam\", dialCode: \"+1\", code: \"GU\", emoji: \"🇬🇺\" },\n { name: \"Guatemala\", dialCode: \"+502\", code: \"GT\", emoji: \"🇬🇹\" },\n { name: \"Guernsey\", dialCode: \"+44\", code: \"GG\", emoji: \"🇬🇬\" },\n { name: \"Guinea Conakry\", dialCode: \"+224\", code: \"GN\", emoji: \"🇬🇳\" },\n { name: \"Guinea-Bissau\", dialCode: \"+245\", code: \"GW\", emoji: \"🇬🇼\" },\n { name: \"Guyana\", dialCode: \"+592\", code: \"GY\", emoji: \"🇬🇾\" },\n { name: \"Haiti\", dialCode: \"+509\", code: \"HT\", emoji: \"🇭🇹\" },\n { name: \"Honduras\", dialCode: \"+504\", code: \"HN\", emoji: \"🇭🇳\" },\n { name: \"Hong Kong\", dialCode: \"+852\", code: \"HK\", emoji: \"🇭🇰\" },\n { name: \"Hungary\", dialCode: \"+36\", code: \"HU\", emoji: \"🇭🇺\" },\n { name: \"Iceland\", dialCode: \"+354\", code: \"IS\", emoji: \"🇮🇸\" },\n { name: \"India\", dialCode: \"+91\", code: \"IN\", emoji: \"🇮🇳\" },\n { name: \"Indonesia\", dialCode: \"+62\", code: \"ID\", emoji: \"🇮🇩\" },\n { name: \"Iran\", dialCode: \"+98\", code: \"IR\", emoji: \"🇮🇷\" },\n { name: \"Iraq\", dialCode: \"+964\", code: \"IQ\", emoji: \"🇮🇶\" },\n { name: \"Ireland\", dialCode: \"+353\", code: \"IE\", emoji: \"🇮🇪\" },\n { name: \"Isle of Man\", dialCode: \"+44\", code: \"IM\", emoji: \"🇮🇲\" },\n { name: \"Israel\", dialCode: \"+972\", code: \"IL\", emoji: \"🇮🇱\" },\n { name: \"Italy\", dialCode: \"+39\", code: \"IT\", emoji: \"🇮🇹\" },\n { name: \"Jamaica\", dialCode: \"+1\", code: \"JM\", emoji: \"🇯🇲\" },\n { name: \"Japan\", dialCode: \"+81\", code: \"JP\", emoji: \"🇯🇵\" },\n { name: \"Jersey\", dialCode: \"+44\", code: \"JE\", emoji: \"🇯🇪\" },\n { name: \"Jordan\", dialCode: \"+962\", code: \"JO\", emoji: \"🇯🇴\" },\n { name: \"Kazakhstan\", dialCode: \"+7\", code: \"KZ\", emoji: \"🇰🇿\" },\n { name: \"Kenya\", dialCode: \"+254\", code: \"KE\", emoji: \"🇰🇪\" },\n { name: \"Kiribati\", dialCode: \"+686\", code: \"KI\", emoji: \"🇰🇮\" },\n { name: \"Kosovo\", dialCode: \"+377\", code: \"XK\", emoji: \"🇽🇰\" },\n { name: \"Kosovo\", dialCode: \"+381\", code: \"XK\", emoji: \"🇽🇰\" },\n { name: \"Kosovo\", dialCode: \"+386\", code: \"XK\", emoji: \"🇽🇰\" },\n { name: \"Kuwait\", dialCode: \"+965\", code: \"KW\", emoji: \"🇰🇼\" },\n { name: \"Kyrgyzstan\", dialCode: \"+996\", code: \"KG\", emoji: \"🇰🇬\" },\n { name: \"Laos\", dialCode: \"+856\", code: \"LA\", emoji: \"🇱🇦\" },\n { name: \"Latvia\", dialCode: \"+371\", code: \"LV\", emoji: \"🇱🇻\" },\n { name: \"Lebanon\", dialCode: \"+961\", code: \"LB\", emoji: \"🇱🇧\" },\n { name: \"Lesotho\", dialCode: \"+266\", code: \"LS\", emoji: \"🇱🇸\" },\n { name: \"Liberia\", dialCode: \"+231\", code: \"LR\", emoji: \"🇱🇷\" },\n { name: \"Libya\", dialCode: \"+218\", code: \"LY\", emoji: \"🇱🇾\" },\n { name: \"Liechtenstein\", dialCode: \"+423\", code: \"LI\", emoji: \"🇱🇮\" },\n { name: \"Lithuania\", dialCode: \"+370\", code: \"LT\", emoji: \"🇱🇹\" },\n { name: \"Luxembourg\", dialCode: \"+352\", code: \"LU\", emoji: \"🇱🇺\" },\n { name: \"Macau\", dialCode: \"+853\", code: \"MO\", emoji: \"🇲🇴\" },\n { name: \"Macedonia\", dialCode: \"+389\", code: \"MK\", emoji: \"🇲🇰\" },\n { name: \"Madagascar\", dialCode: \"+261\", code: \"MG\", emoji: \"🇲🇬\" },\n { name: \"Malawi\", dialCode: \"+265\", code: \"MW\", emoji: \"🇲🇼\" },\n { name: \"Malaysia\", dialCode: \"+60\", code: \"MY\", emoji: \"🇲🇾\" },\n { name: \"Maldives\", dialCode: \"+960\", code: \"MV\", emoji: \"🇲🇻\" },\n { name: \"Mali\", dialCode: \"+223\", code: \"ML\", emoji: \"🇲🇱\" },\n { name: \"Malta\", dialCode: \"+356\", code: \"MT\", emoji: \"🇲🇹\" },\n { name: \"Marshall Islands\", dialCode: \"+692\", code: \"MH\", emoji: \"🇲🇭\" },\n { name: \"Martinique\", dialCode: \"+596\", code: \"MQ\", emoji: \"🇲🇶\" },\n { name: \"Mauritania\", dialCode: \"+222\", code: \"MR\", emoji: \"🇲🇷\" },\n { name: \"Mauritius\", dialCode: \"+230\", code: \"MU\", emoji: \"🇲🇺\" },\n { name: \"Mayotte\", dialCode: \"+262\", code: \"YT\", emoji: \"🇾🇹\" },\n { name: \"Mexico\", dialCode: \"+52\", code: \"MX\", emoji: \"🇲🇽\" },\n { name: \"Micronesia\", dialCode: \"+691\", code: \"FM\", emoji: \"🇫🇲\" },\n { name: \"Moldova\", dialCode: \"+373\", code: \"MD\", emoji: \"🇲🇩\" },\n { name: \"Monaco\", dialCode: \"+377\", code: \"MC\", emoji: \"🇲🇨\" },\n { name: \"Mongolia\", dialCode: \"+976\", code: \"MN\", emoji: \"🇲🇳\" },\n { name: \"Montenegro\", dialCode: \"+382\", code: \"ME\", emoji: \"🇲🇪\" },\n { name: \"Montserrat\", dialCode: \"+1\", code: \"MS\", emoji: \"🇲🇸\" },\n { name: \"Morocco\", dialCode: \"+212\", code: \"MA\", emoji: \"🇲🇦\" },\n { name: \"Mozambique\", dialCode: \"+258\", code: \"MZ\", emoji: \"🇲🇿\" },\n { name: \"Myanmar [Burma]\", dialCode: \"+95\", code: \"MM\", emoji: \"🇲🇲\" },\n { name: \"Namibia\", dialCode: \"+264\", code: \"NA\", emoji: \"🇳🇦\" },\n { name: \"Nauru\", dialCode: \"+674\", code: \"NR\", emoji: \"🇳🇷\" },\n { name: \"Nepal\", dialCode: \"+977\", code: \"NP\", emoji: \"🇳🇵\" },\n { name: \"Netherlands\", dialCode: \"+31\", code: \"NL\", emoji: \"🇳🇱\" },\n { name: \"New Caledonia\", dialCode: \"+687\", code: \"NC\", emoji: \"🇳🇨\" },\n { name: \"New Zealand\", dialCode: \"+64\", code: \"NZ\", emoji: \"🇳🇿\" },\n { name: \"Nicaragua\", dialCode: \"+505\", code: \"NI\", emoji: \"🇳🇮\" },\n { name: \"Niger\", dialCode: \"+227\", code: \"NE\", emoji: \"🇳🇪\" },\n { name: \"Nigeria\", dialCode: \"+234\", code: \"NG\", emoji: \"🇳🇬\" },\n { name: \"Niue\", dialCode: \"+683\", code: \"NU\", emoji: \"🇳🇺\" },\n { name: \"Norfolk Island\", dialCode: \"+672\", code: \"NF\", emoji: \"🇳🇫\" },\n { name: \"North Korea\", dialCode: \"+850\", code: \"KP\", emoji: \"🇰🇵\" },\n { name: \"Northern Mariana Islands\", dialCode: \"+1\", code: \"MP\", emoji: \"🇲🇵\" },\n { name: \"Norway\", dialCode: \"+47\", code: \"NO\", emoji: \"🇳🇴\" },\n { name: \"Oman\", dialCode: \"+968\", code: \"OM\", emoji: \"🇴🇲\" },\n { name: \"Pakistan\", dialCode: \"+92\", code: \"PK\", emoji: \"🇵🇰\" },\n { name: \"Palau\", dialCode: \"+680\", code: \"PW\", emoji: \"🇵🇼\" },\n { name: \"Palestinian Territories\", dialCode: \"+970\", code: \"PS\", emoji: \"🇵🇸\" },\n { name: \"Panama\", dialCode: \"+507\", code: \"PA\", emoji: \"🇵🇦\" },\n { name: \"Papua New Guinea\", dialCode: \"+675\", code: \"PG\", emoji: \"🇵🇬\" },\n { name: \"Paraguay\", dialCode: \"+595\", code: \"PY\", emoji: \"🇵🇾\" },\n { name: \"Peru\", dialCode: \"+51\", code: \"PE\", emoji: \"🇵🇪\" },\n { name: \"Philippines\", dialCode: \"+63\", code: \"PH\", emoji: \"🇵🇭\" },\n { name: \"Poland\", dialCode: \"+48\", code: \"PL\", emoji: \"🇵🇱\" },\n { name: \"Portugal\", dialCode: \"+351\", code: \"PT\", emoji: \"🇵🇹\" },\n { name: \"Puerto Rico\", dialCode: \"+1\", code: \"PR\", emoji: \"🇵🇷\" },\n { name: \"Qatar\", dialCode: \"+974\", code: \"QA\", emoji: \"🇶🇦\" },\n { name: \"Réunion\", dialCode: \"+262\", code: \"RE\", emoji: \"🇷🇪\" },\n { name: \"Romania\", dialCode: \"+40\", code: \"RO\", emoji: \"🇷🇴\" },\n { name: \"Russia\", dialCode: \"+7\", code: \"RU\", emoji: \"🇷🇺\" },\n { name: \"Rwanda\", dialCode: \"+250\", code: \"RW\", emoji: \"🇷🇼\" },\n { name: \"Saint Barthélemy\", dialCode: \"+590\", code: \"BL\", emoji: \"🇧🇱\" },\n { name: \"Saint Helena\", dialCode: \"+290\", code: \"SH\", emoji: \"🇸🇭\" },\n { name: \"St. Kitts\", dialCode: \"+1\", code: \"KN\", emoji: \"🇰🇳\" },\n { name: \"St. Lucia\", dialCode: \"+1\", code: \"LC\", emoji: \"🇱🇨\" },\n { name: \"Saint Martin\", dialCode: \"+590\", code: \"MF\", emoji: \"🇲🇫\" },\n { name: \"Saint Pierre and Miquelon\", dialCode: \"+508\", code: \"PM\", emoji: \"🇵🇲\" },\n { name: \"St. Vincent\", dialCode: \"+1\", code: \"VC\", emoji: \"🇻🇨\" },\n { name: \"Samoa\", dialCode: \"+685\", code: \"WS\", emoji: \"🇼🇸\" },\n { name: \"San Marino\", dialCode: \"+378\", code: \"SM\", emoji: \"🇸🇲\" },\n { name: \"São Tomé and Príncipe\", dialCode: \"+239\", code: \"ST\", emoji: \"🇸🇹\" },\n { name: \"Saudi Arabia\", dialCode: \"+966\", code: \"SA\", emoji: \"🇸🇦\" },\n { name: \"Senegal\", dialCode: \"+221\", code: \"SN\", emoji: \"🇸🇳\" },\n { name: \"Serbia\", dialCode: \"+381\", code: \"RS\", emoji: \"🇷🇸\" },\n { name: \"Seychelles\", dialCode: \"+248\", code: \"SC\", emoji: \"🇸🇨\" },\n { name: \"Sierra Leone\", dialCode: \"+232\", code: \"SL\", emoji: \"🇸🇱\" },\n { name: \"Singapore\", dialCode: \"+65\", code: \"SG\", emoji: \"🇸🇬\" },\n { name: \"Sint Maarten\", dialCode: \"+1\", code: \"SX\", emoji: \"🇸🇽\" },\n { name: \"Slovakia\", dialCode: \"+421\", code: \"SK\", emoji: \"🇸🇰\" },\n { name: \"Slovenia\", dialCode: \"+386\", code: \"SI\", emoji: \"🇸🇮\" },\n { name: \"Solomon Islands\", dialCode: \"+677\", code: \"SB\", emoji: \"🇸🇧\" },\n { name: \"Somalia\", dialCode: \"+252\", code: \"SO\", emoji: \"🇸🇴\" },\n { name: \"South Africa\", dialCode: \"+27\", code: \"ZA\", emoji: \"🇿🇦\" },\n { name: \"South Korea\", dialCode: \"+82\", code: \"KR\", emoji: \"🇰🇷\" },\n { name: \"South Sudan\", dialCode: \"+211\", code: \"SS\", emoji: \"🇸🇸\" },\n { name: \"Spain\", dialCode: \"+34\", code: \"ES\", emoji: \"🇪🇸\" },\n { name: \"Sri Lanka\", dialCode: \"+94\", code: \"LK\", emoji: \"🇱🇰\" },\n { name: \"Sudan\", dialCode: \"+249\", code: \"SD\", emoji: \"🇸🇩\" },\n { name: \"Suriname\", dialCode: \"+597\", code: \"SR\", emoji: \"🇸🇷\" },\n { name: \"Svalbard and Jan Mayen\", dialCode: \"+47\", code: \"SJ\", emoji: \"🇸🇯\" },\n { name: \"Swaziland\", dialCode: \"+268\", code: \"SZ\", emoji: \"🇸🇿\" },\n { name: \"Sweden\", dialCode: \"+46\", code: \"SE\", emoji: \"🇸🇪\" },\n { name: \"Switzerland\", dialCode: \"+41\", code: \"CH\", emoji: \"🇨🇭\" },\n { name: \"Syria\", dialCode: \"+963\", code: \"SY\", emoji: \"🇸🇾\" },\n { name: \"Taiwan\", dialCode: \"+886\", code: \"TW\", emoji: \"🇹🇼\" },\n { name: \"Tajikistan\", dialCode: \"+992\", code: \"TJ\", emoji: \"🇹🇯\" },\n { name: \"Tanzania\", dialCode: \"+255\", code: \"TZ\", emoji: \"🇹🇿\" },\n { name: \"Thailand\", dialCode: \"+66\", code: \"TH\", emoji: \"🇹🇭\" },\n { name: \"Togo\", dialCode: \"+228\", code: \"TG\", emoji: \"🇹🇬\" },\n { name: \"Tokelau\", dialCode: \"+690\", code: \"TK\", emoji: \"🇹🇰\" },\n { name: \"Tonga\", dialCode: \"+676\", code: \"TO\", emoji: \"🇹🇴\" },\n { name: \"Trinidad/Tobago\", dialCode: \"+1\", code: \"TT\", emoji: \"🇹🇹\" },\n { name: \"Tunisia\", dialCode: \"+216\", code: \"TN\", emoji: \"🇹🇳\" },\n { name: \"Turkey\", dialCode: \"+90\", code: \"TR\", emoji: \"🇹🇷\" },\n { name: \"Turkmenistan\", dialCode: \"+993\", code: \"TM\", emoji: \"🇹🇲\" },\n { name: \"Turks and Caicos Islands\", dialCode: \"+1\", code: \"TC\", emoji: \"🇹🇨\" },\n { name: \"Tuvalu\", dialCode: \"+688\", code: \"TV\", emoji: \"🇹🇻\" },\n { name: \"U.S. Virgin Islands\", dialCode: \"+1\", code: \"VI\", emoji: \"🇻🇮\" },\n { name: \"Uganda\", dialCode: \"+256\", code: \"UG\", emoji: \"🇺🇬\" },\n { name: \"Ukraine\", dialCode: \"+380\", code: \"UA\", emoji: \"🇺🇦\" },\n { name: \"United Arab Emirates\", dialCode: \"+971\", code: \"AE\", emoji: \"🇦🇪\" },\n { name: \"United Kingdom\", dialCode: \"+44\", code: \"GB\", emoji: \"🇬🇧\" },\n { name: \"United States\", dialCode: \"+1\", code: \"US\", emoji: \"🇺🇸\" },\n { name: \"Uruguay\", dialCode: \"+598\", code: \"UY\", emoji: \"🇺🇾\" },\n { name: \"Uzbekistan\", dialCode: \"+998\", code: \"UZ\", emoji: \"🇺🇿\" },\n { name: \"Vanuatu\", dialCode: \"+678\", code: \"VU\", emoji: \"🇻🇺\" },\n { name: \"Vatican City\", dialCode: \"+379\", code: \"VA\", emoji: \"🇻🇦\" },\n { name: \"Venezuela\", dialCode: \"+58\", code: \"VE\", emoji: \"🇻🇪\" },\n { name: \"Vietnam\", dialCode: \"+84\", code: \"VN\", emoji: \"🇻🇳\" },\n { name: \"Wallis and Futuna\", dialCode: \"+681\", code: \"WF\", emoji: \"🇼🇫\" },\n { name: \"Western Sahara\", dialCode: \"+212\", code: \"EH\", emoji: \"🇪🇭\" },\n { name: \"Yemen\", dialCode: \"+967\", code: \"YE\", emoji: \"🇾🇪\" },\n { name: \"Zambia\", dialCode: \"+260\", code: \"ZM\", emoji: \"🇿🇲\" },\n { name: \"Zimbabwe\", dialCode: \"+263\", code: \"ZW\", emoji: \"🇿🇼\" },\n { name: \"Åland Islands\", dialCode: \"+358\", code: \"AX\", emoji: \"🇦🇽\" },\n] as const satisfies CountryData[];\n\nexport type CountryData = {\n name: string;\n dialCode: string;\n code: CountryCode;\n emoji: string;\n};\n\nexport type { CountryCode };\n\nexport function formatPhoneNumber(phoneNumber: string, countryData: CountryData): string {\n try {\n const parsedNumber = parsePhoneNumberWithError(phoneNumber, countryData.code);\n\n if (parsedNumber && parsedNumber.isValid()) {\n // Return the E164 format.\n return parsedNumber.number;\n }\n } catch {\n // If parsing fails, try to format as incomplete number\n }\n\n try {\n // Try to format as incomplete number with country\n const formatted = formatIncompletePhoneNumber(phoneNumber, countryData.code);\n // Remove spaces from the formatted result.\n return formatted.replace(/\\s/g, \"\");\n } catch {\n // If all else fails, just clean the number and prepend country code\n const cleaned = phoneNumber.replace(/[^\\d+]/g, \"\").trim();\n if (cleaned.startsWith(\"+\")) {\n return cleaned;\n }\n\n return `${countryData.dialCode}${cleaned}`;\n }\n}\n","import { type CountryCode, countryData } from \"../country-data\";\n\nexport type CountryCodesOptions = {\n // The allowed countries are the countries that will be shown in the country selector\n // or `getCountries` is called.\n allowedCountries?: CountryCode[];\n // The default country is the country that will be selected by default when\n // the country selector is rendered, or `getDefaultCountry` is called.\n defaultCountry?: CountryCode;\n};\n\nexport const countryCodesHandler = (options?: CountryCodesOptions) => {\n // Determine allowed countries\n let allowedCountries = options?.allowedCountries?.length\n ? countryData.filter((country) => options.allowedCountries!.includes(country.code))\n : countryData;\n\n // If no countries match, fall back to all countries\n if (options?.allowedCountries?.length && allowedCountries.length === 0) {\n console.warn(`No countries matched the \"allowedCountries\" list, falling back to all countries`);\n allowedCountries = countryData;\n }\n\n // Determine default country\n let defaultCountry = options?.defaultCountry\n ? countryData.find((country) => country.code === options.defaultCountry)!\n : countryData.find((country) => country.code === \"US\")!;\n\n // If default country is not in allowed countries, use first allowed country\n if (!allowedCountries.some((country) => country.code === defaultCountry.code)) {\n defaultCountry = allowedCountries[0]!;\n console.warn(\n `The \"defaultCountry\" option is not in the \"allowedCountries\" list, the default country has been set to ${defaultCountry.code}`\n );\n }\n\n return {\n allowedCountries,\n defaultCountry,\n };\n};\n","import type { UserCredential } from \"firebase/auth\";\nimport type { FirebaseUI } from \"~/config\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type CallableHandler<T extends (...args: any[]) => any = (...args: any[]) => any> = T;\nexport type InitHandler = (ui: FirebaseUI) => Promise<void> | void;\nexport type RedirectHandler = (ui: FirebaseUI, result: UserCredential | null) => Promise<void> | void;\n\nexport type CallableBehavior<T extends CallableHandler = CallableHandler> = {\n type: \"callable\";\n handler: T;\n};\n\nexport type RedirectBehavior<T extends RedirectHandler = RedirectHandler> = {\n type: \"redirect\";\n handler: T;\n};\n\nexport type InitBehavior<T extends InitHandler = InitHandler> = {\n type: \"init\";\n handler: T;\n};\n\nexport function callableBehavior<T extends CallableHandler>(handler: T): CallableBehavior<T> {\n return { type: \"callable\" as const, handler };\n}\n\nexport function redirectBehavior<T extends RedirectHandler = RedirectHandler>(handler: T): RedirectBehavior<T> {\n return { type: \"redirect\" as const, handler };\n}\n\nexport function initBehavior<T extends InitHandler = InitHandler>(handler: T): InitBehavior<T> {\n return { type: \"init\" as const, handler };\n}\n","import type { FirebaseUI } from \"~/config\";\nimport type { RecaptchaVerifier, UserCredential } from \"firebase/auth\";\nimport * as anonymousUpgradeHandlers from \"./anonymous-upgrade\";\nimport * as autoAnonymousLoginHandlers from \"./auto-anonymous-login\";\nimport * as recaptchaHandlers from \"./recaptcha\";\nimport * as providerStrategyHandlers from \"./provider-strategy\";\nimport * as oneTapSignInHandlers from \"./one-tap\";\nimport * as requireDisplayNameHandlers from \"./require-display-name\";\nimport * as countryCodesHandlers from \"./country-codes\";\nimport {\n callableBehavior,\n initBehavior,\n redirectBehavior,\n type CallableBehavior,\n type InitBehavior,\n type RedirectBehavior,\n} from \"./utils\";\n\ntype Registry = {\n autoAnonymousLogin: InitBehavior<typeof autoAnonymousLoginHandlers.autoAnonymousLoginHandler>;\n autoUpgradeAnonymousCredential: CallableBehavior<\n typeof anonymousUpgradeHandlers.autoUpgradeAnonymousCredentialHandler\n >;\n autoUpgradeAnonymousProvider: CallableBehavior<typeof anonymousUpgradeHandlers.autoUpgradeAnonymousProviderHandler>;\n autoUpgradeAnonymousUserRedirectHandler: RedirectBehavior<\n (\n ui: FirebaseUI,\n credential: UserCredential | null,\n onUpgrade?: anonymousUpgradeHandlers.OnUpgradeCallback\n ) => ReturnType<typeof anonymousUpgradeHandlers.autoUpgradeAnonymousUserRedirectHandler>\n >;\n recaptchaVerification: CallableBehavior<(ui: FirebaseUI, element: HTMLElement) => RecaptchaVerifier>;\n providerSignInStrategy: CallableBehavior<providerStrategyHandlers.ProviderSignInStrategyHandler>;\n providerLinkStrategy: CallableBehavior<providerStrategyHandlers.ProviderLinkStrategyHandler>;\n oneTapSignIn: InitBehavior<(ui: FirebaseUI) => ReturnType<typeof oneTapSignInHandlers.oneTapSignInHandler>>;\n requireDisplayName: CallableBehavior<typeof requireDisplayNameHandlers.requireDisplayNameHandler>;\n countryCodes: CallableBehavior<typeof countryCodesHandlers.countryCodesHandler>;\n};\n\nexport type Behavior<T extends keyof Registry = keyof Registry> = Pick<Registry, T>;\nexport type Behaviors = Partial<Registry>;\n\nexport function autoAnonymousLogin(): Behavior<\"autoAnonymousLogin\"> {\n return {\n autoAnonymousLogin: initBehavior(autoAnonymousLoginHandlers.autoAnonymousLoginHandler),\n };\n}\n\nexport type AutoUpgradeAnonymousUsersOptions = {\n onUpgrade?: anonymousUpgradeHandlers.OnUpgradeCallback;\n};\n\nexport function autoUpgradeAnonymousUsers(\n options?: AutoUpgradeAnonymousUsersOptions\n): Behavior<\n \"autoUpgradeAnonymousCredential\" | \"autoUpgradeAnonymousProvider\" | \"autoUpgradeAnonymousUserRedirectHandler\"\n> {\n return {\n autoUpgradeAnonymousCredential: callableBehavior((ui, credential) =>\n anonymousUpgradeHandlers.autoUpgradeAnonymousCredentialHandler(ui, credential, options?.onUpgrade)\n ),\n autoUpgradeAnonymousProvider: callableBehavior((ui, provider) =>\n anonymousUpgradeHandlers.autoUpgradeAnonymousProviderHandler(ui, provider, options?.onUpgrade)\n ),\n autoUpgradeAnonymousUserRedirectHandler: redirectBehavior((ui, credential) =>\n anonymousUpgradeHandlers.autoUpgradeAnonymousUserRedirectHandler(ui, credential, options?.onUpgrade)\n ),\n };\n}\n\nexport type RecaptchaVerificationOptions = recaptchaHandlers.RecaptchaVerificationOptions;\n\nexport function recaptchaVerification(options?: RecaptchaVerificationOptions): Behavior<\"recaptchaVerification\"> {\n return {\n recaptchaVerification: callableBehavior((ui, element) =>\n recaptchaHandlers.recaptchaVerificationHandler(ui, element, options)\n ),\n };\n}\n\nexport function providerRedirectStrategy(): Behavior<\"providerSignInStrategy\" | \"providerLinkStrategy\"> {\n return {\n providerSignInStrategy: callableBehavior(providerStrategyHandlers.signInWithRediectHandler),\n providerLinkStrategy: callableBehavior(providerStrategyHandlers.linkWithRedirectHandler),\n };\n}\n\nexport function providerPopupStrategy(): Behavior<\"providerSignInStrategy\" | \"providerLinkStrategy\"> {\n return {\n providerSignInStrategy: callableBehavior(providerStrategyHandlers.signInWithPopupHandler),\n providerLinkStrategy: callableBehavior(providerStrategyHandlers.linkWithPopupHandler),\n };\n}\n\nexport type OneTapSignInOptions = oneTapSignInHandlers.OneTapSignInOptions;\n\nexport function oneTapSignIn(options: OneTapSignInOptions): Behavior<\"oneTapSignIn\"> {\n return {\n oneTapSignIn: initBehavior((ui) => oneTapSignInHandlers.oneTapSignInHandler(ui, options)),\n };\n}\n\nexport function requireDisplayName(): Behavior<\"requireDisplayName\"> {\n return {\n requireDisplayName: callableBehavior(requireDisplayNameHandlers.requireDisplayNameHandler),\n };\n}\n\nexport function countryCodes(options?: countryCodesHandlers.CountryCodesOptions): Behavior<\"countryCodes\"> {\n return {\n countryCodes: callableBehavior(() => countryCodesHandlers.countryCodesHandler(options)),\n };\n}\n\nexport function hasBehavior<T extends keyof Registry>(ui: FirebaseUI, key: T): boolean {\n return !!ui.behaviors[key];\n}\n\nexport function getBehavior<T extends keyof Registry>(ui: FirebaseUI, key: T): Registry[T][\"handler\"] {\n if (!hasBehavior(ui, key)) {\n throw new Error(`Behavior ${key} not found`);\n }\n\n return (ui.behaviors[key] as Registry[T]).handler;\n}\n\nexport const defaultBehaviors: Behavior<\"recaptchaVerification\"> = {\n ...recaptchaVerification(),\n ...providerRedirectStrategy(),\n ...countryCodes(),\n};\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createUserWithEmailAndPassword as _createUserWithEmailAndPassword,\n isSignInWithEmailLink as _isSignInWithEmailLink,\n sendPasswordResetEmail as _sendPasswordResetEmail,\n sendSignInLinkToEmail as _sendSignInLinkToEmail,\n signInAnonymously as _signInAnonymously,\n signInWithCredential as _signInWithCredential,\n signInWithCustomToken as _signInWithCustomToken,\n EmailAuthProvider,\n linkWithCredential,\n PhoneAuthProvider,\n TotpMultiFactorGenerator,\n multiFactor,\n type ActionCodeSettings,\n type ApplicationVerifier,\n type AuthProvider,\n type UserCredential,\n type AuthCredential,\n type TotpSecret,\n type MultiFactorAssertion,\n type MultiFactorUser,\n type MultiFactorInfo,\n} from \"firebase/auth\";\nimport QRCode from \"qrcode-generator\";\nimport { type FirebaseUI } from \"./config\";\nimport { handleFirebaseError } from \"./errors\";\nimport { hasBehavior, getBehavior } from \"./behaviors/index\";\nimport { FirebaseError } from \"firebase/app\";\nimport { getTranslation } from \"./translations\";\n\nasync function handlePendingCredential(_ui: FirebaseUI, user: UserCredential): Promise<UserCredential> {\n const pendingCredString = window.sessionStorage.getItem(\"pendingCred\");\n if (!pendingCredString) return user;\n\n try {\n const pendingCred = JSON.parse(pendingCredString);\n const result = await linkWithCredential(user.user, pendingCred);\n window.sessionStorage.removeItem(\"pendingCred\");\n return result;\n } catch {\n window.sessionStorage.removeItem(\"pendingCred\");\n return user;\n }\n}\n\nfunction setPendingState(ui: FirebaseUI) {\n ui.setRedirectError(undefined);\n ui.setState(\"pending\");\n}\n\nexport async function signInWithEmailAndPassword(\n ui: FirebaseUI,\n email: string,\n password: string\n): Promise<UserCredential> {\n try {\n setPendingState(ui);\n const credential = EmailAuthProvider.credential(email, password);\n\n if (hasBehavior(ui, \"autoUpgradeAnonymousCredential\")) {\n const result = await getBehavior(ui, \"autoUpgradeAnonymousCredential\")(ui, credential);\n\n if (result) {\n return handlePendingCredential(ui, result);\n }\n }\n\n const result = await _signInWithCredential(ui.auth, credential);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function createUserWithEmailAndPassword(\n ui: FirebaseUI,\n email: string,\n password: string,\n displayName?: string\n): Promise<UserCredential> {\n try {\n setPendingState(ui);\n const credential = EmailAuthProvider.credential(email, password);\n\n if (hasBehavior(ui, \"requireDisplayName\") && !displayName) {\n throw new FirebaseError(\"auth/display-name-required\", getTranslation(ui, \"errors\", \"displayNameRequired\"));\n }\n\n if (hasBehavior(ui, \"autoUpgradeAnonymousCredential\")) {\n const result = await getBehavior(ui, \"autoUpgradeAnonymousCredential\")(ui, credential);\n\n if (result) {\n if (hasBehavior(ui, \"requireDisplayName\")) {\n await getBehavior(ui, \"requireDisplayName\")(ui, result.user, displayName!);\n }\n\n return handlePendingCredential(ui, result);\n }\n }\n\n const result = await _createUserWithEmailAndPassword(ui.auth, email, password);\n\n if (hasBehavior(ui, \"requireDisplayName\")) {\n await getBehavior(ui, \"requireDisplayName\")(ui, result.user, displayName!);\n }\n\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function verifyPhoneNumber(\n ui: FirebaseUI,\n phoneNumber: string,\n appVerifier: ApplicationVerifier,\n mfaUser?: MultiFactorUser,\n mfaHint?: MultiFactorInfo\n): Promise<string> {\n try {\n setPendingState(ui);\n const provider = new PhoneAuthProvider(ui.auth);\n\n if (mfaHint && ui.multiFactorResolver) {\n // MFA assertion flow\n return await provider.verifyPhoneNumber(\n {\n multiFactorHint: mfaHint,\n session: ui.multiFactorResolver.session,\n },\n appVerifier\n );\n } else if (mfaUser) {\n // MFA enrollment flow\n const session = await mfaUser.getSession();\n return await provider.verifyPhoneNumber(\n {\n phoneNumber,\n session,\n },\n appVerifier\n );\n } else {\n // Regular phone auth flow\n return await provider.verifyPhoneNumber(phoneNumber, appVerifier);\n }\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function confirmPhoneNumber(\n ui: FirebaseUI,\n verificationId: string,\n verificationCode: string\n): Promise<UserCredential> {\n try {\n setPendingState(ui);\n const currentUser = ui.auth.currentUser;\n const credential = PhoneAuthProvider.credential(verificationId, verificationCode);\n\n if (currentUser?.isAnonymous && hasBehavior(ui, \"autoUpgradeAnonymousCredential\")) {\n const result = await getBehavior(ui, \"autoUpgradeAnonymousCredential\")(ui, credential);\n\n if (result) {\n return handlePendingCredential(ui, result);\n }\n }\n\n const result = await _signInWithCredential(ui.auth, credential);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function sendPasswordResetEmail(ui: FirebaseUI, email: string): Promise<void> {\n try {\n setPendingState(ui);\n await _sendPasswordResetEmail(ui.auth, email);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function sendSignInLinkToEmail(ui: FirebaseUI, email: string): Promise<void> {\n try {\n setPendingState(ui);\n const actionCodeSettings = {\n url: window.location.href,\n // TODO(ehesp): Check this...\n handleCodeInApp: true,\n } satisfies ActionCodeSettings;\n\n await _sendSignInLinkToEmail(ui.auth, email, actionCodeSettings);\n // TODO: Should this be a behavior (\"storageStrategy\")?\n window.localStorage.setItem(\"emailForSignIn\", email);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function signInWithEmailLink(ui: FirebaseUI, email: string, link: string): Promise<UserCredential> {\n const credential = EmailAuthProvider.credentialWithLink(email, link);\n return signInWithCredential(ui, credential);\n}\n\nexport async function signInWithCredential(ui: FirebaseUI, credential: AuthCredential): Promise<UserCredential> {\n try {\n setPendingState(ui);\n if (hasBehavior(ui, \"autoUpgradeAnonymousCredential\")) {\n const userCredential = await getBehavior(ui, \"autoUpgradeAnonymousCredential\")(ui, credential);\n\n // If they got here, they're either not anonymous or they've been linked.\n // If the credential has been linked, we don't need to sign them in, so return early.\n if (userCredential) {\n return handlePendingCredential(ui, userCredential);\n }\n }\n\n const result = await _signInWithCredential(ui.auth, credential);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function signInWithCustomToken(ui: FirebaseUI, customToken: string): Promise<UserCredential> {\n try {\n setPendingState(ui);\n const result = await _signInWithCustomToken(ui.auth, customToken);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function signInAnonymously(ui: FirebaseUI): Promise<UserCredential> {\n try {\n setPendingState(ui);\n const result = await _signInAnonymously(ui.auth);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function signInWithProvider(ui: FirebaseUI, provider: AuthProvider): Promise<UserCredential | never> {\n try {\n setPendingState(ui);\n if (hasBehavior(ui, \"autoUpgradeAnonymousProvider\")) {\n const credential = await getBehavior(ui, \"autoUpgradeAnonymousProvider\")(ui, provider);\n\n // If we got here, the user is either not anonymous, or they have been linked\n // via a popup, and the credential has been created.\n if (credential) {\n return handlePendingCredential(ui, credential);\n }\n }\n\n const strategy = getBehavior(ui, \"providerSignInStrategy\");\n const result = await strategy(ui, provider);\n\n // If we got here, the user has been signed in via a popup.\n // Otherwise, they will have been redirected.\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function completeEmailLinkSignIn(ui: FirebaseUI, currentUrl: string): Promise<UserCredential | null> {\n try {\n if (!_isSignInWithEmailLink(ui.auth, currentUrl)) {\n return null;\n }\n\n const email = window.localStorage.getItem(\"emailForSignIn\");\n if (!email) return null;\n\n setPendingState(ui);\n const result = await signInWithEmailLink(ui, email, currentUrl);\n return handlePendingCredential(ui, result);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n window.localStorage.removeItem(\"emailForSignIn\");\n }\n}\n\nexport function generateTotpQrCode(ui: FirebaseUI, secret: TotpSecret, accountName?: string, issuer?: string): string {\n const currentUser = ui.auth.currentUser;\n\n if (!currentUser) {\n throw new Error(\"User must be authenticated to generate a TOTP QR code\");\n }\n\n const uri = secret.generateQrCodeUrl(accountName || currentUser.email || \"\", issuer);\n\n const qr = QRCode(0, \"L\");\n qr.addData(uri);\n qr.make();\n return qr.createDataURL();\n}\n\nexport async function signInWithMultiFactorAssertion(ui: FirebaseUI, assertion: MultiFactorAssertion) {\n try {\n setPendingState(ui);\n const result = await ui.multiFactorResolver?.resolveSignIn(assertion);\n ui.setMultiFactorResolver(undefined);\n return result;\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function enrollWithMultiFactorAssertion(\n ui: FirebaseUI,\n assertion: MultiFactorAssertion,\n displayName?: string\n): Promise<void> {\n try {\n setPendingState(ui);\n await multiFactor(ui.auth.currentUser!).enroll(assertion, displayName);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n\nexport async function generateTotpSecret(ui: FirebaseUI): Promise<TotpSecret> {\n try {\n setPendingState(ui);\n const mfaUser = multiFactor(ui.auth.currentUser!);\n const session = await mfaUser.getSession();\n return await TotpMultiFactorGenerator.generateSecret(session);\n } catch (error) {\n handleFirebaseError(ui, error);\n } finally {\n ui.setState(\"idle\");\n }\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { enUs, type RegisteredLocale } from \"@firebase-oss/ui-translations\";\nimport type { FirebaseApp } from \"firebase/app\";\nimport { type Auth, getAuth, getRedirectResult, type MultiFactorResolver } from \"firebase/auth\";\nimport { deepMap, type DeepMapStore, map } from \"nanostores\";\nimport { type Behavior, type Behaviors, defaultBehaviors } from \"./behaviors\";\nimport type { InitBehavior, RedirectBehavior } from \"./behaviors/utils\";\nimport { type FirebaseUIState } from \"./state\";\nimport { handleFirebaseError } from \"./errors\";\n\nexport type FirebaseUIOptions = {\n app: FirebaseApp;\n auth?: Auth;\n locale?: RegisteredLocale;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n behaviors?: Behavior<any>[];\n};\n\nexport type FirebaseUI = {\n app: FirebaseApp;\n auth: Auth;\n setLocale: (locale: RegisteredLocale) => void;\n state: FirebaseUIState;\n setState: (state: FirebaseUIState) => void;\n locale: RegisteredLocale;\n behaviors: Behaviors;\n multiFactorResolver?: MultiFactorResolver;\n setMultiFactorResolver: (multiFactorResolver?: MultiFactorResolver) => void;\n redirectError?: Error;\n setRedirectError: (error?: Error) => void;\n};\n\nexport const $config = map<Record<string, DeepMapStore<FirebaseUI>>>({});\n\nexport type FirebaseUIStore = DeepMapStore<FirebaseUI>;\n\nexport function initializeUI(config: FirebaseUIOptions, name: string = \"[DEFAULT]\"): FirebaseUIStore {\n // Reduce the behaviors to a single object.\n const behaviors = config.behaviors?.reduce<Behavior>((acc, behavior) => {\n return {\n ...acc,\n ...behavior,\n };\n }, defaultBehaviors as Behavior);\n\n $config.setKey(\n name,\n deepMap<FirebaseUI>({\n app: config.app,\n auth: config.auth || getAuth(config.app),\n locale: config.locale ?? enUs,\n setLocale: (locale: RegisteredLocale) => {\n const current = $config.get()[name]!;\n current.setKey(`locale`, locale);\n },\n state: \"idle\",\n setState: (state: FirebaseUIState) => {\n const current = $config.get()[name]!;\n current.setKey(`state`, state);\n },\n // Since we've got config.behaviors?.reduce above, we need to default to defaultBehaviors\n // if no behaviors are provided, as they wont be in the reducer.\n behaviors: behaviors ?? (defaultBehaviors as Behavior),\n multiFactorResolver: undefined,\n setMultiFactorResolver: (resolver?: MultiFactorResolver) => {\n const current = $config.get()[name]!;\n current.setKey(`multiFactorResolver`, resolver);\n },\n redirectError: undefined,\n setRedirectError: (error?: Error) => {\n const current = $config.get()[name]!;\n current.setKey(`redirectError`, error);\n },\n })\n );\n\n const store = $config.get()[name]!;\n const ui = store.get();\n\n // If we're client-side, execute the init and redirect behaviors.\n if (typeof window !== \"undefined\") {\n const initBehaviors: InitBehavior[] = [];\n const redirectBehaviors: RedirectBehavior[] = [];\n\n for (const behavior of Object.values(ui.behaviors)) {\n if (behavior.type === \"redirect\") {\n redirectBehaviors.push(behavior);\n } else if (behavior.type === \"init\") {\n initBehaviors.push(behavior);\n }\n }\n\n if (initBehaviors.length > 0) {\n store.setKey(\"state\", \"loading\");\n ui.auth.authStateReady().then(() => {\n Promise.all(initBehaviors.map((behavior) => behavior.handler(ui))).then(() => {\n store.setKey(\"state\", \"idle\");\n });\n });\n }\n\n getRedirectResult(ui.auth)\n .then((result) => {\n return Promise.all(redirectBehaviors.map((behavior) => behavior.handler(ui, result)));\n })\n .catch((error) => {\n try {\n handleFirebaseError(ui, error);\n } catch (error) {\n ui.setRedirectError(error instanceof Error ? error : new Error(String(error)));\n }\n });\n }\n\n return store;\n}\n","/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod\";\nimport { getTranslation } from \"./translations\";\nimport { type FirebaseUI } from \"./config\";\nimport { hasBehavior } from \"./behaviors\";\n\nexport const LoginTypes = [\"email\", \"phone\", \"anonymous\", \"emailLink\", \"google\"] as const;\nexport type LoginType = (typeof LoginTypes)[number];\nexport type AuthMode = \"signIn\" | \"signUp\";\n\nexport function createSignInAuthFormSchema(ui: FirebaseUI) {\n return z.object({\n email: z.email(getTranslation(ui, \"errors\", \"invalidEmail\")),\n password: z.string().min(6, getTranslation(ui, \"errors\", \"weakPassword\")),\n });\n}\n\nexport function createSignUpAuthFormSchema(ui: FirebaseUI) {\n const requireDisplayName = hasBehavior(ui, \"requireDisplayName\");\n const displayNameRequiredMessage = getTranslation(ui, \"errors\", \"displayNameRequired\");\n\n return z.object({\n email: z.email(getTranslation(ui, \"errors\", \"invalidEmail\")),\n password: z.string().min(6, getTranslation(ui, \"errors\", \"weakPassword\")),\n displayName: requireDisplayName\n ? z.string().min(1, displayNameRequiredMessage)\n : z.string().min(1, displayNameRequiredMessage).optional(),\n });\n}\n\nexport function createForgotPasswordAuthFormSchema(ui: FirebaseUI) {\n return z.object({\n email: z.email(getTranslation(ui, \"errors\", \"invalidEmail\")),\n });\n}\n\nexport function createEmailLinkAuthFormSchema(ui: FirebaseUI) {\n return z.object({\n email: z.email(getTranslation(ui, \"errors\", \"invalidEmail\")),\n });\n}\n\nexport function createPhoneAuthNumberFormSchema(ui: FirebaseUI) {\n return z.object({\n phoneNumber: z\n .string()\n .min(1, getTranslation(ui, \"errors\", \"missingPhoneNumber\"))\n .max(10, getTranslation(ui, \"errors\", \"invalidPhoneNumber\")),\n });\n}\n\nexport function createPhoneAuthVerifyFormSchema(ui: FirebaseUI) {\n return z.object({\n verificationId: z.string().min(1, getTranslation(ui, \"errors\", \"missingVerificationId\")),\n verificationCode: z.string().refine((val) => !val || val.length >= 6, {\n error: getTranslation(ui, \"errors\", \"invalidVerificationCode\"),\n }),\n });\n}\n\nexport function createMultiFactorPhoneAuthNumberFormSchema(ui: FirebaseUI) {\n const base = createPhoneAuthNumberFormSchema(ui);\n return base.extend({\n displayName: z.string().min(1, getTranslation(ui, \"errors\", \"displayNameRequired\")),\n });\n}\n\nexport function createMultiFactorPhoneAuthVerifyFormSchema(ui: FirebaseUI) {\n return createPhoneAuthVerifyFormSchema(ui);\n}\n\nexport function createMultiFactorTotpAuthNumberFormSchema(ui: FirebaseUI) {\n return z.object({\n displayName: z.string().min(1, getTranslation(ui, \"errors\", \"displayNameRequired\")),\n });\n}\n\nexport function createMultiFactorTotpAuthVerifyFormSchema(ui: FirebaseUI) {\n return z.object({\n verificationCode: z.string().refine((val) => val.length === 6, {\n error: getTranslation(ui, \"errors\", \"invalidVerificationCode\"),\n }),\n });\n}\n\nexport type SignInAuthFormSchema = z.infer<ReturnType<typeof createSignInAuthFormSchema>>;\nexport type SignUpAuthFormSchema = z.infer<ReturnType<typeof createSignUpAuthFormSchema>>;\nexport type ForgotPasswordAuthFormSchema = z.infer<ReturnType<typeof createForgotPasswordAuthFormSchema>>;\nexport type EmailLinkAuthFormSchema = z.infer<ReturnType<typeof createEmailLinkAuthFormSchema>>;\nexport type PhoneAuthNumberFormSchema = z.infer<ReturnType<typeof createPhoneAuthNumberFormSchema>>;\nexport type PhoneAuthVerifyFormSchema = z.infer<ReturnType<typeof createPhoneAuthVerifyFormSchema>>;\nexport type MultiFactorPhoneAuthNumberFormSchema = z.infer<\n ReturnType<typeof createMultiFactorPhoneAuthNumberFormSchema>\n>;\nexport type MultiFactorTotpAuthNumberFormSchema = z.infer<ReturnType<typeof createMultiFactorTotpAuthNumberFormSchema>>;\nexport type MultiFactorTotpAuthVerifyFormSchema = z.infer<ReturnType<typeof createMultiFactorTotpAuthVerifyFormSchema>>;\n","/// <reference types=\"vite/client\" />\n/**\n * Copyright 2025 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { registerFramework } from \"./register-framework\";\nimport pkgJson from \"../package.json\";\n\nexport * from \"./auth\";\nexport * from \"./behaviors\";\nexport * from \"./config\";\nexport * from \"./errors\";\nexport * from \"./schemas\";\nexport * from \"./country-data\";\nexport * from \"./translations\";\nexport * from \"./register-framework\";\n\nif (import.meta.env.PROD) {\n registerFramework(\"core\", pkgJson.version);\n}\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@firebase-oss/ui-core",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Core authentication service for Firebase UI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./brands/*": "./brands/*"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"brands"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"prepare": "pnpm run build",
|
|
23
|
+
"emulators:start": "firebase emulators:start -P demo-firebaseui",
|
|
24
|
+
"build": "tsup",
|
|
25
|
+
"build:local": "pnpm run build && pnpm pack",
|
|
26
|
+
"dev": "tsup --watch",
|
|
27
|
+
"lint": "eslint . --ext .ts",
|
|
28
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
29
|
+
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
30
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
31
|
+
"clean": "rimraf dist",
|
|
32
|
+
"test:unit": "vitest run src",
|
|
33
|
+
"test:unit:watch": "vitest tests",
|
|
34
|
+
"test:integration": "vitest run tests",
|
|
35
|
+
"test:integration:watch": "vitest integration",
|
|
36
|
+
"test": "vitest run",
|
|
37
|
+
"publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'",
|
|
38
|
+
"release": "pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"firebase",
|
|
42
|
+
"auth",
|
|
43
|
+
"authentication",
|
|
44
|
+
"firebaseui"
|
|
45
|
+
],
|
|
46
|
+
"author": "TODO",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"firebase": "catalog:peerDependencies"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@firebase-oss/ui-translations": "workspace:*",
|
|
53
|
+
"libphonenumber-js": "^1.12.23",
|
|
54
|
+
"nanostores": "catalog:",
|
|
55
|
+
"qrcode-generator": "^2.0.4",
|
|
56
|
+
"zod": "catalog:"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/google-one-tap": "^1.2.6",
|
|
60
|
+
"@types/jsdom": "catalog:",
|
|
61
|
+
"firebase": "catalog:",
|
|
62
|
+
"jsdom": "catalog:",
|
|
63
|
+
"rimraf": "catalog:",
|
|
64
|
+
"tsup": "catalog:",
|
|
65
|
+
"typescript": "catalog:",
|
|
66
|
+
"vite": "catalog:",
|
|
67
|
+
"vitest": "catalog:"
|
|
68
|
+
}
|
|
69
|
+
}
|