From ed7110fef6719c638de0a0a04807e696b0a88c49 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Wed, 9 Nov 2022 16:38:29 +0000 Subject: [PATCH 1/9] Remove Bower support (#2198) remove build assets, bower.json and exclude --- .gitignore | 3 +- .npmignore | 1 - .shiprc | 9 +- .vscode/settings.json | 1 - bower.json | 20 - build/af.js | 1 - build/ar.js | 1 - build/az.js | 1 - build/bg.js | 1 - build/ca.js | 1 - build/cs.js | 1 - build/da.js | 1 - build/de.js | 1 - build/el.js | 1 - build/en.js | 1 - build/es.js | 1 - build/et.js | 1 - build/fa.js | 1 - build/fi.js | 1 - build/fr.js | 1 - build/he.js | 1 - build/hr.js | 1 - build/hu.js | 1 - build/id.js | 1 - build/it.js | 1 - build/ja.js | 1 - build/ko.js | 1 - build/lock.js | 49018 ---------------------------------------- build/lock.min.js | 10 - build/lock.min.js.map | 1 - build/lt.js | 1 - build/lv.js | 1 - build/ms.js | 1 - build/nb.js | 1 - build/nl.js | 1 - build/nn.js | 1 - build/no.js | 1 - build/pl.js | 1 - build/pt-br.js | 1 - build/pt.js | 1 - build/ro.js | 1 - build/ru.js | 1 - build/sk.js | 1 - build/sl.js | 1 - build/sr.js | 1 - build/sv.js | 1 - build/tr.js | 1 - build/ua.js | 1 - build/uk.js | 1 - build/vi.js | 1 - build/zh-tw.js | 1 - build/zh.js | 1 - 52 files changed, 6 insertions(+), 49101 deletions(-) delete mode 100644 bower.json delete mode 100644 build/af.js delete mode 100644 build/ar.js delete mode 100644 build/az.js delete mode 100644 build/bg.js delete mode 100644 build/ca.js delete mode 100644 build/cs.js delete mode 100644 build/da.js delete mode 100644 build/de.js delete mode 100644 build/el.js delete mode 100644 build/en.js delete mode 100644 build/es.js delete mode 100644 build/et.js delete mode 100644 build/fa.js delete mode 100644 build/fi.js delete mode 100644 build/fr.js delete mode 100644 build/he.js delete mode 100644 build/hr.js delete mode 100644 build/hu.js delete mode 100644 build/id.js delete mode 100644 build/it.js delete mode 100644 build/ja.js delete mode 100644 build/ko.js delete mode 100644 build/lock.js delete mode 100644 build/lock.min.js delete mode 100644 build/lock.min.js.map delete mode 100644 build/lt.js delete mode 100644 build/lv.js delete mode 100644 build/ms.js delete mode 100644 build/nb.js delete mode 100644 build/nl.js delete mode 100644 build/nn.js delete mode 100644 build/no.js delete mode 100644 build/pl.js delete mode 100644 build/pt-br.js delete mode 100644 build/pt.js delete mode 100644 build/ro.js delete mode 100644 build/ru.js delete mode 100644 build/sk.js delete mode 100644 build/sl.js delete mode 100644 build/sr.js delete mode 100644 build/sv.js delete mode 100644 build/tr.js delete mode 100644 build/ua.js delete mode 100644 build/uk.js delete mode 100644 build/vi.js delete mode 100644 build/zh-tw.js delete mode 100644 build/zh.js diff --git a/.gitignore b/.gitignore index 4e1377a20..120bb62a7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ npm-debug.log .idea/ .env local.log -yarn-error.log \ No newline at end of file +yarn-error.log +build/ diff --git a/.npmignore b/.npmignore index 4ee7d546b..45203c2b1 100644 --- a/.npmignore +++ b/.npmignore @@ -9,7 +9,6 @@ scripts/ src/ support/ test/ -bower.json Gruntfile.js .css.map *~ diff --git a/.shiprc b/.shiprc index 2a244204b..d773ca9b5 100644 --- a/.shiprc +++ b/.shiprc @@ -1,7 +1,6 @@ { - "files": { - "bower.json": [], - "README.md": [] - }, - "postbump": "yarn dist build" + "files": { + "README.md": [] + }, + "postbump": "yarn dist build" } diff --git a/.vscode/settings.json b/.vscode/settings.json index edef5a793..59a200ee6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,6 @@ // Place your settings in this file to overwrite default and user settings. "search.exclude": { "**/node_modules": true, - "**/bower_components": true, "**/lib": true, "**/coverage": true, "**/examples": true, diff --git a/bower.json b/bower.json deleted file mode 100644 index 837654467..000000000 --- a/bower.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "auth0-lock", - "version": "11.34.2", - "main": "build/lock.js", - "ignore": [ - "lib-cov", - "*.seed", - "*.log", - "*.csv", - "*.dat", - "*.out", - "*.pid", - "*.gz", - "pids", - "logs", - "results", - "npm-debug.log", - "bin" - ] -} diff --git a/build/af.js b/build/af.js deleted file mode 100644 index ace628f78..000000000 --- a/build/af.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("af", {"error":{"forgotPassword":{"too_many_requests":"Jammer, jy het limiet bereik. Probeer asseblief weer later.","lock.fallback":"Jammer, iets het verkeerd gegaan terwyl jy wagwoord verander het.","enterprise_email":"Jou e-pos se domein is deel van 'n Enterprise Identity provider. Om u wagwoord terug te stel, raadpleeg asseblief u sekuriteitsadministrateur."},"login":{"blocked_user":"Die gebruiker is geblok.","invalid_user_password":"Verkeerde inligting.","lock.fallback":"Jammer, iets het verkeerd gegaan terwyl jy probeer inteken.","lock.invalid_code":"Verkeerde kode.","lock.invalid_email_password":"Verkeerde e-pos of wagwoord.","lock.invalid_username_password":"Verkeerde gebruikersnaam of wagwoord.","lock.network":"Die stelsel is van lyn af, probeer asseblief weer later.","lock.popup_closed":"Stelsel het toegemaak. Probeer asseblief weer later.","lock.unauthorized":"Toegang verbied. Probeer asseblief weer later.","lock.mfa_registration_required":"Jou toestel voldoen nie aan vereistes nie.","lock.mfa_invalid_code":"Verkeerde kode. Probeer asseblief weer.","password_change_required":"Dateer wagwoord op asseblief.","password_leaked":"Jou rekening het sekuriteitsprobleme. Vir jou veiligheid het ons die rekening geblok. Sien e-pos met instruksies om rekening weer te aktiveer.","too_many_attempts":"Jou rekening is geblok nadat daar te veel keer probeer inteken is.","session_missing":"Kon nie versoek bevestig nie. Maak asseblief alles toe en probeer weer","hrd.not_matching_email":"Gebruik asseblief korporatiewe e-pos om in te teken.","too_many_requests":"Ons is jammer. Daar is nou te veel versoeke. Herlaai asseblief die bladsy en probeer weer. As dit voortduur, probeer asseblief later weer.","invalid_captcha":"Los die uitdagingsvraag om te verifieer dat u nie 'n robot is nie.","invalid_recaptcha":"Kies die merkblokkie om te verifieer dat u nie 'n robot is nie."},"passwordless":{"bad.email":"Die e-pos is ongeldig","bad.phone_number":"Die telefoonnommer is ongeldig","lock.fallback":"Jammer, iets het verkeerd gegaan"},"signUp":{"invalid_password":"Wagwoord is ongeldig.","lock.fallback":"Jammer, jou intekening het misluk.","password_dictionary_error":"Wagwoord is te eenvoudig.","password_leaked":"Hierdie kombinasie van geloofsbriewe is opgespoor in 'n publieke data-oortreding op 'n ander webwerf. Voordat jou rekening geskep word, gebruik asseblief 'n ander wagwoord om dit veilig te hou.","password_no_user_info_error":"Wagwoord kan nie persoonlike inligting bevat nie.","password_strength_error":"Wagwoord is swak.","user_exists":"Gebruiker bestaan reeds.","username_exists":"Gebruikersnaam bestaan reeds.","social_signup_needs_terms_acception":"Gee toestemming tot die onderstaande diensbepalings om voort te gaan."}},"success":{"logIn":"Dankie dat u inteken.","forgotPassword":"Ons het n e-pos gestuur om wagwoord te herstel.","magicLink":"Ons het n skakel gestuur om in te teken in
by %s.","signUp":"Dankie dat u ingeteken het."},"blankErrorHint":"","blankPasswordErrorHint":"Mag nie leeg wees nie","blankEmailErrorHint":"Mag nie leeg wees nie","blankUsernameErrorHint":"Mag nie leeg wees nie","blankCaptchaErrorHint":"Mag nie leeg wees nie","codeInputPlaceholder":"jou kode","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"of","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"of","emailInputPlaceholder":"jou@voorbeeld.com","enterpriseLoginIntructions":"Teken in met jou korporatiewe besonderhede.","enterpriseActiveLoginInstructions":"Vul asseblief jou korporatiewe besonderhede in by %s.","failedLabel":"Misluk!","forgotPasswordTitle":"Herstel jou wagwoord","forgotPasswordAction":"Wagwoord vergeet?","forgotPasswordInstructions":"Vul jou e-pos in en ons stuur e-pos met herstel-opsies.","forgotPasswordSubmitLabel":"Stuur e-pos","invalidErrorHint":"","invalidPasswordErrorHint":"Ongeldig","invalidEmailErrorHint":"Ongeldig","invalidUsernameErrorHint":"Ongeldig","lastLoginInstructions":"Vorige intekening was met","loginAtLabel":"Ingeteken by%s","loginLabel":"Teken in","loginSubmitLabel":"Teken in","loginWithLabel":"Teken in met %s","notYourAccountAction":"Nie jou rekening nie?","passwordInputPlaceholder":"jou wagwoord","passwordStrength":{"containsAtLeast":"Bevat ten minste %d of %d tipe karakters:","identicalChars":"Nie meer as %d identiese karakters (e.g., \"%s\" not allowed)","nonEmpty":"Wagwoord word vereis","numbers":"Nommers (i.e. 0-9)","lengthAtLeast":"Ten minste %d karakters lank","lowerCase":"kleinletters (a-z)","shouldContain":"Moet die volgende inhe:","specialCharacters":"Spesiale karakters (e.g. !@#$%^&*)","upperCase":"Hoofletters (A-Z)"},"passwordlessEmailAlternativeInstructions":"Andersins vul jou e-pos in om inteken
of skep n rekening","passwordlessEmailCodeInstructions":"E-pos met die kode is gestuur na %s.","passwordlessEmailInstructions":"Vul jou e-pos in om inteken
of skep n rekening","passwordlessSMSAlternativeInstructions":"Andersins vul jou telefoonnommer in om inteken
of skep n rekening","passwordlessSMSCodeInstructions":"Ons stuur SMS met die kode na %s.","passwordlessSMSInstructions":"Vul jou telenfoonnommer in om in te teken
of skep jou rekening","phoneNumberInputPlaceholder":"jou telefoonnommer","resendCodeAction":"Nie die kode gekry nie?","resendLabel":"Stuur weer","resendingLabel":"Stuur weer...","retryLabel":"Probeer weer","sentLabel":"Gestuur!","signUpTitle":"Registreer","signUpLabel":"Registreer","signUpSubmitLabel":"Registreer","signUpWithLabel":"Registreer %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Enkel-intekening aktief","submitLabel":"Gaan voort","unrecoverableError":"Iets het verkeerd gegaan.
Kontak asseblief ons tegniese span.","usernameFormatErrorHint":"Gebruik %d-%d letters, nommers en die volgende karakters: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"jou gebruikersnaam","usernameOrEmailInputPlaceholder":"gebruikersnaam en e-pos","title":"Auth0","welcome":"Welkom %s!","windowsAuthInstructions":"Jy konnekteer van jou korporatiewe netwerk…","windowsAuthLabel":"Windows Goedkeuring","mfaInputPlaceholder":"Kode","mfaLoginTitle":"2-Stap Goedkeuring","mfaLoginInstructions":"Vul asseblief die kode in wat deur jou toestel geskep is.","mfaSubmitLabel":"Gaan voort","mfaCodeErrorHint":"Gebruik %d nommers","showPassword":"Wys wagwoord","signUpTerms":"Deur u in te teken, stem u in tot ons diensbepalings en privaatheidsbeleid.","captchaCodeInputPlaceholder":"Voer die kode hierbo in","captchaMathInputPlaceholder":"Los die formule hierbo getoon"}); \ No newline at end of file diff --git a/build/ar.js b/build/ar.js deleted file mode 100644 index 0cd2c5238..000000000 --- a/build/ar.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("ar", {"error":{"forgotPassword":{"too_many_requests":"لقد تجاوزت الحد المسموح لمحاولات تغيير كلمة المرور. رجاءً انتظر قبل إعادة المحاولة.","lock.fallback":"المعذرة، حصل خطأ ما خلال طلب تغيير كلمة المرور.","enterprise_email":"نطاق بريدك الإلكتروني يتبع لمؤسسة، لإعادة تعيين كلمة المرور، رجاءً تواصل مع أحد مسؤولي النظام."},"login":{"blocked_user":"المستخدم محظور.","invalid_user_password":"بيانات خاطئة.","lock.fallback":"المعذرة، حصل خطأ ما خلال محاولة الدخول.","lock.invalid_code":"رمز خاطئ.","lock.invalid_email_password":"بريد إلكتروني أو كلمة مرور خاطئة.","lock.invalid_username_password":"اسم مستخدم أو كلمة مرور خاطئة.","lock.network":"تعذر الوصول إلى الخادم، رجاءً تفقد الاتصال وأعد المحاولة.","lock.popup_closed":"تم إغلاق النافذة المنبثقة، أعد المحاولة.","lock.unauthorized":"لم يتم منح الصلاحيات، أعد المحاولة.","lock.mfa_registration_required":"المصادقة المتعددة مطلوبة ولكن جهازك غير مسجل، رجاء سجّل جهازك قبل المضي قدماً.","lock.mfa_invalid_code":"رمز خاطئ، رجاءً أعد المحاولة.","password_change_required":"يجب تحديث كلمة المرور لأنها المرة الأولى للدخول، أو لانتهاء صلاحية كلمة المرور.","password_leaked":"لقد اكتشفنا مشكلة أمنية محتملة في هذا الحساب. لحماية حسابك ، قمنا بحظر هذا الدخول. تم إرسال بريد إلكتروني عن كيفية رفع الحظر عن حسابك.","too_many_attempts":"تم حظر حسابك بعد عدة محاولات متتالية للدخول.","session_missing":"لم نتمكن من إكمال طلب المصادقة. رجاءً أعد المحاولة بعد إغلاق جميع مربعات الحوار المفتوحة.","hrd.not_matching_email":"يرجى استخدام بريد الشركة الإلكتروني للدخول.","too_many_requests":"نحن آسفون. هناك الكثير من الطلبات في الوقت الحالي. يرجى إعادة تحميل الصفحة وحاول مرة أخرى. إذا استمر هذا الأمر ، يرجى إعادة المحاولة لاحقًا.","invalid_captcha":"حل سؤال التحدي للتحقق من أنك لست روبوت.","invalid_recaptcha":"حدد مربع الاختيار للتحقق من أنك لست روبوتًا."},"passwordless":{"bad.email":"البريد الإلكتروني غير صالح.","bad.phone_number":"رقم الهاتف غير صالح.","lock.fallback":"المعذرة، حصل خطأ ما."},"signUp":{"invalid_password":"كلمة المرور غير صالحة.","lock.fallback":"المعذرة، حصل خطأ ما خلال محاولة إنشاء الحساب.","password_dictionary_error":"كلمة المرور متداولة جداً.","password_leaked":"تم اكتشاف هذا المزيج من بيانات الاعتماد في خرق بيانات عام على موقع ويب آخر. قبل إنشاء حسابك ، يرجى استخدام كلمة مرور مختلفة لإبقائه آمنًا.","password_no_user_info_error":"ترتكز كلمة المرور على اسم المستخدم.","password_strength_error":"كلمة المرور ضعيفة جداً.","user_exists":"المستخدم موجود بالفعل.","username_exists":"اسم المستخدم موجود بالفعل.","social_signup_needs_terms_acception":"يرجى الموافقة على شروط الخدمة أدناه للمتابعة."}},"success":{"logIn":"شكراً للدخول.","forgotPassword":"أرسلنا لك بريداً إلكترونياً لإعادة تعيين كلمة المرور خاصتك.","magicLink":"أرسلنا لك رابطاً للدخول
إلى %s.","signUp":"شكراً لإنشاء الحساب."},"blankErrorHint":"","blankPasswordErrorHint":"لا ينبغي أن يكون فارغاً.","blankEmailErrorHint":"لا ينبغي أن يكون فارغاً.","blankUsernameErrorHint":"لا ينبغي أن يكون فارغاً.","blankCaptchaErrorHint":"لا ينبغي أن يكون فارغاً.","codeInputPlaceholder":"الرمز","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"أو","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"أو","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"الدخول ببيانات الدخول الخاصة بالشركة.","enterpriseActiveLoginInstructions":"رجاءً أدخل بيانات الدخول الخاصة بالشركة على %s.","failedLabel":"فشل!","forgotPasswordTitle":"أعد تعيين كلمة المرور","forgotPasswordAction":"لا تتذكر كلمة المرور؟","forgotPasswordInstructions":"رجاء أدخل بريدك الإلكتروني. سنرسل لك رسالة لإعادة تعيين كلمة المرور.","forgotPasswordSubmitLabel":"أرسل بريداً إلكترونياً","invalidErrorHint":"","invalidPasswordErrorHint":"غير صالح","invalidEmailErrorHint":"غير صالح","invalidUsernameErrorHint":"غير صالح","lastLoginInstructions":"دخلت آخر مرة باستخدام","loginAtLabel":"ادخل إلى %s","loginLabel":"دخول","loginSubmitLabel":"دخول","loginWithLabel":"دخول باستخدام %s","notYourAccountAction":"ليس حسابك؟","passwordInputPlaceholder":"كلمة المرور","passwordStrength":{"containsAtLeast":"استخدم على الأقل %d من الأنواع الـ %d التالية من المحارف:","identicalChars":"لا تستخدم أكثر من %d من المحارف المتماثلة المتتالية (مثل: \"%s\" غير مسموح)","nonEmpty":"كلمة المرور لا ينبغي أن تترك فارغة","numbers":"أرقام (مثل: 0-9)","lengthAtLeast":"الطول لا يجب أن يقل عن %d محرفاً","lowerCase":"أحرف صغيرة (a – z)","shouldContain":"يجب استخدام:","specialCharacters":"محارف خاصة (مثل: !@#$%^&*)","upperCase":"أحرف كبيرة (A – Z)"},"passwordlessEmailAlternativeInstructions":"وإلا، أدخل بريدك الإلكتروني للدخول
أو أنشئ حساباً","passwordlessEmailCodeInstructions":"تم إرسال الرمز إلى البريد الإلكتروني %s","passwordlessEmailInstructions":"أدخل بريدك الإلكتروني للدخول
أو أنشئ حساباً","passwordlessSMSAlternativeInstructions":"وإلا، أدخل رقم هاتفك للدخول
أو أنشئ حساباً","passwordlessSMSCodeInstructions":"تم إرسال الرمز إلى برسالة نصية
إلى %s","passwordlessSMSInstructions":"أدخل رقم هاتفك للدخول
أو أنشئ حساباً","phoneNumberInputPlaceholder":"رقم هاتفك","resendCodeAction":"هل استلمت الرمز؟","resendLabel":"إعادة إرسال","resendingLabel":"إعادة الإرسال...","retryLabel":"أعد المحاولة","sentLabel":"تم الإرسال!","showPassword":"أظهر كلمة المرور","signUpTitle":"إنشاء حساب","signUpLabel":"إنشاء حساب","signUpSubmitLabel":"إنشاء حساب","signUpTerms":"عند إنشائك للحساب، فأنت توافق على شروط الاستخدام وسياسة الخصوصية الخاصة بنا.","signUpWithLabel":"إنشاء حساب باستخدام %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"تسجيل الدخول الموحد مفعل","submitLabel":"إرسال","unrecoverableError":"حصل خطأ ما.
رجاءً اتصل بالدعم الفني.","usernameFormatErrorHint":"استخدم %d-%d، أرقام، والمحارف التالية: \"_\"، \".\"، \"+\"، \"-\"","usernameInputPlaceholder":"اسم المستخدم","usernameOrEmailInputPlaceholder":"اسم المستخدم/البريد الإلكتروني","title":"Auth0","welcome":"مرحباً %s!","windowsAuthInstructions":"أنت متصل من الشبكة الخاصة بمؤسستك...","windowsAuthLabel":"مصادقة ويندوز","mfaInputPlaceholder":"الرمز","mfaLoginTitle":"التحقق بخطوتين","mfaLoginInstructions":"رجاءً أدخل رمز التأكيد المولّد باستخدام التطبيق","mfaSubmitLabel":"دخول","mfaCodeErrorHint":"استخدم %d رقم","captchaCodeInputPlaceholder":"أدخل الرمز الموضح أعلاه","captchaMathInputPlaceholder":"حل الصيغة الموضحة أعلاه"}); \ No newline at end of file diff --git a/build/az.js b/build/az.js deleted file mode 100644 index ba5047f68..000000000 --- a/build/az.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("az", {"error":{"forgotPassword":{"too_many_requests":"Şifrəni dəyişdirməyə cəhdlərin sayında maksimal həddə çatmısınız. Xahiş edirik bir daha cəhd etmədən əvvəl gözləyin.","lock.fallback":"Bağışlayın, şifrənizi dəyişdirmə sorğusu işlənərkən xəta baş verdi.","enterprise_email":"E-poçtunuzun sahəsi korporativ kimlik təminatçısının bir hissəsidir. Şifrənizi yenidən qurmaq üçün təhlükəsizlik administratorunuzla əlaqə saxlayın."},"login":{"blocked_user":"İstifadəçi bloklandı.","invalid_user_password":"Məlumatlar yalnışdır.","lock.fallback":"Üzr istəyirik, giriş zamanı səhv oldu.","lock.invalid_code":"Yalnış kod.","lock.invalid_email_password":"Yalnış e-poçt və ya şifrə.","lock.invalid_username_password":"Yanlış istifadəçi adı və ya şifrə.","lock.network":"Server ilə əlaqə qura bilmədik. Lütfən bağlantınızı yoxlayın və yenidən cəhd edin.","lock.popup_closed":"Pop-up pəncərə bağlandı. Yenidən cəhd edin.","lock.unauthorized":"Səlahiyyətlər əldə edilə bilmədi. Təkrar cəhd edin.","lock.mfa_registration_required":"Çox faktorlu identifikasiya tələb olunur, lakin cihazınız qeydiyyatdan keçməyib. Lütfən, davam etməzdən əvvəl cihazınızı qeydiyyata alın.","lock.mfa_invalid_code":"Yalnış kod. Xahiş edirik yenidən cəhd edin.","password_change_required":"Şifrənizi ilk dəfə daxil etdiyiniz və ya şifrənizin müddəti bitdiyinə görə yeniləməlisiniz.","password_leaked":"Parolunuz başqa bir veb saytında yayımlandığı üçün bu giriş cəhdi blok edildi. Kilidi açmaq üçün sizə e-poçt göndərdik.","too_many_attempts":"Çox sayda giriş cəhdi nəticəsində hesabınız bloklandı.","session_missing":"Doğrulama tələbi yerinə yetirilə bilmədi. Bütün açıq dialoqları bağladıqdan sonra yenidən cəhd edin","hrd.not_matching_email":", Giriş üçün korporativ e-poçtdan istifadə edin.","too_many_requests":"Üzr istəyirik. Hazırda çox sayda müraciət var. Zəhmət olmasa səhifəni yenidən yükləyin və yenidən cəhd edin. Bu davam edərsə, daha sonra yenidən cəhd edin.","invalid_captcha":"Daxil etdiyiniz mətn səhv idi.
Lütfən, yenidən cəhd edin.","invalid_recaptcha":"Robot olmadığınızı təsdiqləmək üçün onay qutusunu seçin."},"passwordless":{"bad.email":"E-poçt düzgün deyil","bad.phone_number":"Telefon nömrəsi düzgün deyil","lock.fallback":"Üzr istəyirik, səhv oldu"},"signUp":{"invalid_password":"Şifrə yanlışdır.","lock.fallback":"Üzr istəyirik, qeydiyyatdan keçmə zamanı səhv oldu.","password_dictionary_error":"Şifrə çox sadədir.","password_leaked":"Etibarnamələrin bu kombinasiyası başqa vebsaytda ictimai məlumatların pozulması zamanı aşkar edilib. Hesabınızı yaratmazdan əvvəl onu təhlükəsiz saxlamaq üçün başqa parol istifadə edin.","password_no_user_info_error":"Şifrə istifadəçi məlumatlarını ehtiva edir.","password_strength_error":"Şifrə çox sadədir.","user_exists":"Bu istifadəçi artıq mövcuddur.","username_exists":"Bu istifadəçi adı istifadə olunur.","social_signup_needs_terms_acception":"Xahiş edirik davam etmək üçün aşağıda göstərilən Xidmət şərtlərinə razılıq verin."}},"success":{"logIn":"Giriş üçün təşəkkür edirik.","forgotPassword":"Şifrənizi yeniləmək üçün sizə e-poçt göndərdik.","magicLink":"Giriş üçün link göndərdik
%s.","signUp":"Qeydiyyatdan keçdiyiniz üçün təşəkkür edirik."},"blankErrorHint":"","blankPasswordErrorHint":"Boş ola bilməz","blankEmailErrorHint":"Boş ola bilməz","blankUsernameErrorHint":"Boş ola bilməz","blankCaptchaErrorHint":"Boş ola bilməz","codeInputPlaceholder":"kodunuz","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"və ya","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"və ya","emailInputPlaceholder":"mail@example.com","enterpriseLoginIntructions":"Şirkətinizin məlumatları ilə daxil olun.","enterpriseActiveLoginInstructions":"Zəhmət olmasa %s ilə şirkətinizin kimlik nömrəsini daxil edin.","failedLabel":"Uğursuz!","forgotPasswordAction":"Şifrənizi xatırlamırsınız?","forgotPasswordInstructions":"Zəhmət olmasa, e-mail adresinizi daxil edin. Parolunuzu yeniləmək üçün sizə e-poçt göndərəcəyik.","forgotPasswordSubmitLabel":"Email göndər","invalidErrorHint":"","invalidPasswordErrorHint":"Yalnış","invalidEmailErrorHint":"Yalnış","invalidUsernameErrorHint":"Yalnış","lastLoginInstructions":"Sonuncu daxil olduğunuz","loginAtLabel":"%s ilə daxil olun","loginLabel":"Daxil ol","loginSubmitLabel":"Daxil ol","loginWithLabel":"%s ilə daxil olun","notYourAccountAction":"Sizin hesabınız deyil?","passwordInputPlaceholder":"şifrəniz","passwordStrength":{"containsAtLeast":"Ən az %d müxtəlif növ simvollardan istifadə edilməlidir. Alt-da istifadə oluna bilər %d müxtəlif növlər verilmişdir.","identicalChars":"Bir sətirdə %d dən çox eyni xarakter olmaz (nüm., \"%s\" icazə verilmir)","nonEmpty":"Boşluq olmayan parol tələb olunur","numbers":"Saylar (nüm. 0-9)","lengthAtLeast":"Ən az %d xarakter uzunluğunda","lowerCase":"Kiçik hərflər (a-z)","shouldContain":"İbarət olmalı:","specialCharacters":"Xüsusi simvollar (nüm. !@#$%^&*)","upperCase":"Böyük hərflər (A-Z)"},"passwordlessEmailAlternativeInstructions":"Əks halda, giriş üçün e-poçt adresinizi daxil edin
ya da qeydiyyatdan keçin","passwordlessEmailCodeInstructions":"%s ünvanına kod olan email göndərildi.","passwordlessEmailInstructions":"Giriş üçün e-mail adresinizi daxil edin
və ya qeydiyyatdan keçin","passwordlessSMSAlternativeInstructions":"Əks halda, giriş üçün telefon nömrənizi daxil edin
və ya qeydiyyatdan keçin","passwordlessSMSCodeInstructions":"Sizə SMS göndərdik %s.","passwordlessSMSInstructions":"Giriş üçün telefon nömrənizi daxil edin
və ya qeydiyyatdan keçin","phoneNumberInputPlaceholder":"telefon nömrəniz","resendCodeAction":"Kod almadınız?","resendLabel":"Təkrar göndər","resendingLabel":"Təkrar göndərilir...","retryLabel":"Yenidən cəhd edin","sentLabel":"Göndərildi!","signUpLabel":"Qeydiyyatdan keç","signUpSubmitLabel":"Qeydiyyatdan keç","signUpWithLabel":"%s ilə qeydiyyatdan keçin","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Tək giriş (SSO) aktivləşdirildi","submitLabel":"Göndər","unrecoverableError":"Xəta baş verdi.
Zəhmət olmasa texniki dəstəklə əlaqə saxlayın.","usernameFormatErrorHint":"%d-%d hərf, nömrələr və aşağıdakı simvollardan istifadə edin: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"istifadəçi adınızı","usernameOrEmailInputPlaceholder":"istifadəçi adı/e-poçt","title":"Auth0","welcome":"Xoş gəldiniz %s!","windowsAuthInstructions":"İş şəbəkənizdən bağlandınız…","windowsAuthLabel":"Windows Kimlik Təsdiqi","mfaInputPlaceholder":"Kod","mfaLoginTitle":"2 adımda təsdiq","mfaLoginInstructions":"Zəhmət olmasa mobil tətbiqetmənin yaratdığı təsdiq kodunu daxil edin.","mfaSubmitLabel":"Daxil ol","mfaCodeErrorHint":"%d nömrələrdən istifadə edin","forgotPasswordTitle":"Şifrənizi sıfırlayın","signUpTitle":"Qeydiyyatdan Keç","showPassword":"Şifrəni göstər","signUpTerms":"Qeydiyyatdan keçərək xidmət və məxfilik siyasətimizlə razılaşırsınız.","captchaCodeInputPlaceholder":"Yuxarıda göstərilən kodu daxil edin","captchaMathInputPlaceholder":"Yuxarıda göstərilən düsturu həll edin"}); \ No newline at end of file diff --git a/build/bg.js b/build/bg.js deleted file mode 100644 index ccc9c9a9c..000000000 --- a/build/bg.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("bg", {"error":{"forgotPassword":{"too_many_requests":"Достигнахте лимита на опити за смяна на паролата. Моля изчакайте преди да опитате отново.","lock.fallback":"За съжаление, възникна грешка при опита за промяна на паролата.","enterprise_email":"Вашият имейл е част от служебн доставчик на идентичност. Моля свържете се с администратора по сигурността, за да смените паролата си."},"login":{"blocked_user":"Потребителското име е блокирано.","invalid_user_password":"Грешно потребителско име или парола.","lock.fallback":"За съжаление, възникна грешка при опита да влезете във Вашия профил.","lock.invalid_code":"Грешна парола.","lock.invalid_email_password":"Грешен имейл или парола.","lock.invalid_username_password":"Грешно потребителско име или парола.","lock.network":"Не успяхме да се свържем със сървъра. Моля проверете вашата връзка с интернет и опитайте отново.","lock.popup_closed":"Диалога е затворен. Моля опитайте отново.","lock.unauthorized":"Не получихте разрешение. Моля опитайте отново.","lock.mfa_registration_required":"Изисква се неколкократно удостоверяване на автентичност, но вашето устройство не е включено. Моля включете го преди да продължите.","lock.mfa_invalid_code":"Грешен код. Моля опитайте отново.","password_change_required":"Трябва да смените паролата си, защото това е първият път когато влизате в профила си, или паролата Ви е изтекла.","password_leaked":"Засякохме потенциален проблем със сигурността на този профил. За да предпазим профила Ви, блокирахме потребителското Ви име. Ще получите имейл с инструкции как да деблокирате профила си.","too_many_attempts":"Вашият акаунт е блокиран след множество последователни опити да влезете в профила си.","session_missing":"Не успяхме да удостоверим Вашата самоличност. Моля опитайте отново след като затворите всички прозорци","hrd.not_matching_email":"Моля използвайте Вашия служебен имейл за да влезете в профила си.","too_many_requests":"Съжаляваме. Достигнахте лимита на опити за влизане. Моля, презаредете страницата и опитайте отново. Ако това продължи, моля, опитайте отново по-късно.","invalid_captcha":"Решете задачата, за да се уверим, че не сте робот.","invalid_recaptcha":"Поставете отметка, за да се уверим, че не сте робот."},"passwordless":{"bad.email":"Имейлът е невалиден","bad.phone_number":"Телефонният номер е невалиден","lock.fallback":"Съжаляваме, възникна грешка"},"signUp":{"invalid_password":"Паролата е невалидна.","lock.fallback":"Съжаляваме, възникна грешка при опита за влизане в профила Ви.","password_dictionary_error":"Паролата е много често срещана.","password_leaked":"Тази комбинация от идентификационни данни беше открита при нарушение на публичните данни на друг уебсайт. Преди да създадете акаунта си, моля, използвайте друга парола, за да го защитите.","password_no_user_info_error":"Паролата е основана на информация, свързана със собственика на този профил.","password_strength_error":"Паролата не е достатъчно сигурна.","user_exists":"Този профил вече съществува.","username_exists":"Това потребителско име вече съществува.","social_signup_needs_terms_acception":"Моля, приемете Общите условия по-долу, за да продължите."}},"success":{"logIn":"Благодаря, че влязохте в профила си.","forgotPassword":"Току-що Ви изпратихме имейл за да възстановите паролата си.","magicLink":"Изпратихме Ви линк за да влезете в профила си
на %s.","signUp":"Благодаря, че се регистрирахте."},"blankErrorHint":"","blankPasswordErrorHint":"Попълването на полето е задължително","blankEmailErrorHint":"Попълването на полето е задължително","blankUsernameErrorHint":"Попълването на полето е задължително","blankCaptchaErrorHint":"Попълването на полето е задължително","codeInputPlaceholder":"Вашата парола","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"или","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"или","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"Моля влезте в корпоративния си профил.","enterpriseActiveLoginInstructions":"Моля въведете Вашите корпоративни данни %s.","failedLabel":"Неуспешен опит!","forgotPasswordTitle":"Сменете парола си","forgotPasswordAction":"Забравихте паролата си?","forgotPasswordInstructions":"Моля въведете имейл адреса си. Ще Ви изпратим имейл, за да промените паролата си.","forgotPasswordSubmitLabel":"Изпращане на имейл","invalidErrorHint":"","invalidPasswordErrorHint":"Грешка","invalidEmailErrorHint":"Грешка","invalidUsernameErrorHint":"Грешка","lastLoginInstructions":"При предходното влизане, Вие се опитахте да влезете в профила си с","loginAtLabel":"Вход при %s","loginLabel":"Вход","loginSubmitLabel":"Вход","loginWithLabel":"Вход с %s","notYourAccountAction":"Това не е Вашият профил?","passwordInputPlaceholder":"Вашата парола","passwordStrength":{"containsAtLeast":"Съдържа поне %d от следните %d видове символи:","identicalChars":"Не съдържа повече от %d идентични символи един след друг (например не може да използвате \"%s\")","nonEmpty":"Изисква се задължително попълване на парола","numbers":"Цифри (например 0-9)","lengthAtLeast":"Поне %d символа в дължина","lowerCase":"Малки букви (a-z)","shouldContain":"Трябва да съдържа:","specialCharacters":"Специални символи (например!@#$%^&*)","upperCase":"Главни букви (A-Z)"},"passwordlessEmailAlternativeInstructions":"В противен случай, напишете Вашия имейл за да влезете в профила си
, или за да създадете профил","passwordlessEmailCodeInstructions":"Изпратихме Ви имейл с кода на %s.","passwordlessEmailInstructions":"Изпратете имейл за да влезете в профила си на
, или създайте нов профил","passwordlessSMSAlternativeInstructions":"В противен случай, напишете телефонния си номер или влезте в профила си
, или създайте нов профил","passwordlessSMSCodeInstructions":"Изпратихме Ви съобщение с кода на %s.","passwordlessSMSInstructions":"Моля напишете телефонния си номер за да влезете в профила си
, или създайте нов профил","phoneNumberInputPlaceholder":"Вашият телефонен номерr","resendCodeAction":"Не получихте код?","resendLabel":"Изпратете отново","resendingLabel":"Изпращаме...","retryLabel":"Опитайте отново","sentLabel":"Изпратено!","showPassword":"Покажи парола","signUpTitle":"Регистрация","signUpLabel":"Регистрация","signUpSubmitLabel":"Регистрация","signUpTerms":"При регистрация, Вие се съгласявате с нашата политика на потребителя и политика за защита на личните данни.","signUpWithLabel":"Влизане в профила с %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Технологията Single Sign-On (SSO) е включена","submitLabel":"Изпращане","unrecoverableError":"Грешка.
Моля свържете се с техническия екип.","usernameFormatErrorHint":"Използвайте %d-%d букви, цивфри и следните символи: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"вашето потребителско име","usernameOrEmailInputPlaceholder":"потребителско име/имейл","title":"Auth0","welcome":"Добре дошли, %s!","windowsAuthInstructions":"Вие се свързахте чрез мрежата на Вашата фирма...","windowsAuthLabel":"Идентификация Windows","mfaInputPlaceholder":"Код","mfaLoginTitle":"Многофакторна идентификация","mfaLoginInstructions":"Моля въведете кода за проверка, който беше създаден от приложението на Вашия мобилен телефон.","mfaSubmitLabel":"Вход","mfaCodeErrorHint":"Използвайте цифрите %d","captchaCodeInputPlaceholder":"Въведете кода, показан по-горе","captchaMathInputPlaceholder":"Решете задачата, показана по-горе"}); \ No newline at end of file diff --git a/build/ca.js b/build/ca.js deleted file mode 100644 index eee5792ba..000000000 --- a/build/ca.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("ca", {"error":{"forgotPassword":{"too_many_requests":"S'han exhaurit els intents per restablir la contrasenya. Espereu una estona i intenteu-ho de nou.","lock.fallback":"Hi ha hagut un error en canviar la contrasenya.","enterprise_email":"El domini del vostre correu electrònic forma part d'un proveïdor d'identitat empresarial. Per restablir la contrasenya, consulteu l'administrador de seguretat."},"login":{"blocked_user":"L'usuari està bloquejat.","invalid_user_password":"Les credencials no són correctes.","lock.fallback":"Hi ha hagut un error en iniciar la sessió.","lock.invalid_code":"El codi és incorrecte.","lock.invalid_email_password":"L'adreça o contrasenya no són correctes.","lock.invalid_username_password":"El nom d'usuari o contrasenya no són correctes.","lock.network":"No s'ha pogut accedir al servidor. Reviseu la vostra connexió i intenteu-ho de nou.","lock.popup_closed":"S'ha tancat la finestra emergent. Intenteu-ho de nou.","lock.unauthorized":"No hi teniu permís d'accés. Intenteu-ho de nou.","lock.mfa_registration_required":"Cal fer una autenticació multifactorial però el vostre dispositiu no està registrat. Si us plau registreu-lo abans de continuar.","lock.mfa_invalid_code":"El codi és incorrecte. Intenteu-ho de nou.","password_change_required":"Cal que actualitzeu la vostra contrasenya, bé perquè és la primera vegada que entreu, o perquè la contrasenya ha caducat.","password_leaked":"S'ha bloquejat el vostre accés ja que s'ha filtrat la contrasenya a través un altre lloc web. Heu rebut un correu amb instruccions per poder restablir-hi l'accés.","too_many_attempts":"Hi ha hagut massa intents consecutius fallits d'inici de sessió, i se us ha bloquejat l'accés.","session_missing":"No s'ha pogut completar la vostra petició d'autenticació. Tanqueu tots els diàlegs oberts i intenteu-ho de nou.","hrd.not_matching_email":"Si us plau, utilitzeu el correu electrònic corporatiu per iniciar sessió.","too_many_requests":"Ho sentim. Ara hi ha massa sol·licituds ara mateix. Torneu a carregar la pàgina i torneu-ho a provar. Si això persisteix, torneu-ho a provar més tard.","invalid_captcha":"Resoleu la pregunta de desafiament per verificar que no sou un robot.","invalid_recaptcha":"Seleccioneu la casella de verificació per verificar que no sou un robot."},"passwordless":{"bad.email":"L'adreça de correu no és vàlida","bad.phone_number":"El número de telèfon no és vàlid","lock.fallback":"Quelcom ha fet fallida"},"signUp":{"invalid_password":"La contrasenya no és vàlida.","lock.fallback":"Hi ha hagut un error durant el registre.","password_dictionary_error":"La contrasenya és massa comú.","password_leaked":"Aquesta combinació de credencials es va detectar en una violació de dades públiques en un altre lloc web. Abans de crear el vostre compte, utilitzeu una contrasenya diferent per mantenir-lo segur.","password_no_user_info_error":"La contrasenya es basa en les dades de l'usuari.","password_strength_error":"La contrasenya és massa feble.","user_exists":"Ja existeix aquest usuari.","username_exists":"Ja existeix aquest nom d'usuari.","social_signup_needs_terms_acception":"Per continuar, accepteu les Condicions del servei."}},"success":{"logIn":"Sessió iniciada amb èxit.","forgotPassword":"Se us ha enviat un email per a poder restablir la contrasenya.","magicLink":"Se us ha enviat un enllaç per iniciar sessió
a %s.","signUp":"Registre completat amb èxit."},"blankErrorHint":"","blankPasswordErrorHint":"No pot ser buit","blankEmailErrorHint":"No pot ser buit","blankUsernameErrorHint":"No pot ser buit","blankCaptchaErrorHint":"No pot ser buit","codeInputPlaceholder":"codi","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"o","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"o","emailInputPlaceholder":"email@example.com","enterpriseLoginIntructions":"Inicieu sessió amb les vostres credencials corporatives.","enterpriseActiveLoginInstructions":"Si us plau entreu les vostres credencials corporatives de %s.","failedLabel":"Error!","forgotPasswordTitle":"Restabliu la contrasenya","forgotPasswordAction":"Heu oblidat la contrasenya?","forgotPasswordInstructions":"Indiqueu el vostre email. Us enviarem les instruccions per restablir-la.","forgotPasswordSubmitLabel":"Enviar email","invalidErrorHint":"","invalidPasswordErrorHint":"Invàlid","invalidEmailErrorHint":"Invàlid","invalidUsernameErrorHint":"Invàlid","lastLoginInstructions":"L'última vegada vàreu iniciar sessió amb","loginAtLabel":"Iniciar a %s","loginLabel":"Inici de sessió","loginSubmitLabel":"Inicieu sessió","loginWithLabel":"Iniciar amb %s","notYourAccountAction":"No és el vostre compte?","passwordInputPlaceholder":"la seva contrasenya","passwordStrength":{"containsAtLeast":"Conté almenys %d dels següents %d tipus de caràcters:","identicalChars":"No més de %d caràcters idèntics junts (p. ex., \"%s\" no està permès)","nonEmpty":"La contrasenya no pot estar buida","numbers":"Xifres (del 0 al 9)","lengthAtLeast":"Com a mínim de %d caràcters de longitud","lowerCase":"Lletres minúscules (a-z)","shouldContain":"Ha de contenir:","specialCharacters":"Caràcters especials (p. ex. !@#$%^&*)","upperCase":"Lletres majúscules (A-Z)"},"passwordlessEmailAlternativeInstructions":"Altrament, indiqueu el vostre email per iniciar sessió
o registrar-vos","passwordlessEmailCodeInstructions":"Se us ha enviat un email amb el codi a %s.","passwordlessEmailInstructions":"Indiqueu el vostre email per iniciar sessió
o registrar-vos","passwordlessSMSAlternativeInstructions":"Altrament, introduïu el vostre telèfon per iniciar sessió
o registrar-vos","passwordlessSMSCodeInstructions":"Se us ha enviat un SMS amb el codi a %s.","passwordlessSMSInstructions":"Indiqueu el vostre telèfon per iniciar sessió
o registrar-vos","phoneNumberInputPlaceholder":"número de telèfon","resendCodeAction":"No heu rebut el codi?","resendLabel":"Reenvia","resendingLabel":"Reenviant...","retryLabel":"Reintenta","sentLabel":"Enviat","signUpTitle":"Registre","signUpLabel":"Registre","signUpSubmitLabel":"Registra'm","signUpWithLabel":"Registreu-vos amb %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Activat l'inici de sessió únic","submitLabel":"Envia","unrecoverableError":"Hi ha hagut un error.
Contacteu amb el suport tècnic.","usernameFormatErrorHint":"Utilitzeu %d-%d lletres, números i els següents caràcters: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"el seu usuari","usernameOrEmailInputPlaceholder":"usuari/email","title":"Auth0","welcome":"Benvingut/da %s","windowsAuthInstructions":"Esteu connectat des de la vostra xarxa corporativa…","windowsAuthLabel":"Autenticació de Windows","mfaInputPlaceholder":"Codi","mfaLoginTitle":"Verificació en 2 passos","mfaLoginInstructions":"Indiqueu el codi de verificació generat per la seva aplicació de mòbil.","mfaSubmitLabel":"Inicia sessió","mfaCodeErrorHint":"Utilitzeu %d xifres","showPassword":"Ensenya la contrasenya","signUpTerms":"En inscriure's, accepteu les nostres condicions de servei i la nostra política de privadesa.","captchaCodeInputPlaceholder":"Introduïu el codi anterior","captchaMathInputPlaceholder":"Resoleu la fórmula mostrada anteriorment"}); \ No newline at end of file diff --git a/build/cs.js b/build/cs.js deleted file mode 100644 index 157f45119..000000000 --- a/build/cs.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("cs", {"error":{"forgotPassword":{"too_many_requests":"Dosáhli jste limitu počtu pokusů o změnu hesla. Před dalším pokusem prosím počkejte.","lock.fallback":"Je nám líto, ale něco se pokazilo při žádosti o změnu hesla.","enterprise_email":"Doména vašeho e-mailu je součástí poskytovatele podnikové identity. Chcete-li obnovit heslo, obraťte se na svého správce zabezpečení."},"login":{"blocked_user":"Uživatel je blokován.","invalid_user_password":"Chybné heslo.","invalid_captcha":"Vyřešte úlohu, abychom ověřili, že nejste robot.","invalid_recaptcha":"Zaškrtněte políčko, abychom ověřili, že nejste robot.","lock.fallback":"Je nám líto, ale něco se pokazilo při pokusu o přihlášení.","lock.invalid_code":"Chybný kód.","lock.invalid_email_password":"Chybný e-mail nebo heslo.","lock.invalid_username_password":"Chybné uživatelské jméno nebo heslo.","lock.network":"Nepodařilo se spojit se serverem. Prosím zkontrolujte připojení a zkuste to znovu.","lock.popup_closed":"Vyskakovací okno zavřeno. Zkuste to znovu.","lock.unauthorized":"Oprávnění nebyla udělena. Zkuste to znovu.","lock.mfa_registration_required":"Je požadováno vícefaktorové ověření, ale vaše zařízení není registrováno. Prosím registrujte jej, než budete pokračovat.","lock.mfa_invalid_code":"Chybný kód. Prosím zkuste to znovu.","password_change_required":"Musíte si aktualizovat si své heslo, protože je toto vaše první přihlášení, nebo platnost vašeho hesla vypršela.","password_leaked":"Detekovali jsme, že tento účet může být ohrožen. Abychom váš účet ochránili, zablokovali jsme toto přihlášení. Zaslali jsme vám e-mail s instrukcemi, jak svůj účet odblokovat.","too_many_attempts":"Váš účet byl zablokován z důvodu velkého počtu pokusů o přihlášení.","too_many_requests":"Omlouváme se. Právě teď je příliš mnoho žádostí. Načtěte stránku znovu a zkuste to znovu. Pokud to trvá, zkuste to znovu později.","session_missing":"Nemohli jsme dokončit váš požadavek na ověření. Zkuste to znovu po zavření všech otevřených dialogových oken.","hrd.not_matching_email":"Prosím pro přihlášení použijte svůj firemní e-mail."},"passwordless":{"bad.email":"E-mail je neplatný","bad.phone_number":"Telefonní číslo je neplatné","lock.fallback":"Je nám líto, něco se pokazilo"},"signUp":{"invalid_password":"Heslo je neplatné.","lock.fallback":"Je nám líto, při pokusu o registraci se něco pokazilo.","password_dictionary_error":"Heslo je příliš obvyklé.","password_leaked":"Tato kombinace přihlašovacích údajů byla zjištěna při porušení veřejných údajů na jiném webu. Před vytvořením účtu použijte jiné heslo, aby byl zabezpečen.","password_no_user_info_error":"Heslo vychází z uživatelských údajů.","password_strength_error":"Heslo je příliš slabé.","user_exists":"Uživatel již existuje.","username_exists":"Uživatelské jméno již existuje.","social_signup_needs_terms_acception":"Pro pokračování prosím potvrďte souhlas s níže uvedenými smluvními podmínkami."}},"success":{"logIn":"Děkujeme za přihlášení.","forgotPassword":"Právě jsme vám poslali email s instrukcemi ke změně hesla.","magicLink":"Poslali jsme vám odkaz pro přihlášení
k %s.","signUp":"Děkujeme za registraci."},"blankErrorHint":"","blankPasswordErrorHint":"Heslo nemůže zůstat prázdné","blankEmailErrorHint":"E-mail nemůže zůstat prázdný","blankUsernameErrorHint":"Uživatelské jméno nemůže zůstat prázdné","blankCaptchaErrorHint":"Nemůže zůstat prázdné","codeInputPlaceholder":"váš kód","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"nebo","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"nebo","emailInputPlaceholder":"jmeno@ukazka.cz","captchaCodeInputPlaceholder":"Zadejte kód zobrazený výše","captchaMathInputPlaceholder":"Vyřešte vzorec zobrazený výše","enterpriseLoginIntructions":"Přihlaste se svým firemním účtem.","enterpriseActiveLoginInstructions":"Prosím zadejte údaje k firemnímu účtu %s.","failedLabel":"Chyba!","forgotPasswordTitle":"Obnovit heslo","forgotPasswordAction":"Zapomněli jste své heslo?","forgotPasswordInstructions":"Prosím zadejte svou e-mailovou adresu. Pošleme vám e-mail, díky němuž si budete moct změnit heslo.","forgotPasswordSubmitLabel":"Poslat e-mail","invalidErrorHint":"","invalidPasswordErrorHint":"Neplatné heslo","invalidEmailErrorHint":"Neplatný e-mail","invalidUsernameErrorHint":"Neplatné uživatelské jméno","lastLoginInstructions":"Naposledy jste se přihlásili pomocí","loginAtLabel":"Přihlásit se k %s","loginLabel":"Přihlášení","loginSubmitLabel":"Přihlásit","loginWithLabel":"Přihlásit se s %s","notYourAccountAction":"Není to váš účet?","passwordInputPlaceholder":"vaše heslo","passwordStrength":{"containsAtLeast":"Musí obsahovat nejméně %d z těchto %d druhů znaků:","identicalChars":"Ne více než %d stejných znaků za sebou (např. \"%s\" není dovoleno).","nonEmpty":"Heslo nesmí být prázdné","numbers":"Číslice (např. 0-9)","lengthAtLeast":"Délka nejméně %d znaků","lowerCase":"Malá písmena (a-z)","shouldContain":"Mělo by obsahovat:","specialCharacters":"Zvláštní znaky (např. !@#$%^&*)","upperCase":"Velká písmena (A-Z)"},"passwordlessEmailAlternativeInstructions":"Případně zadejte e-mail pro přihlášení,
nebo vytvoření účtu","passwordlessEmailCodeInstructions":"E-mail s kódem byl odeslán na %s.","passwordlessEmailInstructions":"Zadejte váš e-mail pro přihlášení
nebo vytvoření účtu","passwordlessSMSAlternativeInstructions":"Případně zadejte telefon pro přihlášení
nebo vytvoření účtu","passwordlessSMSCodeInstructions":"SMS s kódem byla odeslána na číslo %s.","passwordlessSMSInstructions":"Zadejte telefon pro přihlášení
nebo vytvoření účtu","phoneNumberInputPlaceholder":"vaše telefonní číslo","resendCodeAction":"Nedostali jste kód?","resendLabel":"Poslat znovu","resendingLabel":"Posíláme znovu...","retryLabel":"Opakovat","sentLabel":"Odesláno!","showPassword":"Zobrazit heslo","signUpTitle":"Registrace","signUpLabel":"Registrace","signUpSubmitLabel":"Registrovat","signUpTerms":"Registrací souhlasíte s našimi podmínkami použití a ochrany osobních údajů.","signUpWithLabel":"Registrovat se s %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Jednotné přihlášení povoleno","submitLabel":"Odeslat","unrecoverableError":"Něco se pokazilo.
Prosíme kontaktujte technickou podporu.","usernameFormatErrorHint":"Použijte písmena %d-%d, číslice a následující znaky: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"vaše uživatelské jméno","usernameOrEmailInputPlaceholder":"uživatelské jméno/e-mail","title":"Auth0","welcome":"Vítejte, %s!","windowsAuthInstructions":"Jste připojeni z vaší firemní sítě…","windowsAuthLabel":"Ověření Windows","mfaInputPlaceholder":"Kód","mfaLoginTitle":"Dvoufázové ověření","mfaLoginInstructions":"Prosím zadejte ověřovací kód vygenerovaný vaší mobilní aplikací.","mfaSubmitLabel":"Přihlásit","mfaCodeErrorHint":"Použijte %d číslic"}); \ No newline at end of file diff --git a/build/da.js b/build/da.js deleted file mode 100644 index b5b190d14..000000000 --- a/build/da.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("da", {"error":{"forgotPassword":{"too_many_requests":"Du har nået grænsen for forsøg på at skifte adgangskode. Vent venligst før du prøver igen.","lock.fallback":"Vi beklager, men der skete en fejl i forespørgslen efter ny adgangskode.","enterprise_email":"Dit e-mail-domæne er en del af en Enterprise Identity-udbyder. For at nulstille dit kodeord, se venligst din sikkerhedsadministrator."},"login":{"blocked_user":"Denne bruger er blokeret.","invalid_user_password":"Forkerte loginoplysninger.","lock.fallback":"Vi beklager, men der skete en fejl i forbindelse med login.","lock.invalid_code":"Forkert kode.","lock.invalid_email_password":"Forkert e-mail eller adgangskode.","lock.invalid_username_password":"Forkert brugernavn eller adgangskode.","lock.network":"Vi kunne ikke få forbindelse til serveren. Kontroller venligst din forbindelse og prøv igen.","lock.popup_closed":"Popup-vinduet er lukket. Prøv venligst igen.","lock.unauthorized":"Tilladelse blev ikke givet. Prøv igen.","password_change_required":"Du skal opdatere din adgangskode, fordi det er første gang du logger på, eller fordi din adgangskode er udløbet.","password_leaked":"Dette login er blevet blokeret, fordi din adgangskode er blevet lækket på en anden hjemmeside. Vi har sendt dig en e-mail med instruktioner om, hvordan du fjerner blokeringen.","too_many_attempts":"Din konto er blevet blokeret efter gentagne mislykkede loginforsøg.","lock.mfa_registration_required":"Multifaktorgodkendelse er påkrævet, men din enhed er ikke tilmeldt. Tilmeld den venligst før du prøver igen.","lock.mfa_invalid_code":"Forkert kode. Prøv igen.","session_missing":"Kunne ikke fuldføre din godkendelsesanmodning. Prøv igen efter at have lukket alle åbne dialoger","hrd.not_matching_email":"Brug venligst din virksomheds-e-mail for at logge ind.","too_many_requests":"Vi er kede af det. Der er for mange anmodninger lige nu. Venligst genindlæs siden og prøv igen. Hvis dette vedvarer, kan du prøve igen senere.","invalid_captcha":"Løs udfordringsspørgsmålet for at kontrollere, at du ikke er en robot.","invalid_recaptcha":"Marker afkrydsningsfeltet for at kontrollere, at du ikke er en robot."},"passwordless":{"bad.email":"Denne e-mail er ugyldig","bad.phone_number":"Dette telefonnummer er ugyldigt","lock.fallback":"Vi beklager, men der skete en fejl"},"signUp":{"invalid_password":"Adgangskoden er ugyldigt","lock.fallback":"Vi beklager, men der skete en fejl, da du forsøgte at oprette dig.","password_dictionary_error":"Adgangskoden er for almindelig.","password_leaked":"Denne kombination af legitimationsoplysninger blev opdaget i et offentligt databrud på et andet websted. Før din konto oprettes, skal du bruge en anden adgangskode for at holde den sikker.","password_no_user_info_error":"Adgangskoden indeholder information om din bruger.","password_strength_error":"Adgangskoden er for svag.","user_exists":"Denne bruger eksisterer allerede.","username_exists":"Dette brugernavn eksisterer allerede.","social_signup_needs_terms_acception":"Du accepterer servicevilkårene nedenfor for at fortsætte."}},"success":{"logIn":"Tak fordi du loggede ind.","forgotPassword":"Vi har sendt dig en e-mail med instruktioner til at nulstille dit kodeord.","magicLink":"Vi har sendt dig et link, som du kan bruge til at logge ind
i %s.","signUp":"Tak fordi du oprettede en bruger."},"blankErrorHint":"","blankPasswordErrorHint":"Kan ikke være tom","blankEmailErrorHint":"Kan ikke være tom","blankUsernameErrorHint":"Kan ikke være tom","blankCaptchaErrorHint":"Kan ikke være tom","codeInputPlaceholder":"din kode","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"eller","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"eller","emailInputPlaceholder":"dit@eksempel.dk","enterpriseLoginIntructions":"Log ind med dit login til din virksomhed.","enterpriseActiveLoginInstructions":"Indtast venligst dit login hos %s.","failedLabel":"Mislykkede!","forgotPasswordAction":"Har du glemt dit kodeord?","forgotPasswordInstructions":"Indtast venligst din e-mail, så sender vi instruktioner til at nulstille dit kodeord.","forgotPasswordSubmitLabel":"Send e-mail","invalidErrorHint":"","invalidPasswordErrorHint":"Ugyldig","invalidEmailErrorHint":"Ugyldig","invalidUsernameErrorHint":"Ugyldig","lastLoginInstructions":"Sidste gang loggede du ind med","loginAtLabel":"Log ind hos %s","loginLabel":"Log Ind","loginSubmitLabel":"Log Ind","loginWithLabel":"Log ind med %s","notYourAccountAction":"Er det ikke din konto?","passwordInputPlaceholder":"dit kodeord","passwordStrength":{"containsAtLeast":"Skal indeholde mindst %d af de følgende %d typer af karakterer:","identicalChars":"Ikke mere end %d identiske karakterer efter hinanden (f.eks., \"%s\" er ikke tilladt)","nonEmpty":"Ikke-tom adgangskode er påkrævet","numbers":"Numre (f.eks. 0-9)","lengthAtLeast":"Mindst %d karakterer langt","lowerCase":"Små bogstaver (a-z)","shouldContain":"Skal indeholde:","specialCharacters":"Specialtegn (f.eks. !@#$%^&*)","upperCase":"Store bogstaver (A-Z)"},"passwordlessEmailAlternativeInstructions":"Ellers, indtast din e-mail for at logge ind
eller oprette en konto","passwordlessEmailCodeInstructions":"En e-mail med koden er sendt til %s.","passwordlessEmailInstructions":"Indtast din e-mail for at logge ind
eller oprette en konto","passwordlessSMSAlternativeInstructions":"Ellers, indtast dit telefonnummer for at logge ind
eller oprette en konto","passwordlessSMSCodeInstructions":"En SMS med koden er sendt til %s.","passwordlessSMSInstructions":"Indtast dit telefonnummer for at logge ind
eller oprette en konto","phoneNumberInputPlaceholder":"dit telefonnummer","resendCodeAction":"Har du ikke modtaget koden?","resendLabel":"Send igen","resendingLabel":"Sender igen...","retryLabel":"Prøv igen","sentLabel":"Sendt!","signUpLabel":"Opret dig","signUpSubmitLabel":"Opret dig","signUpWithLabel":"Opret dig med %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Single Sign-On aktiveret","submitLabel":"Send","unrecoverableError":"Der skete en fejl.
Kontakt venligst den tekniske support.","usernameFormatErrorHint":"Brug %d-%d bogstaver, tal og følgende tegn: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"dit brugernavn","usernameOrEmailInputPlaceholder":"brugernavn/e-mail","title":"Auth0","welcome":"Velkommen %s!","windowsAuthInstructions":"Du er forbundet fra din virksomheds netværk…","windowsAuthLabel":"Windows Authentication","forgotPasswordTitle":"Nulstil din adgangskode","signUpTitle":"Tilmeld","mfaInputPlaceholder":"Kode","mfaLoginTitle":"Tofaktorgodkendelse","mfaLoginInstructions":"Indtast venligst bekræftelseskoden genereret af din mobilapplikation.","mfaSubmitLabel":"Log på","mfaCodeErrorHint":"Brug %d tal","showPassword":"Vis adgangskode","signUpTerms":"Ved at tilmelde dig accepterer du vores servicevilkår og privatlivspolitik.","captchaCodeInputPlaceholder":"Indtast koden vist ovenfor","captchaMathInputPlaceholder":"Løs formlen vist ovenfor"}); \ No newline at end of file diff --git a/build/de.js b/build/de.js deleted file mode 100644 index 18ec3b0e0..000000000 --- a/build/de.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("de", {"error":{"forgotPassword":{"too_many_requests":"Sie haben das Limit für Rücksetzungsversuche des Passworts erreicht. Bitte warten Sie, bevor Sie es erneut versuchen.","lock.fallback":"Es tut uns leid, beim Zurücksetzen des Passworts ist ein Fehler aufgetreten.","enterprise_email":"Die Domain Ihrer E-Mail-Adresse ist Teil eines Enterprise Identity Providers. Um Ihr Passwort zurückzusetzen, wenden Sie sich bitte an Ihren Sicherheitsadministrator."},"login":{"blocked_user":"Der Benutzer wird blockiert.","invalid_user_password":"Falsche Anmeldeinformationen.","lock.fallback":"Es tut uns leid, beim Verarbeiten der Anmeldung ist ein Fehler aufgetreten.","lock.invalid_code":"Falscher Code.","lock.invalid_email_password":"Falsche E-Mail-Adresse oder Passwort.","lock.invalid_username_password":"Falscher Benutzername oder Passwort.","lock.network":"Der Server antwortet nicht.
Bitte erneut versuchen.","lock.popup_closed":"Pop-up-Fenster geschlossen. Versuchen Sie es erneut.","lock.unauthorized":"Genehmigungen wurden nicht erteilt. Versuchen Sie es erneut.","lock.mfa_registration_required":"Eine Multifaktor-Authentifizierung ist erforderlich, aber Ihr Gerät ist nicht registriert. Bitte registrieren Sie es, bevor Sie fortfahren.","lock.mfa_invalid_code":"Falscher Code. Bitte versuchen Sie es erneut.","password_change_required":"Sie müssen Ihr Passwort ändern, da Sie sich zum ersten Mal anmelden oder das Passwort abgelaufen ist.","password_leaked":"Wir haben ein potenzielles Sicherheitsproblem mit diesem Konto festgestellt. Um Ihr Konto zu schützen, haben wir diese Anmeldung blockiert. Es wurde eine E-Mail mit einer Anleitung zum Entsperren Ihres Kontos gesendet.","too_many_attempts":"Ihr Konto wurde nach mehreren aufeinander folgenden Anmeldeversuche gesperrt.","session_missing":"Ihre Authentifizierungsanfrage konnte nicht abgeschlossen werden. Bitte versuchen Sie es erneut, nachdem Sie alle geöffneten Dialoge geschlossen haben.","hrd.not_matching_email":"Bitte verwenden Sie Ihre geschäftliche E-Mail-Adresse, um sich anzumelden.","too_many_requests":"Es tut uns leid. Im Moment gibt es zu viele Anfragen. Bitte laden Sie die Seite neu und versuchen Sie es erneut. Wenn dies weiterhin der Fall ist, versuchen Sie es später erneut.","invalid_captcha":"Lösen Sie die Herausforderungsfrage, um sicherzustellen, dass Sie kein Roboter sind.","invalid_recaptcha":"Aktivieren Sie das Kontrollkästchen, um sicherzustellen, dass Sie kein Roboter sind."},"passwordless":{"bad.email":"Diese E-Mail-Adresse ist ungültig","bad.phone_number":"Diese Telefonnummer ist ungültig","lock.fallback":"Es tut uns leid, etwas ist schiefgelaufen."},"signUp":{"invalid_password":"Passwort ist ungültig.","lock.fallback":"Es tut uns leid, beim Verarbeiten der Registrierung ist ein Fehler aufgetreten.","password_dictionary_error":"Das Passwort ist zu verbreitet.","password_leaked":"Diese Kombination von Anmeldeinformationen wurde bei einer öffentlichen Datenschutzverletzung auf einer anderen Website entdeckt. Bevor Ihr Konto erstellt wird, verwenden Sie bitte ein anderes Passwort, um es zu schützen.","password_no_user_info_error":"Das Passwort basiert auf Benutzerinformationen.","password_strength_error":"Das Passwort ist zu schwach.","user_exists":"Der Nutzer existiert bereits.","username_exists":"Der Nutzername wird bereits verwendet.","social_signup_needs_terms_acception":"Bitte stimmen Sie den untenstehenden Nutzungsbedingungen zu, um fortzufahren."}},"success":{"logIn":"Danke für die Anmeldung.","forgotPassword":"Wir haben Ihnen eine E-Mail gesendet, um Ihr Passwort zurückzusetzen.","magicLink":"Wir haben Ihnen einen Link geschickt, zur Anmeldung
bei %s.","signUp":"Vielen Dank für's Registrieren."},"blankErrorHint":"","blankPasswordErrorHint":"Darf nicht leer sein","blankEmailErrorHint":"Darf nicht leer sein","blankUsernameErrorHint":"Darf nicht leer sein","blankCaptchaErrorHint":"Darf nicht leer sein","codeInputPlaceholder":"Ihr Code","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"oder","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"oder","emailInputPlaceholder":"ihremail@example.com","enterpriseLoginIntructions":"Melden Sie sich mit Ihren geschäftlichen Informationen an.","enterpriseActiveLoginInstructions":"Bitte geben Sie Ihre geschäftlichen Informationen bei %s an.","failedLabel":"Gescheitert!","forgotPasswordTitle":"Setzen Sie Ihr Passwort zurück","forgotPasswordAction":"Passwort vergessen?","forgotPasswordInstructions":"Geben Sie bitte Ihre E-Mail-Adresse ein. Wir werden Ihnen eine E-Mail senden um Ihr Passwort zurücksetzen zu können.","forgotPasswordSubmitLabel":"E-Mail senden","invalidErrorHint":"","invalidPasswordErrorHint":"Ungültig!","invalidEmailErrorHint":"Ungültig!","invalidUsernameErrorHint":"Ungültig!","lastLoginInstructions":"Letztes Mal waren Sie angemeldet mit","loginAtLabel":"Anmelden bei %s","loginLabel":"Anmelden","loginSubmitLabel":"Anmelden","loginWithLabel":"Mit %s anmelden","notYourAccountAction":"Falsches Konto?","passwordInputPlaceholder":"Ihr Passwort","passwordStrength":{"containsAtLeast":"Enthält mindestens %d der folgenden %d Arten von Zeichen:","identicalChars":"Nicht mehr als %d identische Zeichen in Folge (z. B. \"%s\" ist nicht erlaubt)","nonEmpty":"Das Passwort darf nicht leer sein","numbers":"Zahlen (z. B. 0-9)","lengthAtLeast":"Muss mindestens %d Zeichen lang sein","lowerCase":"Kleinbuchstaben (a-z)","shouldContain":"Sollte enthalten:","specialCharacters":"Sonderzeichen (z. B. !@#$%^&*)","upperCase":"Großbuchstaben (A-Z)"},"passwordlessEmailAlternativeInstructions":"Andernfalls geben Sie Ihre E-Mail-Adresse ein,
um sich anzumelden oder ein Konto zu erstellen","passwordlessEmailCodeInstructions":"Eine E-Mail mit dem Code wurde an %s gesendet.","passwordlessEmailInstructions":"Geben Sie Ihre E-Mail-Adresse ein, um sich anzumelden
oder ein Konto zu erstellen","passwordlessSMSAlternativeInstructions":"Andernfalls geben Sie Ihre Telefonnummer ein,
um sich anzumelden oder ein Konto zu erstellen","passwordlessSMSCodeInstructions":"Eine SMS mit dem Code wurde gesendet an %s.","passwordlessSMSInstructions":"Geben Sie Ihre Telefonnummer ein,
um sich anzumelden oder ein Konto zu erstellen","phoneNumberInputPlaceholder":"Ihre Telefonnummer","resendCodeAction":"Haben Sie den Code nicht erhalten?","resendLabel":"Erneut senden","resendingLabel":"Wird erneut gesendet...","retryLabel":"Wiederholen","sentLabel":"Gesendet!","showPassword":"Passwort anzeigen","signUpTitle":"Registrieren","signUpLabel":"Registrieren","signUpSubmitLabel":"Registrieren","signUpWithLabel":"Registrieren mit %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Single Sign-On aktiviert","submitLabel":"Absenden","unrecoverableError":"Etwas ist schiefgelaufen.
Bitte kontaktieren Sie den technischen Support.","usernameFormatErrorHint":"Verwenden Sie %d-%d Buchstaben, Zahlen und die folgenden Zeichen: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"Ihr Benutzername","usernameOrEmailInputPlaceholder":"Benutzername/E-Mail-Adresse","title":"Auth0","welcome":"Willkommen %s!","windowsAuthInstructions":"Sie sind über Ihr Firmennetzwerk verbunden…","windowsAuthLabel":"Windows Authentifizierung","mfaInputPlaceholder":"Code","mfaLoginTitle":"Multifaktor-Authentifizierung","mfaLoginInstructions":"Bitte geben Sie den Bestätigungscode ein, der von Ihrer mobilen Anwendung generiert wurde.","mfaSubmitLabel":"Anmelden","mfaCodeErrorHint":"Verwenden %d Zahlen","signUpTerms":"Mit der Anmeldung stimmen Sie unseren Nutzungsbedingungen und Datenschutzbestimmungen zu.","captchaCodeInputPlaceholder":"Geben Sie den oben angezeigten Code ein.","captchaMathInputPlaceholder":"Lösen Sie die oben gezeigte Formel."}); \ No newline at end of file diff --git a/build/el.js b/build/el.js deleted file mode 100644 index 8df6f44f5..000000000 --- a/build/el.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("el", {"error":{"forgotPassword":{"too_many_requests":"Έχετε υπερβεί το όριο προσπαθειών αλλαγής κωδικού πρόσβασης. Παρακαλούμε περιμένετε πριν ξαναπροσπαθήσετε.","lock.fallback":"Λυπούμαστε, ανεπιτυχής έκβαση. Κάτι πήγε στραβά κατά την επεξεργασία του αιτήματος.","enterprise_email":"Το domain του email σας ανήκει σε επιχείρηση. Για να αντικαταστήσετε τον κωδικό πρόσβασής σας, ζητήστε το από τον υπεύθυνο διαχειριστή."},"login":{"blocked_user":"Ο λογαριασμός σας δεν έχει πρόσβαση.","invalid_user_password":"Μη αποδεκτά διαπιστευτήρια.","lock.fallback":"Λυπούμαστε, ξαναπροσπαθήστε.","lock.invalid_code":"Λάθος κωδικός.","lock.invalid_email_password":"Λάθος email ή κωδικός πρόσβασης.","lock.invalid_username_password":"Λάθος όνομα χρήστη ή κωδικός πρόσβασης.","lock.network":"Αδυναμία επικοινωνίας με τον διακομιστή. Ελέγξτε τη σύνδεση σας και δοκιμάστε ξανά.","lock.popup_closed":"Το αναδυόμενο παράθυρο έκλεισε. Προσπαθήστε ξανά.","lock.unauthorized":"Απορρίφτηκε. Προσπάθησε ξανά.","lock.mfa_registration_required":"Απαιτείται ταυτοποίηση δύο βημάτων. Παρακαλούμε κατοχυρώστε την συσκευή σας πριν συνεχίσετε.","lock.mfa_invalid_code":"Λάθος κωδικός. Παρακαλώ προσπαθήστε ξανά.","password_change_required":"Πρέπει να αντικαταστήσετε τον κωδικό πρόσβασής σας, επειδή συνδέεστε για πρώτη φορά ή ο κωδικός σας έχει λήξει.","password_leaked":"Εντοπίσαμε πιθανό πρόβλημα ασφαλείας στον λογαριασμό σας. Για να τον προστατεύσουμε, τον απενεργοποιήσαμε. Αποστείλαμε email με οδηγίες επανενεργοποίησης","too_many_attempts":"Ο λογαριασμός σας έχει απενεργοποιηθεί λόγω υπέρβασης του ορίου επιτρεπόμενων προσπαθειών σύνδεσης.","session_missing":"Δεν ήταν δυνατή η ολοκλήρωση του αιτήματος επαλήθευσης ταυτότητας. Δοκιμάστε ξανά μετά το κλείσιμο όλων των ανοιχτών παραθύρων διαλόγου","hrd.not_matching_email":"Παρακαλώ χρησιμοποιήστε το εταιρικό σας email για να συνδεθείτε.","too_many_requests":"Λυπόμαστε. Υπάρχουν πολλά αιτήματα τώρα. Επαναλάβετε τη φόρτωση της σελίδας και προσπαθήστε ξανά. Αν αυτό παραμείνει, δοκιμάστε ξανά αργότερα.","invalid_captcha":"Λύστε την ερώτηση πρόκλησης για να επιβεβαιώσετε ότι δεν είστε ρομπότ.","invalid_recaptcha":"Επιλέξτε το πλαίσιο ελέγχου για να επαληθεύσετε ότι δεν είστε ρομπότ."},"passwordless":{"bad.email":"Το email δεν είναι έγκυρο","bad.phone_number":"Ο αριθμός τηλεφώνου δεν είναι έγκυρος","lock.fallback":"Λυπούμαστε, κάτι πήγε στραβά"},"signUp":{"invalid_password":"Ο κωδικός δεν είναι έγκυρος.","lock.fallback":"Λυπούμαστε, κάτι πήγε στραβά κατά την προσπάθεια εγγραφής.","password_dictionary_error":"Ο κωδικός πρόσβασης είναι πολύ συνηθισμένος.","password_leaked":"Αυτός ο συνδυασμός διαπιστευτηρίων εντοπίστηκε σε μια δημόσια παραβίαση δεδομένων σε άλλο ιστότοπο. Προτού δημιουργηθεί ο λογαριασμός σας, χρησιμοποιήστε διαφορετικό κωδικό πρόσβασης για να τον διατηρήσετε ασφαλή.","password_no_user_info_error":"Ο κωδικός πρόσβασης βασίζεται σε προσωπικά σας στοιχεία.","password_strength_error":"Ο κωδικός πρόσβασης είναι πολύ προβλέψιμος.","user_exists":"Ο λογαριασμός υπάρχει ήδη.","username_exists":"Το όνομα χρήστη υπάρχει ήδη.","social_signup_needs_terms_acception":"Αποδεχτείτε τους Όρους Παροχής Υπηρεσιών παρακάτω για να συνεχίσετε."}},"success":{"logIn":"Ευχαριστούμε που συνδεθήκατε.","forgotPassword":"Μόλις σας στείλαμε email για να αντικαταστήσετε τον κωδικό σας.","magicLink":"Σας στείλαμε ένα σύνδεσμο για να συνδεθείτε στο
%s.","signUp":"Σας ευχαριστούμε για την εγγραφή σας."},"blankErrorHint":"","blankPasswordErrorHint":"Δεν μπορεί μείνει κενό","blankEmailErrorHint":"Δεν μπορεί μείνει κενό","blankUsernameErrorHint":"Δεν μπορεί μείνει κενό","blankCaptchaErrorHint":"Δεν μπορεί μείνει κενό","codeInputPlaceholder":"ο κωδικός σας","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"ή","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"ή","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"Συνδεθείτε με τα εταιρικά σας στοιχεία.","enterpriseActiveLoginInstructions":"Παρακαλώ εισάγετε τα εταιρικά σας στοιχεία στη διεύθυνση %s.","failedLabel":"Απέτυχε!","forgotPasswordTitle":"Αντικατάσταση κωδικού","forgotPasswordAction":"Ξεχάσατε τον κωδικό πρόσβασης;","forgotPasswordInstructions":"Παρακαλώ εισάγετε το email σας και θα σας στείλουμε email για να αντικαταστήσετε τον κωδικό σας.","forgotPasswordSubmitLabel":"Αποστολή email","invalidErrorHint":"","invalidPasswordErrorHint":"Μη έγκυρο","invalidEmailErrorHint":"Μη έγκυρο","invalidUsernameErrorHint":"Μη έγκυρο","lastLoginInstructions":"Η τελευταία συνδεσή σας έγινε με","loginAtLabel":"Συνδεθείτε στο %s","loginLabel":"Σύνδεση","loginSubmitLabel":"Σύνδεση","loginWithLabel":"Συνδεθείτε με %s","notYourAccountAction":"Δεν είναι ο λογαριασμός σας;","passwordInputPlaceholder":"ο κωδικός σας","passwordStrength":{"containsAtLeast":"Πρέπει να περιέχει τουλάχιστον %d τύπους από τις ακόλουθες %d κατηγορίες χαρακτήρων:","identicalChars":"Δεν επιτρέπονται περισσότεροι από %d ίδιοι χαρακτήρες συνεχόμενα (π.χ. δεν επιτρέπεται %s)","nonEmpty":"Απαιτείται συμπλήρωση","numbers":"Αριθμοί (0-9)","lengthAtLeast":"Τουλάχιστον %d χαρακτήρες","lowerCase":"Μικρά Λατινικά (a-z)","shouldContain":"Πρέπει να περιέχει:","specialCharacters":"Σύμβολα (π.χ. !@#$%^&*)","upperCase":"Kεφαλαία Λατινικά (A-Z)"},"passwordlessEmailAlternativeInstructions":"Διαφορετικά, για να συνδεθείτε εισάγετε το email σας
ή δημιουργήστε έναν λογαριασμό","passwordlessEmailCodeInstructions":"Εmail με τον κωδικό πρόσβασης έχει σταλεί στο %s.","passwordlessEmailInstructions":"Για να συνδεθείτε εισάγετε το email σας
ή δημιουργήστε έναν λογαριασμό","passwordlessSMSAlternativeInstructions":"Διαφορετικά, για να συνδεθείτε εισάγετε τοv αριθμό κινητού σας
ή δημιουργήστε έναν λογαριασμό","passwordlessSMSCodeInstructions":"Ένα SMS με τον κωδικό σας έχει σταλθεί στο: %s.","passwordlessSMSInstructions":"Για να συνδεθείτε εισάγετε τοv αριθμό κινητού σας
ή δημιουργήστε έναν λογαριασμό","phoneNumberInputPlaceholder":"το κινητό σας","resendCodeAction":"Δεν λάβατε τον κωδικό;","resendLabel":"Αποστολή ξανά","resendingLabel":"Επαναποστολή...","retryLabel":"Δοκιμάστε ξανά","sentLabel":"Αποστάλθηκε!","showPassword":"Εμφάνιση κωδικού","signUpTitle":"Εγγραφή","signUpLabel":"Εγγραφή","signUpSubmitLabel":"Εγγραφή","signUpTerms":"Με την εγγραφή σας, συμφωνείτε με τους όρους παροχής υπηρεσιών και την πολιτική απορρήτου.","signUpWithLabel":"Εγγραφείτε με %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Ενεργοποίηση ενιαίας σύνδεσης","submitLabel":"Υποβολή","unrecoverableError":"Κάτι πήγε στραβά.
Επικοινωνήστε με την τεχνική υποστήριξη.","usernameFormatErrorHint":"Επιλέξτε: 1) αριθμούς 2) από τα γράμματα %d-%d 3) από τους ακόλουθους χαρακτήρες: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"όνομα χρήστη","usernameOrEmailInputPlaceholder":"όνομα χρήστη ή email","title":"Auth0","welcome":"Kαλωσήρθατε %s!","windowsAuthInstructions":"Είστε συνδεδεμένοι από το εταιρικό σας δίκτυο …","windowsAuthLabel":"Windows Authentication","mfaInputPlaceholder":"Κωδικός","mfaLoginTitle":"Ταυτοποίηση σε δύο βήματα","mfaLoginInstructions":"Εισάγετε τον κωδικό επαλήθευσης που δημιούργησε η εφαρμογή του κινητού σας.","mfaSubmitLabel":"Σύνδεση","mfaCodeErrorHint":"Χρησιμοποιήστε %d αριθμούς","captchaCodeInputPlaceholder":"Εισαγάγετε τον κωδικό που φαίνεται παραπάνω","captchaMathInputPlaceholder":"Λύστε τον τύπο που φαίνεται παραπάνω"}); \ No newline at end of file diff --git a/build/en.js b/build/en.js deleted file mode 100644 index c38afa970..000000000 --- a/build/en.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("en", {"error":{"forgotPassword":{"too_many_requests":"You have reached the limit on password change attempts. Please wait before trying again.","lock.fallback":"We're sorry, something went wrong when requesting the password change.","enterprise_email":"Your email's domain is part of an Enterprise identity provider. To reset your password, please see your security administrator."},"login":{"blocked_user":"The user is blocked.","invalid_user_password":"Wrong credentials.","invalid_captcha":"Solve the challenge question to verify you are not a robot.","invalid_recaptcha":"Select the checkbox to verify you are not a robot.","lock.fallback":"We're sorry, something went wrong when attempting to log in.","lock.invalid_code":"Wrong code.","lock.invalid_email_password":"Wrong email or password.","lock.invalid_username_password":"Wrong username or password.","lock.network":"We could not reach the server. Please check your connection and try again.","lock.popup_closed":"Popup window closed. Try again.","lock.unauthorized":"Permissions were not granted. Try again.","lock.mfa_registration_required":"Multifactor authentication is required but your device is not enrolled. Please enroll it before moving on.","lock.mfa_invalid_code":"Wrong code. Please try again.","password_change_required":"You need to update your password because this is the first time you are logging in, or because your password has expired.","password_leaked":"We have detected a potential security issue with this account. To protect your account, we have blocked this login. An email was sent with instruction on how to unblock your account.","too_many_attempts":"Your account has been blocked after multiple consecutive login attempts.","too_many_requests":"We're sorry. There are too many requests right now. Please reload the page and try again. If this persists, please try again later.","session_missing":"Couldn't complete your authentication request. Please try again after closing all open dialogs","hrd.not_matching_email":"Please use your corporate email to login."},"passwordless":{"bad.email":"The email is invalid","bad.phone_number":"The phone number is invalid","lock.fallback":"We're sorry, something went wrong"},"signUp":{"invalid_password":"Password is invalid.","lock.fallback":"We're sorry, something went wrong when attempting to sign up.","password_dictionary_error":"Password is too common.","password_leaked":"This combination of credentials was detected in a public data breach on another website. Before your account is created, please use a different password to keep it secure.","password_no_user_info_error":"Password is based on user information.","password_strength_error":"Password is too weak.","user_exists":"The user already exists.","username_exists":"The username already exists.","social_signup_needs_terms_acception":"Please agree to the Terms of Service below to continue."}},"success":{"logIn":"Thanks for logging in.","forgotPassword":"We've just sent you an email to reset your password.","magicLink":"We sent you a link to log in
to %s.","signUp":"Thanks for signing up."},"blankErrorHint":"","blankPasswordErrorHint":"Password can't be blank","blankEmailErrorHint":"Email can't be blank","blankUsernameErrorHint":"Username can't be blank","blankCaptchaErrorHint":"Can't be blank","codeInputPlaceholder":"your code","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"or","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"or","emailInputPlaceholder":"yours@example.com","captchaCodeInputPlaceholder":"Enter the code shown above","captchaMathInputPlaceholder":"Solve the formula shown above","enterpriseLoginIntructions":"Login with your corporate credentials.","enterpriseActiveLoginInstructions":"Please enter your corporate credentials at %s.","failedLabel":"Failed!","forgotPasswordTitle":"Reset your password","forgotPasswordAction":"Don't remember your password?","forgotPasswordInstructions":"Please enter your email address. We will send you an email to reset your password.","forgotPasswordSubmitLabel":"Send email","invalidErrorHint":"","invalidPasswordErrorHint":"Password is invalid","invalidEmailErrorHint":"Email is invalid","invalidUsernameErrorHint":"Username is invalid","lastLoginInstructions":"Last time you logged in with","loginAtLabel":"Log in at %s","loginLabel":"Log In","loginSubmitLabel":"Log In","loginWithLabel":"Sign in with %s","notYourAccountAction":"Not your account?","passwordInputPlaceholder":"your password","passwordStrength":{"containsAtLeast":"Contain at least %d of the following %d types of characters:","identicalChars":"No more than %d identical characters in a row (e.g., \"%s\" not allowed)","nonEmpty":"Non-empty password required","numbers":"Numbers (i.e. 0-9)","lengthAtLeast":"At least %d characters in length","lowerCase":"Lower case letters (a-z)","shouldContain":"Should contain:","specialCharacters":"Special characters (e.g. !@#$%^&*)","upperCase":"Upper case letters (A-Z)"},"passwordlessEmailAlternativeInstructions":"Otherwise, enter your email to sign in
or create an account","passwordlessEmailCodeInstructions":"An email with the code has been sent to %s.","passwordlessEmailInstructions":"Enter your email to sign in
or create an account","passwordlessSMSAlternativeInstructions":"Otherwise, enter your phone to sign in
or create an account","passwordlessSMSCodeInstructions":"An SMS with the code has been sent to %s.","passwordlessSMSInstructions":"Enter your phone to sign in
or create an account","phoneNumberInputPlaceholder":"your phone number","resendCodeAction":"Did not get the code?","resendLabel":"Resend","resendingLabel":"Resending...","retryLabel":"Retry","sentLabel":"Sent!","showPassword":"Show password","signUpTitle":"Sign Up","signUpLabel":"Sign Up","signUpSubmitLabel":"Sign Up","signUpTerms":"By signing up, you agree to our terms of service and privacy policy.","signUpWithLabel":"Sign up with %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Single Sign-On enabled","submitLabel":"Submit","unrecoverableError":"Something went wrong.
Please contact technical support.","usernameFormatErrorHint":"Use %d-%d letters, numbers and the following characters: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"your username","usernameOrEmailInputPlaceholder":"username/email","title":"Auth0","welcome":"Welcome %s!","windowsAuthInstructions":"You are connected from your corporate network…","windowsAuthLabel":"Windows Authentication","mfaInputPlaceholder":"Code","mfaLoginTitle":"2-Step Verification","mfaLoginInstructions":"Please enter the verification code generated by your mobile application.","mfaSubmitLabel":"Log In","mfaCodeErrorHint":"Use %d numbers"}); \ No newline at end of file diff --git a/build/es.js b/build/es.js deleted file mode 100644 index bfdb84d39..000000000 --- a/build/es.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("es", {"error":{"forgotPassword":{"too_many_requests":"Se ha alcanzado el límite de intentos para restablecer su contraseña. Por favor, aguarde unos minutos.","lock.fallback":"Ocurrió un error al restablecer su contraseña.","enterprise_email":"El dominio de su correo electrónico es parte de un proveedor de identidad Enterprise. Para restablecer su contraseña, consulte a su administrador de seguridad."},"login":{"blocked_user":"El usuario se encuentra bloqueado.","invalid_user_password":"Credenciales inválidas.","invalid_captcha":"El texto ingresado es incorrecto.
Por favor, vuelva a intentarlo.","lock.fallback":"Ocurrió un error al iniciar sesión.","lock.invalid_code":"Código inválido.","lock.invalid_email_password":"Correo y contraseña inválidos.","lock.invalid_username_password":"Usuario y contraseña inválidos.","lock.network":"Ocurrió un error de red. Por favor, verifique su conexión.","lock.popup_closed":"Se ha cerrado la ventana emergente.","lock.unauthorized":"Acceso denegado. Por favor, intente nuevamente.","password_change_required":"Debe actualizar su contraseña porque es la primera vez que ingresa o porque la contraseña está vencida.","password_leaked":"Este intento ha sido bloqueado ya que usted utilizó la misma contraseña para registrarse en otra aplicación que tuvo una filtración reciente de datos. Hemos enviado un email con instrucciones para desbloquear la cuenta.","too_many_attempts":"Su cuenta ha sido bloqueada luego de múltiples intentos de inicio de sesión consecutivos.","lock.mfa_registration_required":"Se requiere autenticación de dos factores. Por favor registre su dispositivo antes de continuar.","lock.mfa_invalid_code":"Código incorrecto. Por favor vuelva a intentarlo.","session_missing":"No es posible completar el proceso de Autenticación. Por favor, cierre todas las ventanas e intente nuevamente.","hrd.not_matching_email":"Por favor, use sus credenciales corporativas.","too_many_requests":"Lo sentimos. Hay demasiados peticiones en estos momentos. Por favor, recargue la página y vuelva a intentarlo. Si persiste, por favor vuelva a intentarlo más tarde.","invalid_recaptcha":"Seleccione la casilla de verificación para verificar que no es un robot."},"passwordless":{"bad.email":"Correo inválido","bad.phone_number":"Teléfono inválido","lock.fallback":"Ocurrió un error durante el envío"},"signUp":{"invalid_password":"La contraseña es inválida.","lock.fallback":"Ocurrió un error durante el registro.","password_dictionary_error":"La constraseña es muy común.","password_leaked":"Esta combinación de credenciales se detectó en una violación de datos públicos en otro sitio web. Antes de crear su cuenta, utilice una contraseña diferente para mantenerla segura.","password_no_user_info_error":"La constraseña es similar a los datos del usuario.","password_strength_error":"La contraseña es muy débil.","user_exists":"El usuario ya existe.","username_exists":"El nombre de usuario se encuentra en uso.","social_signup_needs_terms_acception":"Acepte los Términos de Servicio para continuar."}},"success":{"logIn":"Sesión iniciada con éxito.","forgotPassword":"Hemos enviado un correo para completar el restablecimiento de su contraseña.","magicLink":"Hemos enviado un correo para inciar sesión a
to %s.","signUp":"Registro completado exitosamente."},"blankErrorHint":"","blankPasswordErrorHint":"Requerido","blankEmailErrorHint":"Requerido","blankUsernameErrorHint":"Requerido","blankCaptchaErrorHint":"Requerido","codeInputPlaceholder":"código","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"o","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"o","emailInputPlaceholder":"correo@ejemplo.com","captchaCodeInputPlaceholder":"Introduzca el código de arriba","captchaMathInputPlaceholder":"Resuelva la formula de arriba","enterpriseLoginIntructions":"Inicie sesión con sus credenciales corporativas.","enterpriseActiveLoginInstructions":"Ingrese las credenciales corporativas de %s.","failedLabel":"Error!","forgotPasswordTitle":"Restablecer contraseña","forgotPasswordAction":"¿Olvidó su contraseña?","forgotPasswordInstructions":"Por favor ingrese su dirección de correo. Le enviaremos las instrucciones para restablecer su contraseña.","forgotPasswordSubmitLabel":"Enviar email","invalidErrorHint":"","invalidPasswordErrorHint":"Inválido","invalidEmailErrorHint":"Inválido","invalidUsernameErrorHint":"Inválido","lastLoginInstructions":"La última vez inició sesión con","loginAtLabel":"Iniciar en %s","loginLabel":"Iniciar sesión","loginSubmitLabel":"Iniciar sesión","loginWithLabel":"Iniciar con %s","notYourAccountAction":"¿No es su cuenta?","passwordInputPlaceholder":"su contraseña","passwordStrength":{"containsAtLeast":"Contener al menos %d de los siguientes %d tipos de caracteres:","identicalChars":"No más de %d caracteres idénticos juntos (ej., \"%s\" no está permitido)","nonEmpty":"Se requiere una contraseña no vacía","numbers":"Números (ej. 0-9)","lengthAtLeast":"Como mínimo de %d caracteres de longitud","lowerCase":"Letras minúsculas (a-z)","shouldContain":"Debe contener:","specialCharacters":"Caracteres especiales (ej. !@#$%^&*)","upperCase":"Letras mayúsculas (A-Z)"},"passwordlessEmailAlternativeInstructions":"También puede ingresar su email
para iniciar sesión o registrarse","passwordlessEmailCodeInstructions":"Se ha enviado un correo con el código a %s.","passwordlessEmailInstructions":"Ingrese su email para iniciar sesión
o registrarse","passwordlessSMSAlternativeInstructions":"También puede ingresar su teléfono
para iniciar sesión o registrarse","passwordlessSMSCodeInstructions":"Se ha enviado un SMS con el código a %s.","passwordlessSMSInstructions":"Ingrese su teléfono para iniciar sesión
o registrarse","phoneNumberInputPlaceholder":"número de teléfono","resendCodeAction":"¿No recibió el código?","resendLabel":"Reenviar","resendingLabel":"Reenviando...","retryLabel":"Reintentar","sentLabel":"Enviado!","signUpTitle":"Registrarse","signUpLabel":"Registrarse","signUpSubmitLabel":"Registrarse","signUpWithLabel":"Registrarse con %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Inicio de sesión único activado","submitLabel":"Enviar","unrecoverableError":"Ocurrió un error.
Por favor, contacte a nuestro soporte técnico.","usernameFormatErrorHint":"Use %d-%d letras, números y los siguientes caracteres: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"su usuario","usernameOrEmailInputPlaceholder":"usuario/correo electrónico","title":"Auth0","welcome":"Bienvenido %s!","windowsAuthInstructions":"Usted se encuentra conectado desde su red corporativa…","windowsAuthLabel":"Autenticación de Windows","mfaInputPlaceholder":"Código","mfaLoginTitle":"Segundo Factor","mfaLoginInstructions":"Por favor ingrese el código de verificación generado por su aplicación móvil.","mfaSubmitLabel":"Enviar","mfaCodeErrorHint":"%d números","showPassword":"Mostrar contraseña","signUpTerms":"Al suscribirse usted acepta nuestros términos de servicio y política de privacidad."}); \ No newline at end of file diff --git a/build/et.js b/build/et.js deleted file mode 100644 index f15e8da76..000000000 --- a/build/et.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("et", {"error":{"forgotPassword":{"too_many_requests":"Sa oled liiga palju kordi üritanud salasõna vahetada. Palun oota enne uuesti proovimist.","lock.fallback":"Vabandame, midagi läks salasõna vahetamise sooviga valesti.","enterprise_email":"Teie e-posti domeen kuulub ettevõtte identiteedi pakkuja juurde. Parooli lähtestamiseks lugege oma turvameedet."},"login":{"blocked_user":"Kasutaja on blokeeritud.","invalid_user_password":"Sellise infoga kasutaja puudub.","lock.fallback":"Vabandame, midagi läks sisse logides valesti.","lock.invalid_code":"Vale kood.","lock.invalid_email_password":"Vale e-mail või salasõna.","lock.invalid_username_password":"Vale salasõna või parool.","lock.network":"Ei saanud serveriga ühendust. Palun kontrolli oma internetiühendust.","lock.popup_closed":"Hüpikaken suleti. Palun proovi uuesti.","lock.unauthorized":"Õiguseid ei antud. Palun proovi uuesti.","lock.mfa_registration_required":"Mitmetasemeline autentimine on nõutud aga sinu seade ei ole nimekirja lisatud. Palun lisa ta nimekirja.","lock.mfa_invalid_code":"Vale kood. Palun proovi uuesti.","password_change_required":"Parooli vahetamine on kohustuslik, sest sa logid sisse esimest korda või parool on aegunud.","password_leaked":"Me oleme avastanud võimaliku turvariski selle kontoga. Sinu konto kaitsmises oleme selle sisselogimise blokeerinud. Sulle saadeti e-mail kuidas blokeering maha võtta.","too_many_attempts":"Sinu konto blokeeriti peale mitut ebaõnnestunud sisselogimiskatset.","session_missing":"Sisselogimine ebaõnnestus. Palun proovi uuesti peale kõigi akende sulgemist.","hrd.not_matching_email":"Palun kasuta oma ettevõtte e-maili sisselogimiseks.","too_many_requests":"Vabandame. Praegu on päringuid liiga palju. Laadige leht uuesti ja proovige uuesti. Kui see jätkub, proovige hiljem uuesti.","invalid_captcha":"Lahendage väljakutseküsimus ja veenduge, et te pole robot.","invalid_recaptcha":"Valige märkeruut, et kontrollida, kas te pole robot."},"passwordless":{"bad.email":"Vigane e-mail","bad.phone_number":"Vigane telefoninumber","lock.fallback":"Vabandame, midagi läks valesti."},"signUp":{"invalid_password":"Parool on vigane.","lock.fallback":"Vabandame, registreerumisel läks midagi valesti.","password_dictionary_error":"Parool on liiga tavaline.","password_leaked":"See volikirjade kombinatsioon tuvastati teisel veebisaidil avalike andmetega seotud rikkumises. Enne konto loomist kasutage selle turvalisuse tagamiseks teist parooli.","password_no_user_info_error":"Parool sisaldab kasutajainfot.","password_strength_error":"Parool on liiga nõrk.","user_exists":"Selline kasutaja on juba olemas.","username_exists":"Selline kasutajanimi on juba olemas.","social_signup_needs_terms_acception":"Jätkamiseks nõustuge allolevate teenusetingimustega."}},"success":{"logIn":"Täname, et sisse logisid.","forgotPassword":"Me saatsime sulle e-maili, et oma salasõna taastada.","magicLink":"Me saatsime sisselogimise lingi aadressile:
%s.","signUp":"Täname, et registreerusid."},"blankErrorHint":"","blankPasswordErrorHint":"Ei või olla tühi","blankEmailErrorHint":"Ei või olla tühi","blankUsernameErrorHint":"Ei või olla tühi","blankCaptchaErrorHint":"Ei või olla tühi","codeInputPlaceholder":"sinu kood","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"või","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"või","emailInputPlaceholder":"sinuemail@example.com","enterpriseLoginIntructions":"Logi sisse kasutades ettevõtte infot","enterpriseActiveLoginInstructions":"Palun sisesta oma ettevõtte sisselogimisinfo %s.","failedLabel":"Ebaõnnestus!","forgotPasswordTitle":"Taasta oma salasõna","forgotPasswordAction":"Ei mäleta salasõna?","forgotPasswordInstructions":"Palun sisesta oma e-maili aadress. Me saadame sulle e-maili millega saad oma salasõna taastada.","forgotPasswordSubmitLabel":"Saada e-mail","invalidErrorHint":"","invalidPasswordErrorHint":"Vigane","invalidEmailErrorHint":"Vigane","invalidUsernameErrorHint":"Vigane","lastLoginInstructions":"Viimati logisid sisse kasutades:","loginAtLabel":"Logi sisse %s","loginLabel":"Logi sisse","loginSubmitLabel":"Logi sisse","loginWithLabel":"Logi sisse kasutades %s","notYourAccountAction":"Pole sinu konto?","passwordInputPlaceholder":"sinu salasõna","passwordStrength":{"containsAtLeast":"Sisaldab vähemalt %d järgnevat %d sümbolit:","identicalChars":"Ei tohi sisaldada rohkem kui %d sama järjestikulist sümbolit (näiteks, \"%s\" ei ole lubatud)","nonEmpty":"Parool ei või olla tühi","numbers":"Numbrid (näiteks 0-9)","lengthAtLeast":"Vähemalt %d tähemärki pikk","lowerCase":"Väiketähed (a-z)","shouldContain":"Peaks sisaldama:","specialCharacters":"Erilised tähemärgid (näiteks !@#$%^&*)","upperCase":"Suured tähed (A-Z)"},"passwordlessEmailAlternativeInstructions":"Muidu, sisesta oma e-mail et sisse logida
või konto luua","passwordlessEmailCodeInstructions":"Koodiga e-mail saadeti aadressile: %s.","passwordlessEmailInstructions":"Sisesta oma e-mail, et sisse logida
või konto luua","passwordlessSMSAlternativeInstructions":"Muidu, sisesta oma telefoninumber, et sisse logida
või konto luua","passwordlessSMSCodeInstructions":"SMS koodiga saadeti numbrile: %s.","passwordlessSMSInstructions":"Sisesta oma telefoninumber, et sisse logida
või konto luua","phoneNumberInputPlaceholder":"sinu telefoninumber","resendCodeAction":"Kas said koodi kätte?","resendLabel":"Saada uuesti","resendingLabel":"Saadan...","retryLabel":"Proovi uuesti","sentLabel":"Saadetud!","showPassword":"Näita salasõna","signUpTitle":"Registreeri","signUpLabel":"Registreeri","signUpSubmitLabel":"Registreeri","signUpWithLabel":"Registreeri kasutades %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Ühine sisselogimine on sees","submitLabel":"Saada","unrecoverableError":"Midagi läks valesti.
Palun võta ühendust tehnilise toega.","usernameFormatErrorHint":"Kasuta %d-%d tähti, numbreid ja järgnevaid sümboleid: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"sinu kasutajanimi","usernameOrEmailInputPlaceholder":"kasutajanimi/e-mail","title":"Auth0","welcome":"Tere Tulemast %s!","windowsAuthInstructions":"Sa oled ühendatud ettevõtte võrgust…","windowsAuthLabel":"Windowsi autentimine","mfaInputPlaceholder":"Kood","mfaLoginTitle":"2-Sammuline Tuvastamine","mfaLoginInstructions":"Palun sisesta tuvastuskood mille genereeris su mobiilirakendus","mfaSubmitLabel":"Logi sisse","mfaCodeErrorHint":"Kasuta %d numbrit","signUpTerms":"Registreerudes nõustute meie teenusetingimustega ja privaatsuspoliitikaga.","captchaCodeInputPlaceholder":"Sisestage ülal näidatud kood","captchaMathInputPlaceholder":"Lahendage ülaltoodud valem"}); \ No newline at end of file diff --git a/build/fa.js b/build/fa.js deleted file mode 100644 index b615e4241..000000000 --- a/build/fa.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("fa", {"error":{"forgotPassword":{"too_many_requests":"بیش از دفعات مجاز تغییر رمز عبور تلاش نموده اید ، لطفا کمی صبر کنید و دوباره تلاش کنید","lock.fallback":"متاسفیم ، مشکلی در تغییر رمز عبور رخ داده است.","enterprise_email":"دامنه ایمیل شما بخشی از ارائهدهنده هویت سازمانی است. برای بازنشانی گذرواژه خود، لطفا به مدیر امنیتی خود مراجعه کنید."},"login":{"blocked_user":"کاربر مسدود شده است.","invalid_user_password":"اطلاعات وارد شده صحیح نیست.","lock.fallback":"متاسفیم ، خطایی در ورود به سیستم رخ داده است.","lock.invalid_code":"کد اشتباه است.","lock.invalid_email_password":"ایمیل یا رمز عبور اشتباه است.","lock.invalid_username_password":"نام کاربری یا رمز عبور اشتباه است.","lock.network":"خطا در اتصال به سرور ، لطفا اتصال اینترنت تان را بررسی کنید.","lock.popup_closed":"پنجره بسته شده است ، لطفا دوباره تلاش کنید.","lock.unauthorized":"مجوزی اعطا نشده است ، دوباره تلاش کنید.","lock.mfa_registration_required":"احراز هویت چند مرحله ای لازم است ، اما دستگاه شما ثبت نشده است، لطفا دستگاه خود را ثبت کنید.","lock.mfa_invalid_code":"کد اشتباه است ، دوباره تلاش کنید","password_change_required":"لازم است تا رمزعبور خود را تغییر دهید ، احتملا برای اولین بار است که وارد سیستم میشوید یا رمز عبور شما منقضی شده است","password_leaked":"اکانت شما به دلیل لو رفتن در وبسایت دیگری مسدود شده است ، ما مراحل رفع بلاک را برایتان ایمیل خواهیم کرد.","too_many_attempts":"اکانت شما به دلیل تلاش های نا موفق متعدد متوالی مسدود شده است","session_missing":"می تواند درخواست احراز هویت خود را کامل کند. لطفا پس از بستن همه پنجره باز دوباره امتحان کنید","hrd.not_matching_email":"لطفا، استفاده از ایمیل شرکت خود را برای ورود.","too_many_requests":"ما متاسفیم. در حال حاضر درخواست های زیادی وجود دارد لطفا صفحه را مجددا بارگذاری کنید و دوباره تلاش کنید. اگر این کار ادامه دارد، لطفا بعدا دوباره امتحان کنید.","invalid_captcha":"حل مسئله چالش برای تأیید اینکه ربات نیستید.","invalid_recaptcha":"کادر تأیید را انتخاب کنید تا تأیید کنید که روبات نیستید."},"passwordless":{"bad.email":"ایمیل نا معتبر است.","bad.phone_number":"شماره تلفن نامعتبر است.","lock.fallback":"متاسفیم ، خطایی رخ داده است."},"signUp":{"invalid_password":"رمز نامعتبر است.","lock.fallback":"متاسفیم ، خطایی در ثبت نام رخ داده است.","password_dictionary_error":"رمز عبور انتخابی بسیار رایج است","password_leaked":"این ترکیب از اعتبارنامه ها در یک نقض داده های عمومی در وب سایت دیگری شناسایی شد. قبل از ایجاد حساب کاربری خود، لطفاً از رمز عبور دیگری برای ایمن نگه داشتن آن استفاده کنید.","password_no_user_info_error":"رمز عبور با اطلاعات کاربر مشابه است","password_strength_error":"رمز عبور بسیار ضعیف است.","user_exists":"کاربر قبلا ثبت شده است.","username_exists":"نام کاربری قبلا ثبت شده است.","social_signup_needs_terms_acception":"لطفاً برای ادامه با شرایط خدمات زیر موافقت کنید."}},"success":{"logIn":"با تشکر از ورود شما.","forgotPassword":"ایمیلی برای تغییر رمز عبور برایتان ارسال کردیم.","magicLink":"لینک ورود را برایتان ایمیل کردیم
به %s.","signUp":"از ثبت نام شما متشکریم."},"blankErrorHint":"","blankPasswordErrorHint":"کادر نباید خالی باشد","blankEmailErrorHint":"کادر نباید خالی باشد","blankUsernameErrorHint":"کادر نباید خالی باشد","blankCaptchaErrorHint":"کادر نباید خالی باشد","codeInputPlaceholder":"کد شما","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"یا","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"یا","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"ورد با استفاده از اطلاعات سازمانی.","enterpriseActiveLoginInstructions":"اطلاعات سازمانی تان را در %s وارد کنید.","failedLabel":"ناموفق!","forgotPasswordAction":"رمز عبورتان را فراموش کردید؟","forgotPasswordInstructions":"ایمیل خود را وارد کنید ، ما ایمیلی برای ریست کردن رمز عبور برایتان ارسال خواهیم کرد.","forgotPasswordSubmitLabel":"ارسال ایمیل","invalidErrorHint":"","invalidPasswordErrorHint":"نا معتبر","invalidEmailErrorHint":"نا معتبر","invalidUsernameErrorHint":"نا معتبر","lastLoginInstructions":"آخرین باری که وارد شده اید با","loginAtLabel":"ورود در %s","loginLabel":"ورود","loginSubmitLabel":"ورود","loginWithLabel":"ورود با %s","notYourAccountAction":"حساب شما نیست؟","passwordInputPlaceholder":"رمز عبور","passwordStrength":{"containsAtLeast":"باید حداقل شامل %d حرف از %d حروف های زیر باشد:","identicalChars":"بیش از %d حرف یکسان پشت سر هم مجاز نیست (برای مثال, \"%s\" مجاز نیست)","nonEmpty":"رمز عبور باید خالی نباشد.","numbers":"اعداد (0-9)","lengthAtLeast":"حداقل %d حرف باید باشد","lowerCase":"حروف کوچک (a-z)","shouldContain":"باید شامل :","specialCharacters":"کاراکتر های اختصاصی (مثل !@#$%^&*)","upperCase":"حروف بزرگ (A-Z)"},"passwordlessEmailAlternativeInstructions":"در غیر اینصورت ایمیل خود را وارد کنید
یا حسابی ایجاد کنید","passwordlessEmailCodeInstructions":"ایمیلی شامل کد به %s ارسال شد.","passwordlessEmailInstructions":"برای ورود ایمیلتان را وارد کنید
یا حسابی ایجاد کنید","passwordlessSMSAlternativeInstructions":"در غیر اینصورت شماره موبایل خود را وارد کنید
یا حسابی ایجاد کنید","passwordlessSMSCodeInstructions":"پیامکی شامل کد برایتان به شماره %s ارسال شد.","passwordlessSMSInstructions":"شماره موبایل خود را وارد کنید
یا حسابی ایجاد کنید","phoneNumberInputPlaceholder":"شماره موبایل","resendCodeAction":"آیا کد را دریافت نموده اید?","resendLabel":"ارسال مجدد","resendingLabel":"در حال ارسال مجدد...","retryLabel":"تلاش مجدد","sentLabel":"ارسال شد!","signUpLabel":"ثبت نام","signUpSubmitLabel":"ثبت نام","signUpWithLabel":"ورود با %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"ورود منفرد فعال است","submitLabel":"ثبت","unrecoverableError":"خطایی رخ داده است.
با پشتیبانی تماس بگیرید.","usernameFormatErrorHint":"%d-%d حروف، اعداد و کاراکترهای زیر را استفاده کنید: \"_\"، \".\"، \"+\"، \"-\"","usernameInputPlaceholder":"نام کاربری شما","usernameOrEmailInputPlaceholder":"نام کاربری/ایمیل","title":"Auth0","welcome":"%s خوش آمدید!","windowsAuthInstructions":"شما از شبکه شرکتتان متصل شده اید…","windowsAuthLabel":"احراز هویت ویندوز","mfaInputPlaceholder":"کد","mfaLoginTitle":"احراز هویت دو مرحله ای","mfaLoginInstructions":"کد تاییدی که توسط اپلیکیشن موبایل تولید شده است را وارد کنید.","mfaSubmitLabel":"ورود","mfaCodeErrorHint":"از %d عدد استفاده کنید","forgotPasswordTitle":"تنظیم مجدد کلمه ورود","signUpTitle":"ثبت نام","showPassword":"نمایش رمز ورود","signUpTerms":"با ثبت نام در سایت، شرایط خدمات و سیاست حفظ حریم خصوصی ما را می پذیرید.","captchaCodeInputPlaceholder":"کد نشان داده شده در بالا را وارد کنید","captchaMathInputPlaceholder":"فرمول نشان داده شده در بالا را حل کنید"}); \ No newline at end of file diff --git a/build/fi.js b/build/fi.js deleted file mode 100644 index 57706765e..000000000 --- a/build/fi.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("fi", {"error":{"forgotPassword":{"too_many_requests":"Olet yrittänyt vaihtaa salasanaa liian monta kertaa. Ole hyvä ja odota ennen kuin yrität uudelleen.","lock.fallback":"Olemme pahoillamme, mutta jotain meni vikaan kun salasanaa yritettiin vaihtaa.","enterprise_email":"Sähköpostisi verkkotunnus on osa yrityspalvelun tarjoajaa. Voit palauttaa salasanasi turva-järjestelmänvalvojalta."},"login":{"blocked_user":"Käyttäjä on estetty.","invalid_user_password":"Väärät tunnukset.","lock.fallback":"Olemme pahoillamme, mutta jotain meni vikaan kirjautumisen yhteydessä.","lock.invalid_code":"Väärä koodi.","lock.invalid_email_password":"Väärä sähköposti tai salasana.","lock.invalid_username_password":"Väärä käyttäjätunnus tai salasana.","lock.network":"Emme saa yhteyttä palvelimelle. Ole hyvä ja tarkista yhteys ja yritä sitten uudelleen.","lock.popup_closed":"Popup ikkuna suljettu. Yritä uudelleen.","lock.unauthorized":"Käyttöoikeuksia ei myönnetty. Yritä uudelleen.","lock.mfa_registration_required":"Monivaiheinen tunnistautuminen vaaditaan, mutta laitettasi ei ole kirjattu. Ole hyvä ja kirjaa laitteesi ennen kuin jatkat.","lock.mfa_invalid_code":"Väärä koodi. Ole hyvä ja yritä uudelleen.","password_change_required":"Sinun tulee päivittää salasanasi, koska tämä on ensimmäinen kerta kun olet kirjautumassa tai koska salasanasi on vanhentunut.","password_leaked":"Olemme havainneet mahdollisen tietoturvaongelman tämän tunnuksen kanssa. Suojellaksemme tunnustasi, olemme estäneet tämän kirjautumisen. Sinulle lähetettiin sähköposti, jossa on ohjeet, kuinka saat avattua tunnuksen.","too_many_attempts":"Tunnuksesi on suljettu useiden peräkkäisten kirjautumisyritysten jälkeen.","session_missing":"Kirjautumispyyntöäsi ei voitu suorittaa loppuun. Ole hyvä ja yritä uudelleen suljettuasi kaikki avoimet ikkunat","hrd.not_matching_email":"Ole hyvä ja käytä yrityssähköpostiasi kirjautumiseen.","too_many_requests":"Olemme pahoillamme. Nyt on liian monta pyyntöä. Lataa sivu uudelleen ja yritä uudelleen. Jos tämä jatkuu, yritä myöhemmin uudelleen.","invalid_captcha":"Ratkaise haastekysymys varmistaaksesi, että et ole robotti.","invalid_recaptcha":"Valitse valintaruutu varmistaaksesi, että et ole robotti."},"passwordless":{"bad.email":"Sähköposti ei kelpaa","bad.phone_number":"Puhelinnumero ei kelpaa","lock.fallback":"Olemme pahoillamme, jotain meni vikaan"},"signUp":{"invalid_password":"Salasana ei kelpaa.","lock.fallback":"Olemme pahoillamme, mutta jotain meni vikaan kirjautumisen yhteydessä.","password_dictionary_error":"Salasana on liian yleinen.","password_leaked":"Tämä valtuustietojen yhdistelmä havaittiin julkisessa tietoturvaloukkauksessa toisella verkkosivustolla. Ennen kuin luot tilisi, käytä toista salasanaa sen suojaamiseksi.","password_no_user_info_error":"Salasana perustuu käyttäjätietoihin.","password_strength_error":"Salasana on liian heikko.","user_exists":"Käyttäjä on jo olemassa.","username_exists":"Käyttäjätunnus on jo olemassa.","social_signup_needs_terms_acception":"Ole hyvä ja hyväksy alla olevat käyttöehdot jatkaaksesi"}},"success":{"logIn":"Kiitos kirjautumisesta.","forgotPassword":"Olemme juuri lähettäneet sinulle sähköpostin salasanan alustusta varten.","magicLink":"Lähetimme sinulle linkin, josta pääset kirjautumaan
%s.","signUp":"Kiitos rekisteröitymisestä."},"blankErrorHint":"","blankPasswordErrorHint":"Ei voi olla tyhjä","blankEmailErrorHint":"Ei voi olla tyhjä","blankUsernameErrorHint":"Ei voi olla tyhjä","blankCaptchaErrorHint":"Ei voi olla tyhjä","codeInputPlaceholder":"koodisi","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"tai","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"tai","emailInputPlaceholder":"sinun@esimerkki.fi","enterpriseLoginIntructions":"Kirjaudu yritystunnuksillasi.","enterpriseActiveLoginInstructions":"Ole hyvä ja anna yritystunnuksesi osoitteessa %s.","failedLabel":"Epäonnistui!","forgotPasswordTitle":"Alusta salasanasi","forgotPasswordAction":"Etkö muista salasanaasi?","forgotPasswordInstructions":"Ole hyvä ja anna sähköpostiosoitteesi. Lähetämme sinulle sähköpostin salasanan alustusta varten.","forgotPasswordSubmitLabel":"Lähetä sähköposti","invalidErrorHint":"","invalidPasswordErrorHint":"Epäkelpo","invalidEmailErrorHint":"Epäkelpo","invalidUsernameErrorHint":"Epäkelpo","lastLoginInstructions":"Viimeksi kirjauduit","loginAtLabel":"Kirjauduttu %s","loginLabel":"Kirjaudu","loginSubmitLabel":"Kirjaudu","loginWithLabel":"Kirjaudu %s","notYourAccountAction":"Ei käyttäjätunnuksesi?","passwordInputPlaceholder":"salasanasi","passwordStrength":{"containsAtLeast":"Sisältää vähintään %d seuraavista %d tyyppisistä kirjaimista:","identicalChars":"Maksimissaan %d samaa kirjainta peräkkäin (esim., \"%s\" ei ole sallittu)","nonEmpty":"Salasana ei saa olla tyhjä","numbers":"Numeroita (ts. 0-9)","lengthAtLeast":"Pituus vähintään %d kirjainta","lowerCase":"Pieniä kirjaimia (a-z)","shouldContain":"Tulee sisältää:","specialCharacters":"Erikoismerkkejä (esim. !@#$%^&*)","upperCase":"Isoja kirjaimia (A-Z)"},"passwordlessEmailAlternativeInstructions":"Muussa tapauksessa, syötä sähköpostisi kirjautuaksesi
tai luo käyttäjätunnus","passwordlessEmailCodeInstructions":"Koodin sisältävä sähköposti on lähetetty osoitteeseen %s.","passwordlessEmailInstructions":"Syötä sähköpostisi kirjautuaksesi
tai luo käyttäjätunnus","passwordlessSMSAlternativeInstructions":"Muussa tapauksessa, syötä puhelinnumerosi kirjautuaksesi
tai luo käyttäjätunnus","passwordlessSMSCodeInstructions":"Koodin sisältävä tekstiviesti on lähetetty numeroon %s.","passwordlessSMSInstructions":"Syötä puhelinnumerosi kirjautuaksesi
tai luo käyttäjätunnus","phoneNumberInputPlaceholder":"puhelinnumerosi","resendCodeAction":"Etkö saanut koodia?","resendLabel":"Lähetä uudelleen","resendingLabel":"Lähettää uudelleen...","retryLabel":"Yritä uudelleen","sentLabel":"Lähetetty!","signUpTitle":"Rekisteröidy","signUpLabel":"Rekisteröidy","signUpSubmitLabel":"Rekisteröidy","signUpWithLabel":"Rekisteröidy %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Kertakirjautuminen toiminnassa","submitLabel":"Lähetä","unrecoverableError":"Jotain meni vikaan.
Ole hyvä ja ota yhteyttä tekniseen tukeen.","usernameFormatErrorHint":"Käytä %d-%d kirjaimia, numeroita ja seuraavia merkkejä: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"käyttäjätunnuksesi","usernameOrEmailInputPlaceholder":"käyttäjätunnus/sähköposti","title":"Auth0","welcome":"Tervetuloa %s!","windowsAuthInstructions":"Olet yhteydessä yritysverkostasi…","windowsAuthLabel":"Windows kirjautuminen","mfaInputPlaceholder":"Koodi","mfaLoginTitle":"Kaksivaiheinen tarkistus","mfaLoginInstructions":"Ole hyvä ja anna mobiilisovelluksesi luoma tarkistuskoodi.","mfaSubmitLabel":"Kirjaudu","mfaCodeErrorHint":"Käytä %d numeroa","showPassword":"Näytä salasana","signUpTerms":"Ilmoittautumalla hyväksyt käyttöehdot ja tietosuojakäytännöt.","captchaCodeInputPlaceholder":"Kirjoita yllä oleva koodi","captchaMathInputPlaceholder":"Ratkaise yllä esitetty kaava"}); \ No newline at end of file diff --git a/build/fr.js b/build/fr.js deleted file mode 100644 index 85d716f25..000000000 --- a/build/fr.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("fr", {"error":{"forgotPassword":{"too_many_requests":"Vous avez atteint la limite de tentatives de changement de mot de passe. Veuillez patienter avant de recommencer.","lock.fallback":"Nous sommes désolés, un problème est survenu lors de la demande de changement de mot de passe.","enterprise_email":"Le domaine de votre messagerie fait partie d'un fournisseur d'identité d'entreprise. Pour réinitialiser votre mot de passe, veuillez contacter votre administrateur de sécurité."},"login":{"blocked_user":"L’utilisateur est bloqué.","invalid_user_password":"Mauvais identifiants.","lock.fallback":"Nous sommes désolés, un problème est survenu lors de la tentative de connexion.","lock.invalid_code":"Mauvais code.","lock.invalid_email_password":"Mauvaise adresse de messagerie ou mot de passe.","lock.invalid_username_password":"Mauvais nom d’utilisateur ou mot de passe.","lock.network":"Nous ne pouvons pas joindre le serveur. Vérifiez votre connexion et réessayez.","lock.popup_closed":"La fenêtre popup a été fermée. Veuillez réessayer.","lock.unauthorized":"Les permissions n’ont pas été accordées. Veuillez réessayer.","password_change_required":"Vous devez mettre à jour votre mot de passe, soit parce qu’il s’agit de votre première connexion, soit parce que ce dernier a expiré.","password_leaked":"Cette connexion a été bloquée parce que votre mot de passe a été utilisé sur un autre site web. Nous vous avons envoyé un courriel avec des instructions pour la débloquer.","too_many_attempts":"Votre compte a été bloqué à la suite de trop nombreuses tentatives de connexion consécutives.","lock.mfa_registration_required":"l'authentification multifactorielle est nécessaire, mais votre appareil n'est pas inscrit. Veuillez vous inscrire avant de passer.","lock.mfa_invalid_code":"Mauvais code. Veuillez réessayer.","session_missing":"Impossible de terminer votre demande d'authentification. Veuillez essayer de nouveau après la fermeture de tous les dialogues ouverts","hrd.not_matching_email":"Veuillez utiliser votre messagerie d'entreprise pour vous connecter.","too_many_requests":"Nous sommes désolés. Il y a trop de demandes en ce moment. Veuillez recharger la page et réessayer. Si cela persiste, veuillez réessayer ultérieurement.","invalid_captcha":"Résolvez la question du défi pour vérifier que vous n'êtes pas un robot.","invalid_recaptcha":"Cochez la case pour vérifier que vous n'êtes pas un robot."},"passwordless":{"bad.email":"L’adresse de messagerie n’est pas valide","bad.phone_number":"Le numéro de téléphone n’est pas valide","lock.fallback":"Nous sommes désolés, un problème est survenu"},"signUp":{"invalid_password":"Le mot de passe n’est pas valide.","lock.fallback":"Nous sommes désolés, un problème est survenu lors de la tentative d’inscription.","password_dictionary_error":"Le mot de passe est trop commun.","password_leaked":"Cette combinaison d'informations d'identification a été détectée lors d'une violation de données publiques sur un autre site Web. Avant la création de votre compte, veuillez utiliser un mot de passe différent pour le garder en sécurité.","password_no_user_info_error":"Le mot de passe est basé sur des informations utilisateur.","password_strength_error":"La force du mot de passe est trop faible.","user_exists":"Cet utilisateur existe déjà.","username_exists":"Ce nom d’utilisateur existe déjà.","social_signup_needs_terms_acception":"Veuillez accepter les conditions d'utilisation ci-dessous pour continuer."}},"success":{"logIn":"Merci de vous être connecté.","forgotPassword":"Nous venons de vous envoyer un courriel pour réinitialiser votre mot de passe.","magicLink":"Nous vous avons envoyé un lien pour vous connecter
à %s.","signUp":"Merci de vous être inscrit."},"blankErrorHint":"","blankPasswordErrorHint":"Ne peut être vide","blankEmailErrorHint":"Ne peut être vide","blankUsernameErrorHint":"Ne peut être vide","blankCaptchaErrorHint":"Ne peut être vide","codeInputPlaceholder":"votre code","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"ou","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"ou","emailInputPlaceholder":"votreadresse@exemple.com","enterpriseLoginIntructions":"Connectez-vous avec vos identifiants d’entreprise.","enterpriseActiveLoginInstructions":"Veuillez entrer les identifiants de connexion de votre entreprise %s.","failedLabel":"A échoué !","forgotPasswordAction":"Mot de passe oublié ?","forgotPasswordInstructions":"Veuillez entrer votre adresse de messagerie. Nous vous enverrons un courriel pour réinitialiser votre mot de passe.","forgotPasswordSubmitLabel":"Envoyer le courriel","invalidErrorHint":"","invalidPasswordErrorHint":"Invalide","invalidEmailErrorHint":"Invalide","invalidUsernameErrorHint":"Invalide","lastLoginInstructions":"Dernière connexion avec","loginAtLabel":"Connexion à %s","loginLabel":"Connexion","loginSubmitLabel":"Connexion","loginWithLabel":"Se connecter avec %s","notYourAccountAction":"Ceci n’est pas votre compte ?","passwordInputPlaceholder":"Votre mot de passe","passwordStrength":{"containsAtLeast":"Doit contenir au moins %d des %d types de caractères :","identicalChars":"Pas plus de %d caractères identiques dans une ligne (par ex., « %s » n’est pas autorisé)","nonEmpty":"Mot de passe non vide requis","numbers":"Chiffres (i.e. 0-9)","lengthAtLeast":"Au moins %d caractères","lowerCase":"Lettres minuscules (a-z)","shouldContain":"Doit contenir :","specialCharacters":"Caractères spéciaux (par ex. !@#$%^&*)","upperCase":"Lettres majuscules (A-Z)"},"passwordlessEmailAlternativeInstructions":"Sinon entrez votre adresse de messagerie pour vous connecter
ou créez un compte","passwordlessEmailCodeInstructions":"Un courriel avec le code a été envoyé à %s.","passwordlessEmailInstructions":"Entrez votre adresse de messagerie pour vous connecter
ou créez un compte","passwordlessSMSAlternativeInstructions":"Sinon saisissez votre numéro de téléphone pour vous connecter
ou créez un compte","passwordlessSMSCodeInstructions":"Un SMS avec le code a été envoyé à %s.","passwordlessSMSInstructions":"Saisissez votre numéro de téléphone pour vous connecter
ou créez un compte","phoneNumberInputPlaceholder":"votre numéro de téléphone","resendCodeAction":"Vous n’avez pas reçu le code ?","resendLabel":"Envoyer une nouvelle fois","resendingLabel":"Nouvel envoi en cours…","retryLabel":"Réessayer","sentLabel":"Envoyé !","signUpLabel":"Inscription","signUpSubmitLabel":"Inscription","signUpWithLabel":"S’inscrire avec %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Authentification unique activée","submitLabel":"Envoyer","unrecoverableError":"Un problème est survenu.
Veuillez contacter l’assistance technique.","usernameFormatErrorHint":"Utilisez %d-%d lettres, chiffres et les caractères suivants: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"votre nom d’utilisateur","usernameOrEmailInputPlaceholder":"nom d’utilisateur/adresse de messagerie","title":"Auth0","welcome":"Bienvenue %s !","windowsAuthInstructions":"Vous êtes connecté depuis votre réseau d’entreprise...","windowsAuthLabel":"Authentification Windows","forgotPasswordTitle":"réinitialisez votre mot de passe","signUpTitle":"S'inscrire","mfaInputPlaceholder":"Code","mfaLoginTitle":"2-Step Vérification","mfaLoginInstructions":"Veuillez entrer le code de vérification généré par votre application mobile.","mfaSubmitLabel":"S'identifier","mfaCodeErrorHint":"Utilisez des numéros %d","showPassword":"Montrer le mot de passe","signUpTerms":"En vous inscrivant, vous acceptez nos conditions d'utilisation et notre politique de confidentialité.","captchaCodeInputPlaceholder":"Entrez le code ci-dessus","captchaMathInputPlaceholder":"Résolvez la formule ci-dessus"}); \ No newline at end of file diff --git a/build/he.js b/build/he.js deleted file mode 100644 index 3bb2e3bab..000000000 --- a/build/he.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("he", {"error":{"forgotPassword":{"too_many_requests":"הגעת למגבלת הנסיונות לשינוי סיסמא. אנא המתן לפני הנסיון הבא.","lock.fallback":"אנחנו מתנצלים, משהו השתבש בעת הנסיון לשינוי הסיסמא","enterprise_email":"הדומיין של כתובת המייל שלך הוא חלק מספק זהויות ארגוני. על מנת לאפס את הסיסמא שלך, אנא צור קשר עם אחראי האבטחה בארגון."},"login":{"blocked_user":"המשתמש חסום.","invalid_user_password":"פרטים לא נכונים.","lock.fallback":"אנחנו מתנצלים, משהו השתבש בעת הנסיון להיכנס.","lock.invalid_code":"קוד שגוי.","lock.invalid_email_password":"כתובת מייל או סיסמא שגויים.","lock.invalid_username_password":"שם משתמש או סיסמא שגויים.","lock.network":"לא ניתן ליצור קשר עם השרת. אנא בדוק את החיבור שלך ונסה שנית.","lock.popup_closed":"חלון קופץ נסגר. אנא נסה שנית.","lock.unauthorized":"הרשאות לא ניתנו. אנא נסה שנית.","lock.mfa_registration_required":"הזדהות דו-שלבית דרושה אבל המכשיר שברשותך לא רשום. אנא הרשם לפני שתמשיך.","lock.mfa_invalid_code":"קוד שגוי, אנא נסה שנית.","password_change_required":"עליך לעדכן את הסיסמא שלך מכיוון שזו הפעם הראשונה שאתה נכנס למערכת, או מכיוון שפג תוקף הסיסמא שברשותך.","password_leaked":"בחשבון זה זוהתה בעיית אבטחה פוטנציאלית. על מנת להגן על החשבון שלך, ניסיון הכניסה הנוכחי נחסם. נשלח מייל המכיל הוראות לפתיחת החשבון לשימוש.","too_many_attempts":"חשבונך נחסם לאחר ניסיונות מרובים ורצופים לכניסה.","session_missing":"לא ניתן להשלים את ניסיון ההזדהות. אנא נסה שנית לאחר סגירת כל החלונות הפתוחים.","hrd.not_matching_email":"על מנת להיכנס, אנא השתמש בחשבון המייל הארגוני שלך","too_many_requests":"אנחנו מצטערים. יש יותר מדי בקשות כרגע. טען מחדש את הדף ונסה שוב. אם פעולה זו נמשכת, נסה שוב מאוחר יותר.","invalid_captcha":"לפתור את שאלת האתגר כדי לוודא שאתה לא רובוט.","invalid_recaptcha":"בחר בתיבת הסימון כדי לוודא שאתה לא רובוט."},"passwordless":{"bad.email":"כתובת המייל אינה תקינה","bad.phone_number":"מספר הטלפון לא תקין","lock.fallback":"אנו מתנצלים, משהו השתבש"},"signUp":{"invalid_password":"סיסמא לא תקינה.","lock.fallback":"אנו מתנצלים, משהו השתבש במהלך ניסיון ההרשמה.","password_dictionary_error":"סיסמא שכיחה מדי.","password_leaked":"שילוב זה של אישורים זוהה בפרצת מידע ציבורית באתר אחר. לפני יצירת החשבון שלך, אנא השתמש בסיסמה אחרת כדי לשמור על אבטחתו.","password_no_user_info_error":"סיסמא מבוססת על פרטי המשתמש.","password_strength_error":"סיסמא חלשה מדי.","user_exists":"משתמש קיים במערכת.","username_exists":"שם המשתמש קיים במערכת.","social_signup_needs_terms_acception":"אנא הסכים לתנאי השירות שלהלן כדי להמשיך."}},"success":{"logIn":"תודה שנכנסת.","forgotPassword":"מייל לשחזור סיסמא נשלח.","magicLink":"מייל עם קישור לכניסה נשלח אל
%s","signUp":"תודה על ההרשמה."},"blankErrorHint":"","blankPasswordErrorHint":"לא יכול להישאר ריק","blankEmailErrorHint":"לא יכול להישאר ריק","blankUsernameErrorHint":"לא יכול להישאר ריק","blankCaptchaErrorHint":"לא יכול להישאר ריק","codeInputPlaceholder":"הקוד שלך","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"או","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"או","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"כניסה עם פרטי המשתמש הארגוניים שלך.","enterpriseActiveLoginInstructions":"אנא הכנס את פרטי המשתמש הארגוניים שלך ב%s.","failedLabel":"נכשל!","forgotPasswordTitle":"אפס את הסיסמא שלך","forgotPasswordAction":"לא זוכר את הסיסמא שלך?","forgotPasswordInstructions":"אנא הכנס את כתובת המייל שלך. אנחנו נשלח לך מייל לשחזור סיסמא.","forgotPasswordSubmitLabel":"שלח מייל","invalidErrorHint":"","invalidPasswordErrorHint":"לא תקין","invalidEmailErrorHint":"לא תקין","invalidUsernameErrorHint":"לא תקין","lastLoginInstructions":"פעם אחרונה שנכנסת עם","loginAtLabel":"%sכניסה ב","loginLabel":"כניסה","loginSubmitLabel":"כניסה","loginWithLabel":"%s כניסה עם","notYourAccountAction":"לא החשבון שלך?","passwordInputPlaceholder":"הסיסמא שלך","passwordStrength":{"containsAtLeast":"מכיל לפחות %d מתוך %d סוגי התווים הבאים","identicalChars":"לא יותר מ %d תווים זהים ברצף (לדוגמא, \"%s\" לא תקין)","nonEmpty":"דרושה סיסמא לא ריקה","numbers":"מספרים (0-9)","lengthAtLeast":"באורך %d תווים לפחות","lowerCase":"אותיות קטנות (a-z)","shouldContain":"צריך להכיל:","specialCharacters":"תווים מיוחדים (לדוגמא: !@#$%^&*)","upperCase":"אותיות גדולות (A-Z)"},"passwordlessEmailAlternativeInstructions":"או הכנס את כתובת המייל שלך לכניסה
או צור חשבון","passwordlessEmailCodeInstructions":"מייל עם הקוד נשלח אל %s.","passwordlessEmailInstructions":"הכנס כתובת מייל לכניסה
או צור חשבון","passwordlessSMSAlternativeInstructions":"או הכנס את מספר הטלפון שלך לכניסה
או צור חשבון","passwordlessSMSCodeInstructions":"מסרון עם הקוד נשלח
אל %s.","passwordlessSMSInstructions":"הכנס את מספר הטלפון שלך לכניסה
או צור חשבון","phoneNumberInputPlaceholder":"מספר הטלפון שלך","resendCodeAction":"לא קיבלת את הקוד?","resendLabel":"שלח שוב","resendingLabel":"שולח שוב...","retryLabel":"נסה שוב","sentLabel":"נשלח!","showPassword":"הצג סיסמא","signUpTitle":"הרשמה","signUpLabel":"הרשמה","signUpSubmitLabel":"הרשמה","signUpTerms":"בכך שאתה מתחבר למערכת, אתה מסכים לתנאי השימוש שלנו ולמדיניות הפרטיות.","signUpWithLabel":"הרשמה עם %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"הזדהות חד-פעמית (SSO) מאופשרת","submitLabel":"שלח","unrecoverableError":"משהו השתבש.
אנא צור קשר עם התמיכה הטכנית.","usernameFormatErrorHint":"השתמש ב%d-%d אותיות, ספרות והתווים הבאים: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"שם המשתמש שלך","usernameOrEmailInputPlaceholder":"שם משתמש/כתובת מייל","title":"Auth0","welcome":"ברוך הבא %s!","windowsAuthInstructions":"…אתה מחובר מהרשת הארגונית שלך","windowsAuthLabel":"אימות של ווינדוס","mfaInputPlaceholder":"קוד","mfaLoginTitle":"אימות דו-שלבי","mfaLoginInstructions":"אנא הזן את קוד האימות שנוצר על ידי האפליקציה שלך.","mfaSubmitLabel":"כניסה","mfaCodeErrorHint":"השתמש ב%d ספרות","captchaCodeInputPlaceholder":"הזן את הקוד שמוצג למעלה","captchaMathInputPlaceholder":"לפתור את הנוסחה שמוצגת למעלה"}); \ No newline at end of file diff --git a/build/hr.js b/build/hr.js deleted file mode 100644 index 3be306753..000000000 --- a/build/hr.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("hr", {"error":{"forgotPassword":{"too_many_requests":"Dosegnuli ste najveći dopušteni broj pokušaja promjene lozinke. Pričekajte prije nego što pokušate ponovno.","lock.fallback":"Ispričavamo se, ali nešto je pošlo po zlu tijekom obrade zahtjeva za promjenom lozinke.","enterprise_email":"Domena vaše e-pošte dio je davatelja identiteta tvrtke. Da biste poništili zaporku, obratite se svom administratoru za sigurnost."},"login":{"blocked_user":"Korisnik je blokiran.","invalid_user_password":"Pogrešni pristupni podatci.","lock.fallback":"Ispričavamo se, ali nešto je pošlo po zlu tijekom pokušaja prijave.","lock.invalid_code":"Pogrešan kôd.","lock.invalid_email_password":"Pogrešna adresa elektroničke pošte ili lozinka.","lock.invalid_username_password":"Pogrešno korisničko ime ili lozinka.","lock.network":"Nismo uspjeli dosegnuti poslužitelj. Provjerite svoju vezu i pokušajte ponovno.","lock.popup_closed":"Zatvoren skočni prozor. Pokušajte ponovno.","lock.unauthorized":"Dozvole nisu odobrene. Pokušajte ponovno.","lock.mfa_registration_required":"Potrebna je višečimbenična provjera autentičnosti, ali vaš uređaj nije prijavljen. Prijavite ga prije nastavka.","lock.mfa_invalid_code":"Pogrešan kôd. Pokušajte ponovno.","password_change_required":"Trebate ažurirati svoju lozinku jer se prijavljujete prvi put ili jer je vaša lozinka istekla.","password_leaked":"Otkrili smo mogući sigurnosni problem s ovim računom. Kako biste zaštitili svoj račun, blokirali smo ovu prijavu. Poslali smo vam elektroničku poruku s uputama za odblokiravanje vašeg računa.","too_many_attempts":"Vaš je račun blokiran uslijed višestrukih uzastopnih pokušaja prijave.","session_missing":"Zahtjev za provjerom autentičnosti nije se mogao završiti. Pokušajte ponovno nakon što zatvorite sve otvorene dijaloške okvire.","hrd.not_matching_email":"Upotrijebite svoju poslovnu adresu elektroničke pošte kako biste se prijavili.","too_many_requests":"Žao nam je. Trenutno ima previše zahtjeva. Ponovo učitajte stranicu i pokušajte ponovno. Ako se to nastavi, pokušajte ponovno kasnije.","invalid_captcha":"Riješite izazovno pitanje kako biste provjerili da niste robot.","invalid_recaptcha":"Označite potvrdni okvir da biste potvrdili da niste robot."},"passwordless":{"bad.email":"Neispravna adresa elektroničke pošte","bad.phone_number":"Neispravan broj telefona","lock.fallback":"Ispričavamo se, ali nešto je pošlo po zlu."},"signUp":{"invalid_password":"Lozinka je neispravna.","lock.fallback":"Ispričavamo se, ali nešto je pošlo po zlu tijekom pokušaja registracije.","password_dictionary_error":"Lozinka je uobičajena.","password_leaked":"Ova kombinacija vjerodajnica otkrivena je u povredi javnih podataka na drugoj web stranici. Prije izrade vašeg računa upotrijebite drugu zaporku kako biste ga zaštitili.","password_no_user_info_error":"Lozinka se zasniva na korisničkim podatcima.","password_strength_error":"Lozinka je preslaba.","user_exists":"Korisnik već postoji.","username_exists":"Korisničko ime već postoji.","social_signup_needs_terms_acception":"Prihvatite niže navedene Uvjete pružanja usluge."}},"success":{"logIn":"Zahvaljujemo na prijavi.","forgotPassword":"Upravo smo vam poslali elektroničku poruku kako biste vratili izvornu lozinku.","magicLink":"Poslali smo vam poveznicu za prijavu
u %s.","signUp":"Hvala vam na registraciji."},"blankErrorHint":"","blankPasswordErrorHint":"Ne može biti prazno","blankEmailErrorHint":"Ne može biti prazno","blankUsernameErrorHint":"Ne može biti prazno","blankCaptchaErrorHint":"Ne može biti prazno","codeInputPlaceholder":"vaš kôd","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"ili","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"ili","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"Prijavite se svojim poslovnim pristupnim podatcima.","enterpriseActiveLoginInstructions":"Upišite svoje poslovne pristupne podatke na mrežnom mjestu %s.","failedLabel":"Neuspješno!","forgotPasswordTitle":"Vraćanje vaše izvorne lozinke","forgotPasswordAction":"Zaboravili ste lozinku?","forgotPasswordInstructions":"Upišite svoju adresu elektroničke pošte. Poslat ćemo vam elektroničku poruku kako biste vratili izvornu lozinku.","forgotPasswordSubmitLabel":"Pošalji elektroničku poruku","invalidErrorHint":"","invalidPasswordErrorHint":"Nevaljano","invalidEmailErrorHint":"Nevaljano","invalidUsernameErrorHint":"Nevaljano","lastLoginInstructions":"Vrijeme zadnje prijave s","loginAtLabel":"Prijavite se na mrežnom mjestu %s","loginLabel":"Prijava","loginSubmitLabel":"Prijava","loginWithLabel":"Prijava s %s","notYourAccountAction":"Nije vaš račun?","passwordInputPlaceholder":"vaša lozinka","passwordStrength":{"containsAtLeast":"Sadržava barem jedan %d od sljedećih %d znakova:","identicalChars":"Ne više od %d jednakih znakova u redu (npr., „%s” nije dopušten)","nonEmpty":"Potrebno je upisati lozinku","numbers":"Brojevi (npr. 0 – 9)","lengthAtLeast":"Barem %d znaka/ova","lowerCase":"Mala slova (a – z)","shouldContain":"Treba sadržavati:","specialCharacters":"Posebne znakove (npr. !@#$%^&*)","upperCase":"Velika slova (A – Z)"},"passwordlessEmailAlternativeInstructions":"U protivnom, upišite svoju adresu elektroničke pošte kako biste se prijavili
ili napravite račun.","passwordlessEmailCodeInstructions":"Elektronička poruka s kôdom poslana vam je na %s.","passwordlessEmailInstructions":"Upišite svoju adresu elektroničke pošte kako biste se prijavili
ili napravite račun.","passwordlessSMSAlternativeInstructions":"U protivnom, upišite svoj broj telefona kako biste se prijavili
ili napravite račun.","passwordlessSMSCodeInstructions":"Tekstualna poruka s kôdom poslana vam je na %s.","passwordlessSMSInstructions":"Upišite svoj broj telefona kako biste se prijavili
ili napravite račun.","phoneNumberInputPlaceholder":"vaš broj telefona","resendCodeAction":"Niste dobili kôd?","resendLabel":"Ponovno pošalji","resendingLabel":"Ponovno slanje u tijeku...","retryLabel":"Pokušaj ponovo","sentLabel":"Poslano!","showPassword":"Prikaži lozinku","signUpTitle":"Registracija","signUpLabel":"Registracija","signUpSubmitLabel":"Registracija","signUpWithLabel":"Registracija s %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Omogućena jednostruka prijava","submitLabel":"Pošalji","unrecoverableError":"Nešto je pošlo po zlu.
Obratite se tehničkoj podršci.","usernameFormatErrorHint":"Upotrijebite %d-%d slova, brojeve i sljedeće znakove: „_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"vaše korisničko ime","usernameOrEmailInputPlaceholder":"korisničko ime/adresa elektroničke pošte","title":"Auth0","welcome":"Dobro došli %s!","windowsAuthInstructions":"Povezani ste preko poslovne mreže…","windowsAuthLabel":"Provjera autentičnosti Windowsa","mfaInputPlaceholder":"Kôd","mfaLoginTitle":"Provjera autentičnosti u dva koraka","mfaLoginInstructions":"Upišite kôd za provjeru autentičnosti koji je stvorila vaša mobilna aplikacija.","mfaSubmitLabel":"Prijava","mfaCodeErrorHint":"Upotrijebi %d brojeve","signUpTerms":"Prijavljivanjem prihvaćate naše uvjete pružanja usluge i pravila o privatnosti.","captchaCodeInputPlaceholder":"Unesite kod prikazan gore","captchaMathInputPlaceholder":"Riješite gore prikazanu formulu"}); \ No newline at end of file diff --git a/build/hu.js b/build/hu.js deleted file mode 100644 index 058551d77..000000000 --- a/build/hu.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("hu", {"error":{"forgotPassword":{"too_many_requests":"Elérted a jelszóváltoztatási probálkozások engedélyezett számát. Kérjük, várj egy kicsit mielőtt újrapróbálnád!","lock.fallback":"Sajnáljuk, valami hiba történt a jelszóváltoztatás során.","enterprise_email":"Az e-mail címed egy vállalati azonosítószolgáltatáshoz tartozik. A jelszó visszaállításában a biztonsági adminisztrátor tud segítséget nyújtani."},"login":{"blocked_user":"A felhasználó le van tiltva.","invalid_user_password":"Hibás azonosító adatok.","lock.fallback":"Sajnáljuk, valami hiba történt a bejelentkezés során.","lock.invalid_code":"Hibás PIN.","lock.invalid_email_password":"Hibás e-mail cím vagy jelszó.","lock.invalid_username_password":"Hibás felhasználónév vagy jelszó.","lock.network":"A szerver nem elérhető. Kérjük, ellenőrizd az internetkapcsolatot, és próbáld újra!","lock.popup_closed":"A felugró ablak be lett zárva. Próbáld újra!","lock.unauthorized":"Engedély megtagadva. Próbáld újra!","lock.mfa_registration_required":"Többlépcsős azonosítás szükséges, de a készüléked nincs regisztrálva. Kérjük regisztráld, mielőtt továbblépsz.","lock.mfa_invalid_code":"Rossz kód. Kérjük próbáld újra.","password_change_required":"Meg kell változtatnod a jelszavadat, mert vagy most lépsz be először, vagy lejárt.","password_leaked":"Az azonosítót letiltottuk, mert a hozzá tartozó jelszó egy másik honlapon nyilvánosságra került. Küldtünk neked egy e-mailt a helyreállítás menetéről.","too_many_attempts":"Túl sok sikertelen bejelentkezési kísérletet észleltünk, ezért az azonosítód letiltásra került.","too_many_requests":"Sajnáljuk, de a rendszerünk jelenleg túlterhelt. Kérjük, töltsd újra az oldalt és próbáld meg ismét. Ha továbbra is fennáll a probléma, próbálkozz később.","session_missing":"Nem sikerült végigvinni az azonosítást. Kérjük, zárd be a párbeszédablakokat és próbáld újra.","hrd.not_matching_email":"Kérjük, használd a céges e-mail címed a bejelentkezéshez.","invalid_captcha":"Oldja meg a kihívást, és ellenőrizze, hogy nem robot.","invalid_recaptcha":"Jelölje be a jelölőnégyzetet annak ellenőrzéséhez, hogy nem robot vagy-e."},"passwordless":{"bad.email":"Érvénytelen e-mail cím.","bad.phone_number":"Érvénytelen telefonszám.","lock.fallback":"Sajnáljuk, valami hiba történt."},"signUp":{"invalid_password":"Érvénytelen jelszó.","lock.fallback":"Sajnáljuk, valami hiba történt a regisztráció során.","password_dictionary_error":"Túl gyakori jelszó.","password_leaked":"A hitelesítő adatoknak ezt a kombinációját egy másik webhelyen történt nyilvános adatvédelmi incidens során észlelték. Mielőtt létrehozná fiókját, a biztonság megőrzése érdekében használjon másik jelszót.","password_no_user_info_error":"A jelszó a felhasználói adatokra támaszkodik.","password_strength_error":"Túl gyenge jelszó.","user_exists":"A felhasználó már létezik.","username_exists":"A felhasználónév már foglalt.","social_signup_needs_terms_acception":"Kérjük, fogadd el a felhasználási feltételeket és az adatkezelési tájékoztatót a folytatáshoz."}},"success":{"logIn":"Köszönjük, hogy bejelentkeztél.","forgotPassword":"Küldtünk neked egy e-mailt a jelszó visszaállításának menetéről.","magicLink":"Küldtünk neked egy bejelentkezési linket
a %s honlaphoz.","signUp":"Köszönjük, hogy regisztráltál."},"blankErrorHint":"","blankPasswordErrorHint":"Nem lehet üres.","blankEmailErrorHint":"Nem lehet üres.","blankUsernameErrorHint":"Nem lehet üres.","blankCaptchaErrorHint":"Nem lehet üres.","codeInputPlaceholder":"PIN","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"vagy","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"vagy","emailInputPlaceholder":"emailcim@example.com","enterpriseLoginIntructions":"Bejelentkezés céges azonosítóval.","enterpriseActiveLoginInstructions":"Kérjük, add meg a céges azonosítódat a %s honlapon.","failedLabel":"Sikertelen!","forgotPasswordTitle":"Állítsd vissza a jelszavad","forgotPasswordAction":"Nem emlékszel a jelszavadra?","forgotPasswordInstructions":"Kérjük, add meg az e-mail címedet! Küldünk neked egy e-mailt a jelszó helyreállításának menetéről.","forgotPasswordSubmitLabel":"E-mail küldése","invalidErrorHint":"","invalidPasswordErrorHint":"Érvénytelen","invalidEmailErrorHint":"Érvénytelen","invalidUsernameErrorHint":"Érvénytelen","lastLoginInstructions":"Utolsó bejelentkezés","loginAtLabel":"Bejelentkezés ideje: %s","loginLabel":"Belépés","loginSubmitLabel":"Belépés","loginWithLabel":"%s belépés","notYourAccountAction":"Nem a te fiókod?","passwordInputPlaceholder":"jelszó","passwordStrength":{"containsAtLeast":"Legalább %d karaktertípust tartalmaz a következő %d csoportból:","identicalChars":"Legfeljebb %d azonos karakter szerepelhet egymás után (pl. \"%s\" nem engedélyezett)","nonEmpty":"A jelszó nem lehet üres","numbers":"Számok (0-9)","lengthAtLeast":"Legalább %d karakter hosszú","lowerCase":"Kisbetűk (a-z)","shouldContain":"Tartalmazzon:","specialCharacters":"Különleges karakterek (pl. !@#$%^&*)","upperCase":"Nagybetűk (A-Z)"},"passwordlessEmailAlternativeInstructions":"Vagy bejelentkezéshez vagy regisztrációhoz
add meg az e-mail címed.","passwordlessEmailCodeInstructions":"A PIN-t e-mailben elküldtük a %s címre.","passwordlessEmailInstructions":"Bejelentkezéshez vagy regisztrációhoz
add meg az e-mail címed.","passwordlessSMSAlternativeInstructions":"Vagy bejelentkezéshez vagy regisztrációhoz
add meg a telefonszámod.","passwordlessSMSCodeInstructions":"A PIN-t SMS-ben elküldtük a %s számra.","passwordlessSMSInstructions":"Bejelentkezéshez vagy regisztrációhoz
add meg a telefonszámod.","phoneNumberInputPlaceholder":"telefonszámod","resendCodeAction":"Nem kaptad meg a PIN-t?","resendLabel":"Újraküldés","resendingLabel":"Újraküldés...","retryLabel":"Próbáld újra","sentLabel":"Elküldve!","showPassword":"Mutasd a jelszót","signUpTitle":"Regisztrálj","signUpLabel":"Regisztráció","signUpSubmitLabel":"Regisztráció","signUpTerms":"A regisztrációval elfogadom a felhasználási feltételeket és az adatkezelési tájékoztatót.","signUpWithLabel":"%s regisztráció","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"SSO engedélyezve","submitLabel":"Mehet","unrecoverableError":"Valami hiba történt.
Kérlek, lépj kapcsolatba az ügyfélszolgálattal.","usernameFormatErrorHint":"Használj %d-%d betűt, számot és a következő karaktereket: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"felhasználóneved","usernameOrEmailInputPlaceholder":"felhasználónév/e-mail","title":"Auth0","welcome":"Üdv %s!","windowsAuthInstructions":"Céges hálózatról kapcsolódsz…","windowsAuthLabel":"Windows bejelentkezés","mfaInputPlaceholder":"Kód","mfaLoginTitle":"Kétlépcsős azonosítás","mfaLoginInstructions":"Kérlek, add meg a mobilalkalmazás által generált ellenőrző kódot.","mfaSubmitLabel":"Belépés","mfaCodeErrorHint":"%d számot kell beírni","captchaCodeInputPlaceholder":"Írja be a fenti kódot","captchaMathInputPlaceholder":"Oldja meg a fenti képletet"}); \ No newline at end of file diff --git a/build/id.js b/build/id.js deleted file mode 100644 index 892f8f1c2..000000000 --- a/build/id.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("id", {"error":{"forgotPassword":{"too_many_requests":"Anda telah mencapai batas upaya perubahan kata sandi. Harap tunggu sebelum mencoba lagi.","lock.fallback":"Maaf, terjadi kesalahan saat meminta perubahan kata sandi.","enterprise_email":"Domain email Anda adalah bagian dari penyedia identitas Perusahaan. Untuk mengatur ulang kata sandi, harap lihat administrator keamanan Anda."},"login":{"blocked_user":"Pengguna diblokir.","invalid_user_password":"Kredensial salah.","lock.fallback":"Maaf, terjadi kesalahan saat berusaha untuk masuk log.","lock.invalid_code":"Kode salah.","lock.invalid_email_password":"Email atau kata sandi salah.","lock.invalid_username_password":"Nama pengguna atau kata sandi salah.","lock.network":"Kami tidak dapat menjangkau server. Harap periksa koneksi internet Anda dan coba lagi.","lock.popup_closed":"Jendela sembul ditutup. Coba lagi.","lock.unauthorized":"Izin tidak diberikan. Coba lagi.","lock.mfa_registration_required":"Autentikasi multifaktor diperlukan tetapi perangkat Anda tidak terdaftar. Harap daftarkan perangkat sebelum melanjutkan.","lock.mfa_invalid_code":"Kode salah. Harap coba lagi.","password_change_required":"Anda harus memperbarui kata sandi karena ini pertama kali Anda masuk log, atau karena kata sandi Anda kedaluwarsa.","password_leaked":"Kami telah mendeteksi adanya masalah keamanan dengan akun ini. Untuk melindungi akun Anda, kami telah memblokir log ini. Email telah dikirimkan disertai instruksi untuk mengurungkan blokir akun Anda.","too_many_attempts":"Akun Anda telah diblokir setelah mencoba masuk log berulang-ulang.","session_missing":"Tidak bisa menyelesaikan permintaan autentikasi Anda. Harap coba lagi setelah menutup semua dialog yang terbuka.","hrd.not_matching_email":"Harap gunakan email perusahaan Anda untuk masuk log.","invalid_captcha":"Selesaikan pertanyaan tantangan untuk memverifikasi bahwa Anda bukan robot.","invalid_recaptcha":"Pilih kotak centang untuk memverifikasi bahwa Anda bukan robot.","too_many_requests":"Kami meminta maaf. Ada terlalu banyak permintaan saat ini. Harap muat ulang halaman dan coba lagi. Jika ini terus berlanjut, silakan coba lagi nanti."},"passwordless":{"bad.email":"Email ini tidak valid.","bad.phone_number":"Nomor telepon tidak valid.","lock.fallback":"Maaf, terjadi kesalahan"},"signUp":{"invalid_password":"Kata sandi tidak valid.","lock.fallback":"Maaf, terjadi kesalahan saat mencoba mendaftar.","password_dictionary_error":"Kata sandi terlalu umum.","password_leaked":"Kombinasi kredensial ini terdeteksi dalam pelanggaran data publik di situs web lain. Sebelum akun Anda dibuat, harap gunakan kata sandi yang berbeda untuk menjaganya tetap aman.","password_no_user_info_error":"Kata sandi didasarkan pada informasi pengguna.","password_strength_error":"Kata sandi terlalu lemah.","user_exists":"Pengguna sudah ada.","username_exists":"Nama pengguna sudah ada.","social_signup_needs_terms_acception":"Harap setujui Persyaratan Layanan di bawah ini untuk melanjutkan."}},"success":{"logIn":"Terima kasih sudah masuk log.","forgotPassword":"Kami baru saja mengirimi Anda email untuk mengatur ulang kata sandi Anda.","magicLink":"Kami mengirimi Anda tautan untuk masuk log dalam
hingga %s.","signUp":"Terima kasih sudah mendaftar."},"blankErrorHint":"","blankPasswordErrorHint":"Wajib diisi","blankEmailErrorHint":"Wajib diisi","blankUsernameErrorHint":"Wajib diisi","blankCaptchaErrorHint":"Wajib diisi","codeInputPlaceholder":"kode Anda","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"atau","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"atau","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"Masuk log dengan kredensial perusahaan Anda.","enterpriseActiveLoginInstructions":"Harap masukkan kredensial perusahaan pada %s.","failedLabel":"Gagal!","forgotPasswordTitle":"Atur ulang kata sandi Anda","forgotPasswordAction":"Tidak ingat kata sandi Anda?","forgotPasswordInstructions":"Harap masukkan alamat email Anda. Kami akan mengirimi Anda email untuk mengatur ulang kata sandi Anda.","forgotPasswordSubmitLabel":"Kirim email","invalidErrorHint":"","invalidPasswordErrorHint":"Tidak valid","invalidEmailErrorHint":"Tidak valid","invalidUsernameErrorHint":"Tidak valid","lastLoginInstructions":"Terakhir kali Anda masuk log dengan","loginAtLabel":"Masuk log pada %s","loginLabel":"Masuk log","loginSubmitLabel":"Masuk log","loginWithLabel":"Masuk log dengan %s","notYourAccountAction":"Bukan akun Anda?","passwordInputPlaceholder":"kata sandi Anda","passwordStrength":{"containsAtLeast":"Berisi setidaknya %d dari %d jenis karakter:","identicalChars":"Tidak boleh lebih dari %d karakter identik dalam satu baris (mis. \"%s\" tidak diizinkan)","nonEmpty":"Kata sandi wajib diisi","numbers":"Angka (yaitu: 0-9)","lengthAtLeast":"Panjang setidaknya %d karakter","lowerCase":"Huruf kecil (a-z)","shouldContain":"Harus berisi:","specialCharacters":"Karakter khusus (mis. !@#$%^&*)","upperCase":"Huruf kapital (A-Z)"},"passwordlessEmailAlternativeInstructions":"Atau, masukkan email Anda untuk masuk
atau buat akun","passwordlessEmailCodeInstructions":"Email dengan kode telah dikirimkan ke %s.","passwordlessEmailInstructions":"Masukkan email Anda untuk masuk
atau buat akun","passwordlessSMSAlternativeInstructions":"Atau, masukkan nomor telepon Anda untuk masuk
atau buat akun","passwordlessSMSCodeInstructions":"SMS dengan kode telah dikirimkan ke %s.","passwordlessSMSInstructions":"Masukkan nomor telepon Anda untuk masuk
atau buat akun","phoneNumberInputPlaceholder":"nomor telepon Anda","resendCodeAction":"Tidak mendapatkan kodenya?","resendLabel":"Kirim ulang","resendingLabel":"Mengirim ulang ...","retryLabel":"Coba ulang","sentLabel":"Terkirim!","showPassword":"Tampilkan kata sandi","signUpTitle":"Daftar","signUpLabel":"Daftar","signUpSubmitLabel":"Daftar","signUpTerms":"Dengan mendaftar, Anda setuju dengan syarat layanan dan kebijakan privasi kami.","signUpWithLabel":"Daftar dengan %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Sign-On Tunggal diaktifkan","submitLabel":"Kirim","unrecoverableError":"Terjadi kesalahan.
Harap hubungi staf teknis.","usernameFormatErrorHint":"Gunakan huruf %d-%d, angka, dan karakter berikut: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"nama pengguna Anda","usernameOrEmailInputPlaceholder":"nama pengguna/email","title":"Auth0","welcome":"Selamat datang %s!","windowsAuthInstructions":"Anda terhubung dari jaringan … perusahaan Anda","windowsAuthLabel":"Autentikasi Windows","mfaInputPlaceholder":"Kode","mfaLoginTitle":"Verifikasi 2 Langkah","mfaLoginInstructions":"Harap masukkan kode verifikasi yang dihasilkan oleh aplikasi seluler Anda.","mfaSubmitLabel":"Masuk log","mfaCodeErrorHint":"Gunakan %d angka","captchaCodeInputPlaceholder":"Masukkan kode yang ditunjukkan di atas","captchaMathInputPlaceholder":"Selesaikan rumus yang ditunjukkan di atas"}); \ No newline at end of file diff --git a/build/it.js b/build/it.js deleted file mode 100644 index 1e775f5bc..000000000 --- a/build/it.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("it", {"error":{"forgotPassword":{"too_many_requests":"Hai raggiunto il limite di tentativi di modifica della password. Attendi prima di riprovare.","lock.fallback":"Ci dispiace, qualcosa è andato storto durante la richiesta di modifica della password.","enterprise_email":"Il dominio della tua email fa parte di un provider di identità aziendale. Per reimpostare la password, consultare l'amministratore della sicurezza."},"login":{"blocked_user":"L'utente è bloccato.","invalid_user_password":"Credenziali non corrette.","lock.fallback":"Ci dispiace, qualcosa è andato storto quando si tenta di accedere.","lock.invalid_code":"Codice errato.","lock.invalid_email_password":"Email o password sbagliata.","lock.invalid_username_password":"Nome utente o password sbagliata.","lock.network":"Non siamo riusciti a raggiungere il server. Si prega di controllare la connessione e riprovare.","lock.popup_closed":"Finestra popup chiusa. Riprova per favore.","lock.unauthorized":"Autorizzazioni non concesse. Riprova per favore.","password_change_required":"È necessario aggiornare la password perché questo è il tuo primo login, o perché la password è scaduta.","password_leaked":"Questo accesso è stato bloccato perché la password è trapelata in un altro sito. Ti abbiamo inviato un'email con le istruzioni su come sbloccarla.","too_many_attempts":"Il suo account è stato bloccato dopo vari tentativi di accesso consecutivi.","lock.mfa_registration_required":"Autenticazione a più fattori richiesta, ma il dispositivo non è abilitato. Si prega di iscriversi prima di passare.","lock.mfa_invalid_code":"Codice errato. Riprova.","session_missing":"Impossibile completare la richiesta di autenticazione. Riprova dopo aver chiuso tutte le finestre di dialogo aperte","hrd.not_matching_email":"Si prega di utilizzare la posta elettronica aziendale per effettuare il login.","too_many_requests":"Ci dispiace. Ci sono troppe richieste in questo momento. Si prega di ricaricare la pagina e riprovare. Se persiste, riprova più tardi.","invalid_captcha":"Risolvi la domanda di verifica per verificare che non sei un robot.","invalid_recaptcha":"Seleziona la casella di controllo per verificare che non sei un robot."},"passwordless":{"bad.email":"L'email non è valida","bad.phone_number":"Il numero di telefono non è valido","lock.fallback":"Ci dispiace, qualcosa è andato storto"},"signUp":{"invalid_password":"La password non è valida.","lock.fallback":"Ci dispiace, qualcosa è andato storto quando si tenta l'iscrizione.","password_dictionary_error":"La password è troppo comune.","password_leaked":"Questa combinazione di credenziali è stata rilevata in una violazione dei dati pubblici su un altro sito Web. Prima di creare il tuo account, utilizza una password diversa per mantenerlo sicuro.","password_no_user_info_error":"La password si basa sulle informazioni dell'utente.","password_strength_error":"La password è troppo debole.","user_exists":"L'utente esiste già.","username_exists":"Il nome utente esiste già.","social_signup_needs_terms_acception":"Si prega di accettare i Termini di servizio di seguito per continuare."}},"success":{"logIn":"Login effettuato con successo.","forgotPassword":"Abbiamo appena inviato un'email per reimpostare la password.","magicLink":"Abbiamo inviato un link per il login
a %s.","signUp":"Grazie per esserti iscritto."},"blankErrorHint":"","blankPasswordErrorHint":"Non può essere vuoto","blankEmailErrorHint":"Non può essere vuoto","blankUsernameErrorHint":"Non può essere vuoto","blankCaptchaErrorHint":"Non può essere vuoto","codeInputPlaceholder":"il tuo codice","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"o","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"o","emailInputPlaceholder":"email@esempio.com","enterpriseLoginIntructions":"Effettuare il login con le credenziali aziendali.","enterpriseActiveLoginInstructions":"Si prega di inserire le credenziali aziendali a %s.","failedLabel":"Fallito!","forgotPasswordAction":"Non ricordi la password?","forgotPasswordInstructions":"Inserisci il tuo indirizzo email. Ti invieremo un'email per reimpostare la password.","forgotPasswordSubmitLabel":"Inviare l'email","invalidErrorHint":"","invalidPasswordErrorHint":"Non valido","invalidEmailErrorHint":"Non valido","invalidUsernameErrorHint":"Non valido","lastLoginInstructions":"L'ultima volta hai effettuato l’accesso con","loginAtLabel":"Accedere a %s","loginLabel":"Accesso","loginSubmitLabel":"Accesso","loginWithLabel":"Accedi con %s","notYourAccountAction":"Non è il tuo account?","passwordInputPlaceholder":"la tua password","passwordStrength":{"containsAtLeast":"Essa deve contenere almeno %d dei seguenti %d tipi di caratteri:","identicalChars":"Non più di %d caratteri identici in una fila (e.g., \"%s\" non autorizzato)","nonEmpty":"E' richiesta una password non vuota","numbers":"Numeri (i.e. 0-9)","lengthAtLeast":"Almeno %d caratteri di lunghezza","lowerCase":"Lettere minuscole (a-z)","shouldContain":"Dovrebbe contenere:","specialCharacters":"Caratteri speciali (e.g. !@#$%^&*)","upperCase":"Caratteri maiuscoli (A-Z)"},"passwordlessEmailAlternativeInstructions":"Altrimenti, si prega di inserire l'email per accedere
o creare un account","passwordlessEmailCodeInstructions":"Un'email con il codice è stata inviata a %s.","passwordlessEmailInstructions":"Si prega di inserire l'email
o creare un account","passwordlessSMSAlternativeInstructions":"Altrimenti, si prega d’inserire il numero di telefono per accedere
o creare un account","passwordlessSMSCodeInstructions":"Un SMS con il codice è stato inviato a %s.","passwordlessSMSInstructions":"Si prega di inserire il numero di telefono
o creare un account","phoneNumberInputPlaceholder":"il tuo numero di telefono","resendCodeAction":"Non hai ottenuto il codice?","resendLabel":"Inviare di nuovo","resendingLabel":"Reinvio...","retryLabel":"Riprovare per favore","sentLabel":"Inviato!","signUpLabel":"Registrati","signUpSubmitLabel":"Registrati","signUpWithLabel":"Registrati con %s","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"Single Sign-On abilitato","submitLabel":"Invia","unrecoverableError":"Qualcosa è andato storto.
Si prega di contattare il supporto tecnico.","usernameFormatErrorHint":"Usa %d-%d lettere, numeri e i seguenti caratteri: \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"Nome utente","usernameOrEmailInputPlaceholder":"Nome utente o email","title":"Auth0","welcome":"Benvenuto %s!","windowsAuthInstructions":"Si è connessi dalla rete aziendale…","windowsAuthLabel":"Autenticazione Windows","forgotPasswordTitle":"Reimposta la tua password","signUpTitle":"Registrati","mfaInputPlaceholder":"Codice","mfaLoginTitle":"2-fase di verifica","mfaLoginInstructions":"Si prega di inserire il codice di verifica generato dalla tua applicazione mobile.","mfaSubmitLabel":"Accedere","mfaCodeErrorHint":"Usare %d numeri","showPassword":"Mostra password","signUpTerms":"Iscrivendoti, accetti i nostri termini di servizio e l'informativa sulla privacy.","captchaCodeInputPlaceholder":"Inserisci il codice mostrato sopra","captchaMathInputPlaceholder":"Risolvi la formula mostrata sopra"}); \ No newline at end of file diff --git a/build/ja.js b/build/ja.js deleted file mode 100644 index 1fe8c3ca4..000000000 --- a/build/ja.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("ja", {"error":{"forgotPassword":{"too_many_requests":"パスワード変更のリクエスト数が上限に達しました。時間をおいてやり直してください。","lock.fallback":"申し訳ございません。パスワード変更中に何らかの理由によりエラーが発生しました。","enterprise_email":"電子メールのドメインは、エンタープライズ向けIDプロバイダの一部です。パスワードをリセットするには、セキュリティ管理者にお問い合わせください。"},"login":{"blocked_user":"ユーザーはブロックされています。","invalid_user_password":"パスワードに誤りがあります。","lock.fallback":"申し訳ございません。ログイン中に何らかの理由によりエラーが発生しました。","lock.invalid_code":"不正なコードです。","lock.invalid_email_password":"メールアドレスもしくはパスワードが間違っています。","lock.invalid_username_password":"ユーザー名もしくはパスワードが間違っています。","lock.network":"サーバとの通信に失敗しました。もう一度やり直してください。","lock.popup_closed":"ポップアップウィンドウが閉じられました。もう一度やり直してください。","lock.unauthorized":"権限がありません。もう一度やり直してください。","lock.mfa_registration_required":"多段階認証が必要ですが、デバイスが登録されていません。先にデバイスをご登録ください。","lock.mfa_invalid_code":"不正なコードです。もう一度やり直してください。","password_change_required":"初めてのログインか、パスワードの期限切れのため、パスワードを更新する必要があります。","password_leaked":"このアカウントはパスワード漏洩の可能性があるため、一時的にブロックされています。ブロックの解除方法についてのメールを送信しましたのでご確認ください。","too_many_attempts":"このアカウントは、短時間での複数回ログイン試行によりブロックされました。","session_missing":"認証リクエストを完了できませんでした。すべての開いているダイアログを閉じた後にもう一度お試しください。","hrd.not_matching_email":"ログインするには、企業のメールアドレスを使用してください。","too_many_requests":"申し訳ございません。今はあまりにも多くの要求があります。ページを再読み込みしてもう一度やり直してください。それでも解決しない場合は、後でもう一度やり直してください。","invalid_captcha":"チャレンジ質問を解いて、ロボットではないことを確認してください。","invalid_recaptcha":"チェックボックスを選択して、ロボットでないことを確認します。"},"passwordless":{"bad.email":"メールアドレスが不正です","bad.phone_number":"電話番号が不正です","lock.fallback":"申し訳ございません。エラーが発生しました。"},"signUp":{"invalid_password":"パスワードが不正です。","lock.fallback":"申し訳ございません。ユーザー登録時に何らかの理由によりエラーが発生しました。","password_dictionary_error":"パスワードが単純すぎます。","password_leaked":"この資格情報の組み合わせは、別の Web サイトで公開されたデータ侵害で検出されました。 アカウントを作成する前に、別のパスワードを使用して安全に保管してください。","password_no_user_info_error":"ユーザー情報を含むパスワードは避けてください。","password_strength_error":"パスワードが脆弱です。","user_exists":"すでに登録されているユーザーです。","username_exists":"すでに使用されているユーザー名です。","social_signup_needs_terms_acception":"サインアップするには以下の利用規約・プライバシーボリシーに同意してください。"}},"success":{"logIn":"ログインに成功しました。","forgotPassword":"パスワードをリセットするためのメールをお送りしました。","magicLink":"%s
へログインするためのリンクを送信しました。","signUp":"ユーザー登録が完了しました。"},"blankErrorHint":"","blankPasswordErrorHint":"この項目は必須です。","blankEmailErrorHint":"この項目は必須です。","blankUsernameErrorHint":"この項目は必須です。","blankCaptchaErrorHint":"この項目は必須です。","codeInputPlaceholder":"コードを入力","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"または","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"または","emailInputPlaceholder":"yours@example.com","enterpriseLoginIntructions":"企業の認証情報でログインしてください。","enterpriseActiveLoginInstructions":"%sの認証情報を入力してください","failedLabel":"失敗しました。","forgotPasswordTitle":"パスワード再設定","forgotPasswordAction":"パスワードをお忘れですか?","forgotPasswordInstructions":"アカウントの登録メールアドレスをご入力ください。パスワード再設定用のリンクをメールします。","forgotPasswordSubmitLabel":"再設定用のリンクを送る","invalidErrorHint":"","invalidPasswordErrorHint":"エラー","invalidEmailErrorHint":"エラー","invalidUsernameErrorHint":"エラー","lastLoginInstructions":"最終ログイン:","loginAtLabel":"%sへのログイン","loginLabel":"ログイン","loginSubmitLabel":"ログイン","loginWithLabel":"%sでログイン","notYourAccountAction":"これはあなたのアカウントではありませんか?","passwordInputPlaceholder":"パスワード","passwordStrength":{"containsAtLeast":"%dつ以上の条件を満たす必要があります。(条件は以下の%dつ)","identicalChars":"連続して同じ文字を%d個以上入力できません(例: \"%s\" は使用できません)","nonEmpty":"パスワードは必須です","numbers":"数字 (0-9)","lengthAtLeast":"%d文字以上","lowerCase":"小文字のアルファベット (a-z)","shouldContain":"含まれるべき文字:","specialCharacters":"特殊文字 (例: !@#$%^&*)","upperCase":"大文字のアルファベット (A-Z)"},"passwordlessEmailAlternativeInstructions":"もしくはメールアドレスを入力してログインする、
またはアカウントを作成してください。","passwordlessEmailCodeInstructions":"%s へメールでコードが送信されました。","passwordlessEmailInstructions":"メールアドレスを入力してログインする、
またはアカウントを作成してください。","passwordlessSMSAlternativeInstructions":"もしくは電話番号を入力してログインする、
またはアカウントを作成してください。","passwordlessSMSCodeInstructions":"%s にSMSでコードが送信されました。","passwordlessSMSInstructions":"電話番号を入力してログインする、
またはアカウントを作成してください。","phoneNumberInputPlaceholder":"電話番号","resendCodeAction":"コードは受け取れましたか?","resendLabel":"再送する","resendingLabel":"再送中...","retryLabel":"もう一度","sentLabel":"送信完了","showPassword":"パスワードを表示する","signUpTitle":"ユーザー登録","signUpLabel":"ユーザー登録","signUpSubmitLabel":"ユーザー登録","signUpWithLabel":"%sでユーザー登録","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"シングルサインオンが有効になっています","submitLabel":"送信","unrecoverableError":"エラーが発生しました。
サポートへご連絡ください。","usernameFormatErrorHint":"%d-%d個の文字、数字、および以下の文字が使用可能です: \"_\"、 \".\"、 \"+\"、 \"-\"","usernameInputPlaceholder":"ユーザー名","usernameOrEmailInputPlaceholder":"ユーザー名/メールアドレス","title":"Auth0","welcome":"ようこそ%sさん","windowsAuthInstructions":"企業ネットワークから接続されています;","windowsAuthLabel":"Windows認証","mfaInputPlaceholder":"コード","mfaLoginTitle":"二段階認証","mfaLoginInstructions":"スマートフォンアプリケーションで生成された確認コードを入力してください。","mfaSubmitLabel":"ログイン","mfaCodeErrorHint":"%d個の数字を使用してください","signUpTerms":"サインアップすることで、利用規約とプライバシーポリシーに同意したことになります。","captchaCodeInputPlaceholder":"上記のコードを入力してください","captchaMathInputPlaceholder":"上記の式を解きます"}); \ No newline at end of file diff --git a/build/ko.js b/build/ko.js deleted file mode 100644 index 3ca8bbec9..000000000 --- a/build/ko.js +++ /dev/null @@ -1 +0,0 @@ -Auth0.registerLanguageDictionary("ko", {"error":{"forgotPassword":{"too_many_requests":"비밀번호 변경 요청 횟수가 제한을 초과하였습니다. 시간을 두고 나중에 다시 시도해 주세요.","lock.fallback":"죄송합니다. 특정 오류로 인해 비밀번호 변경에 실패하였습니다.","enterprise_email":"이메일 도메인은 엔터프라이즈 ID 제공 업체의 일부입니다. 암호를 재설정하려면 보안 관리자에게 문의하십시오."},"login":{"blocked_user":"차단된 사용자 계정입니다.","invalid_user_password":"비밀번호가 일치하지 않습니다.","lock.fallback":"죄송합니다. 특정 오류로 인해 로그인에 실패하였습니다.","lock.invalid_code":"유효하지 않은 코드","lock.invalid_email_password":"이메일 주소 또는 비밀번호가 틀립니다.","lock.invalid_username_password":"사용자명 또는 비밀번호가 틀립니다.","lock.network":"서버와의 연결에 실패하였습니다. 다시 시도해 주세요.","lock.popup_closed":"팝업창이 닫혔습니다. 다시 시도해 주세요.","lock.unauthorized":"권한이 없습니다. 다시 시도해 주세요.","lock.mfa_registration_required":"다단계 인증이 필요하지만, 디바이스가 등록되어 있지 않습니다. 먼저 디바이스를 등록하여 주세요.","lock.mfa_invalid_code":"유효하지 않은 코드입니다. 다시 시도해 주세요.","password_change_required":"처음 로그인하거나, 또는 비밀번호의 기한이 만료되어 비밀번호를 갱신해야 합니다.","password_leaked":"본 계정은 외부 접근으로 인한 회원 정보 유출이 우려되어, 보안 상의 문제로 비활성화되었습니다. 계정을 다시 활성화하는 방법은 자동 전송된 이메일에 안내되어 있습니다.","too_many_attempts":"본 계정은 단시간에 복수의 로그인 시도가 감지되어 차단되었습니다.","session_missing":"인증 요청이 완료되지 않았습니다. 열려있는 모든 다이얼로그 창을 닫고 다시 시도해 주시기 바랍니다.","hrd.not_matching_email":"로그인하려면 회사 이메일을 사용하십시오.","too_many_requests":"우리가 미안해. 지금 요청이 너무 많습니다. 페이지를 새로 고침하고 다시 시도하십시오. 문제가 지속되면 나중에 다시 시도하십시오.","invalid_captcha":"로봇이 아닌 사람인지 확인하기 위해 챌린지 질문을 해결하십시오.","invalid_recaptcha":"로봇이 아닌지 확인하려면 확인란을 선택하십시오."},"passwordless":{"bad.email":"이메일 주소가 유효하지 않습니다","bad.phone_number":"전화번호가 유효하지 않습니다","lock.fallback":"죄송합니다. 오류가 발생하였습니다"},"signUp":{"invalid_password":"비밀번호가 유효하지 않습니다.","lock.fallback":"죄송합니다. 특정 오류로 인하여 회원가입에 실패하였습니다.","password_dictionary_error":"비밀번호가 너무 간단합니다.","password_leaked":"이 자격 증명 조합은 다른 웹사이트의 공개 데이터 침해에서 감지되었습니다. 계정을 생성하기 전에 보안을 유지하기 위해 다른 비밀번호를 사용하십시오.","password_no_user_info_error":"비밀번호에 사용자명이 포함되어 있습니다.","password_strength_error":"비밀번호가 너무 약합니다.","user_exists":"이미 존재하는 사용자입니다.","username_exists":"이미 존재하는 사용자명입니다.","social_signup_needs_terms_acception":"계속하려면 아래 서비스 약관에 동의하십시오."}},"success":{"logIn":"로그인에 성공하였습니다.","forgotPassword":"비밀번호를 초기화하기 위한 안내 이메일을 보내드렸습니다.","magicLink":"%s로 로그인하기 위한 링크가 전송되었습니다.","signUp":"회원가입이 완료되었습니다."},"blankErrorHint":"","blankPasswordErrorHint":"입력란을 공백으로 둘 수 없습니다","blankEmailErrorHint":"입력란을 공백으로 둘 수 없습니다","blankUsernameErrorHint":"입력란을 공백으로 둘 수 없습니다","blankCaptchaErrorHint":"입력란을 공백으로 둘 수 없습니다","codeInputPlaceholder":"코드 입력","databaseEnterpriseLoginInstructions":"","databaseEnterpriseAlternativeLoginInstructions":"또는","databaseSignUpInstructions":"","databaseAlternativeSignUpInstructions":"또는","emailInputPlaceholder":"your@example.com","enterpriseLoginIntructions":"기업 자격 증명으로 로그인하여 주세요.","enterpriseActiveLoginInstructions":"%s 의 자격 증명 정보를 입력하여 주세요.","failedLabel":"실패하였습니다.","forgotPasswordTitle":"비밀번호를 초기화하기","forgotPasswordAction":"비밀번호를 잊어버리셨나요?","forgotPasswordInstructions":"이메일 주소를 입력해 주세요. 비밀번호 초기화를 위한 안내 메일을 보내드립니다.","forgotPasswordSubmitLabel":"메일 전송","invalidErrorHint":"","invalidPasswordErrorHint":"오류","invalidEmailErrorHint":"오류","invalidUsernameErrorHint":"오류","lastLoginInstructions":"최종 로그인","loginAtLabel":"%s 로그인","loginLabel":"로그인","loginSubmitLabel":"로그인","loginWithLabel":"%s 로그인","notYourAccountAction":"당신의 계정이 아닌가요?","passwordInputPlaceholder":"비밀번호","passwordStrength":{"containsAtLeast":"%d 이/가 포함되어 있습니다:","identicalChars":"연속한 동일 문자는 %d개까지만 사용할 수 있습니다 (예: \"%s \"는 사용할 수 없습니다)","nonEmpty":"비밀번호가 필요합니다","numbers":"숫자 (i.e. 0-9)","lengthAtLeast":"%d 자 이상","lowerCase":"소문자 (a-z)","shouldContain":"포함되어야 할 것:","specialCharacters":"특수문자 (e.g. !@#$%^&*)","upperCase":"대문자 (A-Z)"},"passwordlessEmailAlternativeInstructions":"이메일 주소를 입력하거나
또는 새로운 계정을 만들어 주세요.","passwordlessEmailCodeInstructions":"%s 로 코드가 적힌 이메일을 전송하였습니다.","passwordlessEmailInstructions":"이메일 주소를 입력하여 로그인하거나
또는 새로운 계정을 만들어 주세요.","passwordlessSMSAlternativeInstructions":"전화번호를 입력하여 로그인하거나
또는 새로운 계정을 만들어 주세요.","passwordlessSMSCodeInstructions":"%s 로 코드가 적힌 SMS를 전송하였습니다.","passwordlessSMSInstructions":"전화번호를 입력하여 로그인하거나
또는 새로운 계정을 만들어 주세요.","phoneNumberInputPlaceholder":"전화번호","resendCodeAction":"코드를 전송받지 못하셨나요?","resendLabel":"재전송하기","resendingLabel":"재전송중...","retryLabel":"재시도","sentLabel":"전송완료","signUpTitle":"회원가입","signUpLabel":"회원가입","signUpSubmitLabel":"회원가입","signUpWithLabel":"%s로 회원가입","socialLoginInstructions":"","socialSignUpInstructions":"","ssoEnabled":"통합 인증이 유효합니다.","submitLabel":"전송","unrecoverableError":"오류가 발생하였습니다.
고객센터로 연락하여 주시기 바랍니다.","usernameFormatErrorHint":"%d-%d 문자, 숫자 및 다음 문자를 사용하십시오 : \"_\", \".\", \"+\", \"-\"","usernameInputPlaceholder":"사용자명","usernameOrEmailInputPlaceholder":"사용자명/이메일 주소","title":"Auth0","welcome":"환영합니다, %s!","windowsAuthInstructions":"기업 네트워크로 접속되어 있습니다…","windowsAuthLabel":"Windows 인증","mfaInputPlaceholder":"코드","mfaLoginTitle":"2단계 인증","mfaLoginInstructions":"스마트폰 어플리케이션으로 생성된 확인 코드를 입력하여 주세요.","mfaSubmitLabel":"로그인","mfaCodeErrorHint":"%d 숫자를 사용하여 주세요.","showPassword":"암호 표시","signUpTerms":"가입하면 서비스 약관 및 개인 정보 취급 방침에 동의하게됩니다.","captchaCodeInputPlaceholder":"위에 표시된 코드를 입력하십시오","captchaMathInputPlaceholder":"위에 표시된 공식을 해결"}); \ No newline at end of file diff --git a/build/lock.js b/build/lock.js deleted file mode 100644 index 57d89722c..000000000 --- a/build/lock.js +++ /dev/null @@ -1,49018 +0,0 @@ -/*! - * lock v11.34.2 - * - * Author: Auth0 (http://auth0.com) - * Date: 10/10/2022, 16:55:36 - * License: MIT - * - *//******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 163); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(38); - - -/***/ }), -/* 1 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validPublicHooks", function() { return validPublicHooks; }); -/* harmony export (immutable) */ __webpack_exports__["setup"] = setup; -/* harmony export (immutable) */ __webpack_exports__["id"] = id; -/* harmony export (immutable) */ __webpack_exports__["clientID"] = clientID; -/* harmony export (immutable) */ __webpack_exports__["domain"] = domain; -/* harmony export (immutable) */ __webpack_exports__["clientBaseUrl"] = clientBaseUrl; -/* harmony export (immutable) */ __webpack_exports__["tenantBaseUrl"] = tenantBaseUrl; -/* harmony export (immutable) */ __webpack_exports__["useTenantInfo"] = useTenantInfo; -/* harmony export (immutable) */ __webpack_exports__["connectionResolver"] = connectionResolver; -/* harmony export (immutable) */ __webpack_exports__["setResolvedConnection"] = setResolvedConnection; -/* harmony export (immutable) */ __webpack_exports__["resolvedConnection"] = resolvedConnection; -/* harmony export (immutable) */ __webpack_exports__["languageBaseUrl"] = languageBaseUrl; -/* harmony export (immutable) */ __webpack_exports__["setSubmitting"] = setSubmitting; -/* harmony export (immutable) */ __webpack_exports__["submitting"] = submitting; -/* harmony export (immutable) */ __webpack_exports__["setGlobalError"] = setGlobalError; -/* harmony export (immutable) */ __webpack_exports__["globalError"] = globalError; -/* harmony export (immutable) */ __webpack_exports__["clearGlobalError"] = clearGlobalError; -/* harmony export (immutable) */ __webpack_exports__["setGlobalSuccess"] = setGlobalSuccess; -/* harmony export (immutable) */ __webpack_exports__["globalSuccess"] = globalSuccess; -/* harmony export (immutable) */ __webpack_exports__["clearGlobalSuccess"] = clearGlobalSuccess; -/* harmony export (immutable) */ __webpack_exports__["setGlobalInfo"] = setGlobalInfo; -/* harmony export (immutable) */ __webpack_exports__["globalInfo"] = globalInfo; -/* harmony export (immutable) */ __webpack_exports__["clearGlobalInfo"] = clearGlobalInfo; -/* harmony export (immutable) */ __webpack_exports__["rendering"] = rendering; -/* harmony export (immutable) */ __webpack_exports__["stopRendering"] = stopRendering; -/* harmony export (immutable) */ __webpack_exports__["setSupressSubmitOverlay"] = setSupressSubmitOverlay; -/* harmony export (immutable) */ __webpack_exports__["suppressSubmitOverlay"] = suppressSubmitOverlay; -/* harmony export (immutable) */ __webpack_exports__["hooks"] = hooks; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ui", function() { return ui; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "auth", function() { return auth; }); -/* harmony export (immutable) */ __webpack_exports__["withAuthOptions"] = withAuthOptions; -/* harmony export (immutable) */ __webpack_exports__["extractTenantBaseUrlOption"] = extractTenantBaseUrlOption; -/* harmony export (immutable) */ __webpack_exports__["render"] = render; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reset", function() { return reset; }); -/* harmony export (immutable) */ __webpack_exports__["setLoggedIn"] = setLoggedIn; -/* harmony export (immutable) */ __webpack_exports__["loggedIn"] = loggedIn; -/* harmony export (immutable) */ __webpack_exports__["defaultADUsernameFromEmailPrefix"] = defaultADUsernameFromEmailPrefix; -/* harmony export (immutable) */ __webpack_exports__["setCaptcha"] = setCaptcha; -/* harmony export (immutable) */ __webpack_exports__["captcha"] = captcha; -/* harmony export (immutable) */ __webpack_exports__["prefill"] = prefill; -/* harmony export (immutable) */ __webpack_exports__["warn"] = warn; -/* harmony export (immutable) */ __webpack_exports__["error"] = error; -/* harmony export (immutable) */ __webpack_exports__["allowedConnections"] = allowedConnections; -/* harmony export (immutable) */ __webpack_exports__["connections"] = connections; -/* harmony export (immutable) */ __webpack_exports__["connection"] = connection; -/* harmony export (immutable) */ __webpack_exports__["hasOneConnection"] = hasOneConnection; -/* harmony export (immutable) */ __webpack_exports__["hasOnlyConnections"] = hasOnlyConnections; -/* harmony export (immutable) */ __webpack_exports__["hasSomeConnections"] = hasSomeConnections; -/* harmony export (immutable) */ __webpack_exports__["countConnections"] = countConnections; -/* harmony export (immutable) */ __webpack_exports__["findConnection"] = findConnection; -/* harmony export (immutable) */ __webpack_exports__["hasConnection"] = hasConnection; -/* harmony export (immutable) */ __webpack_exports__["filterConnections"] = filterConnections; -/* harmony export (immutable) */ __webpack_exports__["useCustomPasswordlessConnection"] = useCustomPasswordlessConnection; -/* harmony export (immutable) */ __webpack_exports__["runHook"] = runHook; -/* harmony export (immutable) */ __webpack_exports__["emitEvent"] = emitEvent; -/* harmony export (immutable) */ __webpack_exports__["handleEvent"] = handleEvent; -/* harmony export (immutable) */ __webpack_exports__["loginErrorMessage"] = loginErrorMessage; -/* harmony export (immutable) */ __webpack_exports__["stop"] = stop; -/* harmony export (immutable) */ __webpack_exports__["hasStopped"] = hasStopped; -/* harmony export (immutable) */ __webpack_exports__["hashCleanup"] = hashCleanup; -/* harmony export (immutable) */ __webpack_exports__["emitHashParsedEvent"] = emitHashParsedEvent; -/* harmony export (immutable) */ __webpack_exports__["emitAuthenticatedEvent"] = emitAuthenticatedEvent; -/* harmony export (immutable) */ __webpack_exports__["emitAuthorizationErrorEvent"] = emitAuthorizationErrorEvent; -/* harmony export (immutable) */ __webpack_exports__["emitUnrecoverableErrorEvent"] = emitUnrecoverableErrorEvent; -/* harmony export (immutable) */ __webpack_exports__["showBadge"] = showBadge; -/* harmony export (immutable) */ __webpack_exports__["overrideOptions"] = overrideOptions; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_url_join__ = __webpack_require__(158); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_url_join___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_url_join__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_media_utils__ = __webpack_require__(56); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_string_utils__ = __webpack_require__(121); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_url_utils__ = __webpack_require__(224); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__i18n__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_trim__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_trim___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_trim__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__avatar_gravatar_provider__ = __webpack_require__(162); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__client_index__ = __webpack_require__(110); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__field_captcha__ = __webpack_require__(114); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - - - - - - - - - - - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_data_utils__["a" /* dataFns */])(['core']), - get = _dataFns.get, - init = _dataFns.init, - remove = _dataFns.remove, - reset = _dataFns.reset, - set = _dataFns.set, - tget = _dataFns.tget, - tset = _dataFns.tset, - tremove = _dataFns.tremove; - -var validPublicHooks = ['loggingIn', 'signingUp']; - -function setup(id, clientID, domain, options, hookRunner, emitEventFn, handleEventFn) { - var m = init(id, __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS({ - clientBaseUrl: extractClientBaseUrlOption(options, domain), - tenantBaseUrl: extractTenantBaseUrlOption(options, domain), - languageBaseUrl: extractLanguageBaseUrlOption(options, domain), - auth: extractAuthOptions(options), - clientID: clientID, - domain: domain, - emitEventFn: emitEventFn, - hookRunner: hookRunner, - useTenantInfo: options.__useTenantInfo || false, - hashCleanup: options.hashCleanup === false ? false : true, - allowedConnections: __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(options.allowedConnections || []), - useCustomPasswordlessConnection: options.useCustomPasswordlessConnection === true ? true : false, - ui: extractUIOptions(id, options), - defaultADUsernameFromEmailPrefix: options.defaultADUsernameFromEmailPrefix === false ? false : true, - prefill: options.prefill || {}, - connectionResolver: options.connectionResolver, - handleEventFn: handleEventFn, - hooks: extractHookOptions(options) - })); - - m = __WEBPACK_IMPORTED_MODULE_5__i18n__["initI18n"](m); - - return m; -} - -function id(m) { - return m.get('id'); -} - -function clientID(m) { - return get(m, 'clientID'); -} - -function domain(m) { - return get(m, 'domain'); -} - -function clientBaseUrl(m) { - return get(m, 'clientBaseUrl'); -} - -function tenantBaseUrl(m) { - return get(m, 'tenantBaseUrl'); -} - -function useTenantInfo(m) { - return get(m, 'useTenantInfo'); -} - -function connectionResolver(m) { - return get(m, 'connectionResolver'); -} - -function setResolvedConnection(m, resolvedConnection) { - if (!resolvedConnection) { - return set(m, 'resolvedConnection', undefined); - } - if (!resolvedConnection.type || !resolvedConnection.name) { - throw new Error('Invalid connection object. The resolved connection must look like: `{ type: "database", name: "connection name" }`.'); - } - if (resolvedConnection.type !== 'database') { - throw new Error('Invalid connection type. Only database connections can be resolved with a custom resolver.'); - } - return set(m, 'resolvedConnection', __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(resolvedConnection)); -} - -function resolvedConnection(m) { - var resolvedConnection = get(m, 'resolvedConnection'); - if (!resolvedConnection) { - return undefined; - } - return findConnection(m, resolvedConnection.get('name')); -} - -function languageBaseUrl(m) { - return get(m, 'languageBaseUrl'); -} - -function setSubmitting(m, value) { - var error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; - - m = tset(m, 'submitting', value); - m = clearGlobalSuccess(m); - m = error && !value ? setGlobalError(m, error) : clearGlobalError(m); - return m; -} - -function submitting(m) { - return tget(m, 'submitting', false); -} - -function setGlobalError(m, str) { - return tset(m, 'globalError', str); -} - -function globalError(m) { - return tget(m, 'globalError', ''); -} - -function clearGlobalError(m) { - return tremove(m, 'globalError'); -} - -function setGlobalSuccess(m, str) { - return tset(m, 'globalSuccess', str); -} - -function globalSuccess(m) { - return tget(m, 'globalSuccess', ''); -} - -function clearGlobalSuccess(m) { - return tremove(m, 'globalSuccess'); -} - -function setGlobalInfo(m, str) { - return tset(m, 'globalInfo', str); -} - -function globalInfo(m) { - return tget(m, 'globalInfo', ''); -} - -function clearGlobalInfo(m) { - return tremove(m, 'globalInfo'); -} - -function rendering(m) { - return tget(m, 'render', false); -} - -function stopRendering(m) { - return tremove(m, 'render'); -} - -function setSupressSubmitOverlay(m, b) { - return set(m, 'suppressSubmitOverlay', b); -} - -function suppressSubmitOverlay(m) { - return get(m, 'suppressSubmitOverlay'); -} - -function hooks(m) { - return get(m, 'hooks'); -} - -function extractUIOptions(id, options) { - var closable = options.container ? false : undefined === options.closable ? true : !!options.closable; - var theme = options.theme || {}; - var labeledSubmitButton = theme.labeledSubmitButton, - hideMainScreenTitle = theme.hideMainScreenTitle, - logo = theme.logo, - primaryColor = theme.primaryColor, - authButtons = theme.authButtons; - - - var avatar = options.avatar !== null; - var customAvatarProvider = options.avatar && typeof options.avatar.url === 'function' && typeof options.avatar.displayName === 'function' && options.avatar; - var avatarProvider = customAvatarProvider || __WEBPACK_IMPORTED_MODULE_7__avatar_gravatar_provider__; - - return new __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS({ - containerID: options.container || 'auth0-lock-container-' + id, - appendContainer: !options.container, - autoclose: undefined === options.autoclose ? false : closable && options.autoclose, - autofocus: undefined === options.autofocus ? !(options.container || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__utils_media_utils__["a" /* isSmallScreen */])()) : !!options.autofocus, - avatar: avatar, - avatarProvider: avatarProvider, - logo: typeof logo === 'string' ? logo : undefined, - closable: closable, - hideMainScreenTitle: !!hideMainScreenTitle, - labeledSubmitButton: undefined === labeledSubmitButton ? true : !!labeledSubmitButton, - language: undefined === options.language ? 'en' : __WEBPACK_IMPORTED_MODULE_6_trim___default()(options.language || '').toLowerCase(), - dict: _typeof(options.languageDictionary) === 'object' ? options.languageDictionary : {}, - disableWarnings: options.disableWarnings === undefined ? false : !!options.disableWarnings, - mobile: undefined === options.mobile ? false : !!options.mobile, - popupOptions: undefined === options.popupOptions ? {} : options.popupOptions, - primaryColor: typeof primaryColor === 'string' ? primaryColor : undefined, - rememberLastLogin: undefined === options.rememberLastLogin ? true : !!options.rememberLastLogin, - allowAutocomplete: !!options.allowAutocomplete, - preferConnectionDisplayName: !!options.preferConnectionDisplayName, - authButtonsTheme: (typeof authButtons === 'undefined' ? 'undefined' : _typeof(authButtons)) === 'object' ? authButtons : {}, - allowShowPassword: !!options.allowShowPassword, - allowPasswordAutocomplete: !!options.allowPasswordAutocomplete, - scrollGlobalMessagesIntoView: undefined === options.scrollGlobalMessagesIntoView ? true : !!options.scrollGlobalMessagesIntoView, - forceAutoHeight: !!options.forceAutoHeight - }); -} - -function extractHookOptions(options) { - var hooks = {}; - - validPublicHooks.forEach(function (hookName) { - if (options.hooks && typeof options.hooks[hookName] === 'function') { - hooks[hookName] = options.hooks[hookName]; - } - }); - - return new __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(hooks); -} - -var _dataFns2 = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_data_utils__["a" /* dataFns */])(['core', 'ui']), - getUI = _dataFns2.get, - setUI = _dataFns2.set; - -var _dataFns3 = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_data_utils__["a" /* dataFns */])(['core', 'transient', 'ui']), - tgetUI = _dataFns3.get, - tsetUI = _dataFns3.set; - -var getUIAttribute = function getUIAttribute(m, attribute) { - return tgetUI(m, attribute) || getUI(m, attribute); -}; - -var ui = { - containerID: function containerID(lock) { - return getUIAttribute(lock, 'containerID'); - }, - appendContainer: function appendContainer(lock) { - return getUIAttribute(lock, 'appendContainer'); - }, - autoclose: function autoclose(lock) { - return getUIAttribute(lock, 'autoclose'); - }, - autofocus: function autofocus(lock) { - return getUIAttribute(lock, 'autofocus'); - }, - avatar: function avatar(lock) { - return getUIAttribute(lock, 'avatar'); - }, - avatarProvider: function avatarProvider(lock) { - return getUIAttribute(lock, 'avatarProvider'); - }, - closable: function closable(lock) { - return getUIAttribute(lock, 'closable'); - }, - dict: function dict(lock) { - return getUIAttribute(lock, 'dict'); - }, - disableWarnings: function disableWarnings(lock) { - return getUIAttribute(lock, 'disableWarnings'); - }, - labeledSubmitButton: function labeledSubmitButton(lock) { - return getUIAttribute(lock, 'labeledSubmitButton'); - }, - hideMainScreenTitle: function hideMainScreenTitle(lock) { - return getUIAttribute(lock, 'hideMainScreenTitle'); - }, - language: function language(lock) { - return getUIAttribute(lock, 'language'); - }, - logo: function logo(lock) { - return getUIAttribute(lock, 'logo'); - }, - mobile: function mobile(lock) { - return getUIAttribute(lock, 'mobile'); - }, - popupOptions: function popupOptions(lock) { - return getUIAttribute(lock, 'popupOptions'); - }, - primaryColor: function primaryColor(lock) { - return getUIAttribute(lock, 'primaryColor'); - }, - authButtonsTheme: function authButtonsTheme(lock) { - return getUIAttribute(lock, 'authButtonsTheme'); - }, - preferConnectionDisplayName: function preferConnectionDisplayName(lock) { - return getUIAttribute(lock, 'preferConnectionDisplayName'); - }, - rememberLastLogin: function rememberLastLogin(m) { - return tget(m, 'rememberLastLogin', getUIAttribute(m, 'rememberLastLogin')); - }, - allowAutocomplete: function allowAutocomplete(m) { - return tget(m, 'allowAutocomplete', getUIAttribute(m, 'allowAutocomplete')); - }, - scrollGlobalMessagesIntoView: function scrollGlobalMessagesIntoView(lock) { - return getUIAttribute(lock, 'scrollGlobalMessagesIntoView'); - }, - allowShowPassword: function allowShowPassword(m) { - return tget(m, 'allowShowPassword', getUIAttribute(m, 'allowShowPassword')); - }, - allowPasswordAutocomplete: function allowPasswordAutocomplete(m) { - return tget(m, 'allowPasswordAutocomplete', getUIAttribute(m, 'allowPasswordAutocomplete')); - }, - forceAutoHeight: function forceAutoHeight(m) { - return tget(m, 'forceAutoHeight', getUIAttribute(m, 'forceAutoHeight')); - } -}; - -var _dataFns4 = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_data_utils__["a" /* dataFns */])(['core', 'auth']), - getAuthAttribute = _dataFns4.get; - -var auth = { - connectionScopes: function connectionScopes(m) { - return getAuthAttribute(m, 'connectionScopes'); - }, - params: function params(m) { - return tget(m, 'authParams') || getAuthAttribute(m, 'params'); - }, - autoParseHash: function autoParseHash(lock) { - return getAuthAttribute(lock, 'autoParseHash'); - }, - redirect: function redirect(lock) { - return getAuthAttribute(lock, 'redirect'); - }, - redirectUrl: function redirectUrl(lock) { - return getAuthAttribute(lock, 'redirectUrl'); - }, - responseType: function responseType(lock) { - return getAuthAttribute(lock, 'responseType'); - }, - sso: function sso(lock) { - return getAuthAttribute(lock, 'sso'); - } -}; - -function extractAuthOptions(options) { - var _ref = options.auth || {}, - audience = _ref.audience, - connectionScopes = _ref.connectionScopes, - params = _ref.params, - autoParseHash = _ref.autoParseHash, - redirect = _ref.redirect, - redirectUrl = _ref.redirectUrl, - responseMode = _ref.responseMode, - responseType = _ref.responseType, - sso = _ref.sso, - state = _ref.state, - nonce = _ref.nonce; - - if (options.auth && options.auth.redirectUri) { - console.warn("You're sending an `auth` option named `redirectUri`. This option will be ignored. Use `redirectUrl` instead."); - } - - audience = typeof audience === 'string' ? audience : undefined; - connectionScopes = (typeof connectionScopes === 'undefined' ? 'undefined' : _typeof(connectionScopes)) === 'object' ? connectionScopes : {}; - params = (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object' ? params : {}; - // by default is null because we need to know if it was set when we curate the responseType - redirectUrl = typeof redirectUrl === 'string' && redirectUrl ? redirectUrl : null; - autoParseHash = typeof autoParseHash === 'boolean' ? autoParseHash : true; - redirect = typeof redirect === 'boolean' ? redirect : true; - responseMode = typeof responseMode === 'string' ? responseMode : undefined; - state = typeof state === 'string' ? state : undefined; - nonce = typeof nonce === 'string' ? nonce : undefined; - // if responseType was not set and there is a redirectUrl, it defaults to code. Otherwise token. - responseType = typeof responseType === 'string' ? responseType : redirectUrl ? 'code' : 'token'; - // now we set the default because we already did the validation - redirectUrl = redirectUrl || '' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__utils_url_utils__["a" /* getOriginFromUrl */])(window.location.href) + window.location.pathname; - - sso = typeof sso === 'boolean' ? sso : true; - - if (!params.scope) { - params.scope = 'openid profile email'; - } - - return __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS({ - audience: audience, - connectionScopes: connectionScopes, - params: params, - autoParseHash: autoParseHash, - redirect: redirect, - redirectUrl: redirectUrl, - responseMode: responseMode, - responseType: responseType, - sso: sso, - state: state, - nonce: nonce - }); -} - -function withAuthOptions(m, opts) { - return __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(opts).merge(get(m, 'auth')).toJS(); -} - -function extractClientBaseUrlOption(opts, domain) { - if (opts.clientBaseUrl && typeof opts.clientBaseUrl === 'string') { - return opts.clientBaseUrl; - } - - if (opts.configurationBaseUrl && typeof opts.configurationBaseUrl === 'string') { - return opts.configurationBaseUrl; - } - - if (opts.assetsUrl && typeof opts.assetsUrl === 'string') { - return opts.assetsUrl; - } - - return 'https://' + domain; -} - -function extractTenantBaseUrlOption(opts, domain) { - if (opts.configurationBaseUrl && typeof opts.configurationBaseUrl === 'string') { - if (opts.overrides && opts.overrides.__tenant) { - // When using a custom domain and a configuration URL hosted in auth0's cdn - return __WEBPACK_IMPORTED_MODULE_0_url_join___default()(opts.configurationBaseUrl, 'tenants', 'v1', opts.overrides.__tenant + '.js'); - } - return __WEBPACK_IMPORTED_MODULE_0_url_join___default()(opts.configurationBaseUrl, 'info-v1.js'); - } - - if (opts.assetsUrl && typeof opts.assetsUrl === 'string') { - return opts.assetsUrl; - } - - var domainUrl = 'https://' + domain; - var hostname = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__utils_url_utils__["b" /* getLocationFromUrl */])(domainUrl).hostname; - var DOT_AUTH0_DOT_COM = '.auth0.com'; - - // prettier-ignore - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_string_utils__["a" /* endsWith */])(hostname, DOT_AUTH0_DOT_COM)) { - // lgtm [js/incomplete-url-substring-sanitization] - var parts = hostname.split('.'); - var tenant_name = parts[0]; - - return __WEBPACK_IMPORTED_MODULE_0_url_join___default()(domainUrl, 'tenants', 'v1', tenant_name + '.js'); - } else { - return __WEBPACK_IMPORTED_MODULE_0_url_join___default()(domainUrl, 'info-v1.js'); - } -} - -function extractLanguageBaseUrlOption(opts, domain) { - if (opts.languageBaseUrl && typeof opts.languageBaseUrl === 'string') { - return opts.languageBaseUrl; - } - - if (opts.assetsUrl && typeof opts.assetsUrl === 'string') { - return opts.assetsUrl; - } - - return 'https://cdn.auth0.com'; -} - -function render(m) { - return tset(m, 'render', true); -} - - - -function setLoggedIn(m, value) { - return tset(m, 'loggedIn', value); -} - -function loggedIn(m) { - return tget(m, 'loggedIn', false); -} - -function defaultADUsernameFromEmailPrefix(m) { - return get(m, 'defaultADUsernameFromEmailPrefix', true); -} - -function setCaptcha(m, value, wasInvalid) { - m = __WEBPACK_IMPORTED_MODULE_10__field_captcha__["a" /* reset */](m, wasInvalid); - return set(m, 'captcha', __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(value)); -} - -function captcha(m) { - //some tests send an string as model. - // https://github.com/auth0/lock/blob/82f56187698528699478bd429858cf91e387763c/src/__tests__/engine/classic/sign_up_pane.test.jsx#L28 - if ((typeof m === 'undefined' ? 'undefined' : _typeof(m)) !== 'object') { - return; - } - return get(m, 'captcha'); -} - -function prefill(m) { - return get(m, 'prefill', {}); -} - -function warn(x, str) { - var shouldOutput = __WEBPACK_IMPORTED_MODULE_1_immutable__["Map"].isMap(x) ? !ui.disableWarnings(x) : !x.disableWarnings; - - if (shouldOutput && console && console.warn) { - console.warn(str); - } -} - -function error(x, str) { - var shouldOutput = __WEBPACK_IMPORTED_MODULE_1_immutable__["Map"].isMap(x) ? !ui.disableWarnings(x) : !x.disableWarnings; - - if (shouldOutput && console && console.error) { - console.error(str); - } -} - -function allowedConnections(m) { - return tget(m, 'allowedConnections') || get(m, 'allowedConnections'); -} - -function connections(m) { - for (var _len = arguments.length, strategies = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - strategies[_key - 2] = arguments[_key]; - } - - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - if (arguments.length === 1) { - return tget(m, 'connections', __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])()).filter(function (v, k) { - return k !== 'unknown'; - }).valueSeq().flatten(true); - } - - var xs = tget(m, ['connections', type], __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["List"])()); - return strategies.length > 0 ? xs.filter(function (x) { - return ~strategies.indexOf(x.get('strategy')); - }) : xs; -} - -function connection(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - for (var _len2 = arguments.length, strategies = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - strategies[_key2 - 2] = arguments[_key2]; - } - - return connections.apply(undefined, [m, type].concat(strategies)).get(0); -} - -function hasOneConnection(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - var xs = connections(m); - return xs.count() === 1 && (!type || xs.getIn([0, 'type']) === type); -} - -function hasOnlyConnections(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - var all = connections(m).count(); - - for (var _len3 = arguments.length, strategies = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { - strategies[_key3 - 2] = arguments[_key3]; - } - - var filtered = connections.apply(undefined, [m, type].concat(strategies)).count(); - return all > 0 && all === filtered; -} - -function hasSomeConnections(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - for (var _len4 = arguments.length, strategies = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) { - strategies[_key4 - 2] = arguments[_key4]; - } - - return countConnections.apply(undefined, [m, type].concat(strategies)) > 0; -} - -function countConnections(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - for (var _len5 = arguments.length, strategies = Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) { - strategies[_key5 - 2] = arguments[_key5]; - } - - return connections.apply(undefined, [m, type].concat(strategies)).count(); -} - -function findConnection(m, name) { - return connections(m).find(function (m1) { - return m1.get('name') === name; - }); -} - -function hasConnection(m, name) { - return !!findConnection(m, name); -} - -function filterConnections(m) { - var allowed = allowedConnections(m); - - var order = allowed.count() === 0 ? function (_) { - return 0; - } : function (c) { - return allowed.indexOf(c.get('name')); - }; - - return tset(m, 'connections', __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__client_index__["a" /* clientConnections */])(m).map(function (cs) { - return cs.filter(function (c) { - return order(c) >= 0; - }).sort(function (c1, c2) { - return order(c1) - order(c2); - }); - })); -} - -function useCustomPasswordlessConnection(m) { - return get(m, 'useCustomPasswordlessConnection'); -} - -function runHook(m, str) { - for (var _len6 = arguments.length, args = Array(_len6 > 2 ? _len6 - 2 : 0), _key6 = 2; _key6 < _len6; _key6++) { - args[_key6 - 2] = arguments[_key6]; - } - - return get(m, 'hookRunner').apply(undefined, [str, m].concat(args)); -} - -function emitEvent(m, str) { - for (var _len7 = arguments.length, args = Array(_len7 > 2 ? _len7 - 2 : 0), _key7 = 2; _key7 < _len7; _key7++) { - args[_key7 - 2] = arguments[_key7]; - } - - setTimeout(function () { - var emitEventFn = get(m, 'emitEventFn'); - var hadListener = emitEventFn.apply(undefined, [str].concat(args)); - // Handle uncaught custom error - if (str === 'unrecoverable_error' && !hadListener) { - throw new (Function.prototype.bind.apply(Error, [null].concat(args)))(); - } - }, 0); -} - -function handleEvent(m, str) { - var handleEventFn = get(m, 'handleEventFn'); - - for (var _len8 = arguments.length, args = Array(_len8 > 2 ? _len8 - 2 : 0), _key8 = 2; _key8 < _len8; _key8++) { - args[_key8 - 2] = arguments[_key8]; - } - - handleEventFn.apply(undefined, [str].concat(args)); -} - -function loginErrorMessage(m, error, type) { - // NOTE: previous version of lock checked for status codes and, at - // some point, if the status code was 401 it defaults to an - // "invalid_user_password" error (actually the - // "wrongEmailPasswordErrorText" dict entry) instead of checking - // explicitly. We should figure out if there was a reason for that. - - if (error.status === 0) { - return __WEBPACK_IMPORTED_MODULE_5__i18n__["html"](m, ['error', 'login', 'lock.network']); - } - - // Custom rule or hook error (except blocked_user) - if (error.code === 'rule_error' || error.code === 'hook_error') { - return error.description || __WEBPACK_IMPORTED_MODULE_5__i18n__["html"](m, ['error', 'login', 'lock.fallback']); - } - - var INVALID_MAP = { - code: 'lock.invalid_code', - email: 'lock.invalid_email_password', - username: 'lock.invalid_username_password' - }; - - var code = error.error || error.code; - if (code === 'invalid_user_password' && INVALID_MAP[type]) { - code = INVALID_MAP[type]; - } - - if (code === 'a0.mfa_registration_required') { - code = 'lock.mfa_registration_required'; - } - - if (code === 'a0.mfa_invalid_code') { - code = 'lock.mfa_invalid_code'; - } - if (code === 'password_expired') { - code = 'password_change_required'; - } - - if (code === 'invalid_captcha') { - var currentCaptcha = get(m, 'captcha'); - if (currentCaptcha && currentCaptcha.get('provider') === 'recaptcha_v2') { - code = 'invalid_recaptcha'; - } - } - - return __WEBPACK_IMPORTED_MODULE_5__i18n__["html"](m, ['error', 'login', code]) || __WEBPACK_IMPORTED_MODULE_5__i18n__["html"](m, ['error', 'login', 'lock.fallback']); -} - -// TODO: rename to something less generic that is easier to grep -function stop(m, error) { - if (error) { - setTimeout(function () { - return emitEvent(m, 'unrecoverable_error', error); - }, 17); - } - - return set(m, 'stopped', true); -} - -function hasStopped(m) { - return get(m, 'stopped'); -} - -function hashCleanup(m) { - return get(m, 'hashCleanup'); -} - -function emitHashParsedEvent(m, parsedHash) { - emitEvent(m, 'hash_parsed', parsedHash); -} - -function emitAuthenticatedEvent(m, result) { - emitEvent(m, 'authenticated', result); -} - -function emitAuthorizationErrorEvent(m, error) { - emitEvent(m, 'authorization_error', error); -} - -function emitUnrecoverableErrorEvent(m, error) { - emitEvent(m, 'unrecoverable_error', error); -} - -function showBadge(m) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__client_index__["b" /* hasFreeSubscription */])(m) || false; -} - -function overrideOptions(m, opts) { - if (!opts) opts = {}; - - if (opts.allowedConnections) { - m = tset(m, 'allowedConnections', __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(opts.allowedConnections)); - } - - if (opts.flashMessage) { - var type = opts.flashMessage.type; - - var typeCapitalized = type.charAt(0).toUpperCase() + type.slice(1); - m = tset(m, 'global' + typeCapitalized, opts.flashMessage.text); - } - - if (opts.auth && opts.auth.params) { - m = tset(m, 'authParams', __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(opts.auth.params)); - } - - if (opts.theme) { - if (opts.theme.primaryColor) { - m = tset(m, ['ui', 'primaryColor'], opts.theme.primaryColor); - } - - if (opts.theme.logo) { - m = tset(m, ['ui', 'logo'], opts.theme.logo); - } - } - - if (opts.language || opts.languageDictionary) { - if (opts.language) { - m = tset(m, ['ui', 'language'], opts.language); - } - - if (opts.languageDictionary) { - m = tset(m, ['ui', 'dict'], opts.languageDictionary); - } - - m = __WEBPACK_IMPORTED_MODULE_5__i18n__["initI18n"](m); - } - - if (typeof opts.rememberLastLogin === 'boolean') { - m = tset(m, 'rememberLastLogin', opts.rememberLastLogin); - } - if (typeof opts.allowAutocomplete === 'boolean') { - m = tset(m, 'allowAutocomplete', opts.allowAutocomplete); - } - if (typeof opts.allowShowPassword === 'boolean') { - m = tset(m, 'allowShowPassword', opts.allowShowPassword); - } - if (typeof opts.allowPasswordAutocomplete === 'boolean') { - m = tset(m, 'allowPasswordAutocomplete', opts.allowPasswordAutocomplete); - } - - return m; -} - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -if (false) { - var ReactIs = require('react-is'); - - // By explicitly using `prop-types` you are opting into new development behavior. - // http://fb.me/prop-types-in-prod - var throwOnDirectAccess = true; - module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess); -} else { - // By explicitly using `prop-types` you are opting into new production behavior. - // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(261)(); -} - - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var validateFormat = function validateFormat(format) {}; - -if (false) { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; -} - -function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - - if (!condition) { - var error; - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -} - -module.exports = invariant; - -/***/ }), -/* 4 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["e"] = setField; -/* harmony export (immutable) */ __webpack_exports__["d"] = registerOptionField; -/* harmony export (immutable) */ __webpack_exports__["f"] = setOptionField; -/* harmony export (immutable) */ __webpack_exports__["i"] = isFieldValid; -/* harmony export (immutable) */ __webpack_exports__["p"] = getFieldInvalidHint; -/* harmony export (immutable) */ __webpack_exports__["k"] = isFieldVisiblyInvalid; -/* harmony export (immutable) */ __webpack_exports__["j"] = showInvalidField; -/* harmony export (immutable) */ __webpack_exports__["a"] = hideInvalidFields; -/* harmony export (immutable) */ __webpack_exports__["n"] = setFieldShowInvalid; -/* harmony export (immutable) */ __webpack_exports__["b"] = clearFields; -/* harmony export (immutable) */ __webpack_exports__["m"] = getField; -/* harmony export (immutable) */ __webpack_exports__["c"] = getFieldValue; -/* harmony export (immutable) */ __webpack_exports__["o"] = getFieldLabel; -/* harmony export (immutable) */ __webpack_exports__["r"] = phoneNumber; -/* harmony export (immutable) */ __webpack_exports__["g"] = email; -/* harmony export (immutable) */ __webpack_exports__["s"] = vcode; -/* harmony export (immutable) */ __webpack_exports__["h"] = password; -/* harmony export (immutable) */ __webpack_exports__["q"] = username; -/* unused harmony export mfaCode */ -/* unused harmony export isSelecting */ -/* harmony export (immutable) */ __webpack_exports__["l"] = renderOptionSelection; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_trim__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_trim___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_trim__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__option_selection_pane__ = __webpack_require__(193); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_index__ = __webpack_require__(1); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - - - - - - - -var minMax = function minMax(value, min, max) { - return value.length >= min && value.length <= max; -}; - -var getDefaultValidator = function getDefaultValidator(field) { - switch (field) { - case 'family_name': - case 'given_name': - return function (str) { - return minMax(__WEBPACK_IMPORTED_MODULE_2_trim___default()(str), 1, 150); - }; - case 'name': - return function (str) { - return minMax(__WEBPACK_IMPORTED_MODULE_2_trim___default()(str), 1, 300); - }; - case 'nickname': - return function (str) { - return minMax(__WEBPACK_IMPORTED_MODULE_2_trim___default()(str), 1, 300); - }; - - default: - return function (str) { - return __WEBPACK_IMPORTED_MODULE_2_trim___default()(str).length > 0; - }; - } -}; - -function setField(m, field, value) { - var validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : getDefaultValidator(field); - - var prevValue = m.getIn(['field', field, 'value']); - var prevShowInvalid = m.getIn(['field', field, 'showInvalid'], false); - - for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { - args[_key - 4] = arguments[_key]; - } - - var validation = validate.apply(undefined, [validator, value].concat(args)); - return m.mergeIn(['field', field], validation.merge({ - value: value, - showInvalid: prevShowInvalid && prevValue === value - })); -} - -function validate(validator, value) { - if (typeof validator != 'function') return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({ valid: true }); - - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - var validation = validator.apply(undefined, [value].concat(args)); - return validation && (typeof validation === 'undefined' ? 'undefined' : _typeof(validation)) === 'object' ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({ valid: validation.valid, invalidHint: validation.hint }) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({ valid: !!validation }); -} - -// TODO: this should handle icons, and everything. -// TODO: also there should be a similar fn for regular fields. -function registerOptionField(m, field, options, initialValue) { - var valid = true, - hasInitial = !initialValue, - initialOption = void 0; - options.forEach(function (x) { - valid = valid && x.get('label') && typeof x.get('label') === 'string' && x.get('value') && typeof x.get('value') === 'string'; - - if (!hasInitial && x.get('value') === initialValue) { - initialOption = x; - hasInitial = true; - } - }); - - if (!valid || !options.size) { - var stopError = new Error('The options provided for the "' + field + '" field are invalid, they must have the following format: {label: "non-empty string", value: "non-empty string"} and there has to be at least one option.'); - stopError.code = 'invalid_select_field'; - // TODO: in the future we might want to return the result of the - // operation along with the model insteand of stopping the - // rendering, like [false, m] in the case of failure and [true, m] - // in the case of success. - return __WEBPACK_IMPORTED_MODULE_4__core_index__["stop"](m, stopError); - } - - if (!initialOption) initialOption = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({}); - - return m.mergeIn(['field', field], initialOption, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({ - options: options, - showInvalid: false, - valid: !initialOption.isEmpty() - })); -} - -function setOptionField(m, field, option) { - return m.mergeIn(['field', field], option.merge(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({ - valid: true, - showInvalid: false - }))); -} - -function isFieldValid(m, field) { - return m.getIn(['field', field, 'valid']); -} - -function getFieldInvalidHint(m, field) { - return m.getIn(['field', field, 'invalidHint'], ''); -} - -function isFieldVisiblyInvalid(m, field) { - return m.getIn(['field', field, 'showInvalid'], false) && !m.getIn(['field', field, 'valid']); -} - -function showInvalidField(m, field) { - return m.setIn(['field', field, 'showInvalid'], !isFieldValid(m, field)); -} - -function hideInvalidFields(m) { - return m.update('field', function (fields) { - return fields && fields.map(function (field) { - return field.set('showInvalid', false); - }); - }); -} - -// TODO: only used in passwordless, when we update it to use -// validateAndSubmit this won't be needed anymore. -function setFieldShowInvalid(m, field, value) { - return m.setIn(['field', field, 'showInvalid'], value); -} - -function clearFields(m, fields) { - var keyPaths = void 0; - - if (!fields || fields.length === 0) { - keyPaths = [['field']]; - } else { - keyPaths = fields.map(function (x) { - return ['field', x]; - }); - } - - return keyPaths.reduce(function (r, v) { - return r.removeIn(v); - }, m); -} - -function getField(m, field) { - var notFound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new __WEBPACK_IMPORTED_MODULE_1_immutable__["Map"]({}); - - return m.getIn(['field', field], notFound); -} - -function getFieldValue(m, field) { - var notFound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; - - return getField(m, field).get('value', notFound); -} - -function getFieldLabel(m, field) { - var notFound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; - - return getField(m, field).get('label', notFound); -} - -// phone number - -function phoneNumber(lock) { - return lock.getIn(['field', 'phoneNumber', 'value'], ''); -} - -// email - -function email(m) { - return getFieldValue(m, 'email'); -} - -// vcode - -function vcode(m) { - return getFieldValue(m, 'vcode'); -} - -// password - -function password(m) { - return getFieldValue(m, 'password'); -} - -// username - -function username(m) { - return getFieldValue(m, 'username'); -} - -// mfa_code - -function mfaCode(m) { - return getFieldValue(m, 'mfa_code'); -} - -// select field options - -function isSelecting(m) { - return !!m.getIn(['field', 'selecting']); -} - -function renderOptionSelection(m) { - var name = m.getIn(['field', 'selecting', 'name']); - return isSelecting(m) ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__option_selection_pane__["a" /* default */], { - model: m, - name: name, - icon: m.getIn(['field', 'selecting', 'icon']), - iconUrl: m.getIn(['field', 'selecting', 'iconUrl']), - items: m.getIn(['field', name, 'options']) - }) : null; -} - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - - -/** - * WARNING: DO NOT manually require this module. - * This is a replacement for `invariant(...)` used by the error code system - * and will _only_ be required by the corresponding babel pass. - * It always throws. - */ - -function reactProdInvariant(code) { - var argCount = arguments.length - 1; - - var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; - - for (var argIdx = 0; argIdx < argCount; argIdx++) { - message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); - } - - message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; - - var error = new Error(message); - error.name = 'Invariant Violation'; - error.framesToPop = 1; // we don't care about reactProdInvariant's own frame - - throw error; -} - -module.exports = reactProdInvariant; - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var emptyFunction = __webpack_require__(21); - -/** - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. - */ - -var warning = emptyFunction; - -if (false) { - var printWarning = function printWarning(format) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var argIndex = 0; - var message = 'Warning: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - }; - - warning = function warning(condition, format) { - if (format === undefined) { - throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); - } - - if (format.indexOf('Failed Composite propType: ') === 0) { - return; // Ignore CompositeComponent proptype check. - } - - if (!condition) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - printWarning.apply(undefined, [format].concat(args)); - } - }; -} - -module.exports = warning; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - - -/* eslint-disable no-unused-vars */ -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - - -/***/ }), -/* 8 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = observe; -/* unused harmony export subscribe */ -/* unused harmony export unsubscribe */ -/* harmony export (immutable) */ __webpack_exports__["b"] = swap; -/* harmony export (immutable) */ __webpack_exports__["c"] = updateEntity; -/* harmony export (immutable) */ __webpack_exports__["f"] = setEntity; -/* harmony export (immutable) */ __webpack_exports__["d"] = read; -/* harmony export (immutable) */ __webpack_exports__["e"] = getEntity; -/* harmony export (immutable) */ __webpack_exports__["h"] = removeEntity; -/* harmony export (immutable) */ __webpack_exports__["g"] = getCollection; -/* unused harmony export updateCollection */ -/* unused harmony export getState */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_atom__ = __webpack_require__(218); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_immutable__); - - - -var store = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_atom__["a" /* default */])(new __WEBPACK_IMPORTED_MODULE_1_immutable__["Map"]({})); - -function observe(key, id, f) { - subscribe(key + '-' + id, function (_, oldState, newState) { - var m = getEntity(newState, 'lock', id); - var oldM = getEntity(oldState, 'lock', id); - if (m && !m.equals(oldM)) { - f(m); - } - }); -} - -function subscribe(key, f) { - store.addWatch(key, f); -} - -function unsubscribe(key) { - store.removeWatch(key); -} - -function swap() { - return store.swap.apply(store, arguments); -} - -function updateEntity(state, coll, id, f) { - for (var _len = arguments.length, args = Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) { - args[_key - 4] = arguments[_key]; - } - - return state.updateIn([coll, id], new __WEBPACK_IMPORTED_MODULE_1_immutable__["Map"]({}), function (x) { - return f.apply(undefined, [x].concat(args)); - }); -} - -function setEntity(state, coll, id, m) { - return state.setIn([coll, id], m); -} - -function read(f) { - for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - return f.apply(undefined, [store.deref()].concat(args)); -} - -function getEntity(state, coll) { - var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - - return state.getIn([coll, id]); -} - -function removeEntity(state, coll) { - var id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - - return state.removeIn([coll, id]); -} - -function getCollection(state, coll) { - return state.get(coll, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])()).toList(); -} - -// TODO: try to remove this fn -function updateCollection(state, coll, f) { - for (var _len3 = arguments.length, args = Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) { - args[_key3 - 3] = arguments[_key3]; - } - - return state.update(coll, function (xs) { - return f.apply(undefined, [xs].concat(args)); - }); -} - -function getState() { - return store.deref(); -} - -// DEV -// store.addWatch("keepHistory", (key, oldState, newState) => { -// if (!window.h) window.h = []; window.h.push(newState); -// console.debug("something changed", newState.toJS()); -// }); - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _prodInvariant = __webpack_require__(5); - -var DOMProperty = __webpack_require__(36); -var ReactDOMComponentFlags = __webpack_require__(131); - -var invariant = __webpack_require__(3); - -var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; -var Flags = ReactDOMComponentFlags; - -var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); - -/** - * Check if a given node should be cached. - */ -function shouldPrecacheNode(node, nodeID) { - return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' '; -} - -/** - * Drill down (through composites and empty components) until we get a host or - * host text component. - * - * This is pretty polymorphic but unavoidable with the current structure we have - * for `_renderedChildren`. - */ -function getRenderedHostOrTextFromComponent(component) { - var rendered; - while (rendered = component._renderedComponent) { - component = rendered; - } - return component; -} - -/** - * Populate `_hostNode` on the rendered host/text component with the given - * DOM node. The passed `inst` can be a composite. - */ -function precacheNode(inst, node) { - var hostInst = getRenderedHostOrTextFromComponent(inst); - hostInst._hostNode = node; - node[internalInstanceKey] = hostInst; -} - -function uncacheNode(inst) { - var node = inst._hostNode; - if (node) { - delete node[internalInstanceKey]; - inst._hostNode = null; - } -} - -/** - * Populate `_hostNode` on each child of `inst`, assuming that the children - * match up with the DOM (element) children of `node`. - * - * We cache entire levels at once to avoid an n^2 problem where we access the - * children of a node sequentially and have to walk from the start to our target - * node every time. - * - * Since we update `_renderedChildren` and the actual DOM at (slightly) - * different times, we could race here and see a newer `_renderedChildren` than - * the DOM nodes we see. To avoid this, ReactMultiChild calls - * `prepareToManageChildren` before we change `_renderedChildren`, at which - * time the container's child nodes are always cached (until it unmounts). - */ -function precacheChildNodes(inst, node) { - if (inst._flags & Flags.hasCachedChildNodes) { - return; - } - var children = inst._renderedChildren; - var childNode = node.firstChild; - outer: for (var name in children) { - if (!children.hasOwnProperty(name)) { - continue; - } - var childInst = children[name]; - var childID = getRenderedHostOrTextFromComponent(childInst)._domID; - if (childID === 0) { - // We're currently unmounting this child in ReactMultiChild; skip it. - continue; - } - // We assume the child nodes are in the same order as the child instances. - for (; childNode !== null; childNode = childNode.nextSibling) { - if (shouldPrecacheNode(childNode, childID)) { - precacheNode(childInst, childNode); - continue outer; - } - } - // We reached the end of the DOM children without finding an ID match. - true ? false ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0; - } - inst._flags |= Flags.hasCachedChildNodes; -} - -/** - * Given a DOM node, return the closest ReactDOMComponent or - * ReactDOMTextComponent instance ancestor. - */ -function getClosestInstanceFromNode(node) { - if (node[internalInstanceKey]) { - return node[internalInstanceKey]; - } - - // Walk up the tree until we find an ancestor whose instance we have cached. - var parents = []; - while (!node[internalInstanceKey]) { - parents.push(node); - if (node.parentNode) { - node = node.parentNode; - } else { - // Top of the tree. This node must not be part of a React tree (or is - // unmounted, potentially). - return null; - } - } - - var closest; - var inst; - for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { - closest = inst; - if (parents.length) { - precacheChildNodes(inst, node); - } - } - - return closest; -} - -/** - * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent - * instance, or null if the node was not rendered by this React. - */ -function getInstanceFromNode(node) { - var inst = getClosestInstanceFromNode(node); - if (inst != null && inst._hostNode === node) { - return inst; - } else { - return null; - } -} - -/** - * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding - * DOM node. - */ -function getNodeFromInstance(inst) { - // Without this first invariant, passing a non-DOM-component triggers the next - // invariant for a missing parent, which is super confusing. - !(inst._hostNode !== undefined) ? false ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; - - if (inst._hostNode) { - return inst._hostNode; - } - - // Walk up the tree until we find an ancestor whose DOM node we have cached. - var parents = []; - while (!inst._hostNode) { - parents.push(inst); - !inst._hostParent ? false ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0; - inst = inst._hostParent; - } - - // Now parents contains each ancestor that does *not* have a cached native - // node, and `inst` is the deepest ancestor that does. - for (; parents.length; inst = parents.pop()) { - precacheChildNodes(inst, inst._hostNode); - } - - return inst._hostNode; -} - -var ReactDOMComponentTree = { - getClosestInstanceFromNode: getClosestInstanceFromNode, - getInstanceFromNode: getInstanceFromNode, - getNodeFromInstance: getNodeFromInstance, - precacheChildNodes: precacheChildNodes, - precacheNode: precacheNode, - uncacheNode: uncacheNode -}; - -module.exports = ReactDOMComponentTree; - -/***/ }), -/* 10 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["f"] = initDatabase; -/* harmony export (immutable) */ __webpack_exports__["g"] = overrideDatabaseOptions; -/* harmony export (immutable) */ __webpack_exports__["e"] = defaultDatabaseConnection; -/* harmony export (immutable) */ __webpack_exports__["d"] = defaultDatabaseConnectionName; -/* harmony export (immutable) */ __webpack_exports__["r"] = databaseConnection; -/* harmony export (immutable) */ __webpack_exports__["m"] = databaseConnectionName; -/* harmony export (immutable) */ __webpack_exports__["B"] = forgotPasswordLink; -/* harmony export (immutable) */ __webpack_exports__["z"] = signUpLink; -/* harmony export (immutable) */ __webpack_exports__["s"] = setScreen; -/* harmony export (immutable) */ __webpack_exports__["j"] = getScreen; -/* unused harmony export availableScreens */ -/* harmony export (immutable) */ __webpack_exports__["k"] = getInitialScreen; -/* harmony export (immutable) */ __webpack_exports__["c"] = hasInitialScreen; -/* harmony export (immutable) */ __webpack_exports__["n"] = databaseConnectionRequiresUsername; -/* harmony export (immutable) */ __webpack_exports__["A"] = databaseUsernameStyle; -/* harmony export (immutable) */ __webpack_exports__["l"] = databaseLogInWithEmail; -/* harmony export (immutable) */ __webpack_exports__["a"] = databaseUsernameValue; -/* harmony export (immutable) */ __webpack_exports__["b"] = authWithUsername; -/* harmony export (immutable) */ __webpack_exports__["i"] = hasScreen; -/* harmony export (immutable) */ __webpack_exports__["q"] = shouldAutoLogin; -/* harmony export (immutable) */ __webpack_exports__["y"] = passwordStrengthPolicy; -/* harmony export (immutable) */ __webpack_exports__["p"] = additionalSignUpFields; -/* harmony export (immutable) */ __webpack_exports__["w"] = showTerms; -/* harmony export (immutable) */ __webpack_exports__["x"] = signUpFieldsStrictValidation; -/* harmony export (immutable) */ __webpack_exports__["o"] = signUpHideUsernameField; -/* harmony export (immutable) */ __webpack_exports__["v"] = mustAcceptTerms; -/* harmony export (immutable) */ __webpack_exports__["u"] = termsAccepted; -/* harmony export (immutable) */ __webpack_exports__["t"] = toggleTermsAcceptance; -/* harmony export (immutable) */ __webpack_exports__["h"] = resolveAdditionalSignUpFields; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sync__ = __webpack_require__(28); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_trim__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_trim___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_trim__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_tenant__ = __webpack_require__(67); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__connection_enterprise__ = __webpack_require__(13); - - - - - - - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_data_utils__["a" /* dataFns */])(['database']), - get = _dataFns.get, - initNS = _dataFns.initNS, - tget = _dataFns.tget, - tset = _dataFns.tset; - -function initDatabase(m, options) { - m = initNS(m, __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(processDatabaseOptions(options))); - m = resolveAdditionalSignUpFields(m); - return m; -} - -function assertMaybeBoolean(opts, name) { - var valid = opts[name] === undefined || typeof opts[name] === 'boolean'; - if (!valid) __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `' + name + '` option will be ignored, because it is not a booelan.'); - return valid; -} - -function assertMaybeEnum(opts, name, a) { - var valid = opts[name] === undefined || a.indexOf(opts[name]) > -1; - if (!valid) __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `' + name + '` option will be ignored, because it is not one of the following allowed values: ' + a.map(function (x) { - return JSON.stringify(x); - }).join(', ') + '.'); - return valid; -} - -function assertMaybeString(opts, name) { - var valid = opts[name] === undefined || typeof opts[name] === 'string' && __WEBPACK_IMPORTED_MODULE_5_trim___default()(opts[name]).length > 0; - if (!valid) __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `' + name + '` option will be ignored, because it is not a non-empty string.'); - return valid; -} - -function assertMaybeArray(opts, name) { - var valid = opts[name] === undefined || window.Array.isArray(opts[name]); - if (!valid) __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `' + name + '` option will be ignored, because it is not an array.'); - return valid; -} - -function processDatabaseOptions(opts) { - var additionalSignUpFields = opts.additionalSignUpFields, - defaultDatabaseConnection = opts.defaultDatabaseConnection, - forgotPasswordLink = opts.forgotPasswordLink, - loginAfterSignUp = opts.loginAfterSignUp, - mustAcceptTerms = opts.mustAcceptTerms, - showTerms = opts.showTerms, - signUpLink = opts.signUpLink, - usernameStyle = opts.usernameStyle, - signUpFieldsStrictValidation = opts.signUpFieldsStrictValidation, - signUpHideUsernameField = opts.signUpHideUsernameField; - - var _processScreenOptions = processScreenOptions(opts), - initialScreen = _processScreenOptions.initialScreen, - screens = _processScreenOptions.screens; - - if (!assertMaybeEnum(opts, 'usernameStyle', ['email', 'username'])) { - usernameStyle = undefined; - } - - if (!assertMaybeString(opts, 'defaultDatabaseConnection')) { - defaultDatabaseConnection = undefined; - } - - if (!assertMaybeString(opts, 'forgotPasswordLink')) { - forgotPasswordLink = undefined; - } - - if (!assertMaybeString(opts, 'signUpLink')) { - signUpLink = undefined; - } - - if (!assertMaybeBoolean(opts, 'mustAcceptTerms')) { - mustAcceptTerms = undefined; - } - - if (!assertMaybeBoolean(opts, 'showTerms')) { - showTerms = true; - } - - if (!assertMaybeBoolean(opts, 'signUpFieldsStrictValidation')) { - signUpFieldsStrictValidation = false; - } - - if (!assertMaybeBoolean(opts, 'signUpHideUsernameField')) { - signUpHideUsernameField = false; - } - - if (!assertMaybeArray(opts, 'additionalSignUpFields')) { - additionalSignUpFields = undefined; - } else if (additionalSignUpFields) { - additionalSignUpFields = additionalSignUpFields.reduce(function (r, x) { - var icon = x.icon, - name = x.name, - options = x.options, - placeholder = x.placeholder, - placeholderHTML = x.placeholderHTML, - prefill = x.prefill, - type = x.type, - validator = x.validator, - value = x.value, - storage = x.storage; - - var filter = true; - - var reservedNames = ['email', 'username', 'password']; - if (typeof name != 'string' || !name.match(/^[a-zA-Z0-9_]+$/) || reservedNames.indexOf(name) > -1) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'Ignoring an element of `additionalSignUpFields` because it does not contain valid `name` property. Every element of `additionalSignUpFields` must be an object with a `name` property that is a non-empty string consisting of letters, numbers and underscores. The following names are reserved, and therefore, cannot be used: ' + reservedNames.join(', ') + '.'); - filter = false; - } - - if (type !== 'hidden' && (typeof placeholder != 'string' || !placeholder) && (typeof placeholderHTML != 'string' || !placeholderHTML)) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'Ignoring an element of `additionalSignUpFields` (' + name + ') because it does not contain a valid `placeholder` or `placeholderHTML` property. Every element of `additionalSignUpFields` must have a `placeholder` or `placeholderHTML` property that is a non-empty string.'); - filter = false; - } - - if (placeholderHTML && placeholder) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'When provided, the `placeholderHTML` property of an element of `additionalSignUpFields` will override the `placeholder` property of that element'); - } - - if (icon != undefined && (typeof icon != 'string' || !icon)) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'When provided, the `icon` property of an element of `additionalSignUpFields` must be a non-empty string.'); - icon = undefined; - } - - if (prefill != undefined && (typeof prefill != 'string' || !prefill) && typeof prefill != 'function') { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'When provided, the `prefill` property of an element of `additionalSignUpFields` must be a non-empty string or a function.'); - prefill = undefined; - } - - var types = ['select', 'text', 'checkbox', 'hidden']; - if (type != undefined && (typeof type != 'string' || types.indexOf(type) === -1)) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'When provided, the `type` property of an element of `additionalSignUpFields` must be one of the following strings: "' + types.join('", "') + '".'); - type = undefined; - } - - if (validator != undefined && type === 'select') { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'Elements of `additionalSignUpFields` with a "select" `type` cannot specify a `validator` function, all of its `options` are assumed to be valid.'); - validator = undefined; - } - - if (validator != undefined && typeof validator != 'function') { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'When provided, the `validator` property of an element of `additionalSignUpFields` must be a function.'); - validator = undefined; - } - - if (options != undefined && type != 'select') { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `options` property can only by provided for an element of `additionalSignUpFields` when its `type` equals to "select"'); - options = undefined; - } - - if (options != undefined && !window.Array.isArray(options) && typeof options != 'function' || type === 'select' && options === undefined) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'Ignoring an element of `additionalSignUpFields` (' + name + ') because it has a "select" `type` but does not specify an `options` property that is an Array or a function.'); - filter = false; - } - if (type === 'hidden' && !value) { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'Ignoring an element of `additionalSignUpFields` (' + name + ') because it has a "hidden" `type` but does not specify a `value` string.'); - filter = false; - } - - return filter ? r.concat([{ - icon: icon, - name: name, - options: options, - placeholder: placeholder, - placeholderHTML: placeholderHTML, - prefill: prefill, - type: type, - validator: validator, - value: value, - storage: storage - }]) : r; - }, []); - - additionalSignUpFields = __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(additionalSignUpFields).map(function (x) { - return x.filter(function (y) { - return y !== undefined; - }); - }); - } - - // TODO: add a warning if it is not a boolean, leave it undefined, - // and change accessor fn. - loginAfterSignUp = loginAfterSignUp === false ? false : true; - - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])({ - additionalSignUpFields: additionalSignUpFields, - defaultConnectionName: defaultDatabaseConnection, - forgotPasswordLink: forgotPasswordLink, - initialScreen: initialScreen, - loginAfterSignUp: loginAfterSignUp, - mustAcceptTerms: mustAcceptTerms, - showTerms: showTerms, - screens: screens, - signUpLink: signUpLink, - usernameStyle: usernameStyle, - signUpFieldsStrictValidation: signUpFieldsStrictValidation, - signUpHideUsernameField: signUpHideUsernameField - }).filter(function (x) { - return typeof x !== 'undefined'; - }).toJS(); -} - -function processScreenOptions(opts) { - var defaults = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { - allowLogin: true, - allowSignUp: true, - allowForgotPassword: true, - initialScreen: undefined - }; - var allowForgotPassword = opts.allowForgotPassword, - allowLogin = opts.allowLogin, - allowSignUp = opts.allowSignUp, - initialScreen = opts.initialScreen; - - - var screens = []; - - if (allowLogin === true || !assertMaybeBoolean(opts, 'allowLogin') && defaults.allowLogin || allowLogin === undefined && defaults.allowLogin) { - screens.push('login'); - } - - if (allowSignUp === true || !assertMaybeBoolean(opts, 'allowSignUp') && defaults.allowSignUp || allowSignUp === undefined && defaults.allowSignUp) { - screens.push('signUp'); - } - - if (allowForgotPassword === true || !assertMaybeBoolean(opts, 'allowForgotPassword') && defaults.allowForgotPassword || allowForgotPassword === undefined && defaults.allowForgotPassword) { - screens.push('forgotPassword'); - } - - screens.push('mfaLogin'); - - if (!assertMaybeEnum(opts, 'initialScreen', screens)) { - initialScreen = undefined; - } - - if (initialScreen === undefined) { - initialScreen = defaults.initialScreen || screens[0]; - } - - return { initialScreen: initialScreen, screens: new __WEBPACK_IMPORTED_MODULE_0_immutable__["List"](screens) }; -} - -function overrideDatabaseOptions(m, opts) { - var _processScreenOptions2 = processScreenOptions(opts, { - allowLogin: availableScreens(m).contains('login'), - allowSignUp: availableScreens(m).contains('signUp'), - allowForgotPassword: availableScreens(m).contains('forgotPassword'), - initialScreen: get(m, 'initialScreen') - }), - initialScreen = _processScreenOptions2.initialScreen, - screens = _processScreenOptions2.screens; - - m = tset(m, 'initialScreen', initialScreen); - m = tset(m, 'screens', screens); - return m; -} - -function defaultDatabaseConnection(m) { - var name = defaultDatabaseConnectionName(m); - return name && __WEBPACK_IMPORTED_MODULE_1__core_index__["findConnection"](m, name); -} - -function defaultDatabaseConnectionName(m) { - return get(m, 'defaultConnectionName'); -} - -function databaseConnection(m) { - return __WEBPACK_IMPORTED_MODULE_1__core_index__["resolvedConnection"](m) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__core_tenant__["b" /* defaultDirectory */])(m) || defaultDatabaseConnection(m) || __WEBPACK_IMPORTED_MODULE_1__core_index__["connection"](m, 'database'); -} - -function databaseConnectionName(m) { - return (databaseConnection(m) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])()).get('name'); -} - -function forgotPasswordLink(m) { - var notFound = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - - return get(m, 'forgotPasswordLink', notFound); -} - -function signUpLink(m) { - var notFound = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - - return get(m, 'signUpLink', notFound); -} - -function setScreen(m, name) { - var fields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - // TODO: the lock/index module should provide a way to clear - // everything that needs the be cleared when changing screens, other - // modules should not care. - m = __WEBPACK_IMPORTED_MODULE_1__core_index__["clearGlobalError"](m); - m = __WEBPACK_IMPORTED_MODULE_1__core_index__["clearGlobalSuccess"](m); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["a" /* hideInvalidFields */])(m, fields); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["b" /* clearFields */])(m, fields); - - return tset(m, 'screen', name); -} - -function getScreen(m) { - var screen = tget(m, 'screen'); - var initialScreen = getInitialScreen(m); - var screens = [screen, initialScreen, 'login', 'signUp', 'forgotPassword', 'mfaLogin']; - var availableScreens = screens.filter(function (x) { - return hasScreen(m, x); - }); - return availableScreens[0]; -} - -function availableScreens(m) { - return tget(m, 'screens') || get(m, 'screens', new __WEBPACK_IMPORTED_MODULE_0_immutable__["List"]()); -} - -function getInitialScreen(m) { - return tget(m, 'initialScreen') || get(m, 'initialScreen'); -} - -function hasInitialScreen(m, str) { - return getInitialScreen(m) === str; -} - -function databaseConnectionRequiresUsername(m) { - return (databaseConnection(m) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])()).toJS().requireUsername; -} - -function databaseUsernameStyle(m) { - if (__WEBPACK_IMPORTED_MODULE_1__core_index__["hasSomeConnections"](m, 'database')) { - if (__WEBPACK_IMPORTED_MODULE_1__core_index__["connectionResolver"](m)) { - return 'username'; - } - - return databaseConnectionRequiresUsername(m) ? get(m, 'usernameStyle', 'any') : 'email'; - } - - return __WEBPACK_IMPORTED_MODULE_1__core_index__["hasSomeConnections"](m, 'enterprise') && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["j" /* findADConnectionWithoutDomain */])(m) ? 'username' : 'email'; -} - -function databaseLogInWithEmail(m) { - return databaseUsernameStyle(m) === 'email'; -} - -function databaseUsernameValue(m) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var isEmailOnly = databaseLogInWithEmail(m); - if (isEmailOnly) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["c" /* getFieldValue */])(m, 'email'); - } - if (options.emailFirst) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["c" /* getFieldValue */])(m, 'email') || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["c" /* getFieldValue */])(m, 'username'); - } - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["c" /* getFieldValue */])(m, 'username') || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["c" /* getFieldValue */])(m, 'email'); -} - -function authWithUsername(m) { - return databaseConnectionRequiresUsername(m) || get(m, 'usernameStyle', 'email') === 'username'; -} - -function hasScreen(m, s) { - var _toJS = (databaseConnection(m) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])()).toJS(), - allowForgot = _toJS.allowForgot, - allowSignup = _toJS.allowSignup; - - return !(allowForgot === false && s === 'forgotPassword') && !(allowSignup === false && s === 'signUp') && availableScreens(m).contains(s); -} - -function shouldAutoLogin(m) { - return get(m, 'loginAfterSignUp'); -} - -function passwordStrengthPolicy(m) { - return (databaseConnection(m) || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])()).get('passwordPolicy', 'none'); -} - -function additionalSignUpFields(m) { - return get(m, 'additionalSignUpFields', __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["List"])()); -} - -function showTerms(m) { - return get(m, 'showTerms', true); -} - -function signUpFieldsStrictValidation(m) { - return get(m, 'signUpFieldsStrictValidation', false); -} - -function signUpHideUsernameField(m) { - return get(m, 'signUpHideUsernameField', false); -} - -function mustAcceptTerms(m) { - return get(m, 'mustAcceptTerms', false); -} - -function termsAccepted(m) { - return !mustAcceptTerms(m) || tget(m, 'termsAccepted', false); -} - -function toggleTermsAcceptance(m) { - return tset(m, 'termsAccepted', !termsAccepted(m)); -} - -function resolveAdditionalSignUpFields(m) { - return additionalSignUpFields(m).reduce(function (r, x) { - switch (x.get('type')) { - case 'select': - return resolveAdditionalSignUpSelectField(r, x); - case 'hidden': - return resolveAdditionalSignUpHiddenField(r, x); - default: - return resolveAdditionalSignUpTextField(r, x); - } - }, m); -} - -function resolveAdditionalSignUpSelectField(m, x) { - var name = x.get('name'); - var keyNs = ['additionalSignUpField', name]; - var prefill = x.get('prefill'); - var options = x.get('options'); - - var resolvedPrefill = typeof prefill === 'function' ? undefined : prefill || ''; - var resolvedOptions = typeof options === 'function' ? undefined : options; - - var register = function register(m) { - return resolvedPrefill !== undefined && resolvedOptions !== undefined ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["d" /* registerOptionField */])(m, name, __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(resolvedOptions), resolvedPrefill) : m; - }; - - if (resolvedPrefill === undefined) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__sync__["d" /* default */])(m, keyNs.concat('prefill'), { - recoverResult: '', - successFn: function successFn(m, result) { - resolvedPrefill = result; - return register(m); - }, - syncFn: function syncFn(m, cb) { - return prefill(cb); - } - }); - } - - if (resolvedOptions === undefined) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__sync__["d" /* default */])(m, keyNs.concat('options'), { - successFn: function successFn(m, result) { - resolvedOptions = result; - return register(m); - }, - syncFn: function syncFn(m, cb) { - return options(cb); - } - }); - } - - if (resolvedPrefill !== undefined && resolvedOptions !== undefined) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["d" /* registerOptionField */])(m, name, __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(resolvedOptions), resolvedPrefill); - } - - return m; -} - -function resolveAdditionalSignUpTextField(m, x) { - var name = x.get('name'); - var key = ['additionalSignUpField', name, 'prefill']; - var prefill = x.get('prefill'); - var validator = x.get('validator'); - - var resolvedPrefill = typeof prefill === 'function' ? undefined : prefill || ''; - - if (resolvedPrefill === undefined) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__sync__["d" /* default */])(m, key, { - recoverResult: '', - successFn: function successFn(m, result) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["e" /* setField */])(m, name, result, validator); - }, - syncFn: function syncFn(m, cb) { - return prefill(cb); - } - }); - } else { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["e" /* setField */])(m, name, resolvedPrefill, validator); - } - - return m; -} - -function resolveAdditionalSignUpHiddenField(m, x) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["e" /* setField */])(m, x.get('name'), x.get('value')); -} - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -(function (global, factory) { - true ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Immutable = factory()); -}(this, function () { 'use strict';var SLICE$0 = Array.prototype.slice; - - function createClass(ctor, superClass) { - if (superClass) { - ctor.prototype = Object.create(superClass.prototype); - } - ctor.prototype.constructor = ctor; - } - - function Iterable(value) { - return isIterable(value) ? value : Seq(value); - } - - - createClass(KeyedIterable, Iterable); - function KeyedIterable(value) { - return isKeyed(value) ? value : KeyedSeq(value); - } - - - createClass(IndexedIterable, Iterable); - function IndexedIterable(value) { - return isIndexed(value) ? value : IndexedSeq(value); - } - - - createClass(SetIterable, Iterable); - function SetIterable(value) { - return isIterable(value) && !isAssociative(value) ? value : SetSeq(value); - } - - - - function isIterable(maybeIterable) { - return !!(maybeIterable && maybeIterable[IS_ITERABLE_SENTINEL]); - } - - function isKeyed(maybeKeyed) { - return !!(maybeKeyed && maybeKeyed[IS_KEYED_SENTINEL]); - } - - function isIndexed(maybeIndexed) { - return !!(maybeIndexed && maybeIndexed[IS_INDEXED_SENTINEL]); - } - - function isAssociative(maybeAssociative) { - return isKeyed(maybeAssociative) || isIndexed(maybeAssociative); - } - - function isOrdered(maybeOrdered) { - return !!(maybeOrdered && maybeOrdered[IS_ORDERED_SENTINEL]); - } - - Iterable.isIterable = isIterable; - Iterable.isKeyed = isKeyed; - Iterable.isIndexed = isIndexed; - Iterable.isAssociative = isAssociative; - Iterable.isOrdered = isOrdered; - - Iterable.Keyed = KeyedIterable; - Iterable.Indexed = IndexedIterable; - Iterable.Set = SetIterable; - - - var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@'; - var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@'; - var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@'; - var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@'; - - // Used for setting prototype methods that IE8 chokes on. - var DELETE = 'delete'; - - // Constants describing the size of trie nodes. - var SHIFT = 5; // Resulted in best performance after ______? - var SIZE = 1 << SHIFT; - var MASK = SIZE - 1; - - // A consistent shared value representing "not set" which equals nothing other - // than itself, and nothing that could be provided externally. - var NOT_SET = {}; - - // Boolean references, Rough equivalent of `bool &`. - var CHANGE_LENGTH = { value: false }; - var DID_ALTER = { value: false }; - - function MakeRef(ref) { - ref.value = false; - return ref; - } - - function SetRef(ref) { - ref && (ref.value = true); - } - - // A function which returns a value representing an "owner" for transient writes - // to tries. The return value will only ever equal itself, and will not equal - // the return of any subsequent call of this function. - function OwnerID() {} - - // http://jsperf.com/copy-array-inline - function arrCopy(arr, offset) { - offset = offset || 0; - var len = Math.max(0, arr.length - offset); - var newArr = new Array(len); - for (var ii = 0; ii < len; ii++) { - newArr[ii] = arr[ii + offset]; - } - return newArr; - } - - function ensureSize(iter) { - if (iter.size === undefined) { - iter.size = iter.__iterate(returnTrue); - } - return iter.size; - } - - function wrapIndex(iter, index) { - // This implements "is array index" which the ECMAString spec defines as: - // - // A String property name P is an array index if and only if - // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal - // to 2^32−1. - // - // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects - if (typeof index !== 'number') { - var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32 - if ('' + uint32Index !== index || uint32Index === 4294967295) { - return NaN; - } - index = uint32Index; - } - return index < 0 ? ensureSize(iter) + index : index; - } - - function returnTrue() { - return true; - } - - function wholeSlice(begin, end, size) { - return (begin === 0 || (size !== undefined && begin <= -size)) && - (end === undefined || (size !== undefined && end >= size)); - } - - function resolveBegin(begin, size) { - return resolveIndex(begin, size, 0); - } - - function resolveEnd(end, size) { - return resolveIndex(end, size, size); - } - - function resolveIndex(index, size, defaultIndex) { - return index === undefined ? - defaultIndex : - index < 0 ? - Math.max(0, size + index) : - size === undefined ? - index : - Math.min(size, index); - } - - /* global Symbol */ - - var ITERATE_KEYS = 0; - var ITERATE_VALUES = 1; - var ITERATE_ENTRIES = 2; - - var REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; - var FAUX_ITERATOR_SYMBOL = '@@iterator'; - - var ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL; - - - function Iterator(next) { - this.next = next; - } - - Iterator.prototype.toString = function() { - return '[Iterator]'; - }; - - - Iterator.KEYS = ITERATE_KEYS; - Iterator.VALUES = ITERATE_VALUES; - Iterator.ENTRIES = ITERATE_ENTRIES; - - Iterator.prototype.inspect = - Iterator.prototype.toSource = function () { return this.toString(); } - Iterator.prototype[ITERATOR_SYMBOL] = function () { - return this; - }; - - - function iteratorValue(type, k, v, iteratorResult) { - var value = type === 0 ? k : type === 1 ? v : [k, v]; - iteratorResult ? (iteratorResult.value = value) : (iteratorResult = { - value: value, done: false - }); - return iteratorResult; - } - - function iteratorDone() { - return { value: undefined, done: true }; - } - - function hasIterator(maybeIterable) { - return !!getIteratorFn(maybeIterable); - } - - function isIterator(maybeIterator) { - return maybeIterator && typeof maybeIterator.next === 'function'; - } - - function getIterator(iterable) { - var iteratorFn = getIteratorFn(iterable); - return iteratorFn && iteratorFn.call(iterable); - } - - function getIteratorFn(iterable) { - var iteratorFn = iterable && ( - (REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) || - iterable[FAUX_ITERATOR_SYMBOL] - ); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } - } - - function isArrayLike(value) { - return value && typeof value.length === 'number'; - } - - createClass(Seq, Iterable); - function Seq(value) { - return value === null || value === undefined ? emptySequence() : - isIterable(value) ? value.toSeq() : seqFromValue(value); - } - - Seq.of = function(/*...values*/) { - return Seq(arguments); - }; - - Seq.prototype.toSeq = function() { - return this; - }; - - Seq.prototype.toString = function() { - return this.__toString('Seq {', '}'); - }; - - Seq.prototype.cacheResult = function() { - if (!this._cache && this.__iterateUncached) { - this._cache = this.entrySeq().toArray(); - this.size = this._cache.length; - } - return this; - }; - - // abstract __iterateUncached(fn, reverse) - - Seq.prototype.__iterate = function(fn, reverse) { - return seqIterate(this, fn, reverse, true); - }; - - // abstract __iteratorUncached(type, reverse) - - Seq.prototype.__iterator = function(type, reverse) { - return seqIterator(this, type, reverse, true); - }; - - - - createClass(KeyedSeq, Seq); - function KeyedSeq(value) { - return value === null || value === undefined ? - emptySequence().toKeyedSeq() : - isIterable(value) ? - (isKeyed(value) ? value.toSeq() : value.fromEntrySeq()) : - keyedSeqFromValue(value); - } - - KeyedSeq.prototype.toKeyedSeq = function() { - return this; - }; - - - - createClass(IndexedSeq, Seq); - function IndexedSeq(value) { - return value === null || value === undefined ? emptySequence() : - !isIterable(value) ? indexedSeqFromValue(value) : - isKeyed(value) ? value.entrySeq() : value.toIndexedSeq(); - } - - IndexedSeq.of = function(/*...values*/) { - return IndexedSeq(arguments); - }; - - IndexedSeq.prototype.toIndexedSeq = function() { - return this; - }; - - IndexedSeq.prototype.toString = function() { - return this.__toString('Seq [', ']'); - }; - - IndexedSeq.prototype.__iterate = function(fn, reverse) { - return seqIterate(this, fn, reverse, false); - }; - - IndexedSeq.prototype.__iterator = function(type, reverse) { - return seqIterator(this, type, reverse, false); - }; - - - - createClass(SetSeq, Seq); - function SetSeq(value) { - return ( - value === null || value === undefined ? emptySequence() : - !isIterable(value) ? indexedSeqFromValue(value) : - isKeyed(value) ? value.entrySeq() : value - ).toSetSeq(); - } - - SetSeq.of = function(/*...values*/) { - return SetSeq(arguments); - }; - - SetSeq.prototype.toSetSeq = function() { - return this; - }; - - - - Seq.isSeq = isSeq; - Seq.Keyed = KeyedSeq; - Seq.Set = SetSeq; - Seq.Indexed = IndexedSeq; - - var IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@'; - - Seq.prototype[IS_SEQ_SENTINEL] = true; - - - - createClass(ArraySeq, IndexedSeq); - function ArraySeq(array) { - this._array = array; - this.size = array.length; - } - - ArraySeq.prototype.get = function(index, notSetValue) { - return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue; - }; - - ArraySeq.prototype.__iterate = function(fn, reverse) { - var array = this._array; - var maxIndex = array.length - 1; - for (var ii = 0; ii <= maxIndex; ii++) { - if (fn(array[reverse ? maxIndex - ii : ii], ii, this) === false) { - return ii + 1; - } - } - return ii; - }; - - ArraySeq.prototype.__iterator = function(type, reverse) { - var array = this._array; - var maxIndex = array.length - 1; - var ii = 0; - return new Iterator(function() - {return ii > maxIndex ? - iteratorDone() : - iteratorValue(type, ii, array[reverse ? maxIndex - ii++ : ii++])} - ); - }; - - - - createClass(ObjectSeq, KeyedSeq); - function ObjectSeq(object) { - var keys = Object.keys(object); - this._object = object; - this._keys = keys; - this.size = keys.length; - } - - ObjectSeq.prototype.get = function(key, notSetValue) { - if (notSetValue !== undefined && !this.has(key)) { - return notSetValue; - } - return this._object[key]; - }; - - ObjectSeq.prototype.has = function(key) { - return this._object.hasOwnProperty(key); - }; - - ObjectSeq.prototype.__iterate = function(fn, reverse) { - var object = this._object; - var keys = this._keys; - var maxIndex = keys.length - 1; - for (var ii = 0; ii <= maxIndex; ii++) { - var key = keys[reverse ? maxIndex - ii : ii]; - if (fn(object[key], key, this) === false) { - return ii + 1; - } - } - return ii; - }; - - ObjectSeq.prototype.__iterator = function(type, reverse) { - var object = this._object; - var keys = this._keys; - var maxIndex = keys.length - 1; - var ii = 0; - return new Iterator(function() { - var key = keys[reverse ? maxIndex - ii : ii]; - return ii++ > maxIndex ? - iteratorDone() : - iteratorValue(type, key, object[key]); - }); - }; - - ObjectSeq.prototype[IS_ORDERED_SENTINEL] = true; - - - createClass(IterableSeq, IndexedSeq); - function IterableSeq(iterable) { - this._iterable = iterable; - this.size = iterable.length || iterable.size; - } - - IterableSeq.prototype.__iterateUncached = function(fn, reverse) { - if (reverse) { - return this.cacheResult().__iterate(fn, reverse); - } - var iterable = this._iterable; - var iterator = getIterator(iterable); - var iterations = 0; - if (isIterator(iterator)) { - var step; - while (!(step = iterator.next()).done) { - if (fn(step.value, iterations++, this) === false) { - break; - } - } - } - return iterations; - }; - - IterableSeq.prototype.__iteratorUncached = function(type, reverse) { - if (reverse) { - return this.cacheResult().__iterator(type, reverse); - } - var iterable = this._iterable; - var iterator = getIterator(iterable); - if (!isIterator(iterator)) { - return new Iterator(iteratorDone); - } - var iterations = 0; - return new Iterator(function() { - var step = iterator.next(); - return step.done ? step : iteratorValue(type, iterations++, step.value); - }); - }; - - - - createClass(IteratorSeq, IndexedSeq); - function IteratorSeq(iterator) { - this._iterator = iterator; - this._iteratorCache = []; - } - - IteratorSeq.prototype.__iterateUncached = function(fn, reverse) { - if (reverse) { - return this.cacheResult().__iterate(fn, reverse); - } - var iterator = this._iterator; - var cache = this._iteratorCache; - var iterations = 0; - while (iterations < cache.length) { - if (fn(cache[iterations], iterations++, this) === false) { - return iterations; - } - } - var step; - while (!(step = iterator.next()).done) { - var val = step.value; - cache[iterations] = val; - if (fn(val, iterations++, this) === false) { - break; - } - } - return iterations; - }; - - IteratorSeq.prototype.__iteratorUncached = function(type, reverse) { - if (reverse) { - return this.cacheResult().__iterator(type, reverse); - } - var iterator = this._iterator; - var cache = this._iteratorCache; - var iterations = 0; - return new Iterator(function() { - if (iterations >= cache.length) { - var step = iterator.next(); - if (step.done) { - return step; - } - cache[iterations] = step.value; - } - return iteratorValue(type, iterations, cache[iterations++]); - }); - }; - - - - - // # pragma Helper functions - - function isSeq(maybeSeq) { - return !!(maybeSeq && maybeSeq[IS_SEQ_SENTINEL]); - } - - var EMPTY_SEQ; - - function emptySequence() { - return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([])); - } - - function keyedSeqFromValue(value) { - var seq = - Array.isArray(value) ? new ArraySeq(value).fromEntrySeq() : - isIterator(value) ? new IteratorSeq(value).fromEntrySeq() : - hasIterator(value) ? new IterableSeq(value).fromEntrySeq() : - typeof value === 'object' ? new ObjectSeq(value) : - undefined; - if (!seq) { - throw new TypeError( - 'Expected Array or iterable object of [k, v] entries, '+ - 'or keyed object: ' + value - ); - } - return seq; - } - - function indexedSeqFromValue(value) { - var seq = maybeIndexedSeqFromValue(value); - if (!seq) { - throw new TypeError( - 'Expected Array or iterable object of values: ' + value - ); - } - return seq; - } - - function seqFromValue(value) { - var seq = maybeIndexedSeqFromValue(value) || - (typeof value === 'object' && new ObjectSeq(value)); - if (!seq) { - throw new TypeError( - 'Expected Array or iterable object of values, or keyed object: ' + value - ); - } - return seq; - } - - function maybeIndexedSeqFromValue(value) { - return ( - isArrayLike(value) ? new ArraySeq(value) : - isIterator(value) ? new IteratorSeq(value) : - hasIterator(value) ? new IterableSeq(value) : - undefined - ); - } - - function seqIterate(seq, fn, reverse, useKeys) { - var cache = seq._cache; - if (cache) { - var maxIndex = cache.length - 1; - for (var ii = 0; ii <= maxIndex; ii++) { - var entry = cache[reverse ? maxIndex - ii : ii]; - if (fn(entry[1], useKeys ? entry[0] : ii, seq) === false) { - return ii + 1; - } - } - return ii; - } - return seq.__iterateUncached(fn, reverse); - } - - function seqIterator(seq, type, reverse, useKeys) { - var cache = seq._cache; - if (cache) { - var maxIndex = cache.length - 1; - var ii = 0; - return new Iterator(function() { - var entry = cache[reverse ? maxIndex - ii : ii]; - return ii++ > maxIndex ? - iteratorDone() : - iteratorValue(type, useKeys ? entry[0] : ii - 1, entry[1]); - }); - } - return seq.__iteratorUncached(type, reverse); - } - - function fromJS(json, converter) { - return converter ? - fromJSWith(converter, json, '', {'': json}) : - fromJSDefault(json); - } - - function fromJSWith(converter, json, key, parentJSON) { - if (Array.isArray(json)) { - return converter.call(parentJSON, key, IndexedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)})); - } - if (isPlainObj(json)) { - return converter.call(parentJSON, key, KeyedSeq(json).map(function(v, k) {return fromJSWith(converter, v, k, json)})); - } - return json; - } - - function fromJSDefault(json) { - if (Array.isArray(json)) { - return IndexedSeq(json).map(fromJSDefault).toList(); - } - if (isPlainObj(json)) { - return KeyedSeq(json).map(fromJSDefault).toMap(); - } - return json; - } - - function isPlainObj(value) { - return value && (value.constructor === Object || value.constructor === undefined); - } - - /** - * An extension of the "same-value" algorithm as [described for use by ES6 Map - * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality) - * - * NaN is considered the same as NaN, however -0 and 0 are considered the same - * value, which is different from the algorithm described by - * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is). - * - * This is extended further to allow Objects to describe the values they - * represent, by way of `valueOf` or `equals` (and `hashCode`). - * - * Note: because of this extension, the key equality of Immutable.Map and the - * value equality of Immutable.Set will differ from ES6 Map and Set. - * - * ### Defining custom values - * - * The easiest way to describe the value an object represents is by implementing - * `valueOf`. For example, `Date` represents a value by returning a unix - * timestamp for `valueOf`: - * - * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ... - * var date2 = new Date(1234567890000); - * date1.valueOf(); // 1234567890000 - * assert( date1 !== date2 ); - * assert( Immutable.is( date1, date2 ) ); - * - * Note: overriding `valueOf` may have other implications if you use this object - * where JavaScript expects a primitive, such as implicit string coercion. - * - * For more complex types, especially collections, implementing `valueOf` may - * not be performant. An alternative is to implement `equals` and `hashCode`. - * - * `equals` takes another object, presumably of similar type, and returns true - * if the it is equal. Equality is symmetrical, so the same result should be - * returned if this and the argument are flipped. - * - * assert( a.equals(b) === b.equals(a) ); - * - * `hashCode` returns a 32bit integer number representing the object which will - * be used to determine how to store the value object in a Map or Set. You must - * provide both or neither methods, one must not exist without the other. - * - * Also, an important relationship between these methods must be upheld: if two - * values are equal, they *must* return the same hashCode. If the values are not - * equal, they might have the same hashCode; this is called a hash collision, - * and while undesirable for performance reasons, it is acceptable. - * - * if (a.equals(b)) { - * assert( a.hashCode() === b.hashCode() ); - * } - * - * All Immutable collections implement `equals` and `hashCode`. - * - */ - function is(valueA, valueB) { - if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { - return true; - } - if (!valueA || !valueB) { - return false; - } - if (typeof valueA.valueOf === 'function' && - typeof valueB.valueOf === 'function') { - valueA = valueA.valueOf(); - valueB = valueB.valueOf(); - if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) { - return true; - } - if (!valueA || !valueB) { - return false; - } - } - if (typeof valueA.equals === 'function' && - typeof valueB.equals === 'function' && - valueA.equals(valueB)) { - return true; - } - return false; - } - - function deepEqual(a, b) { - if (a === b) { - return true; - } - - if ( - !isIterable(b) || - a.size !== undefined && b.size !== undefined && a.size !== b.size || - a.__hash !== undefined && b.__hash !== undefined && a.__hash !== b.__hash || - isKeyed(a) !== isKeyed(b) || - isIndexed(a) !== isIndexed(b) || - isOrdered(a) !== isOrdered(b) - ) { - return false; - } - - if (a.size === 0 && b.size === 0) { - return true; - } - - var notAssociative = !isAssociative(a); - - if (isOrdered(a)) { - var entries = a.entries(); - return b.every(function(v, k) { - var entry = entries.next().value; - return entry && is(entry[1], v) && (notAssociative || is(entry[0], k)); - }) && entries.next().done; - } - - var flipped = false; - - if (a.size === undefined) { - if (b.size === undefined) { - if (typeof a.cacheResult === 'function') { - a.cacheResult(); - } - } else { - flipped = true; - var _ = a; - a = b; - b = _; - } - } - - var allEqual = true; - var bSize = b.__iterate(function(v, k) { - if (notAssociative ? !a.has(v) : - flipped ? !is(v, a.get(k, NOT_SET)) : !is(a.get(k, NOT_SET), v)) { - allEqual = false; - return false; - } - }); - - return allEqual && a.size === bSize; - } - - createClass(Repeat, IndexedSeq); - - function Repeat(value, times) { - if (!(this instanceof Repeat)) { - return new Repeat(value, times); - } - this._value = value; - this.size = times === undefined ? Infinity : Math.max(0, times); - if (this.size === 0) { - if (EMPTY_REPEAT) { - return EMPTY_REPEAT; - } - EMPTY_REPEAT = this; - } - } - - Repeat.prototype.toString = function() { - if (this.size === 0) { - return 'Repeat []'; - } - return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]'; - }; - - Repeat.prototype.get = function(index, notSetValue) { - return this.has(index) ? this._value : notSetValue; - }; - - Repeat.prototype.includes = function(searchValue) { - return is(this._value, searchValue); - }; - - Repeat.prototype.slice = function(begin, end) { - var size = this.size; - return wholeSlice(begin, end, size) ? this : - new Repeat(this._value, resolveEnd(end, size) - resolveBegin(begin, size)); - }; - - Repeat.prototype.reverse = function() { - return this; - }; - - Repeat.prototype.indexOf = function(searchValue) { - if (is(this._value, searchValue)) { - return 0; - } - return -1; - }; - - Repeat.prototype.lastIndexOf = function(searchValue) { - if (is(this._value, searchValue)) { - return this.size; - } - return -1; - }; - - Repeat.prototype.__iterate = function(fn, reverse) { - for (var ii = 0; ii < this.size; ii++) { - if (fn(this._value, ii, this) === false) { - return ii + 1; - } - } - return ii; - }; - - Repeat.prototype.__iterator = function(type, reverse) {var this$0 = this; - var ii = 0; - return new Iterator(function() - {return ii < this$0.size ? iteratorValue(type, ii++, this$0._value) : iteratorDone()} - ); - }; - - Repeat.prototype.equals = function(other) { - return other instanceof Repeat ? - is(this._value, other._value) : - deepEqual(other); - }; - - - var EMPTY_REPEAT; - - function invariant(condition, error) { - if (!condition) throw new Error(error); - } - - createClass(Range, IndexedSeq); - - function Range(start, end, step) { - if (!(this instanceof Range)) { - return new Range(start, end, step); - } - invariant(step !== 0, 'Cannot step a Range by 0'); - start = start || 0; - if (end === undefined) { - end = Infinity; - } - step = step === undefined ? 1 : Math.abs(step); - if (end < start) { - step = -step; - } - this._start = start; - this._end = end; - this._step = step; - this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1); - if (this.size === 0) { - if (EMPTY_RANGE) { - return EMPTY_RANGE; - } - EMPTY_RANGE = this; - } - } - - Range.prototype.toString = function() { - if (this.size === 0) { - return 'Range []'; - } - return 'Range [ ' + - this._start + '...' + this._end + - (this._step !== 1 ? ' by ' + this._step : '') + - ' ]'; - }; - - Range.prototype.get = function(index, notSetValue) { - return this.has(index) ? - this._start + wrapIndex(this, index) * this._step : - notSetValue; - }; - - Range.prototype.includes = function(searchValue) { - var possibleIndex = (searchValue - this._start) / this._step; - return possibleIndex >= 0 && - possibleIndex < this.size && - possibleIndex === Math.floor(possibleIndex); - }; - - Range.prototype.slice = function(begin, end) { - if (wholeSlice(begin, end, this.size)) { - return this; - } - begin = resolveBegin(begin, this.size); - end = resolveEnd(end, this.size); - if (end <= begin) { - return new Range(0, 0); - } - return new Range(this.get(begin, this._end), this.get(end, this._end), this._step); - }; - - Range.prototype.indexOf = function(searchValue) { - var offsetValue = searchValue - this._start; - if (offsetValue % this._step === 0) { - var index = offsetValue / this._step; - if (index >= 0 && index < this.size) { - return index - } - } - return -1; - }; - - Range.prototype.lastIndexOf = function(searchValue) { - return this.indexOf(searchValue); - }; - - Range.prototype.__iterate = function(fn, reverse) { - var maxIndex = this.size - 1; - var step = this._step; - var value = reverse ? this._start + maxIndex * step : this._start; - for (var ii = 0; ii <= maxIndex; ii++) { - if (fn(value, ii, this) === false) { - return ii + 1; - } - value += reverse ? -step : step; - } - return ii; - }; - - Range.prototype.__iterator = function(type, reverse) { - var maxIndex = this.size - 1; - var step = this._step; - var value = reverse ? this._start + maxIndex * step : this._start; - var ii = 0; - return new Iterator(function() { - var v = value; - value += reverse ? -step : step; - return ii > maxIndex ? iteratorDone() : iteratorValue(type, ii++, v); - }); - }; - - Range.prototype.equals = function(other) { - return other instanceof Range ? - this._start === other._start && - this._end === other._end && - this._step === other._step : - deepEqual(this, other); - }; - - - var EMPTY_RANGE; - - createClass(Collection, Iterable); - function Collection() { - throw TypeError('Abstract'); - } - - - createClass(KeyedCollection, Collection);function KeyedCollection() {} - - createClass(IndexedCollection, Collection);function IndexedCollection() {} - - createClass(SetCollection, Collection);function SetCollection() {} - - - Collection.Keyed = KeyedCollection; - Collection.Indexed = IndexedCollection; - Collection.Set = SetCollection; - - var imul = - typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2 ? - Math.imul : - function imul(a, b) { - a = a | 0; // int - b = b | 0; // int - var c = a & 0xffff; - var d = b & 0xffff; - // Shift by 0 fixes the sign on the high part. - return (c * d) + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0) | 0; // int - }; - - // v8 has an optimization for storing 31-bit signed numbers. - // Values which have either 00 or 11 as the high order bits qualify. - // This function drops the highest order bit in a signed number, maintaining - // the sign bit. - function smi(i32) { - return ((i32 >>> 1) & 0x40000000) | (i32 & 0xBFFFFFFF); - } - - function hash(o) { - if (o === false || o === null || o === undefined) { - return 0; - } - if (typeof o.valueOf === 'function') { - o = o.valueOf(); - if (o === false || o === null || o === undefined) { - return 0; - } - } - if (o === true) { - return 1; - } - var type = typeof o; - if (type === 'number') { - if (o !== o || o === Infinity) { - return 0; - } - var h = o | 0; - if (h !== o) { - h ^= o * 0xFFFFFFFF; - } - while (o > 0xFFFFFFFF) { - o /= 0xFFFFFFFF; - h ^= o; - } - return smi(h); - } - if (type === 'string') { - return o.length > STRING_HASH_CACHE_MIN_STRLEN ? cachedHashString(o) : hashString(o); - } - if (typeof o.hashCode === 'function') { - return o.hashCode(); - } - if (type === 'object') { - return hashJSObj(o); - } - if (typeof o.toString === 'function') { - return hashString(o.toString()); - } - throw new Error('Value type ' + type + ' cannot be hashed.'); - } - - function cachedHashString(string) { - var hash = stringHashCache[string]; - if (hash === undefined) { - hash = hashString(string); - if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) { - STRING_HASH_CACHE_SIZE = 0; - stringHashCache = {}; - } - STRING_HASH_CACHE_SIZE++; - stringHashCache[string] = hash; - } - return hash; - } - - // http://jsperf.com/hashing-strings - function hashString(string) { - // This is the hash from JVM - // The hash code for a string is computed as - // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1], - // where s[i] is the ith character of the string and n is the length of - // the string. We "mod" the result to make it between 0 (inclusive) and 2^31 - // (exclusive) by dropping high bits. - var hash = 0; - for (var ii = 0; ii < string.length; ii++) { - hash = 31 * hash + string.charCodeAt(ii) | 0; - } - return smi(hash); - } - - function hashJSObj(obj) { - var hash; - if (usingWeakMap) { - hash = weakMap.get(obj); - if (hash !== undefined) { - return hash; - } - } - - hash = obj[UID_HASH_KEY]; - if (hash !== undefined) { - return hash; - } - - if (!canDefineProperty) { - hash = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY]; - if (hash !== undefined) { - return hash; - } - - hash = getIENodeHash(obj); - if (hash !== undefined) { - return hash; - } - } - - hash = ++objHashUID; - if (objHashUID & 0x40000000) { - objHashUID = 0; - } - - if (usingWeakMap) { - weakMap.set(obj, hash); - } else if (isExtensible !== undefined && isExtensible(obj) === false) { - throw new Error('Non-extensible objects are not allowed as keys.'); - } else if (canDefineProperty) { - Object.defineProperty(obj, UID_HASH_KEY, { - 'enumerable': false, - 'configurable': false, - 'writable': false, - 'value': hash - }); - } else if (obj.propertyIsEnumerable !== undefined && - obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable) { - // Since we can't define a non-enumerable property on the object - // we'll hijack one of the less-used non-enumerable properties to - // save our hash on it. Since this is a function it will not show up in - // `JSON.stringify` which is what we want. - obj.propertyIsEnumerable = function() { - return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments); - }; - obj.propertyIsEnumerable[UID_HASH_KEY] = hash; - } else if (obj.nodeType !== undefined) { - // At this point we couldn't get the IE `uniqueID` to use as a hash - // and we couldn't use a non-enumerable property to exploit the - // dontEnum bug so we simply add the `UID_HASH_KEY` on the node - // itself. - obj[UID_HASH_KEY] = hash; - } else { - throw new Error('Unable to set a non-enumerable property on object.'); - } - - return hash; - } - - // Get references to ES5 object methods. - var isExtensible = Object.isExtensible; - - // True if Object.defineProperty works as expected. IE8 fails this test. - var canDefineProperty = (function() { - try { - Object.defineProperty({}, '@', {}); - return true; - } catch (e) { - return false; - } - }()); - - // IE has a `uniqueID` property on DOM nodes. We can construct the hash from it - // and avoid memory leaks from the IE cloneNode bug. - function getIENodeHash(node) { - if (node && node.nodeType > 0) { - switch (node.nodeType) { - case 1: // Element - return node.uniqueID; - case 9: // Document - return node.documentElement && node.documentElement.uniqueID; - } - } - } - - // If possible, use a WeakMap. - var usingWeakMap = typeof WeakMap === 'function'; - var weakMap; - if (usingWeakMap) { - weakMap = new WeakMap(); - } - - var objHashUID = 0; - - var UID_HASH_KEY = '__immutablehash__'; - if (typeof Symbol === 'function') { - UID_HASH_KEY = Symbol(UID_HASH_KEY); - } - - var STRING_HASH_CACHE_MIN_STRLEN = 16; - var STRING_HASH_CACHE_MAX_SIZE = 255; - var STRING_HASH_CACHE_SIZE = 0; - var stringHashCache = {}; - - function assertNotInfinite(size) { - invariant( - size !== Infinity, - 'Cannot perform this action with an infinite size.' - ); - } - - createClass(Map, KeyedCollection); - - // @pragma Construction - - function Map(value) { - return value === null || value === undefined ? emptyMap() : - isMap(value) && !isOrdered(value) ? value : - emptyMap().withMutations(function(map ) { - var iter = KeyedIterable(value); - assertNotInfinite(iter.size); - iter.forEach(function(v, k) {return map.set(k, v)}); - }); - } - - Map.of = function() {var keyValues = SLICE$0.call(arguments, 0); - return emptyMap().withMutations(function(map ) { - for (var i = 0; i < keyValues.length; i += 2) { - if (i + 1 >= keyValues.length) { - throw new Error('Missing value for key: ' + keyValues[i]); - } - map.set(keyValues[i], keyValues[i + 1]); - } - }); - }; - - Map.prototype.toString = function() { - return this.__toString('Map {', '}'); - }; - - // @pragma Access - - Map.prototype.get = function(k, notSetValue) { - return this._root ? - this._root.get(0, undefined, k, notSetValue) : - notSetValue; - }; - - // @pragma Modification - - Map.prototype.set = function(k, v) { - return updateMap(this, k, v); - }; - - Map.prototype.setIn = function(keyPath, v) { - return this.updateIn(keyPath, NOT_SET, function() {return v}); - }; - - Map.prototype.remove = function(k) { - return updateMap(this, k, NOT_SET); - }; - - Map.prototype.deleteIn = function(keyPath) { - return this.updateIn(keyPath, function() {return NOT_SET}); - }; - - Map.prototype.update = function(k, notSetValue, updater) { - return arguments.length === 1 ? - k(this) : - this.updateIn([k], notSetValue, updater); - }; - - Map.prototype.updateIn = function(keyPath, notSetValue, updater) { - if (!updater) { - updater = notSetValue; - notSetValue = undefined; - } - var updatedValue = updateInDeepMap( - this, - forceIterator(keyPath), - notSetValue, - updater - ); - return updatedValue === NOT_SET ? undefined : updatedValue; - }; - - Map.prototype.clear = function() { - if (this.size === 0) { - return this; - } - if (this.__ownerID) { - this.size = 0; - this._root = null; - this.__hash = undefined; - this.__altered = true; - return this; - } - return emptyMap(); - }; - - // @pragma Composition - - Map.prototype.merge = function(/*...iters*/) { - return mergeIntoMapWith(this, undefined, arguments); - }; - - Map.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1); - return mergeIntoMapWith(this, merger, iters); - }; - - Map.prototype.mergeIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1); - return this.updateIn( - keyPath, - emptyMap(), - function(m ) {return typeof m.merge === 'function' ? - m.merge.apply(m, iters) : - iters[iters.length - 1]} - ); - }; - - Map.prototype.mergeDeep = function(/*...iters*/) { - return mergeIntoMapWith(this, deepMerger, arguments); - }; - - Map.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1); - return mergeIntoMapWith(this, deepMergerWith(merger), iters); - }; - - Map.prototype.mergeDeepIn = function(keyPath) {var iters = SLICE$0.call(arguments, 1); - return this.updateIn( - keyPath, - emptyMap(), - function(m ) {return typeof m.mergeDeep === 'function' ? - m.mergeDeep.apply(m, iters) : - iters[iters.length - 1]} - ); - }; - - Map.prototype.sort = function(comparator) { - // Late binding - return OrderedMap(sortFactory(this, comparator)); - }; - - Map.prototype.sortBy = function(mapper, comparator) { - // Late binding - return OrderedMap(sortFactory(this, comparator, mapper)); - }; - - // @pragma Mutability - - Map.prototype.withMutations = function(fn) { - var mutable = this.asMutable(); - fn(mutable); - return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this; - }; - - Map.prototype.asMutable = function() { - return this.__ownerID ? this : this.__ensureOwner(new OwnerID()); - }; - - Map.prototype.asImmutable = function() { - return this.__ensureOwner(); - }; - - Map.prototype.wasAltered = function() { - return this.__altered; - }; - - Map.prototype.__iterator = function(type, reverse) { - return new MapIterator(this, type, reverse); - }; - - Map.prototype.__iterate = function(fn, reverse) {var this$0 = this; - var iterations = 0; - this._root && this._root.iterate(function(entry ) { - iterations++; - return fn(entry[1], entry[0], this$0); - }, reverse); - return iterations; - }; - - Map.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - if (!ownerID) { - this.__ownerID = ownerID; - this.__altered = false; - return this; - } - return makeMap(this.size, this._root, ownerID, this.__hash); - }; - - - function isMap(maybeMap) { - return !!(maybeMap && maybeMap[IS_MAP_SENTINEL]); - } - - Map.isMap = isMap; - - var IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@'; - - var MapPrototype = Map.prototype; - MapPrototype[IS_MAP_SENTINEL] = true; - MapPrototype[DELETE] = MapPrototype.remove; - MapPrototype.removeIn = MapPrototype.deleteIn; - - - // #pragma Trie Nodes - - - - function ArrayMapNode(ownerID, entries) { - this.ownerID = ownerID; - this.entries = entries; - } - - ArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) { - var entries = this.entries; - for (var ii = 0, len = entries.length; ii < len; ii++) { - if (is(key, entries[ii][0])) { - return entries[ii][1]; - } - } - return notSetValue; - }; - - ArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - var removed = value === NOT_SET; - - var entries = this.entries; - var idx = 0; - for (var len = entries.length; idx < len; idx++) { - if (is(key, entries[idx][0])) { - break; - } - } - var exists = idx < len; - - if (exists ? entries[idx][1] === value : removed) { - return this; - } - - SetRef(didAlter); - (removed || !exists) && SetRef(didChangeSize); - - if (removed && entries.length === 1) { - return; // undefined - } - - if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) { - return createNodes(ownerID, entries, key, value); - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newEntries = isEditable ? entries : arrCopy(entries); - - if (exists) { - if (removed) { - idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); - } else { - newEntries[idx] = [key, value]; - } - } else { - newEntries.push([key, value]); - } - - if (isEditable) { - this.entries = newEntries; - return this; - } - - return new ArrayMapNode(ownerID, newEntries); - }; - - - - - function BitmapIndexedNode(ownerID, bitmap, nodes) { - this.ownerID = ownerID; - this.bitmap = bitmap; - this.nodes = nodes; - } - - BitmapIndexedNode.prototype.get = function(shift, keyHash, key, notSetValue) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var bit = (1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK)); - var bitmap = this.bitmap; - return (bitmap & bit) === 0 ? notSetValue : - this.nodes[popCount(bitmap & (bit - 1))].get(shift + SHIFT, keyHash, key, notSetValue); - }; - - BitmapIndexedNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var bit = 1 << keyHashFrag; - var bitmap = this.bitmap; - var exists = (bitmap & bit) !== 0; - - if (!exists && value === NOT_SET) { - return this; - } - - var idx = popCount(bitmap & (bit - 1)); - var nodes = this.nodes; - var node = exists ? nodes[idx] : undefined; - var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); - - if (newNode === node) { - return this; - } - - if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) { - return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode); - } - - if (exists && !newNode && nodes.length === 2 && isLeafNode(nodes[idx ^ 1])) { - return nodes[idx ^ 1]; - } - - if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) { - return newNode; - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newBitmap = exists ? newNode ? bitmap : bitmap ^ bit : bitmap | bit; - var newNodes = exists ? newNode ? - setIn(nodes, idx, newNode, isEditable) : - spliceOut(nodes, idx, isEditable) : - spliceIn(nodes, idx, newNode, isEditable); - - if (isEditable) { - this.bitmap = newBitmap; - this.nodes = newNodes; - return this; - } - - return new BitmapIndexedNode(ownerID, newBitmap, newNodes); - }; - - - - - function HashArrayMapNode(ownerID, count, nodes) { - this.ownerID = ownerID; - this.count = count; - this.nodes = nodes; - } - - HashArrayMapNode.prototype.get = function(shift, keyHash, key, notSetValue) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var node = this.nodes[idx]; - return node ? node.get(shift + SHIFT, keyHash, key, notSetValue) : notSetValue; - }; - - HashArrayMapNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - var removed = value === NOT_SET; - var nodes = this.nodes; - var node = nodes[idx]; - - if (removed && !node) { - return this; - } - - var newNode = updateNode(node, ownerID, shift + SHIFT, keyHash, key, value, didChangeSize, didAlter); - if (newNode === node) { - return this; - } - - var newCount = this.count; - if (!node) { - newCount++; - } else if (!newNode) { - newCount--; - if (newCount < MIN_HASH_ARRAY_MAP_SIZE) { - return packNodes(ownerID, nodes, newCount, idx); - } - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newNodes = setIn(nodes, idx, newNode, isEditable); - - if (isEditable) { - this.count = newCount; - this.nodes = newNodes; - return this; - } - - return new HashArrayMapNode(ownerID, newCount, newNodes); - }; - - - - - function HashCollisionNode(ownerID, keyHash, entries) { - this.ownerID = ownerID; - this.keyHash = keyHash; - this.entries = entries; - } - - HashCollisionNode.prototype.get = function(shift, keyHash, key, notSetValue) { - var entries = this.entries; - for (var ii = 0, len = entries.length; ii < len; ii++) { - if (is(key, entries[ii][0])) { - return entries[ii][1]; - } - } - return notSetValue; - }; - - HashCollisionNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (keyHash === undefined) { - keyHash = hash(key); - } - - var removed = value === NOT_SET; - - if (keyHash !== this.keyHash) { - if (removed) { - return this; - } - SetRef(didAlter); - SetRef(didChangeSize); - return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]); - } - - var entries = this.entries; - var idx = 0; - for (var len = entries.length; idx < len; idx++) { - if (is(key, entries[idx][0])) { - break; - } - } - var exists = idx < len; - - if (exists ? entries[idx][1] === value : removed) { - return this; - } - - SetRef(didAlter); - (removed || !exists) && SetRef(didChangeSize); - - if (removed && len === 2) { - return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]); - } - - var isEditable = ownerID && ownerID === this.ownerID; - var newEntries = isEditable ? entries : arrCopy(entries); - - if (exists) { - if (removed) { - idx === len - 1 ? newEntries.pop() : (newEntries[idx] = newEntries.pop()); - } else { - newEntries[idx] = [key, value]; - } - } else { - newEntries.push([key, value]); - } - - if (isEditable) { - this.entries = newEntries; - return this; - } - - return new HashCollisionNode(ownerID, this.keyHash, newEntries); - }; - - - - - function ValueNode(ownerID, keyHash, entry) { - this.ownerID = ownerID; - this.keyHash = keyHash; - this.entry = entry; - } - - ValueNode.prototype.get = function(shift, keyHash, key, notSetValue) { - return is(key, this.entry[0]) ? this.entry[1] : notSetValue; - }; - - ValueNode.prototype.update = function(ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - var removed = value === NOT_SET; - var keyMatch = is(key, this.entry[0]); - if (keyMatch ? value === this.entry[1] : removed) { - return this; - } - - SetRef(didAlter); - - if (removed) { - SetRef(didChangeSize); - return; // undefined - } - - if (keyMatch) { - if (ownerID && ownerID === this.ownerID) { - this.entry[1] = value; - return this; - } - return new ValueNode(ownerID, this.keyHash, [key, value]); - } - - SetRef(didChangeSize); - return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]); - }; - - - - // #pragma Iterators - - ArrayMapNode.prototype.iterate = - HashCollisionNode.prototype.iterate = function (fn, reverse) { - var entries = this.entries; - for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) { - if (fn(entries[reverse ? maxIndex - ii : ii]) === false) { - return false; - } - } - } - - BitmapIndexedNode.prototype.iterate = - HashArrayMapNode.prototype.iterate = function (fn, reverse) { - var nodes = this.nodes; - for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) { - var node = nodes[reverse ? maxIndex - ii : ii]; - if (node && node.iterate(fn, reverse) === false) { - return false; - } - } - } - - ValueNode.prototype.iterate = function (fn, reverse) { - return fn(this.entry); - } - - createClass(MapIterator, Iterator); - - function MapIterator(map, type, reverse) { - this._type = type; - this._reverse = reverse; - this._stack = map._root && mapIteratorFrame(map._root); - } - - MapIterator.prototype.next = function() { - var type = this._type; - var stack = this._stack; - while (stack) { - var node = stack.node; - var index = stack.index++; - var maxIndex; - if (node.entry) { - if (index === 0) { - return mapIteratorValue(type, node.entry); - } - } else if (node.entries) { - maxIndex = node.entries.length - 1; - if (index <= maxIndex) { - return mapIteratorValue(type, node.entries[this._reverse ? maxIndex - index : index]); - } - } else { - maxIndex = node.nodes.length - 1; - if (index <= maxIndex) { - var subNode = node.nodes[this._reverse ? maxIndex - index : index]; - if (subNode) { - if (subNode.entry) { - return mapIteratorValue(type, subNode.entry); - } - stack = this._stack = mapIteratorFrame(subNode, stack); - } - continue; - } - } - stack = this._stack = this._stack.__prev; - } - return iteratorDone(); - }; - - - function mapIteratorValue(type, entry) { - return iteratorValue(type, entry[0], entry[1]); - } - - function mapIteratorFrame(node, prev) { - return { - node: node, - index: 0, - __prev: prev - }; - } - - function makeMap(size, root, ownerID, hash) { - var map = Object.create(MapPrototype); - map.size = size; - map._root = root; - map.__ownerID = ownerID; - map.__hash = hash; - map.__altered = false; - return map; - } - - var EMPTY_MAP; - function emptyMap() { - return EMPTY_MAP || (EMPTY_MAP = makeMap(0)); - } - - function updateMap(map, k, v) { - var newRoot; - var newSize; - if (!map._root) { - if (v === NOT_SET) { - return map; - } - newSize = 1; - newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]); - } else { - var didChangeSize = MakeRef(CHANGE_LENGTH); - var didAlter = MakeRef(DID_ALTER); - newRoot = updateNode(map._root, map.__ownerID, 0, undefined, k, v, didChangeSize, didAlter); - if (!didAlter.value) { - return map; - } - newSize = map.size + (didChangeSize.value ? v === NOT_SET ? -1 : 1 : 0); - } - if (map.__ownerID) { - map.size = newSize; - map._root = newRoot; - map.__hash = undefined; - map.__altered = true; - return map; - } - return newRoot ? makeMap(newSize, newRoot) : emptyMap(); - } - - function updateNode(node, ownerID, shift, keyHash, key, value, didChangeSize, didAlter) { - if (!node) { - if (value === NOT_SET) { - return node; - } - SetRef(didAlter); - SetRef(didChangeSize); - return new ValueNode(ownerID, keyHash, [key, value]); - } - return node.update(ownerID, shift, keyHash, key, value, didChangeSize, didAlter); - } - - function isLeafNode(node) { - return node.constructor === ValueNode || node.constructor === HashCollisionNode; - } - - function mergeIntoNode(node, ownerID, shift, keyHash, entry) { - if (node.keyHash === keyHash) { - return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]); - } - - var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK; - var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK; - - var newNode; - var nodes = idx1 === idx2 ? - [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)] : - ((newNode = new ValueNode(ownerID, keyHash, entry)), idx1 < idx2 ? [node, newNode] : [newNode, node]); - - return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes); - } - - function createNodes(ownerID, entries, key, value) { - if (!ownerID) { - ownerID = new OwnerID(); - } - var node = new ValueNode(ownerID, hash(key), [key, value]); - for (var ii = 0; ii < entries.length; ii++) { - var entry = entries[ii]; - node = node.update(ownerID, 0, undefined, entry[0], entry[1]); - } - return node; - } - - function packNodes(ownerID, nodes, count, excluding) { - var bitmap = 0; - var packedII = 0; - var packedNodes = new Array(count); - for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) { - var node = nodes[ii]; - if (node !== undefined && ii !== excluding) { - bitmap |= bit; - packedNodes[packedII++] = node; - } - } - return new BitmapIndexedNode(ownerID, bitmap, packedNodes); - } - - function expandNodes(ownerID, nodes, bitmap, including, node) { - var count = 0; - var expandedNodes = new Array(SIZE); - for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) { - expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined; - } - expandedNodes[including] = node; - return new HashArrayMapNode(ownerID, count + 1, expandedNodes); - } - - function mergeIntoMapWith(map, merger, iterables) { - var iters = []; - for (var ii = 0; ii < iterables.length; ii++) { - var value = iterables[ii]; - var iter = KeyedIterable(value); - if (!isIterable(value)) { - iter = iter.map(function(v ) {return fromJS(v)}); - } - iters.push(iter); - } - return mergeIntoCollectionWith(map, merger, iters); - } - - function deepMerger(existing, value, key) { - return existing && existing.mergeDeep && isIterable(value) ? - existing.mergeDeep(value) : - is(existing, value) ? existing : value; - } - - function deepMergerWith(merger) { - return function(existing, value, key) { - if (existing && existing.mergeDeepWith && isIterable(value)) { - return existing.mergeDeepWith(merger, value); - } - var nextValue = merger(existing, value, key); - return is(existing, nextValue) ? existing : nextValue; - }; - } - - function mergeIntoCollectionWith(collection, merger, iters) { - iters = iters.filter(function(x ) {return x.size !== 0}); - if (iters.length === 0) { - return collection; - } - if (collection.size === 0 && !collection.__ownerID && iters.length === 1) { - return collection.constructor(iters[0]); - } - return collection.withMutations(function(collection ) { - var mergeIntoMap = merger ? - function(value, key) { - collection.update(key, NOT_SET, function(existing ) - {return existing === NOT_SET ? value : merger(existing, value, key)} - ); - } : - function(value, key) { - collection.set(key, value); - } - for (var ii = 0; ii < iters.length; ii++) { - iters[ii].forEach(mergeIntoMap); - } - }); - } - - function updateInDeepMap(existing, keyPathIter, notSetValue, updater) { - var isNotSet = existing === NOT_SET; - var step = keyPathIter.next(); - if (step.done) { - var existingValue = isNotSet ? notSetValue : existing; - var newValue = updater(existingValue); - return newValue === existingValue ? existing : newValue; - } - invariant( - isNotSet || (existing && existing.set), - 'invalid keyPath' - ); - var key = step.value; - var nextExisting = isNotSet ? NOT_SET : existing.get(key, NOT_SET); - var nextUpdated = updateInDeepMap( - nextExisting, - keyPathIter, - notSetValue, - updater - ); - return nextUpdated === nextExisting ? existing : - nextUpdated === NOT_SET ? existing.remove(key) : - (isNotSet ? emptyMap() : existing).set(key, nextUpdated); - } - - function popCount(x) { - x = x - ((x >> 1) & 0x55555555); - x = (x & 0x33333333) + ((x >> 2) & 0x33333333); - x = (x + (x >> 4)) & 0x0f0f0f0f; - x = x + (x >> 8); - x = x + (x >> 16); - return x & 0x7f; - } - - function setIn(array, idx, val, canEdit) { - var newArray = canEdit ? array : arrCopy(array); - newArray[idx] = val; - return newArray; - } - - function spliceIn(array, idx, val, canEdit) { - var newLen = array.length + 1; - if (canEdit && idx + 1 === newLen) { - array[idx] = val; - return array; - } - var newArray = new Array(newLen); - var after = 0; - for (var ii = 0; ii < newLen; ii++) { - if (ii === idx) { - newArray[ii] = val; - after = -1; - } else { - newArray[ii] = array[ii + after]; - } - } - return newArray; - } - - function spliceOut(array, idx, canEdit) { - var newLen = array.length - 1; - if (canEdit && idx === newLen) { - array.pop(); - return array; - } - var newArray = new Array(newLen); - var after = 0; - for (var ii = 0; ii < newLen; ii++) { - if (ii === idx) { - after = 1; - } - newArray[ii] = array[ii + after]; - } - return newArray; - } - - var MAX_ARRAY_MAP_SIZE = SIZE / 4; - var MAX_BITMAP_INDEXED_SIZE = SIZE / 2; - var MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4; - - createClass(List, IndexedCollection); - - // @pragma Construction - - function List(value) { - var empty = emptyList(); - if (value === null || value === undefined) { - return empty; - } - if (isList(value)) { - return value; - } - var iter = IndexedIterable(value); - var size = iter.size; - if (size === 0) { - return empty; - } - assertNotInfinite(size); - if (size > 0 && size < SIZE) { - return makeList(0, size, SHIFT, null, new VNode(iter.toArray())); - } - return empty.withMutations(function(list ) { - list.setSize(size); - iter.forEach(function(v, i) {return list.set(i, v)}); - }); - } - - List.of = function(/*...values*/) { - return this(arguments); - }; - - List.prototype.toString = function() { - return this.__toString('List [', ']'); - }; - - // @pragma Access - - List.prototype.get = function(index, notSetValue) { - index = wrapIndex(this, index); - if (index >= 0 && index < this.size) { - index += this._origin; - var node = listNodeFor(this, index); - return node && node.array[index & MASK]; - } - return notSetValue; - }; - - // @pragma Modification - - List.prototype.set = function(index, value) { - return updateList(this, index, value); - }; - - List.prototype.remove = function(index) { - return !this.has(index) ? this : - index === 0 ? this.shift() : - index === this.size - 1 ? this.pop() : - this.splice(index, 1); - }; - - List.prototype.insert = function(index, value) { - return this.splice(index, 0, value); - }; - - List.prototype.clear = function() { - if (this.size === 0) { - return this; - } - if (this.__ownerID) { - this.size = this._origin = this._capacity = 0; - this._level = SHIFT; - this._root = this._tail = null; - this.__hash = undefined; - this.__altered = true; - return this; - } - return emptyList(); - }; - - List.prototype.push = function(/*...values*/) { - var values = arguments; - var oldSize = this.size; - return this.withMutations(function(list ) { - setListBounds(list, 0, oldSize + values.length); - for (var ii = 0; ii < values.length; ii++) { - list.set(oldSize + ii, values[ii]); - } - }); - }; - - List.prototype.pop = function() { - return setListBounds(this, 0, -1); - }; - - List.prototype.unshift = function(/*...values*/) { - var values = arguments; - return this.withMutations(function(list ) { - setListBounds(list, -values.length); - for (var ii = 0; ii < values.length; ii++) { - list.set(ii, values[ii]); - } - }); - }; - - List.prototype.shift = function() { - return setListBounds(this, 1); - }; - - // @pragma Composition - - List.prototype.merge = function(/*...iters*/) { - return mergeIntoListWith(this, undefined, arguments); - }; - - List.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1); - return mergeIntoListWith(this, merger, iters); - }; - - List.prototype.mergeDeep = function(/*...iters*/) { - return mergeIntoListWith(this, deepMerger, arguments); - }; - - List.prototype.mergeDeepWith = function(merger) {var iters = SLICE$0.call(arguments, 1); - return mergeIntoListWith(this, deepMergerWith(merger), iters); - }; - - List.prototype.setSize = function(size) { - return setListBounds(this, 0, size); - }; - - // @pragma Iteration - - List.prototype.slice = function(begin, end) { - var size = this.size; - if (wholeSlice(begin, end, size)) { - return this; - } - return setListBounds( - this, - resolveBegin(begin, size), - resolveEnd(end, size) - ); - }; - - List.prototype.__iterator = function(type, reverse) { - var index = 0; - var values = iterateList(this, reverse); - return new Iterator(function() { - var value = values(); - return value === DONE ? - iteratorDone() : - iteratorValue(type, index++, value); - }); - }; - - List.prototype.__iterate = function(fn, reverse) { - var index = 0; - var values = iterateList(this, reverse); - var value; - while ((value = values()) !== DONE) { - if (fn(value, index++, this) === false) { - break; - } - } - return index; - }; - - List.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - if (!ownerID) { - this.__ownerID = ownerID; - return this; - } - return makeList(this._origin, this._capacity, this._level, this._root, this._tail, ownerID, this.__hash); - }; - - - function isList(maybeList) { - return !!(maybeList && maybeList[IS_LIST_SENTINEL]); - } - - List.isList = isList; - - var IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@'; - - var ListPrototype = List.prototype; - ListPrototype[IS_LIST_SENTINEL] = true; - ListPrototype[DELETE] = ListPrototype.remove; - ListPrototype.setIn = MapPrototype.setIn; - ListPrototype.deleteIn = - ListPrototype.removeIn = MapPrototype.removeIn; - ListPrototype.update = MapPrototype.update; - ListPrototype.updateIn = MapPrototype.updateIn; - ListPrototype.mergeIn = MapPrototype.mergeIn; - ListPrototype.mergeDeepIn = MapPrototype.mergeDeepIn; - ListPrototype.withMutations = MapPrototype.withMutations; - ListPrototype.asMutable = MapPrototype.asMutable; - ListPrototype.asImmutable = MapPrototype.asImmutable; - ListPrototype.wasAltered = MapPrototype.wasAltered; - - - - function VNode(array, ownerID) { - this.array = array; - this.ownerID = ownerID; - } - - // TODO: seems like these methods are very similar - - VNode.prototype.removeBefore = function(ownerID, level, index) { - if (index === level ? 1 << level : 0 || this.array.length === 0) { - return this; - } - var originIndex = (index >>> level) & MASK; - if (originIndex >= this.array.length) { - return new VNode([], ownerID); - } - var removingFirst = originIndex === 0; - var newChild; - if (level > 0) { - var oldChild = this.array[originIndex]; - newChild = oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index); - if (newChild === oldChild && removingFirst) { - return this; - } - } - if (removingFirst && !newChild) { - return this; - } - var editable = editableVNode(this, ownerID); - if (!removingFirst) { - for (var ii = 0; ii < originIndex; ii++) { - editable.array[ii] = undefined; - } - } - if (newChild) { - editable.array[originIndex] = newChild; - } - return editable; - }; - - VNode.prototype.removeAfter = function(ownerID, level, index) { - if (index === (level ? 1 << level : 0) || this.array.length === 0) { - return this; - } - var sizeIndex = ((index - 1) >>> level) & MASK; - if (sizeIndex >= this.array.length) { - return this; - } - - var newChild; - if (level > 0) { - var oldChild = this.array[sizeIndex]; - newChild = oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index); - if (newChild === oldChild && sizeIndex === this.array.length - 1) { - return this; - } - } - - var editable = editableVNode(this, ownerID); - editable.array.splice(sizeIndex + 1); - if (newChild) { - editable.array[sizeIndex] = newChild; - } - return editable; - }; - - - - var DONE = {}; - - function iterateList(list, reverse) { - var left = list._origin; - var right = list._capacity; - var tailPos = getTailOffset(right); - var tail = list._tail; - - return iterateNodeOrLeaf(list._root, list._level, 0); - - function iterateNodeOrLeaf(node, level, offset) { - return level === 0 ? - iterateLeaf(node, offset) : - iterateNode(node, level, offset); - } - - function iterateLeaf(node, offset) { - var array = offset === tailPos ? tail && tail.array : node && node.array; - var from = offset > left ? 0 : left - offset; - var to = right - offset; - if (to > SIZE) { - to = SIZE; - } - return function() { - if (from === to) { - return DONE; - } - var idx = reverse ? --to : from++; - return array && array[idx]; - }; - } - - function iterateNode(node, level, offset) { - var values; - var array = node && node.array; - var from = offset > left ? 0 : (left - offset) >> level; - var to = ((right - offset) >> level) + 1; - if (to > SIZE) { - to = SIZE; - } - return function() { - do { - if (values) { - var value = values(); - if (value !== DONE) { - return value; - } - values = null; - } - if (from === to) { - return DONE; - } - var idx = reverse ? --to : from++; - values = iterateNodeOrLeaf( - array && array[idx], level - SHIFT, offset + (idx << level) - ); - } while (true); - }; - } - } - - function makeList(origin, capacity, level, root, tail, ownerID, hash) { - var list = Object.create(ListPrototype); - list.size = capacity - origin; - list._origin = origin; - list._capacity = capacity; - list._level = level; - list._root = root; - list._tail = tail; - list.__ownerID = ownerID; - list.__hash = hash; - list.__altered = false; - return list; - } - - var EMPTY_LIST; - function emptyList() { - return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT)); - } - - function updateList(list, index, value) { - index = wrapIndex(list, index); - - if (index !== index) { - return list; - } - - if (index >= list.size || index < 0) { - return list.withMutations(function(list ) { - index < 0 ? - setListBounds(list, index).set(0, value) : - setListBounds(list, 0, index + 1).set(index, value) - }); - } - - index += list._origin; - - var newTail = list._tail; - var newRoot = list._root; - var didAlter = MakeRef(DID_ALTER); - if (index >= getTailOffset(list._capacity)) { - newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter); - } else { - newRoot = updateVNode(newRoot, list.__ownerID, list._level, index, value, didAlter); - } - - if (!didAlter.value) { - return list; - } - - if (list.__ownerID) { - list._root = newRoot; - list._tail = newTail; - list.__hash = undefined; - list.__altered = true; - return list; - } - return makeList(list._origin, list._capacity, list._level, newRoot, newTail); - } - - function updateVNode(node, ownerID, level, index, value, didAlter) { - var idx = (index >>> level) & MASK; - var nodeHas = node && idx < node.array.length; - if (!nodeHas && value === undefined) { - return node; - } - - var newNode; - - if (level > 0) { - var lowerNode = node && node.array[idx]; - var newLowerNode = updateVNode(lowerNode, ownerID, level - SHIFT, index, value, didAlter); - if (newLowerNode === lowerNode) { - return node; - } - newNode = editableVNode(node, ownerID); - newNode.array[idx] = newLowerNode; - return newNode; - } - - if (nodeHas && node.array[idx] === value) { - return node; - } - - SetRef(didAlter); - - newNode = editableVNode(node, ownerID); - if (value === undefined && idx === newNode.array.length - 1) { - newNode.array.pop(); - } else { - newNode.array[idx] = value; - } - return newNode; - } - - function editableVNode(node, ownerID) { - if (ownerID && node && ownerID === node.ownerID) { - return node; - } - return new VNode(node ? node.array.slice() : [], ownerID); - } - - function listNodeFor(list, rawIndex) { - if (rawIndex >= getTailOffset(list._capacity)) { - return list._tail; - } - if (rawIndex < 1 << (list._level + SHIFT)) { - var node = list._root; - var level = list._level; - while (node && level > 0) { - node = node.array[(rawIndex >>> level) & MASK]; - level -= SHIFT; - } - return node; - } - } - - function setListBounds(list, begin, end) { - // Sanitize begin & end using this shorthand for ToInt32(argument) - // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 - if (begin !== undefined) { - begin = begin | 0; - } - if (end !== undefined) { - end = end | 0; - } - var owner = list.__ownerID || new OwnerID(); - var oldOrigin = list._origin; - var oldCapacity = list._capacity; - var newOrigin = oldOrigin + begin; - var newCapacity = end === undefined ? oldCapacity : end < 0 ? oldCapacity + end : oldOrigin + end; - if (newOrigin === oldOrigin && newCapacity === oldCapacity) { - return list; - } - - // If it's going to end after it starts, it's empty. - if (newOrigin >= newCapacity) { - return list.clear(); - } - - var newLevel = list._level; - var newRoot = list._root; - - // New origin might need creating a higher root. - var offsetShift = 0; - while (newOrigin + offsetShift < 0) { - newRoot = new VNode(newRoot && newRoot.array.length ? [undefined, newRoot] : [], owner); - newLevel += SHIFT; - offsetShift += 1 << newLevel; - } - if (offsetShift) { - newOrigin += offsetShift; - oldOrigin += offsetShift; - newCapacity += offsetShift; - oldCapacity += offsetShift; - } - - var oldTailOffset = getTailOffset(oldCapacity); - var newTailOffset = getTailOffset(newCapacity); - - // New size might need creating a higher root. - while (newTailOffset >= 1 << (newLevel + SHIFT)) { - newRoot = new VNode(newRoot && newRoot.array.length ? [newRoot] : [], owner); - newLevel += SHIFT; - } - - // Locate or create the new tail. - var oldTail = list._tail; - var newTail = newTailOffset < oldTailOffset ? - listNodeFor(list, newCapacity - 1) : - newTailOffset > oldTailOffset ? new VNode([], owner) : oldTail; - - // Merge Tail into tree. - if (oldTail && newTailOffset > oldTailOffset && newOrigin < oldCapacity && oldTail.array.length) { - newRoot = editableVNode(newRoot, owner); - var node = newRoot; - for (var level = newLevel; level > SHIFT; level -= SHIFT) { - var idx = (oldTailOffset >>> level) & MASK; - node = node.array[idx] = editableVNode(node.array[idx], owner); - } - node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail; - } - - // If the size has been reduced, there's a chance the tail needs to be trimmed. - if (newCapacity < oldCapacity) { - newTail = newTail && newTail.removeAfter(owner, 0, newCapacity); - } - - // If the new origin is within the tail, then we do not need a root. - if (newOrigin >= newTailOffset) { - newOrigin -= newTailOffset; - newCapacity -= newTailOffset; - newLevel = SHIFT; - newRoot = null; - newTail = newTail && newTail.removeBefore(owner, 0, newOrigin); - - // Otherwise, if the root has been trimmed, garbage collect. - } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) { - offsetShift = 0; - - // Identify the new top root node of the subtree of the old root. - while (newRoot) { - var beginIndex = (newOrigin >>> newLevel) & MASK; - if (beginIndex !== (newTailOffset >>> newLevel) & MASK) { - break; - } - if (beginIndex) { - offsetShift += (1 << newLevel) * beginIndex; - } - newLevel -= SHIFT; - newRoot = newRoot.array[beginIndex]; - } - - // Trim the new sides of the new root. - if (newRoot && newOrigin > oldOrigin) { - newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift); - } - if (newRoot && newTailOffset < oldTailOffset) { - newRoot = newRoot.removeAfter(owner, newLevel, newTailOffset - offsetShift); - } - if (offsetShift) { - newOrigin -= offsetShift; - newCapacity -= offsetShift; - } - } - - if (list.__ownerID) { - list.size = newCapacity - newOrigin; - list._origin = newOrigin; - list._capacity = newCapacity; - list._level = newLevel; - list._root = newRoot; - list._tail = newTail; - list.__hash = undefined; - list.__altered = true; - return list; - } - return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail); - } - - function mergeIntoListWith(list, merger, iterables) { - var iters = []; - var maxSize = 0; - for (var ii = 0; ii < iterables.length; ii++) { - var value = iterables[ii]; - var iter = IndexedIterable(value); - if (iter.size > maxSize) { - maxSize = iter.size; - } - if (!isIterable(value)) { - iter = iter.map(function(v ) {return fromJS(v)}); - } - iters.push(iter); - } - if (maxSize > list.size) { - list = list.setSize(maxSize); - } - return mergeIntoCollectionWith(list, merger, iters); - } - - function getTailOffset(size) { - return size < SIZE ? 0 : (((size - 1) >>> SHIFT) << SHIFT); - } - - createClass(OrderedMap, Map); - - // @pragma Construction - - function OrderedMap(value) { - return value === null || value === undefined ? emptyOrderedMap() : - isOrderedMap(value) ? value : - emptyOrderedMap().withMutations(function(map ) { - var iter = KeyedIterable(value); - assertNotInfinite(iter.size); - iter.forEach(function(v, k) {return map.set(k, v)}); - }); - } - - OrderedMap.of = function(/*...values*/) { - return this(arguments); - }; - - OrderedMap.prototype.toString = function() { - return this.__toString('OrderedMap {', '}'); - }; - - // @pragma Access - - OrderedMap.prototype.get = function(k, notSetValue) { - var index = this._map.get(k); - return index !== undefined ? this._list.get(index)[1] : notSetValue; - }; - - // @pragma Modification - - OrderedMap.prototype.clear = function() { - if (this.size === 0) { - return this; - } - if (this.__ownerID) { - this.size = 0; - this._map.clear(); - this._list.clear(); - return this; - } - return emptyOrderedMap(); - }; - - OrderedMap.prototype.set = function(k, v) { - return updateOrderedMap(this, k, v); - }; - - OrderedMap.prototype.remove = function(k) { - return updateOrderedMap(this, k, NOT_SET); - }; - - OrderedMap.prototype.wasAltered = function() { - return this._map.wasAltered() || this._list.wasAltered(); - }; - - OrderedMap.prototype.__iterate = function(fn, reverse) {var this$0 = this; - return this._list.__iterate( - function(entry ) {return entry && fn(entry[1], entry[0], this$0)}, - reverse - ); - }; - - OrderedMap.prototype.__iterator = function(type, reverse) { - return this._list.fromEntrySeq().__iterator(type, reverse); - }; - - OrderedMap.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - var newMap = this._map.__ensureOwner(ownerID); - var newList = this._list.__ensureOwner(ownerID); - if (!ownerID) { - this.__ownerID = ownerID; - this._map = newMap; - this._list = newList; - return this; - } - return makeOrderedMap(newMap, newList, ownerID, this.__hash); - }; - - - function isOrderedMap(maybeOrderedMap) { - return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap); - } - - OrderedMap.isOrderedMap = isOrderedMap; - - OrderedMap.prototype[IS_ORDERED_SENTINEL] = true; - OrderedMap.prototype[DELETE] = OrderedMap.prototype.remove; - - - - function makeOrderedMap(map, list, ownerID, hash) { - var omap = Object.create(OrderedMap.prototype); - omap.size = map ? map.size : 0; - omap._map = map; - omap._list = list; - omap.__ownerID = ownerID; - omap.__hash = hash; - return omap; - } - - var EMPTY_ORDERED_MAP; - function emptyOrderedMap() { - return EMPTY_ORDERED_MAP || (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList())); - } - - function updateOrderedMap(omap, k, v) { - var map = omap._map; - var list = omap._list; - var i = map.get(k); - var has = i !== undefined; - var newMap; - var newList; - if (v === NOT_SET) { // removed - if (!has) { - return omap; - } - if (list.size >= SIZE && list.size >= map.size * 2) { - newList = list.filter(function(entry, idx) {return entry !== undefined && i !== idx}); - newMap = newList.toKeyedSeq().map(function(entry ) {return entry[0]}).flip().toMap(); - if (omap.__ownerID) { - newMap.__ownerID = newList.__ownerID = omap.__ownerID; - } - } else { - newMap = map.remove(k); - newList = i === list.size - 1 ? list.pop() : list.set(i, undefined); - } - } else { - if (has) { - if (v === list.get(i)[1]) { - return omap; - } - newMap = map; - newList = list.set(i, [k, v]); - } else { - newMap = map.set(k, list.size); - newList = list.set(list.size, [k, v]); - } - } - if (omap.__ownerID) { - omap.size = newMap.size; - omap._map = newMap; - omap._list = newList; - omap.__hash = undefined; - return omap; - } - return makeOrderedMap(newMap, newList); - } - - createClass(ToKeyedSequence, KeyedSeq); - function ToKeyedSequence(indexed, useKeys) { - this._iter = indexed; - this._useKeys = useKeys; - this.size = indexed.size; - } - - ToKeyedSequence.prototype.get = function(key, notSetValue) { - return this._iter.get(key, notSetValue); - }; - - ToKeyedSequence.prototype.has = function(key) { - return this._iter.has(key); - }; - - ToKeyedSequence.prototype.valueSeq = function() { - return this._iter.valueSeq(); - }; - - ToKeyedSequence.prototype.reverse = function() {var this$0 = this; - var reversedSequence = reverseFactory(this, true); - if (!this._useKeys) { - reversedSequence.valueSeq = function() {return this$0._iter.toSeq().reverse()}; - } - return reversedSequence; - }; - - ToKeyedSequence.prototype.map = function(mapper, context) {var this$0 = this; - var mappedSequence = mapFactory(this, mapper, context); - if (!this._useKeys) { - mappedSequence.valueSeq = function() {return this$0._iter.toSeq().map(mapper, context)}; - } - return mappedSequence; - }; - - ToKeyedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this; - var ii; - return this._iter.__iterate( - this._useKeys ? - function(v, k) {return fn(v, k, this$0)} : - ((ii = reverse ? resolveSize(this) : 0), - function(v ) {return fn(v, reverse ? --ii : ii++, this$0)}), - reverse - ); - }; - - ToKeyedSequence.prototype.__iterator = function(type, reverse) { - if (this._useKeys) { - return this._iter.__iterator(type, reverse); - } - var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); - var ii = reverse ? resolveSize(this) : 0; - return new Iterator(function() { - var step = iterator.next(); - return step.done ? step : - iteratorValue(type, reverse ? --ii : ii++, step.value, step); - }); - }; - - ToKeyedSequence.prototype[IS_ORDERED_SENTINEL] = true; - - - createClass(ToIndexedSequence, IndexedSeq); - function ToIndexedSequence(iter) { - this._iter = iter; - this.size = iter.size; - } - - ToIndexedSequence.prototype.includes = function(value) { - return this._iter.includes(value); - }; - - ToIndexedSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this; - var iterations = 0; - return this._iter.__iterate(function(v ) {return fn(v, iterations++, this$0)}, reverse); - }; - - ToIndexedSequence.prototype.__iterator = function(type, reverse) { - var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); - var iterations = 0; - return new Iterator(function() { - var step = iterator.next(); - return step.done ? step : - iteratorValue(type, iterations++, step.value, step) - }); - }; - - - - createClass(ToSetSequence, SetSeq); - function ToSetSequence(iter) { - this._iter = iter; - this.size = iter.size; - } - - ToSetSequence.prototype.has = function(key) { - return this._iter.includes(key); - }; - - ToSetSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this; - return this._iter.__iterate(function(v ) {return fn(v, v, this$0)}, reverse); - }; - - ToSetSequence.prototype.__iterator = function(type, reverse) { - var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); - return new Iterator(function() { - var step = iterator.next(); - return step.done ? step : - iteratorValue(type, step.value, step.value, step); - }); - }; - - - - createClass(FromEntriesSequence, KeyedSeq); - function FromEntriesSequence(entries) { - this._iter = entries; - this.size = entries.size; - } - - FromEntriesSequence.prototype.entrySeq = function() { - return this._iter.toSeq(); - }; - - FromEntriesSequence.prototype.__iterate = function(fn, reverse) {var this$0 = this; - return this._iter.__iterate(function(entry ) { - // Check if entry exists first so array access doesn't throw for holes - // in the parent iteration. - if (entry) { - validateEntry(entry); - var indexedIterable = isIterable(entry); - return fn( - indexedIterable ? entry.get(1) : entry[1], - indexedIterable ? entry.get(0) : entry[0], - this$0 - ); - } - }, reverse); - }; - - FromEntriesSequence.prototype.__iterator = function(type, reverse) { - var iterator = this._iter.__iterator(ITERATE_VALUES, reverse); - return new Iterator(function() { - while (true) { - var step = iterator.next(); - if (step.done) { - return step; - } - var entry = step.value; - // Check if entry exists first so array access doesn't throw for holes - // in the parent iteration. - if (entry) { - validateEntry(entry); - var indexedIterable = isIterable(entry); - return iteratorValue( - type, - indexedIterable ? entry.get(0) : entry[0], - indexedIterable ? entry.get(1) : entry[1], - step - ); - } - } - }); - }; - - - ToIndexedSequence.prototype.cacheResult = - ToKeyedSequence.prototype.cacheResult = - ToSetSequence.prototype.cacheResult = - FromEntriesSequence.prototype.cacheResult = - cacheResultThrough; - - - function flipFactory(iterable) { - var flipSequence = makeSequence(iterable); - flipSequence._iter = iterable; - flipSequence.size = iterable.size; - flipSequence.flip = function() {return iterable}; - flipSequence.reverse = function () { - var reversedSequence = iterable.reverse.apply(this); // super.reverse() - reversedSequence.flip = function() {return iterable.reverse()}; - return reversedSequence; - }; - flipSequence.has = function(key ) {return iterable.includes(key)}; - flipSequence.includes = function(key ) {return iterable.has(key)}; - flipSequence.cacheResult = cacheResultThrough; - flipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this; - return iterable.__iterate(function(v, k) {return fn(k, v, this$0) !== false}, reverse); - } - flipSequence.__iteratorUncached = function(type, reverse) { - if (type === ITERATE_ENTRIES) { - var iterator = iterable.__iterator(type, reverse); - return new Iterator(function() { - var step = iterator.next(); - if (!step.done) { - var k = step.value[0]; - step.value[0] = step.value[1]; - step.value[1] = k; - } - return step; - }); - } - return iterable.__iterator( - type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES, - reverse - ); - } - return flipSequence; - } - - - function mapFactory(iterable, mapper, context) { - var mappedSequence = makeSequence(iterable); - mappedSequence.size = iterable.size; - mappedSequence.has = function(key ) {return iterable.has(key)}; - mappedSequence.get = function(key, notSetValue) { - var v = iterable.get(key, NOT_SET); - return v === NOT_SET ? - notSetValue : - mapper.call(context, v, key, iterable); - }; - mappedSequence.__iterateUncached = function (fn, reverse) {var this$0 = this; - return iterable.__iterate( - function(v, k, c) {return fn(mapper.call(context, v, k, c), k, this$0) !== false}, - reverse - ); - } - mappedSequence.__iteratorUncached = function (type, reverse) { - var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse); - return new Iterator(function() { - var step = iterator.next(); - if (step.done) { - return step; - } - var entry = step.value; - var key = entry[0]; - return iteratorValue( - type, - key, - mapper.call(context, entry[1], key, iterable), - step - ); - }); - } - return mappedSequence; - } - - - function reverseFactory(iterable, useKeys) { - var reversedSequence = makeSequence(iterable); - reversedSequence._iter = iterable; - reversedSequence.size = iterable.size; - reversedSequence.reverse = function() {return iterable}; - if (iterable.flip) { - reversedSequence.flip = function () { - var flipSequence = flipFactory(iterable); - flipSequence.reverse = function() {return iterable.flip()}; - return flipSequence; - }; - } - reversedSequence.get = function(key, notSetValue) - {return iterable.get(useKeys ? key : -1 - key, notSetValue)}; - reversedSequence.has = function(key ) - {return iterable.has(useKeys ? key : -1 - key)}; - reversedSequence.includes = function(value ) {return iterable.includes(value)}; - reversedSequence.cacheResult = cacheResultThrough; - reversedSequence.__iterate = function (fn, reverse) {var this$0 = this; - return iterable.__iterate(function(v, k) {return fn(v, k, this$0)}, !reverse); - }; - reversedSequence.__iterator = - function(type, reverse) {return iterable.__iterator(type, !reverse)}; - return reversedSequence; - } - - - function filterFactory(iterable, predicate, context, useKeys) { - var filterSequence = makeSequence(iterable); - if (useKeys) { - filterSequence.has = function(key ) { - var v = iterable.get(key, NOT_SET); - return v !== NOT_SET && !!predicate.call(context, v, key, iterable); - }; - filterSequence.get = function(key, notSetValue) { - var v = iterable.get(key, NOT_SET); - return v !== NOT_SET && predicate.call(context, v, key, iterable) ? - v : notSetValue; - }; - } - filterSequence.__iterateUncached = function (fn, reverse) {var this$0 = this; - var iterations = 0; - iterable.__iterate(function(v, k, c) { - if (predicate.call(context, v, k, c)) { - iterations++; - return fn(v, useKeys ? k : iterations - 1, this$0); - } - }, reverse); - return iterations; - }; - filterSequence.__iteratorUncached = function (type, reverse) { - var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse); - var iterations = 0; - return new Iterator(function() { - while (true) { - var step = iterator.next(); - if (step.done) { - return step; - } - var entry = step.value; - var key = entry[0]; - var value = entry[1]; - if (predicate.call(context, value, key, iterable)) { - return iteratorValue(type, useKeys ? key : iterations++, value, step); - } - } - }); - } - return filterSequence; - } - - - function countByFactory(iterable, grouper, context) { - var groups = Map().asMutable(); - iterable.__iterate(function(v, k) { - groups.update( - grouper.call(context, v, k, iterable), - 0, - function(a ) {return a + 1} - ); - }); - return groups.asImmutable(); - } - - - function groupByFactory(iterable, grouper, context) { - var isKeyedIter = isKeyed(iterable); - var groups = (isOrdered(iterable) ? OrderedMap() : Map()).asMutable(); - iterable.__iterate(function(v, k) { - groups.update( - grouper.call(context, v, k, iterable), - function(a ) {return (a = a || [], a.push(isKeyedIter ? [k, v] : v), a)} - ); - }); - var coerce = iterableClass(iterable); - return groups.map(function(arr ) {return reify(iterable, coerce(arr))}); - } - - - function sliceFactory(iterable, begin, end, useKeys) { - var originalSize = iterable.size; - - // Sanitize begin & end using this shorthand for ToInt32(argument) - // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32 - if (begin !== undefined) { - begin = begin | 0; - } - if (end !== undefined) { - if (end === Infinity) { - end = originalSize; - } else { - end = end | 0; - } - } - - if (wholeSlice(begin, end, originalSize)) { - return iterable; - } - - var resolvedBegin = resolveBegin(begin, originalSize); - var resolvedEnd = resolveEnd(end, originalSize); - - // begin or end will be NaN if they were provided as negative numbers and - // this iterable's size is unknown. In that case, cache first so there is - // a known size and these do not resolve to NaN. - if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) { - return sliceFactory(iterable.toSeq().cacheResult(), begin, end, useKeys); - } - - // Note: resolvedEnd is undefined when the original sequence's length is - // unknown and this slice did not supply an end and should contain all - // elements after resolvedBegin. - // In that case, resolvedSize will be NaN and sliceSize will remain undefined. - var resolvedSize = resolvedEnd - resolvedBegin; - var sliceSize; - if (resolvedSize === resolvedSize) { - sliceSize = resolvedSize < 0 ? 0 : resolvedSize; - } - - var sliceSeq = makeSequence(iterable); - - // If iterable.size is undefined, the size of the realized sliceSeq is - // unknown at this point unless the number of items to slice is 0 - sliceSeq.size = sliceSize === 0 ? sliceSize : iterable.size && sliceSize || undefined; - - if (!useKeys && isSeq(iterable) && sliceSize >= 0) { - sliceSeq.get = function (index, notSetValue) { - index = wrapIndex(this, index); - return index >= 0 && index < sliceSize ? - iterable.get(index + resolvedBegin, notSetValue) : - notSetValue; - } - } - - sliceSeq.__iterateUncached = function(fn, reverse) {var this$0 = this; - if (sliceSize === 0) { - return 0; - } - if (reverse) { - return this.cacheResult().__iterate(fn, reverse); - } - var skipped = 0; - var isSkipping = true; - var iterations = 0; - iterable.__iterate(function(v, k) { - if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) { - iterations++; - return fn(v, useKeys ? k : iterations - 1, this$0) !== false && - iterations !== sliceSize; - } - }); - return iterations; - }; - - sliceSeq.__iteratorUncached = function(type, reverse) { - if (sliceSize !== 0 && reverse) { - return this.cacheResult().__iterator(type, reverse); - } - // Don't bother instantiating parent iterator if taking 0. - var iterator = sliceSize !== 0 && iterable.__iterator(type, reverse); - var skipped = 0; - var iterations = 0; - return new Iterator(function() { - while (skipped++ < resolvedBegin) { - iterator.next(); - } - if (++iterations > sliceSize) { - return iteratorDone(); - } - var step = iterator.next(); - if (useKeys || type === ITERATE_VALUES) { - return step; - } else if (type === ITERATE_KEYS) { - return iteratorValue(type, iterations - 1, undefined, step); - } else { - return iteratorValue(type, iterations - 1, step.value[1], step); - } - }); - } - - return sliceSeq; - } - - - function takeWhileFactory(iterable, predicate, context) { - var takeSequence = makeSequence(iterable); - takeSequence.__iterateUncached = function(fn, reverse) {var this$0 = this; - if (reverse) { - return this.cacheResult().__iterate(fn, reverse); - } - var iterations = 0; - iterable.__iterate(function(v, k, c) - {return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$0)} - ); - return iterations; - }; - takeSequence.__iteratorUncached = function(type, reverse) {var this$0 = this; - if (reverse) { - return this.cacheResult().__iterator(type, reverse); - } - var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse); - var iterating = true; - return new Iterator(function() { - if (!iterating) { - return iteratorDone(); - } - var step = iterator.next(); - if (step.done) { - return step; - } - var entry = step.value; - var k = entry[0]; - var v = entry[1]; - if (!predicate.call(context, v, k, this$0)) { - iterating = false; - return iteratorDone(); - } - return type === ITERATE_ENTRIES ? step : - iteratorValue(type, k, v, step); - }); - }; - return takeSequence; - } - - - function skipWhileFactory(iterable, predicate, context, useKeys) { - var skipSequence = makeSequence(iterable); - skipSequence.__iterateUncached = function (fn, reverse) {var this$0 = this; - if (reverse) { - return this.cacheResult().__iterate(fn, reverse); - } - var isSkipping = true; - var iterations = 0; - iterable.__iterate(function(v, k, c) { - if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) { - iterations++; - return fn(v, useKeys ? k : iterations - 1, this$0); - } - }); - return iterations; - }; - skipSequence.__iteratorUncached = function(type, reverse) {var this$0 = this; - if (reverse) { - return this.cacheResult().__iterator(type, reverse); - } - var iterator = iterable.__iterator(ITERATE_ENTRIES, reverse); - var skipping = true; - var iterations = 0; - return new Iterator(function() { - var step, k, v; - do { - step = iterator.next(); - if (step.done) { - if (useKeys || type === ITERATE_VALUES) { - return step; - } else if (type === ITERATE_KEYS) { - return iteratorValue(type, iterations++, undefined, step); - } else { - return iteratorValue(type, iterations++, step.value[1], step); - } - } - var entry = step.value; - k = entry[0]; - v = entry[1]; - skipping && (skipping = predicate.call(context, v, k, this$0)); - } while (skipping); - return type === ITERATE_ENTRIES ? step : - iteratorValue(type, k, v, step); - }); - }; - return skipSequence; - } - - - function concatFactory(iterable, values) { - var isKeyedIterable = isKeyed(iterable); - var iters = [iterable].concat(values).map(function(v ) { - if (!isIterable(v)) { - v = isKeyedIterable ? - keyedSeqFromValue(v) : - indexedSeqFromValue(Array.isArray(v) ? v : [v]); - } else if (isKeyedIterable) { - v = KeyedIterable(v); - } - return v; - }).filter(function(v ) {return v.size !== 0}); - - if (iters.length === 0) { - return iterable; - } - - if (iters.length === 1) { - var singleton = iters[0]; - if (singleton === iterable || - isKeyedIterable && isKeyed(singleton) || - isIndexed(iterable) && isIndexed(singleton)) { - return singleton; - } - } - - var concatSeq = new ArraySeq(iters); - if (isKeyedIterable) { - concatSeq = concatSeq.toKeyedSeq(); - } else if (!isIndexed(iterable)) { - concatSeq = concatSeq.toSetSeq(); - } - concatSeq = concatSeq.flatten(true); - concatSeq.size = iters.reduce( - function(sum, seq) { - if (sum !== undefined) { - var size = seq.size; - if (size !== undefined) { - return sum + size; - } - } - }, - 0 - ); - return concatSeq; - } - - - function flattenFactory(iterable, depth, useKeys) { - var flatSequence = makeSequence(iterable); - flatSequence.__iterateUncached = function(fn, reverse) { - var iterations = 0; - var stopped = false; - function flatDeep(iter, currentDepth) {var this$0 = this; - iter.__iterate(function(v, k) { - if ((!depth || currentDepth < depth) && isIterable(v)) { - flatDeep(v, currentDepth + 1); - } else if (fn(v, useKeys ? k : iterations++, this$0) === false) { - stopped = true; - } - return !stopped; - }, reverse); - } - flatDeep(iterable, 0); - return iterations; - } - flatSequence.__iteratorUncached = function(type, reverse) { - var iterator = iterable.__iterator(type, reverse); - var stack = []; - var iterations = 0; - return new Iterator(function() { - while (iterator) { - var step = iterator.next(); - if (step.done !== false) { - iterator = stack.pop(); - continue; - } - var v = step.value; - if (type === ITERATE_ENTRIES) { - v = v[1]; - } - if ((!depth || stack.length < depth) && isIterable(v)) { - stack.push(iterator); - iterator = v.__iterator(type, reverse); - } else { - return useKeys ? step : iteratorValue(type, iterations++, v, step); - } - } - return iteratorDone(); - }); - } - return flatSequence; - } - - - function flatMapFactory(iterable, mapper, context) { - var coerce = iterableClass(iterable); - return iterable.toSeq().map( - function(v, k) {return coerce(mapper.call(context, v, k, iterable))} - ).flatten(true); - } - - - function interposeFactory(iterable, separator) { - var interposedSequence = makeSequence(iterable); - interposedSequence.size = iterable.size && iterable.size * 2 -1; - interposedSequence.__iterateUncached = function(fn, reverse) {var this$0 = this; - var iterations = 0; - iterable.__iterate(function(v, k) - {return (!iterations || fn(separator, iterations++, this$0) !== false) && - fn(v, iterations++, this$0) !== false}, - reverse - ); - return iterations; - }; - interposedSequence.__iteratorUncached = function(type, reverse) { - var iterator = iterable.__iterator(ITERATE_VALUES, reverse); - var iterations = 0; - var step; - return new Iterator(function() { - if (!step || iterations % 2) { - step = iterator.next(); - if (step.done) { - return step; - } - } - return iterations % 2 ? - iteratorValue(type, iterations++, separator) : - iteratorValue(type, iterations++, step.value, step); - }); - }; - return interposedSequence; - } - - - function sortFactory(iterable, comparator, mapper) { - if (!comparator) { - comparator = defaultComparator; - } - var isKeyedIterable = isKeyed(iterable); - var index = 0; - var entries = iterable.toSeq().map( - function(v, k) {return [k, v, index++, mapper ? mapper(v, k, iterable) : v]} - ).toArray(); - entries.sort(function(a, b) {return comparator(a[3], b[3]) || a[2] - b[2]}).forEach( - isKeyedIterable ? - function(v, i) { entries[i].length = 2; } : - function(v, i) { entries[i] = v[1]; } - ); - return isKeyedIterable ? KeyedSeq(entries) : - isIndexed(iterable) ? IndexedSeq(entries) : - SetSeq(entries); - } - - - function maxFactory(iterable, comparator, mapper) { - if (!comparator) { - comparator = defaultComparator; - } - if (mapper) { - var entry = iterable.toSeq() - .map(function(v, k) {return [v, mapper(v, k, iterable)]}) - .reduce(function(a, b) {return maxCompare(comparator, a[1], b[1]) ? b : a}); - return entry && entry[0]; - } else { - return iterable.reduce(function(a, b) {return maxCompare(comparator, a, b) ? b : a}); - } - } - - function maxCompare(comparator, a, b) { - var comp = comparator(b, a); - // b is considered the new max if the comparator declares them equal, but - // they are not equal and b is in fact a nullish value. - return (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) || comp > 0; - } - - - function zipWithFactory(keyIter, zipper, iters) { - var zipSequence = makeSequence(keyIter); - zipSequence.size = new ArraySeq(iters).map(function(i ) {return i.size}).min(); - // Note: this a generic base implementation of __iterate in terms of - // __iterator which may be more generically useful in the future. - zipSequence.__iterate = function(fn, reverse) { - /* generic: - var iterator = this.__iterator(ITERATE_ENTRIES, reverse); - var step; - var iterations = 0; - while (!(step = iterator.next()).done) { - iterations++; - if (fn(step.value[1], step.value[0], this) === false) { - break; - } - } - return iterations; - */ - // indexed: - var iterator = this.__iterator(ITERATE_VALUES, reverse); - var step; - var iterations = 0; - while (!(step = iterator.next()).done) { - if (fn(step.value, iterations++, this) === false) { - break; - } - } - return iterations; - }; - zipSequence.__iteratorUncached = function(type, reverse) { - var iterators = iters.map(function(i ) - {return (i = Iterable(i), getIterator(reverse ? i.reverse() : i))} - ); - var iterations = 0; - var isDone = false; - return new Iterator(function() { - var steps; - if (!isDone) { - steps = iterators.map(function(i ) {return i.next()}); - isDone = steps.some(function(s ) {return s.done}); - } - if (isDone) { - return iteratorDone(); - } - return iteratorValue( - type, - iterations++, - zipper.apply(null, steps.map(function(s ) {return s.value})) - ); - }); - }; - return zipSequence - } - - - // #pragma Helper Functions - - function reify(iter, seq) { - return isSeq(iter) ? seq : iter.constructor(seq); - } - - function validateEntry(entry) { - if (entry !== Object(entry)) { - throw new TypeError('Expected [K, V] tuple: ' + entry); - } - } - - function resolveSize(iter) { - assertNotInfinite(iter.size); - return ensureSize(iter); - } - - function iterableClass(iterable) { - return isKeyed(iterable) ? KeyedIterable : - isIndexed(iterable) ? IndexedIterable : - SetIterable; - } - - function makeSequence(iterable) { - return Object.create( - ( - isKeyed(iterable) ? KeyedSeq : - isIndexed(iterable) ? IndexedSeq : - SetSeq - ).prototype - ); - } - - function cacheResultThrough() { - if (this._iter.cacheResult) { - this._iter.cacheResult(); - this.size = this._iter.size; - return this; - } else { - return Seq.prototype.cacheResult.call(this); - } - } - - function defaultComparator(a, b) { - return a > b ? 1 : a < b ? -1 : 0; - } - - function forceIterator(keyPath) { - var iter = getIterator(keyPath); - if (!iter) { - // Array might not be iterable in this environment, so we need a fallback - // to our wrapped type. - if (!isArrayLike(keyPath)) { - throw new TypeError('Expected iterable or array-like: ' + keyPath); - } - iter = getIterator(Iterable(keyPath)); - } - return iter; - } - - createClass(Record, KeyedCollection); - - function Record(defaultValues, name) { - var hasInitialized; - - var RecordType = function Record(values) { - if (values instanceof RecordType) { - return values; - } - if (!(this instanceof RecordType)) { - return new RecordType(values); - } - if (!hasInitialized) { - hasInitialized = true; - var keys = Object.keys(defaultValues); - setProps(RecordTypePrototype, keys); - RecordTypePrototype.size = keys.length; - RecordTypePrototype._name = name; - RecordTypePrototype._keys = keys; - RecordTypePrototype._defaultValues = defaultValues; - } - this._map = Map(values); - }; - - var RecordTypePrototype = RecordType.prototype = Object.create(RecordPrototype); - RecordTypePrototype.constructor = RecordType; - - return RecordType; - } - - Record.prototype.toString = function() { - return this.__toString(recordName(this) + ' {', '}'); - }; - - // @pragma Access - - Record.prototype.has = function(k) { - return this._defaultValues.hasOwnProperty(k); - }; - - Record.prototype.get = function(k, notSetValue) { - if (!this.has(k)) { - return notSetValue; - } - var defaultVal = this._defaultValues[k]; - return this._map ? this._map.get(k, defaultVal) : defaultVal; - }; - - // @pragma Modification - - Record.prototype.clear = function() { - if (this.__ownerID) { - this._map && this._map.clear(); - return this; - } - var RecordType = this.constructor; - return RecordType._empty || (RecordType._empty = makeRecord(this, emptyMap())); - }; - - Record.prototype.set = function(k, v) { - if (!this.has(k)) { - throw new Error('Cannot set unknown key "' + k + '" on ' + recordName(this)); - } - if (this._map && !this._map.has(k)) { - var defaultVal = this._defaultValues[k]; - if (v === defaultVal) { - return this; - } - } - var newMap = this._map && this._map.set(k, v); - if (this.__ownerID || newMap === this._map) { - return this; - } - return makeRecord(this, newMap); - }; - - Record.prototype.remove = function(k) { - if (!this.has(k)) { - return this; - } - var newMap = this._map && this._map.remove(k); - if (this.__ownerID || newMap === this._map) { - return this; - } - return makeRecord(this, newMap); - }; - - Record.prototype.wasAltered = function() { - return this._map.wasAltered(); - }; - - Record.prototype.__iterator = function(type, reverse) {var this$0 = this; - return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterator(type, reverse); - }; - - Record.prototype.__iterate = function(fn, reverse) {var this$0 = this; - return KeyedIterable(this._defaultValues).map(function(_, k) {return this$0.get(k)}).__iterate(fn, reverse); - }; - - Record.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - var newMap = this._map && this._map.__ensureOwner(ownerID); - if (!ownerID) { - this.__ownerID = ownerID; - this._map = newMap; - return this; - } - return makeRecord(this, newMap, ownerID); - }; - - - var RecordPrototype = Record.prototype; - RecordPrototype[DELETE] = RecordPrototype.remove; - RecordPrototype.deleteIn = - RecordPrototype.removeIn = MapPrototype.removeIn; - RecordPrototype.merge = MapPrototype.merge; - RecordPrototype.mergeWith = MapPrototype.mergeWith; - RecordPrototype.mergeIn = MapPrototype.mergeIn; - RecordPrototype.mergeDeep = MapPrototype.mergeDeep; - RecordPrototype.mergeDeepWith = MapPrototype.mergeDeepWith; - RecordPrototype.mergeDeepIn = MapPrototype.mergeDeepIn; - RecordPrototype.setIn = MapPrototype.setIn; - RecordPrototype.update = MapPrototype.update; - RecordPrototype.updateIn = MapPrototype.updateIn; - RecordPrototype.withMutations = MapPrototype.withMutations; - RecordPrototype.asMutable = MapPrototype.asMutable; - RecordPrototype.asImmutable = MapPrototype.asImmutable; - - - function makeRecord(likeRecord, map, ownerID) { - var record = Object.create(Object.getPrototypeOf(likeRecord)); - record._map = map; - record.__ownerID = ownerID; - return record; - } - - function recordName(record) { - return record._name || record.constructor.name || 'Record'; - } - - function setProps(prototype, names) { - try { - names.forEach(setProp.bind(undefined, prototype)); - } catch (error) { - // Object.defineProperty failed. Probably IE8. - } - } - - function setProp(prototype, name) { - Object.defineProperty(prototype, name, { - get: function() { - return this.get(name); - }, - set: function(value) { - invariant(this.__ownerID, 'Cannot set on an immutable record.'); - this.set(name, value); - } - }); - } - - createClass(Set, SetCollection); - - // @pragma Construction - - function Set(value) { - return value === null || value === undefined ? emptySet() : - isSet(value) && !isOrdered(value) ? value : - emptySet().withMutations(function(set ) { - var iter = SetIterable(value); - assertNotInfinite(iter.size); - iter.forEach(function(v ) {return set.add(v)}); - }); - } - - Set.of = function(/*...values*/) { - return this(arguments); - }; - - Set.fromKeys = function(value) { - return this(KeyedIterable(value).keySeq()); - }; - - Set.prototype.toString = function() { - return this.__toString('Set {', '}'); - }; - - // @pragma Access - - Set.prototype.has = function(value) { - return this._map.has(value); - }; - - // @pragma Modification - - Set.prototype.add = function(value) { - return updateSet(this, this._map.set(value, true)); - }; - - Set.prototype.remove = function(value) { - return updateSet(this, this._map.remove(value)); - }; - - Set.prototype.clear = function() { - return updateSet(this, this._map.clear()); - }; - - // @pragma Composition - - Set.prototype.union = function() {var iters = SLICE$0.call(arguments, 0); - iters = iters.filter(function(x ) {return x.size !== 0}); - if (iters.length === 0) { - return this; - } - if (this.size === 0 && !this.__ownerID && iters.length === 1) { - return this.constructor(iters[0]); - } - return this.withMutations(function(set ) { - for (var ii = 0; ii < iters.length; ii++) { - SetIterable(iters[ii]).forEach(function(value ) {return set.add(value)}); - } - }); - }; - - Set.prototype.intersect = function() {var iters = SLICE$0.call(arguments, 0); - if (iters.length === 0) { - return this; - } - iters = iters.map(function(iter ) {return SetIterable(iter)}); - var originalSet = this; - return this.withMutations(function(set ) { - originalSet.forEach(function(value ) { - if (!iters.every(function(iter ) {return iter.includes(value)})) { - set.remove(value); - } - }); - }); - }; - - Set.prototype.subtract = function() {var iters = SLICE$0.call(arguments, 0); - if (iters.length === 0) { - return this; - } - iters = iters.map(function(iter ) {return SetIterable(iter)}); - var originalSet = this; - return this.withMutations(function(set ) { - originalSet.forEach(function(value ) { - if (iters.some(function(iter ) {return iter.includes(value)})) { - set.remove(value); - } - }); - }); - }; - - Set.prototype.merge = function() { - return this.union.apply(this, arguments); - }; - - Set.prototype.mergeWith = function(merger) {var iters = SLICE$0.call(arguments, 1); - return this.union.apply(this, iters); - }; - - Set.prototype.sort = function(comparator) { - // Late binding - return OrderedSet(sortFactory(this, comparator)); - }; - - Set.prototype.sortBy = function(mapper, comparator) { - // Late binding - return OrderedSet(sortFactory(this, comparator, mapper)); - }; - - Set.prototype.wasAltered = function() { - return this._map.wasAltered(); - }; - - Set.prototype.__iterate = function(fn, reverse) {var this$0 = this; - return this._map.__iterate(function(_, k) {return fn(k, k, this$0)}, reverse); - }; - - Set.prototype.__iterator = function(type, reverse) { - return this._map.map(function(_, k) {return k}).__iterator(type, reverse); - }; - - Set.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - var newMap = this._map.__ensureOwner(ownerID); - if (!ownerID) { - this.__ownerID = ownerID; - this._map = newMap; - return this; - } - return this.__make(newMap, ownerID); - }; - - - function isSet(maybeSet) { - return !!(maybeSet && maybeSet[IS_SET_SENTINEL]); - } - - Set.isSet = isSet; - - var IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@'; - - var SetPrototype = Set.prototype; - SetPrototype[IS_SET_SENTINEL] = true; - SetPrototype[DELETE] = SetPrototype.remove; - SetPrototype.mergeDeep = SetPrototype.merge; - SetPrototype.mergeDeepWith = SetPrototype.mergeWith; - SetPrototype.withMutations = MapPrototype.withMutations; - SetPrototype.asMutable = MapPrototype.asMutable; - SetPrototype.asImmutable = MapPrototype.asImmutable; - - SetPrototype.__empty = emptySet; - SetPrototype.__make = makeSet; - - function updateSet(set, newMap) { - if (set.__ownerID) { - set.size = newMap.size; - set._map = newMap; - return set; - } - return newMap === set._map ? set : - newMap.size === 0 ? set.__empty() : - set.__make(newMap); - } - - function makeSet(map, ownerID) { - var set = Object.create(SetPrototype); - set.size = map ? map.size : 0; - set._map = map; - set.__ownerID = ownerID; - return set; - } - - var EMPTY_SET; - function emptySet() { - return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap())); - } - - createClass(OrderedSet, Set); - - // @pragma Construction - - function OrderedSet(value) { - return value === null || value === undefined ? emptyOrderedSet() : - isOrderedSet(value) ? value : - emptyOrderedSet().withMutations(function(set ) { - var iter = SetIterable(value); - assertNotInfinite(iter.size); - iter.forEach(function(v ) {return set.add(v)}); - }); - } - - OrderedSet.of = function(/*...values*/) { - return this(arguments); - }; - - OrderedSet.fromKeys = function(value) { - return this(KeyedIterable(value).keySeq()); - }; - - OrderedSet.prototype.toString = function() { - return this.__toString('OrderedSet {', '}'); - }; - - - function isOrderedSet(maybeOrderedSet) { - return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet); - } - - OrderedSet.isOrderedSet = isOrderedSet; - - var OrderedSetPrototype = OrderedSet.prototype; - OrderedSetPrototype[IS_ORDERED_SENTINEL] = true; - - OrderedSetPrototype.__empty = emptyOrderedSet; - OrderedSetPrototype.__make = makeOrderedSet; - - function makeOrderedSet(map, ownerID) { - var set = Object.create(OrderedSetPrototype); - set.size = map ? map.size : 0; - set._map = map; - set.__ownerID = ownerID; - return set; - } - - var EMPTY_ORDERED_SET; - function emptyOrderedSet() { - return EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap())); - } - - createClass(Stack, IndexedCollection); - - // @pragma Construction - - function Stack(value) { - return value === null || value === undefined ? emptyStack() : - isStack(value) ? value : - emptyStack().unshiftAll(value); - } - - Stack.of = function(/*...values*/) { - return this(arguments); - }; - - Stack.prototype.toString = function() { - return this.__toString('Stack [', ']'); - }; - - // @pragma Access - - Stack.prototype.get = function(index, notSetValue) { - var head = this._head; - index = wrapIndex(this, index); - while (head && index--) { - head = head.next; - } - return head ? head.value : notSetValue; - }; - - Stack.prototype.peek = function() { - return this._head && this._head.value; - }; - - // @pragma Modification - - Stack.prototype.push = function(/*...values*/) { - if (arguments.length === 0) { - return this; - } - var newSize = this.size + arguments.length; - var head = this._head; - for (var ii = arguments.length - 1; ii >= 0; ii--) { - head = { - value: arguments[ii], - next: head - }; - } - if (this.__ownerID) { - this.size = newSize; - this._head = head; - this.__hash = undefined; - this.__altered = true; - return this; - } - return makeStack(newSize, head); - }; - - Stack.prototype.pushAll = function(iter) { - iter = IndexedIterable(iter); - if (iter.size === 0) { - return this; - } - assertNotInfinite(iter.size); - var newSize = this.size; - var head = this._head; - iter.reverse().forEach(function(value ) { - newSize++; - head = { - value: value, - next: head - }; - }); - if (this.__ownerID) { - this.size = newSize; - this._head = head; - this.__hash = undefined; - this.__altered = true; - return this; - } - return makeStack(newSize, head); - }; - - Stack.prototype.pop = function() { - return this.slice(1); - }; - - Stack.prototype.unshift = function(/*...values*/) { - return this.push.apply(this, arguments); - }; - - Stack.prototype.unshiftAll = function(iter) { - return this.pushAll(iter); - }; - - Stack.prototype.shift = function() { - return this.pop.apply(this, arguments); - }; - - Stack.prototype.clear = function() { - if (this.size === 0) { - return this; - } - if (this.__ownerID) { - this.size = 0; - this._head = undefined; - this.__hash = undefined; - this.__altered = true; - return this; - } - return emptyStack(); - }; - - Stack.prototype.slice = function(begin, end) { - if (wholeSlice(begin, end, this.size)) { - return this; - } - var resolvedBegin = resolveBegin(begin, this.size); - var resolvedEnd = resolveEnd(end, this.size); - if (resolvedEnd !== this.size) { - // super.slice(begin, end); - return IndexedCollection.prototype.slice.call(this, begin, end); - } - var newSize = this.size - resolvedBegin; - var head = this._head; - while (resolvedBegin--) { - head = head.next; - } - if (this.__ownerID) { - this.size = newSize; - this._head = head; - this.__hash = undefined; - this.__altered = true; - return this; - } - return makeStack(newSize, head); - }; - - // @pragma Mutability - - Stack.prototype.__ensureOwner = function(ownerID) { - if (ownerID === this.__ownerID) { - return this; - } - if (!ownerID) { - this.__ownerID = ownerID; - this.__altered = false; - return this; - } - return makeStack(this.size, this._head, ownerID, this.__hash); - }; - - // @pragma Iteration - - Stack.prototype.__iterate = function(fn, reverse) { - if (reverse) { - return this.reverse().__iterate(fn); - } - var iterations = 0; - var node = this._head; - while (node) { - if (fn(node.value, iterations++, this) === false) { - break; - } - node = node.next; - } - return iterations; - }; - - Stack.prototype.__iterator = function(type, reverse) { - if (reverse) { - return this.reverse().__iterator(type); - } - var iterations = 0; - var node = this._head; - return new Iterator(function() { - if (node) { - var value = node.value; - node = node.next; - return iteratorValue(type, iterations++, value); - } - return iteratorDone(); - }); - }; - - - function isStack(maybeStack) { - return !!(maybeStack && maybeStack[IS_STACK_SENTINEL]); - } - - Stack.isStack = isStack; - - var IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@'; - - var StackPrototype = Stack.prototype; - StackPrototype[IS_STACK_SENTINEL] = true; - StackPrototype.withMutations = MapPrototype.withMutations; - StackPrototype.asMutable = MapPrototype.asMutable; - StackPrototype.asImmutable = MapPrototype.asImmutable; - StackPrototype.wasAltered = MapPrototype.wasAltered; - - - function makeStack(size, head, ownerID, hash) { - var map = Object.create(StackPrototype); - map.size = size; - map._head = head; - map.__ownerID = ownerID; - map.__hash = hash; - map.__altered = false; - return map; - } - - var EMPTY_STACK; - function emptyStack() { - return EMPTY_STACK || (EMPTY_STACK = makeStack(0)); - } - - /** - * Contributes additional methods to a constructor - */ - function mixin(ctor, methods) { - var keyCopier = function(key ) { ctor.prototype[key] = methods[key]; }; - Object.keys(methods).forEach(keyCopier); - Object.getOwnPropertySymbols && - Object.getOwnPropertySymbols(methods).forEach(keyCopier); - return ctor; - } - - Iterable.Iterator = Iterator; - - mixin(Iterable, { - - // ### Conversion to other types - - toArray: function() { - assertNotInfinite(this.size); - var array = new Array(this.size || 0); - this.valueSeq().__iterate(function(v, i) { array[i] = v; }); - return array; - }, - - toIndexedSeq: function() { - return new ToIndexedSequence(this); - }, - - toJS: function() { - return this.toSeq().map( - function(value ) {return value && typeof value.toJS === 'function' ? value.toJS() : value} - ).__toJS(); - }, - - toJSON: function() { - return this.toSeq().map( - function(value ) {return value && typeof value.toJSON === 'function' ? value.toJSON() : value} - ).__toJS(); - }, - - toKeyedSeq: function() { - return new ToKeyedSequence(this, true); - }, - - toMap: function() { - // Use Late Binding here to solve the circular dependency. - return Map(this.toKeyedSeq()); - }, - - toObject: function() { - assertNotInfinite(this.size); - var object = {}; - this.__iterate(function(v, k) { object[k] = v; }); - return object; - }, - - toOrderedMap: function() { - // Use Late Binding here to solve the circular dependency. - return OrderedMap(this.toKeyedSeq()); - }, - - toOrderedSet: function() { - // Use Late Binding here to solve the circular dependency. - return OrderedSet(isKeyed(this) ? this.valueSeq() : this); - }, - - toSet: function() { - // Use Late Binding here to solve the circular dependency. - return Set(isKeyed(this) ? this.valueSeq() : this); - }, - - toSetSeq: function() { - return new ToSetSequence(this); - }, - - toSeq: function() { - return isIndexed(this) ? this.toIndexedSeq() : - isKeyed(this) ? this.toKeyedSeq() : - this.toSetSeq(); - }, - - toStack: function() { - // Use Late Binding here to solve the circular dependency. - return Stack(isKeyed(this) ? this.valueSeq() : this); - }, - - toList: function() { - // Use Late Binding here to solve the circular dependency. - return List(isKeyed(this) ? this.valueSeq() : this); - }, - - - // ### Common JavaScript methods and properties - - toString: function() { - return '[Iterable]'; - }, - - __toString: function(head, tail) { - if (this.size === 0) { - return head + tail; - } - return head + ' ' + this.toSeq().map(this.__toStringMapper).join(', ') + ' ' + tail; - }, - - - // ### ES6 Collection methods (ES6 Array and Map) - - concat: function() {var values = SLICE$0.call(arguments, 0); - return reify(this, concatFactory(this, values)); - }, - - includes: function(searchValue) { - return this.some(function(value ) {return is(value, searchValue)}); - }, - - entries: function() { - return this.__iterator(ITERATE_ENTRIES); - }, - - every: function(predicate, context) { - assertNotInfinite(this.size); - var returnValue = true; - this.__iterate(function(v, k, c) { - if (!predicate.call(context, v, k, c)) { - returnValue = false; - return false; - } - }); - return returnValue; - }, - - filter: function(predicate, context) { - return reify(this, filterFactory(this, predicate, context, true)); - }, - - find: function(predicate, context, notSetValue) { - var entry = this.findEntry(predicate, context); - return entry ? entry[1] : notSetValue; - }, - - forEach: function(sideEffect, context) { - assertNotInfinite(this.size); - return this.__iterate(context ? sideEffect.bind(context) : sideEffect); - }, - - join: function(separator) { - assertNotInfinite(this.size); - separator = separator !== undefined ? '' + separator : ','; - var joined = ''; - var isFirst = true; - this.__iterate(function(v ) { - isFirst ? (isFirst = false) : (joined += separator); - joined += v !== null && v !== undefined ? v.toString() : ''; - }); - return joined; - }, - - keys: function() { - return this.__iterator(ITERATE_KEYS); - }, - - map: function(mapper, context) { - return reify(this, mapFactory(this, mapper, context)); - }, - - reduce: function(reducer, initialReduction, context) { - assertNotInfinite(this.size); - var reduction; - var useFirst; - if (arguments.length < 2) { - useFirst = true; - } else { - reduction = initialReduction; - } - this.__iterate(function(v, k, c) { - if (useFirst) { - useFirst = false; - reduction = v; - } else { - reduction = reducer.call(context, reduction, v, k, c); - } - }); - return reduction; - }, - - reduceRight: function(reducer, initialReduction, context) { - var reversed = this.toKeyedSeq().reverse(); - return reversed.reduce.apply(reversed, arguments); - }, - - reverse: function() { - return reify(this, reverseFactory(this, true)); - }, - - slice: function(begin, end) { - return reify(this, sliceFactory(this, begin, end, true)); - }, - - some: function(predicate, context) { - return !this.every(not(predicate), context); - }, - - sort: function(comparator) { - return reify(this, sortFactory(this, comparator)); - }, - - values: function() { - return this.__iterator(ITERATE_VALUES); - }, - - - // ### More sequential methods - - butLast: function() { - return this.slice(0, -1); - }, - - isEmpty: function() { - return this.size !== undefined ? this.size === 0 : !this.some(function() {return true}); - }, - - count: function(predicate, context) { - return ensureSize( - predicate ? this.toSeq().filter(predicate, context) : this - ); - }, - - countBy: function(grouper, context) { - return countByFactory(this, grouper, context); - }, - - equals: function(other) { - return deepEqual(this, other); - }, - - entrySeq: function() { - var iterable = this; - if (iterable._cache) { - // We cache as an entries array, so we can just return the cache! - return new ArraySeq(iterable._cache); - } - var entriesSequence = iterable.toSeq().map(entryMapper).toIndexedSeq(); - entriesSequence.fromEntrySeq = function() {return iterable.toSeq()}; - return entriesSequence; - }, - - filterNot: function(predicate, context) { - return this.filter(not(predicate), context); - }, - - findEntry: function(predicate, context, notSetValue) { - var found = notSetValue; - this.__iterate(function(v, k, c) { - if (predicate.call(context, v, k, c)) { - found = [k, v]; - return false; - } - }); - return found; - }, - - findKey: function(predicate, context) { - var entry = this.findEntry(predicate, context); - return entry && entry[0]; - }, - - findLast: function(predicate, context, notSetValue) { - return this.toKeyedSeq().reverse().find(predicate, context, notSetValue); - }, - - findLastEntry: function(predicate, context, notSetValue) { - return this.toKeyedSeq().reverse().findEntry(predicate, context, notSetValue); - }, - - findLastKey: function(predicate, context) { - return this.toKeyedSeq().reverse().findKey(predicate, context); - }, - - first: function() { - return this.find(returnTrue); - }, - - flatMap: function(mapper, context) { - return reify(this, flatMapFactory(this, mapper, context)); - }, - - flatten: function(depth) { - return reify(this, flattenFactory(this, depth, true)); - }, - - fromEntrySeq: function() { - return new FromEntriesSequence(this); - }, - - get: function(searchKey, notSetValue) { - return this.find(function(_, key) {return is(key, searchKey)}, undefined, notSetValue); - }, - - getIn: function(searchKeyPath, notSetValue) { - var nested = this; - // Note: in an ES6 environment, we would prefer: - // for (var key of searchKeyPath) { - var iter = forceIterator(searchKeyPath); - var step; - while (!(step = iter.next()).done) { - var key = step.value; - nested = nested && nested.get ? nested.get(key, NOT_SET) : NOT_SET; - if (nested === NOT_SET) { - return notSetValue; - } - } - return nested; - }, - - groupBy: function(grouper, context) { - return groupByFactory(this, grouper, context); - }, - - has: function(searchKey) { - return this.get(searchKey, NOT_SET) !== NOT_SET; - }, - - hasIn: function(searchKeyPath) { - return this.getIn(searchKeyPath, NOT_SET) !== NOT_SET; - }, - - isSubset: function(iter) { - iter = typeof iter.includes === 'function' ? iter : Iterable(iter); - return this.every(function(value ) {return iter.includes(value)}); - }, - - isSuperset: function(iter) { - iter = typeof iter.isSubset === 'function' ? iter : Iterable(iter); - return iter.isSubset(this); - }, - - keyOf: function(searchValue) { - return this.findKey(function(value ) {return is(value, searchValue)}); - }, - - keySeq: function() { - return this.toSeq().map(keyMapper).toIndexedSeq(); - }, - - last: function() { - return this.toSeq().reverse().first(); - }, - - lastKeyOf: function(searchValue) { - return this.toKeyedSeq().reverse().keyOf(searchValue); - }, - - max: function(comparator) { - return maxFactory(this, comparator); - }, - - maxBy: function(mapper, comparator) { - return maxFactory(this, comparator, mapper); - }, - - min: function(comparator) { - return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator); - }, - - minBy: function(mapper, comparator) { - return maxFactory(this, comparator ? neg(comparator) : defaultNegComparator, mapper); - }, - - rest: function() { - return this.slice(1); - }, - - skip: function(amount) { - return this.slice(Math.max(0, amount)); - }, - - skipLast: function(amount) { - return reify(this, this.toSeq().reverse().skip(amount).reverse()); - }, - - skipWhile: function(predicate, context) { - return reify(this, skipWhileFactory(this, predicate, context, true)); - }, - - skipUntil: function(predicate, context) { - return this.skipWhile(not(predicate), context); - }, - - sortBy: function(mapper, comparator) { - return reify(this, sortFactory(this, comparator, mapper)); - }, - - take: function(amount) { - return this.slice(0, Math.max(0, amount)); - }, - - takeLast: function(amount) { - return reify(this, this.toSeq().reverse().take(amount).reverse()); - }, - - takeWhile: function(predicate, context) { - return reify(this, takeWhileFactory(this, predicate, context)); - }, - - takeUntil: function(predicate, context) { - return this.takeWhile(not(predicate), context); - }, - - valueSeq: function() { - return this.toIndexedSeq(); - }, - - - // ### Hashable Object - - hashCode: function() { - return this.__hash || (this.__hash = hashIterable(this)); - } - - - // ### Internal - - // abstract __iterate(fn, reverse) - - // abstract __iterator(type, reverse) - }); - - // var IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@'; - // var IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@'; - // var IS_INDEXED_SENTINEL = '@@__IMMUTABLE_INDEXED__@@'; - // var IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@'; - - var IterablePrototype = Iterable.prototype; - IterablePrototype[IS_ITERABLE_SENTINEL] = true; - IterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.values; - IterablePrototype.__toJS = IterablePrototype.toArray; - IterablePrototype.__toStringMapper = quoteString; - IterablePrototype.inspect = - IterablePrototype.toSource = function() { return this.toString(); }; - IterablePrototype.chain = IterablePrototype.flatMap; - IterablePrototype.contains = IterablePrototype.includes; - - mixin(KeyedIterable, { - - // ### More sequential methods - - flip: function() { - return reify(this, flipFactory(this)); - }, - - mapEntries: function(mapper, context) {var this$0 = this; - var iterations = 0; - return reify(this, - this.toSeq().map( - function(v, k) {return mapper.call(context, [k, v], iterations++, this$0)} - ).fromEntrySeq() - ); - }, - - mapKeys: function(mapper, context) {var this$0 = this; - return reify(this, - this.toSeq().flip().map( - function(k, v) {return mapper.call(context, k, v, this$0)} - ).flip() - ); - } - - }); - - var KeyedIterablePrototype = KeyedIterable.prototype; - KeyedIterablePrototype[IS_KEYED_SENTINEL] = true; - KeyedIterablePrototype[ITERATOR_SYMBOL] = IterablePrototype.entries; - KeyedIterablePrototype.__toJS = IterablePrototype.toObject; - KeyedIterablePrototype.__toStringMapper = function(v, k) {return JSON.stringify(k) + ': ' + quoteString(v)}; - - - - mixin(IndexedIterable, { - - // ### Conversion to other types - - toKeyedSeq: function() { - return new ToKeyedSequence(this, false); - }, - - - // ### ES6 Collection methods (ES6 Array and Map) - - filter: function(predicate, context) { - return reify(this, filterFactory(this, predicate, context, false)); - }, - - findIndex: function(predicate, context) { - var entry = this.findEntry(predicate, context); - return entry ? entry[0] : -1; - }, - - indexOf: function(searchValue) { - var key = this.keyOf(searchValue); - return key === undefined ? -1 : key; - }, - - lastIndexOf: function(searchValue) { - var key = this.lastKeyOf(searchValue); - return key === undefined ? -1 : key; - }, - - reverse: function() { - return reify(this, reverseFactory(this, false)); - }, - - slice: function(begin, end) { - return reify(this, sliceFactory(this, begin, end, false)); - }, - - splice: function(index, removeNum /*, ...values*/) { - var numArgs = arguments.length; - removeNum = Math.max(removeNum | 0, 0); - if (numArgs === 0 || (numArgs === 2 && !removeNum)) { - return this; - } - // If index is negative, it should resolve relative to the size of the - // collection. However size may be expensive to compute if not cached, so - // only call count() if the number is in fact negative. - index = resolveBegin(index, index < 0 ? this.count() : this.size); - var spliced = this.slice(0, index); - return reify( - this, - numArgs === 1 ? - spliced : - spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum)) - ); - }, - - - // ### More collection methods - - findLastIndex: function(predicate, context) { - var entry = this.findLastEntry(predicate, context); - return entry ? entry[0] : -1; - }, - - first: function() { - return this.get(0); - }, - - flatten: function(depth) { - return reify(this, flattenFactory(this, depth, false)); - }, - - get: function(index, notSetValue) { - index = wrapIndex(this, index); - return (index < 0 || (this.size === Infinity || - (this.size !== undefined && index > this.size))) ? - notSetValue : - this.find(function(_, key) {return key === index}, undefined, notSetValue); - }, - - has: function(index) { - index = wrapIndex(this, index); - return index >= 0 && (this.size !== undefined ? - this.size === Infinity || index < this.size : - this.indexOf(index) !== -1 - ); - }, - - interpose: function(separator) { - return reify(this, interposeFactory(this, separator)); - }, - - interleave: function(/*...iterables*/) { - var iterables = [this].concat(arrCopy(arguments)); - var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, iterables); - var interleaved = zipped.flatten(true); - if (zipped.size) { - interleaved.size = zipped.size * iterables.length; - } - return reify(this, interleaved); - }, - - keySeq: function() { - return Range(0, this.size); - }, - - last: function() { - return this.get(-1); - }, - - skipWhile: function(predicate, context) { - return reify(this, skipWhileFactory(this, predicate, context, false)); - }, - - zip: function(/*, ...iterables */) { - var iterables = [this].concat(arrCopy(arguments)); - return reify(this, zipWithFactory(this, defaultZipper, iterables)); - }, - - zipWith: function(zipper/*, ...iterables */) { - var iterables = arrCopy(arguments); - iterables[0] = this; - return reify(this, zipWithFactory(this, zipper, iterables)); - } - - }); - - IndexedIterable.prototype[IS_INDEXED_SENTINEL] = true; - IndexedIterable.prototype[IS_ORDERED_SENTINEL] = true; - - - - mixin(SetIterable, { - - // ### ES6 Collection methods (ES6 Array and Map) - - get: function(value, notSetValue) { - return this.has(value) ? value : notSetValue; - }, - - includes: function(value) { - return this.has(value); - }, - - - // ### More sequential methods - - keySeq: function() { - return this.valueSeq(); - } - - }); - - SetIterable.prototype.has = IterablePrototype.includes; - SetIterable.prototype.contains = SetIterable.prototype.includes; - - - // Mixin subclasses - - mixin(KeyedSeq, KeyedIterable.prototype); - mixin(IndexedSeq, IndexedIterable.prototype); - mixin(SetSeq, SetIterable.prototype); - - mixin(KeyedCollection, KeyedIterable.prototype); - mixin(IndexedCollection, IndexedIterable.prototype); - mixin(SetCollection, SetIterable.prototype); - - - // #pragma Helper functions - - function keyMapper(v, k) { - return k; - } - - function entryMapper(v, k) { - return [k, v]; - } - - function not(predicate) { - return function() { - return !predicate.apply(this, arguments); - } - } - - function neg(predicate) { - return function() { - return -predicate.apply(this, arguments); - } - } - - function quoteString(value) { - return typeof value === 'string' ? JSON.stringify(value) : String(value); - } - - function defaultZipper() { - return arrCopy(arguments); - } - - function defaultNegComparator(a, b) { - return a < b ? 1 : a > b ? -1 : 0; - } - - function hashIterable(iterable) { - if (iterable.size === Infinity) { - return 0; - } - var ordered = isOrdered(iterable); - var keyed = isKeyed(iterable); - var h = ordered ? 1 : 0; - var size = iterable.__iterate( - keyed ? - ordered ? - function(v, k) { h = 31 * h + hashMerge(hash(v), hash(k)) | 0; } : - function(v, k) { h = h + hashMerge(hash(v), hash(k)) | 0; } : - ordered ? - function(v ) { h = 31 * h + hash(v) | 0; } : - function(v ) { h = h + hash(v) | 0; } - ); - return murmurHashOfSize(size, h); - } - - function murmurHashOfSize(size, h) { - h = imul(h, 0xCC9E2D51); - h = imul(h << 15 | h >>> -15, 0x1B873593); - h = imul(h << 13 | h >>> -13, 5); - h = (h + 0xE6546B64 | 0) ^ size; - h = imul(h ^ h >>> 16, 0x85EBCA6B); - h = imul(h ^ h >>> 13, 0xC2B2AE35); - h = smi(h ^ h >>> 16); - return h; - } - - function hashMerge(a, b) { - return a ^ b + 0x9E3779B9 + (a << 6) + (a >> 2) | 0; // int - } - - var Immutable = { - - Iterable: Iterable, - - Seq: Seq, - Collection: Collection, - Map: Map, - OrderedMap: OrderedMap, - List: List, - Stack: Stack, - Set: Set, - OrderedSet: OrderedSet, - - Record: Record, - Range: Range, - Repeat: Repeat, - - is: is, - fromJS: fromJS - - }; - - return Immutable; - -})); - -/***/ }), -/* 12 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony export (immutable) */ __webpack_exports__["str"] = str; -/* harmony export (immutable) */ __webpack_exports__["html"] = html; -/* harmony export (immutable) */ __webpack_exports__["group"] = group; -/* harmony export (immutable) */ __webpack_exports__["initI18n"] = initI18n; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_format__ = __webpack_require__(119); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_dompurify__ = __webpack_require__(57); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_dompurify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_dompurify__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sync__ = __webpack_require__(28); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__i18n_en__ = __webpack_require__(200); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__i18n_en___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__i18n_en__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils_cdn_utils__ = __webpack_require__(76); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - - - - - - - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__utils_data_utils__["a" /* dataFns */])(['i18n']), - get = _dataFns.get, - set = _dataFns.set; - - - - -function str(m, keyPath) { - for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - return __WEBPACK_IMPORTED_MODULE_2__utils_format__["a" /* default */].apply(undefined, [get(m, ['strings'].concat(keyPath), '')].concat(args)); -} - -function html(m, keyPath) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - var html = str.apply(undefined, [m, keyPath].concat(args)); - // dangerouslySetInnerHTML input is sanitized using dompurify - // eslint-disable-next-line react/no-danger - return html ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span', { dangerouslySetInnerHTML: { __html: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3_dompurify__["sanitize"])(html) } }) : null; -} - -function group(m, keyPath) { - return get(m, ['strings'].concat(keyPath), __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])()).toJS(); -} - -function initI18n(m) { - var language = __WEBPACK_IMPORTED_MODULE_5__core_index__["ui"].language(m); - var overrides = __WEBPACK_IMPORTED_MODULE_5__core_index__["ui"].dict(m); - var defaultDictionary = __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(__WEBPACK_IMPORTED_MODULE_7__i18n_en___default.a); - - var base = languageDictionaries[language] || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_immutable__["Map"])({}); - - if (base.isEmpty()) { - base = overrides; - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__sync__["d" /* default */])(m, 'i18n', { - syncFn: function syncFn(_, cb) { - return syncLang(m, language, cb); - }, - successFn: function successFn(m, result) { - registerLanguageDictionary(language, result); - - var overrided = __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(result).mergeDeep(overrides); - - assertLanguage(m, overrided.toJS(), __WEBPACK_IMPORTED_MODULE_7__i18n_en___default.a); - - return set(m, 'strings', defaultDictionary.mergeDeep(overrided)); - }, - recoverResult: m, - errorFn: function errorFn(m, error) { - __WEBPACK_IMPORTED_MODULE_5__core_index__["warn"](m, error.message + ' Falling back to default dictionary.'); - } - }); - } else { - assertLanguage(m, base.toJS(), __WEBPACK_IMPORTED_MODULE_7__i18n_en___default.a); - } - - base = defaultDictionary.mergeDeep(base).mergeDeep(overrides); - - return set(m, 'strings', base); -} - -function assertLanguage(m, language, base) { - var path = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; - - Object.keys(base).forEach(function (key) { - if (!language.hasOwnProperty(key)) { - __WEBPACK_IMPORTED_MODULE_5__core_index__["warn"](m, 'language does not have property ' + path + key); - } else { - if (_typeof(base[key]) === 'object') { - assertLanguage(m, language[key], base[key], '' + path + key + '.'); - } - } - }); -} - -// sync - -function syncLang(m, language, _cb) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_cdn_utils__["a" /* load */])({ - method: 'registerLanguageDictionary', - url: __WEBPACK_IMPORTED_MODULE_5__core_index__["languageBaseUrl"](m) + '/js/lock/' + '11.34.2' + '/' + language + '.js', - check: function check(str) { - return str && str === language; - }, - cb: function cb(err, _, dictionary) { - _cb(err, dictionary); - } - }); -} - -var languageDictionaries = []; - -function registerLanguageDictionary(language, dictionary) { - languageDictionaries[language] = __WEBPACK_IMPORTED_MODULE_1_immutable___default.a.fromJS(dictionary); -} - -if (typeof window !== 'undefined') { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__utils_cdn_utils__["b" /* preload */])({ - method: 'registerLanguageDictionary', - cb: registerLanguageDictionary - }); -} - -/***/ }), -/* 13 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return STRATEGIES; }); -/* harmony export (immutable) */ __webpack_exports__["f"] = initEnterprise; -/* harmony export (immutable) */ __webpack_exports__["e"] = defaultEnterpriseConnection; -/* harmony export (immutable) */ __webpack_exports__["d"] = defaultEnterpriseConnectionName; -/* harmony export (immutable) */ __webpack_exports__["n"] = enterpriseActiveFlowConnection; -/* harmony export (immutable) */ __webpack_exports__["m"] = matchConnection; -/* harmony export (immutable) */ __webpack_exports__["b"] = isEnterpriseDomain; -/* harmony export (immutable) */ __webpack_exports__["p"] = enterpriseDomain; -/* harmony export (immutable) */ __webpack_exports__["h"] = quickAuthConnection; -/* harmony export (immutable) */ __webpack_exports__["c"] = isADEnabled; -/* harmony export (immutable) */ __webpack_exports__["j"] = findADConnectionWithoutDomain; -/* harmony export (immutable) */ __webpack_exports__["g"] = isInCorpNetwork; -/* harmony export (immutable) */ __webpack_exports__["r"] = corpNetworkConnection; -/* harmony export (immutable) */ __webpack_exports__["q"] = isSingleHRDConnection; -/* harmony export (immutable) */ __webpack_exports__["k"] = isHRDDomain; -/* harmony export (immutable) */ __webpack_exports__["l"] = toggleHRD; -/* harmony export (immutable) */ __webpack_exports__["i"] = isHRDActive; -/* harmony export (immutable) */ __webpack_exports__["o"] = isHRDEmailValid; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__field_email__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__field_username__ = __webpack_require__(71); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__engine_classic__ = __webpack_require__(34); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__database_index__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__store_index__ = __webpack_require__(8); - - - - - - - - - - - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_data_utils__["a" /* dataFns */])(['enterprise']), - get = _dataFns.get, - initNS = _dataFns.initNS, - tget = _dataFns.tget, - tremove = _dataFns.tremove, - tset = _dataFns.tset; - -var _dataFns2 = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_data_utils__["a" /* dataFns */])(['core']), - tremoveCore = _dataFns2.tremove, - tsetCore = _dataFns2.tset, - tgetCore = _dataFns2.tget; - -// TODO: Android version also has "google-opendid" in the list, but we -// consider it to be a social connection. See -// https://github.com/auth0/Lock.Android/blob/98262cb7110e5d1c8a97e1129faf2621c1d8d111/lock/src/main/java/com/auth0/android/lock/utils/Strategies.java - - -var STRATEGIES = { - ad: 'AD / LDAP', - adfs: 'ADFS', - 'auth0-adldap': 'AD/LDAP', - 'auth0-oidc': 'Auth0 OpenID Connect', - custom: 'Custom Auth', - 'google-apps': 'Google Apps', - ip: 'IP Address', - mscrm: 'Dynamics CRM', - office365: 'Office365', - pingfederate: 'Ping Federate', - samlp: 'SAML', - sharepoint: 'SharePoint Apps', - waad: 'Windows Azure AD', - oidc: 'OpenID Connect', - okta: 'Okta Workforce' -}; - -function initEnterprise(m, opts) { - return initNS(m, __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(processOptions(opts))); -} - -function processOptions(opts) { - var defaultEnterpriseConnection = opts.defaultEnterpriseConnection; - - - if (defaultEnterpriseConnection != undefined && typeof defaultEnterpriseConnection !== 'string') { - __WEBPACK_IMPORTED_MODULE_1__core_index__["warn"](opts, 'The `defaultEnterpriseConnection` option will be ignored, because it is not a string.'); - defaultEnterpriseConnection = undefined; - } - - return defaultEnterpriseConnection === undefined ? {} : { defaultConnectionName: defaultEnterpriseConnection }; -} - -function defaultEnterpriseConnection(m) { - var name = defaultEnterpriseConnectionName(m); - return name && findADConnectionWithoutDomain(m, name); -} - -function defaultEnterpriseConnectionName(m) { - return get(m, 'defaultConnectionName'); -} - -function enterpriseActiveFlowConnection(m) { - if (isHRDActive(m)) { - // HRD is active when an email matched or there is only one - // connection and it is enterprise - var email = tget(m, 'hrdEmail', ''); - return matchConnection(m, email) || findActiveFlowConnection(m); - } else { - return defaultEnterpriseConnection(m) || findADConnectionWithoutDomain(m); - } -} - -function matchConnection(m, email) { - var strategies = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - var target = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__field_email__["a" /* emailDomain */])(email); - if (!target) return false; - return __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"].apply(__WEBPACK_IMPORTED_MODULE_1__core_index__, [m, 'enterprise'].concat(strategies)).find(function (x) { - return x.get('domains').contains(target); - }); -} - -function isEnterpriseDomain(m, email) { - var strategies = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - return !!matchConnection(m, email, strategies); -} - -function enterpriseDomain(m) { - return isSingleHRDConnection(m) ? __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'enterprise').getIn([0, 'domains', 0]) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__field_email__["a" /* emailDomain */])(tget(m, 'hrdEmail')); -} - -function quickAuthConnection(m) { - return !isADEnabled(m) && __WEBPACK_IMPORTED_MODULE_1__core_index__["hasOneConnection"](m, 'enterprise') ? __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'enterprise').get(0) : null; -} - -// ad / adldap -// https://github.com/auth0/Lock.Android/blob/0145b6853a8de0df5e63ef22e4e2bc40be97ad9e/lock/src/main/java/com/auth0/android/lock/utils/Strategy.java#L67 - -function isADEnabled(m) { - return __WEBPACK_IMPORTED_MODULE_1__core_index__["hasSomeConnections"](m, 'enterprise', 'ad', 'auth0-adldap'); -} - -function findADConnectionWithoutDomain(m) { - var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - return __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'enterprise', 'ad', 'auth0-adldap').find(function (x) { - return x.get('domains').isEmpty() && (!name || x.get('name') === name); - }); -} - -function findActiveFlowConnection(m) { - var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - return __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'enterprise', 'ad', 'auth0-adldap').find(function (x) { - return !name || x.get('name') === name; - }); -} - -// kerberos - -function isInCorpNetwork(m) { - return corpNetworkConnection(m) !== undefined; -} - -function corpNetworkConnection(m) { - // Information about connection is stored in to flat properties connection and strategy. - // If connection is present, strategy will always be present as defined by the server. - var name = m.getIn(['sso', 'connection']); - var strategy = m.getIn(['sso', 'strategy']); - - return name && strategy && __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.Map({ name: name, strategy: strategy }); -} - -// hrd - -function isSingleHRDConnection(m) { - return isADEnabled(m) && __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m).count() === 1; -} - -function isHRDDomain(m, email) { - return isEnterpriseDomain(m, email, ['ad', 'auth0-adldap']); -} - -function toggleHRD(m, email) { - if (email) { - var username = __WEBPACK_IMPORTED_MODULE_1__core_index__["defaultADUsernameFromEmailPrefix"](m) ? __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__field_email__["b" /* emailLocalPart */])(email) : email; - - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__field_username__["a" /* setUsername */])(m, username, 'username', false); - m = tset(m, 'hrdEmail', email); - } else { - var hrdEmail = tget(m, 'hrdEmail'); - if (hrdEmail) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__field_username__["a" /* setUsername */])(m, hrdEmail, 'email', false); - } - m = tremove(m, 'hrdEmail'); - } - - return tset(m, 'hrd', !!email); -} - -function isHRDActive(m) { - return tget(m, 'hrd', isSingleHRDConnection(m)); -} - -function isHRDEmailValid(m, str) { - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__field_email__["c" /* isEmail */])(str) && !__WEBPACK_IMPORTED_MODULE_1__core_index__["hasSomeConnections"](m, 'database') && !__WEBPACK_IMPORTED_MODULE_1__core_index__["hasSomeConnections"](m, 'passwordless') && !findADConnectionWithoutDomain(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__engine_classic__["a" /* matchesEnterpriseConnection */])(m, str)) { - return false; - } - - return true; -} - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -/** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. - */ -var ExecutionEnvironment = { - - canUseDOM: canUseDOM, - - canUseWorkers: typeof Worker !== 'undefined', - - canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), - - canUseViewport: canUseDOM && !!window.screen, - - isInWorker: !canUseDOM // For now, this is true - might change in the future. - -}; - -module.exports = ExecutionEnvironment; - -/***/ }), -/* 15 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__i18n__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__connection_database_index__ = __webpack_require__(10); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - - - - -var Screen = function () { - function Screen(name) { - _classCallCheck(this, Screen); - - this.name = name; - } - - Screen.prototype.backHandler = function backHandler() { - return null; - }; - - Screen.prototype.escHandler = function escHandler() { - return null; - }; - - Screen.prototype.submitButtonLabel = function submitButtonLabel(m) { - return __WEBPACK_IMPORTED_MODULE_1__i18n__["str"](m, ['submitLabel']); - }; - - Screen.prototype.isFirstScreen = function isFirstScreen(m) { - var firstScreenName = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__connection_database_index__["k" /* getInitialScreen */])(m); - var currentScreenNameParts = this.name.split('.'); - var currentScreenName = currentScreenNameParts[1] || currentScreenNameParts[0]; - - // if signup and login is enabled, both are the first screen in this scenario and - // neither of them should show the title - if (currentScreenName === 'signUp' && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__connection_database_index__["i" /* hasScreen */])(m, 'login')) { - return true; - } - - var initialScreens = [firstScreenName, 'loading', 'lastLogin']; - - return initialScreens.indexOf(currentScreenName) !== -1; - }; - - Screen.prototype.getTitle = function getTitle(m) { - //loading screen will never show a title - if (this.name === 'loading') { - return ''; - } - return this.getScreenTitle(m) || __WEBPACK_IMPORTED_MODULE_1__i18n__["str"](m, 'title'); - }; - - Screen.prototype.getScreenTitle = function getScreenTitle(m) { - return __WEBPACK_IMPORTED_MODULE_1__i18n__["str"](m, 'title'); - }; - - Screen.prototype.submitHandler = function submitHandler() { - return null; - }; - - Screen.prototype.isSubmitDisabled = function isSubmitDisabled(m) { - return false; - }; - - Screen.prototype.renderAuxiliaryPane = function renderAuxiliaryPane() { - return null; - }; - - Screen.prototype.renderTabs = function renderTabs() { - return false; - }; - - Screen.prototype.renderTerms = function renderTerms() { - return null; - }; - - return Screen; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (Screen); - -/***/ }), -/* 16 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = setupLock; -/* harmony export (immutable) */ __webpack_exports__["b"] = handleAuthCallback; -/* harmony export (immutable) */ __webpack_exports__["d"] = resumeAuth; -/* harmony export (immutable) */ __webpack_exports__["e"] = openLock; -/* harmony export (immutable) */ __webpack_exports__["c"] = closeLock; -/* harmony export (immutable) */ __webpack_exports__["f"] = removeLock; -/* harmony export (immutable) */ __webpack_exports__["g"] = updateLock; -/* harmony export (immutable) */ __webpack_exports__["l"] = pinLoadingPane; -/* harmony export (immutable) */ __webpack_exports__["m"] = unpinLoadingPane; -/* harmony export (immutable) */ __webpack_exports__["i"] = validateAndSubmit; -/* harmony export (immutable) */ __webpack_exports__["h"] = logIn; -/* harmony export (immutable) */ __webpack_exports__["k"] = checkSession; -/* harmony export (immutable) */ __webpack_exports__["j"] = logInSuccess; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__web_api__ = __webpack_require__(26); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__remote_data__ = __webpack_require__(177); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_preload_utils__ = __webpack_require__(120); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_box_container__ = __webpack_require__(115); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__field_index__ = __webpack_require__(4); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - - - - - - - - - -function setupLock(id, clientID, domain, options, hookRunner, emitEventFn, handleEventFn) { - var m = __WEBPACK_IMPORTED_MODULE_4__index__["setup"](id, clientID, domain, options, hookRunner, emitEventFn, handleEventFn); - - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__remote_data__["a" /* syncRemoteData */])(m); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__utils_preload_utils__["a" /* img */])(__WEBPACK_IMPORTED_MODULE_4__index__["ui"].logo(m) || __WEBPACK_IMPORTED_MODULE_6__ui_box_container__["a" /* defaultProps */].logo); - - __WEBPACK_IMPORTED_MODULE_1__web_api__["a" /* default */].setupClient(id, clientID, domain, __WEBPACK_IMPORTED_MODULE_4__index__["withAuthOptions"](m, _extends({}, options, { - popupOptions: __WEBPACK_IMPORTED_MODULE_4__index__["ui"].popupOptions(m) - }))); - - m = __WEBPACK_IMPORTED_MODULE_4__index__["runHook"](m, 'didInitialize', options); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["f" /* setEntity */], 'lock', id, m); - - return m; -} - -function handleAuthCallback() { - var ms = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["g" /* getCollection */], 'lock'); - var keepHash = ms.filter(function (m) { - return !__WEBPACK_IMPORTED_MODULE_4__index__["hashCleanup"](m); - }).size > 0; - var urlWithoutHash = window.location.href.split('#')[0]; - var callback = function callback(error, authResult) { - var parsed = !!(error || authResult); - if (parsed && !keepHash) { - window.history.replaceState(null, '', urlWithoutHash); - } - }; - resumeAuth(window.location.hash, callback); -} - -function resumeAuth(hash, callback) { - var ms = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["g" /* getCollection */], 'lock'); - ms.forEach(function (m) { - return __WEBPACK_IMPORTED_MODULE_4__index__["auth"].redirect(m) && parseHash(m, hash, callback); - }); -} - -function parseHash(m, hash, cb) { - __WEBPACK_IMPORTED_MODULE_1__web_api__["a" /* default */].parseHash(__WEBPACK_IMPORTED_MODULE_4__index__["id"](m), hash, function (error, authResult) { - if (error) { - __WEBPACK_IMPORTED_MODULE_4__index__["emitHashParsedEvent"](m, error); - } else { - __WEBPACK_IMPORTED_MODULE_4__index__["emitHashParsedEvent"](m, authResult); - } - - if (error) { - __WEBPACK_IMPORTED_MODULE_4__index__["emitAuthorizationErrorEvent"](m, error); - } else if (authResult) { - __WEBPACK_IMPORTED_MODULE_4__index__["emitAuthenticatedEvent"](m, authResult); - } - cb(error, authResult); - }); -} - -function openLock(id, opts) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - if (!m) { - throw new Error("The Lock can't be opened again after it has been destroyed"); - } - - if (__WEBPACK_IMPORTED_MODULE_4__index__["rendering"](m)) { - return false; - } - - if (opts.flashMessage) { - var supportedTypes = ['error', 'success', 'info']; - if (!opts.flashMessage.type || supportedTypes.indexOf(opts.flashMessage.type) === -1) { - return __WEBPACK_IMPORTED_MODULE_4__index__["emitUnrecoverableErrorEvent"](m, "'flashMessage' must provide a valid type ['error','success','info']"); - } - if (!opts.flashMessage.text) { - return __WEBPACK_IMPORTED_MODULE_4__index__["emitUnrecoverableErrorEvent"](m, "'flashMessage' must provide a text"); - } - } - - __WEBPACK_IMPORTED_MODULE_4__index__["emitEvent"](m, 'show'); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __WEBPACK_IMPORTED_MODULE_4__index__["overrideOptions"](m, opts); - m = __WEBPACK_IMPORTED_MODULE_4__index__["filterConnections"](m); - m = __WEBPACK_IMPORTED_MODULE_4__index__["runHook"](m, 'willShow', opts); - return __WEBPACK_IMPORTED_MODULE_4__index__["render"](m); - }); - - return true; -} - -function closeLock(id) { - var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {}; - - // Do nothing when the Lock can't be closed, unless closing is forced. - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - if (!__WEBPACK_IMPORTED_MODULE_4__index__["ui"].closable(m) && !force || !__WEBPACK_IMPORTED_MODULE_4__index__["rendering"](m)) { - return; - } - - __WEBPACK_IMPORTED_MODULE_4__index__["emitEvent"](m, 'hide'); - - // If it is a modal, stop rendering an reset after a second, - // otherwise just reset. - if (__WEBPACK_IMPORTED_MODULE_4__index__["ui"].appendContainer(m)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_4__index__["stopRendering"]); - - setTimeout(function () { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["a" /* hideInvalidFields */])(m); - m = __WEBPACK_IMPORTED_MODULE_4__index__["reset"](m); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["b" /* clearFields */])(m); - return m; - }); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - callback(m); - }, 1000); - } else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["a" /* hideInvalidFields */])(m); - m = __WEBPACK_IMPORTED_MODULE_4__index__["reset"](m); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["b" /* clearFields */])(m); - return m; - }); - callback(m); - } -} - -function removeLock(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_4__index__["stopRendering"]); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["h" /* removeEntity */], 'lock', id); -} - -function updateLock(id, f) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, f); -} - -function pinLoadingPane(id) { - var lock = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - if (!lock.get('isLoadingPanePinned')) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return m.set('isLoadingPanePinned', true); - }); - } -} - -function unpinLoadingPane(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return m.set('isLoadingPanePinned', false); - }); -} - -function validateAndSubmit(id) { - var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - var f = arguments[2]; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - var allFieldsValid = fields.reduce(function (r, x) { - return r && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["i" /* isFieldValid */])(m, x); - }, true); - return allFieldsValid ? __WEBPACK_IMPORTED_MODULE_4__index__["setSubmitting"](m, true) : fields.reduce(function (r, x) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_index__["j" /* showInvalidField */])(r, x); - }, m); - }); - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - - if (__WEBPACK_IMPORTED_MODULE_4__index__["submitting"](m)) { - f(m); - } -} - -function logIn(id, fields) { - var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var logInErrorHandler = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function (_id, error, _fields, next) { - return next(); - }; - - validateAndSubmit(id, fields, function (m) { - try { - // For now, always pass 'null' for the context as we don't need it yet. - // If we need it later, it'll save a breaking change in hooks already in use. - var context = null; - - __WEBPACK_IMPORTED_MODULE_4__index__["runHook"](m, 'loggingIn', context, function () { - __WEBPACK_IMPORTED_MODULE_1__web_api__["a" /* default */].logIn(id, params, __WEBPACK_IMPORTED_MODULE_4__index__["auth"].params(m).toJS(), function (error, result) { - if (error) { - setTimeout(function () { - return logInError(id, fields, error, logInErrorHandler); - }, 250); - } else { - logInSuccess(id, result); - } - }); - }); - } catch (e) { - setTimeout(function () { - return logInError(id, fields, e, logInErrorHandler); - }, 250); - } - }); -} - -function checkSession(id) { - var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return __WEBPACK_IMPORTED_MODULE_4__index__["setSubmitting"](m, true); - }); - __WEBPACK_IMPORTED_MODULE_1__web_api__["a" /* default */].checkSession(id, params, function (err, result) { - if (err) { - return logInError(id, [], err); - } - return logInSuccess(id, result); - }); -} - -function logInSuccess(id, result) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - - if (!__WEBPACK_IMPORTED_MODULE_4__index__["ui"].autoclose(m)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __WEBPACK_IMPORTED_MODULE_4__index__["setSubmitting"](m, false); - return __WEBPACK_IMPORTED_MODULE_4__index__["setLoggedIn"](m, true); - }); - __WEBPACK_IMPORTED_MODULE_4__index__["emitAuthenticatedEvent"](m, result); - } else { - closeLock(id, false, function (m1) { - return __WEBPACK_IMPORTED_MODULE_4__index__["emitAuthenticatedEvent"](m1, result); - }); - } -} - -function logInError(id, fields, error) { - var localHandler = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function (_id, _error, _fields, next) { - return next(); - }; - - var errorCode = error.error || error.code; - - localHandler(id, error, fields, function () { - return setTimeout(function () { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["e" /* getEntity */], 'lock', id); - var errorMessage = __WEBPACK_IMPORTED_MODULE_4__index__["loginErrorMessage"](m, error, loginType(fields)); - var errorCodesThatEmitAuthorizationErrorEvent = ['blocked_user', 'rule_error', 'lock.unauthorized', 'invalid_user_password', 'login_required']; - - if (errorCodesThatEmitAuthorizationErrorEvent.indexOf(errorCode) > -1) { - __WEBPACK_IMPORTED_MODULE_4__index__["emitAuthorizationErrorEvent"](m, error); - } - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_4__index__["setSubmitting"], false, errorMessage); - }, 0); - }); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_2__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_4__index__["setSubmitting"], false); -} - -function loginType(fields) { - if (!fields) return; - if (~fields.indexOf('vcode')) return 'code'; - if (~fields.indexOf('username')) return 'username'; - if (~fields.indexOf('email')) return 'email'; -} - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2016-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - - - -// Trust the developer to only use ReactInstrumentation with a __DEV__ check - -var debugTool = null; - -if (false) { - var ReactDebugTool = require('./ReactDebugTool'); - debugTool = ReactDebugTool; -} - -module.exports = { debugTool: debugTool }; - -/***/ }), -/* 18 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = renderSignedInConfirmation; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ui_box_success_pane__ = __webpack_require__(55); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__i18n__ = __webpack_require__(12); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - // TODO: can't we get this from pops? - -var SignedInConfirmation = function (_React$Component) { - _inherits(SignedInConfirmation, _React$Component); - - function SignedInConfirmation() { - _classCallCheck(this, SignedInConfirmation); - - return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); - } - - SignedInConfirmation.prototype.handleClose = function handleClose() { - var _props = this.props, - closeHandler = _props.closeHandler, - lock = _props.lock; - - closeHandler(__WEBPACK_IMPORTED_MODULE_4__index__["id"](lock)); - }; - - SignedInConfirmation.prototype.render = function render() { - var lock = this.props.lock; - - var closeHandler = __WEBPACK_IMPORTED_MODULE_4__index__["ui"].closable(lock) ? this.handleClose.bind(this) : undefined; - - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - __WEBPACK_IMPORTED_MODULE_2__ui_box_success_pane__["a" /* default */], - { lock: lock, closeHandler: closeHandler }, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'p', - null, - __WEBPACK_IMPORTED_MODULE_5__i18n__["html"](lock, ['success', 'logIn']) - ) - ); - }; - - return SignedInConfirmation; -}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component); - -/* unused harmony default export */ var _unused_webpack_default_export = (SignedInConfirmation); - - -SignedInConfirmation.propTypes = { - closeHandler: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired, - lock: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.object.isRequired -}; - -function renderSignedInConfirmation(lock) { - var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - props.closeHandler = __WEBPACK_IMPORTED_MODULE_3__actions__["c" /* closeLock */]; - props.key = 'auxiliarypane'; - props.lock = lock; - - return __WEBPACK_IMPORTED_MODULE_4__index__["loggedIn"](lock) ? __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(SignedInConfirmation, props) : null; -} - -/***/ }), -/* 19 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["e"] = validateEmail; -/* harmony export (immutable) */ __webpack_exports__["c"] = isEmail; -/* harmony export (immutable) */ __webpack_exports__["d"] = setEmail; -/* harmony export (immutable) */ __webpack_exports__["a"] = emailDomain; -/* harmony export (immutable) */ __webpack_exports__["b"] = emailLocalPart; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_trim__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_trim___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_trim__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_validator_lib_isEmail__ = __webpack_require__(350); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_validator_lib_isEmail___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_validator_lib_isEmail__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__connection_enterprise__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__i18n__ = __webpack_require__(12); - - - - - - - -function validateEmail(str) { - var strictValidation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - return isEmail(str, strictValidation); -} - -function isEmail(str) { - var strictValidation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - if (typeof str !== 'string') { - return false; - } - var trimmed = __WEBPACK_IMPORTED_MODULE_0_trim___default()(str); - return strictValidation ? __WEBPACK_IMPORTED_MODULE_1_validator_lib_isEmail___default()(str) : trimmed.indexOf('@') >= 0 && trimmed.indexOf('.') >= 0 && trimmed.indexOf(' ') === -1; -} - -function setEmail(m, str) { - var strictValidation = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__index__["e" /* setField */])(m, 'email', str, function (str) { - var validHRDEMail = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__connection_enterprise__["o" /* isHRDEmailValid */])(m, str); - - return { - valid: validateEmail(str, strictValidation) && validHRDEMail, - hint: !validHRDEMail ? __WEBPACK_IMPORTED_MODULE_4__i18n__["html"](m, ['error', 'login', 'hrd.not_matching_email']) : undefined - }; - }); -} - -function emailDomain(str) { - if (!isEmail(str)) { - return ''; - } - return str.split('@')[1].toLowerCase(); -} - -function emailLocalPart(str) { - var domain = emailDomain(str); - return domain ? str.slice(0, -1 - domain.length) : str; -} - -/***/ }), -/* 20 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = dataFns; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - - - -function dataFns(baseNSKeyPath) { - function keyPath(nsKeyPath, keyOrKeyPath) { - return nsKeyPath.concat((typeof keyOrKeyPath === 'undefined' ? 'undefined' : _typeof(keyOrKeyPath)) === 'object' ? keyOrKeyPath : [keyOrKeyPath]); - } - - function getFn(nsKeyPath) { - return function (m, keyOrKeyPath) { - var notSetValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; - - return m.getIn(keyPath(nsKeyPath, keyOrKeyPath), notSetValue); - }; - } - - function setFn(nsKeyPath) { - return function (m, keyOrKeyPath, value) { - return m.setIn(keyPath(nsKeyPath, keyOrKeyPath), value); - }; - } - - function removeFn(nsKeyPath) { - return function (m, keyOrKeyPath) { - return m.removeIn(keyPath(nsKeyPath, keyOrKeyPath)); - }; - } - - var transientNSKeyPath = baseNSKeyPath.concat(['transient']); - - return { - get: getFn(baseNSKeyPath), - set: setFn(baseNSKeyPath), - remove: removeFn(baseNSKeyPath), - tget: getFn(transientNSKeyPath), - tset: setFn(transientNSKeyPath), - tremove: removeFn(transientNSKeyPath), - reset: function reset(m) { - return m.map(function (x) { - return __WEBPACK_IMPORTED_MODULE_0_immutable__["Map"].isMap(x) ? x.remove('transient') : x; - }); - }, - init: function init(id, m) { - return new __WEBPACK_IMPORTED_MODULE_0_immutable__["Map"]({ id: id }).setIn(baseNSKeyPath, m); - }, - initNS: function initNS(m, ns) { - return m.setIn(baseNSKeyPath, ns); - } - }; -} - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - -function makeEmptyFunction(arg) { - return function () { - return arg; - }; -} - -/** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. - */ -var emptyFunction = function emptyFunction() {}; - -emptyFunction.thatReturns = makeEmptyFunction; -emptyFunction.thatReturnsFalse = makeEmptyFunction(false); -emptyFunction.thatReturnsTrue = makeEmptyFunction(true); -emptyFunction.thatReturnsNull = makeEmptyFunction(null); -emptyFunction.thatReturnsThis = function () { - return this; -}; -emptyFunction.thatReturnsArgument = function (arg) { - return arg; -}; - -module.exports = emptyFunction; - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _prodInvariant = __webpack_require__(5), - _assign = __webpack_require__(7); - -var CallbackQueue = __webpack_require__(129); -var PooledClass = __webpack_require__(30); -var ReactFeatureFlags = __webpack_require__(134); -var ReactReconciler = __webpack_require__(37); -var Transaction = __webpack_require__(61); - -var invariant = __webpack_require__(3); - -var dirtyComponents = []; -var updateBatchNumber = 0; -var asapCallbackQueue = CallbackQueue.getPooled(); -var asapEnqueued = false; - -var batchingStrategy = null; - -function ensureInjected() { - !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? false ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0; -} - -var NESTED_UPDATES = { - initialize: function () { - this.dirtyComponentsLength = dirtyComponents.length; - }, - close: function () { - if (this.dirtyComponentsLength !== dirtyComponents.length) { - // Additional updates were enqueued by componentDidUpdate handlers or - // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run - // these new updates so that if A's componentDidUpdate calls setState on - // B, B will update before the callback A's updater provided when calling - // setState. - dirtyComponents.splice(0, this.dirtyComponentsLength); - flushBatchedUpdates(); - } else { - dirtyComponents.length = 0; - } - } -}; - -var UPDATE_QUEUEING = { - initialize: function () { - this.callbackQueue.reset(); - }, - close: function () { - this.callbackQueue.notifyAll(); - } -}; - -var TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING]; - -function ReactUpdatesFlushTransaction() { - this.reinitializeTransaction(); - this.dirtyComponentsLength = null; - this.callbackQueue = CallbackQueue.getPooled(); - this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled( - /* useCreateElement */true); -} - -_assign(ReactUpdatesFlushTransaction.prototype, Transaction, { - getTransactionWrappers: function () { - return TRANSACTION_WRAPPERS; - }, - - destructor: function () { - this.dirtyComponentsLength = null; - CallbackQueue.release(this.callbackQueue); - this.callbackQueue = null; - ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction); - this.reconcileTransaction = null; - }, - - perform: function (method, scope, a) { - // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` - // with this transaction's wrappers around it. - return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a); - } -}); - -PooledClass.addPoolingTo(ReactUpdatesFlushTransaction); - -function batchedUpdates(callback, a, b, c, d, e) { - ensureInjected(); - return batchingStrategy.batchedUpdates(callback, a, b, c, d, e); -} - -/** - * Array comparator for ReactComponents by mount ordering. - * - * @param {ReactComponent} c1 first component you're comparing - * @param {ReactComponent} c2 second component you're comparing - * @return {number} Return value usable by Array.prototype.sort(). - */ -function mountOrderComparator(c1, c2) { - return c1._mountOrder - c2._mountOrder; -} - -function runBatchedUpdates(transaction) { - var len = transaction.dirtyComponentsLength; - !(len === dirtyComponents.length) ? false ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0; - - // Since reconciling a component higher in the owner hierarchy usually (not - // always -- see shouldComponentUpdate()) will reconcile children, reconcile - // them before their children by sorting the array. - dirtyComponents.sort(mountOrderComparator); - - // Any updates enqueued while reconciling must be performed after this entire - // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and - // C, B could update twice in a single batch if C's render enqueues an update - // to B (since B would have already updated, we should skip it, and the only - // way we can know to do so is by checking the batch counter). - updateBatchNumber++; - - for (var i = 0; i < len; i++) { - // If a component is unmounted before pending changes apply, it will still - // be here, but we assume that it has cleared its _pendingCallbacks and - // that performUpdateIfNecessary is a noop. - var component = dirtyComponents[i]; - - // If performUpdateIfNecessary happens to enqueue any new updates, we - // shouldn't execute the callbacks until the next render happens, so - // stash the callbacks first - var callbacks = component._pendingCallbacks; - component._pendingCallbacks = null; - - var markerName; - if (ReactFeatureFlags.logTopLevelRenders) { - var namedComponent = component; - // Duck type TopLevelWrapper. This is probably always true. - if (component._currentElement.type.isReactTopLevelWrapper) { - namedComponent = component._renderedComponent; - } - markerName = 'React update: ' + namedComponent.getName(); - console.time(markerName); - } - - ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber); - - if (markerName) { - console.timeEnd(markerName); - } - - if (callbacks) { - for (var j = 0; j < callbacks.length; j++) { - transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); - } - } - } -} - -var flushBatchedUpdates = function () { - // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents - // array and perform any updates enqueued by mount-ready handlers (i.e., - // componentDidUpdate) but we need to check here too in order to catch - // updates enqueued by setState callbacks and asap calls. - while (dirtyComponents.length || asapEnqueued) { - if (dirtyComponents.length) { - var transaction = ReactUpdatesFlushTransaction.getPooled(); - transaction.perform(runBatchedUpdates, null, transaction); - ReactUpdatesFlushTransaction.release(transaction); - } - - if (asapEnqueued) { - asapEnqueued = false; - var queue = asapCallbackQueue; - asapCallbackQueue = CallbackQueue.getPooled(); - queue.notifyAll(); - CallbackQueue.release(queue); - } - } -}; - -/** - * Mark a component as needing a rerender, adding an optional callback to a - * list of functions which will be executed once the rerender occurs. - */ -function enqueueUpdate(component) { - ensureInjected(); - - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. (This is called by each top-level update - // function, like setState, forceUpdate, etc.; creation and - // destruction of top-level components is guarded in ReactMount.) - - if (!batchingStrategy.isBatchingUpdates) { - batchingStrategy.batchedUpdates(enqueueUpdate, component); - return; - } - - dirtyComponents.push(component); - if (component._updateBatchNumber == null) { - component._updateBatchNumber = updateBatchNumber + 1; - } -} - -/** - * Enqueue a callback to be run at the end of the current batching cycle. Throws - * if no updates are currently being performed. - */ -function asap(callback, context) { - invariant(batchingStrategy.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context where" + 'updates are not being batched.'); - asapCallbackQueue.enqueue(callback, context); - asapEnqueued = true; -} - -var ReactUpdatesInjection = { - injectReconcileTransaction: function (ReconcileTransaction) { - !ReconcileTransaction ? false ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0; - ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; - }, - - injectBatchingStrategy: function (_batchingStrategy) { - !_batchingStrategy ? false ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0; - !(typeof _batchingStrategy.batchedUpdates === 'function') ? false ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0; - !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? false ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0; - batchingStrategy = _batchingStrategy; - } -}; - -var ReactUpdates = { - /** - * React references `ReactReconcileTransaction` using this property in order - * to allow dependency injection. - * - * @internal - */ - ReactReconcileTransaction: null, - - batchedUpdates: batchedUpdates, - enqueueUpdate: enqueueUpdate, - flushBatchedUpdates: flushBatchedUpdates, - injection: ReactUpdatesInjection, - asap: asap -}; - -module.exports = ReactUpdates; - -/***/ }), -/* 23 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - -var InputWrap = function (_React$Component) { - _inherits(InputWrap, _React$Component); - - function InputWrap() { - _classCallCheck(this, InputWrap); - - return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); - } - - InputWrap.prototype.render = function render() { - var _props = this.props, - after = _props.after, - focused = _props.focused, - invalidHint = _props.invalidHint, - isValid = _props.isValid, - name = _props.name, - icon = _props.icon; - - var blockClassName = 'auth0-lock-input-block auth0-lock-input-' + name; - if (!isValid) { - blockClassName += ' auth0-lock-error'; - } - - var wrapClassName = 'auth0-lock-input-wrap'; - if (focused && isValid) { - wrapClassName += ' auth0-lock-focused'; - } - - if (icon) { - wrapClassName += ' auth0-lock-input-wrap-with-icon'; - } - - var errorTooltip = !isValid && invalidHint ? __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { role: 'alert', id: 'auth0-lock-error-msg-' + name, className: 'auth0-lock-error-msg' }, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: 'auth0-lock-error-invalid-hint' }, - invalidHint - ) - ) : null; - - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: blockClassName }, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: wrapClassName }, - icon, - this.props.children, - after - ), - errorTooltip - ); - }; - - return InputWrap; -}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component); - -/* harmony default export */ __webpack_exports__["a"] = (InputWrap); - - -InputWrap.propTypes = { - after: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.element, - children: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.element.isRequired, __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.element).isRequired]), - focused: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool, - invalidHint: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.node, - isValid: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool.isRequired, - name: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string.isRequired, - icon: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.object -}; - -/***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _assign = __webpack_require__(7); - -var PooledClass = __webpack_require__(30); - -var emptyFunction = __webpack_require__(21); -var warning = __webpack_require__(6); - -var didWarnForAddedNewProperty = false; -var isProxySupported = typeof Proxy === 'function'; - -var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; - -/** - * @interface Event - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var EventInterface = { - type: null, - target: null, - // currentTarget is set when dispatching; no use in copying it here - currentTarget: emptyFunction.thatReturnsNull, - eventPhase: null, - bubbles: null, - cancelable: null, - timeStamp: function (event) { - return event.timeStamp || Date.now(); - }, - defaultPrevented: null, - isTrusted: null -}; - -/** - * Synthetic events are dispatched by event plugins, typically in response to a - * top-level event delegation handler. - * - * These systems should generally use pooling to reduce the frequency of garbage - * collection. The system should check `isPersistent` to determine whether the - * event should be released into the pool after being dispatched. Users that - * need a persisted event should invoke `persist`. - * - * Synthetic events (and subclasses) implement the DOM Level 3 Events API by - * normalizing browser quirks. Subclasses do not necessarily have to implement a - * DOM interface; custom application-specific events can also subclass this. - * - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {*} targetInst Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @param {DOMEventTarget} nativeEventTarget Target node. - */ -function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { - if (false) { - // these have a getter/setter for warnings - delete this.nativeEvent; - delete this.preventDefault; - delete this.stopPropagation; - } - - this.dispatchConfig = dispatchConfig; - this._targetInst = targetInst; - this.nativeEvent = nativeEvent; - - var Interface = this.constructor.Interface; - for (var propName in Interface) { - if (!Interface.hasOwnProperty(propName)) { - continue; - } - if (false) { - delete this[propName]; // this has a getter/setter for warnings - } - var normalize = Interface[propName]; - if (normalize) { - this[propName] = normalize(nativeEvent); - } else { - if (propName === 'target') { - this.target = nativeEventTarget; - } else { - this[propName] = nativeEvent[propName]; - } - } - } - - var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; - if (defaultPrevented) { - this.isDefaultPrevented = emptyFunction.thatReturnsTrue; - } else { - this.isDefaultPrevented = emptyFunction.thatReturnsFalse; - } - this.isPropagationStopped = emptyFunction.thatReturnsFalse; - return this; -} - -_assign(SyntheticEvent.prototype, { - preventDefault: function () { - this.defaultPrevented = true; - var event = this.nativeEvent; - if (!event) { - return; - } - - if (event.preventDefault) { - event.preventDefault(); - // eslint-disable-next-line valid-typeof - } else if (typeof event.returnValue !== 'unknown') { - event.returnValue = false; - } - this.isDefaultPrevented = emptyFunction.thatReturnsTrue; - }, - - stopPropagation: function () { - var event = this.nativeEvent; - if (!event) { - return; - } - - if (event.stopPropagation) { - event.stopPropagation(); - // eslint-disable-next-line valid-typeof - } else if (typeof event.cancelBubble !== 'unknown') { - // The ChangeEventPlugin registers a "propertychange" event for - // IE. This event does not support bubbling or cancelling, and - // any references to cancelBubble throw "Member not found". A - // typeof check of "unknown" circumvents this issue (and is also - // IE specific). - event.cancelBubble = true; - } - - this.isPropagationStopped = emptyFunction.thatReturnsTrue; - }, - - /** - * We release all dispatched `SyntheticEvent`s after each event loop, adding - * them back into the pool. This allows a way to hold onto a reference that - * won't be added back into the pool. - */ - persist: function () { - this.isPersistent = emptyFunction.thatReturnsTrue; - }, - - /** - * Checks if this event should be released back into the pool. - * - * @return {boolean} True if this should not be released, false otherwise. - */ - isPersistent: emptyFunction.thatReturnsFalse, - - /** - * `PooledClass` looks for `destructor` on each instance it releases. - */ - destructor: function () { - var Interface = this.constructor.Interface; - for (var propName in Interface) { - if (false) { - Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); - } else { - this[propName] = null; - } - } - for (var i = 0; i < shouldBeReleasedProperties.length; i++) { - this[shouldBeReleasedProperties[i]] = null; - } - if (false) { - Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); - Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction)); - Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction)); - } - } -}); - -SyntheticEvent.Interface = EventInterface; - -/** - * Helper to reduce boilerplate when creating subclasses. - * - * @param {function} Class - * @param {?object} Interface - */ -SyntheticEvent.augmentClass = function (Class, Interface) { - var Super = this; - - var E = function () {}; - E.prototype = Super.prototype; - var prototype = new E(); - - _assign(prototype, Class.prototype); - Class.prototype = prototype; - Class.prototype.constructor = Class; - - Class.Interface = _assign({}, Super.Interface, Interface); - Class.augmentClass = Super.augmentClass; - - PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); -}; - -/** Proxying after everything set on SyntheticEvent - * to resolve Proxy issue on some WebKit browsers - * in which some Event properties are set to undefined (GH#10010) - */ -if (false) { - if (isProxySupported) { - /*eslint-disable no-func-assign */ - SyntheticEvent = new Proxy(SyntheticEvent, { - construct: function (target, args) { - return this.apply(target, Object.create(target.prototype), args); - }, - apply: function (constructor, that, args) { - return new Proxy(constructor.apply(that, args), { - set: function (target, prop, value) { - if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { - process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), "This synthetic event is reused for performance reasons. If you're " + "seeing this, you're adding a new property in the synthetic event object. " + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; - didWarnForAddedNewProperty = true; - } - target[prop] = value; - return true; - } - }); - } - }); - /*eslint-enable no-func-assign */ - } -} - -PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); - -module.exports = SyntheticEvent; - -/** - * Helper to nullify syntheticEvent instance properties when destructing - * - * @param {object} SyntheticEvent - * @param {String} propName - * @return {object} defineProperty object - */ -function getPooledWarningPropertyDefinition(propName, getVal) { - var isFunction = typeof getVal === 'function'; - return { - configurable: true, - set: set, - get: get - }; - - function set(val) { - var action = isFunction ? 'setting the method' : 'setting the property'; - warn(action, 'This is effectively a no-op'); - return val; - } - - function get() { - var action = isFunction ? 'accessing the method' : 'accessing the property'; - var result = isFunction ? 'This is a no-op function' : 'This is set to null'; - warn(action, result); - return getVal; - } - - function warn(action, result) { - var warningCondition = false; - false ? warning(warningCondition, "This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; - } -} - -/***/ }), -/* 25 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - - - -/** - * Keeps track of the current owner. - * - * The current owner is the component who should own any components that are - * currently being constructed. - */ -var ReactCurrentOwner = { - /** - * @internal - * @type {ReactComponent} - */ - current: null -}; - -module.exports = ReactCurrentOwner; - -/***/ }), -/* 26 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__web_api_p2_api__ = __webpack_require__(181); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - - -var Auth0WebAPI = function () { - function Auth0WebAPI() { - _classCallCheck(this, Auth0WebAPI); - - this.clients = {}; - } - - Auth0WebAPI.prototype.setupClient = function setupClient(lockID, clientID, domain, opts) { - var hostedLoginPage = window.location.host === domain; - // when it is used on on the hosted login page, it shouldn't use popup mode - opts.redirect = hostedLoginPage ? true : opts.redirect; - - // for cordova and electron we should force popup without SSO so it uses - // /ro or /oauth/token for DB connections - if (!hostedLoginPage && window && (!!window.cordova || !!window.electron)) { - opts.redirect = false; - opts.sso = false; - } - - this.clients[lockID] = new __WEBPACK_IMPORTED_MODULE_0__web_api_p2_api__["a" /* default */](lockID, clientID, domain, opts); - }; - - Auth0WebAPI.prototype.logIn = function logIn(lockID, options, authParams, cb) { - this.clients[lockID].logIn(options, authParams, cb); - }; - - Auth0WebAPI.prototype.logout = function logout(lockID, query) { - this.clients[lockID].logout(query); - }; - - Auth0WebAPI.prototype.signUp = function signUp(lockID, options, cb) { - this.clients[lockID].signUp(options, cb); - }; - - Auth0WebAPI.prototype.resetPassword = function resetPassword(lockID, options, cb) { - this.clients[lockID].resetPassword(options, cb); - }; - - Auth0WebAPI.prototype.startPasswordless = function startPasswordless(lockID, options, cb) { - this.clients[lockID].passwordlessStart(options, cb); - }; - - Auth0WebAPI.prototype.passwordlessVerify = function passwordlessVerify(lockID, options, cb) { - this.clients[lockID].passwordlessVerify(options, cb); - }; - - Auth0WebAPI.prototype.parseHash = function parseHash(lockID) { - var hash = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; - var cb = arguments[2]; - - return this.clients[lockID].parseHash(hash, cb); - }; - - Auth0WebAPI.prototype.getUserInfo = function getUserInfo(lockID, token, callback) { - return this.clients[lockID].getUserInfo(token, callback); - }; - - Auth0WebAPI.prototype.getProfile = function getProfile(lockID, token, callback) { - return this.clients[lockID].getProfile(token, callback); - }; - - Auth0WebAPI.prototype.getChallenge = function getChallenge(lockID, callback) { - return this.clients[lockID].getChallenge(callback); - }; - - Auth0WebAPI.prototype.getSSOData = function getSSOData(lockID) { - var _clients$lockID; - - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return (_clients$lockID = this.clients[lockID]).getSSOData.apply(_clients$lockID, args); - }; - - Auth0WebAPI.prototype.getUserCountry = function getUserCountry(lockID, cb) { - return this.clients[lockID].getUserCountry(function (err, data) { - return cb(err, data && data.countryCode); - }); - }; - - Auth0WebAPI.prototype.checkSession = function checkSession(lockID, options, cb) { - return this.clients[lockID].checkSession(options, cb); - }; - - return Auth0WebAPI; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (new Auth0WebAPI()); - -/***/ }), -/* 27 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = logIn; -/* harmony export (immutable) */ __webpack_exports__["c"] = signUp; -/* harmony export (immutable) */ __webpack_exports__["e"] = signUpError; -/* harmony export (immutable) */ __webpack_exports__["i"] = resetPassword; -/* harmony export (immutable) */ __webpack_exports__["f"] = showLoginActivity; -/* harmony export (immutable) */ __webpack_exports__["g"] = showSignUpActivity; -/* harmony export (immutable) */ __webpack_exports__["j"] = showResetPasswordActivity; -/* harmony export (immutable) */ __webpack_exports__["h"] = cancelResetPassword; -/* harmony export (immutable) */ __webpack_exports__["b"] = cancelMFALogin; -/* harmony export (immutable) */ __webpack_exports__["d"] = toggleTermsAcceptance; -/* unused harmony export showLoginMFAActivity */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_web_api__ = __webpack_require__(26); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_actions__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_dompurify__ = __webpack_require__(57); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_dompurify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_dompurify__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__index__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__i18n__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__captcha__ = __webpack_require__(40); - - - - - - - - - - - - -function logIn(id) { - var needsMFA = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - var usernameField = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["l" /* databaseLogInWithEmail */])(m) ? 'email' : 'username'; - var username = __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, usernameField); - - var params = { - connection: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["m" /* databaseConnectionName */])(m), - username: username, - password: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'password') - }; - - var fields = [usernameField, 'password']; - var isCaptchaValid = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["a" /* setCaptchaParams */])(m, params, fields); - - if (!isCaptchaValid) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["b" /* showMissingCaptcha */])(m, id); - } - - var mfaCode = __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'mfa_code'); - - if (needsMFA) { - params['mfa_code'] = mfaCode; - fields.push('mfa_code'); - } - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["h" /* logIn */])(id, fields, params, function (id, error, fields, next) { - if (error.error === 'a0.mfa_required') { - return showLoginMFAActivity(id); - } - - if (error) { - var wasInvalid = error && error.code === 'invalid_captcha'; - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["c" /* swapCaptcha */])(id, wasInvalid, next); - } - - next(); - }); -} - -function generateRandomUsername(length) { - var result = ''; - var characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; - var charactersLength = characters.length; - for (var i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } - return result; -} - -function signUp(id) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - var fields = ['email', 'password']; - - // Skip the username validation if signUpHideUsernameField option is enabled. - // We will generate a random username to avoid name collusion before we make the signup API call. - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["n" /* databaseConnectionRequiresUsername */])(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["o" /* signUpHideUsernameField */])(m)) fields.push('username'); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["p" /* additionalSignUpFields */])(m).forEach(function (x) { - return fields.push(x.get('name')); - }); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["i" /* validateAndSubmit */])(id, fields, function (m) { - var params = { - connection: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["m" /* databaseConnectionName */])(m), - email: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'email'), - password: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'password'), - autoLogin: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["q" /* shouldAutoLogin */])(m) - }; - - var isCaptchaValid = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["a" /* setCaptchaParams */])(m, params, fields); - if (!isCaptchaValid) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["b" /* showMissingCaptcha */])(m, id); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["n" /* databaseConnectionRequiresUsername */])(m)) { - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["o" /* signUpHideUsernameField */])(m)) { - var usernameValidation = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["r" /* databaseConnection */])(m).getIn(['validation', 'username']); - var range = usernameValidation ? usernameValidation.toJS() : { max: 15 }; - params.username = generateRandomUsername(range.max); - } else { - params.username = __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'username'); - } - } - - if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["p" /* additionalSignUpFields */])(m).isEmpty()) { - params.user_metadata = {}; - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["p" /* additionalSignUpFields */])(m).forEach(function (x) { - var storage = x.get('storage'); - var fieldName = x.get('name'); - var fieldValue = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5_dompurify__["sanitize"])(__WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, x.get('name')), { ALLOWED_TAGS: [] }); - - switch (storage) { - case 'root': - params[fieldName] = fieldValue; - break; - default: - if (!params.user_metadata) { - params.user_metadata = {}; - } - params.user_metadata[fieldName] = fieldValue; - break; - } - }); - } - - var errorHandler = function errorHandler(error, popupHandler) { - if (!!popupHandler) { - popupHandler._current_popup.kill(); - } - - var wasInvalidCaptcha = error && error.code === 'invalid_captcha'; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["c" /* swapCaptcha */])(id, wasInvalidCaptcha, function () { - setTimeout(function () { - return signUpError(id, error); - }, 250); - }); - }; - - try { - // For now, always pass 'null' for the context as we don't need it yet. - // If we need it later, it'll save a breaking change in hooks already in use. - var context = null; - - __WEBPACK_IMPORTED_MODULE_3__core_index__["runHook"](m, 'signingUp', context, function () { - __WEBPACK_IMPORTED_MODULE_1__core_web_api__["a" /* default */].signUp(id, params, function (error, result, popupHandler) { - for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { - args[_key - 3] = arguments[_key]; - } - - if (error) { - errorHandler(error, popupHandler); - } else { - signUpSuccess.apply(undefined, [id, result, popupHandler].concat(args)); - } - }); - }); - } catch (e) { - errorHandler(e); - } - }); -} - -function signUpSuccess(id, result, popupHandler) { - var lock = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - - __WEBPACK_IMPORTED_MODULE_3__core_index__["emitEvent"](lock, 'signup success', result); - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["q" /* shouldAutoLogin */])(lock)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return m.set('signedUp', true); - }); - - // TODO: check options, redirect is missing - var options = { - connection: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["m" /* databaseConnectionName */])(lock), - username: __WEBPACK_IMPORTED_MODULE_4__field_index__["g" /* email */](lock), - password: __WEBPACK_IMPORTED_MODULE_4__field_index__["h" /* password */](lock) - }; - - if (!!popupHandler) { - options.popupHandler = popupHandler; - } - - return __WEBPACK_IMPORTED_MODULE_1__core_web_api__["a" /* default */].logIn(id, options, __WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].params(lock).toJS(), function (error) { - for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - if (error) { - setTimeout(function () { - return autoLogInError(id, error); - }, 250); - } else { - __WEBPACK_IMPORTED_MODULE_2__core_actions__["j" /* logInSuccess */].apply(undefined, [id].concat(args)); - } - }); - } - - var autoclose = __WEBPACK_IMPORTED_MODULE_3__core_index__["ui"].autoclose(lock); - - if (!autoclose) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, function (lock) { - return __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"](lock, false).set('signedUp', true); - }); - } else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["c" /* closeLock */])(id, false); - } -} - -function signUpError(id, error) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - - var invalidPasswordKeys = { - PasswordDictionaryError: 'password_dictionary_error', - PasswordNoUserInfoError: 'password_no_user_info_error', - PasswordStrengthError: 'password_strength_error' - }; - - __WEBPACK_IMPORTED_MODULE_3__core_index__["emitEvent"](m, 'signup error', error); - - var errorKey = error.code === 'invalid_password' && invalidPasswordKeys[error.name] || error.code; - - var errorMessage = __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['error', 'signUp', errorKey]) || __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['error', 'signUp', 'lock.fallback']); - - if (error.code === 'hook_error') { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"], false, error.description || errorMessage); - return; - } - - if (errorKey === 'invalid_captcha') { - errorMessage = __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['error', 'login', errorKey]); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__captcha__["c" /* swapCaptcha */])(id, true, function () { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"], false, errorMessage); - }); - } - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"], false, errorMessage); -} - -function autoLogInError(id, error) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - var errorMessage = __WEBPACK_IMPORTED_MODULE_3__core_index__["loginErrorMessage"](m, error); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["i" /* hasScreen */])(m, 'login')) { - return __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"](__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */])(m, 'login'), false, errorMessage); - } else { - return __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"](m, false, errorMessage); - } - }); -} - -function resetPassword(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["i" /* validateAndSubmit */])(id, ['email'], function (m) { - var params = { - connection: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["m" /* databaseConnectionName */])(m), - email: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'email') - }; - - __WEBPACK_IMPORTED_MODULE_1__core_web_api__["a" /* default */].resetPassword(id, params, function (error) { - if (error) { - setTimeout(function () { - return resetPasswordError(id, error); - }, 250); - } else { - resetPasswordSuccess(id); - } - }); - }); -} - -function resetPasswordSuccess(id) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["i" /* hasScreen */])(m, 'login')) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */])(__WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"](m, false), 'login', ['']); - } // array with one empty string tells the function to not clear any field - ); - - // TODO: should be handled by box - setTimeout(function () { - var successMessage = __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['success', 'forgotPassword']); - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_3__core_index__["setGlobalSuccess"], successMessage); - }, 500); - } else { - if (__WEBPACK_IMPORTED_MODULE_3__core_index__["ui"].autoclose(m)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["c" /* closeLock */])(id); - } else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - return __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"](m, false).set('passwordResetted', true); - }); - } - } -} - -function resetPasswordError(id, error) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["e" /* getEntity */], 'lock', id); - - var errorMessage = __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['error', 'forgotPassword', error.code]) || __WEBPACK_IMPORTED_MODULE_7__i18n__["html"](m, ['error', 'forgotPassword', 'lock.fallback']); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_3__core_index__["setSubmitting"], false, errorMessage); -} - -function showLoginActivity(id) { - var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password']; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */], 'login', fields); -} - -function showSignUpActivity(id) { - var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password']; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */], 'signUp', fields); -} - -function showResetPasswordActivity(id) { - var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['password']; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */], 'forgotPassword', fields); -} - -function cancelResetPassword(id) { - return showLoginActivity(id); -} - -function cancelMFALogin(id) { - return showLoginActivity(id); -} - -function toggleTermsAcceptance(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["t" /* toggleTermsAcceptance */]); -} - -function showLoginMFAActivity(id) { - var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['mfa_code']; - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_0__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["s" /* setScreen */], 'mfaLogin', fields); -} - -/***/ }), -/* 28 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return go; }); -/* harmony export (immutable) */ __webpack_exports__["b"] = isSuccess; -/* harmony export (immutable) */ __webpack_exports__["c"] = isDone; -/* unused harmony export hasError */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__store_index__ = __webpack_require__(8); - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_data_utils__["a" /* dataFns */])(['sync']), - get = _dataFns.get, - set = _dataFns.set; - - - - - -/* harmony default export */ __webpack_exports__["d"] = (function (m, key, opts) { - if (get(m, key) !== undefined) return m; - - var status = opts.waitFn ? 'waiting' : !opts.conditionFn || opts.conditionFn(m) ? 'pending' : 'no'; - - return set(m, key, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])({ - conditionFn: opts.conditionFn, - errorFn: opts.errorFn, - recoverResult: opts.recoverResult, - syncStatus: status, - successFn: opts.successFn, - syncFn: opts.syncFn, - timeout: opts.timeout || 6000, - waitFn: opts.waitFn - })); -}); - -var syncStatusKey = function syncStatusKey(key) { - return (window.Array.isArray(key) ? key : [key]).concat(['syncStatus']); -}; -var getStatus = function getStatus(m, key) { - return get(m, syncStatusKey(key)); -}; -var setStatus = function setStatus(m, key, str) { - return set(m, syncStatusKey(key), str); -}; -var getProp = function getProp(m, key, name) { - return get(m, key).get(name); -}; - -var findKeys = function findKeys(m) { - return m.reduce(function (r, v, k) { - var current = __WEBPACK_IMPORTED_MODULE_0_immutable__["Map"].isMap(v) && v.has('syncStatus') ? [k] : []; - var nested = __WEBPACK_IMPORTED_MODULE_0_immutable__["Map"].isMap(v) ? findKeys(v).map(function (x) { - return [k].concat(x); - }) : []; - return r.concat.apply(r, [current].concat([nested])); - }, []); -}; - -function removeKeys(m, keys) { - return keys.reduce(function (r, k) { - return r.deleteIn(syncStatusKey(k)); - }, m); -} - -var process = function process(m, id) { - var keys = findKeys(get(m, [], __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])())); - // TODO timeout - return keys.reduce(function (r, k) { - if (typeof getProp(r, k, 'syncFn') != 'function') return r; - if (getStatus(r, k) === 'pending') { - r = setStatus(r, k, 'loading'); - var called = false; - getProp(r, k, 'syncFn')(r, function (error, result) { - if (called) return; - called = true; - setTimeout(function () { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_3__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - var errorFn = getProp(r, k, 'errorFn'); - - if (error && typeof errorFn === 'function') { - setTimeout(function () { - return errorFn(m, error); - }, 0); - } - - var recoverResult = getProp(m, k, 'recoverResult'); - - if (error && recoverResult === undefined) { - return handleError(m, k, error); - } else { - m = setStatus(m, k, 'ok'); - return getProp(m, k, 'successFn')(m, error ? recoverResult : result); - } - }); - }, 0); - }); - } else if (getStatus(r, k) === 'waiting') { - if (getProp(r, k, 'waitFn')(r)) { - var conditionFn = getProp(r, k, 'conditionFn'); - r = setStatus(r, k, !conditionFn || conditionFn(r) ? 'pending' : 'no'); - } - } - - return r; - }, m); -}; - -var go = function go(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__store_index__["a" /* observe */])('sync', id, function (m) { - setTimeout(function () { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_3__store_index__["c" /* updateEntity */], 'lock', id, process, id); - }, 0); - }); -}; - -function isSuccess(m, key) { - return getStatus(m, key) === 'ok'; -} - -function isDone(m) { - var keys = findKeys(get(m, [], __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])())); - return keys.length > 0 && keys.reduce(function (r, k) { - return r && !isLoading(m, k); - }, true); -} - -function hasError(m) { - var excludeKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - - var keys = findKeys(removeKeys(get(m, [], __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])()), excludeKeys)); - return keys.length > 0 && keys.reduce(function (r, k) { - return r || getStatus(m, k) === 'error'; - }, false); -} - -function isLoading(m, key) { - return ['loading', 'pending', 'waiting'].indexOf(getStatus(m, key)) > -1; -} - -function handleError(m, key, error) { - var result = setStatus(m, key, 'error'); - - // TODO: this should be configurable for each sync - if (key !== 'sso') { - var stopError = new Error('An error occurred when fetching ' + key + ' data for Lock: ' + error.message); - stopError.code = 'sync'; - stopError.origin = error; - result = __WEBPACK_IMPORTED_MODULE_2__core_index__["stop"](result, stopError); - } - - return result; -} - -/***/ }), -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(280); - - -/***/ }), -/* 30 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - - - -var _prodInvariant = __webpack_require__(5); - -var invariant = __webpack_require__(3); - -/** - * Static poolers. Several custom versions for each potential number of - * arguments. A completely generic pooler is easy to implement, but would - * require accessing the `arguments` object. In each of these, `this` refers to - * the Class itself, not an instance. If any others are needed, simply add them - * here, or in their own files. - */ -var oneArgumentPooler = function (copyFieldsFrom) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, copyFieldsFrom); - return instance; - } else { - return new Klass(copyFieldsFrom); - } -}; - -var twoArgumentPooler = function (a1, a2) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2); - return instance; - } else { - return new Klass(a1, a2); - } -}; - -var threeArgumentPooler = function (a1, a2, a3) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3); - return instance; - } else { - return new Klass(a1, a2, a3); - } -}; - -var fourArgumentPooler = function (a1, a2, a3, a4) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3, a4); - return instance; - } else { - return new Klass(a1, a2, a3, a4); - } -}; - -var standardReleaser = function (instance) { - var Klass = this; - !(instance instanceof Klass) ? false ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; - instance.destructor(); - if (Klass.instancePool.length < Klass.poolSize) { - Klass.instancePool.push(instance); - } -}; - -var DEFAULT_POOL_SIZE = 10; -var DEFAULT_POOLER = oneArgumentPooler; - -/** - * Augments `CopyConstructor` to be a poolable class, augmenting only the class - * itself (statically) not adding any prototypical fields. Any CopyConstructor - * you give this may have a `poolSize` property, and will look for a - * prototypical `destructor` on instances. - * - * @param {Function} CopyConstructor Constructor that can be used to reset. - * @param {Function} pooler Customizable pooler. - */ -var addPoolingTo = function (CopyConstructor, pooler) { - // Casting as any so that flow ignores the actual implementation and trusts - // it to match the type we declared - var NewKlass = CopyConstructor; - NewKlass.instancePool = []; - NewKlass.getPooled = pooler || DEFAULT_POOLER; - if (!NewKlass.poolSize) { - NewKlass.poolSize = DEFAULT_POOL_SIZE; - } - NewKlass.release = standardReleaser; - return NewKlass; -}; - -var PooledClass = { - addPoolingTo: addPoolingTo, - oneArgumentPooler: oneArgumentPooler, - twoArgumentPooler: twoArgumentPooler, - threeArgumentPooler: threeArgumentPooler, - fourArgumentPooler: fourArgumentPooler -}; - -module.exports = PooledClass; - -/***/ }), -/* 31 */ -/***/ (function(module, exports) { - -exports = module.exports = trim; - -function trim(str){ - if (str.trim) return str.trim(); - return exports.right(exports.left(str)); -} - -exports.left = function(str){ - if (str.trimLeft) return str.trimLeft(); - - return str.replace(/^\s\s*/, ''); -}; - -exports.right = function(str){ - if (str.trimRight) return str.trimRight(); - - var whitespace_pattern = /\s/, - i = str.length; - while (whitespace_pattern.test(str.charAt(--i))); - - return str.slice(0, i + 1); -}; - - -/***/ }), -/* 32 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["e"] = requestPasswordlessEmail; -/* unused harmony export requestPasswordlessEmailSuccess */ -/* unused harmony export requestPasswordlessEmailError */ -/* harmony export (immutable) */ __webpack_exports__["f"] = resendEmail; -/* harmony export (immutable) */ __webpack_exports__["a"] = sendSMS; -/* harmony export (immutable) */ __webpack_exports__["d"] = logIn; -/* harmony export (immutable) */ __webpack_exports__["c"] = restart; -/* harmony export (immutable) */ __webpack_exports__["b"] = toggleTermsAcceptance; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_actions__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_web_api__ = __webpack_require__(26); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__index__ = __webpack_require__(33); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__field_phone_number__ = __webpack_require__(41); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__i18n__ = __webpack_require__(12); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - - - - - - - - - - -function getErrorMessage(m, error) { - var key = error.error; - - if (error.error === 'sms_provider_error' && (error.description || '').indexOf('(Code: 21211)') > -1) { - key = 'bad.phone_number'; - } - - return __WEBPACK_IMPORTED_MODULE_8__i18n__["html"](m, ['error', 'passwordless', key]) || __WEBPACK_IMPORTED_MODULE_8__i18n__["html"](m, ['error', 'passwordless', 'lock.fallback']); -} - -function requestPasswordlessEmail(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["i" /* validateAndSubmit */])(id, ['email'], function (m) { - sendEmail(m, requestPasswordlessEmailSuccess, requestPasswordlessEmailError); - }); -} - -function requestPasswordlessEmailSuccess(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"](m, false); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["h" /* setPasswordlessStarted */])(m, true); - }); -} - -function requestPasswordlessEmailError(id, error) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - var errorMessage = getErrorMessage(m, error); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"], false, errorMessage); -} - -function resendEmail(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["i" /* resend */]); - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - sendEmail(m, resendEmailSuccess, resendEmailError); -} - -function resendEmailSuccess(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["j" /* setResendSuccess */]); -} - -function resendEmailError(id, error) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["k" /* setResendFailed */]); -} - -function getPasswordlessConnectionName(m, defaultPasswordlessConnection) { - var connections = __WEBPACK_IMPORTED_MODULE_5__core_index__["connections"](m, 'passwordless', defaultPasswordlessConnection); - - return connections.size > 0 && __WEBPACK_IMPORTED_MODULE_5__core_index__["useCustomPasswordlessConnection"](m) ? connections.first().get('name') : defaultPasswordlessConnection; -} - -function sendEmail(m, successFn, errorFn) { - var params = { - connection: getPasswordlessConnectionName(m, 'email'), - email: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'email'), - send: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["l" /* send */])(m) - }; - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["c" /* isSendLink */])(m) && !__WEBPACK_IMPORTED_MODULE_5__core_index__["auth"].params(m).isEmpty()) { - params.authParams = __WEBPACK_IMPORTED_MODULE_5__core_index__["auth"].params(m).toJS(); - } - - __WEBPACK_IMPORTED_MODULE_3__core_web_api__["a" /* default */].startPasswordless(__WEBPACK_IMPORTED_MODULE_5__core_index__["id"](m), params, function (error) { - if (error) { - setTimeout(function () { - return errorFn(__WEBPACK_IMPORTED_MODULE_5__core_index__["id"](m), error); - }, 250); - } else { - successFn(__WEBPACK_IMPORTED_MODULE_5__core_index__["id"](m)); - } - }); -} - -function sendSMS(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["i" /* validateAndSubmit */])(id, ['phoneNumber'], function (m) { - var params = { - connection: getPasswordlessConnectionName(m, 'sms'), - phoneNumber: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_phone_number__["c" /* phoneNumberWithDiallingCode */])(m), - send: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["l" /* send */])(m) - }; - __WEBPACK_IMPORTED_MODULE_3__core_web_api__["a" /* default */].startPasswordless(id, params, function (error) { - if (error) { - setTimeout(function () { - return sendSMSError(id, error); - }, 250); - } else { - sendSMSSuccess(id); - } - }); - }); -} - -function sendSMSSuccess(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"](m, false); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["h" /* setPasswordlessStarted */])(m, true); - return m; - }); -} - -function sendSMSError(id, error) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - var errorMessage = getErrorMessage(m, error); - __WEBPACK_IMPORTED_MODULE_5__core_index__["emitAuthorizationErrorEvent"](m, error); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"], false, errorMessage); -} - -function logIn(id) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - var authParams = __WEBPACK_IMPORTED_MODULE_5__core_index__["auth"].params(m).toJS(); - var params = _extends({ - verificationCode: __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'vcode') - }, authParams); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__index__["b" /* isEmail */])(m)) { - params.connection = getPasswordlessConnectionName(m, 'email'); - params.email = __WEBPACK_IMPORTED_MODULE_4__field_index__["c" /* getFieldValue */](m, 'email'); - } else { - params.connection = getPasswordlessConnectionName(m, 'sms'); - params.phoneNumber = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__field_phone_number__["c" /* phoneNumberWithDiallingCode */])(m); - } - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"], true); - __WEBPACK_IMPORTED_MODULE_3__core_web_api__["a" /* default */].passwordlessVerify(id, params, function (error, result) { - var errorMessage = void 0; - if (error) { - var _m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - errorMessage = getErrorMessage(_m, error); - if (error.logToConsole) { - console.error(error.description); - } - __WEBPACK_IMPORTED_MODULE_5__core_index__["emitAuthorizationErrorEvent"](_m, error); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_5__core_index__["setSubmitting"], false, errorMessage); - } else { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["j" /* logInSuccess */])(id, result); - } - }); -} - -function restart(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["m" /* restartPasswordless */]); -} - -function toggleTermsAcceptance(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_6__index__["n" /* toggleTermsAcceptance */]); -} - -/***/ }), -/* 33 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = initPasswordless; -/* harmony export (immutable) */ __webpack_exports__["j"] = setResendSuccess; -/* harmony export (immutable) */ __webpack_exports__["r"] = resendSuccess; -/* harmony export (immutable) */ __webpack_exports__["k"] = setResendFailed; -/* harmony export (immutable) */ __webpack_exports__["p"] = resendFailed; -/* harmony export (immutable) */ __webpack_exports__["q"] = resendOngoing; -/* harmony export (immutable) */ __webpack_exports__["i"] = resend; -/* harmony export (immutable) */ __webpack_exports__["o"] = resendAvailable; -/* harmony export (immutable) */ __webpack_exports__["m"] = restartPasswordless; -/* harmony export (immutable) */ __webpack_exports__["l"] = send; -/* harmony export (immutable) */ __webpack_exports__["c"] = isSendLink; -/* harmony export (immutable) */ __webpack_exports__["h"] = setPasswordlessStarted; -/* harmony export (immutable) */ __webpack_exports__["d"] = passwordlessStarted; -/* unused harmony export passwordlessConnection */ -/* harmony export (immutable) */ __webpack_exports__["b"] = isEmail; -/* harmony export (immutable) */ __webpack_exports__["g"] = showTerms; -/* harmony export (immutable) */ __webpack_exports__["f"] = mustAcceptTerms; -/* harmony export (immutable) */ __webpack_exports__["e"] = termsAccepted; -/* harmony export (immutable) */ __webpack_exports__["n"] = toggleTermsAcceptance; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__field_phone_number__ = __webpack_require__(41); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_data_utils__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_web_api__ = __webpack_require__(26); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__sync__ = __webpack_require__(28); - - - - - - -var _dataFns = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__utils_data_utils__["a" /* dataFns */])(['passwordless']), - get = _dataFns.get, - initNS = _dataFns.initNS, - tget = _dataFns.tget, - tremove = _dataFns.tremove, - tset = _dataFns.tset; - - - - -function initPasswordless(m, opts) { - // TODO: validate opts - var send = opts.passwordlessMethod === 'link' ? 'link' : 'code'; - var mustAcceptTerms = !!opts.mustAcceptTerms; - var showTerms = opts.showTerms === undefined ? true : !!opts.showTerms; - - m = initNS(m, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_immutable__["Map"])({ send: send, mustAcceptTerms: mustAcceptTerms, showTerms: showTerms })); - if (opts.defaultLocation && typeof opts.defaultLocation === 'string') { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__field_phone_number__["b" /* initLocation */])(m, opts.defaultLocation.toUpperCase()); - } else { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__sync__["d" /* default */])(m, 'location', { - recoverResult: 'US', - syncFn: function syncFn(m, cb) { - return __WEBPACK_IMPORTED_MODULE_5__core_web_api__["a" /* default */].getUserCountry(__WEBPACK_IMPORTED_MODULE_1__core_index__["id"](m), cb); - }, - successFn: function successFn(m, result) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__field_phone_number__["b" /* initLocation */])(m, result); - } - }); - } - return m; -} - -function setResendStatus(m, value) { - // TODO: check value - return tset(m, 'resendStatus', value); -} - -function setResendSuccess(m) { - return setResendStatus(m, 'success'); -} - -function resendSuccess(m) { - return resendStatus(m) == 'success'; -} - -function setResendFailed(m) { - return setResendStatus(m, 'failed'); -} - -function resendFailed(m) { - return resendStatus(m) == 'failed'; -} - -function resendOngoing(m) { - return resendStatus(m) == 'ongoing'; -} - -function resend(m) { - if (resendAvailable(m)) { - return setResendStatus(m, 'ongoing'); - } else { - return m; - } -} - -function resendStatus(m) { - return tget(m, 'resendStatus', 'waiting'); -} - -function resendAvailable(m) { - return resendStatus(m) == 'waiting' || resendStatus(m) == 'failed'; -} - -function restartPasswordless(m) { - // TODO: maybe we can take advantage of the transient fields - m = tremove(m, 'passwordlessStarted'); - m = tremove(m, 'resendStatus'); // only for link - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__field_index__["b" /* clearFields */])(m, ['vcode']); // only for code - - return __WEBPACK_IMPORTED_MODULE_1__core_index__["clearGlobalError"](m); -} - -function send(m) { - return get(m, 'send', isEmail(m) ? 'link' : 'code'); -} - -function isSendLink(m) { - return send(m) === 'link'; -} - -function setPasswordlessStarted(m, value) { - return tset(m, 'passwordlessStarted', value); -} - -function passwordlessStarted(m) { - return tget(m, 'passwordlessStarted', false); -} - -function passwordlessConnection(m) { - return __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'passwordless', 'email').get(0) || __WEBPACK_IMPORTED_MODULE_1__core_index__["connections"](m, 'passwordless', 'sms').get(0) || new __WEBPACK_IMPORTED_MODULE_0_immutable__["Map"](); -} - -function isEmail(m) { - var c = passwordlessConnection(m); - return c.isEmpty() ? undefined : c.get('strategy') === 'email'; -} - -function showTerms(m) { - return get(m, 'showTerms', true); -} - -function mustAcceptTerms(m) { - return get(m, 'mustAcceptTerms', false); -} - -function termsAccepted(m) { - return !mustAcceptTerms(m) || tget(m, 'termsAccepted', false); -} - -function toggleTermsAcceptance(m) { - return tset(m, 'termsAccepted', !termsAccepted(m)); -} - -/***/ }), -/* 34 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = isSSOEnabled; -/* harmony export (immutable) */ __webpack_exports__["a"] = matchesEnterpriseConnection; -/* unused harmony export usernameStyle */ -/* harmony export (immutable) */ __webpack_exports__["c"] = hasOnlyClassicConnections; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(101); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__classic_login__ = __webpack_require__(182); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__classic_sign_up_screen__ = __webpack_require__(185); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__classic_mfa_login_screen__ = __webpack_require__(183); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__connection_database_reset_password__ = __webpack_require__(167); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_sso_index__ = __webpack_require__(50); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__connection_database_index__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__connection_enterprise__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__core_tenant__ = __webpack_require__(67); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__field_email__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__field_username__ = __webpack_require__(71); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__connection_enterprise_kerberos_screen__ = __webpack_require__(172); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__connection_enterprise_hrd_screen__ = __webpack_require__(171); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__connection_enterprise_quick_auth_screen__ = __webpack_require__(173); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__quick_auth__ = __webpack_require__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__core_loading_screen__ = __webpack_require__(112); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__core_error_screen__ = __webpack_require__(111); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__core_sso_last_login_screen__ = __webpack_require__(113); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__sync__ = __webpack_require__(28); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__store_index__ = __webpack_require__(8); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - - - - - - - - - - - - - - - - - - - - - - - - -function isSSOEnabled(m, options) { - return matchesEnterpriseConnection(m, __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["a" /* databaseUsernameValue */])(m, options)); -} - -function matchesEnterpriseConnection(m, usernameValue) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["b" /* isEnterpriseDomain */])(m, usernameValue); -} - -function usernameStyle(m) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["b" /* authWithUsername */])(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["c" /* isADEnabled */])(m) ? 'username' : 'email'; -} - -function hasOnlyClassicConnections(m) { - var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - for (var _len = arguments.length, strategies = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - strategies[_key - 2] = arguments[_key]; - } - - return __WEBPACK_IMPORTED_MODULE_11__core_index__["hasOnlyConnections"].apply(__WEBPACK_IMPORTED_MODULE_11__core_index__, [m, type].concat(strategies)) && !__WEBPACK_IMPORTED_MODULE_11__core_index__["hasSomeConnections"](m, 'passwordless'); -} - -function validateAllowedConnections(m) { - var anyDBConnection = __WEBPACK_IMPORTED_MODULE_11__core_index__["hasSomeConnections"](m, 'database'); - var anySocialConnection = __WEBPACK_IMPORTED_MODULE_11__core_index__["hasSomeConnections"](m, 'social'); - var anyEnterpriseConnection = __WEBPACK_IMPORTED_MODULE_11__core_index__["hasSomeConnections"](m, 'enterprise'); - - if (!anyDBConnection && !anySocialConnection && !anyEnterpriseConnection) { - var error = new Error('At least one database, enterprise or social connection needs to be available.'); - error.code = 'no_connection'; - m = __WEBPACK_IMPORTED_MODULE_11__core_index__["stop"](m, error); - } else if (!anyDBConnection && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["c" /* hasInitialScreen */])(m, 'forgotPassword')) { - var _error = new Error('The `initialScreen` option was set to "forgotPassword" but no database connection is available.'); - _error.code = 'unavailable_initial_screen'; - m = __WEBPACK_IMPORTED_MODULE_11__core_index__["stop"](m, _error); - } else if (!anyDBConnection && !anySocialConnection && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["c" /* hasInitialScreen */])(m, 'signUp')) { - var _error2 = new Error('The `initialScreen` option was set to "signUp" but no database or social connection is available.'); - _error2.code = 'unavailable_initial_screen'; - m = __WEBPACK_IMPORTED_MODULE_11__core_index__["stop"](m, _error2); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__core_tenant__["a" /* defaultDirectoryName */])(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__core_tenant__["b" /* defaultDirectory */])(m)) { - __WEBPACK_IMPORTED_MODULE_11__core_index__["error"](m, 'The account\'s default directory "' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__core_tenant__["a" /* defaultDirectoryName */])(m) + '" is not enabled.'); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["d" /* defaultDatabaseConnectionName */])(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["e" /* defaultDatabaseConnection */])(m)) { - __WEBPACK_IMPORTED_MODULE_11__core_index__["warn"](m, 'The provided default database connection "' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["d" /* defaultDatabaseConnectionName */])(m) + '" is not enabled.'); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["d" /* defaultEnterpriseConnectionName */])(m) && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["e" /* defaultEnterpriseConnection */])(m)) { - __WEBPACK_IMPORTED_MODULE_11__core_index__["warn"](m, 'The provided default enterprise connection "' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["d" /* defaultEnterpriseConnectionName */])(m) + '" is not enabled or does not allow email/password authentication.'); - } - - return m; -} - -var setPrefill = function setPrefill(m) { - var _l$prefill$toJS = __WEBPACK_IMPORTED_MODULE_11__core_index__["prefill"](m).toJS(), - email = _l$prefill$toJS.email, - username = _l$prefill$toJS.username; - - if (typeof email === 'string') m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_9__field_email__["d" /* setEmail */])(m, email); - if (typeof username === 'string') m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_10__field_username__["a" /* setUsername */])(m, username, 'username', false); - return m; -}; - -function createErrorScreen(m, stopError) { - setTimeout(function () { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_21__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_21__store_index__["c" /* updateEntity */], 'lock', __WEBPACK_IMPORTED_MODULE_11__core_index__["id"](m), __WEBPACK_IMPORTED_MODULE_11__core_index__["stop"], stopError); - }, 0); - - return new __WEBPACK_IMPORTED_MODULE_17__core_error_screen__["a" /* default */](); -} - -var Classic = function () { - function Classic() { - _classCallCheck(this, Classic); - } - - Classic.prototype.didInitialize = function didInitialize(model, options) { - model = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["f" /* initDatabase */])(model, options); - model = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["f" /* initEnterprise */])(model, options); - - return model; - }; - - Classic.prototype.didReceiveClientSettings = function didReceiveClientSettings(m) { - m = validateAllowedConnections(m); - m = setPrefill(m); - return m; - }; - - Classic.prototype.willShow = function willShow(m, opts) { - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["g" /* overrideDatabaseOptions */])(m, opts); - m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["h" /* resolveAdditionalSignUpFields */])(m); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__sync__["b" /* isSuccess */])(m, 'client')) { - m = validateAllowedConnections(m); - } - return m; - }; - - Classic.prototype.render = function render(m) { - //if there's an error, we should show the error screen no matter what. - if (__WEBPACK_IMPORTED_MODULE_11__core_index__["hasStopped"](m)) { - return new __WEBPACK_IMPORTED_MODULE_17__core_error_screen__["a" /* default */](); - } - - // TODO: remove the detail about the loading pane being pinned, - // sticky screens should be handled at the box module. - if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__sync__["c" /* isDone */])(m) || m.get('isLoadingPanePinned')) { - return new __WEBPACK_IMPORTED_MODULE_16__core_loading_screen__["a" /* default */](); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["i" /* hasScreen */])(m, 'login')) { - if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_15__quick_auth__["a" /* hasSkippedQuickAuth */])(m) && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["c" /* hasInitialScreen */])(m, 'login')) { - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["g" /* isInCorpNetwork */])(m)) { - return new __WEBPACK_IMPORTED_MODULE_12__connection_enterprise_kerberos_screen__["a" /* default */](); - } - - if (__WEBPACK_IMPORTED_MODULE_11__core_index__["ui"].rememberLastLogin(m)) { - var lastUsedConnection = __WEBPACK_IMPORTED_MODULE_5__core_sso_index__["a" /* lastUsedConnection */](m); - var lastUsedUsername = __WEBPACK_IMPORTED_MODULE_5__core_sso_index__["b" /* lastUsedUsername */](m); - if (lastUsedConnection && __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_19__sync__["b" /* isSuccess */])(m, 'sso') && __WEBPACK_IMPORTED_MODULE_11__core_index__["hasConnection"](m, lastUsedConnection.get('name')) && __WEBPACK_IMPORTED_MODULE_11__core_index__["findConnection"](m, lastUsedConnection.get('name')).get('type') !== 'passwordless') { - return new __WEBPACK_IMPORTED_MODULE_18__core_sso_last_login_screen__["a" /* default */](); - } - } - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["h" /* quickAuthConnection */])(m)) { - return new __WEBPACK_IMPORTED_MODULE_14__connection_enterprise_quick_auth_screen__["a" /* default */](); - } - - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_enterprise__["i" /* isHRDActive */])(m)) { - return new __WEBPACK_IMPORTED_MODULE_13__connection_enterprise_hrd_screen__["a" /* default */](); - } - } - - if (!__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["i" /* hasScreen */])(m, 'login') && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["i" /* hasScreen */])(m, 'signUp') && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["i" /* hasScreen */])(m, 'forgotPassword')) { - var errorMessage = 'No available Screen. You have to allow at least one of those screens: `login`, `signUp`or `forgotPassword`.'; - var noAvailableScreenError = new Error(errorMessage); - noAvailableScreenError.code = 'internal_error'; - noAvailableScreenError.description = errorMessage; - return createErrorScreen(m, noAvailableScreenError); - } - - var Screen = Classic.SCREENS[__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["j" /* getScreen */])(m)]; - if (Screen) { - return new Screen(); - } - var noScreenError = new Error('Internal error'); - noScreenError.code = 'internal_error'; - noScreenError.description = 'Couldn\'t find a screen "' + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__connection_database_index__["j" /* getScreen */])(m) + '"'; - return createErrorScreen(m, noScreenError); - }; - - return Classic; -}(); - -Classic.SCREENS = { - login: __WEBPACK_IMPORTED_MODULE_1__classic_login__["a" /* default */], - forgotPassword: __WEBPACK_IMPORTED_MODULE_4__connection_database_reset_password__["a" /* default */], - signUp: __WEBPACK_IMPORTED_MODULE_2__classic_sign_up_screen__["a" /* default */], - mfaLogin: __WEBPACK_IMPORTED_MODULE_3__classic_mfa_login_screen__["a" /* default */] -}; - - -/* harmony default export */ __webpack_exports__["d"] = (new Classic()); - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2015-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var DOMNamespaces = __webpack_require__(85); -var setInnerHTML = __webpack_require__(63); - -var createMicrosoftUnsafeLocalFunction = __webpack_require__(93); -var setTextContent = __webpack_require__(147); - -var ELEMENT_NODE_TYPE = 1; -var DOCUMENT_FRAGMENT_NODE_TYPE = 11; - -/** - * In IE (8-11) and Edge, appending nodes with no children is dramatically - * faster than appending a full subtree, so we essentially queue up the - * .appendChild calls here and apply them so each node is added to its parent - * before any children are added. - * - * In other browsers, doing so is slower or neutral compared to the other order - * (in Firefox, twice as slow) so we only do this inversion in IE. - * - * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. - */ -var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); - -function insertTreeChildren(tree) { - if (!enableLazy) { - return; - } - var node = tree.node; - var children = tree.children; - if (children.length) { - for (var i = 0; i < children.length; i++) { - insertTreeBefore(node, children[i], null); - } - } else if (tree.html != null) { - setInnerHTML(node, tree.html); - } else if (tree.text != null) { - setTextContent(node, tree.text); - } -} - -var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { - // DocumentFragments aren't actually part of the DOM after insertion so - // appending children won't update the DOM. We need to ensure the fragment - // is properly populated first, breaking out of our lazy approach for just - // this level. Also, some plugins (like Flash Player) will read - // nodes immediately upon insertion into the DOM, so - // must also be populated prior to insertion into the DOM. - if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) { - insertTreeChildren(tree); - parentNode.insertBefore(tree.node, referenceNode); - } else { - parentNode.insertBefore(tree.node, referenceNode); - insertTreeChildren(tree); - } -}); - -function replaceChildWithTree(oldNode, newTree) { - oldNode.parentNode.replaceChild(newTree.node, oldNode); - insertTreeChildren(newTree); -} - -function queueChild(parentTree, childTree) { - if (enableLazy) { - parentTree.children.push(childTree); - } else { - parentTree.node.appendChild(childTree.node); - } -} - -function queueHTML(tree, html) { - if (enableLazy) { - tree.html = html; - } else { - setInnerHTML(tree.node, html); - } -} - -function queueText(tree, text) { - if (enableLazy) { - tree.text = text; - } else { - setTextContent(tree.node, text); - } -} - -function toString() { - return this.node.nodeName; -} - -function DOMLazyTree(node) { - return { - node: node, - children: [], - html: null, - text: null, - toString: toString - }; -} - -DOMLazyTree.insertTreeBefore = insertTreeBefore; -DOMLazyTree.replaceChildWithTree = replaceChildWithTree; -DOMLazyTree.queueChild = queueChild; -DOMLazyTree.queueHTML = queueHTML; -DOMLazyTree.queueText = queueText; - -module.exports = DOMLazyTree; - -/***/ }), -/* 36 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _prodInvariant = __webpack_require__(5); - -var invariant = __webpack_require__(3); - -function checkMask(value, bitmask) { - return (value & bitmask) === bitmask; -} - -var DOMPropertyInjection = { - /** - * Mapping from normalized, camelcased property names to a configuration that - * specifies how the associated DOM property should be accessed or rendered. - */ - MUST_USE_PROPERTY: 0x1, - HAS_BOOLEAN_VALUE: 0x4, - HAS_NUMERIC_VALUE: 0x8, - HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, - HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, - - /** - * Inject some specialized knowledge about the DOM. This takes a config object - * with the following properties: - * - * isCustomAttribute: function that given an attribute name will return true - * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* - * attributes where it's impossible to enumerate all of the possible - * attribute names, - * - * Properties: object mapping DOM property name to one of the - * DOMPropertyInjection constants or null. If your attribute isn't in here, - * it won't get written to the DOM. - * - * DOMAttributeNames: object mapping React attribute name to the DOM - * attribute name. Attribute names not specified use the **lowercase** - * normalized name. - * - * DOMAttributeNamespaces: object mapping React attribute name to the DOM - * attribute namespace URL. (Attribute names not specified use no namespace.) - * - * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. - * Property names not specified use the normalized name. - * - * DOMMutationMethods: Properties that require special mutation methods. If - * `value` is undefined, the mutation method should unset the property. - * - * @param {object} domPropertyConfig the config as described above. - */ - injectDOMPropertyConfig: function (domPropertyConfig) { - var Injection = DOMPropertyInjection; - var Properties = domPropertyConfig.Properties || {}; - var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; - var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; - var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; - var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; - - if (domPropertyConfig.isCustomAttribute) { - DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); - } - - for (var propName in Properties) { - !!DOMProperty.properties.hasOwnProperty(propName) ? false ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0; - - var lowerCased = propName.toLowerCase(); - var propConfig = Properties[propName]; - - var propertyInfo = { - attributeName: lowerCased, - attributeNamespace: null, - propertyName: propName, - mutationMethod: null, - - mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), - hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), - hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), - hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), - hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) - }; - !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? false ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; - - if (false) { - DOMProperty.getPossibleStandardName[lowerCased] = propName; - } - - if (DOMAttributeNames.hasOwnProperty(propName)) { - var attributeName = DOMAttributeNames[propName]; - propertyInfo.attributeName = attributeName; - if (false) { - DOMProperty.getPossibleStandardName[attributeName] = propName; - } - } - - if (DOMAttributeNamespaces.hasOwnProperty(propName)) { - propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; - } - - if (DOMPropertyNames.hasOwnProperty(propName)) { - propertyInfo.propertyName = DOMPropertyNames[propName]; - } - - if (DOMMutationMethods.hasOwnProperty(propName)) { - propertyInfo.mutationMethod = DOMMutationMethods[propName]; - } - - DOMProperty.properties[propName] = propertyInfo; - } - } -}; - -/* eslint-disable max-len */ -var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; -/* eslint-enable max-len */ - -/** - * DOMProperty exports lookup objects that can be used like functions: - * - * > DOMProperty.isValid['id'] - * true - * > DOMProperty.isValid['foobar'] - * undefined - * - * Although this may be confusing, it performs better in general. - * - * @see http://jsperf.com/key-exists - * @see http://jsperf.com/key-missing - */ -var DOMProperty = { - ID_ATTRIBUTE_NAME: 'data-reactid', - ROOT_ATTRIBUTE_NAME: 'data-reactroot', - - ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, - ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', - - /** - * Map from property "standard name" to an object with info about how to set - * the property in the DOM. Each object contains: - * - * attributeName: - * Used when rendering markup or with `*Attribute()`. - * attributeNamespace - * propertyName: - * Used on DOM node instances. (This includes properties that mutate due to - * external factors.) - * mutationMethod: - * If non-null, used instead of the property or `setAttribute()` after - * initial render. - * mustUseProperty: - * Whether the property must be accessed and mutated as an object property. - * hasBooleanValue: - * Whether the property should be removed when set to a falsey value. - * hasNumericValue: - * Whether the property must be numeric or parse as a numeric and should be - * removed when set to a falsey value. - * hasPositiveNumericValue: - * Whether the property must be positive numeric or parse as a positive - * numeric and should be removed when set to a falsey value. - * hasOverloadedBooleanValue: - * Whether the property can be used as a flag as well as with a value. - * Removed when strictly equal to false; present without a value when - * strictly equal to true; present with a value otherwise. - */ - properties: {}, - - /** - * Mapping from lowercase property names to the properly cased version, used - * to warn in the case of missing properties. Available only in __DEV__. - * - * autofocus is predefined, because adding it to the property whitelist - * causes unintended side effects. - * - * @type {Object} - */ - getPossibleStandardName: false ? { autofocus: 'autoFocus' } : null, - - /** - * All of the isCustomAttribute() functions that have been injected. - */ - _isCustomAttributeFunctions: [], - - /** - * Checks whether a property name is a custom attribute. - * @method - */ - isCustomAttribute: function (attributeName) { - for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { - var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; - if (isCustomAttributeFn(attributeName)) { - return true; - } - } - return false; - }, - - injection: DOMPropertyInjection -}; - -module.exports = DOMProperty; - -/***/ }), -/* 37 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var ReactRef = __webpack_require__(303); -var ReactInstrumentation = __webpack_require__(17); - -var warning = __webpack_require__(6); - -/** - * Helper to call ReactRef.attachRefs with this composite component, split out - * to avoid allocations in the transaction mount-ready queue. - */ -function attachRefs() { - ReactRef.attachRefs(this, this._currentElement); -} - -var ReactReconciler = { - /** - * Initializes the component, renders markup, and registers event listeners. - * - * @param {ReactComponent} internalInstance - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {?object} the containing host component instance - * @param {?object} info about the host container - * @return {?string} Rendered markup to be inserted into the DOM. - * @final - * @internal - */ - mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots - { - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID); - } - } - var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID); - if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { - transaction.getReactMountReady().enqueue(attachRefs, internalInstance); - } - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID); - } - } - return markup; - }, - - /** - * Returns a value that can be passed to - * ReactComponentEnvironment.replaceNodeWithMarkup. - */ - getHostNode: function (internalInstance) { - return internalInstance.getHostNode(); - }, - - /** - * Releases any resources allocated by `mountComponent`. - * - * @final - * @internal - */ - unmountComponent: function (internalInstance, safely) { - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID); - } - } - ReactRef.detachRefs(internalInstance, internalInstance._currentElement); - internalInstance.unmountComponent(safely); - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID); - } - } - }, - - /** - * Update a component using a new element. - * - * @param {ReactComponent} internalInstance - * @param {ReactElement} nextElement - * @param {ReactReconcileTransaction} transaction - * @param {object} context - * @internal - */ - receiveComponent: function (internalInstance, nextElement, transaction, context) { - var prevElement = internalInstance._currentElement; - - if (nextElement === prevElement && context === internalInstance._context) { - // Since elements are immutable after the owner is rendered, - // we can do a cheap identity compare here to determine if this is a - // superfluous reconcile. It's possible for state to be mutable but such - // change should trigger an update of the owner which would recreate - // the element. We explicitly check for the existence of an owner since - // it's possible for an element created outside a composite to be - // deeply mutated and reused. - - // TODO: Bailing out early is just a perf optimization right? - // TODO: Removing the return statement should affect correctness? - return; - } - - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement); - } - } - - var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement); - - if (refsChanged) { - ReactRef.detachRefs(internalInstance, prevElement); - } - - internalInstance.receiveComponent(nextElement, transaction, context); - - if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) { - transaction.getReactMountReady().enqueue(attachRefs, internalInstance); - } - - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); - } - } - }, - - /** - * Flush any dirty changes in a component. - * - * @param {ReactComponent} internalInstance - * @param {ReactReconcileTransaction} transaction - * @internal - */ - performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) { - if (internalInstance._updateBatchNumber !== updateBatchNumber) { - // The component's enqueued batch number should always be the current - // batch or the following one. - false ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; - return; - } - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement); - } - } - internalInstance.performUpdateIfNecessary(transaction); - if (false) { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); - } - } - } -}; - -module.exports = ReactReconciler; - -/***/ }), -/* 38 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _assign = __webpack_require__(7); - -var ReactBaseClasses = __webpack_require__(153); -var ReactChildren = __webpack_require__(338); -var ReactDOMFactories = __webpack_require__(339); -var ReactElement = __webpack_require__(39); -var ReactPropTypes = __webpack_require__(340); -var ReactVersion = __webpack_require__(341); - -var createReactClass = __webpack_require__(342); -var onlyChild = __webpack_require__(346); - -var createElement = ReactElement.createElement; -var createFactory = ReactElement.createFactory; -var cloneElement = ReactElement.cloneElement; - -if (false) { - var lowPriorityWarning = require('./lowPriorityWarning'); - var canDefineProperty = require('./canDefineProperty'); - var ReactElementValidator = require('./ReactElementValidator'); - var didWarnPropTypesDeprecated = false; - createElement = ReactElementValidator.createElement; - createFactory = ReactElementValidator.createFactory; - cloneElement = ReactElementValidator.cloneElement; -} - -var __spread = _assign; -var createMixin = function (mixin) { - return mixin; -}; - -if (false) { - var warnedForSpread = false; - var warnedForCreateMixin = false; - __spread = function () { - lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.'); - warnedForSpread = true; - return _assign.apply(null, arguments); - }; - - createMixin = function (mixin) { - lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.'); - warnedForCreateMixin = true; - return mixin; - }; -} - -var React = { - // Modern - - Children: { - map: ReactChildren.map, - forEach: ReactChildren.forEach, - count: ReactChildren.count, - toArray: ReactChildren.toArray, - only: onlyChild - }, - - Component: ReactBaseClasses.Component, - PureComponent: ReactBaseClasses.PureComponent, - - createElement: createElement, - cloneElement: cloneElement, - isValidElement: ReactElement.isValidElement, - - // Classic - - PropTypes: ReactPropTypes, - createClass: createReactClass, - createFactory: createFactory, - createMixin: createMixin, - - // This looks DOM specific but these are actually isomorphic helpers - // since they are just generating DOM strings. - DOM: ReactDOMFactories, - - version: ReactVersion, - - // Deprecated hook for JSX spread, don't use this for anything. - __spread: __spread -}; - -if (false) { - var warnedForCreateClass = false; - if (canDefineProperty) { - Object.defineProperty(React, 'PropTypes', { - get: function () { - lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs'); - didWarnPropTypesDeprecated = true; - return ReactPropTypes; - } - }); - - Object.defineProperty(React, 'createClass', { - get: function () { - lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + " Use a plain JavaScript class instead. If you're not yet " + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class'); - warnedForCreateClass = true; - return createReactClass; - } - }); - } - - // React.DOM factories are deprecated. Wrap these methods so that - // invocations of the React.DOM namespace and alert users to switch - // to the `react-dom-factories` package. - React.DOM = {}; - var warnedForFactories = false; - Object.keys(ReactDOMFactories).forEach(function (factory) { - React.DOM[factory] = function () { - if (!warnedForFactories) { - lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory); - warnedForFactories = true; - } - return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments); - }; - }); -} - -module.exports = React; - -/***/ }), -/* 39 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2014-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _assign = __webpack_require__(7); - -var ReactCurrentOwner = __webpack_require__(25); - -var warning = __webpack_require__(6); -var canDefineProperty = __webpack_require__(157); -var hasOwnProperty = Object.prototype.hasOwnProperty; - -var REACT_ELEMENT_TYPE = __webpack_require__(155); - -var RESERVED_PROPS = { - key: true, - ref: true, - __self: true, - __source: true -}; - -var specialPropKeyWarningShown, specialPropRefWarningShown; - -function hasValidRef(config) { - if (false) { - if (hasOwnProperty.call(config, 'ref')) { - var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; - if (getter && getter.isReactWarning) { - return false; - } - } - } - return config.ref !== undefined; -} - -function hasValidKey(config) { - if (false) { - if (hasOwnProperty.call(config, 'key')) { - var getter = Object.getOwnPropertyDescriptor(config, 'key').get; - if (getter && getter.isReactWarning) { - return false; - } - } - } - return config.key !== undefined; -} - -function defineKeyPropWarningGetter(props, displayName) { - var warnAboutAccessingKey = function () { - if (!specialPropKeyWarningShown) { - specialPropKeyWarningShown = true; - false ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; - } - }; - warnAboutAccessingKey.isReactWarning = true; - Object.defineProperty(props, 'key', { - get: warnAboutAccessingKey, - configurable: true - }); -} - -function defineRefPropWarningGetter(props, displayName) { - var warnAboutAccessingRef = function () { - if (!specialPropRefWarningShown) { - specialPropRefWarningShown = true; - false ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; - } - }; - warnAboutAccessingRef.isReactWarning = true; - Object.defineProperty(props, 'ref', { - get: warnAboutAccessingRef, - configurable: true - }); -} - -/** - * Factory method to create a new React element. This no longer adheres to - * the class pattern, so do not use new to call it. Also, no instanceof check - * will work. Instead test $$typeof field against Symbol.for('react.element') to check - * if something is a React Element. - * - * @param {*} type - * @param {*} key - * @param {string|object} ref - * @param {*} self A *temporary* helper to detect places where `this` is - * different from the `owner` when React.createElement is called, so that we - * can warn. We want to get rid of owner and replace string `ref`s with arrow - * functions, and as long as `this` and owner are the same, there will be no - * change in behavior. - * @param {*} source An annotation object (added by a transpiler or otherwise) - * indicating filename, line number, and/or other information. - * @param {*} owner - * @param {*} props - * @internal - */ -var ReactElement = function (type, key, ref, self, source, owner, props) { - var element = { - // This tag allow us to uniquely identify this as a React Element - $$typeof: REACT_ELEMENT_TYPE, - - // Built-in properties that belong on the element - type: type, - key: key, - ref: ref, - props: props, - - // Record the component responsible for creating this element. - _owner: owner - }; - - if (false) { - // The validation flag is currently mutative. We put it on - // an external backing store so that we can freeze the whole object. - // This can be replaced with a WeakMap once they are implemented in - // commonly used development environments. - element._store = {}; - - // To make comparing ReactElements easier for testing purposes, we make - // the validation flag non-enumerable (where possible, which should - // include every environment we run tests in), so the test framework - // ignores it. - if (canDefineProperty) { - Object.defineProperty(element._store, 'validated', { - configurable: false, - enumerable: false, - writable: true, - value: false - }); - // self and source are DEV only properties. - Object.defineProperty(element, '_self', { - configurable: false, - enumerable: false, - writable: false, - value: self - }); - // Two elements created in two different places should be considered - // equal for testing purposes and therefore we hide it from enumeration. - Object.defineProperty(element, '_source', { - configurable: false, - enumerable: false, - writable: false, - value: source - }); - } else { - element._store.validated = false; - element._self = self; - element._source = source; - } - if (Object.freeze) { - Object.freeze(element.props); - Object.freeze(element); - } - } - - return element; -}; - -/** - * Create and return a new ReactElement of the given type. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement - */ -ReactElement.createElement = function (type, config, children) { - var propName; - - // Reserved names are extracted - var props = {}; - - var key = null; - var ref = null; - var self = null; - var source = null; - - if (config != null) { - if (hasValidRef(config)) { - ref = config.ref; - } - if (hasValidKey(config)) { - key = '' + config.key; - } - - self = config.__self === undefined ? null : config.__self; - source = config.__source === undefined ? null : config.__source; - // Remaining properties are added to a new props object - for (propName in config) { - if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { - props[propName] = config[propName]; - } - } - } - - // Children can be more than one argument, and those are transferred onto - // the newly allocated props object. - var childrenLength = arguments.length - 2; - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; - } - if (false) { - if (Object.freeze) { - Object.freeze(childArray); - } - } - props.children = childArray; - } - - // Resolve default props - if (type && type.defaultProps) { - var defaultProps = type.defaultProps; - for (propName in defaultProps) { - if (props[propName] === undefined) { - props[propName] = defaultProps[propName]; - } - } - } - if (false) { - if (key || ref) { - if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { - var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; - if (key) { - defineKeyPropWarningGetter(props, displayName); - } - if (ref) { - defineRefPropWarningGetter(props, displayName); - } - } - } - } - return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); -}; - -/** - * Return a function that produces ReactElements of a given type. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory - */ -ReactElement.createFactory = function (type) { - var factory = ReactElement.createElement.bind(null, type); - // Expose the type on the factory and the prototype so that it can be - // easily accessed on elements. E.g. `.type === Foo`. - // This should not be named `constructor` since this may not be the function - // that created the element, and it may not even be a constructor. - // Legacy hook TODO: Warn if this is accessed - factory.type = type; - return factory; -}; - -ReactElement.cloneAndReplaceKey = function (oldElement, newKey) { - var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); - - return newElement; -}; - -/** - * Clone and return a new ReactElement using element as the starting point. - * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement - */ -ReactElement.cloneElement = function (element, config, children) { - var propName; - - // Original props are copied - var props = _assign({}, element.props); - - // Reserved names are extracted - var key = element.key; - var ref = element.ref; - // Self is preserved since the owner is preserved. - var self = element._self; - // Source is preserved since cloneElement is unlikely to be targeted by a - // transpiler, and the original source is probably a better indicator of the - // true owner. - var source = element._source; - - // Owner will be preserved, unless ref is overridden - var owner = element._owner; - - if (config != null) { - if (hasValidRef(config)) { - // Silently steal the ref from the parent. - ref = config.ref; - owner = ReactCurrentOwner.current; - } - if (hasValidKey(config)) { - key = '' + config.key; - } - - // Remaining properties override existing props - var defaultProps; - if (element.type && element.type.defaultProps) { - defaultProps = element.type.defaultProps; - } - for (propName in config) { - if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { - if (config[propName] === undefined && defaultProps !== undefined) { - // Resolve default props - props[propName] = defaultProps[propName]; - } else { - props[propName] = config[propName]; - } - } - } - } - - // Children can be more than one argument, and those are transferred onto - // the newly allocated props object. - var childrenLength = arguments.length - 2; - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; - } - props.children = childArray; - } - - return ReactElement(element.type, key, ref, self, source, owner, props); -}; - -/** - * Verifies the object is a ReactElement. - * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement - * @param {?object} object - * @return {boolean} True if `object` is a valid component. - * @final - */ -ReactElement.isValidElement = function (object) { - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; -}; - -module.exports = ReactElement; - -/***/ }), -/* 40 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = showMissingCaptcha; -/* harmony export (immutable) */ __webpack_exports__["a"] = setCaptchaParams; -/* harmony export (immutable) */ __webpack_exports__["c"] = swapCaptcha; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__field_index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__i18n__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_web_api__ = __webpack_require__(26); - - - - - - -/** - * Display the error message of missing captcha in the header of lock. - * - * @param {Object} m model - * @param {Number} id - */ -function showMissingCaptcha(m, id) { - var captchaConfig = __WEBPACK_IMPORTED_MODULE_0__core_index__["captcha"](m); - - var captchaError = captchaConfig.get('provider') === 'recaptcha_v2' ? 'invalid_recaptcha' : 'invalid_captcha'; - - var errorMessage = __WEBPACK_IMPORTED_MODULE_2__i18n__["html"](m, ['error', 'login', captchaError]); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_3__store_index__["c" /* updateEntity */], 'lock', id, function (m) { - m = __WEBPACK_IMPORTED_MODULE_0__core_index__["setSubmitting"](m, false, errorMessage); - return __WEBPACK_IMPORTED_MODULE_1__field_index__["j" /* showInvalidField */](m, 'captcha'); - }); - - return m; -} - -/** - * Set the captcha value in the fields object before sending the request. - * - * @param {Object} m model - * @param {Object} params - * @param {Object} fields - * - * @returns {Boolean} returns true if is required and missing the response from the user - */ -function setCaptchaParams(m, params, fields) { - var captchaConfig = __WEBPACK_IMPORTED_MODULE_0__core_index__["captcha"](m); - var isCaptchaRequired = captchaConfig && __WEBPACK_IMPORTED_MODULE_0__core_index__["captcha"](m).get('required'); - - if (!isCaptchaRequired) { - return true; - } - var captcha = __WEBPACK_IMPORTED_MODULE_1__field_index__["c" /* getFieldValue */](m, 'captcha'); - //captcha required and missing - if (!captcha) { - return false; - } - - params['captcha'] = captcha; - fields.push('captcha'); - return true; -} - -/** - * Get a new challenge and display the new captcha image. - * - * @param {number} id The id of the Lock instance. - * @param {boolean} wasInvalid A boolean indicating if the previous captcha was invalid. - * @param {Function} [next] A callback. - */ -function swapCaptcha(id, wasInvalid, next) { - return __WEBPACK_IMPORTED_MODULE_4__core_web_api__["a" /* default */].getChallenge(id, function (err, newCaptcha) { - if (!err && newCaptcha) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_3__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_0__core_index__["setCaptcha"], newCaptcha, wasInvalid); - } - if (next) { - next(); - } - }); -} - -/***/ }), -/* 41 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["b"] = initLocation; -/* unused harmony export validatePhoneNumber */ -/* harmony export (immutable) */ __webpack_exports__["a"] = setPhoneNumber; -/* harmony export (immutable) */ __webpack_exports__["c"] = phoneNumberWithDiallingCode; -/* harmony export (immutable) */ __webpack_exports__["e"] = humanPhoneNumberWithDiallingCode; -/* harmony export (immutable) */ __webpack_exports__["d"] = humanLocation; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__phone_number_locations__ = __webpack_require__(195); - - - - -var locationOptions = __WEBPACK_IMPORTED_MODULE_0_immutable___default.a.fromJS(__WEBPACK_IMPORTED_MODULE_2__phone_number_locations__["a" /* default */].map(function (x) { - return { - country: x[0], - diallingCode: x[2], - isoCode: x[1], - label: x[2] + ' ' + x[1] + ' ' + x[0], - value: x[2] + ' ' + x[1] - }; -})); - -function findLocation(isoCode) { - return locationOptions.find(function (x) { - return x.get('isoCode') === isoCode; - }); -} - -function initLocation(m, isoCode) { - var location = findLocation(isoCode) || findLocation('US'); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__index__["d" /* registerOptionField */])(m, 'location', locationOptions, location.get('value')); -} - -function validatePhoneNumber(str) { - var regExp = /^[0-9]([0-9 -])*[0-9]$/; - return regExp.test(str); -} - -function setPhoneNumber(m, str) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__index__["e" /* setField */])(m, 'phoneNumber', str, validatePhoneNumber); -} - -function phoneNumberWithDiallingCode(m) { - return humanPhoneNumberWithDiallingCode(m).replace(/[\s-]+/g, ''); -} - -function humanPhoneNumberWithDiallingCode(m) { - var location = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__index__["m" /* getField */])(m, 'location'); - var code = location.get('diallingCode', ''); - var number = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__index__["c" /* getFieldValue */])(m, 'phoneNumber', ''); - return code ? code + ' ' + number : number; -} - -function humanLocation(m) { - var location = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__index__["m" /* getField */])(m, 'location'); - return location.get('diallingCode') + ' ' + location.get('country'); -} - -/***/ }), -/* 42 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global) {var _ = {}; -var root = typeof self == 'object' && self.self === self && self || - typeof global == 'object' && global.global === global && global || - this || - {}; -var nativeIsArray = Array.isArray; -var nativeKeys = Object.keys; -var ObjProto = Object.prototype; -var toString = ObjProto.toString; - -var shallowProperty = function(key) { - return function(obj) { - return obj == null ? void 0 : obj[key]; - }; -}; - -var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; -var getLength = shallowProperty('length'); -var isArrayLike = function(collection) { - var length = getLength(collection); - return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; -}; - -// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet. -var typeNames = ['Arguments', 'Function', 'String', 'Number']; -function loopAsign(name) { - _['is' + name] = function(obj) { - return toString.call(obj) === '[object ' + name + ']'; - }; -} -for (var a = 0; a < typeNames.length; a++) { - loopAsign(typeNames[a]); -} - -var nodelist = root.document && root.document.childNodes; -if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { - _.isFunction = function(obj) { - return typeof obj == 'function' || false; - }; -} - -_.identity = function(value) { - return value; -}; - -_.keys = function(obj) { - if (!_.isObject(obj)) return []; - if (nativeKeys) return nativeKeys(obj); - var keys = []; - for (var key in obj) keys.push(key); - return keys; -}; - -_.isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; -}; - -_.isArray = nativeIsArray || function(obj) { - return toString.call(obj) === '[object Array]'; -}; - -_.isEmpty = function(obj) { - if (obj == null) return true; - if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; - return _.keys(obj).length === 0; -}; - -_.isNaN = function(obj) { - return _.isNumber(obj) && isNaN(obj); -}; - -// Code attribution -// Inlined and modified from https://github.com/browserify/node-util/blob/e37ce41f4063bcd7bc27e01470d6654053bdcd14/util.js#L33-L69 -// Copyright Joyent, Inc. and other Node contributors. -// Please see LICENSE for full copyright and license attribution. -var formatRegExp = /%[sdj%]/g; - -_.format = function (f) { - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s': - return String(args[i++]); - case '%d': - return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (x === null || !_.isObject(x)) { - str += ' ' + x; - } else if (x !== null) { - str += ' ' + JSON.stringify(x); - } - } - return str; -} -// End code attribution - -module.exports = _; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(100))) - -/***/ }), -/* 43 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var _prodInvariant = __webpack_require__(5); - -var EventPluginRegistry = __webpack_require__(86); -var EventPluginUtils = __webpack_require__(87); -var ReactErrorUtils = __webpack_require__(91); - -var accumulateInto = __webpack_require__(140); -var forEachAccumulated = __webpack_require__(141); -var invariant = __webpack_require__(3); - -/** - * Internal store for event listeners - */ -var listenerBank = {}; - -/** - * Internal queue of events that have accumulated their dispatches and are - * waiting to have their dispatches executed. - */ -var eventQueue = null; - -/** - * Dispatches an event and releases it back into the pool, unless persistent. - * - * @param {?object} event Synthetic event to be dispatched. - * @param {boolean} simulated If the event is simulated (changes exn behavior) - * @private - */ -var executeDispatchesAndRelease = function (event, simulated) { - if (event) { - EventPluginUtils.executeDispatchesInOrder(event, simulated); - - if (!event.isPersistent()) { - event.constructor.release(event); - } - } -}; -var executeDispatchesAndReleaseSimulated = function (e) { - return executeDispatchesAndRelease(e, true); -}; -var executeDispatchesAndReleaseTopLevel = function (e) { - return executeDispatchesAndRelease(e, false); -}; - -var getDictionaryKey = function (inst) { - // Prevents V8 performance issue: - // https://github.com/facebook/react/pull/7232 - return '.' + inst._rootNodeID; -}; - -function isInteractive(tag) { - return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'; -} - -function shouldPreventMouseEvent(name, type, props) { - switch (name) { - case 'onClick': - case 'onClickCapture': - case 'onDoubleClick': - case 'onDoubleClickCapture': - case 'onMouseDown': - case 'onMouseDownCapture': - case 'onMouseMove': - case 'onMouseMoveCapture': - case 'onMouseUp': - case 'onMouseUpCapture': - return !!(props.disabled && isInteractive(type)); - default: - return false; - } -} - -/** - * This is a unified interface for event plugins to be installed and configured. - * - * Event plugins can implement the following properties: - * - * `extractEvents` {function(string, DOMEventTarget, string, object): *} - * Required. When a top-level event is fired, this method is expected to - * extract synthetic events that will in turn be queued and dispatched. - * - * `eventTypes` {object} - * Optional, plugins that fire events must publish a mapping of registration - * names that are used to register listeners. Values of this mapping must - * be objects that contain `registrationName` or `phasedRegistrationNames`. - * - * `executeDispatch` {function(object, function, string)} - * Optional, allows plugins to override how an event gets dispatched. By - * default, the listener is simply invoked. - * - * Each plugin that is injected into `EventsPluginHub` is immediately operable. - * - * @public - */ -var EventPluginHub = { - /** - * Methods for injecting dependencies. - */ - injection: { - /** - * @param {array} InjectedEventPluginOrder - * @public - */ - injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, - - /** - * @param {object} injectedNamesToPlugins Map from names to plugin modules. - */ - injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName - }, - - /** - * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent. - * - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - * @param {function} listener The callback to store. - */ - putListener: function (inst, registrationName, listener) { - !(typeof listener === 'function') ? false ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0; - - var key = getDictionaryKey(inst); - var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); - bankForRegistrationName[key] = listener; - - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.didPutListener) { - PluginModule.didPutListener(inst, registrationName, listener); - } - }, - - /** - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - * @return {?function} The stored callback. - */ - getListener: function (inst, registrationName) { - // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not - // live here; needs to be moved to a better place soon - var bankForRegistrationName = listenerBank[registrationName]; - if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) { - return null; - } - var key = getDictionaryKey(inst); - return bankForRegistrationName && bankForRegistrationName[key]; - }, - - /** - * Deletes a listener from the registration bank. - * - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - */ - deleteListener: function (inst, registrationName) { - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.willDeleteListener) { - PluginModule.willDeleteListener(inst, registrationName); - } - - var bankForRegistrationName = listenerBank[registrationName]; - // TODO: This should never be null -- when is it? - if (bankForRegistrationName) { - var key = getDictionaryKey(inst); - delete bankForRegistrationName[key]; - } - }, - - /** - * Deletes all listeners for the DOM element with the supplied ID. - * - * @param {object} inst The instance, which is the source of events. - */ - deleteAllListeners: function (inst) { - var key = getDictionaryKey(inst); - for (var registrationName in listenerBank) { - if (!listenerBank.hasOwnProperty(registrationName)) { - continue; - } - - if (!listenerBank[registrationName][key]) { - continue; - } - - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.willDeleteListener) { - PluginModule.willDeleteListener(inst, registrationName); - } - - delete listenerBank[registrationName][key]; - } - }, - - /** - * Allows registered plugins an opportunity to extract events from top-level - * native browser events. - * - * @return {*} An accumulation of synthetic events. - * @internal - */ - extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var events; - var plugins = EventPluginRegistry.plugins; - for (var i = 0; i < plugins.length; i++) { - // Not every plugin in the ordering may be loaded at runtime. - var possiblePlugin = plugins[i]; - if (possiblePlugin) { - var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); - if (extractedEvents) { - events = accumulateInto(events, extractedEvents); - } - } - } - return events; - }, - - /** - * Enqueues a synthetic event that should be dispatched when - * `processEventQueue` is invoked. - * - * @param {*} events An accumulation of synthetic events. - * @internal - */ - enqueueEvents: function (events) { - if (events) { - eventQueue = accumulateInto(eventQueue, events); - } - }, - - /** - * Dispatches all synthetic events on the event queue. - * - * @internal - */ - processEventQueue: function (simulated) { - // Set `eventQueue` to null before processing it so that we can tell if more - // events get enqueued while processing. - var processingEventQueue = eventQueue; - eventQueue = null; - if (simulated) { - forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); - } else { - forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); - } - !!eventQueue ? false ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0; - // This would be a good time to rethrow if any of the event handlers threw. - ReactErrorUtils.rethrowCaughtError(); - }, - - /** - * These are needed for tests only. Do not use! - */ - __purge: function () { - listenerBank = {}; - }, - - __getListenerBank: function () { - return listenerBank; - } -}; - -module.exports = EventPluginHub; - -/***/ }), -/* 44 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var EventPluginHub = __webpack_require__(43); -var EventPluginUtils = __webpack_require__(87); - -var accumulateInto = __webpack_require__(140); -var forEachAccumulated = __webpack_require__(141); -var warning = __webpack_require__(6); - -var getListener = EventPluginHub.getListener; - -/** - * Some event types have a notion of different registration names for different - * "phases" of propagation. This finds listeners by a given phase. - */ -function listenerAtPhase(inst, event, propagationPhase) { - var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; - return getListener(inst, registrationName); -} - -/** - * Tags a `SyntheticEvent` with dispatched listeners. Creating this function - * here, allows us to not have to bind or create functions for each event. - * Mutating the event's members allows us to not have to create a wrapping - * "dispatch" object that pairs the event with the listener. - */ -function accumulateDirectionalDispatches(inst, phase, event) { - if (false) { - process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; - } - var listener = listenerAtPhase(inst, event, phase); - if (listener) { - event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); - event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); - } -} - -/** - * Collect dispatches (must be entirely collected before dispatching - see unit - * tests). Lazily allocate the array to conserve memory. We must loop through - * each event and perform the traversal for each one. We cannot perform a - * single traversal for the entire collection of events because each event may - * have a different target. - */ -function accumulateTwoPhaseDispatchesSingle(event) { - if (event && event.dispatchConfig.phasedRegistrationNames) { - EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); - } -} - -/** - * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. - */ -function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { - if (event && event.dispatchConfig.phasedRegistrationNames) { - var targetInst = event._targetInst; - var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; - EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); - } -} - -/** - * Accumulates without regard to direction, does not look for phased - * registration names. Same as `accumulateDirectDispatchesSingle` but without - * requiring that the `dispatchMarker` be the same as the dispatched ID. - */ -function accumulateDispatches(inst, ignoredDirection, event) { - if (event && event.dispatchConfig.registrationName) { - var registrationName = event.dispatchConfig.registrationName; - var listener = getListener(inst, registrationName); - if (listener) { - event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); - event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); - } - } -} - -/** - * Accumulates dispatches on an `SyntheticEvent`, but only for the - * `dispatchMarker`. - * @param {SyntheticEvent} event - */ -function accumulateDirectDispatchesSingle(event) { - if (event && event.dispatchConfig.registrationName) { - accumulateDispatches(event._targetInst, null, event); - } -} - -function accumulateTwoPhaseDispatches(events) { - forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); -} - -function accumulateTwoPhaseDispatchesSkipTarget(events) { - forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); -} - -function accumulateEnterLeaveDispatches(leave, enter, from, to) { - EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); -} - -function accumulateDirectDispatches(events) { - forEachAccumulated(events, accumulateDirectDispatchesSingle); -} - -/** - * A small set of propagation patterns, each of which will accept a small amount - * of information, and generate a set of "dispatch ready event objects" - which - * are sets of events that have already been annotated with a set of dispatched - * listener functions/ids. The API is designed this way to discourage these - * propagation strategies from actually executing the dispatches, since we - * always want to collect the entire set of dispatches before executing event a - * single one. - * - * @constructor EventPropagators - */ -var EventPropagators = { - accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, - accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, - accumulateDirectDispatches: accumulateDirectDispatches, - accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches -}; - -module.exports = EventPropagators; - -/***/ }), -/* 45 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -/** - * `ReactInstanceMap` maintains a mapping from a public facing stateful - * instance (key) and the internal representation (value). This allows public - * methods to accept the user facing instance as an argument and map them back - * to internal methods. - */ - -// TODO: Replace this with ES6: var ReactInstanceMap = new Map(); - -var ReactInstanceMap = { - /** - * This API should be called `delete` but we'd have to make sure to always - * transform these to strings for IE support. When this transform is fully - * supported we can rename it. - */ - remove: function (key) { - key._reactInternalInstance = undefined; - }, - - get: function (key) { - return key._reactInternalInstance; - }, - - has: function (key) { - return key._reactInternalInstance !== undefined; - }, - - set: function (key, value) { - key._reactInternalInstance = value; - } -}; - -module.exports = ReactInstanceMap; - -/***/ }), -/* 46 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - */ - - - -var SyntheticEvent = __webpack_require__(24); - -var getEventTarget = __webpack_require__(96); - -/** - * @interface UIEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var UIEventInterface = { - view: function (event) { - if (event.view) { - return event.view; - } - - var target = getEventTarget(event); - if (target.window === target) { - // target is a window object - return target; - } - - var doc = target.ownerDocument; - // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. - if (doc) { - return doc.defaultView || doc.parentWindow; - } else { - return window; - } - }, - detail: function (event) { - return event.detail || 0; - } -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticEvent} - */ -function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); - -module.exports = SyntheticUIEvent; - -/***/ }), -/* 47 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * - */ - - -/** - * WARNING: DO NOT manually require this module. - * This is a replacement for `invariant(...)` used by the error code system - * and will _only_ be required by the corresponding babel pass. - * It always throws. - */ - -function reactProdInvariant(code) { - var argCount = arguments.length - 1; - - var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; - - for (var argIdx = 0; argIdx < argCount; argIdx++) { - message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); - } - - message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; - - var error = new Error(message); - error.name = 'Invariant Violation'; - error.framesToPop = 1; // we don't care about reactProdInvariant's own frame - - throw error; -} - -module.exports = reactProdInvariant; - -/***/ }), -/* 48 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return STRATEGIES; }); -/* harmony export (immutable) */ __webpack_exports__["d"] = displayName; -/* harmony export (immutable) */ __webpack_exports__["c"] = socialConnections; -/* harmony export (immutable) */ __webpack_exports__["b"] = authButtonsTheme; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__core_index__ = __webpack_require__(1); - - -// TODO: Android version also has "unknonwn-social", "evernote" and -// "evernote-sandbox""evernote" in the list, considers "google-openid" -// to be enterprise and doesn't contain "salesforce-community". See -// https://github.com/auth0/Lock.Android/blob/98262cb7110e5d1c8a97e1129faf2621c1d8d111/lock/src/main/java/com/auth0/android/lock/utils/Strategies.java -var STRATEGIES = { - apple: 'Apple', - amazon: 'Amazon', - aol: 'Aol', - baidu: '百度', - bitbucket: 'Bitbucket', - box: 'Box', - dropbox: 'Dropbox', - dwolla: 'Dwolla', - ebay: 'ebay', - exact: 'Exact', - facebook: 'Facebook', - fitbit: 'Fitbit', - github: 'GitHub', - 'google-openid': 'Google OpenId', - 'google-oauth2': 'Google', - instagram: 'Instagram', - linkedin: 'LinkedIn', - miicard: 'miiCard', - paypal: 'PayPal', - 'paypal-sandbox': 'PayPal Sandbox', - planningcenter: 'Planning Center', - renren: '人人', - salesforce: 'Salesforce', - 'salesforce-community': 'Salesforce Community', - 'salesforce-sandbox': 'Salesforce (sandbox)', - evernote: 'Evernote', - 'evernote-sandbox': 'Evernote (sandbox)', - shopify: 'Shopify', - soundcloud: 'Soundcloud', - thecity: 'The City', - 'thecity-sandbox': 'The City (sandbox)', - thirtysevensignals: 'Basecamp', - twitter: 'Twitter', - vkontakte: 'vKontakte', - windowslive: 'Microsoft Account', - wordpress: 'Wordpress', - yahoo: 'Yahoo!', - yammer: 'Yammer', - yandex: 'Yandex', - weibo: '新浪微博', - line: 'Line' -}; - -function displayName(connection) { - if (['oauth1', 'oauth2'].indexOf(connection.get('strategy')) !== -1) { - return connection.get('name'); - } - return STRATEGIES[connection.get('strategy')]; -} - -function socialConnections(m) { - return __WEBPACK_IMPORTED_MODULE_0__core_index__["connections"](m, 'social'); -} - -function authButtonsTheme(m) { - return __WEBPACK_IMPORTED_MODULE_0__core_index__["ui"].authButtonsTheme(m); -} - -/***/ }), -/* 49 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); - - -var PaneSeparator = function PaneSeparator() { - return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("div", { className: "auth0-lock-pane-separator" }); -}; - -/* harmony default export */ __webpack_exports__["a"] = (PaneSeparator); - -/***/ }), -/* 50 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = lastUsedConnection; -/* harmony export (immutable) */ __webpack_exports__["b"] = lastUsedUsername; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable__ = __webpack_require__(11); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_immutable__); - - -function lastUsedConnection(m) { - return m.getIn(['sso', 'lastUsedConnection']); -} - -function lastUsedUsername(m) { - return m.getIn(['sso', 'lastUsedUsername'], ''); -} - -/***/ }), -/* 51 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ui_input_email_input__ = __webpack_require__(211); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__index__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__email__ = __webpack_require__(19); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__avatar__ = __webpack_require__(106); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - - - - -var EmailPane = function (_React$Component) { - _inherits(EmailPane, _React$Component); - - function EmailPane() { - _classCallCheck(this, EmailPane); - - return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); - } - - EmailPane.prototype.componentDidMount = function componentDidMount() { - var _props = this.props, - lock = _props.lock, - strictValidation = _props.strictValidation; - - if (__WEBPACK_IMPORTED_MODULE_5__core_index__["ui"].avatar(lock) && __WEBPACK_IMPORTED_MODULE_3__index__["g" /* email */](lock)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__avatar__["a" /* requestAvatar */])(__WEBPACK_IMPORTED_MODULE_5__core_index__["id"](lock), __WEBPACK_IMPORTED_MODULE_3__index__["g" /* email */](lock)); - } - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_4__store_index__["c" /* updateEntity */], 'lock', __WEBPACK_IMPORTED_MODULE_5__core_index__["id"](lock), __WEBPACK_IMPORTED_MODULE_6__email__["d" /* setEmail */], __WEBPACK_IMPORTED_MODULE_3__index__["g" /* email */](lock), strictValidation); - }; - - EmailPane.prototype.handleChange = function handleChange(e) { - var _props2 = this.props, - lock = _props2.lock, - strictValidation = _props2.strictValidation; - - if (__WEBPACK_IMPORTED_MODULE_5__core_index__["ui"].avatar(lock)) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__avatar__["b" /* debouncedRequestAvatar */])(__WEBPACK_IMPORTED_MODULE_5__core_index__["id"](lock), e.target.value); - } - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_4__store_index__["c" /* updateEntity */], 'lock', __WEBPACK_IMPORTED_MODULE_5__core_index__["id"](lock), __WEBPACK_IMPORTED_MODULE_6__email__["d" /* setEmail */], e.target.value, strictValidation); - }; - - EmailPane.prototype.render = function render() { - var _props3 = this.props, - i18n = _props3.i18n, - lock = _props3.lock, - placeholder = _props3.placeholder, - _props3$forceInvalidV = _props3.forceInvalidVisibility, - forceInvalidVisibility = _props3$forceInvalidV === undefined ? false : _props3$forceInvalidV; - - var allowAutocomplete = __WEBPACK_IMPORTED_MODULE_5__core_index__["ui"].allowAutocomplete(lock); - - var field = __WEBPACK_IMPORTED_MODULE_3__index__["m" /* getField */](lock, 'email'); - var value = field.get('value', ''); - var valid = field.get('valid', true); - - // TODO: invalidErrorHint and blankErrorHint are deprecated. - // They are kept for backwards compatibiliy in the code for the customers overwriting - // them with languageDictionary. They can be removed in the next major release. - var errMessage = value ? i18n.str('invalidErrorHint') || i18n.str('invalidEmailErrorHint') : i18n.str('blankErrorHint') || i18n.str('blankEmailErrorHint'); - var invalidHint = field.get('invalidHint') || errMessage; - - var isValid = (!forceInvalidVisibility || valid) && !__WEBPACK_IMPORTED_MODULE_3__index__["k" /* isFieldVisiblyInvalid */](lock, 'email'); - // Hide the error message for the blank email in Enterprise HRD only mode when the password field is hidden. - isValid = forceInvalidVisibility && value === '' ? true : isValid; - - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__ui_input_email_input__["a" /* default */], { - lockId: __WEBPACK_IMPORTED_MODULE_5__core_index__["id"](lock), - value: value, - invalidHint: invalidHint, - isValid: isValid, - onChange: this.handleChange.bind(this), - placeholder: placeholder, - autoComplete: allowAutocomplete, - disabled: __WEBPACK_IMPORTED_MODULE_5__core_index__["submitting"](lock) - }); - }; - - return EmailPane; -}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component); - -/* harmony default export */ __webpack_exports__["a"] = (EmailPane); - - -EmailPane.propTypes = { - i18n: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.object.isRequired, - lock: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.object.isRequired, - placeholder: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string.isRequired, - strictValidation: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool.isRequired -}; - -/***/ }), -/* 52 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ui_button_auth_button__ = __webpack_require__(116); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_index__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__quick_auth_actions__ = __webpack_require__(53); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__connection_social_index__ = __webpack_require__(48); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__event__ = __webpack_require__(197); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__connection_database_index__ = __webpack_require__(10); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__connection_database_actions__ = __webpack_require__(27); -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - - - - - -var SocialButtonsPane = function (_React$Component) { - _inherits(SocialButtonsPane, _React$Component); - - function SocialButtonsPane() { - _classCallCheck(this, SocialButtonsPane); - - return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); - } - - SocialButtonsPane.prototype.handleSubmit = function handleSubmit(lock, provider, isSignUp) { - if (isSignUp && !__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_7__connection_database_index__["u" /* termsAccepted */])(lock)) { - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_8__connection_database_actions__["e" /* signUpError */])(lock.get('id'), { code: 'social_signup_needs_terms_acception' }); - } - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__event__["a" /* emitFederatedLoginEvent */])(this.props.lock, provider, isSignUp); - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__quick_auth_actions__["a" /* logIn */])(__WEBPACK_IMPORTED_MODULE_3__core_index__["id"](this.props.lock), provider); - }; - - SocialButtonsPane.prototype.render = function render() { - var _this2 = this; - - // TODO: i don't like that it receives the instructions tanslated - // but it also takes the t fn - var _props = this.props, - instructions = _props.instructions, - labelFn = _props.labelFn, - lock = _props.lock, - showLoading = _props.showLoading, - signUp = _props.signUp; - - - var headerText = instructions || null; - var header = headerText && __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'p', - null, - headerText - ); - - var themes = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__connection_social_index__["b" /* authButtonsTheme */])(lock); - - var buttons = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__connection_social_index__["c" /* socialConnections */])(lock).map(function (x) { - var buttonTheme = themes.get(x.get('name')); - var connectionName = buttonTheme && buttonTheme.get('displayName'); - var primaryColor = buttonTheme && buttonTheme.get('primaryColor'); - var foregroundColor = buttonTheme && buttonTheme.get('foregroundColor'); - var icon = buttonTheme && buttonTheme.get('icon'); - - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__ui_button_auth_button__["a" /* default */], { - key: x.get('name'), - label: labelFn(signUp ? 'signUpWithLabel' : 'loginWithLabel', connectionName || __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__connection_social_index__["d" /* displayName */])(x)), - onClick: function onClick() { - return _this2.handleSubmit(lock, x, signUp); - }, - strategy: x.get('strategy'), - primaryColor: primaryColor, - foregroundColor: foregroundColor, - icon: icon - }); - }); - - var loading = showLoading && __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: 'auth0-loading-container' }, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement('div', { className: 'auth0-loading' }) - ); - - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: 'auth-lock-social-buttons-pane' }, - header, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'div', - { className: 'auth0-lock-social-buttons-container' }, - buttons - ), - loading - ); - }; - - return SocialButtonsPane; -}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component); - -/* harmony default export */ __webpack_exports__["a"] = (SocialButtonsPane); - - -SocialButtonsPane.propTypes = { - instructions: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.any, - labelFn: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired, - lock: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.object.isRequired, - showLoading: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool.isRequired, - signUp: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool.isRequired, - e: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.bool -}; - -SocialButtonsPane.defaultProps = { - showLoading: false, - e: false -}; - -/***/ }), -/* 53 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["c"] = skipQuickAuth; -/* harmony export (immutable) */ __webpack_exports__["a"] = logIn; -/* harmony export (immutable) */ __webpack_exports__["b"] = checkSession; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__quick_auth__ = __webpack_require__(73); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store_index__ = __webpack_require__(8); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_actions__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_index__ = __webpack_require__(1); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - - - - - -function skipQuickAuth(id) { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', id, __WEBPACK_IMPORTED_MODULE_0__quick_auth__["b" /* skipQuickAuth */], true); -} - -function logIn(id, connection, loginHint, prompt) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - var connectionScopes = __WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].connectionScopes(m); - var scopes = connectionScopes.get(connection.get('name')); - var params = { - connection: connection.get('name'), - connection_scope: scopes ? scopes.toJS() : undefined - }; - if (!__WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].redirect(m) && connection.get('strategy') === 'facebook') { - params.display = 'popup'; - } - if (loginHint) { - params.login_hint = loginHint; - } - if (prompt) { - params.prompt = prompt; - } - - if (connection.get('strategy') === 'apple') { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', __WEBPACK_IMPORTED_MODULE_3__core_index__["id"](m), __WEBPACK_IMPORTED_MODULE_3__core_index__["setSupressSubmitOverlay"], true); - } else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["b" /* swap */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["c" /* updateEntity */], 'lock', __WEBPACK_IMPORTED_MODULE_3__core_index__["id"](m), __WEBPACK_IMPORTED_MODULE_3__core_index__["setSupressSubmitOverlay"], false); - } - - params.isSubmitting = false; - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["h" /* logIn */])(id, [], params); -} - -function checkSession(id, connection, loginHint) { - var m = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__store_index__["d" /* read */])(__WEBPACK_IMPORTED_MODULE_1__store_index__["e" /* getEntity */], 'lock', id); - if (__WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].responseType(m).indexOf('code') >= 0) { - // we need to force a redirect in this case - // so we use login with prompt=none - return logIn(id, connection, loginHint, 'none'); - } else { - var connectionScopes = __WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].connectionScopes(m); - var scopes = connectionScopes.get(connection.get('name')); - var params = _extends({}, __WEBPACK_IMPORTED_MODULE_3__core_index__["auth"].params(m).toJS(), { - connection: connection.get('name') - }); - - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__core_actions__["k" /* checkSession */])(id, params); - } -} - -/***/ }), -/* 54 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CloseButton; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BackButton; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__); - - - -var SvgBackIcon = function SvgBackIcon() { - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'svg', - { - 'aria-hidden': 'true', - focusable: 'false', - enableBackground: 'new 0 0 24 24', - version: '1.0', - viewBox: '0 0 24 24', - xmlSpace: 'preserve', - xmlns: 'http://www.w3.org/2000/svg', - xmlnsXlink: 'http://www.w3.org/1999/xlink' - }, - ' ', - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement('polyline', { - fill: 'none', - points: '12.5,21 3.5,12 12.5,3 ', - stroke: '#000000', - strokeMiterlimit: '10', - strokeWidth: '2' - }), - ' ', - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement('line', { - fill: 'none', - stroke: '#000000', - strokeMiterlimit: '10', - strokeWidth: '2', - x1: '22', - x2: '3.5', - y1: '12', - y2: '12' - }), - ' ' - ); -}; -var SvgCloseIcon = function SvgCloseIcon() { - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'svg', - { - 'aria-hidden': 'true', - focusable: 'false', - enableBackground: 'new 0 0 128 128', - version: '1.1', - viewBox: '0 0 128 128', - xmlSpace: 'preserve', - xmlns: 'http://www.w3.org/2000/svg', - xmlnsXlink: 'http://www.w3.org/1999/xlink' - }, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'g', - null, - __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement('polygon', { - fill: '#373737', - points: '123.5429688,11.59375 116.4765625,4.5185547 64.0019531,56.9306641 11.5595703,4.4882813 4.4882813,11.5595703 56.9272461,63.9970703 4.4570313,116.4052734 11.5244141,123.4814453 63.9985352,71.0683594 116.4423828,123.5117188 123.5126953,116.4414063 71.0732422,64.0019531 ' - }) - ) - ); -}; - -var IconButton = function IconButton(_ref) { - var lockId = _ref.lockId, - name = _ref.name, - _onClick = _ref.onClick, - svg = _ref.svg; - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement( - 'span', - { - id: lockId + '-' + name + '-button', - role: 'button', - tabIndex: 0, - className: 'auth0-lock-' + name + '-button', - onClick: function onClick(e) { - e.preventDefault(); - _onClick(); - }, - onKeyPress: function onKeyPress(e) { - if (e.key === 'Enter') { - e.preventDefault(); - _onClick(); - } - }, - 'aria-label': name - }, - svg - ); -}; - -IconButton.propTypes = { - name: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.string.isRequired, - onClick: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired, - svg: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.element.isRequired -}; - -var CloseButton = function CloseButton(_ref2) { - var lockId = _ref2.lockId, - onClick = _ref2.onClick; - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(IconButton, { lockId: lockId, name: 'close', onClick: onClick, svg: __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(SvgCloseIcon, null) }); -}; - -CloseButton.propTypes = { - onClick: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired -}; - -var BackButton = function BackButton(_ref3) { - var lockId = _ref3.lockId, - onClick = _ref3.onClick; - return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(IconButton, { lockId: lockId, name: 'back', onClick: onClick, svg: __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(SvgBackIcon, null) }); -}; - -BackButton.propTypes = { - onClick: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired -}; - -/***/ }), -/* 55 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__confirmation_pane__ = __webpack_require__(205); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - - - -var svg = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement( - 'svg', - { - focusable: 'false', - width: '56px', - height: '56px', - viewBox: '0 0 52 52', - version: '1.1', - xmlns: 'http://www.w3.org/2000/svg', - xmlnsXlink: 'http://www.w3.org/1999/xlink', - className: 'checkmark' - }, - ' ', - __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('circle', { cx: '26', cy: '26', r: '25', fill: 'none', className: 'checkmark__circle' }), - ' ', - __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('path', { fill: 'none', d: 'M14.1 27.2l7.1 7.2 16.7-16.8', className: 'checkmark__check' }), - ' ' -); - -var SuccessPane = function SuccessPane(props) { - return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__confirmation_pane__["a" /* default */], _extends({ svg: svg }, props)); -}; - -/* harmony default export */ __webpack_exports__["a"] = (SuccessPane); - -/***/ }), -/* 56 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = isSmallScreen; -function isSmallScreen() { - return window.matchMedia && !window.matchMedia('(min-width: 380px)').matches; -} - -/***/ }), -/* 57 */ -/***/ (function(module, exports, __webpack_require__) { - -/*! @license DOMPurify 2.3.10 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.10/LICENSE */ - -(function (global, factory) { - true ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory()); -})(this, (function () { 'use strict'; - - function _typeof(obj) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, _typeof(obj); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); - } - - function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - return true; - } catch (e) { - return false; - } - } - - function _construct(Parent, args, Class) { - if (_isNativeReflectConstruct()) { - _construct = Reflect.construct; - } else { - _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) _setPrototypeOf(instance, Class.prototype); - return instance; - }; - } - - return _construct.apply(null, arguments); - } - - function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); - } - - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); - } - - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); - } - - function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); - } - - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - - return arr2; - } - - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - var hasOwnProperty = Object.hasOwnProperty, - setPrototypeOf = Object.setPrototypeOf, - isFrozen = Object.isFrozen, - getPrototypeOf = Object.getPrototypeOf, - getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var freeze = Object.freeze, - seal = Object.seal, - create = Object.create; // eslint-disable-line import/no-mutable-exports - - var _ref = typeof Reflect !== 'undefined' && Reflect, - apply = _ref.apply, - construct = _ref.construct; - - if (!apply) { - apply = function apply(fun, thisValue, args) { - return fun.apply(thisValue, args); - }; - } - - if (!freeze) { - freeze = function freeze(x) { - return x; - }; - } - - if (!seal) { - seal = function seal(x) { - return x; - }; - } - - if (!construct) { - construct = function construct(Func, args) { - return _construct(Func, _toConsumableArray(args)); - }; - } - - var arrayForEach = unapply(Array.prototype.forEach); - var arrayPop = unapply(Array.prototype.pop); - var arrayPush = unapply(Array.prototype.push); - var stringToLowerCase = unapply(String.prototype.toLowerCase); - var stringMatch = unapply(String.prototype.match); - var stringReplace = unapply(String.prototype.replace); - var stringIndexOf = unapply(String.prototype.indexOf); - var stringTrim = unapply(String.prototype.trim); - var regExpTest = unapply(RegExp.prototype.test); - var typeErrorCreate = unconstruct(TypeError); - function unapply(func) { - return function (thisArg) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return apply(func, thisArg, args); - }; - } - function unconstruct(func) { - return function () { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - return construct(func, args); - }; - } - /* Add properties to a lookup table */ - - function addToSet(set, array, transformCaseFunc) { - transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase; - - if (setPrototypeOf) { - // Make 'in' and truthy checks like Boolean(set.constructor) - // independent of any properties defined on Object.prototype. - // Prevent prototype setters from intercepting set as a this value. - setPrototypeOf(set, null); - } - - var l = array.length; - - while (l--) { - var element = array[l]; - - if (typeof element === 'string') { - var lcElement = transformCaseFunc(element); - - if (lcElement !== element) { - // Config presets (e.g. tags.js, attrs.js) are immutable. - if (!isFrozen(array)) { - array[l] = lcElement; - } - - element = lcElement; - } - } - - set[element] = true; - } - - return set; - } - /* Shallow clone an object */ - - function clone(object) { - var newObject = create(null); - var property; - - for (property in object) { - if (apply(hasOwnProperty, object, [property])) { - newObject[property] = object[property]; - } - } - - return newObject; - } - /* IE10 doesn't support __lookupGetter__ so lets' - * simulate it. It also automatically checks - * if the prop is function or getter and behaves - * accordingly. */ - - function lookupGetter(object, prop) { - while (object !== null) { - var desc = getOwnPropertyDescriptor(object, prop); - - if (desc) { - if (desc.get) { - return unapply(desc.get); - } - - if (typeof desc.value === 'function') { - return unapply(desc.value); - } - } - - object = getPrototypeOf(object); - } - - function fallbackValue(element) { - console.warn('fallback value for', element); - return null; - } - - return fallbackValue; - } - - var html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG - - var svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']); - var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default. - // We still need to know them so that we can do namespace - // checks properly in case one wants to add them to - // allow-list. - - var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']); - var mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements, - // even those that we disallow by default. - - var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']); - var text = freeze(['#text']); - - var html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']); - var svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']); - var mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']); - var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); - - var MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode - - var ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm); - var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape - - var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape - - var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape - ); - var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); - var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex - ); - var DOCTYPE_NAME = seal(/^html$/i); - - var getGlobal = function getGlobal() { - return typeof window === 'undefined' ? null : window; - }; - /** - * Creates a no-op policy for internal use only. - * Don't export this function outside this module! - * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory. - * @param {Document} document The document object (to determine policy name suffix) - * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types - * are not supported). - */ - - - var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) { - if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') { - return null; - } // Allow the callers to control the unique policy name - // by adding a data-tt-policy-suffix to the script element with the DOMPurify. - // Policy creation with duplicate names throws in Trusted Types. - - - var suffix = null; - var ATTR_NAME = 'data-tt-policy-suffix'; - - if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) { - suffix = document.currentScript.getAttribute(ATTR_NAME); - } - - var policyName = 'dompurify' + (suffix ? '#' + suffix : ''); - - try { - return trustedTypes.createPolicy(policyName, { - createHTML: function createHTML(html) { - return html; - }, - createScriptURL: function createScriptURL(scriptUrl) { - return scriptUrl; - } - }); - } catch (_) { - // Policy creation failed (most likely another DOMPurify script has - // already run). Skip creating the policy, as this will only cause errors - // if TT are enforced. - console.warn('TrustedTypes policy ' + policyName + ' could not be created.'); - return null; - } - }; - - function createDOMPurify() { - var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal(); - - var DOMPurify = function DOMPurify(root) { - return createDOMPurify(root); - }; - /** - * Version label, exposed for easier checks - * if DOMPurify is up to date or not - */ - - - DOMPurify.version = '2.3.10'; - /** - * Array of elements that DOMPurify removed during sanitation. - * Empty if nothing was removed. - */ - - DOMPurify.removed = []; - - if (!window || !window.document || window.document.nodeType !== 9) { - // Not running in a browser, provide a factory function - // so that you can pass your own Window - DOMPurify.isSupported = false; - return DOMPurify; - } - - var originalDocument = window.document; - var document = window.document; - var DocumentFragment = window.DocumentFragment, - HTMLTemplateElement = window.HTMLTemplateElement, - Node = window.Node, - Element = window.Element, - NodeFilter = window.NodeFilter, - _window$NamedNodeMap = window.NamedNodeMap, - NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap, - HTMLFormElement = window.HTMLFormElement, - DOMParser = window.DOMParser, - trustedTypes = window.trustedTypes; - var ElementPrototype = Element.prototype; - var cloneNode = lookupGetter(ElementPrototype, 'cloneNode'); - var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling'); - var getChildNodes = lookupGetter(ElementPrototype, 'childNodes'); - var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a - // new document created via createHTMLDocument. As per the spec - // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) - // a new empty registry is used when creating a template contents owner - // document, so we use that as our parent document to ensure nothing - // is inherited. - - if (typeof HTMLTemplateElement === 'function') { - var template = document.createElement('template'); - - if (template.content && template.content.ownerDocument) { - document = template.content.ownerDocument; - } - } - - var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument); - - var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : ''; - var _document = document, - implementation = _document.implementation, - createNodeIterator = _document.createNodeIterator, - createDocumentFragment = _document.createDocumentFragment, - getElementsByTagName = _document.getElementsByTagName; - var importNode = originalDocument.importNode; - var documentMode = {}; - - try { - documentMode = clone(document).documentMode ? document.documentMode : {}; - } catch (_) {} - - var hooks = {}; - /** - * Expose whether this browser supports running the full DOMPurify. - */ - - DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9; - var MUSTACHE_EXPR$1 = MUSTACHE_EXPR, - ERB_EXPR$1 = ERB_EXPR, - DATA_ATTR$1 = DATA_ATTR, - ARIA_ATTR$1 = ARIA_ATTR, - IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA, - ATTR_WHITESPACE$1 = ATTR_WHITESPACE; - var IS_ALLOWED_URI$1 = IS_ALLOWED_URI; - /** - * We consider the elements and attributes below to be safe. Ideally - * don't add any new ones but feel free to remove unwanted ones. - */ - - /* allowed element names */ - - var ALLOWED_TAGS = null; - var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text))); - /* Allowed attribute names */ - - var ALLOWED_ATTR = null; - var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml))); - /* - * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements. - * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements) - * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list) - * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`. - */ - - var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, { - tagNameCheck: { - writable: true, - configurable: false, - enumerable: true, - value: null - }, - attributeNameCheck: { - writable: true, - configurable: false, - enumerable: true, - value: null - }, - allowCustomizedBuiltInElements: { - writable: true, - configurable: false, - enumerable: true, - value: false - } - })); - /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */ - - var FORBID_TAGS = null; - /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */ - - var FORBID_ATTR = null; - /* Decide if ARIA attributes are okay */ - - var ALLOW_ARIA_ATTR = true; - /* Decide if custom data attributes are okay */ - - var ALLOW_DATA_ATTR = true; - /* Decide if unknown protocols are okay */ - - var ALLOW_UNKNOWN_PROTOCOLS = false; - /* Output should be safe for common template engines. - * This means, DOMPurify removes data attributes, mustaches and ERB - */ - - var SAFE_FOR_TEMPLATES = false; - /* Decide if document with ... should be returned */ - - var WHOLE_DOCUMENT = false; - /* Track whether config is already set on this instance of DOMPurify. */ - - var SET_CONFIG = false; - /* Decide if all elements (e.g. style, script) must be children of - * document.body. By default, browsers might move them to document.head */ - - var FORCE_BODY = false; - /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html - * string (or a TrustedHTML object if Trusted Types are supported). - * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead - */ - - var RETURN_DOM = false; - /* Decide if a DOM `DocumentFragment` should be returned, instead of a html - * string (or a TrustedHTML object if Trusted Types are supported) */ - - var RETURN_DOM_FRAGMENT = false; - /* Try to return a Trusted Type object instead of a string, return a string in - * case Trusted Types are not supported */ - - var RETURN_TRUSTED_TYPE = false; - /* Output should be free from DOM clobbering attacks? */ - - var SANITIZE_DOM = true; - /* Keep element content when removing element? */ - - var KEEP_CONTENT = true; - /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead - * of importing it into a new Document and returning a sanitized copy */ - - var IN_PLACE = false; - /* Allow usage of profiles like html, svg and mathMl */ - - var USE_PROFILES = {}; - /* Tags to ignore content of when KEEP_CONTENT is true */ - - var FORBID_CONTENTS = null; - var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']); - /* Tags that are safe for data: URIs */ - - var DATA_URI_TAGS = null; - var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']); - /* Attributes safe for values like "javascript:" */ - - var URI_SAFE_ATTRIBUTES = null; - var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']); - var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML'; - var SVG_NAMESPACE = 'http://www.w3.org/2000/svg'; - var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml'; - /* Document namespace */ - - var NAMESPACE = HTML_NAMESPACE; - var IS_EMPTY_INPUT = false; - /* Parsing of strict XHTML documents */ - - var PARSER_MEDIA_TYPE; - var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html']; - var DEFAULT_PARSER_MEDIA_TYPE = 'text/html'; - var transformCaseFunc; - /* Keep a reference to config to pass to hooks */ - - var CONFIG = null; - /* Ideally, do not touch anything below this line */ - - /* ______________________________________________ */ - - var formElement = document.createElement('form'); - - var isRegexOrFunction = function isRegexOrFunction(testValue) { - return testValue instanceof RegExp || testValue instanceof Function; - }; - /** - * _parseConfig - * - * @param {Object} cfg optional config literal - */ - // eslint-disable-next-line complexity - - - var _parseConfig = function _parseConfig(cfg) { - if (CONFIG && CONFIG === cfg) { - return; - } - /* Shield configuration object from tampering */ - - - if (!cfg || _typeof(cfg) !== 'object') { - cfg = {}; - } - /* Shield configuration object from prototype pollution */ - - - cfg = clone(cfg); - PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes - SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is. - - transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? function (x) { - return x; - } : stringToLowerCase; - /* Set configuration parameters */ - - ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS; - ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR; - URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent - cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent - transformCaseFunc // eslint-disable-line indent - ) // eslint-disable-line indent - : DEFAULT_URI_SAFE_ATTRIBUTES; - DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent - cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent - transformCaseFunc // eslint-disable-line indent - ) // eslint-disable-line indent - : DEFAULT_DATA_URI_TAGS; - FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS; - FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {}; - FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {}; - USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false; - ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true - - ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true - - ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false - - SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false - - WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false - - RETURN_DOM = cfg.RETURN_DOM || false; // Default false - - RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false - - RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false - - FORCE_BODY = cfg.FORCE_BODY || false; // Default false - - SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true - - KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true - - IN_PLACE = cfg.IN_PLACE || false; // Default false - - IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1; - NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE; - - if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) { - CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck; - } - - if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) { - CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck; - } - - if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') { - CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements; - } - - if (SAFE_FOR_TEMPLATES) { - ALLOW_DATA_ATTR = false; - } - - if (RETURN_DOM_FRAGMENT) { - RETURN_DOM = true; - } - /* Parse profile info */ - - - if (USE_PROFILES) { - ALLOWED_TAGS = addToSet({}, _toConsumableArray(text)); - ALLOWED_ATTR = []; - - if (USE_PROFILES.html === true) { - addToSet(ALLOWED_TAGS, html$1); - addToSet(ALLOWED_ATTR, html); - } - - if (USE_PROFILES.svg === true) { - addToSet(ALLOWED_TAGS, svg$1); - addToSet(ALLOWED_ATTR, svg); - addToSet(ALLOWED_ATTR, xml); - } - - if (USE_PROFILES.svgFilters === true) { - addToSet(ALLOWED_TAGS, svgFilters); - addToSet(ALLOWED_ATTR, svg); - addToSet(ALLOWED_ATTR, xml); - } - - if (USE_PROFILES.mathMl === true) { - addToSet(ALLOWED_TAGS, mathMl$1); - addToSet(ALLOWED_ATTR, mathMl); - addToSet(ALLOWED_ATTR, xml); - } - } - /* Merge configuration parameters */ - - - if (cfg.ADD_TAGS) { - if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) { - ALLOWED_TAGS = clone(ALLOWED_TAGS); - } - - addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc); - } - - if (cfg.ADD_ATTR) { - if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) { - ALLOWED_ATTR = clone(ALLOWED_ATTR); - } - - addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc); - } - - if (cfg.ADD_URI_SAFE_ATTR) { - addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc); - } - - if (cfg.FORBID_CONTENTS) { - if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) { - FORBID_CONTENTS = clone(FORBID_CONTENTS); - } - - addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc); - } - /* Add #text in case KEEP_CONTENT is set to true */ - - - if (KEEP_CONTENT) { - ALLOWED_TAGS['#text'] = true; - } - /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */ - - - if (WHOLE_DOCUMENT) { - addToSet(ALLOWED_TAGS, ['html', 'head', 'body']); - } - /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */ - - - if (ALLOWED_TAGS.table) { - addToSet(ALLOWED_TAGS, ['tbody']); - delete FORBID_TAGS.tbody; - } // Prevent further manipulation of configuration. - // Not available in IE8, Safari 5, etc. - - - if (freeze) { - freeze(cfg); - } - - CONFIG = cfg; - }; - - var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']); - var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML - // namespace. We need to specify them explicitly - // so that they don't get erroneously deleted from - // HTML namespace. - - var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']); - /* Keep track of all possible SVG and MathML tags - * so that we can perform the namespace checks - * correctly. */ - - var ALL_SVG_TAGS = addToSet({}, svg$1); - addToSet(ALL_SVG_TAGS, svgFilters); - addToSet(ALL_SVG_TAGS, svgDisallowed); - var ALL_MATHML_TAGS = addToSet({}, mathMl$1); - addToSet(ALL_MATHML_TAGS, mathMlDisallowed); - /** - * - * - * @param {Element} element a DOM element whose namespace is being checked - * @returns {boolean} Return false if the element has a - * namespace that a spec-compliant parser would never - * return. Return true otherwise. - */ - - var _checkValidNamespace = function _checkValidNamespace(element) { - var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode - // can be null. We just simulate parent in this case. - - if (!parent || !parent.tagName) { - parent = { - namespaceURI: HTML_NAMESPACE, - tagName: 'template' - }; - } - - var tagName = stringToLowerCase(element.tagName); - var parentTagName = stringToLowerCase(parent.tagName); - - if (element.namespaceURI === SVG_NAMESPACE) { - // The only way to switch from HTML namespace to SVG - // is via . If it happens via any other tag, then - // it should be killed. - if (parent.namespaceURI === HTML_NAMESPACE) { - return tagName === 'svg'; - } // The only way to switch from MathML to SVG is via - // svg if parent is either or MathML - // text integration points. - - - if (parent.namespaceURI === MATHML_NAMESPACE) { - return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]); - } // We only allow elements that are defined in SVG - // spec. All others are disallowed in SVG namespace. - - - return Boolean(ALL_SVG_TAGS[tagName]); - } - - if (element.namespaceURI === MATHML_NAMESPACE) { - // The only way to switch from HTML namespace to MathML - // is via . If it happens via any other tag, then - // it should be killed. - if (parent.namespaceURI === HTML_NAMESPACE) { - return tagName === 'math'; - } // The only way to switch from SVG to MathML is via - // and HTML integration points - - - if (parent.namespaceURI === SVG_NAMESPACE) { - return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName]; - } // We only allow elements that are defined in MathML - // spec. All others are disallowed in MathML namespace. - - - return Boolean(ALL_MATHML_TAGS[tagName]); - } - - if (element.namespaceURI === HTML_NAMESPACE) { - // The only way to switch from SVG to HTML is via - // HTML integration points, and from MathML to HTML - // is via MathML text integration points - if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) { - return false; - } - - if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) { - return false; - } // We disallow tags that are specific for MathML - // or SVG and should never appear in HTML namespace - - - return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]); - } // The code should never reach this place (this means - // that the element somehow got namespace that is not - // HTML, SVG or MathML). Return false just in case. - - - return false; - }; - /** - * _forceRemove - * - * @param {Node} node a DOM node - */ - - - var _forceRemove = function _forceRemove(node) { - arrayPush(DOMPurify.removed, { - element: node - }); - - try { - // eslint-disable-next-line unicorn/prefer-dom-node-remove - node.parentNode.removeChild(node); - } catch (_) { - try { - node.outerHTML = emptyHTML; - } catch (_) { - node.remove(); - } - } - }; - /** - * _removeAttribute - * - * @param {String} name an Attribute name - * @param {Node} node a DOM node - */ - - - var _removeAttribute = function _removeAttribute(name, node) { - try { - arrayPush(DOMPurify.removed, { - attribute: node.getAttributeNode(name), - from: node - }); - } catch (_) { - arrayPush(DOMPurify.removed, { - attribute: null, - from: node - }); - } - - node.removeAttribute(name); // We void attribute values for unremovable "is"" attributes - - if (name === 'is' && !ALLOWED_ATTR[name]) { - if (RETURN_DOM || RETURN_DOM_FRAGMENT) { - try { - _forceRemove(node); - } catch (_) {} - } else { - try { - node.setAttribute(name, ''); - } catch (_) {} - } - } - }; - /** - * _initDocument - * - * @param {String} dirty a string of dirty markup - * @return {Document} a DOM, filled with the dirty markup - */ - - - var _initDocument = function _initDocument(dirty) { - /* Create a HTML document */ - var doc; - var leadingWhitespace; - - if (FORCE_BODY) { - dirty = '' + dirty; - } else { - /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ - var matches = stringMatch(dirty, /^[\r\n\t ]+/); - leadingWhitespace = matches && matches[0]; - } - - if (PARSER_MEDIA_TYPE === 'application/xhtml+xml') { - // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict) - dirty = '' + dirty + ''; - } - - var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; - /* - * Use the DOMParser API by default, fallback later if needs be - * DOMParser not work for svg when has multiple root element. - */ - - if (NAMESPACE === HTML_NAMESPACE) { - try { - doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE); - } catch (_) {} - } - /* Use createHTMLDocument in case DOMParser is not available */ - - - if (!doc || !doc.documentElement) { - doc = implementation.createDocument(NAMESPACE, 'template', null); - - try { - doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload; - } catch (_) {// Syntax error if dirtyPayload is invalid xml - } - } - - var body = doc.body || doc.documentElement; - - if (dirty && leadingWhitespace) { - body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null); - } - /* Work on whole document or just its body */ - - - if (NAMESPACE === HTML_NAMESPACE) { - return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0]; - } - - return WHOLE_DOCUMENT ? doc.documentElement : body; - }; - /** - * _createIterator - * - * @param {Document} root document/fragment to create iterator for - * @return {Iterator} iterator instance - */ - - - var _createIterator = function _createIterator(root) { - return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise - NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false); - }; - /** - * _isClobbered - * - * @param {Node} elm element to check for clobbering attacks - * @return {Boolean} true if clobbered, false if safe - */ - - - var _isClobbered = function _isClobbered(elm) { - return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function'); - }; - /** - * _isNode - * - * @param {Node} obj object to check whether it's a DOM node - * @return {Boolean} true is object is a DOM node - */ - - - var _isNode = function _isNode(object) { - return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'; - }; - /** - * _executeHook - * Execute user configurable hooks - * - * @param {String} entryPoint Name of the hook's entry point - * @param {Node} currentNode node to work on with the hook - * @param {Object} data additional hook parameters - */ - - - var _executeHook = function _executeHook(entryPoint, currentNode, data) { - if (!hooks[entryPoint]) { - return; - } - - arrayForEach(hooks[entryPoint], function (hook) { - hook.call(DOMPurify, currentNode, data, CONFIG); - }); - }; - /** - * _sanitizeElements - * - * @protect nodeName - * @protect textContent - * @protect removeChild - * - * @param {Node} currentNode to check for permission to exist - * @return {Boolean} true if node was killed, false if left alive - */ - - - var _sanitizeElements = function _sanitizeElements(currentNode) { - var content; - /* Execute a hook if present */ - - _executeHook('beforeSanitizeElements', currentNode, null); - /* Check if element is clobbered or can clobber */ - - - if (_isClobbered(currentNode)) { - _forceRemove(currentNode); - - return true; - } - /* Check if tagname contains Unicode */ - - - if (regExpTest(/[\u0080-\uFFFF]/, currentNode.nodeName)) { - _forceRemove(currentNode); - - return true; - } - /* Now let's check the element's type and name */ - - - var tagName = transformCaseFunc(currentNode.nodeName); - /* Execute a hook if present */ - - _executeHook('uponSanitizeElement', currentNode, { - tagName: tagName, - allowedTags: ALLOWED_TAGS - }); - /* Detect mXSS attempts abusing namespace confusion */ - - - if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) { - _forceRemove(currentNode); - - return true; - } - /* Mitigate a problem with templates inside select */ - - - if (tagName === 'select' && regExpTest(/