UNPKG

@clerk/clerk-js

Version:
1 lines • 12.2 kB
"use strict";(globalThis.webpackChunk_clerk_clerk_js=globalThis.webpackChunk_clerk_clerk_js||[]).push([["270"],{9327:function(e,t,o){o.d(t,{fB:()=>a,gW:()=>m,uj:()=>B});var n=o(9109),r=o(2305),s=o(8774),i=o(7295),c=o(4676),l=o(1673),d=o(1576),u=o(4204),p=o(4174);let a=e=>{let{navigate:t}=(0,c.useRouter)(),{handleManageAccountClicked:o,handleSignOutSessionClicked:s,handleUserProfileActionClicked:i,session:p}=e,{menutItems:a}=(0,d.useUserButtonContext)(),B=e=>({borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100,padding:`${e.space.$4} ${e.space.$5}`}),m=async n=>n?.path?(await t(n.path),e?.completedCallback()):n.id===l.Zb.MANAGE_ACCOUNT?await o():n?.open?i(n.open):(n.onClick?.(),e?.completedCallback());return(0,n.tZ)(r.eX,{role:"menu",elementDescriptor:u.descriptors.userButtonPopoverActions,elementId:u.descriptors.userButtonPopoverActions.setId("singleSession"),sx:e=>({borderTopWidth:e.borderWidths.$normal,borderTopStyle:e.borderStyles.$solid,borderTopColor:e.colors.$borderAlpha100}),children:a?.map(e=>{let t;return t=Object.values(l.Zb).includes(e.id)?{elementDescriptor:u.descriptors.userButtonPopoverActionButton,elementId:u.descriptors.userButtonPopoverActionButton.setId(e.id),iconBoxElementDescriptor:u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverActionButtonIconBox.setId(e.id),iconElementDescriptor:u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionButtonIcon.setId(e.id)}:{elementDescriptor:u.descriptors.userButtonPopoverCustomItemButton,elementId:u.descriptors.userButtonPopoverCustomItemButton.setId(e.id),iconBoxElementDescriptor:u.descriptors.userButtonPopoverCustomItemButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverCustomItemButtonIconBox.setId(e.id),iconElementDescriptor:u.descriptors.userButtonPopoverActionItemButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionItemButtonIcon.setId(e.id)},(0,n.tZ)(r.aU,{...t,icon:e.icon,label:e.name,onClick:e.id===l.Zb.SIGN_OUT?s(p):()=>m(e),sx:B,iconSx:e=>({width:e.sizes.$4,height:e.sizes.$4})},e.id)})})},B=e=>{let{navigate:t}=(0,c.useRouter)(),{handleManageAccountClicked:o,handleSignOutSessionClicked:a,handleSessionClicked:B,handleAddAccountClicked:m,handleUserProfileActionClicked:I,session:A,otherSessions:v}=e,{menutItems:h}=(0,d.useUserButtonContext)(),C=async n=>n?.path?(await t(n.path),e?.completedCallback()):n.id===l.Zb.MANAGE_ACCOUNT?await o():n?.open?I(n.open):(n.onClick?.(),e?.completedCallback()),g=h.every(e=>Object.values(l.Zb).includes(e.id));return(0,n.BX)(n.HY,{children:[g?(0,n.tZ)(r.r5,{role:"menu",elementDescriptor:u.descriptors.userButtonPopoverActions,elementId:u.descriptors.userButtonPopoverActions.setId("multiSession"),children:(0,n.BX)(u.Flex,{justify:"between",sx:e=>({marginLeft:e.space.$12,padding:`0 ${e.space.$5} ${e.space.$4}`,gap:e.space.$2}),children:[(0,n.tZ)(r.U8,{elementDescriptor:u.descriptors.userButtonPopoverActionButton,elementId:u.descriptors.userButtonPopoverActionButton.setId("manageAccount"),iconBoxElementDescriptor:u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverActionButtonIconBox.setId("manageAccount"),iconElementDescriptor:u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionButtonIcon.setId("manageAccount"),icon:p.tc,label:(0,u.localizationKeys)("userButton.action__manageAccount"),onClick:o,focusRing:!0}),(0,n.tZ)(r.U8,{elementDescriptor:u.descriptors.userButtonPopoverActionButton,elementId:u.descriptors.userButtonPopoverActionButton.setId("signOut"),iconBoxElementDescriptor:u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverActionButtonIconBox.setId("signOut"),iconElementDescriptor:u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionButtonIcon.setId("signOut"),icon:p.lv,label:(0,u.localizationKeys)("userButton.action__signOut"),onClick:a(A),focusRing:!0})]})}):(0,n.tZ)(r.r5,{role:"menu",elementDescriptor:u.descriptors.userButtonPopoverActions,elementId:u.descriptors.userButtonPopoverActions.setId("multiSession"),sx:e=>({gap:e.space.$1,paddingBottom:e.space.$2}),children:h?.map(e=>{let t;return t=Object.values(l.Zb).includes(e.id)?{elementDescriptor:u.descriptors.userButtonPopoverActionButton,elementId:u.descriptors.userButtonPopoverActionButton.setId(e.id),iconBoxElementDescriptor:u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverActionButtonIconBox.setId(e.id),iconElementDescriptor:u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionButtonIcon.setId(e.id)}:{elementDescriptor:u.descriptors.userButtonPopoverCustomItemButton,elementId:u.descriptors.userButtonPopoverCustomItemButton.setId(e.id),iconBoxElementDescriptor:u.descriptors.userButtonPopoverCustomItemButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverCustomItemButtonIconBox.setId(e.id),iconElementDescriptor:u.descriptors.userButtonPopoverActionItemButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionItemButtonIcon.setId(e.id)},(0,n.tZ)(r.aU,{...t,icon:e.icon,label:e.name,onClick:e.id===l.Zb.SIGN_OUT?a(A):()=>C(e),sx:e=>({border:0,padding:`${e.space.$2} ${e.space.$5}`,gap:e.space.$3x5}),iconSx:e=>({width:e.sizes.$4,height:e.sizes.$4}),iconBoxSx:e=>({minHeight:e.sizes.$4,minWidth:e.sizes.$4,alignItems:"center"})},e.id)})}),(0,n.BX)(r.eX,{role:"menu",sx:e=>({borderTopStyle:e.borderStyles.$solid,borderTopWidth:e.borderWidths.$normal,borderTopColor:e.colors.$borderAlpha100}),children:[v.map(e=>(0,n.tZ)(s.K,{icon:p.nR,onClick:B(e),role:"menuitem",children:(0,n.tZ)(i.E,{user:e.user})},e.id)),(0,n.tZ)(r.aU,{elementDescriptor:u.descriptors.userButtonPopoverActionButton,elementId:u.descriptors.userButtonPopoverActionButton.setId("addAccount"),iconBoxElementDescriptor:u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:u.descriptors.userButtonPopoverActionButtonIconBox.setId("addAccount"),iconElementDescriptor:u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:u.descriptors.userButtonPopoverActionButtonIcon.setId("addAccount"),icon:p.mm,label:(0,u.localizationKeys)("userButton.action__addAccount"),onClick:m,iconSx:e=>({width:e.sizes.$9,height:e.sizes.$6}),iconBoxSx:e=>({minHeight:e.sizes.$9,minWidth:e.sizes.$6,alignItems:"center"}),spinnerSize:"md"})]})]})},m=e=>{let{handleSignOutAllClicked:t,elementDescriptor:o,elementId:s,iconBoxElementDescriptor:i,iconBoxElementId:c,iconElementDescriptor:l,iconElementId:d,label:a,sx:B,actionSx:m}=e;return(0,n.tZ)(r.eX,{role:"menu",sx:[e=>({padding:e.space.$2}),B],children:(0,n.tZ)(r.aU,{elementDescriptor:o||u.descriptors.userButtonPopoverActionButton,elementId:s||u.descriptors.userButtonPopoverActionButton.setId("signOutAll"),iconBoxElementDescriptor:i||u.descriptors.userButtonPopoverActionButtonIconBox,iconBoxElementId:c||u.descriptors.userButtonPopoverActionButtonIconBox.setId("signOutAll"),iconElementDescriptor:l||u.descriptors.userButtonPopoverActionButtonIcon,iconElementId:d||u.descriptors.userButtonPopoverActionButtonIcon.setId("signOutAll"),icon:p.lv,label:a||(0,u.localizationKeys)("userButton.action__signOutAll"),onClick:t,variant:"ghost",colorScheme:"neutral",sx:[e=>({backgroundColor:e.colors.$transparent,padding:`${e.space.$2} ${e.space.$3}`,borderBottomWidth:0,borderRadius:e.radii.$lg}),m],spinnerSize:"md"})})}},7322:function(e,t,o){o.r(t),o.d(t,{UserButton:()=>b});var n=o(9109),r=o(9144),s=o(2672),i=o(4045),c=o(1576),l=o(4204),d=o(2464),u=o(3799),p=o(1151),a=o(3929),B=o(7295),m=o(9327),I=o(5241);let A=r.forwardRef((e,t)=>{let{close:o,...r}=e,s=()=>o?.(!1),{session:i}=(0,u.kP)(),d=(0,c.useUserButtonContext)(),{__experimental_asStandalone:A}=d,{authConfig:v}=(0,c.useEnvironment)(),{user:h}=(0,u.aF)(),{handleAddAccountClicked:C,handleManageAccountClicked:g,handleSessionClicked:P,handleSignOutAllClicked:x,handleSignOutSessionClicked:b,handleUserProfileActionClicked:$,otherSessions:k}=(0,I.Z)({...d,actionCompleteCallback:s,user:h});return(0,n.tZ)(a.r,{elementDescriptor:l.descriptors.userButtonPopoverRootBox,children:(0,n.BX)(p.f.Root,{elementDescriptor:l.descriptors.userButtonPopoverCard,ref:t,role:"dialog","aria-label":"User button popover",shouldEntryAnimate:!A,...r,children:[(0,n.BX)(p.f.Content,{elementDescriptor:l.descriptors.userButtonPopoverMain,children:[(0,n.tZ)(B.E,{elementId:"userButton",user:h,sx:e=>({width:"100%",padding:`${e.space.$4} ${e.space.$5}`})}),v.singleSessionMode?(0,n.tZ)(m.fB,{handleManageAccountClicked:g,handleSignOutSessionClicked:b,handleUserProfileActionClicked:$,session:i,completedCallback:s}):(0,n.tZ)(m.uj,{session:i,otherSessions:k,handleManageAccountClicked:g,handleSignOutSessionClicked:b,handleSessionClicked:P,handleAddAccountClicked:C,handleUserProfileActionClicked:$,completedCallback:s})]}),(0,n.tZ)(p.f.Footer,{elementDescriptor:l.descriptors.userButtonPopoverFooter,children:!v.singleSessionMode&&k.length>0&&(0,n.tZ)(m.gW,{handleSignOutAllClicked:x})})]})})});var v=o(5472),h=o(7711),C=o(5878);let g=({showName:e})=>{let{user:t}=(0,u.aF)();return t&&e?(0,n.tZ)(l.Text,{variant:"subtitle",as:"span",elementDescriptor:l.descriptors.userButtonOuterIdentifier,sx:[e=>({paddingLeft:e.space.$2})],children:(0,C.Pp)(t)||(0,C.xC)(t)}):null},P=(0,h.C)((0,r.forwardRef)((e,t)=>{let{sx:o,...r}=e,{user:s}=(0,u.aF)(),{showName:i}=(0,c.useUserButtonContext)();return(0,n.tZ)(l.Button,{elementDescriptor:l.descriptors.userButtonTrigger,variant:"roundWrapper",sx:[e=>({borderRadius:i?e.radii.$md:e.radii.$circle,color:e.colors.$colorForeground}),o],ref:t,"aria-label":`${e.isOpen?"Close":"Open"} user button`,"aria-expanded":e.isOpen,"aria-haspopup":"dialog",...r,children:(0,n.BX)(l.Flex,{elementDescriptor:l.descriptors.userButtonBox,isOpen:e.isOpen,align:"center",as:"span",gap:2,children:[(0,n.tZ)(g,{showName:i}),(0,n.tZ)(v.Y,{boxElementDescriptor:l.descriptors.userButtonAvatarBox,imageElementDescriptor:l.descriptors.userButtonAvatarImage,...s,size:e=>e.sizes.$7})]})})})),x=(0,s.withFloatingTree)(({children:e})=>{let{defaultOpen:t}=(0,c.useUserButtonContext)(),{floating:o,reference:s,styles:l,toggle:u,isOpen:p,nodeId:a,context:B}=(0,d.Sv)({defaultOpen:t,placement:"bottom-end",offset:8}),m=(0,r.useId)();return(0,n.BX)(n.HY,{children:[(0,n.tZ)(P,{ref:s,onClick:u,isOpen:p,"aria-controls":p?m:void 0,"aria-expanded":p}),(0,n.tZ)(i.J,{nodeId:a,context:B,isOpen:p,children:(0,r.cloneElement)(e,{id:m,close:u,ref:o,style:l})})]})}),b=(0,c.withCoreUserGuard)((0,s.withCardStateProvider)(()=>{let{__experimental_asStandalone:e}=(0,c.useUserButtonContext)();return(0,n.tZ)(l.Flow.Root,{flow:"userButton",sx:{display:"inline-flex"},children:e?(0,n.tZ)(A,{close:"function"==typeof e?e:void 0}):(0,n.tZ)(x,{children:(0,n.tZ)(A,{})})})}))},5241:function(e,t,o){o.d(t,{Z:()=>d});var n=o(3799),r=o(2672),s=o(7046),i=o(5809),c=o(4264),l=o(4676);let d=e=>{let{setActive:t,signOut:o,openUserProfile:d,__internal_navigateToTaskIfAvailable:u}=(0,n.cL)(),p=(0,r.useCardState)(),{signedInSessions:a,otherSessions:B}=(0,c.j)({user:e.user}),{navigate:m}=(0,l.useRouter)();return{handleSignOutSessionClicked:t=>()=>0===B.length?o(e.navigateAfterSignOut):o(e.navigateAfterMultiSessionSingleSignOut,{sessionId:t.id}).finally(()=>p.setIdle()),handleManageAccountClicked:()=>"navigation"===e.userProfileMode?m(e.userProfileUrl||"").finally(()=>{(async()=>{await (0,s._)(300),e.actionCompleteCallback?.()})()}):(d(e.userProfileProps),e.actionCompleteCallback?.()),handleUserProfileActionClicked:t=>"navigation"===e.userProfileMode?m(e.userProfileUrl||"").finally(()=>{(async()=>{await (0,s._)(300),e.actionCompleteCallback?.()})()}):(d({...e.userProfileProps,...t&&{__experimental_startPath:t}}),e.actionCompleteCallback?.()),handleSignOutAllClicked:()=>o(e.navigateAfterSignOut),handleSessionClicked:o=>async()=>(p.setLoading(),t({session:o,redirectUrl:e.afterSwitchSessionUrl}).then(()=>u()).finally(()=>{p.setIdle(),e.actionCompleteCallback?.()})),handleAddAccountClicked:()=>((0,i.T7)(e.signInUrl||window.location.href),(0,s._)(2e3)),otherSessions:B,signedInSessions:a}}}}]);