define("modules/clean/profile_services/auth_callback_handler",["require","exports","tslib","modules/core/browser","modules/core/notify","modules/core/uri","modules/clean/ajax","modules/core/i18n"],(function(e,t,r,i,n,o,s,a){"use strict";function c(e,t,r){e.trigger(t,r)}Object.defineProperty(t,"__esModule",{value:!0}),i=r.__importStar(i),s=r.__importStar(s),t.handleRegisterResponse=function(e,t,r,s){var _;e.success&&e.user_id?(_=t.loginCont||"/",i.redirect(_)):e.success?(s&&s(),(function(e,t,r){var n=e.profile,s=e.emailSig,a=e.refreshToken,_=n.given_name,l=n.family_name,u=n.email,d=n.picture_url,p=t.registerCont,g=t.signupTag,m=t.k,f=t.eh,h=t.showMarketingOptIn,v=t.signupEndpoint,y=t.signupReferrer,O=t.signupUrl,S=t.trackingParams,k={cont:p,eh:f,email:u,email_sig:s,fname:_,k:m,lname:l,picture_url:d,refresh_token:a,show_marketing_opt_in:h,signup_endpoint:v,signup_referrer:y,signup_tag:g,signup_url:O,tracking_params:S},w=Object.keys(k).reduce((function(e,t){var r=k[t];return void 0!==r&&(e[t]=String(r)),e}),{});r&&c(r.form,r.newAccount,w);t.canRedirect&&i.redirect(new o.URI({path:"/third_party_signup",query:w}).toString())})({emailSig:e.email_sig,refreshToken:e.refresh_token,profile:e.profile},t,r)):(function(e,t,r){if("tfa_required"===e.errMsg){var s={cont:t};null!=e.pairUser&&(s.pair_user=e.pairUser.toString()),null!=e.rememberMe&&(s.remember_me=e.rememberMe.toString()),i.redirect(new o.URI({path:"/verify_code",query:s}).toString())}else if("sso_required"===e.errMsg){s={email:e.profile.email,cont:t};i.redirect(new o.URI({path:"/login",query:s}).toString())}else"user_exists"===e.errMsg?(r&&c(r.form,r.userExists,{focus:"input[name=login_password]",prefill:{".login-email":e.profile.email,"input[type='hidden'][name=refresh_token]":e.refreshToken,"input[type='hidden'][name=email_sig]":e.emailSig}}),n.Notify.error(a._("This email address is already taken. Please sign in."))):"user_already_invited_to_team"===e.errMsg?n.Notify.error(a._("Contact your admin to resend your invite.")):n.Notify.error(a._("Unable to link to Google. Please refresh the page to try again."))})({errMsg:e.err_msg,rememberMe:e.remember_me,pairUser:e.pair_user,profile:e.profile,emailSig:e.email_sig,refreshToken:e.refresh_token},t.loginCont||"/",r)},t.handleLoginResponse=function(e,t){if(e.success)n.Notify.success(a._("Log in successful!")),s.SilentBackgroundRequest({url:"/profile_services/log",data:{event_name:"login_callback_success",value:"success"}}),t.onSuccess(),t.redirectOnSuccess&&i.redirect(t.cont);else if(s.SilentBackgroundRequest({url:"/profile_services/log",data:{event_name:"login_callback_error",value:e.err_msg}}),"access_denied"===e.err_msg)n.Notify.error(a._("You need to accept Google’s request in order to log in."));else if("emails_do_not_match"===e.err_msg)n.Notify.error(a._("We couldn’t find a Dropbox account matching that email."));else if("google_login_not_allowed"===e.err_msg)n.Notify.error(a._("Google sign in is disabled. Sign in with your Dropbox password or ask your Dropbox admin for help."));else if("sso_required"===e.err_msg)n.Notify.error(a._("Your team has single sign-on. Sign in with your Dropbox password or ask your Dropbox admin for help."));else if("tfa_required"===e.err_msg){var r=new o.URI({path:"/verify_code",query:{cont:t.cont,remember_me:String(e.remember_me),pair_user:String(e.pair_user)}}).toString();i.redirect(r)}else if("disabled_account"===e.err_msg)n.Notify.error(a._("This account is disabled."));else if("invalid_pair_target"===e.err_msg)n.Notify.error(a._("That account can’t be paired. Paired account must be a personal account."));else if("already_paired"===e.err_msg)n.Notify.error(a._("That account is already paired to another account."));else if("error_pairing"===e.err_msg)n.Notify.error(a._("There was an error pairing."));else if("not_verified"===e.err_msg){r=new o.URI({path:"/show_password_form",query:{cont:t.cont,remember_me:String(e.remember_me),pair_user:String(e.pair_user)}}).toString();i.redirect(r)}else"emails_do_not_match_redirect"===e.err_msg?i.redirect(new o.URI({path:"/third_party_signup",query:{email_sig:e.email_sig,email:e.profile.email,fname:e.profile.given_name,lname:e.profile.family_name,refresh_token:e.refresh_token,cont:t.cont}})):n.Notify.error(a._("We couldn’t log you in with Google. Try again?"))},t.handleCalendarLinkResponse=function(e,t){e.success?(n.Notify.success(a._("Successfully connected your Google Calendar")),t.onSuccess()):n.Notify.error(a._("Couldn’t connect your Google Calendar"))}})),define("modules/clean/profile_services/popup_handler",["require","exports","tslib","external/lodash"],(function(e,t,r,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i=r.__importStar(i);var n={};t.addAuthCompleteListener=function(e){var t=i.uniqueId(),r=function(t){var r;try{r=JSON.parse(t.data)}catch(e){return}r&&"db:profile_service:auth_complete"===r.type&&e(r.payload)};return window.addEventListener("message",r),n[t]=r,t},t.removeAuthCompleteListener=function(e){var t=n[e];t&&(delete n[e],window.removeEventListener("message",t))}})),define("modules/clean/profile_services/profile_services_constants",["require","exports","modules/core/exception","modules/core/i18n"],(function(e,t,r,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(function(e){e.APPLE="APPLE",e.GOOGLE="GOOGLE"})(t.ServiceResponseType||(t.ServiceResponseType={})),(function(e){e[e.CONTACTS=0]="CONTACTS",e[e.PROFILE=1]="PROFILE",e[e.PHOTO=2]="PHOTO",e[e.EMAIL=3]="EMAIL",e[e.CALENDAR=4]="CALENDAR",e[e.DOCUMENTS=5]="DOCUMENTS",e[e.CHAT=6]="CHAT",e[e.READ_FILES=7]="READ_FILES"})(t.ServiceRequestType||(t.ServiceRequestType={})),(function(e){e.to_api_v2=function(t){switch(t){case e.CONTACTS:return{".tag":"contacts"};case e.PROFILE:return{".tag":"profile"};case e.PHOTO:return{".tag":"photo"};case e.EMAIL:return{".tag":"email"};case e.CALENDAR:return{".tag":"calendar"};case e.DOCUMENTS:return{".tag":"documents"};case e.CHAT:return{".tag":"chat"};case e.READ_FILES:return{".tag":"read_files"};default:return r.assert(!1,"Should never get ServiceRequestType.to_api_v2 with request type: "+e[t])}}})(t.ServiceRequestType||(t.ServiceRequestType={}));var n={GOOGLE:"1",YAHOO:"2",FACEBOOK:"3",TWITTER:"4",YAHOO_LEGACY:"5",MOBILE:"6",OUTLOOK:"7",SLACK:"8",DOCUSIGN:"9",ZOOM:"10",SLACK_DROPBOX:"11",TRELLO:"12",APPLE:"13",NEVER_CONNECTED:0,WAS_CONNECTED:1,IS_CONNECTED:2,VARIOUS:"-1",NONE:"-2",services:function(){return[this.GOOGLE,this.YAHOO,this.FACEBOOK,this.TWITTER,this.YAHOO_LEGACY,this.OUTLOOK,this.SLACK,this.DOCUSIGN,this.ZOOM,this.SLACK_DROPBOX,this.TRELLO,this.APPLE]},service_data:{apple:{action:null,permissions:i._(""),landing_page_id:null,learn_more_page:null,img:"/static/images/index/apple-logo-color.svg",friendly_name:"Apple",order:1},google:{action:"link_contacts",permissions:i._("Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/index/google-logo-color-vflpJqkMT.svg",friendly_name:"Google",order:3},outlook:{action:"link_contacts",permissions:i._("Calendar and Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/thirdparty/outlook_icon-vflzzt-G0.svg",friendly_name:"Outlook",order:4},slack:{action:"link_contacts",permissions:i._("Communication"),landing_page_id:null,learn_more_page:null,img:"/static/images/thirdparty/slack_icon_transparent-vfljNpDIm.svg",friendly_name:"Slack",order:Number.MAX_VALUE},slack_dropbox:{action:"link_contacts",permissions:i._("Communication"),landing_page_id:"dropbox_slack",learn_more_page:"https://www.dropbox.com/help/desktop-web/slack",img:"/static/images/thirdparty/slack_icon_transparent-vfljNpDIm.svg",friendly_name:"Slack",order:5},zoom:{action:"link_contacts",permissions:i._("Communication"),landing_page_id:"zoom",learn_more_page:"https://www.dropbox.com/help/desktop-web/zoom",img:"/static/images/thirdparty/zoom_icon_squircle-vfl-znF5M.svg",friendly_name:"Zoom",order:8},trello:{action:"link_contacts",permissions:i._("Project management"),landing_page_id:"trello",learn_more_page:"https://www.dropbox.com/landing/trello",img:"/static/images/thirdparty/trello_icon-vfl-FetdA.svg",friendly_name:"Trello",order:6},yahoo:{action:"link_contacts",permissions:i._("Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/thirdparty/yahoo_icon-vflqXkWjv.svg",friendly_name:"Yahoo! Mail",order:7},yahoo_legacy:{action:null,permissions:i._("Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/thirdparty/yahoo_icon-vflqXkWjv.svg",friendly_name:"Yahoo! Mail",order:Number.MAX_VALUE},facebook:{action:null,permissions:i._("Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/thirdparty/facebook_icon-vflbyEm0k.svg",friendly_name:"Facebook",order:2}},gated_service_data:{profile_card_v2:{google:{action:"link_calendar",permissions:i._("Calendar and Contacts"),landing_page_id:null,learn_more_page:null,img:"/static/images/index/google-logo-color-vflpJqkMT.svg",friendly_name:"Google",order:1}},slack_folder_linking:{slack_dropbox:{action:"link_read_files",permissions:i._("Communication"),landing_page_id:"dropbox_slack",learn_more_page:"https://www.dropbox.com/help/desktop-web/slack",img:"/static/images/thirdparty/slack_icon_transparent-vfljNpDIm.svg",friendly_name:"Slack",order:5}}},get_gated_service_data:function(e,t){var r=e[".tag"];if(t&&t in this.gated_service_data){var i=this.gated_service_data[t];if(r in i)return i[r]}},get_service_data:function(e,t){void 0===t&&(t=null);var i=e[".tag"];if(t){var n=this.get_gated_service_data(e,t);if(n)return n}return i in this.service_data?this.service_data[i]:r.assert(!1,"Should never get ProfileServicesConstants.get_service_data with service: "+i)},importable_contact_services:function(){return[this.GOOGLE]},to_img_legacy:function(e){switch(e){case this.GOOGLE:return["/static/images/contacts/import_icon_gmail-vflFQwVYO.png","/static/images/contacts/import_icon_gmail@2x-vflO2fTFE.png"];case this.YAHOO:case this.YAHOO_LEGACY:return["/static/images/contacts/import_icon_yahoo-vfl5E728M.png","/static/images/contacts/import_icon_yahoo@2x-vflnVdi5R.png"];case this.FACEBOOK:return["/static/images/contacts/import_icon_facebook-vfluFbt1j.png","/static/images/contacts/import_icon_facebook@2x-vfl7Zk5rR.png"];case this.OUTLOOK:return["/static/images/contacts/import_icon_outlook-vflF1_UKs.png","/static/images/contacts/import_icon_outlook@2x-vflVjRgD3.png"];case this.SLACK:case this.SLACK_DROPBOX:return["/static/images/thirdparty/slack_icon-vflKvKltK.svg","/static/images/thirdparty/slack_icon-vflKvKltK.svg"];case this.ZOOM:return["/static/images/thirdparty/zoom_icon-vflft17yG.svg","/static/images/thirdparty/zoom_icon-vflft17yG.svg"];case this.TRELLO:return["/static/images/thirdparty/trello_icon-vfl-FetdA.svg","/static/images/thirdparty/trello_icon-vfl-FetdA.svg"];default:return r.assert(!1,"Should never get ProfileServicesConstants.to_img_legacy with service: "+e)}},to_name:function(e){if(e===this.VARIOUS)return i._("Email");var t=this.to_api_service_type(e);return this.get_service_data(t).friendly_name},logging_identifiers:function(e){switch(e){case this.GOOGLE:return"google";case this.YAHOO:return"yahoo";case this.FACEBOOK:return"facebook";case this.VARIOUS:return"email";case this.YAHOO_LEGACY:return"yahoo_legacy";case this.OUTLOOK:return i._("outlook");case this.SLACK:return i._("slack");case this.DOCUSIGN:return"docusign";case this.ZOOM:return"zoom";case this.SLACK_DROPBOX:return"slack_dropbox";case this.TRELLO:return"trello";case this.APPLE:return"apple";default:return r.assert(!1,"Should never get ProfileServicesConstants.logging_identifiers with service: "+e)}},to_api_service_type:function(e){switch(e){case this.GOOGLE:return{".tag":"google"};case this.YAHOO:return{".tag":"yahoo"};case this.FACEBOOK:return{".tag":"facebook"};case this.OUTLOOK:return{".tag":"outlook"};case this.SLACK:return{".tag":"slack"};case this.ZOOM:return{".tag":"zoom"};case this.SLACK_DROPBOX:return{".tag":"slack_dropbox"};case this.TRELLO:return{".tag":"trello"};case this.APPLE:return{".tag":"apple"};default:return r.assert(!1,"Should never get ProfileServicesConstants.to_api_service_type with service: "+e),{".tag":"other"}}},from_api_service_type:function(e){switch(e[".tag"]){case"google":return this.GOOGLE;case"yahoo":return this.YAHOO;case"facebook":return this.FACEBOOK;case"outlook":return this.OUTLOOK;case"slack":return this.SLACK;case"zoom":return this.ZOOM;case"slack_dropbox":return this.SLACK_DROPBOX;case"trello":return this.TRELLO;case"apple":return this.APPLE}return r.assert(!1,"Should never get ProfileServicesConstants.from_api_service_type with service: "+e),this.VARIOUS},from_api_to_name:function(e){return this.to_name(this.from_api_service_type(e))},from_api_to_img:function(e){return this.get_service_data(e).img},oauth_window_dimensions:function(e){var t=600;return e===this.ZOOM?t=770:e===this.APPLE&&(t=700),{width:t,height:600}}};t.default=n})),define("modules/clean/profile_services/profile_services_link",["require","exports","tslib","jquery","modules/core/browser","modules/core/exception","modules/core/i18n","modules/core/uri","modules/clean/ajax","modules/clean/analytics","modules/clean/profile_services/popup_handler","modules/clean/profile_services/profile_services_constants","modules/clean/viewer","modules/constants/login_and_register","modules/clean/react/snackbar","modules/core/browser"],(function(e,t,r,i,n,o,s,a,c,_,l,u,d,p,g,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i=r.__importDefault(i),n=r.__importStar(n),c=r.__importStar(c),u=r.__importDefault(u),p=r.__importStar(p);var f=(function(){function e(e,t){var r=this;void 0===t&&(t=null),this._update_on_auth_event=function(e){if(e.user_id===r.user_id)for(var t in r.is_updated=!1,r.get_or_update_connected_state(!0),r.serviceChangeCallbacks)r.serviceChangeCallbacks.hasOwnProperty(t)&&r.serviceChangeCallbacks[t](r)},o.assert(null!==e,"No user id provided"),this.user_id=e,this.connectedServices={},this.is_updated=!1,this.get_or_update_connected_state(!0,t),this.serviceChangeCallbacks={},l.addAuthCompleteListener(this._update_on_auth_event),i.default(document).on("db:profile_service:deauth_complete",this._update_on_auth_event)}return e.get_linked_profile_services_for_user=function(t,r){void 0===r&&(r=null),o.assert(null!==t,"No user_id: LinkedProfileServices.get_linked_profile_services_for_user()");var i=this._LINKED_PROFILE_SERVICES[t];return void 0!==i?i.get_or_update_connected_state(!1,r):(i=new e(t,r),this._LINKED_PROFILE_SERVICES[t]=i),i},e.prototype.get_or_update_connected_state=function(e,t){var r=this;void 0===e&&(e=!1),void 0===t&&(t=null),this.is_updated&&!e?null!==t&&t(this):c.BackgroundRequest({url:"/profile_services/connected_services",subject_user:this.user_id,dataType:"json",success:function(e,i,n){r.connectedServices=e,r.is_updated=!0,null!==t&&t(r)}})},e.prototype.connected_accounts_for_service=function(e){return this.connectedServices[e]?i.default.map(this.connectedServices[e],(function(e){return e.source_id})):[]},e.prototype.has_connected_services=function(){for(var e=0,t=u.default.services();ei)return t._setScroll(i);var n=i-t._getViewportSize()+t.props.itemSize;return r