Loading
function(e,t,n){n.d(t,{RD:()=>R,U9:()=>I}),n(321073);var l=n(64700),i=n(868714),r=n(975807),a=n(95561),u=n(289919),o=n(123917),c=n(975460),s=n(704824);let d=Symbol();var A=n(942370),p=n(652215);let E="AUTHORIZE_REQUEST",f=[A._M.RPC,A._M.WEB];function R(e){var t,n;let i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{debug:a=!1}=r,u=(0,c.g)(e),o=(t=u,n=r,(i=I(l.useMemo(()=>null!=t?[t]:[],[t]),n)).length>0?i[0]:null),d=o?.preferredFlow,A=null!=d,{token:p,fetched:E}=(0,s.U)(u?.parentId??u?.id,{disableFetch:r.disableFetch});return{fetched:E,hasAlreadyLinked:E&&null!=p,canStartAuthorization:A,startAuthorization:l.useCallback(e=>null==d?null:(d.initiate(e),d.type),[d]),connectionApp:u,chosenFlow:d?.type??null,token:p,debug:a?{isSubscribedToAuthorizeRequest:o?.context?.isSubscribedToAuthorizeRequest??!1,oauth2Token:p,hasConnectionEntrypointUrl:u?.connectionEntrypointUrl!=null,validFlows:o?.availableFlows?.map(e=>e.type)??[]}:void 0}}function h(e){return u.A.listenIsSubscribed(e)}function I(e,t){var n;let c,s,R=(0,i.A)(t?.allowedFlows??f),I=(n=l.useCallback(()=>e.map(e=>({application:e,isSubscribedToAuthorizeRequest:u.A.isSubscribed(e.id,E)})),[e]),c=l.useRef(d),s=l.useRef(n),l.useSyncExternalStore(l.useCallback(e=>h(()=>{c.current=d,e()}),[h]),l.useCallback(()=>(s.current!==n&&(s.current=n,c.current=d),c.current===d&&(c.current=n()),c.current),[n])));return l.useMemo(()=>I.map(e=>{let t=[];if(R.includes(A._M.RPC)&&e.isSubscribedToAuthorizeRequest&&t.push({type:A._M.RPC,initiate(t){u.A.dispatchToSubscriptions(E,t=>t.socket.application.id===e.application.id,{}),t.onConfirm?.(),a.Ay.trackWithMetadata(p.HAw.ON_PLATFORM_ACCOUNT_LINK_FLOW_STARTED,{location_stack:t.analyticsLocations,application_id:e.application.id,flow_type:A._M.RPC})}}),R.includes(A._M.WEB)&&null!=e.application.connectionEntrypointUrl){let n=e.application.connectionEntrypointUrl;t.push({type:A._M.WEB,initiate(t){(0,o.h)({href:n,onConfirm:()=>{(0,r.A)(n),t?.onConfirm?.()}}),a.Ay.trackWithMetadata(p.HAw.ON_PLATFORM_ACCOUNT_LINK_FLOW_STARTED,{location_stack:t.analyticsLocations,application_id:e.application.id,flow_type:A._M.WEB})}})}return{context:e,availableFlows:t,preferredFlow:t.length>0?t[0]:null}}),[I,R])}}