@clerk/ui 1.0.0-snapshot.v20251216175437 → 1.0.0-snapshot.v20251217162523

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/{207_ui_338113_1.0.0-snapshot.v20251216175437.js → 207_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  2. package/dist/{217_ui_338113_1.0.0-snapshot.v20251216175437.js → 217_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  3. package/dist/{360_ui_338113_1.0.0-snapshot.v20251216175437.js → 360_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  4. package/dist/{444_ui_338113_1.0.0-snapshot.v20251216175437.js → 444_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  5. package/dist/{573_ui_338113_1.0.0-snapshot.v20251216175437.js → 573_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  6. package/dist/{970_ui_338113_1.0.0-snapshot.v20251216175437.js → 970_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  7. package/dist/ClerkUi.js +2 -2
  8. package/dist/{apiKeys_ui_338113_1.0.0-snapshot.v20251216175437.js → apiKeys_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  9. package/dist/{checkout_ui_338113_1.0.0-snapshot.v20251216175437.js → checkout_ui_d63654_1.0.0-snapshot.v20251217162523.js} +2 -2
  10. package/dist/components/OrganizationProfile/index.js +4 -3
  11. package/dist/components/OrganizationProfile/index.js.map +1 -1
  12. package/dist/components/SignIn/SignInFactorTwoAlternativeMethods.js +3 -1
  13. package/dist/components/SignIn/SignInFactorTwoAlternativeMethods.js.map +1 -1
  14. package/dist/components/SignIn/index.js +2 -1
  15. package/dist/components/SignIn/index.js.map +1 -1
  16. package/dist/components/SignUp/index.js +2 -1
  17. package/dist/components/SignUp/index.js.map +1 -1
  18. package/dist/components/UserProfile/index.js +3 -2
  19. package/dist/components/UserProfile/index.js.map +1 -1
  20. package/dist/components/UserVerification/UserVerificationFactorTwo.js +1 -1
  21. package/dist/components/UserVerification/UserVerificationFactorTwo.js.map +1 -1
  22. package/dist/components/UserVerification/index.js.map +1 -1
  23. package/dist/{createorganization_ui_338113_1.0.0-snapshot.v20251216175437.js → createorganization_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  24. package/dist/customizables/parseAppearance.d.ts +2 -2
  25. package/dist/customizables/parseAppearance.d.ts.map +1 -1
  26. package/dist/customizables/parseAppearance.js.map +1 -1
  27. package/dist/{enableOrganizationsPrompt_ui_338113_1.0.0-snapshot.v20251216175437.js → enableOrganizationsPrompt_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  28. package/dist/{impersonationfab_ui_338113_1.0.0-snapshot.v20251216175437.js → impersonationfab_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/internal/index.d.ts +2 -1
  31. package/dist/internal/index.d.ts.map +1 -1
  32. package/dist/internal/index.js +1 -1
  33. package/dist/internal/index.js.map +1 -1
  34. package/dist/internal/routing.d.ts +13 -0
  35. package/dist/internal/routing.d.ts.map +1 -0
  36. package/dist/{keylessPrompt_ui_338113_1.0.0-snapshot.v20251216175437.js → keylessPrompt_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  37. package/dist/lazyModules/components.d.ts +4 -3
  38. package/dist/lazyModules/components.d.ts.map +1 -1
  39. package/dist/{oauthConsent_ui_338113_1.0.0-snapshot.v20251216175437.js → oauthConsent_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  40. package/dist/{onetap_ui_338113_1.0.0-snapshot.v20251216175437.js → onetap_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  41. package/dist/{op-api-keys-page_ui_338113_1.0.0-snapshot.v20251216175437.js → op-api-keys-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  42. package/dist/{organizationlist_ui_338113_1.0.0-snapshot.v20251216175437.js → organizationlist_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  43. package/dist/{organizationprofile_ui_338113_1.0.0-snapshot.v20251216175437.js → organizationprofile_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  44. package/dist/{organizationswitcher_ui_338113_1.0.0-snapshot.v20251216175437.js → organizationswitcher_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  45. package/dist/{payment-attempt-page_ui_338113_1.0.0-snapshot.v20251216175437.js → payment-attempt-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  46. package/dist/{planDetails_ui_338113_1.0.0-snapshot.v20251216175437.js → planDetails_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  47. package/dist/{prefetchorganizationlist_ui_338113_1.0.0-snapshot.v20251216175437.js → prefetchorganizationlist_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  48. package/dist/{pricingTable_ui_338113_1.0.0-snapshot.v20251216175437.js → pricingTable_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  49. package/dist/{revoke-api-key-modal_ui_338113_1.0.0-snapshot.v20251216175437.js → revoke-api-key-modal_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  50. package/dist/{sessionTasks_ui_338113_1.0.0-snapshot.v20251216175437.js → sessionTasks_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  51. package/dist/signin_ui_d63654_1.0.0-snapshot.v20251217162523.js +1 -0
  52. package/dist/{signup_ui_338113_1.0.0-snapshot.v20251216175437.js → signup_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  53. package/dist/{statement-page_ui_338113_1.0.0-snapshot.v20251216175437.js → statement-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  54. package/dist/{subscriptionDetails_ui_338113_1.0.0-snapshot.v20251216175437.js → subscriptionDetails_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  55. package/dist/{taskChooseOrganization_ui_338113_1.0.0-snapshot.v20251216175437.js → taskChooseOrganization_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  56. package/dist/{taskResetPassword_ui_338113_1.0.0-snapshot.v20251216175437.js → taskResetPassword_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  57. package/dist/types.d.ts.map +1 -1
  58. package/dist/{ui-common_ui_338113_1.0.0-snapshot.v20251216175437.js → ui-common_ui_d63654_1.0.0-snapshot.v20251217162523.js} +4 -4
  59. package/dist/ui.browser.js +1 -1
  60. package/dist/{up-api-keys-page_ui_338113_1.0.0-snapshot.v20251216175437.js → up-api-keys-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  61. package/dist/{useravatar_ui_338113_1.0.0-snapshot.v20251216175437.js → useravatar_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  62. package/dist/{userbutton_ui_338113_1.0.0-snapshot.v20251216175437.js → userbutton_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  63. package/dist/{userprofile_ui_338113_1.0.0-snapshot.v20251216175437.js → userprofile_ui_d63654_1.0.0-snapshot.v20251217162523.js} +2 -2
  64. package/dist/{userverification_ui_338113_1.0.0-snapshot.v20251216175437.js → userverification_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  65. package/dist/{waitlist_ui_338113_1.0.0-snapshot.v20251216175437.js → waitlist_ui_d63654_1.0.0-snapshot.v20251217162523.js} +1 -1
  66. package/package.json +6 -6
  67. package/dist/signin_ui_338113_1.0.0-snapshot.v20251216175437.js +0 -1
  68. /package/dist/{blankcaptcha_ui_338113_1.0.0-snapshot.v20251216175437.js → blankcaptcha_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  69. /package/dist/{copy-api-key-modal_ui_338113_1.0.0-snapshot.v20251216175437.js → copy-api-key-modal_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  70. /package/dist/{framework_ui_338113_1.0.0-snapshot.v20251216175437.js → framework_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  71. /package/dist/{op-billing-page_ui_338113_1.0.0-snapshot.v20251216175437.js → op-billing-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  72. /package/dist/{op-plans-page_ui_338113_1.0.0-snapshot.v20251216175437.js → op-plans-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  73. /package/dist/{up-billing-page_ui_338113_1.0.0-snapshot.v20251216175437.js → up-billing-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  74. /package/dist/{up-plans-page_ui_338113_1.0.0-snapshot.v20251216175437.js → up-plans-page_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
  75. /package/dist/{vendors_ui_338113_1.0.0-snapshot.v20251216175437.js → vendors_ui_d63654_1.0.0-snapshot.v20251217162523.js} +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["256"],{2677:function(e,t,r){r.r(t),r.d(t,{Checkout:()=>ec});var i=r(4518),o=r(8532),n=r(6256),a=r(4173),l=r(5543),c=r(5074),s=r(2366);let d=(0,c.createContext)(null),u=()=>{let e=(0,c.useContext)(d),t=(0,l.ho)(),r=(0,s.II)();if(!e||"Checkout"!==e.componentName)throw Error("Clerk: useCheckoutContext called outside Checkout.");let i=(0,c.useMemo)(()=>{if(e.portalRoot)return;let i=e.newSubscriptionRedirectUrl||t.buildNewSubscriptionRedirectUrl?.();return(0,a.vU)(r?.allowedRedirectOrigins,window.location.origin)(i)?i:void 0},[e.portalRoot,e.newSubscriptionRedirectUrl,t,r?.allowedRedirectOrigins]),{componentName:o,...n}=e;return{...n,componentName:o,newSubscriptionRedirectUrl:i}};var p=r(4607),h=r(2861),m=r(8272),g=r(9436),y=r(137),f=r(8920),$=r(6580),b=r(4091),Y=r(359),D=r(4964);let x=e=>e[0].toUpperCase()+e.slice(1),w=(e,t,r)=>e+(t-e)*r,k=({positionX:e,positionY:t})=>{let r=(0,c.useRef)(null),[o,n]=(0,c.useState)({x:256,y:256}),a="undefined"==typeof window||window.matchMedia("(hover: hover) and (pointer: fine)").matches;(0,c.useEffect)(()=>{if(!a)return;let i=()=>{n(r=>({x:w(r.x,e,.15),y:w(r.y,t,.15)})),r.current=requestAnimationFrame(i)};return r.current=requestAnimationFrame(i),()=>{r.current&&cancelAnimationFrame(r.current)}},[e,t,a]);let l=(0,c.useId)(),s=(0,c.useId)(),d=(0,c.useId)();return(0,i.FD)(m.az,{elementDescriptor:f.$z.checkoutSuccessRings,as:"svg",viewBox:"0 0 512 512",sx:{position:"absolute",inset:0,pointerEvents:"none"},"aria-hidden":!0,children:[(0,i.FD)("defs",{children:[(0,i.FD)("radialGradient",{id:"clerk-checkout-success-gradient",children:[(0,i.Y)("stop",{offset:"0%",style:{stopColor:"var(--ring-highlight)"}}),(0,i.Y)("stop",{offset:"100%",stopOpacity:"0",style:{stopColor:"var(--ring-highlight)"}})]}),(0,i.Y)("filter",{id:"clerk-checkout-success-blur-effect",children:(0,i.Y)("feGaussianBlur",{stdDeviation:"10"})}),[{r:225,maskStart:10,maskEnd:90,id:l},{r:162.5,maskStart:15,maskEnd:85,id:s},{r:100,maskStart:20,maskEnd:80,id:d}].map(({maskStart:e,maskEnd:t,id:r})=>(0,i.FD)("linearGradient",{id:`gradient-${r}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,i.Y)("stop",{offset:`${e+5}%`,stopColor:"white",stopOpacity:"0"}),(0,i.Y)("stop",{offset:`${e+35}%`,stopColor:"white",stopOpacity:"1"}),(0,i.Y)("stop",{offset:`${t-35}%`,stopColor:"white",stopOpacity:"1"}),(0,i.Y)("stop",{offset:`${t-5}%`,stopColor:"white",stopOpacity:"0"})]},r)),(0,i.Y)("mask",{id:"clerk-checkout-success-mask",children:[{r:225,id:l},{r:162.5,id:s},{r:100,id:d}].map(({r:e,id:t})=>(0,i.Y)("circle",{cx:"256",cy:"256",r:e,stroke:`url(#gradient-${t})`,fill:"none",strokeWidth:"1"},t))})]}),(0,i.FD)("g",{mask:"url(#clerk-checkout-success-mask)",children:[(0,i.Y)("rect",{width:"512",height:"512",style:{fill:"var(--ring-fill)"}}),a&&(0,i.Y)("rect",{id:"movingGradientHighlight",width:"256",height:"256",x:o.x-128,y:o.y-128,fill:"url(#clerk-checkout-success-gradient)",filter:"url(#clerk-checkout-success-blur-effect)"})]})]})},v=()=>{let e=(0,D.r)(),{setIsOpen:t}=(0,o.g)(),{newSubscriptionRedirectUrl:r}=u(),{checkout:n}=(0,l.v$)(),{totals:a,paymentMethod:s,planPeriodStart:d,freeTrialEndsAt:p}=n,[w,v]=(0,c.useState)({x:256,y:256}),F=(0,Y.j)(),{animations:_}=(0,$.K)().parsedOptions,S=!F&&!0===_,z=(0,c.useRef)(null),G="undefined"==typeof window||window.matchMedia("(hover: hover) and (pointer: fine)").matches;return a?(0,i.FD)(i.FK,{children:[(0,i.Y)(o.Drawer.Body,{children:(0,i.FD)(m.L9,{elementDescriptor:f.$z.checkoutSuccessRoot,sx:e=>({"--ring-fill":e.colors.$neutralAlpha200,"--ring-highlight":e.colors.$success500,margin:"auto",position:"relative",aspectRatio:"1/1",display:"grid",width:"100%",flexShrink:0,transformOrigin:"bottom center",animationName:"scaleIn",animationDuration:`${b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards",opacity:0,overflow:"hidden",backgroundColor:e.colors.$colorBackground,"@keyframes scaleIn":{"0%":{filter:"blur(10px)",transform:"scale(0.85)",opacity:0},"100%":{filter:"blur(0px)",transform:"scale(1)",opacity:1}},...!S&&{animation:"none",opacity:1}}),ref:z,onMouseMove:e=>{if(G&&z.current){let t=z.current.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top,o=t.width;o>0?v({x:r/o*512,y:i/o*512}):v({x:256,y:256})}},children:[(0,i.Y)(k,{positionX:w.x,positionY:w.y}),(0,i.FD)(m.az,{elementDescriptor:f.$z.checkoutSuccessBadge,sx:e=>({margin:"auto",gridArea:"1/1",display:"flex",position:"relative",width:e.sizes.$16,height:e.sizes.$16,borderRadius:e.radii.$circle,backgroundImage:"linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(0, 0, 0, 0.12) 50%, rgba(0, 0, 0, 0.30) 95.31%)",boxShadow:"0px 4px 12px 0px rgba(0, 0, 0, 0.35), 0px 1px 0px 0px rgba(255, 255, 255, 0.05) inset",color:G?e.colors.$success500:e.colors.$colorForeground,":before":{content:'""',position:"absolute",inset:e.space.$1,borderRadius:e.radii.$circle,backgroundColor:e.colors.$colorBackground}}),children:[(0,i.Y)("svg",{fill:"none",viewBox:"0 0 10 10","aria-hidden":"true",style:{position:"relative",margin:"auto",width:"1rem",height:"1rem"},children:(0,i.Y)("path",{d:"m1 6 3 3 5-8",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"1",pathLength:"1",style:{strokeDashoffset:"1",animation:S?`check ${b.wz.drawer}ms ${b._8.bezier} forwards ${b.wz.slow}ms`:"none",...!S&&{strokeDashoffset:"0"}}})}),(0,i.Y)("style",{children:`
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["256"],{2677:function(e,t,r){r.r(t),r.d(t,{Checkout:()=>ec});var i=r(4518),o=r(8532),n=r(6256),a=r(4173),l=r(1210),c=r(5074),s=r(2366);let d=(0,c.createContext)(null),u=()=>{let e=(0,c.useContext)(d),t=(0,l.ho)(),r=(0,s.II)();if(!e||"Checkout"!==e.componentName)throw Error("Clerk: useCheckoutContext called outside Checkout.");let i=(0,c.useMemo)(()=>{if(e.portalRoot)return;let i=e.newSubscriptionRedirectUrl||t.buildNewSubscriptionRedirectUrl?.();return(0,a.vU)(r?.allowedRedirectOrigins,window.location.origin)(i)?i:void 0},[e.portalRoot,e.newSubscriptionRedirectUrl,t,r?.allowedRedirectOrigins]),{componentName:o,...n}=e;return{...n,componentName:o,newSubscriptionRedirectUrl:i}};var p=r(4607),h=r(2861),m=r(8272),g=r(9436),y=r(137),f=r(8920),$=r(6580),b=r(4091),Y=r(359),D=r(4964);let x=e=>e[0].toUpperCase()+e.slice(1),w=(e,t,r)=>e+(t-e)*r,k=({positionX:e,positionY:t})=>{let r=(0,c.useRef)(null),[o,n]=(0,c.useState)({x:256,y:256}),a="undefined"==typeof window||window.matchMedia("(hover: hover) and (pointer: fine)").matches;(0,c.useEffect)(()=>{if(!a)return;let i=()=>{n(r=>({x:w(r.x,e,.15),y:w(r.y,t,.15)})),r.current=requestAnimationFrame(i)};return r.current=requestAnimationFrame(i),()=>{r.current&&cancelAnimationFrame(r.current)}},[e,t,a]);let l=(0,c.useId)(),s=(0,c.useId)(),d=(0,c.useId)();return(0,i.FD)(m.az,{elementDescriptor:f.$z.checkoutSuccessRings,as:"svg",viewBox:"0 0 512 512",sx:{position:"absolute",inset:0,pointerEvents:"none"},"aria-hidden":!0,children:[(0,i.FD)("defs",{children:[(0,i.FD)("radialGradient",{id:"clerk-checkout-success-gradient",children:[(0,i.Y)("stop",{offset:"0%",style:{stopColor:"var(--ring-highlight)"}}),(0,i.Y)("stop",{offset:"100%",stopOpacity:"0",style:{stopColor:"var(--ring-highlight)"}})]}),(0,i.Y)("filter",{id:"clerk-checkout-success-blur-effect",children:(0,i.Y)("feGaussianBlur",{stdDeviation:"10"})}),[{r:225,maskStart:10,maskEnd:90,id:l},{r:162.5,maskStart:15,maskEnd:85,id:s},{r:100,maskStart:20,maskEnd:80,id:d}].map(({maskStart:e,maskEnd:t,id:r})=>(0,i.FD)("linearGradient",{id:`gradient-${r}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:[(0,i.Y)("stop",{offset:`${e+5}%`,stopColor:"white",stopOpacity:"0"}),(0,i.Y)("stop",{offset:`${e+35}%`,stopColor:"white",stopOpacity:"1"}),(0,i.Y)("stop",{offset:`${t-35}%`,stopColor:"white",stopOpacity:"1"}),(0,i.Y)("stop",{offset:`${t-5}%`,stopColor:"white",stopOpacity:"0"})]},r)),(0,i.Y)("mask",{id:"clerk-checkout-success-mask",children:[{r:225,id:l},{r:162.5,id:s},{r:100,id:d}].map(({r:e,id:t})=>(0,i.Y)("circle",{cx:"256",cy:"256",r:e,stroke:`url(#gradient-${t})`,fill:"none",strokeWidth:"1"},t))})]}),(0,i.FD)("g",{mask:"url(#clerk-checkout-success-mask)",children:[(0,i.Y)("rect",{width:"512",height:"512",style:{fill:"var(--ring-fill)"}}),a&&(0,i.Y)("rect",{id:"movingGradientHighlight",width:"256",height:"256",x:o.x-128,y:o.y-128,fill:"url(#clerk-checkout-success-gradient)",filter:"url(#clerk-checkout-success-blur-effect)"})]})]})},v=()=>{let e=(0,D.r)(),{setIsOpen:t}=(0,o.g)(),{newSubscriptionRedirectUrl:r}=u(),{checkout:n}=(0,l.v$)(),{totals:a,paymentMethod:s,planPeriodStart:d,freeTrialEndsAt:p}=n,[w,v]=(0,c.useState)({x:256,y:256}),F=(0,Y.j)(),{animations:_}=(0,$.K)().parsedOptions,S=!F&&!0===_,z=(0,c.useRef)(null),G="undefined"==typeof window||window.matchMedia("(hover: hover) and (pointer: fine)").matches;return a?(0,i.FD)(i.FK,{children:[(0,i.Y)(o.Drawer.Body,{children:(0,i.FD)(m.L9,{elementDescriptor:f.$z.checkoutSuccessRoot,sx:e=>({"--ring-fill":e.colors.$neutralAlpha200,"--ring-highlight":e.colors.$success500,margin:"auto",position:"relative",aspectRatio:"1/1",display:"grid",width:"100%",flexShrink:0,transformOrigin:"bottom center",animationName:"scaleIn",animationDuration:`${b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards",opacity:0,overflow:"hidden",backgroundColor:e.colors.$colorBackground,"@keyframes scaleIn":{"0%":{filter:"blur(10px)",transform:"scale(0.85)",opacity:0},"100%":{filter:"blur(0px)",transform:"scale(1)",opacity:1}},...!S&&{animation:"none",opacity:1}}),ref:z,onMouseMove:e=>{if(G&&z.current){let t=z.current.getBoundingClientRect(),r=e.clientX-t.left,i=e.clientY-t.top,o=t.width;o>0?v({x:r/o*512,y:i/o*512}):v({x:256,y:256})}},children:[(0,i.Y)(k,{positionX:w.x,positionY:w.y}),(0,i.FD)(m.az,{elementDescriptor:f.$z.checkoutSuccessBadge,sx:e=>({margin:"auto",gridArea:"1/1",display:"flex",position:"relative",width:e.sizes.$16,height:e.sizes.$16,borderRadius:e.radii.$circle,backgroundImage:"linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(0, 0, 0, 0.12) 50%, rgba(0, 0, 0, 0.30) 95.31%)",boxShadow:"0px 4px 12px 0px rgba(0, 0, 0, 0.35), 0px 1px 0px 0px rgba(255, 255, 255, 0.05) inset",color:G?e.colors.$success500:e.colors.$colorForeground,":before":{content:'""',position:"absolute",inset:e.space.$1,borderRadius:e.radii.$circle,backgroundColor:e.colors.$colorBackground}}),children:[(0,i.Y)("svg",{fill:"none",viewBox:"0 0 10 10","aria-hidden":"true",style:{position:"relative",margin:"auto",width:"1rem",height:"1rem"},children:(0,i.Y)("path",{d:"m1 6 3 3 5-8",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"1",pathLength:"1",style:{strokeDashoffset:"1",animation:S?`check ${b.wz.drawer}ms ${b._8.bezier} forwards ${b.wz.slow}ms`:"none",...!S&&{strokeDashoffset:"0"}}})}),(0,i.Y)("style",{children:`
2
2
  @keyframes check {
3
3
  0% {
4
4
  stroke-dashoffset: 1;
@@ -6,4 +6,4 @@
6
6
  100% {
7
7
  stroke-dashoffset: 0;
8
8
  }
9
- `})]}),(0,i.FD)(m.L9,{sx:e=>({margin:"auto",gridArea:"1/1",position:"relative",textAlign:"center",transform:`translateY(${e.space.$20})`}),children:[(0,i.Y)(m.DZ,{elementDescriptor:f.$z.checkoutSuccessTitle,as:"h2",textVariant:"h2",localizationKey:p?(0,h.G)("billing.checkout.title__trialSuccess"):a.totalDueNow.amount>0?(0,h.G)("billing.checkout.title__paymentSuccessful"):(0,h.G)("billing.checkout.title__subscriptionSuccessful"),sx:e=>({opacity:0,animationName:"slideUp",animationDuration:`${b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards",color:e.colors.$colorForeground,"@keyframes slideUp":{"0%":{transform:"translateY(30px)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{opacity:1,animation:"none"}})}),(0,i.Y)(m.EY,{elementDescriptor:f.$z.checkoutSuccessDescription,colorScheme:"secondary",sx:e=>({textAlign:"center",paddingInline:e.space.$8,marginBlockStart:e.space.$2,opacity:0,animationName:"slideUp",animationDuration:`${1.5*b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards","@keyframes slideUp":{"0%":{transform:"translateY(30px)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{opacity:1,animation:"none"}}),localizationKey:a.totalDueNow.amount>0?(0,h.G)("billing.checkout.description__paymentSuccessful"):(0,h.G)("billing.checkout.description__subscriptionSuccessful")})]})]})}),(0,i.FD)(o.Drawer.Footer,{sx:e=>({rowGap:e.space.$4,animationName:"footerSlideInUp",animationDuration:`${b.wz.drawer}ms`,animationTimingFunction:b._8.bezier,"@keyframes footerSlideInUp":{"0%":{transform:"translateY(100%)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{animation:"none"}}),children:[(0,i.FD)(g.p.Root,{children:[(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.lineItems.title__totalPaid")}),(0,i.Y)(g.p.Description,{text:`${a.totalDueNow.currencySymbol}${a.totalDueNow.amountFormatted}`})]}),p?(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.lineItems.title__freeTrialEndsAt")}),(0,i.Y)(g.p.Description,{text:(0,y.Y)(p)})]}):null,(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:a.totalDueNow.amount>0||null!==p?(0,h.G)("billing.checkout.lineItems.title__paymentMethod"):(0,h.G)("billing.checkout.lineItems.title__subscriptionBegins")}),(0,i.Y)(g.p.Description,{text:a.totalDueNow.amount>0||null!==p?s?"card"!==s.paymentType?s.paymentType?`${x(s.paymentType)}`:"–":s.cardType?`${x(s.cardType)} ⋯ ${s.last4}`:"–":"–":d?(0,y.Y)(new Date(d)):"–"})]})]}),(0,i.Y)(m.$n,{onClick:()=>{r&&e.navigate(r),t&&t(!1)},localizationKey:(0,h.G)("formButtonPrimary")})]})]}):null};var F=r(6088),_=r(3269),S=r(6839),z=r(1586),G=r(6455),T=r(4468),M=r(625),R=r(7288),C=r(9068),B=r(8023),A=r(3450),I=r(3369),E=r(3679);let P=e=>e[0].toUpperCase()+e.slice(1),N="payment_method_id",L=(0,_.dm)(()=>{let{checkout:e}=(0,l.v$)(),{plan:t,totals:r,isImmediatePlanChange:n,planPeriod:a,freeTrialEndsAt:c}=e;if(!t)return null;let s=!!r.credit?.amount&&r.credit.amount>0,d=!!r.pastDue?.amount&&r.pastDue.amount>0,u="month"===a?t.fee:t.annualMonthlyFee;return(0,i.FD)(o.Drawer.Body,{children:[(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({padding:e.space.$4,borderBottomWidth:e.borderWidths.$normal,borderBottomStyle:e.borderStyles.$solid,borderBottomColor:e.colors.$borderAlpha100}),children:(0,i.FD)(g.p.Root,{children:[(0,i.FD)(g.p.Group,{children:[(0,i.Y)(g.p.Title,{title:t.name,description:"annual"===a?(0,h.G)("billing.billedAnnually"):void 0,badge:t.freeTrialEnabled&&c?(0,i.Y)(E.V,{subscription:{status:"free_trial"}}):null}),(0,i.Y)(g.p.Description,{prefix:"annual"===a?"x12":void 0,text:`${u.currencySymbol}${u.amountFormatted}`,suffix:(0,h.G)("billing.checkout.perMonth")})]}),(0,i.FD)(g.p.Group,{borderTop:!0,variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.subtotal")}),(0,i.Y)(g.p.Description,{text:`${r.subtotal.currencySymbol}${r.subtotal.amountFormatted}`})]}),s&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.creditRemainder")}),(0,i.Y)(g.p.Description,{text:`- ${r.credit?.currencySymbol}${r.credit?.amountFormatted}`})]}),d&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.FD)(G.m_.Root,{children:[(0,i.Y)(G.m_.Trigger,{children:(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.pastDue"),icon:C.A})}),(0,i.Y)(G.m_.Content,{text:(0,h.G)("billing.checkout.pastDueNotice")})]}),(0,i.Y)(g.p.Description,{text:`${r.pastDue?.currencySymbol}${r.pastDue?.amountFormatted}`})]}),!!c&&!!t.freeTrialDays&&r.totalDueAfterFreeTrial&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.totalDueAfterTrial",{days:t.freeTrialDays})}),(0,i.Y)(g.p.Description,{text:`${r.totalDueAfterFreeTrial.currencySymbol}${r.totalDueAfterFreeTrial.amountFormatted}`})]}),(0,i.FD)(g.p.Group,{borderTop:!0,children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.totalDueToday")}),(0,i.Y)(g.p.Description,{text:`${r.totalDueNow.currencySymbol}${r.totalDueNow.amountFormatted}`})]})]})}),!n&&(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({paddingBlockStart:e.space.$4,paddingInline:e.space.$4}),children:(0,i.Y)(m.EY,{localizationKey:(0,h.G)("billing.checkout.downgradeNotice"),variant:"caption",colorScheme:"secondary"})}),(0,i.Y)(K,{})]})}),W=()=>{let{onSubscriptionComplete:e}=u(),{checkout:t}=(0,l.v$)(),r=(0,_.f0)();if("needs_confirmation"!==t.status)throw Error("Checkout not found");let i=async i=>{r.setLoading(),r.setError(void 0);let{error:o}=await t.confirm(i);o?(0,T.H4)(o,[],r.setError):e?.(),r.setIdle()};return{payWithExistingPaymentMethod:e=>(e.preventDefault(),i({paymentMethodId:new FormData(e.currentTarget).get(N)})),addPaymentMethodAndPay:e=>i(e),payWithTestCard:()=>i({gateway:"stripe",useTestCard:!0}),payWithoutPaymentMethod:e=>(e.preventDefault(),i({}))}},K=()=>{let{checkout:e}=(0,l.v$)(),{plan:t}=e,{isLoading:r}=(0,R.mu)();return t?r?(0,i.Y)(m.y$,{sx:{margin:"auto"}}):(0,i.Y)(U,{}):null},U=()=>{let{checkout:e}=(0,l.v$)(),{plan:t,isImmediatePlanChange:r,needsPaymentMethod:o}=e,{data:n}=(0,R.mu)(),[a,s]=(0,c.useState)(()=>n.length>0?"existing":"new");return t?(0,i.FD)(m.fv,{elementDescriptor:f.$z.checkoutFormElementsRoot,gap:4,sx:e=>({padding:e.space.$4}),children:[(0,i.Y)(i.FK,{children:n.length>0&&r&&o&&(0,i.FD)(S.I.Root,{"aria-label":"Payment method source",value:a,onChange:e=>s(e),size:"lg",fullWidth:!0,children:[(0,i.Y)(S.I.Button,{value:"existing",text:(0,h.G)("billing.paymentMethods__label")}),(0,i.Y)(S.I.Button,{value:"new",text:(0,h.G)("billing.addPaymentMethod__label")})]})}),o?"existing"===a?(0,i.Y)(Z,{paymentMethods:n}):"new"===a&&(0,i.Y)(j,{}):(0,i.Y)(V,{})]}):null},J=()=>{let{isLoading:e}=(0,_.f0)(),{payWithTestCard:t}=W();return(0,i.FD)(m.az,{sx:e=>({background:e.colors.$neutralAlpha50,padding:e.space.$2x5,borderRadius:e.radii.$md,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",flexDirection:"column",rowGap:e.space.$2,position:"relative"}),children:[(0,i.Y)(m.az,{sx:e=>({position:"absolute",inset:0,background:`repeating-linear-gradient(-45deg,${e.colors.$warningAlpha100},${e.colors.$warningAlpha100} 6px,${e.colors.$warningAlpha150} 6px,${e.colors.$warningAlpha150} 12px)`,maskImage:"linear-gradient(transparent 20%, black)",pointerEvents:"none"})}),(0,i.FD)(m.so,{sx:e=>({alignItems:"center",justifyContent:"center",flexDirection:"column",rowGap:e.space.$2}),children:[(0,i.Y)(m.EY,{sx:e=>({color:e.colors.$warning500,fontWeight:e.fontWeights.$semibold}),localizationKey:(0,h.G)("billing.paymentMethod.dev.developmentMode")}),(0,i.Y)(m.$n,{type:"button",block:!0,variant:"bordered",localizationKey:(0,h.G)("userProfile.billingPage.paymentMethodsSection.payWithTestCardButton"),colorScheme:"secondary",isLoading:e,onClick:t})]})]})},O=()=>{let{checkout:e}=(0,l.v$)(),{status:t,freeTrialEndsAt:r,totals:i}=e;if("needs_initialization"===t)throw Error("Clerk: Invalid state");return r?(0,h.G)("billing.startFreeTrial"):i.totalDueNow.amount>0?(0,h.G)("billing.pay",{amount:`${i.totalDueNow.currencySymbol}${i.totalDueNow.amountFormatted}`}):(0,h.G)("billing.subscribe")},V=(0,_.dm)(()=>{let{for:e}=u(),{payWithoutPaymentMethod:t}=W(),r=(0,_.f0)();return(0,i.FD)(m.lV,{onSubmit:t,sx:X,children:[(0,i.Y)(F.Z.Alert,{children:r.error}),(0,i.Y)(H,{})]})}),j=(0,_.dm)(()=>{let{addPaymentMethodAndPay:e}=W(),t=O(),{checkout:r}=(0,l.v$)();return(0,i.FD)(A.bL,{onSuccess:e,checkout:r,children:[(0,i.Y)(M.W,{children:(0,i.Y)(J,{})}),(0,i.Y)(A.pr,{text:t})]})}),H=e=>{let t=(0,_.f0)(),r=O();return(0,i.Y)(m.$n,{type:"submit",colorScheme:"primary",size:"sm",textVariant:"buttonLarge",sx:{width:"100%"},isLoading:t.isLoading,localizationKey:r,...e})},X=e=>({display:"flex",flexDirection:"column",rowGap:e.space.$4}),Z=(0,_.dm)(({paymentMethods:e})=>{let{checkout:t}=(0,l.v$)(),{paymentMethod:r,isImmediatePlanChange:o,needsPaymentMethod:n}=t,{payWithExistingPaymentMethod:a}=W(),s=(0,_.f0)(),[d,u]=(0,c.useState)(r||e.find(e=>e.isDefault)),p=(0,c.useMemo)(()=>e.map(e=>{let t="card"!==e.paymentType?e.paymentType?`${P(e.paymentType)}`:"–":e.cardType?`${P(e.cardType)} ⋯ ${e.last4}`:"–";return{value:e.id,label:t}}),[e]);return(0,i.FD)(m.lV,{onSubmit:a,sx:X,children:[o&&n?(0,i.FD)(z.l6,{elementId:"paymentMethod",options:p,value:d?.id||null,onChange:t=>{u(e.find(e=>e.id===t.value))},portal:!0,children:[(0,i.Y)("input",{name:N,type:"hidden",value:d?.id}),(0,i.Y)(z.JC,{icon:B.A,sx:e=>({justifyContent:"space-between",backgroundColor:e.colors.$colorBackground}),children:d&&(0,i.Y)(I.O,{paymentMethod:d})}),(0,i.Y)(z.UL,{sx:e=>({paddingBlock:e.space.$1,color:e.colors.$colorForeground})})]}):(0,i.Y)("input",{name:N,type:"hidden",value:d?.id}),(0,i.Y)(F.Z.Alert,{children:s.error}),(0,i.Y)(H,{})]})}),q=()=>{let{checkout:e}=(0,l.v$)();return(0,c.useEffect)(()=>{e.start()},[]),null},Q=({children:e})=>{let{planId:t,planPeriod:r,for:o}=u();return(0,i.FD)(l.Rx,{for:o,planId:t,planPeriod:r,children:[(0,i.Y)(q,{}),e]})},ee=({children:e,name:t})=>{let{checkout:r}=(0,l.v$)();return r.status!==t?null:e},et=({children:e,status:t})=>{let{errors:r,fetchStatus:i}=(0,l.v$)();return(0,c.useMemo)(()=>{if(r.global){let e=r.global.flatMap(e=>{if(e.isClerkApiResponseError())return e.errors.map(e=>e.code)});return e.includes("missing_payer_email")?"missing_payer_email":e.includes("invalid_plan_change")?"invalid_plan_change":"generic_error"}return i},[i])!==t?null:e};var er=r(8036),ei=r(78),eo=r(2336);let en=()=>{let{errors:e}=(0,l.v$)(),{translateError:t}=(0,ei._)(),{t:r}=(0,ei._)();return(0,i.Y)(o.Drawer.Body,{children:(0,i.Y)(m.so,{align:"center",justify:"center",sx:e=>({height:"100%",padding:e.space.$4,fontSize:e.fontSizes.$md}),children:(0,i.Y)(er.F,{variant:"danger",colorScheme:"danger",children:e.global?t(e.global[0]):r((0,h.G)("unstable__errors.form_param_value_invalid"))})})})},ea=()=>{let{planPeriod:e}=u(),{errors:t}=(0,l.v$)(),r=t?.global?.filter(e=>e.isClerkApiResponseError()).flatMap(e=>e.errors).find(e=>"invalid_plan_change"===e.code);if(!r)return null;let{plan:n,isPlanUpgradePossible:a}=r?.meta||{};return(0,i.Y)(o.Drawer.Body,{children:(0,i.FD)(m.so,{gap:4,direction:"col",children:[(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({padding:e.space.$4,borderBottomWidth:e.borderWidths.$normal,borderBottomStyle:e.borderStyles.$solid,borderBottomColor:e.colors.$borderAlpha100}),children:(0,i.Y)(g.p.Root,{children:(0,i.FD)(g.p.Group,{children:[(0,i.Y)(g.p.Title,{title:n.name,description:"annual"===e?(0,h.G)("billing.billedAnnually"):void 0}),(0,i.Y)(g.p.Description,{prefix:"annual"===e?"x12":void 0,text:`${n.currency_symbol}${"month"===e?n.amount_formatted:n.annual_monthly_amount_formatted}`,suffix:(0,h.G)("billing.checkout.perMonth")})]})})}),(0,i.Y)(m.az,{sx:e=>({padding:e.space.$4}),children:(0,i.Y)(er.F,{variant:"info",colorScheme:"info",title:a?(0,h.G)("billing.cannotSubscribeMonthly"):(0,h.G)("billing.cannotSubscribeUnrecoverable")})})]})})},el=()=>{let{checkout:e}=(0,l.v$)(),{setIsOpen:t}=(0,o.g)();return(0,i.Y)(o.Drawer.Body,{children:(0,i.Y)(m.az,{sx:e=>({padding:e.space.$4}),children:(0,i.Y)(eo.v,{title:(0,h.G)("billing.checkout.emailForm.title"),subtitle:(0,h.G)("billing.checkout.emailForm.subtitle"),onSuccess:()=>void e.start(),onReset:()=>t(!1),disableAutoFocus:!0})})})},ec=e=>(0,i.Y)(p.n.Root,{flow:"checkout",children:(0,i.Y)(p.n.Part,{children:(0,i.Y)(n.m$.Provider,{value:e.for||"user",children:(0,i.Y)(d.Provider,{value:{componentName:"Checkout",...e},children:(0,i.FD)(o.Drawer.Content,{children:[(0,i.Y)(o.Drawer.Header,{title:(0,h.G)("billing.checkout.title")}),(0,i.FD)(Q,{children:[(0,i.FD)(ee,{name:"needs_initialization",children:[(0,i.Y)(et,{status:"fetching",children:(0,i.Y)(m.y$,{sx:{margin:"auto"}})}),(0,i.Y)(et,{status:"invalid_plan_change",children:(0,i.Y)(ea,{})}),(0,i.Y)(et,{status:"missing_payer_email",children:(0,i.Y)(el,{})}),(0,i.Y)(et,{status:"generic_error",children:(0,i.Y)(en,{})})]}),(0,i.Y)(ee,{name:"completed",children:(0,i.Y)(v,{})}),(0,i.Y)(ee,{name:"needs_confirmation",children:(0,i.Y)(L,{})})]})]})})})})})},3450:function(e,t,r){r.d(t,{pr:()=>M,L6:()=>T,Mo:()=>G,bL:()=>S});var i=r(4518),o=r(5543),n=r(5074),a=r(6088),l=r(3269),c=r(2454),s=r(1475),d=r(3549),u=r(8930),p=r(4468),h=r(6256),m=r(6580),g=r(78),y=r(2861),f=r(8272),$=r(8920);let b=e=>(0,i.Y)(f.az,{sx:[e=>({height:e.space.$2,width:"100%",borderRadius:e.radii.$md,background:e.colors.$neutralAlpha100}),e.sx]}),Y=()=>(0,i.Y)(b,{sx:e=>({height:e.space.$10,width:"100%"})}),D=e=>(0,i.Y)(f.so,{direction:"col",gap:2,children:e.children}),x=()=>(0,i.Y)(f.az,{"aria-label":"Loading...",sx:{position:"relative",minHeight:0,flex:1,overflowY:"auto"},children:(0,i.FD)(f.so,{direction:"col",gap:5,children:[(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$24})}),(0,i.Y)(Y,{})]}),(0,i.FD)(f.xA,{columns:2,gap:4,children:[(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$20})}),(0,i.Y)(Y,{})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$24})}),(0,i.Y)(Y,{})]})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$16})}),(0,i.Y)(Y,{})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{}),(0,i.Y)(b,{}),(0,i.Y)(b,{sx:{width:"66.666667%"}})]})]})}),[w,k]=(0,o.e3)("AddPaymentMethodRoot"),v=({children:e,checkout:t,...r})=>{var a;let l,c=(0,h.XX)(),s=(0,n.useRef)(null),{t:d}=(0,g._)(),[p,f]=(0,n.useState)(void 0),[$,b]=(0,n.useState)(void 0),[Y,D]=(0,n.useState)(void 0),x=(a=s.current,l=(0,m.K)().parsedInternalTheme,(0,n.useMemo)(()=>{if(!a)return;let{colors:e,fontWeights:t,fontSizes:r,radii:i,space:o}=l;return{colorPrimary:(0,u.G3)(a,e.$primary500,e.$colorBackground),colorBackground:(0,u.G3)(a,e.$colorInput,e.$colorBackground),colorText:(0,u.G3)(a,e.$colorForeground,e.$colorBackground),colorTextSecondary:(0,u.G3)(a,e.$colorMutedForeground,e.$colorBackground),colorSuccess:(0,u.G3)(a,e.$success500,e.$colorBackground),colorDanger:(0,u.G3)(a,e.$danger500,e.$colorBackground),colorWarning:(0,u.G3)(a,e.$warning500,e.$colorBackground),fontWeightNormal:(0,u.yJ)(a,"font-weight",t.$normal.toString()),fontWeightMedium:(0,u.yJ)(a,"font-weight",t.$medium.toString()),fontWeightBold:(0,u.yJ)(a,"font-weight",t.$bold.toString()),fontSizeXl:(0,u.yJ)(a,"font-size",r.$xl),fontSizeLg:(0,u.yJ)(a,"font-size",r.$lg),fontSizeSm:(0,u.yJ)(a,"font-size",r.$md),fontSizeXs:(0,u.yJ)(a,"font-size",r.$sm),borderRadius:(0,u.yJ)(a,"border-radius",i.$lg),spacingUnit:(0,u.yJ)(a,"padding",o.$1)}},[l,a]));return(0,i.FD)(w.Provider,{value:{value:{headerTitle:p,headerSubtitle:$,submitLabel:Y,setHeaderTitle:f,setHeaderSubtitle:b,setSubmitLabel:D,checkout:t,...r}},children:[(0,i.Y)("div",{ref:s,style:{display:"none"}}),(0,i.Y)(o.Tn,{checkout:t,for:c,stripeAppearance:x,paymentDescription:d((0,y.G)(t?.planPeriod==="month"?"billing.paymentMethod.applePayDescription.monthly":"billing.paymentMethod.applePayDescription.annual")),children:e})]})},F=e=>{let{isProviderReady:t}=(0,o.Jl)();return t?null:e.children},_=e=>{let{isProviderReady:t}=(0,o.Jl)();return t?(0,i.Y)(i.FK,{children:e.children}):null},S=e=>{let{children:t,...r}=e;return(0,i.FD)(v,{...r,children:[(0,i.Y)(F,{children:(0,i.Y)(f.so,{direction:"row",align:"center",justify:"center",sx:e=>({width:"100%",minHeight:e.sizes.$60}),children:(0,i.Y)(f.y$,{size:"lg",colorScheme:"primary",elementDescriptor:$.$z.spinner})})}),(0,i.Y)(_,{children:(0,i.Y)(R,{children:t})})]})},z=(e,t)=>{(0,n.useRef)(()=>{t(e)}),(0,n.useEffect)(()=>{t(e)},[e,t])},G=({text:e})=>{let{setHeaderTitle:t}=k();return z(e,t),null},T=({text:e})=>{let{setHeaderSubtitle:t}=k();return z(e,t),null},M=({text:e})=>{let{setSubmitLabel:t}=k();return z(e,t),null},R=({children:e})=>{let{headerTitle:t,headerSubtitle:r,submitLabel:n,checkout:u,onSuccess:m,cancelAction:g}=k(),f=(0,l.f0)(),$=(0,h.N7)(),{isFormReady:b,submit:Y,reset:D}=(0,o.Jl)(),w=async e=>{e.preventDefault(),f.setLoading(),f.setError(void 0);let{data:t,error:r}=await Y();if(!r)try{await m(t)}catch(e){(0,p.H4)(e,[],f.setError)}finally{f.setIdle(),D()}};return(0,i.Y)(d.M,{headerTitle:t,headerSubtitle:r,children:(0,i.FD)(c.l.Root,{onSubmit:w,sx:e=>({display:"flex",flexDirection:"column",rowGap:e.space.$3}),children:[e,(0,i.Y)(o.cl,{fallback:(0,i.Y)(x,{})}),(0,i.Y)(a.Z.Alert,{children:f.error}),(0,i.Y)(s.G,{isDisabled:!b,submitLabel:n??(0,y.G)(`${$}.billingPage.paymentMethodsSection.formButtonPrimary__add`),onReset:g,hideReset:!g,sx:{flex:u?1:void 0}})]})})}},3369:function(e,t,r){r.d(t,{O:()=>s});var i=r(4518),o=r(8272),n=r(8920),a=r(2861),l=r(4967),c=r(5203);let s=({paymentMethod:e})=>(0,i.FD)(o.so,{sx:{overflow:"hidden"},gap:2,align:"baseline",elementDescriptor:n.$z.paymentMethodRow,children:[(0,i.Y)(o.In,{icon:"card"===e.paymentType?l.A:c.A,sx:e=>({alignSelf:"center",color:e.colors.$colorMutedForeground}),elementDescriptor:n.$z.paymentMethodRowIcon}),(0,i.Y)(o.EY,{sx:e=>({color:e.colors.$colorForeground,textTransform:"capitalize"}),truncate:!0,elementDescriptor:n.$z.paymentMethodRowType,children:"card"===e.paymentType?e.cardType:e.paymentType}),(0,i.Y)(o.EY,{sx:e=>({color:e.colors.$colorMutedForeground}),variant:"caption",truncate:!0,elementDescriptor:n.$z.paymentMethodRowValue,children:"card"===e.paymentType?`⋯ ${e.last4}`:null}),e.isDefault&&(0,i.Y)(o.Ex,{elementDescriptor:n.$z.paymentMethodRowBadge,elementId:n.$z.paymentMethodRowBadge.setId("default"),localizationKey:(0,a.G)("badge__default")}),"expired"===e.status&&(0,i.Y)(o.Ex,{elementDescriptor:n.$z.paymentMethodRowBadge,elementId:n.$z.paymentMethodRowBadge.setId("expired"),colorScheme:"danger",localizationKey:(0,a.G)("badge__expired")})]})},3679:function(e,t,r){r.d(t,{V:()=>c});var i=r(4518),o=r(8272),n=r(2861);let a={active:"badge__activePlan",upcoming:"badge__upcomingPlan",past_due:"badge__pastDuePlan",free_trial:"badge__freeTrial"},l={active:"secondary",upcoming:"primary",past_due:"warning",free_trial:"secondary"},c=({subscription:e,elementDescriptor:t})=>(0,i.Y)(o.Ex,{elementDescriptor:t,colorScheme:l[e.status],localizationKey:(0,n.G)(a[e.status])})}}]);
9
+ `})]}),(0,i.FD)(m.L9,{sx:e=>({margin:"auto",gridArea:"1/1",position:"relative",textAlign:"center",transform:`translateY(${e.space.$20})`}),children:[(0,i.Y)(m.DZ,{elementDescriptor:f.$z.checkoutSuccessTitle,as:"h2",textVariant:"h2",localizationKey:p?(0,h.G)("billing.checkout.title__trialSuccess"):a.totalDueNow.amount>0?(0,h.G)("billing.checkout.title__paymentSuccessful"):(0,h.G)("billing.checkout.title__subscriptionSuccessful"),sx:e=>({opacity:0,animationName:"slideUp",animationDuration:`${b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards",color:e.colors.$colorForeground,"@keyframes slideUp":{"0%":{transform:"translateY(30px)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{opacity:1,animation:"none"}})}),(0,i.Y)(m.EY,{elementDescriptor:f.$z.checkoutSuccessDescription,colorScheme:"secondary",sx:e=>({textAlign:"center",paddingInline:e.space.$8,marginBlockStart:e.space.$2,opacity:0,animationName:"slideUp",animationDuration:`${1.5*b.wz.slowest}ms`,animationTimingFunction:b._8.bezier,animationFillMode:"forwards","@keyframes slideUp":{"0%":{transform:"translateY(30px)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{opacity:1,animation:"none"}}),localizationKey:a.totalDueNow.amount>0?(0,h.G)("billing.checkout.description__paymentSuccessful"):(0,h.G)("billing.checkout.description__subscriptionSuccessful")})]})]})}),(0,i.FD)(o.Drawer.Footer,{sx:e=>({rowGap:e.space.$4,animationName:"footerSlideInUp",animationDuration:`${b.wz.drawer}ms`,animationTimingFunction:b._8.bezier,"@keyframes footerSlideInUp":{"0%":{transform:"translateY(100%)",opacity:0},"100%":{transform:"translateY(0)",opacity:1}},...!S&&{animation:"none"}}),children:[(0,i.FD)(g.p.Root,{children:[(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.lineItems.title__totalPaid")}),(0,i.Y)(g.p.Description,{text:`${a.totalDueNow.currencySymbol}${a.totalDueNow.amountFormatted}`})]}),p?(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.lineItems.title__freeTrialEndsAt")}),(0,i.Y)(g.p.Description,{text:(0,y.Y)(p)})]}):null,(0,i.FD)(g.p.Group,{variant:"secondary",children:[(0,i.Y)(g.p.Title,{title:a.totalDueNow.amount>0||null!==p?(0,h.G)("billing.checkout.lineItems.title__paymentMethod"):(0,h.G)("billing.checkout.lineItems.title__subscriptionBegins")}),(0,i.Y)(g.p.Description,{text:a.totalDueNow.amount>0||null!==p?s?"card"!==s.paymentType?s.paymentType?`${x(s.paymentType)}`:"–":s.cardType?`${x(s.cardType)} ⋯ ${s.last4}`:"–":"–":d?(0,y.Y)(new Date(d)):"–"})]})]}),(0,i.Y)(m.$n,{onClick:()=>{r&&e.navigate(r),t&&t(!1)},localizationKey:(0,h.G)("formButtonPrimary")})]})]}):null};var F=r(6088),_=r(3269),S=r(6839),z=r(1586),G=r(6455),T=r(4468),M=r(625),R=r(7288),C=r(9068),B=r(8023),A=r(3450),I=r(3369),E=r(3679);let P=e=>e[0].toUpperCase()+e.slice(1),N="payment_method_id",L=(0,_.dm)(()=>{let{checkout:e}=(0,l.v$)(),{plan:t,totals:r,isImmediatePlanChange:n,planPeriod:a,freeTrialEndsAt:c}=e;if(!t)return null;let s=!!r.credit?.amount&&r.credit.amount>0,d=!!r.pastDue?.amount&&r.pastDue.amount>0,u="month"===a?t.fee:t.annualMonthlyFee;return(0,i.FD)(o.Drawer.Body,{children:[(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({padding:e.space.$4,borderBottomWidth:e.borderWidths.$normal,borderBottomStyle:e.borderStyles.$solid,borderBottomColor:e.colors.$borderAlpha100}),children:(0,i.FD)(g.p.Root,{children:[(0,i.FD)(g.p.Group,{children:[(0,i.Y)(g.p.Title,{title:t.name,description:"annual"===a?(0,h.G)("billing.billedAnnually"):void 0,badge:t.freeTrialEnabled&&c?(0,i.Y)(E.V,{subscription:{status:"free_trial"}}):null}),(0,i.Y)(g.p.Description,{prefix:"annual"===a?"x12":void 0,text:`${u.currencySymbol}${u.amountFormatted}`,suffix:(0,h.G)("billing.checkout.perMonth")})]}),(0,i.FD)(g.p.Group,{borderTop:!0,variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.subtotal")}),(0,i.Y)(g.p.Description,{text:`${r.subtotal.currencySymbol}${r.subtotal.amountFormatted}`})]}),s&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.creditRemainder")}),(0,i.Y)(g.p.Description,{text:`- ${r.credit?.currencySymbol}${r.credit?.amountFormatted}`})]}),d&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.FD)(G.m_.Root,{children:[(0,i.Y)(G.m_.Trigger,{children:(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.pastDue"),icon:C.A})}),(0,i.Y)(G.m_.Content,{text:(0,h.G)("billing.checkout.pastDueNotice")})]}),(0,i.Y)(g.p.Description,{text:`${r.pastDue?.currencySymbol}${r.pastDue?.amountFormatted}`})]}),!!c&&!!t.freeTrialDays&&r.totalDueAfterFreeTrial&&(0,i.FD)(g.p.Group,{variant:"tertiary",children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.checkout.totalDueAfterTrial",{days:t.freeTrialDays})}),(0,i.Y)(g.p.Description,{text:`${r.totalDueAfterFreeTrial.currencySymbol}${r.totalDueAfterFreeTrial.amountFormatted}`})]}),(0,i.FD)(g.p.Group,{borderTop:!0,children:[(0,i.Y)(g.p.Title,{title:(0,h.G)("billing.totalDueToday")}),(0,i.Y)(g.p.Description,{text:`${r.totalDueNow.currencySymbol}${r.totalDueNow.amountFormatted}`})]})]})}),!n&&(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({paddingBlockStart:e.space.$4,paddingInline:e.space.$4}),children:(0,i.Y)(m.EY,{localizationKey:(0,h.G)("billing.checkout.downgradeNotice"),variant:"caption",colorScheme:"secondary"})}),(0,i.Y)(K,{})]})}),W=()=>{let{onSubscriptionComplete:e}=u(),{checkout:t}=(0,l.v$)(),r=(0,_.f0)();if("needs_confirmation"!==t.status)throw Error("Checkout not found");let i=async i=>{r.setLoading(),r.setError(void 0);let{error:o}=await t.confirm(i);o?(0,T.H4)(o,[],r.setError):e?.(),r.setIdle()};return{payWithExistingPaymentMethod:e=>(e.preventDefault(),i({paymentMethodId:new FormData(e.currentTarget).get(N)})),addPaymentMethodAndPay:e=>i(e),payWithTestCard:()=>i({gateway:"stripe",useTestCard:!0}),payWithoutPaymentMethod:e=>(e.preventDefault(),i({}))}},K=()=>{let{checkout:e}=(0,l.v$)(),{plan:t}=e,{isLoading:r}=(0,R.mu)();return t?r?(0,i.Y)(m.y$,{sx:{margin:"auto"}}):(0,i.Y)(U,{}):null},U=()=>{let{checkout:e}=(0,l.v$)(),{plan:t,isImmediatePlanChange:r,needsPaymentMethod:o}=e,{data:n}=(0,R.mu)(),[a,s]=(0,c.useState)(()=>n.length>0?"existing":"new");return t?(0,i.FD)(m.fv,{elementDescriptor:f.$z.checkoutFormElementsRoot,gap:4,sx:e=>({padding:e.space.$4}),children:[(0,i.Y)(i.FK,{children:n.length>0&&r&&o&&(0,i.FD)(S.I.Root,{"aria-label":"Payment method source",value:a,onChange:e=>s(e),size:"lg",fullWidth:!0,children:[(0,i.Y)(S.I.Button,{value:"existing",text:(0,h.G)("billing.paymentMethods__label")}),(0,i.Y)(S.I.Button,{value:"new",text:(0,h.G)("billing.addPaymentMethod__label")})]})}),o?"existing"===a?(0,i.Y)(Z,{paymentMethods:n}):"new"===a&&(0,i.Y)(j,{}):(0,i.Y)(V,{})]}):null},J=()=>{let{isLoading:e}=(0,_.f0)(),{payWithTestCard:t}=W();return(0,i.FD)(m.az,{sx:e=>({background:e.colors.$neutralAlpha50,padding:e.space.$2x5,borderRadius:e.radii.$md,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$solid,borderColor:e.colors.$borderAlpha100,display:"flex",flexDirection:"column",rowGap:e.space.$2,position:"relative"}),children:[(0,i.Y)(m.az,{sx:e=>({position:"absolute",inset:0,background:`repeating-linear-gradient(-45deg,${e.colors.$warningAlpha100},${e.colors.$warningAlpha100} 6px,${e.colors.$warningAlpha150} 6px,${e.colors.$warningAlpha150} 12px)`,maskImage:"linear-gradient(transparent 20%, black)",pointerEvents:"none"})}),(0,i.FD)(m.so,{sx:e=>({alignItems:"center",justifyContent:"center",flexDirection:"column",rowGap:e.space.$2}),children:[(0,i.Y)(m.EY,{sx:e=>({color:e.colors.$warning500,fontWeight:e.fontWeights.$semibold}),localizationKey:(0,h.G)("billing.paymentMethod.dev.developmentMode")}),(0,i.Y)(m.$n,{type:"button",block:!0,variant:"bordered",localizationKey:(0,h.G)("userProfile.billingPage.paymentMethodsSection.payWithTestCardButton"),colorScheme:"secondary",isLoading:e,onClick:t})]})]})},O=()=>{let{checkout:e}=(0,l.v$)(),{status:t,freeTrialEndsAt:r,totals:i}=e;if("needs_initialization"===t)throw Error("Clerk: Invalid state");return r?(0,h.G)("billing.startFreeTrial"):i.totalDueNow.amount>0?(0,h.G)("billing.pay",{amount:`${i.totalDueNow.currencySymbol}${i.totalDueNow.amountFormatted}`}):(0,h.G)("billing.subscribe")},V=(0,_.dm)(()=>{let{for:e}=u(),{payWithoutPaymentMethod:t}=W(),r=(0,_.f0)();return(0,i.FD)(m.lV,{onSubmit:t,sx:X,children:[(0,i.Y)(F.Z.Alert,{children:r.error}),(0,i.Y)(H,{})]})}),j=(0,_.dm)(()=>{let{addPaymentMethodAndPay:e}=W(),t=O(),{checkout:r}=(0,l.v$)();return(0,i.FD)(A.bL,{onSuccess:e,checkout:r,children:[(0,i.Y)(M.W,{children:(0,i.Y)(J,{})}),(0,i.Y)(A.pr,{text:t})]})}),H=e=>{let t=(0,_.f0)(),r=O();return(0,i.Y)(m.$n,{type:"submit",colorScheme:"primary",size:"sm",textVariant:"buttonLarge",sx:{width:"100%"},isLoading:t.isLoading,localizationKey:r,...e})},X=e=>({display:"flex",flexDirection:"column",rowGap:e.space.$4}),Z=(0,_.dm)(({paymentMethods:e})=>{let{checkout:t}=(0,l.v$)(),{paymentMethod:r,isImmediatePlanChange:o,needsPaymentMethod:n}=t,{payWithExistingPaymentMethod:a}=W(),s=(0,_.f0)(),[d,u]=(0,c.useState)(r||e.find(e=>e.isDefault)),p=(0,c.useMemo)(()=>e.map(e=>{let t="card"!==e.paymentType?e.paymentType?`${P(e.paymentType)}`:"–":e.cardType?`${P(e.cardType)} ⋯ ${e.last4}`:"–";return{value:e.id,label:t}}),[e]);return(0,i.FD)(m.lV,{onSubmit:a,sx:X,children:[o&&n?(0,i.FD)(z.l6,{elementId:"paymentMethod",options:p,value:d?.id||null,onChange:t=>{u(e.find(e=>e.id===t.value))},portal:!0,children:[(0,i.Y)("input",{name:N,type:"hidden",value:d?.id}),(0,i.Y)(z.JC,{icon:B.A,sx:e=>({justifyContent:"space-between",backgroundColor:e.colors.$colorBackground}),children:d&&(0,i.Y)(I.O,{paymentMethod:d})}),(0,i.Y)(z.UL,{sx:e=>({paddingBlock:e.space.$1,color:e.colors.$colorForeground})})]}):(0,i.Y)("input",{name:N,type:"hidden",value:d?.id}),(0,i.Y)(F.Z.Alert,{children:s.error}),(0,i.Y)(H,{})]})}),q=()=>{let{checkout:e}=(0,l.v$)();return(0,c.useEffect)(()=>{e.start()},[]),null},Q=({children:e})=>{let{planId:t,planPeriod:r,for:o}=u();return(0,i.FD)(l.Rx,{for:o,planId:t,planPeriod:r,children:[(0,i.Y)(q,{}),e]})},ee=({children:e,name:t})=>{let{checkout:r}=(0,l.v$)();return r.status!==t?null:e},et=({children:e,status:t})=>{let{errors:r,fetchStatus:i}=(0,l.v$)();return(0,c.useMemo)(()=>{if(r.global){let e=r.global.flatMap(e=>{if(e.isClerkApiResponseError())return e.errors.map(e=>e.code)});return e.includes("missing_payer_email")?"missing_payer_email":e.includes("invalid_plan_change")?"invalid_plan_change":"generic_error"}return i},[i])!==t?null:e};var er=r(8036),ei=r(78),eo=r(2336);let en=()=>{let{errors:e}=(0,l.v$)(),{translateError:t}=(0,ei._)(),{t:r}=(0,ei._)();return(0,i.Y)(o.Drawer.Body,{children:(0,i.Y)(m.so,{align:"center",justify:"center",sx:e=>({height:"100%",padding:e.space.$4,fontSize:e.fontSizes.$md}),children:(0,i.Y)(er.F,{variant:"danger",colorScheme:"danger",children:e.global?t(e.global[0]):r((0,h.G)("unstable__errors.form_param_value_invalid"))})})})},ea=()=>{let{planPeriod:e}=u(),{errors:t}=(0,l.v$)(),r=t?.global?.filter(e=>e.isClerkApiResponseError()).flatMap(e=>e.errors).find(e=>"invalid_plan_change"===e.code);if(!r)return null;let{plan:n,isPlanUpgradePossible:a}=r?.meta||{};return(0,i.Y)(o.Drawer.Body,{children:(0,i.FD)(m.so,{gap:4,direction:"col",children:[(0,i.Y)(m.az,{elementDescriptor:f.$z.checkoutFormLineItemsRoot,sx:e=>({padding:e.space.$4,borderBottomWidth:e.borderWidths.$normal,borderBottomStyle:e.borderStyles.$solid,borderBottomColor:e.colors.$borderAlpha100}),children:(0,i.Y)(g.p.Root,{children:(0,i.FD)(g.p.Group,{children:[(0,i.Y)(g.p.Title,{title:n.name,description:"annual"===e?(0,h.G)("billing.billedAnnually"):void 0}),(0,i.Y)(g.p.Description,{prefix:"annual"===e?"x12":void 0,text:`${n.currency_symbol}${"month"===e?n.amount_formatted:n.annual_monthly_amount_formatted}`,suffix:(0,h.G)("billing.checkout.perMonth")})]})})}),(0,i.Y)(m.az,{sx:e=>({padding:e.space.$4}),children:(0,i.Y)(er.F,{variant:"info",colorScheme:"info",title:a?(0,h.G)("billing.cannotSubscribeMonthly"):(0,h.G)("billing.cannotSubscribeUnrecoverable")})})]})})},el=()=>{let{checkout:e}=(0,l.v$)(),{setIsOpen:t}=(0,o.g)();return(0,i.Y)(o.Drawer.Body,{children:(0,i.Y)(m.az,{sx:e=>({padding:e.space.$4}),children:(0,i.Y)(eo.v,{title:(0,h.G)("billing.checkout.emailForm.title"),subtitle:(0,h.G)("billing.checkout.emailForm.subtitle"),onSuccess:()=>void e.start(),onReset:()=>t(!1),disableAutoFocus:!0})})})},ec=e=>(0,i.Y)(p.n.Root,{flow:"checkout",children:(0,i.Y)(p.n.Part,{children:(0,i.Y)(n.m$.Provider,{value:e.for||"user",children:(0,i.Y)(d.Provider,{value:{componentName:"Checkout",...e},children:(0,i.FD)(o.Drawer.Content,{children:[(0,i.Y)(o.Drawer.Header,{title:(0,h.G)("billing.checkout.title")}),(0,i.FD)(Q,{children:[(0,i.FD)(ee,{name:"needs_initialization",children:[(0,i.Y)(et,{status:"fetching",children:(0,i.Y)(m.y$,{sx:{margin:"auto"}})}),(0,i.Y)(et,{status:"invalid_plan_change",children:(0,i.Y)(ea,{})}),(0,i.Y)(et,{status:"missing_payer_email",children:(0,i.Y)(el,{})}),(0,i.Y)(et,{status:"generic_error",children:(0,i.Y)(en,{})})]}),(0,i.Y)(ee,{name:"completed",children:(0,i.Y)(v,{})}),(0,i.Y)(ee,{name:"needs_confirmation",children:(0,i.Y)(L,{})})]})]})})})})})},3450:function(e,t,r){r.d(t,{pr:()=>M,L6:()=>T,Mo:()=>G,bL:()=>S});var i=r(4518),o=r(1210),n=r(5074),a=r(6088),l=r(3269),c=r(2454),s=r(1475),d=r(3549),u=r(8930),p=r(4468),h=r(6256),m=r(6580),g=r(78),y=r(2861),f=r(8272),$=r(8920);let b=e=>(0,i.Y)(f.az,{sx:[e=>({height:e.space.$2,width:"100%",borderRadius:e.radii.$md,background:e.colors.$neutralAlpha100}),e.sx]}),Y=()=>(0,i.Y)(b,{sx:e=>({height:e.space.$10,width:"100%"})}),D=e=>(0,i.Y)(f.so,{direction:"col",gap:2,children:e.children}),x=()=>(0,i.Y)(f.az,{"aria-label":"Loading...",sx:{position:"relative",minHeight:0,flex:1,overflowY:"auto"},children:(0,i.FD)(f.so,{direction:"col",gap:5,children:[(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$24})}),(0,i.Y)(Y,{})]}),(0,i.FD)(f.xA,{columns:2,gap:4,children:[(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$20})}),(0,i.Y)(Y,{})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$24})}),(0,i.Y)(Y,{})]})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{sx:e=>({height:e.space.$3,width:e.sizes.$16})}),(0,i.Y)(Y,{})]}),(0,i.FD)(D,{children:[(0,i.Y)(b,{}),(0,i.Y)(b,{}),(0,i.Y)(b,{sx:{width:"66.666667%"}})]})]})}),[w,k]=(0,o.e3)("AddPaymentMethodRoot"),v=({children:e,checkout:t,...r})=>{var a;let l,c=(0,h.XX)(),s=(0,n.useRef)(null),{t:d}=(0,g._)(),[p,f]=(0,n.useState)(void 0),[$,b]=(0,n.useState)(void 0),[Y,D]=(0,n.useState)(void 0),x=(a=s.current,l=(0,m.K)().parsedInternalTheme,(0,n.useMemo)(()=>{if(!a)return;let{colors:e,fontWeights:t,fontSizes:r,radii:i,space:o}=l;return{colorPrimary:(0,u.G3)(a,e.$primary500,e.$colorBackground),colorBackground:(0,u.G3)(a,e.$colorInput,e.$colorBackground),colorText:(0,u.G3)(a,e.$colorForeground,e.$colorBackground),colorTextSecondary:(0,u.G3)(a,e.$colorMutedForeground,e.$colorBackground),colorSuccess:(0,u.G3)(a,e.$success500,e.$colorBackground),colorDanger:(0,u.G3)(a,e.$danger500,e.$colorBackground),colorWarning:(0,u.G3)(a,e.$warning500,e.$colorBackground),fontWeightNormal:(0,u.yJ)(a,"font-weight",t.$normal.toString()),fontWeightMedium:(0,u.yJ)(a,"font-weight",t.$medium.toString()),fontWeightBold:(0,u.yJ)(a,"font-weight",t.$bold.toString()),fontSizeXl:(0,u.yJ)(a,"font-size",r.$xl),fontSizeLg:(0,u.yJ)(a,"font-size",r.$lg),fontSizeSm:(0,u.yJ)(a,"font-size",r.$md),fontSizeXs:(0,u.yJ)(a,"font-size",r.$sm),borderRadius:(0,u.yJ)(a,"border-radius",i.$lg),spacingUnit:(0,u.yJ)(a,"padding",o.$1)}},[l,a]));return(0,i.FD)(w.Provider,{value:{value:{headerTitle:p,headerSubtitle:$,submitLabel:Y,setHeaderTitle:f,setHeaderSubtitle:b,setSubmitLabel:D,checkout:t,...r}},children:[(0,i.Y)("div",{ref:s,style:{display:"none"}}),(0,i.Y)(o.Tn,{checkout:t,for:c,stripeAppearance:x,paymentDescription:d((0,y.G)(t?.planPeriod==="month"?"billing.paymentMethod.applePayDescription.monthly":"billing.paymentMethod.applePayDescription.annual")),children:e})]})},F=e=>{let{isProviderReady:t}=(0,o.Jl)();return t?null:e.children},_=e=>{let{isProviderReady:t}=(0,o.Jl)();return t?(0,i.Y)(i.FK,{children:e.children}):null},S=e=>{let{children:t,...r}=e;return(0,i.FD)(v,{...r,children:[(0,i.Y)(F,{children:(0,i.Y)(f.so,{direction:"row",align:"center",justify:"center",sx:e=>({width:"100%",minHeight:e.sizes.$60}),children:(0,i.Y)(f.y$,{size:"lg",colorScheme:"primary",elementDescriptor:$.$z.spinner})})}),(0,i.Y)(_,{children:(0,i.Y)(R,{children:t})})]})},z=(e,t)=>{(0,n.useRef)(()=>{t(e)}),(0,n.useEffect)(()=>{t(e)},[e,t])},G=({text:e})=>{let{setHeaderTitle:t}=k();return z(e,t),null},T=({text:e})=>{let{setHeaderSubtitle:t}=k();return z(e,t),null},M=({text:e})=>{let{setSubmitLabel:t}=k();return z(e,t),null},R=({children:e})=>{let{headerTitle:t,headerSubtitle:r,submitLabel:n,checkout:u,onSuccess:m,cancelAction:g}=k(),f=(0,l.f0)(),$=(0,h.N7)(),{isFormReady:b,submit:Y,reset:D}=(0,o.Jl)(),w=async e=>{e.preventDefault(),f.setLoading(),f.setError(void 0);let{data:t,error:r}=await Y();if(!r)try{await m(t)}catch(e){(0,p.H4)(e,[],f.setError)}finally{f.setIdle(),D()}};return(0,i.Y)(d.M,{headerTitle:t,headerSubtitle:r,children:(0,i.FD)(c.l.Root,{onSubmit:w,sx:e=>({display:"flex",flexDirection:"column",rowGap:e.space.$3}),children:[e,(0,i.Y)(o.cl,{fallback:(0,i.Y)(x,{})}),(0,i.Y)(a.Z.Alert,{children:f.error}),(0,i.Y)(s.G,{isDisabled:!b,submitLabel:n??(0,y.G)(`${$}.billingPage.paymentMethodsSection.formButtonPrimary__add`),onReset:g,hideReset:!g,sx:{flex:u?1:void 0}})]})})}},3369:function(e,t,r){r.d(t,{O:()=>s});var i=r(4518),o=r(8272),n=r(8920),a=r(2861),l=r(4967),c=r(5203);let s=({paymentMethod:e})=>(0,i.FD)(o.so,{sx:{overflow:"hidden"},gap:2,align:"baseline",elementDescriptor:n.$z.paymentMethodRow,children:[(0,i.Y)(o.In,{icon:"card"===e.paymentType?l.A:c.A,sx:e=>({alignSelf:"center",color:e.colors.$colorMutedForeground}),elementDescriptor:n.$z.paymentMethodRowIcon}),(0,i.Y)(o.EY,{sx:e=>({color:e.colors.$colorForeground,textTransform:"capitalize"}),truncate:!0,elementDescriptor:n.$z.paymentMethodRowType,children:"card"===e.paymentType?e.cardType:e.paymentType}),(0,i.Y)(o.EY,{sx:e=>({color:e.colors.$colorMutedForeground}),variant:"caption",truncate:!0,elementDescriptor:n.$z.paymentMethodRowValue,children:"card"===e.paymentType?`⋯ ${e.last4}`:null}),e.isDefault&&(0,i.Y)(o.Ex,{elementDescriptor:n.$z.paymentMethodRowBadge,elementId:n.$z.paymentMethodRowBadge.setId("default"),localizationKey:(0,a.G)("badge__default")}),"expired"===e.status&&(0,i.Y)(o.Ex,{elementDescriptor:n.$z.paymentMethodRowBadge,elementId:n.$z.paymentMethodRowBadge.setId("expired"),colorScheme:"danger",localizationKey:(0,a.G)("badge__expired")})]})},3679:function(e,t,r){r.d(t,{V:()=>c});var i=r(4518),o=r(8272),n=r(2861);let a={active:"badge__activePlan",upcoming:"badge__upcomingPlan",past_due:"badge__pastDuePlan",free_trial:"badge__freeTrial"},l={active:"secondary",upcoming:"primary",past_due:"warning",free_trial:"secondary"},c=({subscription:e,elementDescriptor:t})=>(0,i.Y)(o.Ex,{elementDescriptor:t,colorScheme:l[e.status],localizationKey:(0,n.G)(a[e.status])})}}]);
@@ -16,7 +16,7 @@ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
16
16
  import { useOrganization } from "@clerk/shared/react";
17
17
 
18
18
  //#region src/components/OrganizationProfile/index.tsx
19
- const _OrganizationProfile = (_) => {
19
+ const OrganizationProfileInternal = () => {
20
20
  const { organization } = useOrganization();
21
21
  if (!organization) return null;
22
22
  return /* @__PURE__ */ jsx(Flow.Root, {
@@ -46,7 +46,8 @@ const AuthenticatedRoutes = withCoreUserGuard(() => {
46
46
  })
47
47
  });
48
48
  });
49
- const OrganizationProfile = withCardStateProvider(_OrganizationProfile);
49
+ const OrganizationProfile = withCardStateProvider(OrganizationProfileInternal);
50
+ const InternalOrganizationProfile = withCardStateProvider(OrganizationProfileInternal);
50
51
  const OrganizationProfileModal = (props) => {
51
52
  const organizationProfileProps = {
52
53
  ...props,
@@ -58,7 +59,7 @@ const OrganizationProfileModal = (props) => {
58
59
  path: "organizationProfile",
59
60
  children: /* @__PURE__ */ jsx(OrganizationProfileContext.Provider, {
60
61
  value: organizationProfileProps,
61
- children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(OrganizationProfile, { ...organizationProfileProps }) })
62
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(InternalOrganizationProfile, { ...organizationProfileProps }) })
62
63
  })
63
64
  });
64
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["organizationProfileProps: OrganizationProfileCtx"],"sources":["../../../src/components/OrganizationProfile/index.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\nimport type { OrganizationProfileModalProps, OrganizationProfileProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { NavbarMenuButtonRow } from '@/ui/elements/Navbar';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\n\nimport { ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID } from '../../constants';\nimport { OrganizationProfileContext, SubscriberTypeContext, withCoreUserGuard } from '../../contexts';\nimport { Flow, localizationKeys } from '../../customizables';\nimport { Route, Switch } from '../../router';\nimport type { OrganizationProfileCtx } from '../../types';\nimport { OrganizationProfileNavbar } from './OrganizationProfileNavbar';\nimport { OrganizationProfileRoutes } from './OrganizationProfileRoutes';\n\nconst _OrganizationProfile = (_: OrganizationProfileProps) => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <Flow.Root flow='organizationProfile'>\n <Flow.Part>\n <Switch>\n <Route>\n <SubscriberTypeContext.Provider value='organization'>\n <AuthenticatedRoutes />\n </SubscriberTypeContext.Provider>\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nconst AuthenticatedRoutes = withCoreUserGuard(() => {\n const contentRef = React.useRef<HTMLDivElement>(null);\n return (\n <ProfileCard.Root\n sx={t => ({ display: 'grid', gridTemplateColumns: '1fr 3fr', height: t.sizes.$176, overflow: 'hidden' })}\n >\n <OrganizationProfileNavbar contentRef={contentRef}>\n <NavbarMenuButtonRow navbarTitleLocalizationKey={localizationKeys('organizationProfile.navbar.title')} />\n <ProfileCard.Content\n contentRef={contentRef}\n scrollBoxId={ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID}\n >\n <OrganizationProfileRoutes />\n </ProfileCard.Content>\n </OrganizationProfileNavbar>\n </ProfileCard.Root>\n );\n});\n\nexport const OrganizationProfile = withCardStateProvider(_OrganizationProfile);\n\nexport const OrganizationProfileModal = (props: OrganizationProfileModalProps): JSX.Element => {\n const organizationProfileProps: OrganizationProfileCtx = {\n ...props,\n routing: 'virtual',\n componentName: 'OrganizationProfile',\n mode: 'modal',\n };\n\n return (\n <Route path='organizationProfile'>\n <OrganizationProfileContext.Provider value={organizationProfileProps}>\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <OrganizationProfile {...organizationProfileProps} />\n </div>\n </OrganizationProfileContext.Provider>\n </Route>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgBA,MAAM,wBAAwB,MAAgC;CAC5D,MAAM,EAAE,iBAAiB,iBAAiB;AAE1C,KAAI,CAAC,aACH,QAAO;AAGT,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,oBAAC,KAAK,kBACJ,oBAAC,oBACC,oBAAC,mBACC,oBAAC,sBAAsB;GAAS,OAAM;aACpC,oBAAC,wBAAsB;IACQ,GAC3B,GACD,GACC;GACF;;AAIhB,MAAM,sBAAsB,wBAAwB;CAClD,MAAM,aAAa,MAAM,OAAuB,KAAK;AACrD,QACE,oBAAC,YAAY;EACX,KAAI,OAAM;GAAE,SAAS;GAAQ,qBAAqB;GAAW,QAAQ,EAAE,MAAM;GAAM,UAAU;GAAU;YAEvG,qBAAC;GAAsC;cACrC,oBAAC,uBAAoB,4BAA4B,iBAAiB,mCAAmC,GAAI,EACzG,oBAAC,YAAY;IACC;IACZ,aAAa;cAEb,oBAAC,8BAA4B;KACT;IACI;GACX;EAErB;AAEF,MAAa,sBAAsB,sBAAsB,qBAAqB;AAE9E,MAAa,4BAA4B,UAAsD;CAC7F,MAAMA,2BAAmD;EACvD,GAAG;EACH,SAAS;EACT,eAAe;EACf,MAAM;EACP;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,2BAA2B;GAAS,OAAO;aAE1C,oBAAC,mBACC,oBAAC,uBAAoB,GAAI,2BAA4B,GACjD;IAC8B;GAChC"}
1
+ {"version":3,"file":"index.js","names":["OrganizationProfile: React.ComponentType<OrganizationProfileProps>","InternalOrganizationProfile: React.ComponentType<WithInternalRouting<OrganizationProfileProps>>","organizationProfileProps: OrganizationProfileCtx"],"sources":["../../../src/components/OrganizationProfile/index.tsx"],"sourcesContent":["import { useOrganization } from '@clerk/shared/react';\nimport type { OrganizationProfileModalProps, OrganizationProfileProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID } from '@/constants';\nimport { OrganizationProfileContext, SubscriberTypeContext, withCoreUserGuard } from '@/contexts';\nimport { Flow, localizationKeys } from '@/customizables';\nimport { withCardStateProvider } from '@/elements/contexts';\nimport { NavbarMenuButtonRow } from '@/elements/Navbar';\nimport { ProfileCard } from '@/elements/ProfileCard';\nimport type { WithInternalRouting } from '@/internal';\nimport { Route, Switch } from '@/router';\nimport type { OrganizationProfileCtx } from '@/types';\n\nimport { OrganizationProfileNavbar } from './OrganizationProfileNavbar';\nimport { OrganizationProfileRoutes } from './OrganizationProfileRoutes';\n\nconst OrganizationProfileInternal = () => {\n const { organization } = useOrganization();\n\n if (!organization) {\n return null;\n }\n\n return (\n <Flow.Root flow='organizationProfile'>\n <Flow.Part>\n <Switch>\n <Route>\n <SubscriberTypeContext.Provider value='organization'>\n <AuthenticatedRoutes />\n </SubscriberTypeContext.Provider>\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nconst AuthenticatedRoutes = withCoreUserGuard(() => {\n const contentRef = React.useRef<HTMLDivElement>(null);\n return (\n <ProfileCard.Root\n sx={t => ({ display: 'grid', gridTemplateColumns: '1fr 3fr', height: t.sizes.$176, overflow: 'hidden' })}\n >\n <OrganizationProfileNavbar contentRef={contentRef}>\n <NavbarMenuButtonRow navbarTitleLocalizationKey={localizationKeys('organizationProfile.navbar.title')} />\n <ProfileCard.Content\n contentRef={contentRef}\n scrollBoxId={ORGANIZATION_PROFILE_CARD_SCROLLBOX_ID}\n >\n <OrganizationProfileRoutes />\n </ProfileCard.Content>\n </OrganizationProfileNavbar>\n </ProfileCard.Root>\n );\n});\n\nexport const OrganizationProfile: React.ComponentType<OrganizationProfileProps> =\n withCardStateProvider(OrganizationProfileInternal);\n\nconst InternalOrganizationProfile: React.ComponentType<WithInternalRouting<OrganizationProfileProps>> =\n withCardStateProvider(OrganizationProfileInternal);\n\nexport const OrganizationProfileModal = (props: OrganizationProfileModalProps): JSX.Element => {\n const organizationProfileProps: OrganizationProfileCtx = {\n ...props,\n routing: 'virtual',\n componentName: 'OrganizationProfile',\n mode: 'modal',\n };\n\n return (\n <Route path='organizationProfile'>\n <OrganizationProfileContext.Provider value={organizationProfileProps}>\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <InternalOrganizationProfile {...organizationProfileProps} />\n </div>\n </OrganizationProfileContext.Provider>\n </Route>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAM,oCAAoC;CACxC,MAAM,EAAE,iBAAiB,iBAAiB;AAE1C,KAAI,CAAC,aACH,QAAO;AAGT,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,oBAAC,KAAK,kBACJ,oBAAC,oBACC,oBAAC,mBACC,oBAAC,sBAAsB;GAAS,OAAM;aACpC,oBAAC,wBAAsB;IACQ,GAC3B,GACD,GACC;GACF;;AAIhB,MAAM,sBAAsB,wBAAwB;CAClD,MAAM,aAAa,MAAM,OAAuB,KAAK;AACrD,QACE,oBAAC,YAAY;EACX,KAAI,OAAM;GAAE,SAAS;GAAQ,qBAAqB;GAAW,QAAQ,EAAE,MAAM;GAAM,UAAU;GAAU;YAEvG,qBAAC;GAAsC;cACrC,oBAAC,uBAAoB,4BAA4B,iBAAiB,mCAAmC,GAAI,EACzG,oBAAC,YAAY;IACC;IACZ,aAAa;cAEb,oBAAC,8BAA4B;KACT;IACI;GACX;EAErB;AAEF,MAAaA,sBACX,sBAAsB,4BAA4B;AAEpD,MAAMC,8BACJ,sBAAsB,4BAA4B;AAEpD,MAAa,4BAA4B,UAAsD;CAC7F,MAAMC,2BAAmD;EACvD,GAAG;EACH,SAAS;EACT,eAAe;EACf,MAAM;EACP;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,2BAA2B;GAAS,OAAO;aAE1C,oBAAC,mBACC,oBAAC,+BAA4B,GAAI,2BAA4B,GACzD;IAC8B;GAChC"}
@@ -73,7 +73,9 @@ function getButtonLabel(factor) {
73
73
  case "backup_code": return localizationKeys("signIn.alternativeMethods.blockButton__backupCode");
74
74
  case "email_code": return localizationKeys("signIn.alternativeMethods.blockButton__emailCode", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
75
75
  case "email_link": return localizationKeys("signIn.alternativeMethods.blockButton__emailLink", { identifier: formatSafeIdentifier(factor.safeIdentifier) || "" });
76
- default: throw new Error(`Invalid sign in strategy: "${factor.strategy}"`);
76
+ default:
77
+ ((_) => _)(factor);
78
+ throw new Error("Invalid sign in strategy");
77
79
  }
78
80
  }
79
81
 
@@ -1 +1 @@
1
- {"version":3,"file":"SignInFactorTwoAlternativeMethods.js","names":[],"sources":["../../../src/components/SignIn/SignInFactorTwoAlternativeMethods.tsx"],"sourcesContent":["import type { SignInFactor } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { ArrowBlockButton } from '@/ui/elements/ArrowBlockButton';\nimport { Card } from '@/ui/elements/Card';\nimport { Header } from '@/ui/elements/Header';\nimport { backupCodePrefFactorComparator } from '@/ui/utils/factorSorting';\nimport { formatSafeIdentifier } from '@/ui/utils/formatSafeIdentifier';\n\nimport { useCoreSignIn } from '../../contexts';\nimport type { LocalizationKey } from '../../customizables';\nimport { Col, descriptors, Flow, localizationKeys } from '../../customizables';\nimport { useCardState } from '../../elements/contexts';\nimport { HavingTrouble } from './HavingTrouble';\n\nexport type AlternativeMethodsProps = {\n onBackLinkClick: React.MouseEventHandler | undefined;\n onFactorSelected: (factor: SignInFactor) => void;\n};\n\nexport const SignInFactorTwoAlternativeMethods = (props: AlternativeMethodsProps) => {\n const [showHavingTrouble, setShowHavingTrouble] = React.useState(false);\n const toggleHavingTrouble = React.useCallback(() => setShowHavingTrouble(s => !s), [setShowHavingTrouble]);\n\n if (showHavingTrouble) {\n return <HavingTrouble onBackLinkClick={toggleHavingTrouble} />;\n }\n\n return (\n <AlternativeMethodsList\n onBackLinkClick={props.onBackLinkClick}\n onFactorSelected={props.onFactorSelected}\n onHavingTroubleClick={toggleHavingTrouble}\n />\n );\n};\n\nconst AlternativeMethodsList = (props: AlternativeMethodsProps & { onHavingTroubleClick: React.MouseEventHandler }) => {\n const { onHavingTroubleClick, onFactorSelected, onBackLinkClick } = props;\n const card = useCardState();\n const { supportedSecondFactors } = useCoreSignIn();\n\n return (\n <Flow.Part part='alternativeMethods'>\n <Card.Root>\n <Card.Content>\n <Header.Root showLogo>\n <Header.Title localizationKey={localizationKeys('signIn.alternativeMethods.title')} />\n <Header.Subtitle localizationKey={localizationKeys('signIn.alternativeMethods.subtitle')} />\n </Header.Root>\n <Card.Alert>{card.error}</Card.Alert>\n {/*TODO: extract main in its own component */}\n <Col\n elementDescriptor={descriptors.main}\n gap={3}\n >\n <Col gap={2}>\n {supportedSecondFactors &&\n supportedSecondFactors.sort(backupCodePrefFactorComparator).map((factor, i) => (\n <ArrowBlockButton\n textLocalizationKey={getButtonLabel(factor)}\n elementDescriptor={descriptors.alternativeMethodsBlockButton}\n textElementDescriptor={descriptors.alternativeMethodsBlockButtonText}\n arrowElementDescriptor={descriptors.alternativeMethodsBlockButtonArrow}\n key={i}\n isDisabled={card.isLoading}\n onClick={() => onFactorSelected(factor)}\n />\n ))}\n </Col>\n <Card.Action elementId='alternativeMethods'>\n {onBackLinkClick && (\n <Card.ActionLink\n localizationKey={localizationKeys('backButton')}\n onClick={props.onBackLinkClick}\n />\n )}\n </Card.Action>\n </Col>\n </Card.Content>\n\n <Card.Footer>\n <Card.Action elementId='havingTrouble'>\n <Card.ActionText localizationKey={localizationKeys('signIn.alternativeMethods.actionText')} />\n <Card.ActionLink\n localizationKey={localizationKeys('signIn.alternativeMethods.actionLink')}\n onClick={onHavingTroubleClick}\n />\n </Card.Action>\n </Card.Footer>\n </Card.Root>\n </Flow.Part>\n );\n};\n\nexport function getButtonLabel(factor: SignInFactor): LocalizationKey {\n switch (factor.strategy) {\n case 'phone_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__phoneCode', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n case 'totp':\n return localizationKeys('signIn.alternativeMethods.blockButton__totp');\n case 'backup_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__backupCode');\n case 'email_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__emailCode', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n case 'email_link':\n return localizationKeys('signIn.alternativeMethods.blockButton__emailLink', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n default:\n throw new Error(`Invalid sign in strategy: \"${factor.strategy}\"`);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAa,qCAAqC,UAAmC;CACnF,MAAM,CAAC,mBAAmB,wBAAwB,MAAM,SAAS,MAAM;CACvE,MAAM,sBAAsB,MAAM,kBAAkB,sBAAqB,MAAK,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;AAE1G,KAAI,kBACF,QAAO,oBAAC,iBAAc,iBAAiB,sBAAuB;AAGhE,QACE,oBAAC;EACC,iBAAiB,MAAM;EACvB,kBAAkB,MAAM;EACxB,sBAAsB;GACtB;;AAIN,MAAM,0BAA0B,UAAuF;CACrH,MAAM,EAAE,sBAAsB,kBAAkB,oBAAoB;CACpE,MAAM,OAAO,cAAc;CAC3B,MAAM,EAAE,2BAA2B,eAAe;AAElD,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC,KAAK,mBACJ,qBAAC,KAAK;GACJ,qBAAC,OAAO;IAAK;eACX,oBAAC,OAAO,SAAM,iBAAiB,iBAAiB,kCAAkC,GAAI,EACtF,oBAAC,OAAO,YAAS,iBAAiB,iBAAiB,qCAAqC,GAAI;KAChF;GACd,oBAAC,KAAK,mBAAO,KAAK,QAAmB;GAErC,qBAAC;IACC,mBAAmB,YAAY;IAC/B,KAAK;eAEL,oBAAC;KAAI,KAAK;eACP,0BACC,uBAAuB,KAAK,+BAA+B,CAAC,KAAK,QAAQ,MACvE,oBAAC;MACC,qBAAqB,eAAe,OAAO;MAC3C,mBAAmB,YAAY;MAC/B,uBAAuB,YAAY;MACnC,wBAAwB,YAAY;MAEpC,YAAY,KAAK;MACjB,eAAe,iBAAiB,OAAO;QAFlC,EAGL,CACF;MACA,EACN,oBAAC,KAAK;KAAO,WAAU;eACpB,mBACC,oBAAC,KAAK;MACJ,iBAAiB,iBAAiB,aAAa;MAC/C,SAAS,MAAM;OACf;MAEQ;KACV;MACO,EAEf,oBAAC,KAAK,oBACJ,qBAAC,KAAK;GAAO,WAAU;cACrB,oBAAC,KAAK,cAAW,iBAAiB,iBAAiB,uCAAuC,GAAI,EAC9F,oBAAC,KAAK;IACJ,iBAAiB,iBAAiB,uCAAuC;IACzE,SAAS;KACT;IACU,GACF,IACJ;GACF;;AAIhB,SAAgB,eAAe,QAAuC;AACpE,SAAQ,OAAO,UAAf;EACE,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ,KAAK,OACH,QAAO,iBAAiB,8CAA8C;EACxE,KAAK,cACH,QAAO,iBAAiB,oDAAoD;EAC9E,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ,QACE,OAAM,IAAI,MAAM,8BAA8B,OAAO,SAAS,GAAG"}
1
+ {"version":3,"file":"SignInFactorTwoAlternativeMethods.js","names":[],"sources":["../../../src/components/SignIn/SignInFactorTwoAlternativeMethods.tsx"],"sourcesContent":["import type { SignInSecondFactor } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { useCoreSignIn } from '@/contexts';\nimport type { LocalizationKey } from '@/customizables';\nimport { Col, descriptors, Flow, localizationKeys } from '@/customizables';\nimport { ArrowBlockButton } from '@/elements/ArrowBlockButton';\nimport { Card } from '@/elements/Card';\nimport { useCardState } from '@/elements/contexts';\nimport { Header } from '@/elements/Header';\nimport { backupCodePrefFactorComparator } from '@/utils/factorSorting';\nimport { formatSafeIdentifier } from '@/utils/formatSafeIdentifier';\n\nimport { HavingTrouble } from './HavingTrouble';\n\nexport type AlternativeMethodsProps = {\n onBackLinkClick: React.MouseEventHandler | undefined;\n onFactorSelected: (factor: SignInSecondFactor) => void;\n};\n\nexport const SignInFactorTwoAlternativeMethods = (props: AlternativeMethodsProps) => {\n const [showHavingTrouble, setShowHavingTrouble] = React.useState(false);\n const toggleHavingTrouble = React.useCallback(() => setShowHavingTrouble(s => !s), [setShowHavingTrouble]);\n\n if (showHavingTrouble) {\n return <HavingTrouble onBackLinkClick={toggleHavingTrouble} />;\n }\n\n return (\n <AlternativeMethodsList\n onBackLinkClick={props.onBackLinkClick}\n onFactorSelected={props.onFactorSelected}\n onHavingTroubleClick={toggleHavingTrouble}\n />\n );\n};\n\nconst AlternativeMethodsList = (props: AlternativeMethodsProps & { onHavingTroubleClick: React.MouseEventHandler }) => {\n const { onHavingTroubleClick, onFactorSelected, onBackLinkClick } = props;\n const card = useCardState();\n const { supportedSecondFactors } = useCoreSignIn();\n\n return (\n <Flow.Part part='alternativeMethods'>\n <Card.Root>\n <Card.Content>\n <Header.Root showLogo>\n <Header.Title localizationKey={localizationKeys('signIn.alternativeMethods.title')} />\n <Header.Subtitle localizationKey={localizationKeys('signIn.alternativeMethods.subtitle')} />\n </Header.Root>\n <Card.Alert>{card.error}</Card.Alert>\n {/*TODO: extract main in its own component */}\n <Col\n elementDescriptor={descriptors.main}\n gap={3}\n >\n <Col gap={2}>\n {supportedSecondFactors &&\n supportedSecondFactors.sort(backupCodePrefFactorComparator).map((factor, i) => (\n <ArrowBlockButton\n textLocalizationKey={getButtonLabel(factor)}\n elementDescriptor={descriptors.alternativeMethodsBlockButton}\n textElementDescriptor={descriptors.alternativeMethodsBlockButtonText}\n arrowElementDescriptor={descriptors.alternativeMethodsBlockButtonArrow}\n key={i}\n isDisabled={card.isLoading}\n onClick={() => onFactorSelected(factor)}\n />\n ))}\n </Col>\n <Card.Action elementId='alternativeMethods'>\n {onBackLinkClick && (\n <Card.ActionLink\n localizationKey={localizationKeys('backButton')}\n onClick={props.onBackLinkClick}\n />\n )}\n </Card.Action>\n </Col>\n </Card.Content>\n\n <Card.Footer>\n <Card.Action elementId='havingTrouble'>\n <Card.ActionText localizationKey={localizationKeys('signIn.alternativeMethods.actionText')} />\n <Card.ActionLink\n localizationKey={localizationKeys('signIn.alternativeMethods.actionLink')}\n onClick={onHavingTroubleClick}\n />\n </Card.Action>\n </Card.Footer>\n </Card.Root>\n </Flow.Part>\n );\n};\n\nexport function getButtonLabel(factor: SignInSecondFactor): LocalizationKey {\n switch (factor.strategy) {\n case 'phone_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__phoneCode', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n case 'totp':\n return localizationKeys('signIn.alternativeMethods.blockButton__totp');\n case 'backup_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__backupCode');\n case 'email_code':\n return localizationKeys('signIn.alternativeMethods.blockButton__emailCode', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n case 'email_link':\n return localizationKeys('signIn.alternativeMethods.blockButton__emailLink', {\n identifier: formatSafeIdentifier(factor.safeIdentifier) || '',\n });\n default:\n ((_: never) => _)(factor);\n throw new Error('Invalid sign in strategy');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAa,qCAAqC,UAAmC;CACnF,MAAM,CAAC,mBAAmB,wBAAwB,MAAM,SAAS,MAAM;CACvE,MAAM,sBAAsB,MAAM,kBAAkB,sBAAqB,MAAK,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC;AAE1G,KAAI,kBACF,QAAO,oBAAC,iBAAc,iBAAiB,sBAAuB;AAGhE,QACE,oBAAC;EACC,iBAAiB,MAAM;EACvB,kBAAkB,MAAM;EACxB,sBAAsB;GACtB;;AAIN,MAAM,0BAA0B,UAAuF;CACrH,MAAM,EAAE,sBAAsB,kBAAkB,oBAAoB;CACpE,MAAM,OAAO,cAAc;CAC3B,MAAM,EAAE,2BAA2B,eAAe;AAElD,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC,KAAK,mBACJ,qBAAC,KAAK;GACJ,qBAAC,OAAO;IAAK;eACX,oBAAC,OAAO,SAAM,iBAAiB,iBAAiB,kCAAkC,GAAI,EACtF,oBAAC,OAAO,YAAS,iBAAiB,iBAAiB,qCAAqC,GAAI;KAChF;GACd,oBAAC,KAAK,mBAAO,KAAK,QAAmB;GAErC,qBAAC;IACC,mBAAmB,YAAY;IAC/B,KAAK;eAEL,oBAAC;KAAI,KAAK;eACP,0BACC,uBAAuB,KAAK,+BAA+B,CAAC,KAAK,QAAQ,MACvE,oBAAC;MACC,qBAAqB,eAAe,OAAO;MAC3C,mBAAmB,YAAY;MAC/B,uBAAuB,YAAY;MACnC,wBAAwB,YAAY;MAEpC,YAAY,KAAK;MACjB,eAAe,iBAAiB,OAAO;QAFlC,EAGL,CACF;MACA,EACN,oBAAC,KAAK;KAAO,WAAU;eACpB,mBACC,oBAAC,KAAK;MACJ,iBAAiB,iBAAiB,aAAa;MAC/C,SAAS,MAAM;OACf;MAEQ;KACV;MACO,EAEf,oBAAC,KAAK,oBACJ,qBAAC,KAAK;GAAO,WAAU;cACrB,oBAAC,KAAK,cAAW,iBAAiB,iBAAiB,uCAAuC,GAAI,EAC9F,oBAAC,KAAK;IACJ,iBAAiB,iBAAiB,uCAAuC;IACzE,SAAS;KACT;IACU,GACF,IACJ;GACF;;AAIhB,SAAgB,eAAe,QAA6C;AAC1E,SAAQ,OAAO,UAAf;EACE,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ,KAAK,OACH,QAAO,iBAAiB,8CAA8C;EACxE,KAAK,cACH,QAAO,iBAAiB,oDAAoD;EAC9E,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ,KAAK,aACH,QAAO,iBAAiB,oDAAoD,EAC1E,YAAY,qBAAqB,OAAO,eAAe,IAAI,IAC5D,CAAC;EACJ;AACE,KAAE,MAAa,GAAG,OAAO;AACzB,SAAM,IAAI,MAAM,2BAA2B"}
@@ -186,6 +186,7 @@ function SignInRoot() {
186
186
  }
187
187
  SignInRoutes.displayName = "SignIn";
188
188
  const SignIn = withCoreSessionSwitchGuard(SignInRoot);
189
+ const InternalSignIn = withCoreSessionSwitchGuard(SignInRoot);
189
190
  const SignInModal = (props) => {
190
191
  const signInProps = {
191
192
  signUpUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-up`,
@@ -201,7 +202,7 @@ const SignInModal = (props) => {
201
202
  routing: "virtual",
202
203
  mode: "modal"
203
204
  },
204
- children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(SignIn, {
205
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(InternalSignIn, {
205
206
  ...signInProps,
206
207
  routing: "virtual"
207
208
  }) })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LazySessionTasks","SignIn: React.ComponentType<SignInProps>"],"sources":["../../../src/components/SignIn/index.tsx"],"sourcesContent":["import { useClerk } from '@clerk/shared/react';\nimport type { SignInModalProps, SignInProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { SignInEmailLinkFlowComplete, SignUpEmailLinkFlowComplete } from '@/ui/common/EmailLinkCompleteFlowCard';\nimport {\n SignInContext,\n SignUpContext,\n useSignInContext,\n useSignUpContext,\n withCoreSessionSwitchGuard,\n} from '@/ui/contexts';\nimport { Flow } from '@/ui/customizables';\nimport { useFetch } from '@/ui/hooks';\nimport { usePreloadTasks } from '@/ui/hooks/usePreloadTasks';\nimport { SessionTasks as LazySessionTasks } from '@/ui/lazyModules/components';\nimport { Route, Switch, VIRTUAL_ROUTER_BASE_PATH } from '@/ui/router';\nimport type { SignUpCtx } from '@/ui/types';\nimport { normalizeRoutingOptions } from '@/utils/normalizeRoutingOptions';\n\nimport {\n LazySignUpContinue,\n LazySignUpSSOCallback,\n LazySignUpStart,\n LazySignUpVerifyEmail,\n LazySignUpVerifyPhone,\n preloadSignUp,\n} from './lazy-sign-up';\nimport { ResetPassword } from './ResetPassword';\nimport { ResetPasswordSuccess } from './ResetPasswordSuccess';\nimport { SignInAccountSwitcher } from './SignInAccountSwitcher';\nimport { SignInClientTrust } from './SignInClientTrust';\nimport { SignInFactorOne } from './SignInFactorOne';\nimport { SignInFactorTwo } from './SignInFactorTwo';\nimport { SignInSSOCallback } from './SignInSSOCallback';\nimport { SignInStart } from './SignInStart';\n\nfunction RedirectToSignIn() {\n const clerk = useClerk();\n React.useEffect(() => {\n void clerk.redirectToSignIn();\n }, []);\n return null;\n}\n\nfunction SignInRoutes(): JSX.Element {\n const signInContext = useSignInContext();\n const signUpContext = useSignUpContext();\n\n return (\n <Flow.Root flow='signIn'>\n <Switch>\n <Route path='factor-one'>\n <SignInFactorOne />\n </Route>\n <Route path='factor-two'>\n <SignInFactorTwo />\n </Route>\n <Route path='client-trust'>\n <SignInClientTrust />\n </Route>\n <Route path='reset-password'>\n <ResetPassword />\n </Route>\n <Route path='reset-password-success'>\n <ResetPasswordSuccess />\n </Route>\n <Route path='sso-callback'>\n <SignInSSOCallback\n signUpUrl={signInContext.signUpUrl}\n signInUrl={signInContext.signInUrl}\n signInForceRedirectUrl={signInContext.afterSignInUrl}\n signUpForceRedirectUrl={signInContext.afterSignUpUrl}\n continueSignUpUrl={signInContext.signUpContinueUrl}\n transferable={signInContext.transferable}\n firstFactorUrl={'../factor-one'}\n secondFactorUrl={'../factor-two'}\n resetPasswordUrl={'../reset-password'}\n />\n </Route>\n <Route path='choose'>\n <SignInAccountSwitcher />\n </Route>\n <Route path='verify'>\n <SignInEmailLinkFlowComplete\n redirectUrlComplete={signInContext.afterSignInUrl}\n redirectUrl='../factor-two'\n />\n </Route>\n\n {signInContext.isCombinedFlow && (\n <Route path='create'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <LazySignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <LazySignUpVerifyPhone />\n </Route>\n <Route path='sso-callback'>\n <LazySignUpSSOCallback\n signUpUrl={signUpContext.signUpUrl}\n signInUrl={signUpContext.signInUrl}\n signUpForceRedirectUrl={signUpContext.afterSignUpUrl}\n signInForceRedirectUrl={signUpContext.afterSignInUrl}\n secondFactorUrl={signUpContext.secondFactorUrl}\n continueSignUpUrl='../continue'\n verifyEmailAddressUrl='../verify-email-address'\n verifyPhoneNumberUrl='../verify-phone-number'\n />\n </Route>\n <Route path='verify'>\n <SignUpEmailLinkFlowComplete\n redirectUrlComplete={signUpContext.afterSignUpUrl}\n verifyEmailPath='../verify-email-address'\n verifyPhonePath='../verify-phone-number'\n continuePath='../continue'\n />\n </Route>\n <Route path='continue'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <LazySignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <LazySignUpVerifyPhone />\n </Route>\n <Route index>\n <LazySignUpContinue />\n </Route>\n </Route>\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signInContext.afterSignUpUrl} />\n </Route>\n <Route index>\n <LazySignUpStart />\n </Route>\n </Route>\n )}\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signInContext.afterSignInUrl} />\n </Route>\n <Route index>\n <SignInStart />\n </Route>\n <Route>\n <RedirectToSignIn />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nconst usePreloadSignUp = (enabled = false) =>\n useFetch(enabled ? preloadSignUp : undefined, 'preloadComponent', { staleTime: Infinity });\n\nfunction SignInRoot() {\n const signInContext = useSignInContext();\n const normalizedSignUpContext = {\n componentName: 'SignUp',\n emailLinkRedirectUrl: signInContext.emailLinkRedirectUrl,\n ssoCallbackUrl: signInContext.ssoCallbackUrl,\n forceRedirectUrl: signInContext.signUpForceRedirectUrl,\n fallbackRedirectUrl: signInContext.signUpFallbackRedirectUrl,\n signInUrl: signInContext.signInUrl,\n unsafeMetadata: signInContext.unsafeMetadata,\n ...normalizeRoutingOptions({ routing: signInContext?.routing, path: signInContext?.path }),\n } as SignUpCtx;\n\n /**\n * Preload Sign Up when in Combined Flow.\n */\n usePreloadSignUp(signInContext.isCombinedFlow);\n\n usePreloadTasks();\n\n return (\n <SignUpContext.Provider value={normalizedSignUpContext}>\n <SignInRoutes />\n </SignUpContext.Provider>\n );\n}\n\nSignInRoutes.displayName = 'SignIn';\n\nexport const SignIn: React.ComponentType<SignInProps> = withCoreSessionSwitchGuard(SignInRoot);\n\nexport const SignInModal = (props: SignInModalProps): JSX.Element => {\n const signInProps = {\n signUpUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-up`,\n waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,\n ...props,\n };\n\n return (\n <Route path='sign-in'>\n <SignInContext.Provider\n value={{\n componentName: 'SignIn',\n ...signInProps,\n routing: 'virtual',\n mode: 'modal',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <SignIn\n {...signInProps}\n routing='virtual'\n />\n </div>\n </SignInContext.Provider>\n </Route>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["LazySessionTasks","SignIn: React.ComponentType<SignInProps>","InternalSignIn: React.ComponentType<WithInternalRouting<SignInProps>>"],"sources":["../../../src/components/SignIn/index.tsx"],"sourcesContent":["import { useClerk } from '@clerk/shared/react';\nimport type { SignInModalProps, SignInProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { SignInEmailLinkFlowComplete, SignUpEmailLinkFlowComplete } from '@/common/EmailLinkCompleteFlowCard';\nimport {\n SignInContext,\n SignUpContext,\n useSignInContext,\n useSignUpContext,\n withCoreSessionSwitchGuard,\n} from '@/contexts';\nimport { Flow } from '@/customizables';\nimport { useFetch } from '@/hooks';\nimport { usePreloadTasks } from '@/hooks/usePreloadTasks';\nimport type { WithInternalRouting } from '@/internal';\nimport { SessionTasks as LazySessionTasks } from '@/lazyModules/components';\nimport { Route, Switch, VIRTUAL_ROUTER_BASE_PATH } from '@/router';\nimport type { SignUpCtx } from '@/types';\nimport { normalizeRoutingOptions } from '@/utils/normalizeRoutingOptions';\n\nimport {\n LazySignUpContinue,\n LazySignUpSSOCallback,\n LazySignUpStart,\n LazySignUpVerifyEmail,\n LazySignUpVerifyPhone,\n preloadSignUp,\n} from './lazy-sign-up';\nimport { ResetPassword } from './ResetPassword';\nimport { ResetPasswordSuccess } from './ResetPasswordSuccess';\nimport { SignInAccountSwitcher } from './SignInAccountSwitcher';\nimport { SignInClientTrust } from './SignInClientTrust';\nimport { SignInFactorOne } from './SignInFactorOne';\nimport { SignInFactorTwo } from './SignInFactorTwo';\nimport { SignInSSOCallback } from './SignInSSOCallback';\nimport { SignInStart } from './SignInStart';\n\nfunction RedirectToSignIn() {\n const clerk = useClerk();\n React.useEffect(() => {\n void clerk.redirectToSignIn();\n }, []);\n return null;\n}\n\nfunction SignInRoutes(): JSX.Element {\n const signInContext = useSignInContext();\n const signUpContext = useSignUpContext();\n\n return (\n <Flow.Root flow='signIn'>\n <Switch>\n <Route path='factor-one'>\n <SignInFactorOne />\n </Route>\n <Route path='factor-two'>\n <SignInFactorTwo />\n </Route>\n <Route path='client-trust'>\n <SignInClientTrust />\n </Route>\n <Route path='reset-password'>\n <ResetPassword />\n </Route>\n <Route path='reset-password-success'>\n <ResetPasswordSuccess />\n </Route>\n <Route path='sso-callback'>\n <SignInSSOCallback\n signUpUrl={signInContext.signUpUrl}\n signInUrl={signInContext.signInUrl}\n signInForceRedirectUrl={signInContext.afterSignInUrl}\n signUpForceRedirectUrl={signInContext.afterSignUpUrl}\n continueSignUpUrl={signInContext.signUpContinueUrl}\n transferable={signInContext.transferable}\n firstFactorUrl={'../factor-one'}\n secondFactorUrl={'../factor-two'}\n resetPasswordUrl={'../reset-password'}\n />\n </Route>\n <Route path='choose'>\n <SignInAccountSwitcher />\n </Route>\n <Route path='verify'>\n <SignInEmailLinkFlowComplete\n redirectUrlComplete={signInContext.afterSignInUrl}\n redirectUrl='../factor-two'\n />\n </Route>\n\n {signInContext.isCombinedFlow && (\n <Route path='create'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <LazySignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <LazySignUpVerifyPhone />\n </Route>\n <Route path='sso-callback'>\n <LazySignUpSSOCallback\n signUpUrl={signUpContext.signUpUrl}\n signInUrl={signUpContext.signInUrl}\n signUpForceRedirectUrl={signUpContext.afterSignUpUrl}\n signInForceRedirectUrl={signUpContext.afterSignInUrl}\n secondFactorUrl={signUpContext.secondFactorUrl}\n continueSignUpUrl='../continue'\n verifyEmailAddressUrl='../verify-email-address'\n verifyPhoneNumberUrl='../verify-phone-number'\n />\n </Route>\n <Route path='verify'>\n <SignUpEmailLinkFlowComplete\n redirectUrlComplete={signUpContext.afterSignUpUrl}\n verifyEmailPath='../verify-email-address'\n verifyPhonePath='../verify-phone-number'\n continuePath='../continue'\n />\n </Route>\n <Route path='continue'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <LazySignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <LazySignUpVerifyPhone />\n </Route>\n <Route index>\n <LazySignUpContinue />\n </Route>\n </Route>\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signInContext.afterSignUpUrl} />\n </Route>\n <Route index>\n <LazySignUpStart />\n </Route>\n </Route>\n )}\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signInContext.afterSignInUrl} />\n </Route>\n <Route index>\n <SignInStart />\n </Route>\n <Route>\n <RedirectToSignIn />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nconst usePreloadSignUp = (enabled = false) =>\n useFetch(enabled ? preloadSignUp : undefined, 'preloadComponent', { staleTime: Infinity });\n\nfunction SignInRoot() {\n const signInContext = useSignInContext();\n const normalizedSignUpContext = {\n componentName: 'SignUp',\n emailLinkRedirectUrl: signInContext.emailLinkRedirectUrl,\n ssoCallbackUrl: signInContext.ssoCallbackUrl,\n forceRedirectUrl: signInContext.signUpForceRedirectUrl,\n fallbackRedirectUrl: signInContext.signUpFallbackRedirectUrl,\n signInUrl: signInContext.signInUrl,\n unsafeMetadata: signInContext.unsafeMetadata,\n ...normalizeRoutingOptions({ routing: signInContext?.routing, path: signInContext?.path }),\n } as SignUpCtx;\n\n /**\n * Preload Sign Up when in Combined Flow.\n */\n usePreloadSignUp(signInContext.isCombinedFlow);\n\n usePreloadTasks();\n\n return (\n <SignUpContext.Provider value={normalizedSignUpContext}>\n <SignInRoutes />\n </SignUpContext.Provider>\n );\n}\n\nSignInRoutes.displayName = 'SignIn';\n\nexport const SignIn: React.ComponentType<SignInProps> = withCoreSessionSwitchGuard(SignInRoot);\n\nconst InternalSignIn: React.ComponentType<WithInternalRouting<SignInProps>> = withCoreSessionSwitchGuard(SignInRoot);\n\nexport const SignInModal = (props: SignInModalProps): JSX.Element => {\n const signInProps = {\n signUpUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-up`,\n waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,\n ...props,\n };\n\n return (\n <Route path='sign-in'>\n <SignInContext.Provider\n value={{\n componentName: 'SignIn',\n ...signInProps,\n routing: 'virtual',\n mode: 'modal',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <InternalSignIn\n {...signInProps}\n routing='virtual'\n />\n </div>\n </SignInContext.Provider>\n </Route>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAS,mBAAmB;CAC1B,MAAM,QAAQ,UAAU;AACxB,OAAM,gBAAgB;AACpB,EAAK,MAAM,kBAAkB;IAC5B,EAAE,CAAC;AACN,QAAO;;AAGT,SAAS,eAA4B;CACnC,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,gBAAgB,kBAAkB;AAExC,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC;GACC,oBAAC;IAAM,MAAK;cACV,oBAAC,oBAAkB;KACb;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,oBAAkB;KACb;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,sBAAoB;KACf;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,kBAAgB;KACX;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,yBAAuB;KAClB;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,WAAW,cAAc;KACzB,WAAW,cAAc;KACzB,wBAAwB,cAAc;KACtC,wBAAwB,cAAc;KACtC,mBAAmB,cAAc;KACjC,cAAc,cAAc;KAC5B,gBAAgB;KAChB,iBAAiB;KACjB,kBAAkB;MAClB;KACI;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,0BAAwB;KACnB;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,qBAAqB,cAAc;KACnC,aAAY;MACZ;KACI;GAEP,cAAc,kBACb,qBAAC;IAAM,MAAK;;KACV,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,0BAAwB;OACnB;KACR,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,0BAAwB;OACnB;KACR,oBAAC;MAAM,MAAK;gBACV,oBAAC;OACC,WAAW,cAAc;OACzB,WAAW,cAAc;OACzB,wBAAwB,cAAc;OACtC,wBAAwB,cAAc;OACtC,iBAAiB,cAAc;OAC/B,mBAAkB;OAClB,uBAAsB;OACtB,sBAAqB;QACrB;OACI;KACR,oBAAC;MAAM,MAAK;gBACV,oBAAC;OACC,qBAAqB,cAAc;OACnC,iBAAgB;OAChB,iBAAgB;OAChB,cAAa;QACb;OACI;KACR,qBAAC;MAAM,MAAK;;OACV,oBAAC;QACC,MAAK;QACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;kBAE5C,oBAAC,0BAAwB;SACnB;OACR,oBAAC;QACC,MAAK;QACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;kBAE5C,oBAAC,0BAAwB;SACnB;OACR,oBAAC;QAAM;kBACL,oBAAC,uBAAqB;SAChB;;OACF;KACR,oBAAC;MAAM,MAAK;gBACV,oBAACA,gBAAiB,qBAAqB,cAAc,iBAAkB;OACjE;KACR,oBAAC;MAAM;gBACL,oBAAC,oBAAkB;OACb;;KACF;GAEV,oBAAC;IAAM,MAAK;cACV,oBAACA,gBAAiB,qBAAqB,cAAc,iBAAkB;KACjE;GACR,oBAAC;IAAM;cACL,oBAAC,gBAAc;KACT;GACR,oBAAC,mBACC,oBAAC,qBAAmB,GACd;MACD;GACC;;AAIhB,MAAM,oBAAoB,UAAU,UAClC,SAAS,UAAU,gBAAgB,QAAW,oBAAoB,EAAE,WAAW,UAAU,CAAC;AAE5F,SAAS,aAAa;CACpB,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,0BAA0B;EAC9B,eAAe;EACf,sBAAsB,cAAc;EACpC,gBAAgB,cAAc;EAC9B,kBAAkB,cAAc;EAChC,qBAAqB,cAAc;EACnC,WAAW,cAAc;EACzB,gBAAgB,cAAc;EAC9B,GAAG,wBAAwB;GAAE,SAAS,eAAe;GAAS,MAAM,eAAe;GAAM,CAAC;EAC3F;;;;AAKD,kBAAiB,cAAc,eAAe;AAE9C,kBAAiB;AAEjB,QACE,oBAAC,cAAc;EAAS,OAAO;YAC7B,oBAAC,iBAAe;GACO;;AAI7B,aAAa,cAAc;AAE3B,MAAaC,SAA2C,2BAA2B,WAAW;AAE9F,MAAMC,iBAAwE,2BAA2B,WAAW;AAEpH,MAAa,eAAe,UAAyC;CACnE,MAAM,cAAc;EAClB,WAAW,IAAI,yBAAyB;EACxC,aAAa,IAAI,yBAAyB;EAC1C,GAAG;EACJ;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,cAAc;GACb,OAAO;IACL,eAAe;IACf,GAAG;IACH,SAAS;IACT,MAAM;IACP;aAGD,oBAAC,mBACC,oBAAC;IACC,GAAI;IACJ,SAAQ;KACR,GACE;IACiB;GACnB"}
@@ -99,6 +99,7 @@ function SignUpRoutes() {
99
99
  }
100
100
  SignUpRoutes.displayName = "SignUp";
101
101
  const SignUp = withCoreSessionSwitchGuard(SignUpRoutes);
102
+ const InternalSignUp = withCoreSessionSwitchGuard(SignUpRoutes);
102
103
  const SignUpModal = (props) => {
103
104
  const signUpProps = {
104
105
  signInUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-in`,
@@ -114,7 +115,7 @@ const SignUpModal = (props) => {
114
115
  routing: "virtual",
115
116
  mode: "modal"
116
117
  },
117
- children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(SignUp, {
118
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(InternalSignUp, {
118
119
  ...signUpProps,
119
120
  routing: "virtual"
120
121
  }) })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LazySessionTasks","SignUp: React.ComponentType<SignUpProps>"],"sources":["../../../src/components/SignUp/index.tsx"],"sourcesContent":["import { useClerk } from '@clerk/shared/react';\nimport type { SignUpModalProps, SignUpProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { usePreloadTasks } from '@/ui/hooks/usePreloadTasks';\n\nimport { SignUpEmailLinkFlowComplete } from '../../common/EmailLinkCompleteFlowCard';\nimport { SignUpContext, useSignUpContext, withCoreSessionSwitchGuard } from '../../contexts';\nimport { Flow } from '../../customizables';\nimport { SessionTasks as LazySessionTasks } from '../../lazyModules/components';\nimport { Route, Switch, VIRTUAL_ROUTER_BASE_PATH } from '../../router';\nimport { SignUpContinue } from './SignUpContinue';\nimport { SignUpEnterpriseConnections } from './SignUpEnterpriseConnections';\nimport { SignUpSSOCallback } from './SignUpSSOCallback';\nimport { SignUpStart } from './SignUpStart';\nimport { SignUpVerifyEmail } from './SignUpVerifyEmail';\nimport { SignUpVerifyPhone } from './SignUpVerifyPhone';\n\nfunction RedirectToSignUp() {\n const clerk = useClerk();\n React.useEffect(() => {\n void clerk.redirectToSignUp();\n }, []);\n return null;\n}\n\nfunction SignUpRoutes(): JSX.Element {\n usePreloadTasks();\n\n const signUpContext = useSignUpContext();\n\n return (\n <Flow.Root flow='signUp'>\n <Switch>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <SignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <SignUpVerifyPhone />\n </Route>\n <Route path='sso-callback'>\n <SignUpSSOCallback\n signUpUrl={signUpContext.signUpUrl}\n signInUrl={signUpContext.signInUrl}\n signUpForceRedirectUrl={signUpContext.afterSignUpUrl}\n signInForceRedirectUrl={signUpContext.afterSignInUrl}\n secondFactorUrl={signUpContext.secondFactorUrl}\n continueSignUpUrl='../continue'\n verifyEmailAddressUrl='../verify-email-address'\n verifyPhoneNumberUrl='../verify-phone-number'\n />\n </Route>\n <Route path='verify'>\n <SignUpEmailLinkFlowComplete\n redirectUrlComplete={signUpContext.afterSignUpUrl}\n verifyEmailPath='../verify-email-address'\n verifyPhonePath='../verify-phone-number'\n />\n </Route>\n <Route path='continue'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <SignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <SignUpVerifyPhone />\n </Route>\n <Route index>\n <SignUpContinue />\n </Route>\n </Route>\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signUpContext.afterSignUpUrl} />\n </Route>\n <Route path='enterprise-connections'>\n <SignUpEnterpriseConnections />\n </Route>\n <Route index>\n <SignUpStart />\n </Route>\n <Route>\n <RedirectToSignUp />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nSignUpRoutes.displayName = 'SignUp';\n\nexport const SignUp: React.ComponentType<SignUpProps> = withCoreSessionSwitchGuard(SignUpRoutes);\n\nexport const SignUpModal = (props: SignUpModalProps): JSX.Element => {\n const signUpProps = {\n signInUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-in`,\n waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,\n ...props,\n };\n\n return (\n <Route path='sign-up'>\n <SignUpContext.Provider\n value={{\n componentName: 'SignUp',\n ...signUpProps,\n routing: 'virtual',\n mode: 'modal',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <SignUp\n {...signUpProps}\n routing='virtual'\n />\n </div>\n </SignUpContext.Provider>\n </Route>\n );\n};\n\nexport { SignUpContinue, SignUpSSOCallback, SignUpStart, SignUpVerifyEmail, SignUpVerifyPhone };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkBA,SAAS,mBAAmB;CAC1B,MAAM,QAAQ,UAAU;AACxB,OAAM,gBAAgB;AACpB,EAAK,MAAM,kBAAkB;IAC5B,EAAE,CAAC;AACN,QAAO;;AAGT,SAAS,eAA4B;AACnC,kBAAiB;CAEjB,MAAM,gBAAgB,kBAAkB;AAExC,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC;GACC,oBAAC;IACC,MAAK;IACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;cAE5C,oBAAC,sBAAoB;KACf;GACR,oBAAC;IACC,MAAK;IACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;cAE5C,oBAAC,sBAAoB;KACf;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,WAAW,cAAc;KACzB,WAAW,cAAc;KACzB,wBAAwB,cAAc;KACtC,wBAAwB,cAAc;KACtC,iBAAiB,cAAc;KAC/B,mBAAkB;KAClB,uBAAsB;KACtB,sBAAqB;MACrB;KACI;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,qBAAqB,cAAc;KACnC,iBAAgB;KAChB,iBAAgB;MAChB;KACI;GACR,qBAAC;IAAM,MAAK;;KACV,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,sBAAoB;OACf;KACR,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,sBAAoB;OACf;KACR,oBAAC;MAAM;gBACL,oBAAC,mBAAiB;OACZ;;KACF;GACR,oBAAC;IAAM,MAAK;cACV,oBAACA,gBAAiB,qBAAqB,cAAc,iBAAkB;KACjE;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,gCAA8B;KACzB;GACR,oBAAC;IAAM;cACL,oBAAC,gBAAc;KACT;GACR,oBAAC,mBACC,oBAAC,qBAAmB,GACd;MACD;GACC;;AAIhB,aAAa,cAAc;AAE3B,MAAaC,SAA2C,2BAA2B,aAAa;AAEhG,MAAa,eAAe,UAAyC;CACnE,MAAM,cAAc;EAClB,WAAW,IAAI,yBAAyB;EACxC,aAAa,IAAI,yBAAyB;EAC1C,GAAG;EACJ;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,cAAc;GACb,OAAO;IACL,eAAe;IACf,GAAG;IACH,SAAS;IACT,MAAM;IACP;aAGD,oBAAC,mBACC,oBAAC;IACC,GAAI;IACJ,SAAQ;KACR,GACE;IACiB;GACnB"}
1
+ {"version":3,"file":"index.js","names":["LazySessionTasks","SignUp: React.ComponentType<SignUpProps>","InternalSignUp: React.ComponentType<WithInternalRouting<SignUpProps>>"],"sources":["../../../src/components/SignUp/index.tsx"],"sourcesContent":["import { useClerk } from '@clerk/shared/react';\nimport type { SignUpModalProps, SignUpProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { SignUpEmailLinkFlowComplete } from '@/common/EmailLinkCompleteFlowCard';\nimport { SignUpContext, useSignUpContext, withCoreSessionSwitchGuard } from '@/contexts';\nimport { Flow } from '@/customizables';\nimport { usePreloadTasks } from '@/hooks/usePreloadTasks';\nimport type { WithInternalRouting } from '@/internal';\nimport { SessionTasks as LazySessionTasks } from '@/lazyModules/components';\nimport { Route, Switch, VIRTUAL_ROUTER_BASE_PATH } from '@/router';\n\nimport { SignUpContinue } from './SignUpContinue';\nimport { SignUpEnterpriseConnections } from './SignUpEnterpriseConnections';\nimport { SignUpSSOCallback } from './SignUpSSOCallback';\nimport { SignUpStart } from './SignUpStart';\nimport { SignUpVerifyEmail } from './SignUpVerifyEmail';\nimport { SignUpVerifyPhone } from './SignUpVerifyPhone';\n\nfunction RedirectToSignUp() {\n const clerk = useClerk();\n React.useEffect(() => {\n void clerk.redirectToSignUp();\n }, []);\n return null;\n}\n\nfunction SignUpRoutes(): JSX.Element {\n usePreloadTasks();\n\n const signUpContext = useSignUpContext();\n\n return (\n <Flow.Root flow='signUp'>\n <Switch>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <SignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <SignUpVerifyPhone />\n </Route>\n <Route path='sso-callback'>\n <SignUpSSOCallback\n signUpUrl={signUpContext.signUpUrl}\n signInUrl={signUpContext.signInUrl}\n signUpForceRedirectUrl={signUpContext.afterSignUpUrl}\n signInForceRedirectUrl={signUpContext.afterSignInUrl}\n secondFactorUrl={signUpContext.secondFactorUrl}\n continueSignUpUrl='../continue'\n verifyEmailAddressUrl='../verify-email-address'\n verifyPhoneNumberUrl='../verify-phone-number'\n />\n </Route>\n <Route path='verify'>\n <SignUpEmailLinkFlowComplete\n redirectUrlComplete={signUpContext.afterSignUpUrl}\n verifyEmailPath='../verify-email-address'\n verifyPhonePath='../verify-phone-number'\n />\n </Route>\n <Route path='continue'>\n <Route\n path='verify-email-address'\n canActivate={clerk => !!clerk.client.signUp.emailAddress}\n >\n <SignUpVerifyEmail />\n </Route>\n <Route\n path='verify-phone-number'\n canActivate={clerk => !!clerk.client.signUp.phoneNumber}\n >\n <SignUpVerifyPhone />\n </Route>\n <Route index>\n <SignUpContinue />\n </Route>\n </Route>\n <Route path='tasks'>\n <LazySessionTasks redirectUrlComplete={signUpContext.afterSignUpUrl} />\n </Route>\n <Route path='enterprise-connections'>\n <SignUpEnterpriseConnections />\n </Route>\n <Route index>\n <SignUpStart />\n </Route>\n <Route>\n <RedirectToSignUp />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nSignUpRoutes.displayName = 'SignUp';\n\nexport const SignUp: React.ComponentType<SignUpProps> = withCoreSessionSwitchGuard(SignUpRoutes);\n\nconst InternalSignUp: React.ComponentType<WithInternalRouting<SignUpProps>> = withCoreSessionSwitchGuard(SignUpRoutes);\n\nexport const SignUpModal = (props: SignUpModalProps): JSX.Element => {\n const signUpProps = {\n signInUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/sign-in`,\n waitlistUrl: `/${VIRTUAL_ROUTER_BASE_PATH}/waitlist`,\n ...props,\n };\n\n return (\n <Route path='sign-up'>\n <SignUpContext.Provider\n value={{\n componentName: 'SignUp',\n ...signUpProps,\n routing: 'virtual',\n mode: 'modal',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <InternalSignUp\n {...signUpProps}\n routing='virtual'\n />\n </div>\n </SignUpContext.Provider>\n </Route>\n );\n};\n\nexport { SignUpContinue, SignUpSSOCallback, SignUpStart, SignUpVerifyEmail, SignUpVerifyPhone };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,SAAS,mBAAmB;CAC1B,MAAM,QAAQ,UAAU;AACxB,OAAM,gBAAgB;AACpB,EAAK,MAAM,kBAAkB;IAC5B,EAAE,CAAC;AACN,QAAO;;AAGT,SAAS,eAA4B;AACnC,kBAAiB;CAEjB,MAAM,gBAAgB,kBAAkB;AAExC,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC;GACC,oBAAC;IACC,MAAK;IACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;cAE5C,oBAAC,sBAAoB;KACf;GACR,oBAAC;IACC,MAAK;IACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;cAE5C,oBAAC,sBAAoB;KACf;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,WAAW,cAAc;KACzB,WAAW,cAAc;KACzB,wBAAwB,cAAc;KACtC,wBAAwB,cAAc;KACtC,iBAAiB,cAAc;KAC/B,mBAAkB;KAClB,uBAAsB;KACtB,sBAAqB;MACrB;KACI;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC;KACC,qBAAqB,cAAc;KACnC,iBAAgB;KAChB,iBAAgB;MAChB;KACI;GACR,qBAAC;IAAM,MAAK;;KACV,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,sBAAoB;OACf;KACR,oBAAC;MACC,MAAK;MACL,cAAa,UAAS,CAAC,CAAC,MAAM,OAAO,OAAO;gBAE5C,oBAAC,sBAAoB;OACf;KACR,oBAAC;MAAM;gBACL,oBAAC,mBAAiB;OACZ;;KACF;GACR,oBAAC;IAAM,MAAK;cACV,oBAACA,gBAAiB,qBAAqB,cAAc,iBAAkB;KACjE;GACR,oBAAC;IAAM,MAAK;cACV,oBAAC,gCAA8B;KACzB;GACR,oBAAC;IAAM;cACL,oBAAC,gBAAc;KACT;GACR,oBAAC,mBACC,oBAAC,qBAAmB,GACd;MACD;GACC;;AAIhB,aAAa,cAAc;AAE3B,MAAaC,SAA2C,2BAA2B,aAAa;AAEhG,MAAMC,iBAAwE,2BAA2B,aAAa;AAEtH,MAAa,eAAe,UAAyC;CACnE,MAAM,cAAc;EAClB,WAAW,IAAI,yBAAyB;EACxC,aAAa,IAAI,yBAAyB;EAC1C,GAAG;EACJ;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,cAAc;GACb,OAAO;IACL,eAAe;IACf,GAAG;IACH,SAAS;IACT,MAAM;IACP;aAGD,oBAAC,mBACC,oBAAC;IACC,GAAI;IACJ,SAAQ;KACR,GACE;IACiB;GACnB"}
@@ -15,7 +15,7 @@ import React from "react";
15
15
  import { jsx, jsxs } from "@emotion/react/jsx-runtime";
16
16
 
17
17
  //#region src/components/UserProfile/index.tsx
18
- const _UserProfile = (_) => {
18
+ const _UserProfile = () => {
19
19
  return /* @__PURE__ */ jsx(Flow.Root, {
20
20
  flow: "userProfile",
21
21
  children: /* @__PURE__ */ jsx(Flow.Part, { children: /* @__PURE__ */ jsxs(Switch, { children: [/* @__PURE__ */ jsx(Route, {
@@ -36,6 +36,7 @@ const AuthenticatedRoutes = withCoreUserGuard(() => {
36
36
  }) });
37
37
  });
38
38
  const UserProfile = withCardStateProvider(_UserProfile);
39
+ const InternalUserProfile = withCardStateProvider(_UserProfile);
39
40
  const UserProfileModal = (props) => {
40
41
  const userProfileProps = {
41
42
  ...props,
@@ -47,7 +48,7 @@ const UserProfileModal = (props) => {
47
48
  path: "user",
48
49
  children: /* @__PURE__ */ jsx(UserProfileContext.Provider, {
49
50
  value: userProfileProps,
50
- children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(UserProfile, { ...userProfileProps }) })
51
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(InternalUserProfile, { ...userProfileProps }) })
51
52
  })
52
53
  });
53
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["userProfileProps: UserProfileCtx"],"sources":["../../../src/components/UserProfile/index.tsx"],"sourcesContent":["import type { UserProfileModalProps, UserProfileProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { NavbarMenuButtonRow } from '@/ui/elements/Navbar';\nimport { ProfileCard } from '@/ui/elements/ProfileCard';\n\nimport { USER_PROFILE_CARD_SCROLLBOX_ID } from '../../constants';\nimport { UserProfileContext, withCoreUserGuard } from '../../contexts';\nimport { Flow, localizationKeys } from '../../customizables';\nimport { Route, Switch } from '../../router';\nimport type { UserProfileCtx } from '../../types';\nimport { UserProfileNavbar } from './UserProfileNavbar';\nimport { UserProfileRoutes } from './UserProfileRoutes';\nimport { VerificationSuccessPage } from './VerifyWithLink';\n\nconst _UserProfile = (_: UserProfileProps) => {\n return (\n <Flow.Root flow='userProfile'>\n <Flow.Part>\n <Switch>\n {/* PublicRoutes */}\n <Route path='verify'>\n <VerificationSuccessPage />\n </Route>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nconst AuthenticatedRoutes = withCoreUserGuard(() => {\n const contentRef = React.useRef<HTMLDivElement>(null);\n return (\n <ProfileCard.Root>\n <UserProfileNavbar contentRef={contentRef}>\n <NavbarMenuButtonRow navbarTitleLocalizationKey={localizationKeys('userProfile.navbar.title')} />\n <ProfileCard.Content\n contentRef={contentRef}\n scrollBoxId={USER_PROFILE_CARD_SCROLLBOX_ID}\n >\n <UserProfileRoutes />\n </ProfileCard.Content>\n </UserProfileNavbar>\n </ProfileCard.Root>\n );\n});\n\nexport const UserProfile = withCardStateProvider(_UserProfile);\n\nexport const UserProfileModal = (props: UserProfileModalProps): JSX.Element => {\n const userProfileProps: UserProfileCtx = {\n ...props,\n routing: 'virtual',\n componentName: 'UserProfile',\n mode: 'modal',\n };\n\n return (\n <Route path='user'>\n <UserProfileContext.Provider value={userProfileProps}>\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <UserProfile {...userProfileProps} />\n </div>\n </UserProfileContext.Provider>\n </Route>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,MAAM,gBAAgB,MAAwB;AAC5C,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,oBAAC,KAAK,kBACJ,qBAAC,qBAEC,oBAAC;GAAM,MAAK;aACV,oBAAC,4BAA0B;IACrB,EACR,oBAAC,mBACC,oBAAC,wBAAsB,GACjB,IACD,GACC;GACF;;AAIhB,MAAM,sBAAsB,wBAAwB;CAClD,MAAM,aAAa,MAAM,OAAuB,KAAK;AACrD,QACE,oBAAC,YAAY,kBACX,qBAAC;EAA8B;aAC7B,oBAAC,uBAAoB,4BAA4B,iBAAiB,2BAA2B,GAAI,EACjG,oBAAC,YAAY;GACC;GACZ,aAAa;aAEb,oBAAC,sBAAoB;IACD;GACJ,GACH;EAErB;AAEF,MAAa,cAAc,sBAAsB,aAAa;AAE9D,MAAa,oBAAoB,UAA8C;CAC7E,MAAMA,mBAAmC;EACvC,GAAG;EACH,SAAS;EACT,eAAe;EACf,MAAM;EACP;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,mBAAmB;GAAS,OAAO;aAElC,oBAAC,mBACC,oBAAC,eAAY,GAAI,mBAAoB,GACjC;IACsB;GACxB"}
1
+ {"version":3,"file":"index.js","names":["UserProfile: React.ComponentType<UserProfileProps>","InternalUserProfile: React.ComponentType<WithInternalRouting<UserProfileProps>>","userProfileProps: UserProfileCtx"],"sources":["../../../src/components/UserProfile/index.tsx"],"sourcesContent":["import type { UserProfileModalProps, UserProfileProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { USER_PROFILE_CARD_SCROLLBOX_ID } from '@/constants';\nimport { UserProfileContext, withCoreUserGuard } from '@/contexts';\nimport { Flow, localizationKeys } from '@/customizables';\nimport { withCardStateProvider } from '@/elements/contexts';\nimport { NavbarMenuButtonRow } from '@/elements/Navbar';\nimport { ProfileCard } from '@/elements/ProfileCard';\nimport type { WithInternalRouting } from '@/internal';\nimport { Route, Switch } from '@/router';\nimport type { UserProfileCtx } from '@/types';\n\nimport { UserProfileNavbar } from './UserProfileNavbar';\nimport { UserProfileRoutes } from './UserProfileRoutes';\nimport { VerificationSuccessPage } from './VerifyWithLink';\n\nconst _UserProfile = () => {\n return (\n <Flow.Root flow='userProfile'>\n <Flow.Part>\n <Switch>\n {/* PublicRoutes */}\n <Route path='verify'>\n <VerificationSuccessPage />\n </Route>\n <Route>\n <AuthenticatedRoutes />\n </Route>\n </Switch>\n </Flow.Part>\n </Flow.Root>\n );\n};\n\nconst AuthenticatedRoutes = withCoreUserGuard(() => {\n const contentRef = React.useRef<HTMLDivElement>(null);\n return (\n <ProfileCard.Root>\n <UserProfileNavbar contentRef={contentRef}>\n <NavbarMenuButtonRow navbarTitleLocalizationKey={localizationKeys('userProfile.navbar.title')} />\n <ProfileCard.Content\n contentRef={contentRef}\n scrollBoxId={USER_PROFILE_CARD_SCROLLBOX_ID}\n >\n <UserProfileRoutes />\n </ProfileCard.Content>\n </UserProfileNavbar>\n </ProfileCard.Root>\n );\n});\n\nexport const UserProfile: React.ComponentType<UserProfileProps> = withCardStateProvider(_UserProfile);\n\nconst InternalUserProfile: React.ComponentType<WithInternalRouting<UserProfileProps>> =\n withCardStateProvider(_UserProfile);\n\nexport const UserProfileModal = (props: UserProfileModalProps): JSX.Element => {\n const userProfileProps: UserProfileCtx = {\n ...props,\n routing: 'virtual',\n componentName: 'UserProfile',\n mode: 'modal',\n };\n\n return (\n <Route path='user'>\n <UserProfileContext.Provider value={userProfileProps}>\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <InternalUserProfile {...userProfileProps} />\n </div>\n </UserProfileContext.Provider>\n </Route>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,qBAAqB;AACzB,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,oBAAC,KAAK,kBACJ,qBAAC,qBAEC,oBAAC;GAAM,MAAK;aACV,oBAAC,4BAA0B;IACrB,EACR,oBAAC,mBACC,oBAAC,wBAAsB,GACjB,IACD,GACC;GACF;;AAIhB,MAAM,sBAAsB,wBAAwB;CAClD,MAAM,aAAa,MAAM,OAAuB,KAAK;AACrD,QACE,oBAAC,YAAY,kBACX,qBAAC;EAA8B;aAC7B,oBAAC,uBAAoB,4BAA4B,iBAAiB,2BAA2B,GAAI,EACjG,oBAAC,YAAY;GACC;GACZ,aAAa;aAEb,oBAAC,sBAAoB;IACD;GACJ,GACH;EAErB;AAEF,MAAaA,cAAqD,sBAAsB,aAAa;AAErG,MAAMC,sBACJ,sBAAsB,aAAa;AAErC,MAAa,oBAAoB,UAA8C;CAC7E,MAAMC,mBAAmC;EACvC,GAAG;EACH,SAAS;EACT,eAAe;EACf,MAAM;EACP;AAED,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,mBAAmB;GAAS,OAAO;aAElC,oBAAC,mBACC,oBAAC,uBAAoB,GAAI,mBAAoB,GACzC;IACsB;GACxB"}
@@ -9,7 +9,7 @@ import { UserVerificationFactorTwoTOTP } from "./UserVerificationFactorTwoTOTP.j
9
9
  import { UVFactorTwoAlternativeMethods } from "./UVFactorTwoAlternativeMethods.js";
10
10
  import { UVFactorTwoBackupCodeCard } from "./UVFactorTwoBackupCodeCard.js";
11
11
  import { UVFactorTwoPhoneCodeCard } from "./UVFactorTwoPhoneCodeCard.js";
12
- import React, { useEffect, useMemo } from "react";
12
+ import { useEffect, useMemo } from "react";
13
13
  import { jsx } from "@emotion/react/jsx-runtime";
14
14
 
15
15
  //#region src/components/UserVerification/UserVerificationFactorTwo.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"UserVerificationFactorTwo.js","names":["SUPPORTED_STRATEGIES: SessionVerificationSecondFactor['strategy'][]"],"sources":["../../../src/components/UserVerification/UserVerificationFactorTwo.tsx"],"sourcesContent":["import type { SessionVerificationResource, SessionVerificationSecondFactor } from '@clerk/shared/types';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { withCardStateProvider } from '@/ui/elements/contexts';\nimport { LoadingCard } from '@/ui/elements/LoadingCard';\n\nimport { useRouter } from '../../router';\nimport { useSecondFactorSelection } from '../SignIn/useSecondFactorSelection';\nimport { secondFactorsAreEqual } from './useReverificationAlternativeStrategies';\nimport { UserVerificationFactorTwoTOTP } from './UserVerificationFactorTwoTOTP';\nimport { useUserVerificationSession, withUserVerificationSessionGuard } from './useUserVerificationSession';\nimport { sortByPrimaryFactor } from './utils';\nimport { UVFactorTwoAlternativeMethods } from './UVFactorTwoAlternativeMethods';\nimport { UVFactorTwoBackupCodeCard } from './UVFactorTwoBackupCodeCard';\nimport { UVFactorTwoPhoneCodeCard } from './UVFactorTwoPhoneCodeCard';\n\nconst SUPPORTED_STRATEGIES: SessionVerificationSecondFactor['strategy'][] = [\n 'phone_code',\n 'totp',\n 'backup_code',\n] as const;\n\nexport function UserVerificationFactorTwoComponent(): JSX.Element {\n const { navigate } = useRouter();\n const { data } = useUserVerificationSession();\n const sessionVerification = data as SessionVerificationResource;\n\n const availableFactors = useMemo(() => {\n return (\n sessionVerification.supportedSecondFactors\n ?.filter(factor => SUPPORTED_STRATEGIES.includes(factor.strategy))\n ?.sort(sortByPrimaryFactor) || null\n );\n }, [sessionVerification.supportedSecondFactors]);\n\n const {\n currentFactor,\n factorAlreadyPrepared,\n handleFactorPrepare,\n selectFactor,\n showAllStrategies,\n toggleAllStrategies,\n } = useSecondFactorSelection<SessionVerificationSecondFactor>(availableFactors);\n\n const secondFactorsExcludingCurrent = useMemo(\n () => availableFactors?.filter(factor => !secondFactorsAreEqual(factor, currentFactor)),\n [availableFactors, currentFactor],\n );\n\n const hasAlternativeStrategies = useMemo(\n () => (secondFactorsExcludingCurrent && secondFactorsExcludingCurrent.length > 0) || false,\n [secondFactorsExcludingCurrent],\n );\n\n useEffect(() => {\n if (sessionVerification.status === 'needs_first_factor') {\n void navigate('../');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!currentFactor) {\n return <LoadingCard />;\n }\n\n if (showAllStrategies && hasAlternativeStrategies) {\n return (\n <UVFactorTwoAlternativeMethods\n supportedSecondFactors={secondFactorsExcludingCurrent || null}\n onBackLinkClick={toggleAllStrategies}\n onFactorSelected={selectFactor}\n />\n );\n }\n\n switch (currentFactor?.strategy) {\n case 'phone_code':\n return (\n <UVFactorTwoPhoneCodeCard\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n showAlternativeMethods={hasAlternativeStrategies}\n />\n );\n case 'totp':\n return (\n <UserVerificationFactorTwoTOTP\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n showAlternativeMethods={hasAlternativeStrategies}\n />\n );\n case 'backup_code':\n return <UVFactorTwoBackupCodeCard onShowAlternativeMethodsClicked={toggleAllStrategies} />;\n default:\n return <LoadingCard />;\n }\n}\n\nexport const UserVerificationFactorTwo = withUserVerificationSessionGuard(\n withCardStateProvider(UserVerificationFactorTwoComponent),\n);\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,uBAAsE;CAC1E;CACA;CACA;CACD;AAED,SAAgB,qCAAkD;CAChE,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,EAAE,SAAS,4BAA4B;CAC7C,MAAM,sBAAsB;CAE5B,MAAM,mBAAmB,cAAc;AACrC,SACE,oBAAoB,wBAChB,QAAO,WAAU,qBAAqB,SAAS,OAAO,SAAS,CAAC,EAChE,KAAK,oBAAoB,IAAI;IAElC,CAAC,oBAAoB,uBAAuB,CAAC;CAEhD,MAAM,EACJ,eACA,uBACA,qBACA,cACA,mBACA,wBACE,yBAA0D,iBAAiB;CAE/E,MAAM,gCAAgC,cAC9B,kBAAkB,QAAO,WAAU,CAAC,sBAAsB,QAAQ,cAAc,CAAC,EACvF,CAAC,kBAAkB,cAAc,CAClC;CAED,MAAM,2BAA2B,cACxB,iCAAiC,8BAA8B,SAAS,KAAM,OACrF,CAAC,8BAA8B,CAChC;AAED,iBAAgB;AACd,MAAI,oBAAoB,WAAW,qBACjC,CAAK,SAAS,MAAM;IAGrB,EAAE,CAAC;AAEN,KAAI,CAAC,cACH,QAAO,oBAAC,gBAAc;AAGxB,KAAI,qBAAqB,yBACvB,QACE,oBAAC;EACC,wBAAwB,iCAAiC;EACzD,iBAAiB;EACjB,kBAAkB;GAClB;AAIN,SAAQ,eAAe,UAAvB;EACE,KAAK,aACH,QACE,oBAAC;GACwB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;GACjC,wBAAwB;IACxB;EAEN,KAAK,OACH,QACE,oBAAC;GACwB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;GACjC,wBAAwB;IACxB;EAEN,KAAK,cACH,QAAO,oBAAC,6BAA0B,iCAAiC,sBAAuB;EAC5F,QACE,QAAO,oBAAC,gBAAc;;;AAI5B,MAAa,4BAA4B,iCACvC,sBAAsB,mCAAmC,CAC1D"}
1
+ {"version":3,"file":"UserVerificationFactorTwo.js","names":["SUPPORTED_STRATEGIES: SessionVerificationSecondFactor['strategy'][]"],"sources":["../../../src/components/UserVerification/UserVerificationFactorTwo.tsx"],"sourcesContent":["import type { SessionVerificationResource, SessionVerificationSecondFactor } from '@clerk/shared/types';\nimport { useEffect, useMemo } from 'react';\n\nimport { withCardStateProvider } from '@/elements/contexts';\nimport { LoadingCard } from '@/elements/LoadingCard';\nimport { useRouter } from '@/router';\n\nimport { useSecondFactorSelection } from '../SignIn/useSecondFactorSelection';\nimport { secondFactorsAreEqual } from './useReverificationAlternativeStrategies';\nimport { UserVerificationFactorTwoTOTP } from './UserVerificationFactorTwoTOTP';\nimport { useUserVerificationSession, withUserVerificationSessionGuard } from './useUserVerificationSession';\nimport { sortByPrimaryFactor } from './utils';\nimport { UVFactorTwoAlternativeMethods } from './UVFactorTwoAlternativeMethods';\nimport { UVFactorTwoBackupCodeCard } from './UVFactorTwoBackupCodeCard';\nimport { UVFactorTwoPhoneCodeCard } from './UVFactorTwoPhoneCodeCard';\n\nconst SUPPORTED_STRATEGIES: SessionVerificationSecondFactor['strategy'][] = [\n 'phone_code',\n 'totp',\n 'backup_code',\n] as const;\n\nexport function UserVerificationFactorTwoComponent(): JSX.Element {\n const { navigate } = useRouter();\n const { data } = useUserVerificationSession();\n const sessionVerification = data as SessionVerificationResource;\n\n const availableFactors = useMemo(() => {\n return (\n sessionVerification.supportedSecondFactors\n ?.filter(factor => SUPPORTED_STRATEGIES.includes(factor.strategy))\n ?.sort(sortByPrimaryFactor) || null\n );\n }, [sessionVerification.supportedSecondFactors]);\n\n const {\n currentFactor,\n factorAlreadyPrepared,\n handleFactorPrepare,\n selectFactor,\n showAllStrategies,\n toggleAllStrategies,\n } = useSecondFactorSelection<SessionVerificationSecondFactor>(availableFactors);\n\n const secondFactorsExcludingCurrent = useMemo(\n () => availableFactors?.filter(factor => !secondFactorsAreEqual(factor, currentFactor)),\n [availableFactors, currentFactor],\n );\n\n const hasAlternativeStrategies = useMemo(\n () => (secondFactorsExcludingCurrent && secondFactorsExcludingCurrent.length > 0) || false,\n [secondFactorsExcludingCurrent],\n );\n\n useEffect(() => {\n if (sessionVerification.status === 'needs_first_factor') {\n void navigate('../');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!currentFactor) {\n return <LoadingCard />;\n }\n\n if (showAllStrategies && hasAlternativeStrategies) {\n return (\n <UVFactorTwoAlternativeMethods\n supportedSecondFactors={secondFactorsExcludingCurrent || null}\n onBackLinkClick={toggleAllStrategies}\n onFactorSelected={selectFactor}\n />\n );\n }\n\n switch (currentFactor?.strategy) {\n case 'phone_code':\n return (\n <UVFactorTwoPhoneCodeCard\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n showAlternativeMethods={hasAlternativeStrategies}\n />\n );\n case 'totp':\n return (\n <UserVerificationFactorTwoTOTP\n factorAlreadyPrepared={factorAlreadyPrepared}\n onFactorPrepare={handleFactorPrepare}\n factor={currentFactor}\n onShowAlternativeMethodsClicked={toggleAllStrategies}\n showAlternativeMethods={hasAlternativeStrategies}\n />\n );\n case 'backup_code':\n return <UVFactorTwoBackupCodeCard onShowAlternativeMethodsClicked={toggleAllStrategies} />;\n default:\n return <LoadingCard />;\n }\n}\n\nexport const UserVerificationFactorTwo = withUserVerificationSessionGuard(\n withCardStateProvider(UserVerificationFactorTwoComponent),\n);\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,uBAAsE;CAC1E;CACA;CACA;CACD;AAED,SAAgB,qCAAkD;CAChE,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,EAAE,SAAS,4BAA4B;CAC7C,MAAM,sBAAsB;CAE5B,MAAM,mBAAmB,cAAc;AACrC,SACE,oBAAoB,wBAChB,QAAO,WAAU,qBAAqB,SAAS,OAAO,SAAS,CAAC,EAChE,KAAK,oBAAoB,IAAI;IAElC,CAAC,oBAAoB,uBAAuB,CAAC;CAEhD,MAAM,EACJ,eACA,uBACA,qBACA,cACA,mBACA,wBACE,yBAA0D,iBAAiB;CAE/E,MAAM,gCAAgC,cAC9B,kBAAkB,QAAO,WAAU,CAAC,sBAAsB,QAAQ,cAAc,CAAC,EACvF,CAAC,kBAAkB,cAAc,CAClC;CAED,MAAM,2BAA2B,cACxB,iCAAiC,8BAA8B,SAAS,KAAM,OACrF,CAAC,8BAA8B,CAChC;AAED,iBAAgB;AACd,MAAI,oBAAoB,WAAW,qBACjC,CAAK,SAAS,MAAM;IAGrB,EAAE,CAAC;AAEN,KAAI,CAAC,cACH,QAAO,oBAAC,gBAAc;AAGxB,KAAI,qBAAqB,yBACvB,QACE,oBAAC;EACC,wBAAwB,iCAAiC;EACzD,iBAAiB;EACjB,kBAAkB;GAClB;AAIN,SAAQ,eAAe,UAAvB;EACE,KAAK,aACH,QACE,oBAAC;GACwB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;GACjC,wBAAwB;IACxB;EAEN,KAAK,OACH,QACE,oBAAC;GACwB;GACvB,iBAAiB;GACjB,QAAQ;GACR,iCAAiC;GACjC,wBAAwB;IACxB;EAEN,KAAK,cACH,QAAO,oBAAC,6BAA0B,iCAAiC,sBAAuB;EAC5F,QACE,QAAO,oBAAC,gBAAc;;;AAI5B,MAAa,4BAA4B,iCACvC,sBAAsB,mCAAmC,CAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["UserVerification: React.ComponentType<__internal_UserVerificationProps>"],"sources":["../../../src/components/UserVerification/index.tsx"],"sourcesContent":["import type { __internal_UserVerificationModalProps, __internal_UserVerificationProps } from '@clerk/shared/types';\nimport React, { useEffect } from 'react';\n\nimport { UserVerificationContext, withCoreSessionSwitchGuard } from '../../contexts';\nimport { Flow } from '../../customizables';\nimport { Route, Switch } from '../../router';\nimport { UserVerificationFactorOne } from './UserVerificationFactorOne';\nimport { UserVerificationFactorTwo } from './UserVerificationFactorTwo';\nimport { useUserVerificationSession } from './useUserVerificationSession';\n\nfunction UserVerificationRoutes(): JSX.Element {\n const { invalidate } = useUserVerificationSession();\n useEffect(() => {\n return () => {\n invalidate();\n };\n }, []);\n return (\n <Flow.Root flow='userVerification'>\n <Switch>\n <Route path='factor-two'>\n <UserVerificationFactorTwo />\n </Route>\n <Route index>\n <UserVerificationFactorOne />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nUserVerificationRoutes.displayName = 'UserVerification';\n\nconst UserVerification: React.ComponentType<__internal_UserVerificationProps> =\n withCoreSessionSwitchGuard(UserVerificationRoutes);\n\nconst UserVerificationModal = (props: __internal_UserVerificationModalProps): JSX.Element => {\n return (\n <Route path='user-verification'>\n <UserVerificationContext.Provider\n value={{\n componentName: 'UserVerification',\n ...props,\n routing: 'virtual',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <UserVerification\n {...props}\n routing='virtual'\n />\n </div>\n </UserVerificationContext.Provider>\n </Route>\n );\n};\n\nexport { UserVerification, UserVerificationModal };\n"],"mappings":";;;;;;;;;;;;AAUA,SAAS,yBAAsC;CAC7C,MAAM,EAAE,eAAe,4BAA4B;AACnD,iBAAgB;AACd,eAAa;AACX,eAAY;;IAEb,EAAE,CAAC;AACN,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC,qBACC,oBAAC;GAAM,MAAK;aACV,oBAAC,8BAA4B;IACvB,EACR,oBAAC;GAAM;aACL,oBAAC,8BAA4B;IACvB,IACD;GACC;;AAIhB,uBAAuB,cAAc;AAErC,MAAMA,mBACJ,2BAA2B,uBAAuB;AAEpD,MAAM,yBAAyB,UAA8D;AAC3F,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,wBAAwB;GACvB,OAAO;IACL,eAAe;IACf,GAAG;IACH,SAAS;IACV;aAGD,oBAAC,mBACC,oBAAC;IACC,GAAI;IACJ,SAAQ;KACR,GACE;IAC2B;GAC7B"}
1
+ {"version":3,"file":"index.js","names":["UserVerification: React.ComponentType<WithInternalRouting<__internal_UserVerificationProps>>"],"sources":["../../../src/components/UserVerification/index.tsx"],"sourcesContent":["import type { __internal_UserVerificationModalProps, __internal_UserVerificationProps } from '@clerk/shared/types';\nimport React, { useEffect } from 'react';\n\nimport { UserVerificationContext, withCoreSessionSwitchGuard } from '@/contexts';\nimport { Flow } from '@/customizables';\nimport type { WithInternalRouting } from '@/internal';\nimport { Route, Switch } from '@/router';\n\nimport { UserVerificationFactorOne } from './UserVerificationFactorOne';\nimport { UserVerificationFactorTwo } from './UserVerificationFactorTwo';\nimport { useUserVerificationSession } from './useUserVerificationSession';\n\nfunction UserVerificationRoutes(): JSX.Element {\n const { invalidate } = useUserVerificationSession();\n useEffect(() => {\n return () => {\n invalidate();\n };\n }, []);\n return (\n <Flow.Root flow='userVerification'>\n <Switch>\n <Route path='factor-two'>\n <UserVerificationFactorTwo />\n </Route>\n <Route index>\n <UserVerificationFactorOne />\n </Route>\n </Switch>\n </Flow.Root>\n );\n}\n\nUserVerificationRoutes.displayName = 'UserVerification';\n\nconst UserVerification: React.ComponentType<WithInternalRouting<__internal_UserVerificationProps>> =\n withCoreSessionSwitchGuard(UserVerificationRoutes);\n\nconst UserVerificationModal = (props: __internal_UserVerificationModalProps): JSX.Element => {\n return (\n <Route path='user-verification'>\n <UserVerificationContext.Provider\n value={{\n componentName: 'UserVerification',\n ...props,\n routing: 'virtual',\n }}\n >\n {/*TODO: Used by InvisibleRootBox, can we simplify? */}\n <div>\n <UserVerification\n {...props}\n routing='virtual'\n />\n </div>\n </UserVerificationContext.Provider>\n </Route>\n );\n};\n\nexport { UserVerification, UserVerificationModal };\n"],"mappings":";;;;;;;;;;;;AAYA,SAAS,yBAAsC;CAC7C,MAAM,EAAE,eAAe,4BAA4B;AACnD,iBAAgB;AACd,eAAa;AACX,eAAY;;IAEb,EAAE,CAAC;AACN,QACE,oBAAC,KAAK;EAAK,MAAK;YACd,qBAAC,qBACC,oBAAC;GAAM,MAAK;aACV,oBAAC,8BAA4B;IACvB,EACR,oBAAC;GAAM;aACL,oBAAC,8BAA4B;IACvB,IACD;GACC;;AAIhB,uBAAuB,cAAc;AAErC,MAAMA,mBACJ,2BAA2B,uBAAuB;AAEpD,MAAM,yBAAyB,UAA8D;AAC3F,QACE,oBAAC;EAAM,MAAK;YACV,oBAAC,wBAAwB;GACvB,OAAO;IACL,eAAe;IACf,GAAG;IACH,SAAS;IACV;aAGD,oBAAC,mBACC,oBAAC;IACC,GAAI;IACJ,SAAQ;KACR,GACE;IAC2B;GAC7B"}
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["243"],{9302:function(e,t,a){a.d(t,{A:()=>P});var r=a(4518),i=a(5543),n=a(5074),o=a(7697),l=a(3269),s=a(2454),d=a(1475),c=a(3549),u=a(6153),g=a(155),h=a(6370),p=a(5485),m=a(4468),f=a(8640),z=a(6245),v=a(8272),b=a(7068),C=a(2861),Y=a(3934),$=a(3100),x=a(5377),O=a(3689);let P=(0,l.dm)(e=>{let t=(0,l.f0)(),a=(0,z.X)({onNextStep:()=>t.setError(void 0)}),P=n.useRef(null),{createOrganization:S,isLoaded:w,setActive:k,userMemberships:A}=(0,i.D_)({userMemberships:O.mu.userMemberships}),{organization:R}=(0,i.Z5)(),{organizationSettings:F}=(0,o.O)(),[T,_]=n.useState(),y=(0,f.tJ)("name","",{type:"text",label:(0,C.G)("formFieldLabel__organizationName"),placeholder:(0,C.G)("formFieldInputPlaceholder__organizationName")}),I=(0,f.tJ)("slug","",{type:"text",label:(0,C.G)("formFieldLabel__organizationSlug"),placeholder:(0,C.G)("formFieldInputPlaceholder__organizationSlug")}),D=!!y.value,G=!F.slug.disabled,M=async r=>{if((r.preventDefault(),D)&&w)try{let t={name:y.value};G&&(t.slug=I.value);let r=await S(t);if(T&&await r.setLogo({file:T}),P.current=r,await k({organization:r}),A.revalidate?.(),e.skipInvitationScreen??1===r.maxAllowedMemberships)return B();a.nextStep()}catch(e){(0,m.H4)(e,[y,I],t.setError)}},B=()=>{e.navigateAfterCreateOrganization?.(P.current),e.onComplete?.()},U=e=>{I.setValue(e)},V="organizationList"===e.flow?"subtitle":void 0;return(0,r.FD)(z.s,{...a.props,children:[(0,r.Y)(c.M,{headerTitle:e?.startPage?.headerTitle,headerSubtitle:e?.startPage?.headerSubtitle,headerTitleTextVariant:"h2",headerSubtitleTextVariant:V,sx:e=>({minHeight:e.sizes.$60,gap:e.space.$6,textAlign:"left"}),children:(0,r.FD)(s.l.Root,{onSubmit:M,sx:e=>({gap:e.space.$6}),children:[(0,r.Y)(v.fv,{children:(0,r.Y)(x.i,{organization:{name:y.value},onAvatarChange:async e=>await _(e),onAvatarRemove:T?()=>(t.setIdle(),_(null)):null,avatarPreviewPlaceholder:(0,r.Y)(g.K,{variant:"ghost","aria-label":"Upload organization logo",icon:(0,r.Y)(v.In,{size:"md",icon:b.A,sx:e=>({color:e.colors.$colorMutedForeground,transitionDuration:e.transitionDuration.$controls})}),sx:e=>({width:e.sizes.$16,height:e.sizes.$16,borderRadius:e.radii.$md,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$dashed,borderColor:e.colors.$borderAlpha200,backgroundColor:e.colors.$neutralAlpha50,":hover":{backgroundColor:e.colors.$neutralAlpha50,svg:{transform:"scale(1.2)"}}})})})}),(0,r.Y)(s.l.ControlRow,{elementId:y.id,children:(0,r.Y)(s.l.PlainInput,{...y.props,onChange:e=>{y.setValue(e.target.value),U((0,p.e)(e.target.value))},isRequired:!0,autoFocus:!0,ignorePasswordManager:!0})}),G&&(0,r.Y)(s.l.ControlRow,{elementId:I.id,children:(0,r.Y)(s.l.PlainInput,{...I.props,onChange:e=>{U(e.target.value)},isRequired:!0,pattern:"^(?=.*[a-z0-9])[a-z0-9\\-]+$",ignorePasswordManager:!0})}),(0,r.FD)(d.c,{sx:e=>({marginTop:e.space.$none}),children:[(0,r.Y)(s.l.SubmitButton,{block:!1,isDisabled:!D,localizationKey:(0,C.G)("createOrganization.formButtonSubmit")}),e.onCancel&&(0,r.Y)(s.l.ResetButton,{localizationKey:(0,C.G)("userProfile.formButtonReset"),block:!1,onClick:e.onCancel})]})]})}),(0,r.Y)(c.M,{headerTitle:(0,C.G)("organizationProfile.invitePage.title"),headerTitleTextVariant:"h2",headerSubtitleTextVariant:V,sx:e=>({minHeight:e.sizes.$60,textAlign:"left"}),children:R&&(0,r.Y)(Y.B,{resetButtonLabel:(0,C.G)("createOrganization.invitePage.formButtonReset"),onSuccess:a.nextStep,onReset:B})}),(0,r.FD)(v.fv,{children:[(0,r.Y)(u.Y.Root,{children:(0,r.Y)(u.Y.Title,{localizationKey:(0,C.G)("organizationProfile.invitePage.title"),sx:{textAlign:"left"}})}),(0,r.Y)(h.B,{contents:(0,r.Y)($.k,{}),sx:e=>({minHeight:e.sizes.$60}),onFinish:B})]})]})})},4472:function(e,t,a){a.r(t),a.d(t,{CreateOrganization:()=>z,CreateOrganizationModal:()=>v});var r=a(4518),i=a(3269),n=a(3264),o=a(1),l=a(4607),s=a(7831),d=a(2265),c=a(5543),u=a(6088),g=a(2861),h=a(180),p=a(9302);let m=(0,i.dm)(()=>{let{closeCreateOrganization:e}=(0,c.ho)(),{mode:t,navigateAfterCreateOrganization:a,skipInvitationScreen:n}=(0,o.W)(),l=(0,i.f0)(),{showDevModeNotice:s}=(0,h.Q)();return(0,r.FD)(u.Z.Root,{sx:e=>({width:e.sizes.$108}),children:[(0,r.FD)(u.Z.Content,{sx:e=>({padding:`${e.space.$4} ${e.space.$5} ${s?e.space.$12:e.space.$6}`}),children:[(0,r.Y)(u.Z.Alert,{children:l.error}),(0,r.Y)(p.A,{skipInvitationScreen:n,startPage:{headerTitle:(0,g.G)("createOrganization.title")},navigateAfterCreateOrganization:a,flow:"default",onComplete:()=>{"modal"===t&&e()}})]}),(0,r.Y)(u.Z.Footer,{})]})}),f=(0,n.G)(()=>(0,r.Y)(m,{})),z=(0,i.dm)(()=>(0,r.Y)(l.n.Root,{flow:"createOrganization",children:(0,r.Y)(l.n.Part,{children:(0,r.Y)(s.d,{children:(0,r.Y)(d.q,{children:(0,r.Y)(f,{})})})})})),v=e=>{let t={...e,routing:"virtual",componentName:"CreateOrganization",mode:"modal"};return(0,r.Y)(d.q,{path:"createOrganization",children:(0,r.Y)(o.$.Provider,{value:t,children:(0,r.Y)("div",{children:(0,r.Y)(z,{})})})})}},1:function(e,t,a){a.d(t,{$:()=>l,W:()=>s});var r=a(5074),i=a(7697),n=a(4964),o=a(2117);let l=(0,r.createContext)(null),s=()=>{let e=(0,r.useContext)(l),{navigate:t}=(0,n.r)(),{displayConfig:a}=(0,i.O)();if(!e||"CreateOrganization"!==e.componentName)throw Error("Clerk: useCreateOrganizationContext called outside CreateOrganization.");let{componentName:s,...d}=e;return{...d,skipInvitationScreen:d.skipInvitationScreen||!1,navigateAfterCreateOrganization:e=>"function"==typeof d.afterCreateOrganizationUrl?t(d.afterCreateOrganizationUrl(e)):d.afterCreateOrganizationUrl?t((0,o.tR)({urlWithParam:d.afterCreateOrganizationUrl,entity:e})):t(a.afterCreateOrganizationUrl),componentName:s}}}}]);
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["243"],{9302:function(e,t,a){a.d(t,{A:()=>P});var r=a(4518),i=a(1210),n=a(5074),o=a(7697),l=a(3269),s=a(2454),d=a(1475),c=a(3549),u=a(6153),g=a(155),h=a(6370),p=a(5485),m=a(4468),f=a(8640),z=a(6245),v=a(8272),b=a(7068),C=a(2861),Y=a(3934),$=a(3100),x=a(5377),O=a(3689);let P=(0,l.dm)(e=>{let t=(0,l.f0)(),a=(0,z.X)({onNextStep:()=>t.setError(void 0)}),P=n.useRef(null),{createOrganization:S,isLoaded:w,setActive:k,userMemberships:A}=(0,i.D_)({userMemberships:O.mu.userMemberships}),{organization:R}=(0,i.Z5)(),{organizationSettings:F}=(0,o.O)(),[T,_]=n.useState(),y=(0,f.tJ)("name","",{type:"text",label:(0,C.G)("formFieldLabel__organizationName"),placeholder:(0,C.G)("formFieldInputPlaceholder__organizationName")}),I=(0,f.tJ)("slug","",{type:"text",label:(0,C.G)("formFieldLabel__organizationSlug"),placeholder:(0,C.G)("formFieldInputPlaceholder__organizationSlug")}),D=!!y.value,G=!F.slug.disabled,M=async r=>{if((r.preventDefault(),D)&&w)try{let t={name:y.value};G&&(t.slug=I.value);let r=await S(t);if(T&&await r.setLogo({file:T}),P.current=r,await k({organization:r}),A.revalidate?.(),e.skipInvitationScreen??1===r.maxAllowedMemberships)return B();a.nextStep()}catch(e){(0,m.H4)(e,[y,I],t.setError)}},B=()=>{e.navigateAfterCreateOrganization?.(P.current),e.onComplete?.()},U=e=>{I.setValue(e)},V="organizationList"===e.flow?"subtitle":void 0;return(0,r.FD)(z.s,{...a.props,children:[(0,r.Y)(c.M,{headerTitle:e?.startPage?.headerTitle,headerSubtitle:e?.startPage?.headerSubtitle,headerTitleTextVariant:"h2",headerSubtitleTextVariant:V,sx:e=>({minHeight:e.sizes.$60,gap:e.space.$6,textAlign:"left"}),children:(0,r.FD)(s.l.Root,{onSubmit:M,sx:e=>({gap:e.space.$6}),children:[(0,r.Y)(v.fv,{children:(0,r.Y)(x.i,{organization:{name:y.value},onAvatarChange:async e=>await _(e),onAvatarRemove:T?()=>(t.setIdle(),_(null)):null,avatarPreviewPlaceholder:(0,r.Y)(g.K,{variant:"ghost","aria-label":"Upload organization logo",icon:(0,r.Y)(v.In,{size:"md",icon:b.A,sx:e=>({color:e.colors.$colorMutedForeground,transitionDuration:e.transitionDuration.$controls})}),sx:e=>({width:e.sizes.$16,height:e.sizes.$16,borderRadius:e.radii.$md,borderWidth:e.borderWidths.$normal,borderStyle:e.borderStyles.$dashed,borderColor:e.colors.$borderAlpha200,backgroundColor:e.colors.$neutralAlpha50,":hover":{backgroundColor:e.colors.$neutralAlpha50,svg:{transform:"scale(1.2)"}}})})})}),(0,r.Y)(s.l.ControlRow,{elementId:y.id,children:(0,r.Y)(s.l.PlainInput,{...y.props,onChange:e=>{y.setValue(e.target.value),U((0,p.e)(e.target.value))},isRequired:!0,autoFocus:!0,ignorePasswordManager:!0})}),G&&(0,r.Y)(s.l.ControlRow,{elementId:I.id,children:(0,r.Y)(s.l.PlainInput,{...I.props,onChange:e=>{U(e.target.value)},isRequired:!0,pattern:"^(?=.*[a-z0-9])[a-z0-9\\-]+$",ignorePasswordManager:!0})}),(0,r.FD)(d.c,{sx:e=>({marginTop:e.space.$none}),children:[(0,r.Y)(s.l.SubmitButton,{block:!1,isDisabled:!D,localizationKey:(0,C.G)("createOrganization.formButtonSubmit")}),e.onCancel&&(0,r.Y)(s.l.ResetButton,{localizationKey:(0,C.G)("userProfile.formButtonReset"),block:!1,onClick:e.onCancel})]})]})}),(0,r.Y)(c.M,{headerTitle:(0,C.G)("organizationProfile.invitePage.title"),headerTitleTextVariant:"h2",headerSubtitleTextVariant:V,sx:e=>({minHeight:e.sizes.$60,textAlign:"left"}),children:R&&(0,r.Y)(Y.B,{resetButtonLabel:(0,C.G)("createOrganization.invitePage.formButtonReset"),onSuccess:a.nextStep,onReset:B})}),(0,r.FD)(v.fv,{children:[(0,r.Y)(u.Y.Root,{children:(0,r.Y)(u.Y.Title,{localizationKey:(0,C.G)("organizationProfile.invitePage.title"),sx:{textAlign:"left"}})}),(0,r.Y)(h.B,{contents:(0,r.Y)($.k,{}),sx:e=>({minHeight:e.sizes.$60}),onFinish:B})]})]})})},4472:function(e,t,a){a.r(t),a.d(t,{CreateOrganization:()=>z,CreateOrganizationModal:()=>v});var r=a(4518),i=a(3269),n=a(3264),o=a(1),l=a(4607),s=a(7831),d=a(2265),c=a(1210),u=a(6088),g=a(2861),h=a(180),p=a(9302);let m=(0,i.dm)(()=>{let{closeCreateOrganization:e}=(0,c.ho)(),{mode:t,navigateAfterCreateOrganization:a,skipInvitationScreen:n}=(0,o.W)(),l=(0,i.f0)(),{showDevModeNotice:s}=(0,h.Q)();return(0,r.FD)(u.Z.Root,{sx:e=>({width:e.sizes.$108}),children:[(0,r.FD)(u.Z.Content,{sx:e=>({padding:`${e.space.$4} ${e.space.$5} ${s?e.space.$12:e.space.$6}`}),children:[(0,r.Y)(u.Z.Alert,{children:l.error}),(0,r.Y)(p.A,{skipInvitationScreen:n,startPage:{headerTitle:(0,g.G)("createOrganization.title")},navigateAfterCreateOrganization:a,flow:"default",onComplete:()=>{"modal"===t&&e()}})]}),(0,r.Y)(u.Z.Footer,{})]})}),f=(0,n.G)(()=>(0,r.Y)(m,{})),z=(0,i.dm)(()=>(0,r.Y)(l.n.Root,{flow:"createOrganization",children:(0,r.Y)(l.n.Part,{children:(0,r.Y)(s.d,{children:(0,r.Y)(d.q,{children:(0,r.Y)(f,{})})})})})),v=e=>{let t={...e,routing:"virtual",componentName:"CreateOrganization",mode:"modal"};return(0,r.Y)(d.q,{path:"createOrganization",children:(0,r.Y)(o.$.Provider,{value:t,children:(0,r.Y)("div",{children:(0,r.Y)(z,{})})})})}},1:function(e,t,a){a.d(t,{$:()=>l,W:()=>s});var r=a(5074),i=a(7697),n=a(4964),o=a(2117);let l=(0,r.createContext)(null),s=()=>{let e=(0,r.useContext)(l),{navigate:t}=(0,n.r)(),{displayConfig:a}=(0,i.O)();if(!e||"CreateOrganization"!==e.componentName)throw Error("Clerk: useCreateOrganizationContext called outside CreateOrganization.");let{componentName:s,...d}=e;return{...d,skipInvitationScreen:d.skipInvitationScreen||!1,navigateAfterCreateOrganization:e=>"function"==typeof d.afterCreateOrganizationUrl?t(d.afterCreateOrganizationUrl(e)):d.afterCreateOrganizationUrl?t((0,o.tR)({urlWithParam:d.afterCreateOrganizationUrl,entity:e})):t(a.afterCreateOrganizationUrl),componentName:s}}}}]);
@@ -1,8 +1,8 @@
1
- import { Appearance } from "../internal/appearance.js";
1
+ import { Appearance, Theme } from "../internal/appearance.js";
2
2
 
3
3
  //#region src/customizables/parseAppearance.d.ts
4
4
 
5
- type PublicAppearanceTopLevelKey = keyof Omit<Appearance, 'theme' | 'elements' | 'layout' | 'variables' | 'captcha' | 'cssLayerName'>;
5
+ type PublicAppearanceTopLevelKey = Exclude<keyof Appearance, keyof Theme | 'captcha' | 'cssLayerName' | 'elements' | 'layout' | 'theme' | 'variables'>;
6
6
  type AppearanceCascade = {
7
7
  globalAppearance?: Appearance;
8
8
  appearance?: Appearance;
@@ -1 +1 @@
1
- {"version":3,"file":"parseAppearance.d.ts","names":[],"sources":["../../src/customizables/parseAppearance.ts"],"sourcesContent":[],"mappings":";;;;KAsBK,2BAAA,GAOU,MAP0B,IAO1B,CANb,UAMa,EAAA,OAAA,GAAA,UAAA,GAAA,QAAA,GAAA,WAAA,GAAA,SAAA,GAAA,cAAA,CAAA;AACE,KAHL,iBAAA,GAGK;EAA2B,gBAAA,CAAA,EAFvB,UAEuB;eAD7B;iBACE"}
1
+ {"version":3,"file":"parseAppearance.d.ts","names":[],"sources":["../../src/customizables/parseAppearance.ts"],"sourcesContent":[],"mappings":";;;;KAsBK,2BAAA,GAA8B,OAAA,CAAA,MAC3B,UAD2B,EAAA,MAE3B,KAF2B,GAAA,SAAA,GAAA,cAAA,GAAA,UAAA,GAAA,QAAA,GAAA,OAAA,GAAA,WAAA,CAAA;AAAO,KAK9B,iBAAA,GAL8B;EAK9B,gBAAA,CAAA,EACS,UADQ;EACR,UAAA,CAAA,EACN,UADM;EACN,aAAA,EACE,2BADF,GAAA,kBAAA,GAAA,2BAAA;CACE"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseAppearance.js","names":["defaultOptions: ParsedOptions","defaultCaptchaOptions: ParsedCaptcha","appearanceList: Appearance[]"],"sources":["../../src/customizables/parseAppearance.ts"],"sourcesContent":["import type { DeepPartial } from '@clerk/shared/types';\nimport { fastDeepMergeAndReplace } from '@clerk/shared/utils';\n\nimport { baseTheme, getBaseTheme } from '../baseTheme';\nimport { createInternalTheme, defaultInternalTheme } from '../foundations';\nimport type { Appearance, CaptchaAppearanceOptions, Elements, Options, Theme } from '../internal/appearance';\nimport type { InternalTheme } from '../styledSystem';\nimport {\n createColorScales,\n createFonts,\n createFontSizeScale,\n createFontWeightScale,\n createRadiiUnits,\n createShadowsUnits,\n createSpaceScale,\n} from './parseVariables';\n\nexport type ParsedElements = Elements[];\nexport type ParsedInternalTheme = InternalTheme;\nexport type ParsedOptions = Required<Options>;\nexport type ParsedCaptcha = Required<CaptchaAppearanceOptions>;\n\ntype PublicAppearanceTopLevelKey = keyof Omit<\n Appearance,\n 'theme' | 'elements' | 'layout' | 'variables' | 'captcha' | 'cssLayerName'\n>;\n\nexport type AppearanceCascade = {\n globalAppearance?: Appearance;\n appearance?: Appearance;\n appearanceKey: PublicAppearanceTopLevelKey | 'impersonationFab' | 'enableOrganizationsPrompt';\n};\n\nexport type ParsedAppearance = {\n parsedElements: ParsedElements;\n parsedInternalTheme: ParsedInternalTheme;\n parsedOptions: ParsedOptions;\n parsedCaptcha: ParsedCaptcha;\n};\n\nconst defaultOptions: ParsedOptions = {\n logoPlacement: 'inside',\n socialButtonsPlacement: 'top',\n socialButtonsVariant: 'auto',\n logoImageUrl: '',\n logoLinkUrl: '',\n showOptionalFields: false,\n helpPageUrl: '',\n privacyPageUrl: '',\n termsPageUrl: '',\n shimmer: true,\n animations: true,\n unsafe_disableDevelopmentModeWarnings: false,\n};\n\nconst defaultCaptchaOptions: ParsedCaptcha = {\n theme: 'auto',\n size: 'normal',\n language: '',\n};\n\n/**\n * Parses the public appearance object.\n * It splits the resulting styles into 2 objects: parsedElements, parsedInternalTheme\n * parsedElements is used by the makeCustomizables HOC to handle per-element styling\n * parsedInternalTheme is used by FlowCard/InternalThemeProvider for generic theming\n * Both are injected by the AppearanceContext\n */\nexport const parseAppearance = (cascade: AppearanceCascade): ParsedAppearance => {\n const { globalAppearance, appearance: componentAppearance, appearanceKey } = cascade;\n\n const appearanceList: Appearance[] = [];\n [globalAppearance, globalAppearance?.[appearanceKey as PublicAppearanceTopLevelKey], componentAppearance].forEach(a =>\n expand(a, appearanceList),\n );\n\n const parsedInternalTheme = parseVariables(appearanceList);\n const parsedOptions = parseOptions(appearanceList);\n const parsedCaptcha = parseCaptcha(appearanceList);\n\n if (\n !appearanceList.find(a => {\n //@ts-expect-error not public api\n return !!a.simpleStyles;\n })\n ) {\n appearanceList.unshift(baseTheme);\n }\n\n const parsedElements = parseElements(\n appearanceList.map(appearance => {\n if (!appearance.elements || typeof appearance.elements !== 'function') {\n return appearance;\n }\n const res = { ...appearance };\n res.elements = appearance.elements({ theme: parsedInternalTheme });\n return res;\n }),\n );\n return { parsedElements, parsedInternalTheme, parsedOptions, parsedCaptcha };\n};\n\nconst expand = (theme: Theme | undefined, cascade: any[]) => {\n if (!theme) {\n return;\n }\n\n const themeProperty = theme.theme;\n\n if (themeProperty !== undefined) {\n (Array.isArray(themeProperty) ? themeProperty : [themeProperty]).forEach(t => {\n if (typeof t === 'string') {\n expand(getBaseTheme(t), cascade);\n } else {\n expand(t as Theme, cascade);\n }\n });\n }\n\n cascade.push(theme);\n};\n\nconst parseElements = (appearances: Appearance[]) => {\n return appearances.map(appearance => ({ ...appearance?.elements }));\n};\n\nconst parseOptions = (appearanceList: Appearance[]) => {\n return { ...defaultOptions, ...appearanceList.reduce((acc, appearance) => ({ ...acc, ...appearance.options }), {}) };\n};\n\nconst parseCaptcha = (appearanceList: Appearance[]) => {\n return {\n ...defaultCaptchaOptions,\n ...appearanceList.reduce((acc, appearance) => {\n if (appearance.captcha) {\n const { theme: captchaTheme, size, language } = appearance.captcha;\n return {\n ...acc,\n ...(captchaTheme && { theme: captchaTheme }),\n ...(size && { size }),\n ...(language && { language }),\n };\n }\n return acc;\n }, {} as Partial<CaptchaAppearanceOptions>),\n };\n};\n\nconst parseVariables = (appearances: Appearance[]) => {\n const res = {} as DeepPartial<InternalTheme>;\n fastDeepMergeAndReplace({ ...defaultInternalTheme }, res);\n appearances.forEach(appearance => {\n fastDeepMergeAndReplace(createInternalThemeFromVariables(appearance), res);\n });\n return res as ParsedInternalTheme;\n};\n\nconst createInternalThemeFromVariables = (theme: Theme | undefined): DeepPartial<InternalTheme> => {\n if (!theme) {\n return {};\n }\n const colors = { ...createColorScales(theme) };\n const radii = { ...createRadiiUnits(theme) };\n const space = { ...createSpaceScale(theme) };\n const fontSizes = { ...createFontSizeScale(theme) };\n const fontWeights = { ...createFontWeightScale(theme) };\n const fonts = { ...createFonts(theme) };\n const shadows = { ...createShadowsUnits(theme) };\n return createInternalTheme({ colors, radii, space, fontSizes, fontWeights, fonts, shadows } as any);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"parseAppearance.js","names":["defaultOptions: ParsedOptions","defaultCaptchaOptions: ParsedCaptcha","appearanceList: Appearance[]"],"sources":["../../src/customizables/parseAppearance.ts"],"sourcesContent":["import type { DeepPartial } from '@clerk/shared/types';\nimport { fastDeepMergeAndReplace } from '@clerk/shared/utils';\n\nimport { baseTheme, getBaseTheme } from '../baseTheme';\nimport { createInternalTheme, defaultInternalTheme } from '../foundations';\nimport type { Appearance, CaptchaAppearanceOptions, Elements, Options, Theme } from '../internal/appearance';\nimport type { InternalTheme } from '../styledSystem';\nimport {\n createColorScales,\n createFonts,\n createFontSizeScale,\n createFontWeightScale,\n createRadiiUnits,\n createShadowsUnits,\n createSpaceScale,\n} from './parseVariables';\n\nexport type ParsedElements = Elements[];\nexport type ParsedInternalTheme = InternalTheme;\nexport type ParsedOptions = Required<Options>;\nexport type ParsedCaptcha = Required<CaptchaAppearanceOptions>;\n\ntype PublicAppearanceTopLevelKey = Exclude<\n keyof Appearance,\n keyof Theme | 'captcha' | 'cssLayerName' | 'elements' | 'layout' | 'theme' | 'variables'\n>;\n\nexport type AppearanceCascade = {\n globalAppearance?: Appearance;\n appearance?: Appearance;\n appearanceKey: PublicAppearanceTopLevelKey | 'impersonationFab' | 'enableOrganizationsPrompt';\n};\n\nexport type ParsedAppearance = {\n parsedElements: ParsedElements;\n parsedInternalTheme: ParsedInternalTheme;\n parsedOptions: ParsedOptions;\n parsedCaptcha: ParsedCaptcha;\n};\n\nconst defaultOptions: ParsedOptions = {\n logoPlacement: 'inside',\n socialButtonsPlacement: 'top',\n socialButtonsVariant: 'auto',\n logoImageUrl: '',\n logoLinkUrl: '',\n showOptionalFields: false,\n helpPageUrl: '',\n privacyPageUrl: '',\n termsPageUrl: '',\n shimmer: true,\n animations: true,\n unsafe_disableDevelopmentModeWarnings: false,\n};\n\nconst defaultCaptchaOptions: ParsedCaptcha = {\n theme: 'auto',\n size: 'normal',\n language: '',\n};\n\n/**\n * Parses the public appearance object.\n * It splits the resulting styles into 2 objects: parsedElements, parsedInternalTheme\n * parsedElements is used by the makeCustomizables HOC to handle per-element styling\n * parsedInternalTheme is used by FlowCard/InternalThemeProvider for generic theming\n * Both are injected by the AppearanceContext\n */\nexport const parseAppearance = (cascade: AppearanceCascade): ParsedAppearance => {\n const { globalAppearance, appearance: componentAppearance, appearanceKey } = cascade;\n\n const appearanceList: Appearance[] = [];\n [globalAppearance, globalAppearance?.[appearanceKey as PublicAppearanceTopLevelKey], componentAppearance].forEach(a =>\n expand(a, appearanceList),\n );\n\n const parsedInternalTheme = parseVariables(appearanceList);\n const parsedOptions = parseOptions(appearanceList);\n const parsedCaptcha = parseCaptcha(appearanceList);\n\n if (\n !appearanceList.find(a => {\n //@ts-expect-error not public api\n return !!a.simpleStyles;\n })\n ) {\n appearanceList.unshift(baseTheme);\n }\n\n const parsedElements = parseElements(\n appearanceList.map(appearance => {\n if (!appearance.elements || typeof appearance.elements !== 'function') {\n return appearance;\n }\n const res = { ...appearance };\n res.elements = appearance.elements({ theme: parsedInternalTheme });\n return res;\n }),\n );\n return { parsedElements, parsedInternalTheme, parsedOptions, parsedCaptcha };\n};\n\nconst expand = (theme: Theme | undefined, cascade: any[]) => {\n if (!theme) {\n return;\n }\n\n const themeProperty = theme.theme;\n\n if (themeProperty !== undefined) {\n (Array.isArray(themeProperty) ? themeProperty : [themeProperty]).forEach(t => {\n if (typeof t === 'string') {\n expand(getBaseTheme(t), cascade);\n } else {\n expand(t as Theme, cascade);\n }\n });\n }\n\n cascade.push(theme);\n};\n\nconst parseElements = (appearances: Appearance[]) => {\n return appearances.map(appearance => ({ ...appearance?.elements }));\n};\n\nconst parseOptions = (appearanceList: Appearance[]) => {\n return { ...defaultOptions, ...appearanceList.reduce((acc, appearance) => ({ ...acc, ...appearance.options }), {}) };\n};\n\nconst parseCaptcha = (appearanceList: Appearance[]) => {\n return {\n ...defaultCaptchaOptions,\n ...appearanceList.reduce((acc, appearance) => {\n if (appearance.captcha) {\n const { theme: captchaTheme, size, language } = appearance.captcha;\n return {\n ...acc,\n ...(captchaTheme && { theme: captchaTheme }),\n ...(size && { size }),\n ...(language && { language }),\n };\n }\n return acc;\n }, {} as Partial<CaptchaAppearanceOptions>),\n };\n};\n\nconst parseVariables = (appearances: Appearance[]) => {\n const res = {} as DeepPartial<InternalTheme>;\n fastDeepMergeAndReplace({ ...defaultInternalTheme }, res);\n appearances.forEach(appearance => {\n fastDeepMergeAndReplace(createInternalThemeFromVariables(appearance), res);\n });\n return res as ParsedInternalTheme;\n};\n\nconst createInternalThemeFromVariables = (theme: Theme | undefined): DeepPartial<InternalTheme> => {\n if (!theme) {\n return {};\n }\n const colors = { ...createColorScales(theme) };\n const radii = { ...createRadiiUnits(theme) };\n const space = { ...createSpaceScale(theme) };\n const fontSizes = { ...createFontSizeScale(theme) };\n const fontWeights = { ...createFontWeightScale(theme) };\n const fonts = { ...createFonts(theme) };\n const shadows = { ...createShadowsUnits(theme) };\n return createInternalTheme({ colors, radii, space, fontSizes, fontWeights, fonts, shadows } as any);\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["533"],{7334:function(e,i,n){n.r(i),n.d(i,{EnableOrganizationsPrompt:()=>f});var r=n(4518),t=n(5543),o=n(8802),a=n(5074),s=n(7697),l=n(6705),d=n(9406),c=n(1464),p=n(8272),h=n(1986),g=n(8307);let u=({caller:e,onSuccess:i,onClose:n})=>{let d=(0,t.ho)(),[c,u]=(0,a.useState)(!1),[f,b]=(0,a.useState)(!1),[x,v]=(0,a.useState)(!1),k=(0,a.useRef)(null),y=(0,s.O)(),z=!e.startsWith("use"),$=void 0!==y?.organizationSettings.forceOrganizationSelection;return(0,r.Y)(h.Z,{children:(0,r.Y)(l.Modal,{canCloseModal:!1,containerSx:()=>({alignItems:"center"}),initialFocusRef:k,children:(0,r.FD)(g.Uw,{sx:()=>({display:"flex",flexDirection:"column",width:"30rem",maxWidth:"calc(100vw - 2rem)"}),children:[(0,r.FD)(p.so,{direction:"col",sx:e=>({padding:`${e.sizes.$4} ${e.sizes.$6}`,paddingBottom:e.sizes.$4,gap:e.sizes.$2}),children:[(0,r.FD)(p.so,{as:"header",align:"center",sx:e=>({gap:e.sizes.$2}),children:[(0,r.Y)(Y,{isEnabled:f}),(0,r.Y)("h1",{css:[g.mk,(0,o.AH)`
1
+ "use strict";(globalThis.webpackChunk_clerk_ui=globalThis.webpackChunk_clerk_ui||[]).push([["533"],{7334:function(e,i,n){n.r(i),n.d(i,{EnableOrganizationsPrompt:()=>f});var r=n(4518),t=n(1210),o=n(8802),a=n(5074),s=n(7697),l=n(6705),d=n(9406),c=n(1464),p=n(8272),h=n(1986),g=n(8307);let u=({caller:e,onSuccess:i,onClose:n})=>{let d=(0,t.ho)(),[c,u]=(0,a.useState)(!1),[f,b]=(0,a.useState)(!1),[x,v]=(0,a.useState)(!1),k=(0,a.useRef)(null),y=(0,s.O)(),z=!e.startsWith("use"),$=void 0!==y?.organizationSettings.forceOrganizationSelection;return(0,r.Y)(h.Z,{children:(0,r.Y)(l.Modal,{canCloseModal:!1,containerSx:()=>({alignItems:"center"}),initialFocusRef:k,children:(0,r.FD)(g.Uw,{sx:()=>({display:"flex",flexDirection:"column",width:"30rem",maxWidth:"calc(100vw - 2rem)"}),children:[(0,r.FD)(p.so,{direction:"col",sx:e=>({padding:`${e.sizes.$4} ${e.sizes.$6}`,paddingBottom:e.sizes.$4,gap:e.sizes.$2}),children:[(0,r.FD)(p.so,{as:"header",align:"center",sx:e=>({gap:e.sizes.$2}),children:[(0,r.Y)(Y,{isEnabled:f}),(0,r.Y)("h1",{css:[g.mk,(0,o.AH)`
2
2
  color: white;
3
3
  font-size: 0.875rem;
4
4
  font-weight: 500;