@aracreate/arm-ui 3.6.0 → 3.7.0
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.
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Ea,b as R,c as vt}from"./chunk-LGJWNA6J.mjs";import{jsx as za}from"react/jsx-runtime";function Ma({width:e="100%",height:r="var(--space-4)",radius:t="var(--radius-2)",circle:a=!1,mb:n,className:o,style:i}){return za("div",{className:["skeleton",o].filter(Boolean).join(" "),"aria-hidden":"true",style:{width:e,height:r,borderRadius:a?"50%":t,marginBottom:n,...i}})}import{Box as ht,Flex as Ba,Text as Na}from"@radix-ui/themes";import{jsx as Tr,jsxs as xt}from"react/jsx-runtime";function bt({title:e,trailing:r,style:t}){let a=typeof e=="string"||typeof e=="number"?Tr(Na,{size:"3",weight:"medium",style:{color:"var(--accent-contrast)"},children:e}):e;return xt(Ba,{align:"center",justify:"between",gap:"3",px:"4",style:{background:"var(--accent-9)",minHeight:"var(--space-7)",...t},children:[a,r]})}function Fa({title:e,trailing:r,children:t,bodyPadding:a="4",style:n}){return xt(ht,{style:{background:"var(--color-panel-solid)",borderRadius:"var(--radius-5)",overflow:"hidden",boxShadow:"var(--shadow-card)",...n},children:[Tr(bt,{title:e,trailing:r}),Tr(ht,{p:a,children:t})]})}import{AlertDialog as he,Button as Ct}from"@radix-ui/themes";var b={contentMax:"calc(15 * var(--space-9) + var(--space-5))",accountCardW:"calc(3 * var(--space-9) + var(--space-8))",accountCardMinH:"calc(2 * var(--space-9) - var(--space-2))",monthTitleMinW:"calc(3 * var(--space-9) - var(--space-1))",bigCalendarH:"calc(10 * var(--space-9))",sidebarColBasis:"calc(4 * var(--space-9) - var(--space-2))",sidebarColMin:"calc(3 * var(--space-9) + var(--space-6))",syncColMin:"calc(5 * var(--space-9))",syncColWide:"calc(7 * var(--space-9) + var(--space-6))",dialogSm:"calc(6 * var(--space-9) - var(--space-2))",dialogBody:"calc(5 * var(--space-9) + var(--space-7))",authFormMax:"calc(6 * var(--space-9) + var(--space-8))",brandLogoMax:"calc(6 * var(--space-9) + var(--space-8) - var(--space-1))",connectedAccountCardH:"calc(var(--space-9) - var(--space-1))",dialogMd:"calc(6 * var(--space-9) + var(--space-6))",dialogLg:"calc(7 * var(--space-9) - var(--space-1))",emptyStateMax:"calc(10 * var(--space-9))",emptyStateCopyMax:"calc(6 * var(--space-9))",providerChooserMax:"calc(6 * var(--space-9) + var(--space-6))",auditColTime:"calc(var(--space-9) + var(--space-2))",auditColAction:"calc(var(--space-9) + var(--space-5) + var(--space-1))",searchFieldW:"calc(3 * var(--space-9) + var(--space-5) + var(--space-1))",settingsGridMin:"calc(5 * var(--space-9) + var(--space-5))",placeholderMd:"calc(6 * var(--space-9) + var(--space-4))"};import{Flex as La}from"@radix-ui/themes";import{jsx as Ha}from"react/jsx-runtime";function X({children:e,justify:r="end",noTopMargin:t,pad:a="var(--space-5)",radius:n="var(--radius-5)"}){return Ha(La,{justify:r,style:{margin:`${t?"0":"var(--space-5)"} calc(-1 * ${a}) calc(-1 * ${a})`,padding:`var(--space-4) ${a}`,alignItems:"center",background:"var(--gray-2)",borderTop:"1px solid var(--gray-5)",borderRadius:`0 0 ${n} ${n}`},children:e})}import{jsx as be,jsxs as Sr}from"react/jsx-runtime";function kr({title:e,description:r,confirmLabel:t="Yes",cancelLabel:a="Cancel",onConfirm:n,trigger:o,open:i,onOpenChange:l}){return Sr(he.Root,{open:i,onOpenChange:l,children:[o?be(he.Trigger,{children:o}):null,Sr(he.Content,{maxWidth:b.dialogSm,children:[be(he.Title,{size:"5",mb:"1",style:{fontFamily:"var(--heading-font-family)",fontWeight:"var(--font-weight-medium)"},children:e}),be(he.Description,{size:"2",color:"gray",mb:"5",children:r}),Sr(X,{justify:"between",noTopMargin:!0,children:[be(he.Cancel,{children:be(Ct,{size:"2",variant:"outline",color:"gray",children:a})}),be(he.Action,{children:be(Ct,{size:"2",className:"btn-amber-primary",onClick:n,children:t})})]})]})]})}import{PauseIcon as Oa}from"@radix-ui/react-icons";function h(e){return{width:`var(${e})`,height:`var(${e})`}}import{jsx as wt,jsxs as _a}from"react/jsx-runtime";function Rr({label:e="Paused",style:r}){return _a("span",{style:{display:"inline-flex",alignItems:"center",gap:"var(--space-1)",height:"calc(var(--space-4) + var(--space-1))",padding:"var(--space-1) var(--space-2)",border:"1px solid var(--color-paused)",borderRadius:999,background:"var(--color-panel-solid)",color:"var(--color-paused)",fontSize:"var(--font-size-1)",fontWeight:600,lineHeight:1,whiteSpace:"nowrap",...r},children:[wt("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-3)",height:"var(--space-3)",flexShrink:0,borderRadius:"50%",border:"1px solid var(--color-paused)"},children:wt(Oa,{style:h("--space-2")})}),e]})}import{Avatar as Va,Box as Tt,DropdownMenu as Ie,Flex as St,IconButton as Wa,Text as kt}from"@radix-ui/themes";import{DotsVerticalIcon as $a,PauseIcon as Ua,PlayIcon as Ga,TrashIcon as ja}from"@radix-ui/react-icons";import{jsx as $,jsxs as ne}from"react/jsx-runtime";function Ya({name:e,email:r,avatarSrc:t,paused:a=!1,onPause:n,onResume:o,onDelete:i,onClick:l,badge:s,accentColor:c,style:p}){let d=$(kt,{as:l?"span":"p",size:"3",weight:"medium",truncate:!0,style:{color:"var(--gray-12)",minWidth:0},children:e});return ne(Tt,{onClick:l,style:{width:b.accountCardW,minHeight:b.accountCardMinH,padding:"var(--space-3)",background:"var(--color-panel-solid)",borderRadius:"var(--radius-4)",boxShadow:"var(--shadow-card)",cursor:l?"pointer":void 0,...p},children:[ne(St,{align:"center",justify:"between",gap:"2",mb:"3",children:[ne(St,{align:"center",gap:"2",style:{minWidth:0},children:[ne("div",{style:{position:"relative",flexShrink:0},children:[$(Va,{size:"3",radius:"full",src:t,fallback:e.charAt(0).toUpperCase()||"?",style:c?{background:c,color:"white"}:void 0}),s&&$("span",{style:{position:"absolute",right:"calc(-1 * var(--space-1))",bottom:"calc(-1 * var(--space-1))",width:"var(--space-4)",height:"var(--space-4)",borderRadius:"50%",background:"var(--color-panel-solid)",border:"1px solid var(--gray-4)",display:"inline-flex",alignItems:"center",justifyContent:"center",transform:"scale(0.72)"},children:s})]}),a&&$(Rr,{})]}),ne(Ie.Root,{children:[$(Ie.Trigger,{children:$(Wa,{variant:"ghost",color:"gray","aria-label":"Account actions",style:{flexShrink:0},onClick:g=>g.stopPropagation(),children:$($a,{})})}),ne(Ie.Content,{align:"end",onClick:g=>g.stopPropagation(),children:[a?ne(Ie.Item,{onSelect:o,children:[$(Ga,{})," Resume"]}):ne(Ie.Item,{onSelect:n,children:[$(Ua,{})," Pause"]}),ne(Ie.Item,{color:"red",onSelect:i,children:[$(ja,{})," Delete"]})]})]})]}),ne(Tt,{style:{minWidth:0},children:[l?$("button",{type:"button",className:"card-title-button",onClick:g=>{g.stopPropagation(),l()},children:d}):d,$(kt,{as:"p",size:"1",color:"gray",truncate:!0,children:r})]})]})}import{Box as Rt,Flex as It,Heading as Ka,IconButton as At,Text as Dt}from"@radix-ui/themes";import{ChevronLeftIcon as qa,ChevronRightIcon as Xa}from"@radix-ui/react-icons";var L={h1:"6",h2:"5",h3:"4",h4:"3"};import{Fragment as oo,jsx as F,jsxs as Ar}from"react/jsx-runtime";var Za=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Ir="var(--space-9)",Ja="var(--space-8)",Pt="var(--space-2)",Qa=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"}),eo=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"});function ro(e,r){return e.getFullYear()===r.getFullYear()&&e.getMonth()===r.getMonth()&&e.getDate()===r.getDate()}function Et(e){return(e+6)%7}function to(e){let r=e.getMonth(),t=e.getFullYear(),a=new Date(t,r,1),n=new Date(t,r+1,0),o=Et(a.getDay()),i=6-Et(n.getDay()),l=new Date(t,r,1-o),s=o+n.getDate()+i;return Array.from({length:s},(c,p)=>{let d=new Date(l.getFullYear(),l.getMonth(),l.getDate()+p);return{date:d,inCurrentMonth:d.getMonth()===r}})}function Mt(e,r){return new Date(e.getFullYear(),e.getMonth()+r,1)}function ao({month:e,onMonthChange:r,events:t=[],dayDots:a,today:n,onSelectDay:o,style:i}){let l=n??new Date,s=to(e),c=new Set(t.map(p=>p.toDateString()));return Ar(It,{direction:"column",align:"center",gap:"4",style:i,children:[Ar(It,{align:"center",gap:"2",children:[F(At,{type:"button",variant:"ghost",color:"gray","aria-label":"Previous month",onClick:()=>r?.(Mt(e,-1)),children:F(qa,{style:h("--space-4")})}),F(Ka,{as:"h2",size:L.h2,weight:"medium",style:{minWidth:b.monthTitleMinW,textAlign:"center"},children:Qa.format(e)}),F(At,{type:"button",variant:"ghost",color:"gray","aria-label":"Next month",onClick:()=>r?.(Mt(e,1)),children:F(Xa,{style:h("--space-4")})})]}),F(Rt,{style:{display:"grid",gridTemplateColumns:`repeat(7, ${Ir})`,gap:Pt},children:Za.map(p=>F(Dt,{size:"2",align:"center",style:{color:"var(--gray-11)"},children:p},p))}),F(Rt,{style:{display:"grid",gridTemplateColumns:`repeat(7, ${Ir})`,gap:Pt},children:s.map(({date:p,inCurrentMonth:d})=>{let g=ro(p,l),v=a?.get(p.toDateString()),f=c.has(p.toDateString()),x={position:"relative",width:Ir,height:Ja,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",background:d?g?"var(--color-panel-solid)":"transparent":"var(--gray-2)",border:g?"1.5px solid var(--accent-9)":"none",borderRadius:g?"var(--radius-3)":d?void 0:"var(--radius-2)",padding:0,font:"inherit",cursor:o?"pointer":void 0},w=Ar(oo,{children:[v&&v.length>0?F("span",{"aria-hidden":"true",style:{position:"absolute",bottom:"var(--space-1)",left:0,right:0,display:"flex",justifyContent:"center",gap:"2px"},children:v.slice(0,3).map((ae,se)=>F("span",{style:{width:"var(--space-1)",height:"var(--space-1)",borderRadius:"50%",background:ae}},se))}):f&&F("span",{"aria-hidden":"true",style:{position:"absolute",top:"var(--space-1)",right:"var(--space-2)",width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:"var(--accent-9)"}}),F(Dt,{size:"3",style:{color:d?"var(--gray-12)":"var(--gray-11)",fontWeight:g?600:400},children:p.getDate()})]}),M=p.toISOString();return o?F("button",{type:"button",onClick:()=>o(p),"aria-label":eo.format(p),style:x,children:w},M):F("div",{style:x,children:w},M)})})]})}import{useEffect as no}from"react";import{Callout as Dr}from"@radix-ui/themes";import{CheckCircledIcon as io,ExclamationTriangleIcon as so}from"@radix-ui/react-icons";import{jsx as Le,jsxs as lo}from"react/jsx-runtime";function Pr({msg:e,color:r="green",onDone:t,durationMs:a=3e3}){return no(()=>{let n=setTimeout(t,a);return()=>clearTimeout(n)},[t,a]),Le("div",{style:{position:"fixed",bottom:"var(--space-5)",right:"var(--space-5)",zIndex:1e4,maxWidth:b.dialogBody,pointerEvents:"none"},children:lo(Dr.Root,{color:r,variant:"soft",size:"1",children:[Le(Dr.Icon,{children:r==="red"?Le(so,{}):Le(io,{})}),Le(Dr.Text,{children:e})]})})}import{jsx as co}from"react/jsx-runtime";function P({children:e,size:r="var(--space-7)"}){return co("div",{style:{width:r,height:r,borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",border:"1px solid var(--gray-5)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:e})}import{Box as po,Flex as go,Text as zt}from"@radix-ui/themes";import{LockClosedIcon as uo}from"@radix-ui/react-icons";import{jsx as Bt,jsxs as Er}from"react/jsx-runtime";function mo({title:e,time:r,detail:t,color:a,locked:n}){return Er(go,{align:"center",justify:"between",style:{background:a,borderRadius:"var(--radius-3)",padding:"var(--space-3)",color:"white"},children:[Er(po,{style:{minWidth:0},children:[Bt(zt,{as:"p",size:"2",weight:"medium",style:{color:"white"},truncate:!0,children:e}),Er(zt,{as:"p",size:"1",style:{color:"rgba(255,255,255,0.85)"},truncate:!0,children:[r,t?` \xB7 ${t}`:""]})]}),n&&Bt(uo,{style:{flexShrink:0,color:"rgba(255,255,255,0.85)"}})]})}import{Box as fo}from"@radix-ui/themes";import{jsx as yo}from"react/jsx-runtime";function Mr({children:e,style:r,showBorder:t=!1,onActivate:a,selected:n=!1,className:o,"aria-label":i}){let l=!!a;function s(c){a&&(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),a())}return yo(fo,{role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":i,onClick:a,onKeyDown:l?s:void 0,className:["data-table-row",l&&"data-table-row--interactive",l&&n&&"data-table-row--selected",o].filter(Boolean).join(" "),style:{borderTop:t?"1px solid var(--gray-3)":void 0,...r},children:e})}import{useId as vo}from"react";import{Card as ho,Flex as zr,Text as Br}from"@radix-ui/themes";import{jsx as ie,jsxs as Ae}from"react/jsx-runtime";function bo({label:e,value:r,delta:t,deltaDir:a,goodDirection:n,statusColor:o,sparkline:i}){return ie(ho,{className:"metric-card",children:Ae(zr,{direction:"column",p:"1",children:[Ae(zr,{align:"center",justify:"between",mb:"3",children:[ie(Br,{as:"span",className:"ds-section-label",children:e}),ie("div",{style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:o,flexShrink:0}})]}),ie(Br,{as:"p",className:"metric-card-value",children:r}),Ae(zr,{align:"end",justify:"between",children:[Ae(Br,{size:"1",style:{color:a==="flat"?"var(--gray-11)":a===n?"var(--green-11)":"var(--red-11)",lineHeight:1.4},children:[a==="up"?"\u2191 ":a==="down"?"\u2193 ":"",t]}),ie(xo,{data:i,color:o})]})]})})}function xo({data:e,color:r}){let n=Math.min(...e),i=Math.max(...e)-n||1,l=e.map((g,v)=>({x:v/(e.length-1)*72,y:28-(g-n)/i*28*.75-28*.1})),s=l.map((g,v)=>`${v===0?"M":"L"} ${g.x.toFixed(1)} ${g.y.toFixed(1)}`).join(" "),c=["M 0 28",...l.map(g=>`L ${g.x.toFixed(1)} ${g.y.toFixed(1)}`),"L 72 28 Z"].join(" "),d=`spk${vo().replace(/[^a-zA-Z0-9_-]/g,"")}`;return Ae("svg",{width:72,height:28,viewBox:"0 0 72 28","aria-hidden":!0,style:{overflow:"visible",flexShrink:0},children:[ie("defs",{children:Ae("linearGradient",{id:d,x1:"0",y1:"0",x2:"0",y2:"1",children:[ie("stop",{offset:"0%",stopColor:r,stopOpacity:"0.18"}),ie("stop",{offset:"100%",stopColor:r,stopOpacity:"0"})]})}),ie("path",{d:c,fill:`url(#${d})`}),ie("path",{d:s,fill:"none",stroke:r,strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round"})]})}import{Link as Co}from"react-router-dom";import{Button as wo,Card as To,Flex as Nt,Text as Ft}from"@radix-ui/themes";import{ArrowRightIcon as So}from"@radix-ui/react-icons";import{jsx as De,jsxs as er}from"react/jsx-runtime";function ko({href:e,icon:r,name:t,description:a}){return er(To,{style:{height:"100%",display:"flex",flexDirection:"column"},children:[er(Nt,{direction:"column",gap:"3",p:"1",flexGrow:"1",children:[er(Nt,{align:"center",gap:"3",minWidth:"0",children:[De(P,{children:r}),De(Ft,{size:"4",weight:"medium",style:{color:"var(--gray-12)",fontFamily:"var(--font-poppins)"},truncate:!0,children:t})]}),De(Ft,{size:"2",style:{color:"var(--gray-11)",fontFamily:"var(--font-poppins)",lineHeight:1.5},children:a})]}),De(X,{pad:"var(--space-3)",radius:"var(--radius-4)",children:De(wo,{size:"2",className:"btn-amber-primary",asChild:!0,children:er(Co,{to:e,children:["Open",De(So,{style:h("--space-3")})]})})})]})}import{Text as He}from"@radix-ui/themes";import{jsx as Nr,jsxs as Fr}from"react/jsx-runtime";function Ro({tag:e,tagColor:r,msg:t,actor:a,timeAgo:n,timestamp:o,showBorder:i}){return Fr(Mr,{showBorder:i,style:{display:"flex",alignItems:"center",gap:"var(--space-3)",paddingBlock:"var(--space-2)",paddingInline:"var(--space-4)"},children:[Nr(He,{as:"span",size:"1",weight:"medium",className:"data-mono",style:{color:r,minWidth:"var(--space-6)",letterSpacing:"0.06em",flexShrink:0},children:e}),Fr(He,{as:"span",size:"2",style:{flex:1,color:"var(--gray-11)",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[t,a&&Fr(He,{as:"span",size:"1",style:{color:"var(--gray-11)",marginLeft:"var(--space-2)"},children:["by ",a]})]}),n&&Nr(He,{as:"span",size:"1",color:"gray",style:{whiteSpace:"nowrap",flexShrink:0},children:n}),Nr(He,{as:"span",size:"1",className:"data-mono",style:{color:"var(--gray-11)",whiteSpace:"nowrap",flexShrink:0,minWidth:"var(--space-7)",textAlign:"right"},children:o})]})}import{Button as Io,Card as Ao,Flex as Do,Text as Po}from"@radix-ui/themes";import{ExclamationTriangleIcon as Eo}from"@radix-ui/react-icons";import{jsx as Oe,jsxs as zo}from"react/jsx-runtime";function Mo({onRetry:e,message:r="Couldn't load your dashboard."}){return Oe(Ao,{children:zo(Do,{direction:"column",align:"center",justify:"center",py:"9",gap:"3",children:[Oe(P,{children:Oe(Eo,{style:{...h("--space-5"),color:"var(--gray-7)"}})}),Oe(Po,{size:"2",color:"gray",children:r}),Oe(Io,{size:"2",color:"amber",variant:"solid",className:"btn-amber-primary",onClick:e,children:"Retry"})]})})}import{useMemo as Bo}from"react";import{Button as No,Flex as Fo,IconButton as rr,Text as Lo}from"@radix-ui/themes";import{ChevronLeftIcon as Ho,ChevronRightIcon as Oo,DoubleArrowLeftIcon as _o,DoubleArrowRightIcon as Vo}from"@radix-ui/react-icons";import{jsx as Z,jsxs as Uo}from"react/jsx-runtime";var Pe="\u2026";function Wo(e,r,t){let a=t*2+5;if(r<=a)return Array.from({length:r},(c,p)=>p+1);let n=Math.max(e-t,1),o=Math.min(e+t,r),i=n>2,l=o<r-1;if(!i&&l)return[...Array.from({length:3+t*2},(p,d)=>d+1),Pe,r];if(i&&!l){let c=3+t*2,p=Array.from({length:c},(d,g)=>r-c+g+1);return[1,Pe,...p]}let s=Array.from({length:o-n+1},(c,p)=>n+p);return[1,Pe,...s,Pe,r]}function $o({currentPage:e,totalPages:r,onPageChange:t,siblingCount:a=1,showFirstLast:n=!1,size:o="2"}){let i=Bo(()=>Wo(e,r,a),[e,r,a]),l=e<=1,s=e>=r;return Z(Fo,{asChild:!0,align:"center",gap:"1",children:Uo("nav",{"aria-label":"Pagination",children:[n&&Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"First page",disabled:l,onClick:()=>t(1),children:Z(_o,{})}),Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Previous page",disabled:l,onClick:()=>t(e-1),children:Z(Ho,{})}),i.map((c,p)=>c===Pe?Z(Lo,{size:o,color:"gray","aria-hidden":!0,style:{paddingInline:"var(--space-1)"},children:Pe},`ellipsis-${p}`):Z(No,{size:o,"aria-label":`Page ${c}`,"aria-current":c===e?"page":void 0,variant:c===e?"solid":"soft",color:c===e?void 0:"gray",className:c===e?"btn-amber-primary":void 0,onClick:()=>c!==e&&t(c),children:c},c)),Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Next page",disabled:s,onClick:()=>t(e+1),children:Z(Oo,{})}),n&&Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Last page",disabled:s,onClick:()=>t(r),children:Z(Vo,{})})]})})}var tr={admin:{label:"Admin",color:"amber"},operator:{label:"Operator",color:"blue"},user:{label:"Platform User",color:"gray"}},Go={admin:tr.admin.label,operator:tr.operator.label,user:tr.user.label},jo={active:{label:"Active",color:"var(--color-success)"},inactive:{label:"Inactive",color:"var(--gray-11)"},suspended:{label:"Suspended",color:"var(--color-danger)"}},Yo={ok:"var(--green-9)",warn:"var(--orange-9)",error:"var(--red-9)"},Ko={auth:{tag:"AUTH",color:"var(--gray-11)"},sync:{tag:"SYNC",color:"var(--blue-11)"},role:{tag:"ROLE",color:"var(--violet-11)"},provision:{tag:"PROV",color:"var(--green-11)"},health:{tag:"HLTH",color:"var(--teal-11)"},error:{tag:"ERR!",color:"var(--red-11)"}},Lt={USER_UPDATED:{label:"User updated",tag:"UPD",badge:"amber",color:"var(--amber-11)"},USER_DISABLED:{label:"User disabled",tag:"DIS",badge:"red",color:"var(--red-11)"},USER_ENABLED:{label:"User enabled",tag:"ENA",badge:"green",color:"var(--teal-11)"},USER_APPROVED:{label:"User approved",tag:"APPR",badge:"green",color:"var(--green-11)"},USER_REJECTED:{label:"User rejected",tag:"REJ",badge:"red",color:"var(--red-11)"},SIGNUP_NOTIFICATIONS_ON:{label:"Signup notifications on",tag:"NOTF",badge:"gray",color:"var(--gray-11)"},SIGNUP_NOTIFICATIONS_OFF:{label:"Signup notifications off",tag:"NOTF",badge:"gray",color:"var(--gray-11)"},APPROVAL_EMAIL_RESENT:{label:"Approval email resent",tag:"MAIL",badge:"amber",color:"var(--amber-11)"},USER_DELETED:{label:"User deleted",tag:"DEL",badge:"yellow",color:"var(--red-11)"},ADMIN_GRANTED:{label:"Admin granted",tag:"ADMN",badge:"gray",color:"var(--violet-11)"},ADMIN_REVOKED:{label:"Admin revoked",tag:"ADMN",badge:"gray",color:"var(--orange-11)"},ADMIN_ROLE_CHANGED:{label:"Role changed",tag:"ROLE",badge:"amber",color:"var(--violet-11)"},SESSION_REVOKED:{label:"Session revoked",tag:"SESS",badge:"gray",color:"var(--gray-11)"},APP_GRANTED:{label:"App access granted",tag:"APP",badge:"green",color:"var(--green-11)"},APP_REVOKED:{label:"App access revoked",tag:"APP",badge:"red",color:"var(--orange-11)"}};function qo(e){return Lt[e]??{label:e,tag:e.slice(0,4).toUpperCase(),badge:"gray",color:"var(--gray-11)"}}import{jsx as Ht}from"react/jsx-runtime";function Lr(){return Ht("div",{className:"auth-art-card",children:Ht("img",{src:"/arm-logo-inverted.svg",alt:"araMetrics",style:{width:"56%",maxWidth:b.brandLogoMax,display:"block",userSelect:"none"},draggable:!1})})}import{jsx as ar,jsxs as Zo}from"react/jsx-runtime";function Xo({children:e}){return Zo("div",{style:{minHeight:"100vh",display:"flex",background:"var(--surface-content)",padding:"var(--space-5)",gap:"var(--space-5)"},children:[ar("div",{className:"auth-card-left",style:{width:"47%",flexShrink:0,position:"sticky",top:"var(--space-5)",height:"calc(100vh - var(--space-8))"},children:ar(Lr,{})}),ar("div",{className:"auth-card-right",style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",justifyContent:"center",minHeight:"calc(100vh - var(--space-8))",padding:"var(--space-7) var(--space-5)"},children:ar("main",{style:{maxWidth:b.authFormMax,width:"100%",marginLeft:"auto",marginRight:"auto",background:"var(--color-panel-solid)",borderRadius:"var(--radius-5)",boxShadow:"var(--shadow-card)",padding:"var(--space-7) var(--space-5)"},children:e})})]})}import{jsx as or,jsxs as Jo}from"react/jsx-runtime";function Hr(){return Jo("svg",{width:18,height:18,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[or("path",{d:"M15.68 8.18c0-.57-.05-1.11-.14-1.64H8v3.1h4.3a3.68 3.68 0 0 1-1.6 2.42v2h2.58c1.51-1.39 2.4-3.44 2.4-5.88Z",fill:"#4285F4"}),or("path",{d:"M8 16c2.16 0 3.97-.71 5.3-1.94l-2.59-2a4.88 4.88 0 0 1-7.27-2.56H0.9v2.07A8 8 0 0 0 8 16Z",fill:"#34A853"}),or("path",{d:"M3.44 9.5A4.8 4.8 0 0 1 3.19 8c0-.52.09-1.03.25-1.5V4.43H.9A8 8 0 0 0 0 8c0 1.29.31 2.51.9 3.57L3.44 9.5Z",fill:"#FBBC05"}),or("path",{d:"M8 3.18c1.22 0 2.31.42 3.17 1.24l2.37-2.37A7.94 7.94 0 0 0 8 0 8 8 0 0 0 .9 4.43L3.44 6.5A4.77 4.77 0 0 1 8 3.18Z",fill:"#EA4335"})]})}import{jsx as nr,jsxs as Qo}from"react/jsx-runtime";function Or(){return Qo("svg",{width:18,height:18,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[nr("rect",{x:"0",y:"0",width:"7.6",height:"7.6",fill:"#F25022"}),nr("rect",{x:"8.4",y:"0",width:"7.6",height:"7.6",fill:"#7FBA00"}),nr("rect",{x:"0",y:"8.4",width:"7.6",height:"7.6",fill:"#00A4EF"}),nr("rect",{x:"8.4",y:"8.4",width:"7.6",height:"7.6",fill:"#FFB900"})]})}import{useRef as en}from"react";import{TextField as rn}from"@radix-ui/themes";import{jsx as Ot}from"react/jsx-runtime";function _r({value:e,onChange:r,disabled:t}){let a=en([]);function n(s,c){let p=c.target.value.replace(/\D/g,"").slice(-1),d=Array.from({length:4},(g,v)=>e[v]??"");d[s]=p,r(d.join("")),p&&s<3&&a.current[s+1]?.focus()}function o(s,c){let p=Array.from({length:4},(d,g)=>e[g]??"");c.key==="Backspace"?!p[s]&&s>0&&(p[s-1]="",r(p.join("")),a.current[s-1]?.focus()):c.key==="ArrowLeft"&&s>0?a.current[s-1]?.focus():c.key==="ArrowRight"&&s<3&&a.current[s+1]?.focus()}function i(s){let c=s.clipboardData.getData("text").replace(/\D/g,"").slice(0,4);c&&(s.preventDefault(),r(c),a.current[Math.min(c.length,3)]?.focus())}let l=Array.from({length:4},(s,c)=>e[c]??"");return Ot("div",{style:{display:"flex",gap:"var(--space-3)",justifyContent:"center"},children:l.map((s,c)=>Ot(rn.Root,{ref:p=>{a.current[c]=p},type:"text",inputMode:"numeric",maxLength:1,value:s,onChange:p=>n(c,p),onKeyDown:p=>o(c,p),onPaste:i,disabled:t,className:"otp-box","aria-label":`Digit ${c+1}`,autoComplete:c===0?"one-time-code":"off"},c))})}import{Button as Vr,Callout as _e,Heading as tn,Text as Wr}from"@radix-ui/themes";import{ExclamationTriangleIcon as an}from"@radix-ui/react-icons";import{Fragment as _t,jsx as U,jsxs as le}from"react/jsx-runtime";function on({email:e,title:r,subtitle:t,code:a,onCodeChange:n,otpDevHint:o,error:i,errorAction:l,busy:s,otpExpiresAt:c,otpSecondsLeft:p,resendCooldown:d,onResend:g,onUseDifferentEmail:v}){return le(_t,{children:[le("div",{style:{marginBottom:"var(--space-6)",textAlign:"center"},children:[U(tn,{as:"h1",size:L.h1,style:{color:"var(--ink-strong)",marginBottom:"var(--space-3)"},children:r}),le(Wr,{as:"p",size:"2",style:{color:"var(--ink-mid)",lineHeight:1.55},children:[t," ",U("span",{style:{fontWeight:600,color:"var(--ink-strong)"},children:e}),"."]})]}),o&&U(_e.Root,{color:"gray",variant:"surface",size:"1",style:{marginBottom:"var(--space-5)"},children:le(_e.Text,{style:{fontFamily:"var(--font-poppins)"},children:["Dev hint \u2014 code is ",U("strong",{children:o})]})}),i&&le(_e.Root,{color:"red",variant:"surface",size:"2",style:{marginBottom:"var(--space-5)"},children:[U(_e.Icon,{children:U(an,{})}),le(_e.Text,{style:{fontFamily:"var(--font-poppins)"},children:[i,l&&le(_t,{children:[" ",U(Vr,{type:"button",variant:"ghost",size:"1",onClick:l.onClick,style:{fontWeight:600,textDecoration:"underline",height:"auto",padding:0},children:l.label})]})]})]}),le("div",{children:[U(_r,{value:a,onChange:n,disabled:s||p<=0}),s?U(Wr,{as:"p",size:"1",style:{color:"var(--ink-mid)",marginTop:"var(--space-3)",textAlign:"center"},children:"Checking code\u2026"}):c&&p<=0?U(Wr,{as:"p",size:"1",style:{color:"var(--red-11)",marginTop:"var(--space-3)",textAlign:"center"},children:"Code expired \u2014 resend to get a new one."}):null]}),le("div",{style:{marginTop:"var(--space-5)",display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--space-3)"},children:[U(Vr,{type:"button",variant:"ghost",size:"2",disabled:d>0||s,onClick:g,style:{fontWeight:500,color:d>0?"rgba(85, 85, 85, 0.4)":"var(--ink-strong)",textDecoration:d>0?"none":"underline"},children:d>0?`Resend email (${d}s)`:"Resend email"}),U(Vr,{type:"button",variant:"ghost",size:"2",className:"auth-underline-link",disabled:s,onClick:v,style:{fontWeight:500,color:"var(--ink-strong)"},children:"Use a Different Email"})]})]})}import{jsx as Vt}from"react/jsx-runtime";function H({provider:e}){return e==="microsoft"?Vt(Or,{}):Vt(Hr,{})}var nn={google:"Google",microsoft:"Microsoft"};import{useState as Wt}from"react";import{Link as qt,useLocation as sn}from"react-router-dom";import{Avatar as $t,Badge as ln,DropdownMenu as ce,IconButton as Ut,Text as sr,Tooltip as Ve}from"@radix-ui/themes";import{ChevronLeftIcon as cn,ChevronRightIcon as Gt,Cross1Icon as dn,DotFilledIcon as pn,DotsVerticalIcon as gn,ExitIcon as un,GearIcon as jt,QuestionMarkCircledIcon as mn}from"@radix-ui/react-icons";import{Fragment as Ur,jsx as m,jsxs as D}from"react/jsx-runtime";var lr="var(--space-9)",fn="calc(4 * var(--space-9))",yn="calc(var(--space-9) + var(--space-6))",vn="calc(4 * var(--space-9) + var(--space-5))",hn="var(--space-8)",Yt="var(--space-5)",$r="var(--space-5)",bn="calc(var(--space-5) + var(--space-3))",xn="var(--space-5)",Cn=e=>e?"opacity 130ms ease 80ms":"opacity 90ms ease",Kt="opacity 200ms ease";function wn({collapsed:e,onToggle:r,onClose:t,items:a,utilityHrefs:n,user:o,onSignOut:i,hasCalendarAccounts:l=!1,brandLogoExpandedSrc:s="/expand.svg",brandLogoCollapsedSrc:c="/shrink.svg",helpHref:p,devRoles:d,onDevRoleSelect:g,showDevRoles:v=!1}){let f=sn().pathname,[x,w]=Wt(!1),[M,ae]=Wt(null),se=M===f,C=u=>ae(u?f:null),z=!!t,T=!e||z,ge=z?vn:e?yn:fn,y=a.filter(u=>!u.roles||o&&u.roles.includes(o.role)),B=new Set(n),V=y.filter(u=>!B.has(u.href)),W=y.find(u=>u.href==="/settings"),K=y.filter(u=>B.has(u.href)&&u.href!=="/settings");function q(u){return u.root??u.href}function Re(u){let oe=q(u);return f===oe||f===u.href||f.startsWith(oe+"/")}let Da=y.find(u=>u.children&&(q(u)!=="/calendar"||l)&&Re(u)),Fe=se?void 0:Da;function wr(u,oe){return u==="/home"||oe?f===u:f===u||f.startsWith(u+"/")}let Pa=f.startsWith("/admin")&&(o?.role==="admin"||o?.role==="operator"),ft=o?.name?.split(" ").map(u=>u[0]).join("").slice(0,2)||"?";return D("aside",{style:{position:"relative",width:ge,height:"100%",minHeight:"100vh",background:"var(--shell-surface)",borderRight:"1px solid var(--gray-6)",flexShrink:0,transition:z?"none":"width 200ms ease",zIndex:2},children:[D("div",{style:{width:"100%",height:"100%",minHeight:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},children:[D("div",{style:{height:lr,flexShrink:0,position:"relative",overflow:"hidden",borderBottom:"1px solid var(--border-hairline)"},children:[m("img",{src:s,alt:"",height:40,style:{display:"block",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",transition:Kt,opacity:T?1:0,pointerEvents:"none",userSelect:"none"}}),m("img",{src:c,alt:"",height:40,style:{display:"block",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",transition:Kt,opacity:T?0:1,pointerEvents:"none",userSelect:"none"}}),z&&m(Ut,{variant:"ghost",color:"gray",size:"1",onClick:t,"aria-label":"Close menu",style:{position:"absolute",right:"var(--space-2)",top:"50%",transform:"translateY(-50%)"},children:m(dn,{style:h("--space-3")})})]}),m("nav",{"aria-label":"Main navigation",style:{flex:1,overflowY:"auto",overflowX:"hidden",paddingTop:"var(--space-5)",display:"flex",flexDirection:"column"},children:Fe?D(Ur,{children:[(()=>{let u=m(ir,{item:{label:Fe.label,href:"#",Icon:cn},active:!1,expanded:T,asButton:!0,onClick:()=>C(!0)});return T?u:m(Ve,{content:Fe.label,side:"right",delayDuration:300,children:u})})(),Fe.children.map(u=>{let oe=wr(u.href,u.end),ue=m(ir,{item:u,active:oe,expanded:T},u.href);return T?ue:m(Ve,{content:u.label,side:"right",delayDuration:300,children:ue},u.href)})]}):V.map(u=>{let oe=wr(q(u)),ue=!!u.children&&(q(u)!=="/calendar"||l),yt=m(ir,{item:u,active:oe,expanded:T,showChevron:ue,onClick:ue?()=>C(!1):void 0},u.href);return T?yt:m(Ve,{content:u.label,side:"right",delayDuration:300,children:yt},u.href)})}),!Fe&&K.length>0&&m("nav",{"aria-label":"Utility navigation",style:{flexShrink:0,borderTop:"1px solid var(--gray-4)",paddingTop:"var(--space-2)",paddingBottom:"var(--space-2)",display:"flex",flexDirection:"column"},children:K.map(u=>{let oe=wr(u.href),ue=m(ir,{item:u,active:oe,expanded:T,showChevron:!!u.children,onClick:u.children?()=>C(!1):void 0},u.href);return T?ue:m(Ve,{content:u.label,side:"right",delayDuration:300,children:ue},u.href)})}),D("div",{style:{borderTop:K.length>0?"none":"1px solid var(--gray-4)",padding:T?"var(--space-2) var(--space-4)":"var(--space-2) 0",flexShrink:0,display:"flex",flexDirection:"column",gap:"var(--space-2)"},children:[T&&Pa&&D(ln,{color:"gray",variant:"soft",highContrast:!0,size:"1",radius:"full",style:{alignSelf:"flex-start"},children:[m(pn,{style:h("--space-2")}),"Administering platform"]}),D("div",{style:{display:"flex",flexDirection:T?"row":"column",alignItems:"center",justifyContent:T?"space-between":"center",gap:"var(--space-2)"},children:[T?D("div",{className:"shell-profile-chip",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",minWidth:0,flex:1,padding:"var(--space-1)",borderRadius:"var(--radius-3)"},children:[m($t,{size:"2",radius:"full",src:o?.avatarSrc,fallback:ft,color:"gray",variant:"soft",style:{flexShrink:0}}),m(sr,{as:"p",size:"2",weight:"medium",truncate:!0,style:{color:"var(--shell-ink-strong)"},children:o?.name})]}):m(Ve,{content:o?.name??"Account",side:"right",delayDuration:300,children:m($t,{size:"3",radius:"full",src:o?.avatarSrc,fallback:ft,color:"gray",variant:"soft"})}),D(ce.Root,{children:[m(ce.Trigger,{children:m(Ut,{variant:"ghost",color:"gray","aria-label":"Account menu",className:"sidebar-icon-btn",style:{flexShrink:0},children:m(gn,{style:h("--space-4")})})}),D(ce.Content,{align:T?"end":"start",side:T?"top":"right",style:{minWidth:200},children:[W&&m(ce.Item,{asChild:!0,children:D(qt,{to:W.href,onClick:()=>C(!1),children:[m(jt,{}),"Settings"]})}),p&&D(ce.Item,{onClick:()=>window.open(p,"_blank","noopener,noreferrer"),children:[m(mn,{}),"Help"]}),m(ce.Separator,{}),D(ce.Item,{color:"red",onClick:()=>w(!0),children:[m(un,{}),"Log Out"]}),v&&d&&d.length>0&&D(Ur,{children:[m(ce.Separator,{}),m("div",{style:{padding:"var(--space-1) var(--space-3)"},children:m(sr,{size:"1",style:{fontFamily:"monospace",color:"var(--gray-11)",letterSpacing:"0.04em",textTransform:"uppercase"},children:"Dev \xB7 switch role"})}),d.map(u=>D(ce.Item,{onClick:()=>g?.(u.email),disabled:o?.role===u.role,children:[m(jt,{}),u.label,D(sr,{size:"1",color:"gray",style:{marginLeft:"auto"},children:[u.role,"@"]})]},u.role))]})]})]})]})]})]}),!z&&m("button",{onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",className:"sidebar-collapse-btn",style:{top:"calc(var(--space-9) / 2)",transform:"translateY(-50%)",right:"calc(-1 * var(--space-3))"},children:m(Tn,{flipped:e})}),m(kr,{open:x,onOpenChange:w,title:"Confirm Logout",description:"Are you sure you want to log out?",onConfirm:i})]})}function ir({item:e,active:r,expanded:t,onClick:a,asButton:n,showChevron:o}){let i={position:"relative",textDecoration:"none",display:"flex",alignItems:"center",height:hn,flexShrink:0,paddingLeft:bn,gap:t?xn:0,color:r?"var(--shell-ink-strong)":"var(--shell-ink-mid)",cursor:"pointer"},l=D(Ur,{children:[r&&m("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"var(--space-1)",height:"100%",background:"var(--accent-9)",borderRadius:"0 var(--radius-1) var(--radius-1) 0"}}),m("span",{"aria-hidden":"true",className:"nav-pill",style:{position:"absolute",top:0,bottom:0,left:Yt,right:t?$r:Yt,borderRadius:"var(--radius-3)",background:r?"var(--accent-9)":"transparent",transition:"background 80ms ease"}}),m(e.Icon,{width:20,height:20,style:{position:"relative",flexShrink:0}}),m(sr,{as:"span",size:"3",weight:r?"medium":"regular",style:{position:"relative",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",maxWidth:t?void 0:0,opacity:t?1:0,transition:Cn(t)},children:e.label}),o&&t&&(r?m("span",{style:{position:"relative",marginLeft:"auto",marginRight:`calc(${$r} + var(--space-2))`,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",background:"var(--color-panel-solid)",borderRadius:"var(--radius-2)",boxShadow:"0 1px 2px rgba(0,0,0,0.12)"},children:m(Gt,{style:{...h("--space-4"),color:"var(--gray-11)"}})}):m(Gt,{style:{...h("--space-4"),position:"relative",marginLeft:"auto",marginRight:`calc(${$r} + var(--space-1))`,color:"var(--shell-ink-mid)",flexShrink:0}}))]});return n?m("button",{type:"button",onClick:a,className:"shell-nav-item",style:{...i,background:"none",border:"none",width:"100%",textAlign:"left",font:"inherit"},children:l}):m(qt,{to:e.href,onClick:a,className:"shell-nav-item","data-active":r?"true":void 0,"aria-current":r?"page":void 0,style:i,children:l})}function Tn({flipped:e}){return D("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",style:{transform:e?"scaleX(-1)":void 0},children:[m("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5",stroke:"currentColor"}),m("path",{d:"M5.5 2.5v11",stroke:"currentColor"}),m("path",{d:"M11 5.5 8.5 8l2.5 2.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})}import{Link as Sn,useLocation as kn}from"react-router-dom";import{HamburgerMenuIcon as Rn,MagnifyingGlassIcon as In,BellIcon as An}from"@radix-ui/react-icons";import{Flex as Dn,Heading as Pn,IconButton as En,Text as Xt,Tooltip as Mn}from"@radix-ui/themes";import{Fragment as Ln,jsx as O,jsxs as cr}from"react/jsx-runtime";var zn=[["/home","Home","/home","Home"],["/calendar/syncs","Calendar","/calendar/syncs","Manage Syncs"],["/calendar/view","Calendar","/calendar/syncs","My Calendar"],["/calendar","Calendar","/calendar/syncs","Manage Syncs"],["/settings/account","Settings","/settings/account","Account"],["/settings/linked","Settings","/settings/account","Linked Account"],["/settings","Settings","/settings/account","Settings"]],Bn=[["/admin/overview","Overview"],["/admin/users","Users"],["/admin/monitoring","Monitoring"],["/admin/calendar-ops","Calendar Ops"],["/admin/logs","Logs"],["/admin/security","Security"],["/admin/audit","Audit Log"]];function Nn(e,r,t){if(e==="/admin"||e.startsWith("/admin/")){let l=t.find(([s])=>e===s||e.startsWith(s+"/"));return{section:"Admin Portal",sectionHref:"/admin/overview",page:l?l[1]:"Admin Portal"}}if(e==="/calendar/syncs/new")return{section:"Calendar",sectionHref:"/calendar/syncs",page:"New Sync"};if(/^\/calendar\/syncs\/[^/]+$/.test(e))return{section:"Calendar",sectionHref:"/calendar/syncs",page:"Edit Sync"};let a=r.find(([l,,,,s])=>s?e===l:e===l||e.startsWith(l+"/"));if(!a)return{section:"Home",sectionHref:"/home",page:"Home"};let[,n,o,i]=a;return{section:n,sectionHref:o,page:i}}function Fn({onSearchOpen:e,onMenuOpen:r,showMenu:t,titles:a=zn,adminTitles:n=Bn}){let o=kn().pathname;return cr("header",{style:{height:lr,background:"var(--accent-9)",borderBottom:"1px solid var(--border-hairline)",flexShrink:0,display:"flex",alignItems:"center",padding:"0 var(--space-6)",gap:"var(--space-4)"},children:[t&&O(En,{variant:"ghost",size:"1",onClick:r,"aria-label":"Open navigation",style:{marginRight:"var(--space-1)",color:"var(--shell-ink-strong)"},children:O(Rn,{style:h("--space-4")})}),(()=>{let{section:i,sectionHref:l,page:s}=Nn(o,a,n);return cr(Dn,{align:"baseline",gap:"2",style:{minWidth:0,overflow:"hidden"},children:[i!==s&&cr(Ln,{children:[O(Xt,{asChild:!0,size:"3",weight:"regular",children:O(Sn,{to:l,style:{color:"var(--shell-ink-mid)",whiteSpace:"nowrap",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",flexShrink:0},className:"topbar-breadcrumb-link",children:i})}),O(Xt,{size:"3",weight:"regular",className:"topbar-breadcrumb-sep",style:{color:"var(--shell-ink-mid)",flexShrink:0},children:"/"})]}),O(Pn,{as:"h1",size:L.h1,weight:"medium",style:{color:"var(--shell-ink-strong)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0},children:s})]})})(),O("div",{style:{flex:1}}),cr("button",{className:"topbar-search",onClick:e,"aria-label":"Search (\u2318K)",children:[O(In,{width:16,height:16,style:{color:"var(--shell-ink-strong)",flexShrink:0}}),O("span",{className:"topbar-search-placeholder",children:"Search for something"})]}),O(Mn,{content:"Coming soon",children:O("span",{children:O("button",{className:"topbar-icon-circle","aria-label":"Notifications (coming soon)",disabled:!0,children:O(An,{style:h("--space-4")})})})})]})}import{useEffect as Zt,useRef as Jt,useState as Gr}from"react";import{Dialog as jr,Flex as Qt,Spinner as Hn,Text as J,TextField as On,VisuallyHidden as _n}from"@radix-ui/themes";import{CalendarIcon as Vn,MagnifyingGlassIcon as Wn,PersonIcon as $n,ReaderIcon as Un}from"@radix-ui/react-icons";import{Fragment as Xn,jsx as S,jsxs as G}from"react/jsx-runtime";var Gn={app:Vn,people:$n,page:Un},jn={app:"Apps",people:"People",page:"Pages"};function Yn(e){let r=["app","people","page"],t=[],a=0;for(let n of r){let o=e.filter(i=>i.type===n);o.length>0&&(t.push({type:n,label:jn[n],items:o,startIdx:a}),a+=o.length)}return t}function Kn({open:e,onClose:r,results:t,onSelectResult:a,title:n="Search",placeholder:o="Search\u2026"}){return S(jr.Root,{open:e,onOpenChange:i=>!i&&r(),children:S(jr.Content,{"aria-describedby":void 0,style:{padding:0,maxWidth:"calc(9 * var(--space-9) + var(--space-2))",overflow:"hidden",boxShadow:"0 4px 8px rgba(0,0,0,0.06), 0 12px 32px rgba(0,0,0,0.10), 0 0 0 1px var(--gray-5)"},children:S(qn,{onClose:r,resultPool:t,onSelectResult:a,title:n,placeholder:o})})})}function qn({onClose:e,resultPool:r,onSelectResult:t,title:a,placeholder:n}){let[o,i]=Gr(""),[l,s]=Gr(null),[c,p]=Gr(-1),d=Jt(null),g=Jt(null),v=!!l&&l.q===o,f=v?l.items:[],x=o.trim()?v?f.length?"results":"no-match":"searching":"prompt";Zt(()=>{if(!o.trim())return;let C=setTimeout(()=>{let z=o.toLowerCase(),T=r.filter(ge=>ge.title.toLowerCase().includes(z)||ge.subtitle.toLowerCase().includes(z));s({q:o,items:T}),p(-1)},320);return()=>clearTimeout(C)},[o,r]),Zt(()=>{if(c<0||!g.current)return;g.current.querySelector(`[data-idx="${c}"]`)?.scrollIntoView({block:"nearest"})},[c]);function w(C){C.key==="Escape"?e():C.key==="ArrowDown"?(C.preventDefault(),p(z=>Math.min(z+1,f.length-1))):C.key==="ArrowUp"?(C.preventDefault(),p(z=>Math.max(z-1,0))):C.key==="Enter"&&(C.preventDefault(),c>=0&&f[c]&&(t(f[c]),e()))}function M(C){t(C),e()}let ae=Yn(f),se="calc(2 * var(--space-9) + var(--space-6))";return G(Xn,{children:[S(_n,{children:S(jr.Title,{children:a})}),G("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",borderBottom:"1px solid var(--gray-5)"},children:[x==="searching"?S(Hn,{size:"1",style:{flexShrink:0}}):S(Wn,{width:16,height:16,style:{color:"var(--gray-9)",flexShrink:0}}),S(On.Root,{ref:d,autoFocus:!0,type:"text",placeholder:n,value:o,onChange:C=>i(C.target.value),onKeyDown:w,className:"search-overlay-input",style:{flex:1,border:"none",outline:"none",background:"transparent",boxShadow:"none","--text-field-selection-color":"unset"}}),S("kbd",{style:{color:"var(--gray-11)",background:"var(--gray-3)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-1)",padding:"var(--space-1) var(--space-2)",flexShrink:0},children:S(J,{size:"1",as:"span",children:"Esc"})})]}),G("div",{ref:g,style:{minHeight:se,maxHeight:"calc(6 * var(--space-9) + var(--space-7))",overflowY:"auto"},children:[x==="prompt"&&S(Qt,{align:"center",justify:"center",style:{height:se},children:S(J,{size:"2",color:"gray",children:"Type to search\u2026"})}),x==="no-match"&&S(Qt,{align:"center",justify:"center",style:{height:se},children:G("div",{style:{textAlign:"center"},children:[G(J,{size:"2",color:"gray",as:"p",children:["No results for \u201C",o,"\u201D"]}),S(J,{size:"1",color:"gray",as:"p",mt:"1",children:"Try searching with different keywords"})]})}),x==="results"&&S("div",{style:{padding:"var(--space-2)"},children:ae.map(C=>{let z=Gn[C.type];return G("div",{style:{marginBottom:"var(--space-1)"},children:[S("div",{style:{padding:"var(--space-2) var(--space-3) var(--space-1)",display:"flex",alignItems:"center",gap:"var(--space-2)"},children:S(J,{size:"1",style:{color:"var(--gray-11)",fontWeight:500,letterSpacing:"0.04em",textTransform:"uppercase",fontFamily:"var(--font-poppins)"},children:C.label})}),C.items.map((T,ge)=>{let y=C.startIdx+ge,B=c===y;return G("button",{"data-idx":y,onClick:()=>M(T),onMouseEnter:()=>p(y),className:"search-result-item",style:{width:"100%",display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-2) var(--space-3)",borderRadius:"var(--radius-2)",border:"none",cursor:"pointer",textAlign:"left",background:B?"var(--gray-3)":"transparent"},children:[S("div",{style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"var(--radius-1)",background:B?"var(--accent-a3)":"var(--gray-3)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"background 100ms ease"},children:S(z,{width:12,height:12,style:{color:B?"var(--accent-11)":"var(--gray-9)"}})}),G("div",{style:{flex:1,minWidth:0},children:[S(J,{as:"p",size:"2",weight:"medium",style:{color:B?"var(--gray-12)":"var(--gray-11)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:T.title}),S(J,{as:"p",size:"1",style:{color:"var(--gray-11)",lineHeight:1.3,marginTop:"1px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:T.subtitle})]}),B&&S("kbd",{style:{color:"var(--gray-9)",background:"var(--gray-4)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-1)",padding:"var(--space-1)",flexShrink:0},children:S(J,{size:"1",as:"span",className:"data-mono",children:"\u21B5"})})]},T.id)})]},C.type)})})]}),x!=="prompt"&&G("div",{style:{borderTop:"1px solid var(--gray-4)",padding:"var(--space-2) var(--space-4)",display:"flex",gap:"var(--space-4)"},children:[G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"\u2191\u2193"})," navigate"]}),G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"\u21B5"})," open"]}),G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"Esc"})," close"]})]})]})}function j(e,r){for(let t of e){let a=t.calendars.find(n=>n.id===r);if(a)return{account:t,calendar:a}}}import Yr from"dayjs";import{Flex as ea,Text as ra}from"@radix-ui/themes";import{jsx as Kr,jsxs as Zn}from"react/jsx-runtime";function qr({date:e,today:r=new Date}){let t=Yr(e).isSame(r,"day");return Zn(ea,{direction:"column",align:"center",gap:"1",py:"1",children:[Kr(ra,{size:"1",weight:"medium",color:"gray",style:{letterSpacing:"0.04em"},children:Yr(e).format("ddd").toUpperCase()}),Kr(ea,{align:"center",justify:"center",style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"50%",background:t?"var(--accent-9)":"transparent",lineHeight:1},children:Kr(ra,{size:"3",weight:t?"medium":"regular",style:{color:t?"var(--accent-contrast)":"var(--gray-12)",lineHeight:1},children:Yr(e).format("D")})})]})}import{Box as We,Checkbox as Jn,Flex as Qn,RadioGroup as ta,Text as $e}from"@radix-ui/themes";import{jsx as E,jsxs as oa}from"react/jsx-runtime";function ei(e){return e.flatMap(r=>r.calendars.map(t=>({calendarId:t.id,calendarName:t.name,email:r.email,provider:r.provider})))}function ri({provider:e}){return E("span",{"aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",flexShrink:0},children:E(H,{provider:e})})}function aa({row:e,control:r,selected:t,disabled:a,disabledLabel:n}){return oa($e,{as:"label",size:"2",style:{display:"flex",alignItems:"center",gap:"var(--space-3)",width:"100%",paddingBlock:"var(--space-3)",paddingInline:"var(--space-4)",cursor:a?"not-allowed":"pointer",opacity:a?.45:1,background:t?"var(--accent-2)":"transparent",color:"var(--gray-12)"},children:[E(ri,{provider:e.provider}),oa(Qn,{direction:"column",gap:"0",style:{minWidth:0,flex:1},children:[E($e,{size:"2",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:e.calendarName}),E($e,{size:"1",color:"gray",truncate:!0,children:e.email})]}),n?E($e,{size:"1",color:"gray",style:{flexShrink:0},children:n}):null,E(We,{style:{flexShrink:0,display:"flex",alignItems:"center"},children:r})]})}function ti({accounts:e,mode:r,sourceCalendarIds:t,targetCalendarId:a,takenSourceIds:n,onToggleSource:o,onSelectTarget:i,fill:l=!1}){let s=ei(e),p=r==="sources"&&s.length>0&&s.every(d=>d.calendarId===a||n.has(d.calendarId))?E(We,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",background:"var(--color-panel-solid)",padding:"var(--space-4)",...l?{flex:1,minHeight:0}:{}},children:E($e,{as:"p",size:"2",color:"gray",align:"center",children:"All your calendars are already used as sources in other syncs, or set as this sync's target. Remove a calendar from another sync to make it available here."})}):E(We,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",background:"var(--color-panel-solid)",...l?{flex:1,minHeight:0,overflowY:"auto"}:{overflow:"hidden"}},children:s.map((d,g)=>{if(r==="sources"){let x=d.calendarId===a,w=n.has(d.calendarId),M=x||w,ae=t.includes(d.calendarId);return E(We,{style:{borderTop:g>0?"1px solid var(--gray-4)":void 0},children:E(aa,{row:d,selected:ae,disabled:M,disabledLabel:x?"Target":w?"In use":void 0,control:E(Jn,{checked:ae,disabled:M,onCheckedChange:()=>{M||o(d.calendarId)}})})},d.calendarId)}let v=t.includes(d.calendarId),f=d.calendarId===a;return E(We,{style:{borderTop:g>0?"1px solid var(--gray-4)":void 0},children:E(aa,{row:d,selected:f,disabled:v,disabledLabel:v?"Source":void 0,control:E(ta.Item,{value:d.calendarId,disabled:v})})},d.calendarId)})});return r==="target"?E(ta.Root,{value:a??"",onValueChange:d=>{d&&i(d)},style:l?{flex:1,minHeight:0,display:"flex",flexDirection:"column"}:void 0,children:p}):p}import{Button as na,Flex as Xr,Heading as ai,IconButton as ia}from"@radix-ui/themes";import{ChevronLeftIcon as oi,ChevronRightIcon as ni}from"@radix-ui/react-icons";import{Navigate as Zr}from"react-big-calendar";import{jsx as me,jsxs as sa}from"react/jsx-runtime";function Jr({label:e,view:r,onNavigate:t,onView:a}){return sa(Xr,{align:"center",justify:"between",gap:"3",wrap:"wrap",className:"calendar-toolbar",children:[sa(Xr,{align:"center",gap:"2",children:[me(ia,{size:"2",variant:"soft",color:"gray",radius:"full","aria-label":"Previous",onClick:()=>t(Zr.PREVIOUS),children:me(oi,{})}),me(na,{size:"2",variant:"soft",color:"gray",onClick:()=>t(Zr.TODAY),children:"Today"}),me(ia,{size:"2",variant:"soft",color:"gray",radius:"full","aria-label":"Next",onClick:()=>t(Zr.NEXT),children:me(ni,{})})]}),me(ai,{as:"h2",size:L.h2,weight:"medium",style:{color:"var(--gray-12)"},children:e}),me(Xr,{gap:"1",style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",padding:"var(--space-1)",background:"var(--gray-2)"},children:["week","month"].map(n=>me(na,{size:"2",variant:r===n?"solid":"soft",className:r===n?"btn-amber-primary":void 0,color:r===n?void 0:"gray",onClick:()=>a(n),style:r===n?void 0:{background:"transparent"},children:n==="week"?"Week":"Month"},n))})]})}import{Button as ii,Flex as dr,Spinner as si,Text as Qr}from"@radix-ui/themes";import{ChevronRightIcon as li,ExclamationTriangleIcon as ci}from"@radix-ui/react-icons";import{jsx as Q,jsxs as Ue}from"react/jsx-runtime";var Ee={google:{label:"Google Calendar",description:"Connect a Google account calendar"},microsoft:{label:"Outlook Calendar",description:"Connect an Outlook account calendar"}},di=["google","microsoft"];function et({connectingProvider:e,failedProvider:r,exhausted:t=!1,onConnect:a}){return Q(dr,{direction:"column",gap:"3",style:{width:"100%",textAlign:"left"},children:di.map(n=>{let o=Ee[n],i=e===n;return Ue("div",{children:[Ue("button",{type:"button",className:"provider-choice",onClick:()=>a(n),disabled:e!==null,"data-connecting":i?"true":void 0,"aria-busy":i||void 0,"aria-label":`Connect ${o.label}`,children:[Q(P,{children:Q(H,{provider:n})}),Ue(dr,{direction:"column",className:"provider-choice__copy",gap:"1",children:[Q(Qr,{size:"3",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:o.label}),Q(Qr,{size:"2",color:"gray",truncate:!0,children:o.description})]}),Q("span",{className:"provider-choice__chevron","aria-hidden":!0,children:i?Q(si,{size:"2"}):Q(li,{style:h("--space-5")})})]}),r===n&&Ue(dr,{align:"center",justify:"between",gap:"3",mt:"2",px:"1",children:[Ue(dr,{align:"center",gap:"2",children:[Q(ci,{style:{...h("--space-4"),color:"var(--red-9)",flexShrink:0}}),Q(Qr,{size:"2",style:{color:"var(--red-11)"},children:t?`No more ${o.label} accounts available to connect.`:`Couldn't connect ${o.label}. Please try again.`})]}),!t&&Q(ii,{variant:"ghost",size:"1",onClick:()=>a(n),children:"Retry"})]})]},n)})})}import{Badge as la,Box as pi,DropdownMenu as Ge,Flex as ca,IconButton as gi,Text as da}from"@radix-ui/themes";import{DotsVerticalIcon as ui,ReloadIcon as mi,TrashIcon as fi}from"@radix-ui/react-icons";import{jsx as Y,jsxs as xe}from"react/jsx-runtime";function yi({account:e,onRemove:r,onReconnect:t,onClick:a}){let n=e.authStatus==="reauth",o=e.authStatus==="failed",i=Y(da,{size:"2",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:e.displayName});return xe(pi,{onClick:a,style:{width:"100%",minWidth:0,height:b.connectedAccountCardH,boxSizing:"border-box",padding:"var(--space-3)",background:"var(--color-panel-solid)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",display:"flex",alignItems:"center",gap:"var(--space-3)",cursor:a?"pointer":void 0},children:[Y(P,{size:"var(--space-6)",children:Y(H,{provider:e.provider})}),xe(ca,{direction:"column",style:{flex:1,minWidth:0},children:[xe(ca,{align:"center",gap:"2",style:{minWidth:0},children:[a?Y("button",{type:"button",className:"card-title-button",onClick:l=>{l.stopPropagation(),a()},children:i}):i,n&&Y(la,{color:"amber",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Needs reconnect"}),o&&Y(la,{color:"red",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Connection failed"})]}),Y(da,{size:"1",color:"gray",truncate:!0,children:e.email})]}),xe(Ge.Root,{children:[Y(Ge.Trigger,{children:Y(gi,{variant:"ghost",color:"gray",size:"1","aria-label":`${e.displayName} actions`,onClick:l=>l.stopPropagation(),children:Y(ui,{})})}),xe(Ge.Content,{align:"end",onClick:l=>l.stopPropagation(),children:[(n||o)&&t&&xe(Ge.Item,{onSelect:t,children:[Y(mi,{})," Reconnect"]}),xe(Ge.Item,{color:"red",onSelect:r,children:[Y(fi,{})," Remove account"]})]})]})]})}import{Flex as vi,Text as hi,Heading as bi}from"@radix-ui/themes";import{jsx as rt,jsxs as Ci}from"react/jsx-runtime";function xi({icon:e,title:r,description:t,action:a,headingAs:n="h2"}){return Ci(vi,{direction:"column",align:"center",gap:"3",style:{width:"100%",paddingTop:"var(--space-9)",textAlign:"center"},children:[rt(P,{size:"var(--space-8)",children:e}),rt(bi,{as:n,size:L[n],weight:"medium",align:"center",children:r}),t&&rt(hi,{size:"2",color:"gray",align:"center",style:{maxWidth:b.emptyStateCopyMax},children:t}),a]})}import{useState as wi}from"react";import{Dialog as je,Flex as Ti,Text as pr,Checkbox as Si,Button as pa}from"@radix-ui/themes";import{Fragment as Ri,jsx as _,jsxs as tt}from"react/jsx-runtime";function Ce({account:e,onOpenChange:r,onImport:t,initiallySelectedIds:a,disabledIds:n,disabledReason:o,title:i="Calendars",description:l="Choose which calendars you want to import.",confirmLabel:s="Import Calendars"}){let c=e?`${e.id}:${(a??e.calendars.map(p=>p.id)).join(",")}`:"closed";return _(je.Root,{open:!!e,onOpenChange:r,children:_(je.Content,{maxWidth:b.dialogMd,onInteractOutside:p=>p.preventDefault(),children:e&&_(ki,{account:e,initiallySelectedIds:a,disabledIds:n,disabledReason:o,title:i,description:l,confirmLabel:s,onImport:t},c)})})}function ki({account:e,initiallySelectedIds:r,disabledIds:t,disabledReason:a,title:n,description:o,confirmLabel:i,onImport:l}){let[s,c]=wi(()=>new Set(r??e.calendars.map(g=>g.id))),p=new Set(t??[]);function d(g){p.has(g)||c(v=>{let f=new Set(v);return f.has(g)?f.delete(g):f.add(g),f})}return tt(Ri,{children:[_(je.Title,{size:"5",weight:"medium",mb:"1",children:n}),_(je.Description,{size:"2",color:"gray",mb:"2",children:o}),_(pr,{as:"p",size:"2",weight:"medium",mb:"5",style:{color:"var(--gray-12)"},children:e.email}),_(Ti,{direction:"column",gap:"3",mb:"5",children:e.calendars.map(g=>{let v=s.has(g.id),f=p.has(g.id);return tt(pr,{as:"label",size:"3",className:"calendar-picker-row","data-selected":v||void 0,"data-disabled":f?"true":void 0,style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-4)",cursor:f?"default":"pointer"},children:[_(Si,{checked:v,disabled:f,onCheckedChange:()=>d(g.id)}),_(pr,{weight:"medium",truncate:!0,style:{flex:1,minWidth:0,color:"var(--gray-12)"},children:g.name}),f&&a&&_(pr,{size:"1",color:"gray",style:{flexShrink:0},children:a})]},g.id)})}),tt(X,{justify:"between",noTopMargin:!0,pad:"var(--space-5)",radius:"var(--radius-4)",children:[_(je.Close,{children:_(pa,{size:"2",variant:"outline",color:"gray",children:"Cancel"})}),_(pa,{size:"2",className:"btn-amber-primary",disabled:s.size===0,onClick:()=>l(Array.from(s)),children:i})]})]})}import{Box as Ye,Flex as Ii,Text as ee}from"@radix-ui/themes";import{jsx as N,jsxs as gr}from"react/jsx-runtime";function Ai(e){let r=/^#?([0-9a-f]{6})$/i.exec(e.trim());if(!r)return"white";let t=parseInt(r[1],16),a=o=>{let i=o/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)};return .2126*a(t>>16&255)+.7152*a(t>>8&255)+.0722*a(t&255)>.45?"black":"white"}function ga({tone:e,title:r,meta:t,accentColor:a}){let n=e==="synced"?a||"var(--accent-9)":"var(--blue-11)",o=e==="synced"?a?Ai(a):"var(--accent-contrast)":"white";return gr(Ye,{style:{background:n,borderRadius:"var(--radius-2)",padding:"var(--space-2) var(--space-3)"},children:[N(ee,{as:"p",size:"2",weight:"medium",style:{color:o},children:r}),t?N(ee,{as:"p",size:"1",style:{color:o},children:t}):null]})}var Di="Busy",Pi={title:"Gym",time:"10:00 AM",location:"Flex Gym on 16th Ave",description:"Workout notes"};function Ei({hasSources:e,hasTarget:r,sourceLabel:t,targetLabel:a,showTitle:n,showDescription:o,showLocation:i,tagLabel:l,accentColor:s,sampleEvent:c=Pi}){let p=c.title,d=[c.time,c.location].filter(Boolean).join(" \xB7 "),g=l?.trim()||Di,v=n?`${c.title} - (${g})`:g,f=[c.time].filter(Boolean);i&&c.location&&f.push(c.location),o&&c.description&&f.push(c.description);let x=f.join(" \xB7 ");return gr(Ii,{direction:"column",gap:"4",style:{padding:"var(--space-4)"},children:[N(ee,{as:"p",className:"ds-section-label",style:{textAlign:"center"},children:"Sync Preview"}),N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center",marginTop:"calc(-1 * var(--space-2))"},children:"Example event \u2014 not from your calendars."}),gr(Ye,{children:[N(ee,{as:"p",size:"1",color:"gray",mb:"1",children:"Sources"}),N(ee,{as:"p",size:"1",weight:"medium",mb:"2",truncate:!0,style:{color:"var(--gray-12)"},children:e?t||"Selected sources":"\u2014"}),N(Ye,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-2)",padding:"var(--space-2)",background:"var(--gray-2)"},children:N(ga,{tone:"source",title:p,meta:d})})]}),gr(Ye,{children:[N(ee,{as:"p",size:"1",color:"gray",mb:"1",children:"Target"}),N(ee,{as:"p",size:"1",weight:"medium",mb:"2",truncate:!0,style:{color:"var(--gray-12)"},children:r?a||"Selected target":"\u2014"}),N(Ye,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-2)",padding:"var(--space-2)",background:"var(--gray-2)"},children:r?N(ga,{tone:"synced",title:v,meta:x,...s?{accentColor:s}:{}}):N(ee,{as:"p",size:"2",color:"gray",children:"Pick one target calendar"})})]}),!e||!r?N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center"},children:"Select one or more sources, then one target"}):N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center"},children:"Only the highlighted block is posted to the target"})]})}import{Flex as at,Text as ot}from"@radix-ui/themes";import{CheckIcon as Mi}from"@radix-ui/react-icons";import{jsx as Me,jsxs as ua}from"react/jsx-runtime";function nt({steps:e,current:r}){return Me("div",{role:"list","aria-label":"Wizard progress",style:{display:"flex",flexWrap:"wrap",width:"100%",flexShrink:0,marginBottom:0,border:"1px solid var(--gray-5)",borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",overflow:"hidden"},children:e.map((t,a)=>{let n=a+1,o=n===r,i=n<r;return ua(at,{align:"start",gap:"3",role:"listitem","aria-current":o?"step":void 0,style:{flex:"1 1 calc(3 * var(--space-9) + var(--space-6))",minWidth:"calc(3 * var(--space-9) + var(--space-6))",paddingTop:"var(--space-4)",paddingBottom:"var(--space-4)",paddingLeft:"var(--space-4)",paddingRight:"var(--space-4)",marginBottom:"-1px",borderBottom:o?"2px solid var(--accent-9)":"2px solid transparent"},children:[Me(at,{align:"center",justify:"center",style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"50%",flexShrink:0,marginTop:"var(--space-1)",background:i?"var(--green-9)":o?"var(--accent-9)":"var(--gray-3)",color:i?"white":o?"var(--accent-contrast)":"var(--gray-11)"},children:i?Me(Mi,{style:h("--space-3")}):Me(ot,{size:"1",weight:"medium",children:t.n})}),ua(at,{direction:"column",gap:"1",style:{minWidth:0,flex:1,paddingTop:"var(--space-1)"},children:[Me(ot,{size:"2",weight:"medium",style:{color:o||i?"var(--gray-12)":"var(--gray-10)",lineHeight:"var(--line-height-2)"},children:t.title}),Me(ot,{size:"1",color:"gray",style:{lineHeight:"var(--line-height-1)"},children:t.description})]})]},t.n)})})}import{jsx as fa}from"react/jsx-runtime";var zi=[{n:"01",title:"Connect",description:"Connect your calendar account"},{n:"02",title:"Calendars",description:"Import at least 2 calendars"},{n:"03",title:"Sync",description:"Set up your first sync"}];function ma({current:e}){return fa(nt,{steps:zi,current:e})}function Bi({current:e,total:r=3}){return fa(ma,{current:e})}import it from"dayjs";import{Flex as ya,Grid as va,IconButton as ha,Text as ba}from"@radix-ui/themes";import{ChevronLeftIcon as Ni,ChevronRightIcon as Fi}from"@radix-ui/react-icons";import{jsx as de,jsxs as st}from"react/jsx-runtime";var Li=["S","M","T","W","T","F","S"];function lt({cursor:e,onSelect:r,today:t=new Date}){let a=it(e).startOf("month"),n=a.startOf("week"),o=Array.from({length:42},(i,l)=>n.add(l,"day"));return st("div",{children:[st(ya,{align:"center",justify:"between",mb:"2",children:[de(ba,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:a.format("MMMM YYYY")}),st(ya,{gap:"1",children:[de(ha,{size:"1",variant:"ghost",color:"gray","aria-label":"Previous month",onClick:()=>r(it(e).subtract(1,"month").toDate()),children:de(Ni,{})}),de(ha,{size:"1",variant:"ghost",color:"gray","aria-label":"Next month",onClick:()=>r(it(e).add(1,"month").toDate()),children:de(Fi,{})})]})]}),de(va,{columns:"7",gap:"1",mb:"1",children:Li.map((i,l)=>de(ba,{size:"1",color:"gray",align:"center",children:i},l))}),de(va,{columns:"7",gap:"1",justify:"center",align:"center",style:{justifyItems:"center"},children:o.map(i=>{let l=i.isSame(t,"day"),s=i.isSame(e,"day"),c=!i.isSame(a,"month");return de("button",{type:"button",onClick:()=>r(i.toDate()),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",boxSizing:"border-box",flexShrink:0,padding:0,borderRadius:"50%",border:l&&!s?"1.5px solid var(--accent-9)":"none",cursor:"pointer",background:s?"var(--accent-9)":"transparent",color:s?"var(--accent-contrast)":c?"var(--gray-11)":l?"var(--accent-11)":"var(--gray-12)",fontWeight:l||s?500:400,fontSize:"var(--font-size-1)",fontFamily:"var(--font-poppins)"},children:i.format("D")},i.format("YYYY-MM-DD"))})})]})}import{useState as Hi}from"react";import{Dialog as Ke,Flex as qe,Text as ur,Button as ct,IconButton as Oi,Badge as xa,Separator as _i,Box as Ca}from"@radix-ui/themes";import{Cross2Icon as Vi,PlusIcon as Wi,ReloadIcon as $i}from"@radix-ui/react-icons";import{Fragment as wa,jsx as I,jsxs as re}from"react/jsx-runtime";function Ui({account:e,catalog:r,onOpenChange:t,onRemoveCalendar:a,onSaveCalendars:n,onReconnect:o}){let[i,l]=Hi(!1),s=e?.authStatus==="reauth",c=e?.authStatus==="failed";function p(d){if(!e||!r)return;let g=new Set(d);n(e,r.calendars.filter(v=>g.has(v.id))),l(!1)}return re(wa,{children:[I(Ke.Root,{open:!!e&&!i,onOpenChange:d=>{d||t(!1)},children:I(Ke.Content,{maxWidth:b.dialogMd,children:e&&re(wa,{children:[re(qe,{align:"center",gap:"3",mb:"1",children:[I(P,{size:"var(--space-6)",children:I(H,{provider:e.provider})}),re(Ca,{style:{minWidth:0,flex:1},children:[re(qe,{align:"center",gap:"2",mb:"1",style:{minWidth:0},children:[I(Ke.Title,{size:"4",weight:"medium",mb:"0",truncate:!0,style:{minWidth:0},children:e.displayName}),s&&I(xa,{color:"amber",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Needs reconnect"}),c&&I(xa,{color:"red",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Connection failed"})]}),I(Ke.Description,{size:"2",color:"gray",mb:"0",children:e.email})]})]}),(s||c)&&o&&re(ct,{size:"2",variant:"soft",color:c?"red":"amber",mt:"3",onClick:()=>o(e.id),children:[I($i,{}),"Reconnect"]}),I(_i,{size:"4",my:"4"}),re(qe,{align:"center",justify:"between",gap:"3",mb:"3",children:[I(ur,{as:"p",className:"ds-section-label",mb:"0",children:"Calendars"}),r&&r.calendars.length>0&&re(ct,{size:"1",variant:"soft",color:"gray",onClick:()=>l(!0),children:[I(Wi,{style:h("--space-3")}),"Change calendars"]})]}),I(qe,{direction:"column",style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",overflow:"hidden",background:"var(--color-panel-solid)"},children:e.calendars.length===0?I(ur,{size:"2",color:"gray",style:{padding:"var(--space-4)"},children:"No calendars imported."}):e.calendars.map((d,g)=>re(qe,{align:"center",gap:"3",className:"data-table-row",style:{padding:"var(--space-3) var(--space-4)",minHeight:"var(--space-7)",borderTop:g>0?"1px solid var(--gray-4)":void 0},children:[I(Ca,{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:d.colorToken,flexShrink:0}}),re(ur,{size:"2",truncate:!0,style:{flex:1,minWidth:0,color:"var(--gray-12)"},children:[d.name,d.isPrimary&&re(ur,{size:"1",color:"gray",children:[" ","\xB7 Primary"]})]}),I(Oi,{variant:"ghost",color:"gray",size:"1","aria-label":`Remove ${d.name}`,onClick:()=>a(e,d),children:I(Vi,{})})]},d.id))}),I(X,{justify:"end",children:I(Ke.Close,{children:I(ct,{size:"2",variant:"soft",color:"gray",children:"Close"})})})]})})}),I(Ce,{account:i&&r?r:null,initiallySelectedIds:e?.calendars.map(d=>d.id),title:"Change calendars",description:"Choose which calendars to keep on this account.",confirmLabel:"Save calendars",onOpenChange:d=>{d||l(!1)},onImport:p})]})}import{useMemo as Gi}from"react";import yr from"dayjs";import{Calendar as ji,dayjsLocalizer as Yi,Views as Xe}from"react-big-calendar";import"react-big-calendar/lib/css/react-big-calendar.css";import{Text as mr}from"@radix-ui/themes";import{jsx as ze,jsxs as fr}from"react/jsx-runtime";var Ki=Yi(yr),qi=new Date(1970,0,1,8,0,0);function dt({blocks:e,view:r,onViewChange:t,date:a,onNavigate:n,accounts:o,today:i=new Date}){let l=Gi(()=>e.map(s=>{let c=new Date(s.date);c.setHours(s.startHour,s.startMinute,0,0);let p=new Date(s.date);return p.setHours(s.endHour,s.endMinute,0,0),{id:s.id,title:s.title,start:c,end:p,resource:s}}),[e]);return ze("div",{className:"rbc-radix-scope",style:{height:"100%",containerType:"inline-size"},children:ze(ji,{localizer:Ki,events:l,view:r==="week"?Xe.WEEK:Xe.MONTH,onView:s=>t(s===Xe.MONTH?"month":"week"),date:a,onNavigate:n,views:[Xe.WEEK,Xe.MONTH],toolbar:!0,popup:!0,scrollToTime:qi,enableAutoScroll:!0,getNow:()=>i,tooltipAccessor:null,eventPropGetter:s=>{let p=j(o,s.resource.calendarId)?.calendar.colorToken??"var(--gray-8)";return r==="month"?{style:{background:"transparent",border:"none",boxShadow:"none"}}:{style:{backgroundColor:p,border:"none"}}},components:{toolbar:Jr,week:{header:s=>ze(qr,{...s,today:i}),event:({event:s})=>{let c=(s.end.getTime()-s.start.getTime())/6e4,p=c>=60,d=c>=30;return fr("div",{children:[ze(mr,{size:"1",weight:"medium",style:{color:"white",display:"block"},truncate:!0,children:s.title}),d&&fr(mr,{size:"1",style:{color:"rgba(255,255,255,0.85)",display:"block"},truncate:!0,children:[yr(s.start).format("h:mm A")," \u2013 ",yr(s.end).format("h:mm A")]}),p&&s.resource.location&&ze(mr,{size:"1",style:{color:"rgba(255,255,255,0.85)",display:"block"},truncate:!0,children:s.resource.location})]})}},month:{event:({event:s})=>{let p=j(o,s.resource.calendarId)?.calendar.colorToken??"var(--gray-8)";return fr(mr,{size:"1",style:{display:"flex",alignItems:"center",gap:"var(--space-1)",color:"var(--gray-12)",background:`color-mix(in srgb, ${p} 28%, transparent)`,borderRadius:"var(--radius-2)",padding:"var(--space-1) var(--space-2)"},truncate:!0,children:[ze("span",{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:p,flexShrink:0}}),fr("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[yr(s.start).format("H:mm")," ",s.title]})]})}}}})})}import{Dialog as Ze,Flex as we,Text as Te,Button as Ta,Separator as Xi,Badge as Zi}from"@radix-ui/themes";import{Fragment as Qi,jsx as k,jsxs as ye}from"react/jsx-runtime";var Sa={synced:{label:"Synced",color:"green"},syncing:{label:"Syncing\u2026",color:"amber"},error:{label:"Error",color:"red"}};function Ji({sync:e,accounts:r,onOpenChange:t,onEdit:a}){let n=e?(()=>{let o=e.sourceCalendarIds.map(l=>j(r,l)?.calendar.name).filter(l=>!!l),i=j(r,e.targetCalendarId)?.calendar.name??"\u2014";return`${o.join(", ")||"\u2014"} \u2192 ${i}`})():"";return k(Ze.Root,{open:!!e,onOpenChange:t,children:k(Ze.Content,{maxWidth:b.dialogMd,children:e&&ye(Qi,{children:[ye(we,{align:"center",justify:"between",mb:"1",children:[k(Ze.Title,{size:"4",mb:"0",children:e.name}),k(Zi,{color:Sa[e.status].color,variant:"soft",size:"1",radius:"full",children:Sa[e.status].label})]}),k(Ze.Description,{size:"2",color:"gray",mb:"4",children:"Sync configuration"}),ye(we,{direction:"column",gap:"3",children:[k(fe,{label:"Calendars",children:n}),k(fe,{label:"Sources",children:k(we,{direction:"column",gap:"1",align:"end",children:e.sourceCalendarIds.map(o=>{let i=j(r,o);return i?ye(we,{direction:"column",align:"end",children:[k(Te,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:i.calendar.name}),k(Te,{size:"1",color:"gray",children:i.account.email})]},o):null})||"\u2014"})}),k(fe,{label:"Target",children:(()=>{let o=j(r,e.targetCalendarId);return o?ye(we,{direction:"column",align:"end",children:[k(Te,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:o.calendar.name}),k(Te,{size:"1",color:"gray",children:o.account.email})]}):"\u2014"})()}),k(fe,{label:"Last synced",children:e.lastSyncedLabel??"\u2014"})]}),k(Xi,{size:"4",my:"4"}),k(Te,{as:"p",size:"1",weight:"medium",color:"gray",mb:"3",style:{letterSpacing:"0.04em"},children:"WHAT TO SHOW"}),ye(we,{direction:"column",gap:"3",children:[k(fe,{label:"Tag",children:e.tagLabel?.trim()||"Busy"}),k(fe,{label:"Event titles",children:e.showTitle?"Shown":"Hidden"}),k(fe,{label:"Event description",children:e.showDescription?"Shown":"Hidden"}),k(fe,{label:"Event location",children:e.showLocation?"Shown":"Hidden"})]}),ye(X,{justify:"between",children:[k(Ze.Close,{children:k(Ta,{size:"2",variant:"soft",color:"gray",children:"Close"})}),k(Ta,{size:"2",className:"btn-amber-primary",onClick:()=>a(e.id),children:"Edit sync"})]})]})})})}function fe({label:e,children:r}){return ye(we,{align:"baseline",justify:"between",gap:"4",children:[k(Te,{size:"2",color:"gray",style:{flexShrink:0},children:e}),k(Te,{size:"2",weight:"medium",align:"right",style:{color:"var(--gray-12)"},children:r})]})}import{useState as vr}from"react";function Je({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a}){let[n,o]=vr(null),[i,l]=vr(null),[s,c]=vr(null),[p,d]=vr(!1);function g(f){if(n)return;c(null),d(!1),o(f);let x=e.map(w=>w.id);r(f,x).then(w=>{o(null),w?l(w):(c(f),d(!0))}).catch(()=>{o(null),c(f),d(!1)})}function v(f){if(!i)return;let x=new Set(f);t({...i,calendars:i.calendars.filter(w=>x.has(w.id))}),l(null),a?.()}return{connectingProvider:n,pendingAccount:i,failedProvider:s,exhausted:p,connect:g,confirmImport:v,cancelImport:()=>l(null),dismissError:()=>c(null)}}import{Box as es,DropdownMenu as hr,Button as rs,Flex as ts,Text as ka}from"@radix-ui/themes";import{PlusIcon as Ra}from"@radix-ui/react-icons";import{Fragment as os,jsx as te,jsxs as Be}from"react/jsx-runtime";function as({variant:e="button",trigger:r,accounts:t,connectProvider:a,onAccountAdded:n,onImported:o}){let{pendingAccount:i,failedProvider:l,exhausted:s,connect:c,confirmImport:p,cancelImport:d,dismissError:g}=Je({accounts:t,connectProvider:a,onAccountAdded:n,onImported:o}),v=["google","microsoft"],f=e==="tile"?Be("button",{type:"button",className:"connect-account-tile","aria-label":"Connect Account",children:[te(Ra,{style:h("--space-4")}),"Connect Account"]}):Be(rs,{size:"2",className:"btn-amber-primary",children:[te(Ra,{style:h("--space-4")}),"Connect Account"]}),x=Be(hr.Root,{children:[te(hr.Trigger,{children:r??f}),te(hr.Content,{align:"start",style:{width:"max-content",minWidth:"max-content"},children:v.map(w=>{let M=Ee[w];return Be(hr.Item,{onSelect:()=>c(w),style:{height:"auto",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-2) var(--space-3)"},children:[te(P,{size:"var(--space-6)",children:te(H,{provider:w})}),Be(ts,{direction:"column",gap:"1",style:{flexShrink:0},children:[te(ka,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:M.label}),te(ka,{size:"1",color:"gray",children:M.description})]})]},w)})})]});return Be(os,{children:[e==="tile"&&!r?te(es,{style:{width:"100%",minWidth:0},children:x}):x,te(Ce,{account:i,onOpenChange:w=>!w&&d(),onImport:p}),l&&te(Pr,{msg:s?`No more ${Ee[l].label} accounts available to connect.`:`Couldn't connect ${Ee[l].label}. Please try again.`,color:"red",onDone:g})]})}import{Card as ns,Flex as pt,Text as is,Heading as ss}from"@radix-ui/themes";import{CalendarIcon as ls}from"@radix-ui/react-icons";import{jsx as ve,jsxs as Ia}from"react/jsx-runtime";function cs({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a}){let{connectingProvider:n,pendingAccount:o,failedProvider:i,exhausted:l,connect:s,confirmImport:c,cancelImport:p}=Je({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a});return Ia(pt,{direction:"column",align:"center",justify:"center",style:{width:"100%",flex:1,minHeight:0},children:[ve(ns,{style:{width:"100%",maxWidth:b.providerChooserMax},children:Ia(pt,{direction:"column",align:"center",justify:"center",gap:"3",py:"6",px:"3",style:{width:"100%",textAlign:"center"},children:[ve(P,{children:ve(ls,{style:{...h("--space-5"),color:"var(--gray-7)"}})}),ve(ss,{as:"h2",size:L.h2,weight:"medium",children:e.length>0?"Connect another account":"Connect your first account"}),ve(is,{as:"p",size:"2",color:"gray",children:e.length>0?"Add another Google or Microsoft account, then choose which calendars to import.":"Connect a Google or Microsoft account to import calendars for sync."}),ve(pt,{direction:"column",style:{width:"100%"},mt:"3",children:ve(et,{connectingProvider:n,failedProvider:i,exhausted:l,onConnect:s})})]})}),ve(Ce,{account:o,onOpenChange:d=>!d&&p(),onImport:c})]})}import{useEffect as ds,useMemo as gt,useState as br}from"react";import{Link as ps}from"react-router-dom";import{Box as ut,Checkbox as Aa,Flex as Qe,Separator as mt,Text as Se}from"@radix-ui/themes";import{ChevronDownIcon as gs,GearIcon as us,HamburgerMenuIcon as ms}from"@radix-ui/react-icons";import{jsx as A,jsxs as pe}from"react/jsx-runtime";function fs({accounts:e,view:r,setView:t,hideClones:a,setHideClones:n,mergedCalendarIds:o,visibleCalendarIds:i,toggleCalendarVisible:l,getVisibleBlocksInRange:s,manageAccountsHref:c,today:p=new Date}){let[d,g]=br(p),[v,f]=br(new Set),[x,w]=br(()=>typeof window<"u"&&window.innerWidth<900),[M,ae]=br(!1);ds(()=>{function y(){w(window.innerWidth<900)}return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let se=gt(()=>{let y=new Date(d);return y.setDate(y.getDate()-42),y},[d]),C=gt(()=>{let y=new Date(d);return y.setDate(y.getDate()+42),y},[d]),z=s(se,C),T=gt(()=>{let y=[],B=new Map;for(let V of o){let W=j(e,V);if(!W)continue;let K=B.get(W.account.id);K===void 0&&(K=y.length,B.set(W.account.id,K),y.push({accountId:W.account.id,calendarIds:[]})),y[K].calendarIds.push(V)}return y},[o,e]);function ge(y){f(B=>{let V=new Set(B);return V.has(y)?V.delete(y):V.add(y),V})}return pe(Qe,{gap:"5",align:"start",direction:x?"column":"row",flexGrow:"1",minHeight:"0",height:"100%",children:[(!x||M)&&pe(ut,{minWidth:x?void 0:b.sidebarColMin,p:"4",maxHeight:"100%",style:{flex:x?"1 1 100%":`0 0 ${b.sidebarColBasis}`,border:"1px solid var(--gray-5)",borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",boxShadow:"var(--shadow-card)",overflow:"auto"},children:[A(lt,{cursor:d,onSelect:g,today:p}),A(mt,{size:"4",my:"3"}),A(Se,{as:"p",size:"1",weight:"medium",color:"gray",mb:"3",style:{letterSpacing:"0.04em"},children:"CALENDARS"}),A(Qe,{direction:"column",gap:"1",mb:"4",children:T.map(({accountId:y,calendarIds:B},V)=>{let W=e.find(q=>q.id===y);if(!W)return null;let K=v.has(y);return pe("div",{style:{paddingTop:V>0?"var(--space-2)":void 0,borderTop:V>0?"1px solid var(--gray-3)":void 0},children:[pe(Qe,{align:"center",gap:"2",mb:"2",py:"1",className:"calendar-legend-account-row",style:{cursor:"pointer",borderRadius:"var(--radius-2)"},onClick:()=>ge(y),children:[A(gs,{style:{...h("--space-3"),color:"var(--gray-9)",transform:K?"rotate(-90deg)":void 0,transition:"transform 120ms ease",flexShrink:0}}),A(H,{provider:W.provider}),A(Se,{size:"2",weight:"medium",truncate:!0,title:W.email,style:{color:"var(--gray-12)",minWidth:0},children:W.email})]}),!K&&A(Qe,{direction:"column",gap:"1",pl:"5",children:B.map(q=>{let Re=j(e,q);return Re?pe(Se,{as:"label",size:"2",className:"calendar-legend-row",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",cursor:"pointer",borderRadius:"var(--radius-2)",padding:"var(--space-1) var(--space-2)",marginLeft:"calc(var(--space-2) * -1)"},children:[pe(Qe,{align:"center",gap:"1",children:[A(Aa,{checked:i.has(q),onCheckedChange:()=>l(q)}),A("span",{"aria-hidden":!0,style:{width:"var(--space-3)",height:"var(--space-3)",borderRadius:"50%",background:Re.calendar.colorToken,flexShrink:0}})]}),A(Se,{size:"2",truncate:!0,style:{color:"var(--gray-12)"},title:Re.calendar.name,children:Re.calendar.name})]},q):null})})]},y)})}),A(mt,{size:"4",mb:"3"}),pe(Se,{as:"label",size:"2",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",cursor:"pointer"},mb:"3",children:[A(Aa,{checked:a,onCheckedChange:y=>n(!!y)}),"Hide synced events"]}),A(mt,{size:"4",mb:"3"}),pe(ps,{to:c,style:{display:"flex",alignItems:"center",gap:"var(--space-2)",color:"var(--gray-11)",textDecoration:"none"},children:[A(us,{style:h("--space-3")}),A(Se,{size:"2",children:"Manage accounts"})]}),A(Se,{as:"p",size:"1",color:"gray",mt:"4",children:"On your target calendars, others see only what each sync is set to share. Full detail stays in araMetrics."})]}),pe(ut,{width:x?"100%":void 0,minHeight:b.bigCalendarH,height:"100%",style:{flex:x?"1 1 100%":`1 1 ${b.syncColWide}`,minWidth:x?0:b.syncColMin,display:"flex",flexDirection:"column",alignSelf:"stretch"},children:[x&&A("button",{type:"button",className:"sidebar-icon-btn","aria-label":M?"Hide calendars":"Show calendars",style:{alignSelf:"flex-start",marginBottom:"var(--space-3)"},onClick:()=>ae(y=>!y),children:A(ms,{style:h("--space-4")})}),A(ut,{flexGrow:"1",minHeight:"0",height:"100%",children:A(dt,{blocks:z,view:r,onViewChange:t,date:d,onNavigate:g,accounts:e,today:p})})]})]})}import{clsx as ys}from"clsx";import{twMerge as vs}from"tailwind-merge";function ke(...e){return vs(ys(e))}function hs(e,r="solid"){return R.variants[e]?.[r]||R.variants.primary[r]}function bs(e){let r=R.sizes[e]||R.sizes.md;return`${r.text} ${r.padding} ${r.height}`}function xs(){return ke(R.base.transition,R.base.focus,R.base.disabled,R.accessibility.reducedMotion)}function Cs(){return ke(R.base.interactive,R.accessibility.focusTrap,R.accessibility.touchTarget)}function ws(e={}){return ke(e.focusVisible&&R.accessibility.focusTrap,e.highContrast&&R.accessibility.highContrast,e.reducedMotion&&R.accessibility.reducedMotion)}function Ts(e,r=""){return typeof e=="string"?`${r}${e}`:typeof e=="object"&&e!==null?Object.entries(e).map(([t,a])=>a===void 0?"":`${t==="xs"?"":`${t}:`}${r}${a}`).filter(Boolean).join(" "):""}function Ss(e,r="gap"){let t=R.spacing[e]||R.spacing.md;switch(r){case"margin":return t.replace("gap-","m-");case"padding":return t.replace("gap-","p-");default:return t}}function ks(e){return R.radius[e]||R.radius.md}function Rs(e){return R.typography[e]||R.typography.base}function Is(e,r=500){return`bg-${e}-${r}`}function As(e,r=500){return`text-${e}-${r}`}function Ds(e,r=500){return`border-${e}-${r}`}function Ps(e,r=500){return`hover:bg-${e}-${r}`}function Es(e,r=500){return`hover:text-${e}-${r}`}function Ms(e,r=500){return`focus:ring-${e}-${r}`}function zs(e){let r=R.animations[e];return typeof r=="string"?r:""}function Bs(e,r,t){return a=>{let n=e;return Object.entries(r).forEach(([o,i])=>{let l=a[o];l&&i[l]&&(n+=` ${i[l]}`)}),t?.forEach(({conditions:o,className:i})=>{Object.entries(o).every(([s,c])=>a[s]===c)&&(n+=` ${i}`)}),ke(n)}}function Ns(e){return function(t){let{className:a,...n}=t,o={...e.defaultVariants,...n},i=e.base||"";return e.variants&&Object.entries(e.variants).forEach(([l,s])=>{let c=o[l];c&&s[c]&&(i+=` ${s[c]}`)}),e.compoundVariants?.forEach(({conditions:l,className:s})=>{Object.entries(l).every(([p,d])=>o[p]===d)&&(i+=` ${s}`)}),ke(i,a)}}function Fs(e,r){let t={...e};return Object.keys(r).forEach(a=>{let n=r[a],o=e[a];a==="className"?t[a]=ke(o,n):typeof n=="object"&&typeof o=="object"&&n!==null&&o!==null&&!Array.isArray(n)&&!Array.isArray(o)?t[a]={...o,...n}:t[a]=n}),t}function Ls(e,r,t){return e?r:t&&e===!1?t:""}function Hs(e){let r=["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");return Array.from(e.querySelectorAll(r))}function Os(e,r,t,a={}){let{loop:n=!0,orientation:o="both"}=a,i=t;switch(e.key){case"ArrowDown":(o==="vertical"||o==="both")&&(i=t+1,i>=r.length&&(i=n?0:r.length-1));break;case"ArrowUp":(o==="vertical"||o==="both")&&(i=t-1,i<0&&(i=n?r.length-1:0));break;case"ArrowRight":(o==="horizontal"||o==="both")&&(i=t+1,i>=r.length&&(i=n?0:r.length-1));break;case"ArrowLeft":(o==="horizontal"||o==="both")&&(i=t-1,i<0&&(i=n?r.length-1:0));break;case"Home":i=0;break;case"End":i=r.length-1;break}return i!==t&&(e.preventDefault(),r[i]?.focus()),i}import{Theme as _s}from"@radix-ui/themes";import"@radix-ui/themes/styles.css";import{jsx as Ws}from"react/jsx-runtime";function Vs({children:e,appearance:r="light",radius:t="none",scaling:a="100%",accentColor:n="amber",grayColor:o="gray",panelBackground:i="solid",className:l=""}){return Ws(_s,{accentColor:n,grayColor:o,radius:t,scaling:a,panelBackground:i,appearance:r,className:l,children:e})}import*as xr from"react";function Su({value:e,defaultValue:r,onChange:t}){let[a,n]=xr.useState(r),o=e!==void 0,i=o?e:a,l=xr.useCallback(s=>{let c=typeof s=="function"?s(i):s;o||n(c),t?.(c)},[o,i,t]);return[i,l]}import*as Ne from"react";function Ru(e=!1){let[r,t]=Ne.useState(e),a=Ne.useCallback(()=>t(!0),[]),n=Ne.useCallback(()=>t(!1),[]),o=Ne.useCallback(()=>t(i=>!i),[]);return{isOpen:r,open:a,close:n,toggle:o,onOpen:a,onClose:n,onToggle:o}}import*as Cr from"react";function Au(e,r=!0){let t=Cr.useRef(null);return Cr.useEffect(()=>{if(!r)return;let a=n=>{t.current&&!t.current.contains(n.target)&&e()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e,r]),t}export{Ko as ACTIVITY_META,Lt as AUDIT_ACTION_META,Fa as AccentCard,bt as AccentHeader,Ui as AccountCalendarsDialog,Ya as AccountCard,Ro as ActivityRow,as as AddAccountMenu,ko as AppCard,Xo as AuthCard,dt as BigCalendarView,Lr as BrandPanel,qr as CalendarDayHeader,fs as CalendarMergedView,ti as CalendarPickList,Jr as CalendarToolbar,X as CardFooter,kr as ConfirmDialog,et as ConnectProviderList,cs as ConnectProviderRows,yi as ConnectedAccountCard,Mo as DashboardErrorCard,Mr as DataTableRow,xi as EmptyCard,mo as EventBlock,Hr as GoogleIcon,P as IconTile,Ce as ImportCalendarsDialog,Yo as METRIC_STATUS_COLOR,bo as MetricCard,Or as MicrosoftIcon,lt as MiniMonthPicker,ao as MonthGrid,Bi as OnboardingStepDots,ma as OnboardingStepper,_r as OtpInput,on as OtpVerifyStep,nn as PROVIDER_LABEL,Ee as PROVIDER_META,$o as Pagination,Rr as PausedBadge,H as ProviderIcon,Go as ROLE_LABELS,tr as ROLE_META,lr as SHELL_HEADER_H,jo as STATUS_META,Kn as SearchOverlay,wn as Sidebar,Ma as Skeleton,Ji as SyncDetailsDialog,Ei as SyncPreviewRail,Pr as Toast,Fn as Topbar,Vs as UIProvider,nt as WizardStepper,qo as auditActionMeta,ke as cn,Ea as colors,Ls as conditionalClass,Bs as createCompoundVariants,Ns as createVariantGenerator,j as findCalendar,ws as getAccessibilityStyles,zs as getAnimationClass,xs as getBaseStyles,Is as getBgClass,Ds as getBorderClass,vt as getColor,Ms as getFocusRingClass,Hs as getFocusableElements,Ps as getHoverBgClass,Es as getHoverTextClass,Cs as getInteractiveStyles,ks as getRadiusClass,Ts as getResponsiveClasses,bs as getSizeStyles,Ss as getSpacingClass,As as getTextClass,Rs as getTypographyClass,hs as getVariantStyles,Os as handleArrowNavigation,L as headingSize,b as layout,Fs as mergeProps,R as theme,Au as useClickOutside,Je as useConnectAccount,Su as useControllableState,Ru as useDisclosure};
|
|
1
|
+
import{a as za,b as R,c as vt}from"./chunk-LGJWNA6J.mjs";import{jsx as Na}from"react/jsx-runtime";function Ba({width:e="100%",height:r="var(--space-4)",radius:t="var(--radius-2)",circle:a=!1,mb:n,className:o,style:i}){return Na("div",{className:["skeleton",o].filter(Boolean).join(" "),"aria-hidden":"true",style:{width:e,height:r,borderRadius:a?"50%":t,marginBottom:n,...i}})}import{Box as ht,Flex as Fa,Text as La}from"@radix-ui/themes";import{jsx as Sr,jsxs as xt}from"react/jsx-runtime";function bt({title:e,trailing:r,style:t}){let a=typeof e=="string"||typeof e=="number"?Sr(La,{size:"3",weight:"medium",style:{color:"var(--accent-contrast)"},children:e}):e;return xt(Fa,{align:"center",justify:"between",gap:"3",px:"4",style:{background:"var(--accent-9)",minHeight:"var(--space-7)",...t},children:[a,r]})}function Ha({title:e,trailing:r,children:t,bodyPadding:a="4",style:n}){return xt(ht,{style:{background:"var(--color-panel-solid)",borderRadius:"var(--radius-5)",overflow:"hidden",boxShadow:"var(--shadow-card)",...n},children:[Sr(bt,{title:e,trailing:r}),Sr(ht,{p:a,children:t})]})}import{AlertDialog as he,Button as Ct}from"@radix-ui/themes";var b={contentMax:"calc(15 * var(--space-9) + var(--space-5))",accountCardW:"calc(3 * var(--space-9) + var(--space-8))",accountCardMinH:"calc(2 * var(--space-9) - var(--space-2))",monthTitleMinW:"calc(3 * var(--space-9) - var(--space-1))",bigCalendarH:"calc(10 * var(--space-9))",sidebarColBasis:"calc(4 * var(--space-9) - var(--space-2))",sidebarColMin:"calc(3 * var(--space-9) + var(--space-6))",syncColMin:"calc(5 * var(--space-9))",syncColWide:"calc(7 * var(--space-9) + var(--space-6))",dialogSm:"calc(6 * var(--space-9) - var(--space-2))",dialogBody:"calc(5 * var(--space-9) + var(--space-7))",authFormMax:"calc(6 * var(--space-9) + var(--space-8))",brandLogoMax:"calc(6 * var(--space-9) + var(--space-8) - var(--space-1))",connectedAccountCardH:"calc(var(--space-9) - var(--space-1))",dialogMd:"calc(6 * var(--space-9) + var(--space-6))",dialogLg:"calc(7 * var(--space-9) - var(--space-1))",emptyStateMax:"calc(10 * var(--space-9))",emptyStateCopyMax:"calc(6 * var(--space-9))",providerChooserMax:"calc(6 * var(--space-9) + var(--space-6))",auditColTime:"calc(var(--space-9) + var(--space-2))",auditColAction:"calc(var(--space-9) + var(--space-5) + var(--space-1))",searchFieldW:"calc(3 * var(--space-9) + var(--space-5) + var(--space-1))",settingsGridMin:"calc(5 * var(--space-9) + var(--space-5))",placeholderMd:"calc(6 * var(--space-9) + var(--space-4))"};import{Flex as Oa}from"@radix-ui/themes";import{jsx as _a}from"react/jsx-runtime";function X({children:e,justify:r="end",noTopMargin:t,pad:a="var(--space-5)",radius:n="var(--radius-5)"}){return _a(Oa,{justify:r,style:{margin:`${t?"0":"var(--space-5)"} calc(-1 * ${a}) calc(-1 * ${a})`,padding:`var(--space-4) ${a}`,alignItems:"center",background:"var(--gray-2)",borderTop:"1px solid var(--gray-5)",borderRadius:`0 0 ${n} ${n}`},children:e})}import{jsx as be,jsxs as kr}from"react/jsx-runtime";function Rr({title:e,description:r,confirmLabel:t="Yes",cancelLabel:a="Cancel",onConfirm:n,trigger:o,open:i,onOpenChange:l}){return kr(he.Root,{open:i,onOpenChange:l,children:[o?be(he.Trigger,{children:o}):null,kr(he.Content,{maxWidth:b.dialogSm,children:[be(he.Title,{size:"5",mb:"1",style:{fontFamily:"var(--heading-font-family)",fontWeight:"var(--font-weight-medium)"},children:e}),be(he.Description,{size:"2",color:"gray",mb:"5",children:r}),kr(X,{justify:"between",noTopMargin:!0,children:[be(he.Cancel,{children:be(Ct,{size:"2",variant:"outline",color:"gray",children:a})}),be(he.Action,{children:be(Ct,{size:"2",className:"btn-amber-primary",onClick:n,children:t})})]})]})]})}import{PauseIcon as Wa}from"@radix-ui/react-icons";function h(e){return{width:`var(${e})`,height:`var(${e})`}}import{jsx as wt,jsxs as Va}from"react/jsx-runtime";function Ir({label:e="Paused",style:r}){return Va("span",{style:{display:"inline-flex",alignItems:"center",gap:"var(--space-1)",height:"calc(var(--space-4) + var(--space-1))",padding:"var(--space-1) var(--space-2)",border:"1px solid var(--color-paused)",borderRadius:999,background:"var(--color-panel-solid)",color:"var(--color-paused)",fontSize:"var(--font-size-1)",fontWeight:600,lineHeight:1,whiteSpace:"nowrap",...r},children:[wt("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-3)",height:"var(--space-3)",flexShrink:0,borderRadius:"50%",border:"1px solid var(--color-paused)"},children:wt(Wa,{style:h("--space-2")})}),e]})}import{Avatar as $a,Box as Tt,DropdownMenu as Ie,Flex as St,IconButton as Ua,Text as kt}from"@radix-ui/themes";import{DotsVerticalIcon as Ga,PauseIcon as ja,PlayIcon as Ya,TrashIcon as Ka}from"@radix-ui/react-icons";import{jsx as $,jsxs as ne}from"react/jsx-runtime";function qa({name:e,email:r,avatarSrc:t,paused:a=!1,onPause:n,onResume:o,onDelete:i,onClick:l,badge:s,accentColor:c,style:p}){let d=$(kt,{as:l?"span":"p",size:"3",weight:"medium",truncate:!0,style:{color:"var(--gray-12)",minWidth:0},children:e});return ne(Tt,{onClick:l,style:{width:b.accountCardW,minHeight:b.accountCardMinH,padding:"var(--space-3)",background:"var(--color-panel-solid)",borderRadius:"var(--radius-4)",boxShadow:"var(--shadow-card)",cursor:l?"pointer":void 0,...p},children:[ne(St,{align:"center",justify:"between",gap:"2",mb:"3",children:[ne(St,{align:"center",gap:"2",style:{minWidth:0},children:[ne("div",{style:{position:"relative",flexShrink:0},children:[$($a,{size:"3",radius:"full",src:t,fallback:e.charAt(0).toUpperCase()||"?",style:c?{background:c,color:"white"}:void 0}),s&&$("span",{style:{position:"absolute",right:"calc(-1 * var(--space-1))",bottom:"calc(-1 * var(--space-1))",width:"var(--space-4)",height:"var(--space-4)",borderRadius:"50%",background:"var(--color-panel-solid)",border:"1px solid var(--gray-4)",display:"inline-flex",alignItems:"center",justifyContent:"center",transform:"scale(0.72)"},children:s})]}),a&&$(Ir,{})]}),ne(Ie.Root,{children:[$(Ie.Trigger,{children:$(Ua,{variant:"ghost",color:"gray","aria-label":"Account actions",style:{flexShrink:0},onClick:g=>g.stopPropagation(),children:$(Ga,{})})}),ne(Ie.Content,{align:"end",onClick:g=>g.stopPropagation(),children:[a?ne(Ie.Item,{onSelect:o,children:[$(Ya,{})," Resume"]}):ne(Ie.Item,{onSelect:n,children:[$(ja,{})," Pause"]}),ne(Ie.Item,{color:"red",onSelect:i,children:[$(Ka,{})," Delete"]})]})]})]}),ne(Tt,{style:{minWidth:0},children:[l?$("button",{type:"button",className:"card-title-button",onClick:g=>{g.stopPropagation(),l()},children:d}):d,$(kt,{as:"p",size:"1",color:"gray",truncate:!0,children:r})]})]})}import{Box as Rt,Flex as It,Heading as Xa,IconButton as At,Text as Dt}from"@radix-ui/themes";import{ChevronLeftIcon as Za,ChevronRightIcon as Ja}from"@radix-ui/react-icons";var L={h1:"6",h2:"5",h3:"4",h4:"3"};import{Fragment as io,jsx as F,jsxs as Dr}from"react/jsx-runtime";var Qa=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Ar="var(--space-9)",eo="var(--space-8)",Pt="var(--space-2)",ro=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"}),to=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"});function ao(e,r){return e.getFullYear()===r.getFullYear()&&e.getMonth()===r.getMonth()&&e.getDate()===r.getDate()}function Et(e){return(e+6)%7}function oo(e){let r=e.getMonth(),t=e.getFullYear(),a=new Date(t,r,1),n=new Date(t,r+1,0),o=Et(a.getDay()),i=6-Et(n.getDay()),l=new Date(t,r,1-o),s=o+n.getDate()+i;return Array.from({length:s},(c,p)=>{let d=new Date(l.getFullYear(),l.getMonth(),l.getDate()+p);return{date:d,inCurrentMonth:d.getMonth()===r}})}function Mt(e,r){return new Date(e.getFullYear(),e.getMonth()+r,1)}function no({month:e,onMonthChange:r,events:t=[],dayDots:a,today:n,onSelectDay:o,style:i}){let l=n??new Date,s=oo(e),c=new Set(t.map(p=>p.toDateString()));return Dr(It,{direction:"column",align:"center",gap:"4",style:i,children:[Dr(It,{align:"center",gap:"2",children:[F(At,{type:"button",variant:"ghost",color:"gray","aria-label":"Previous month",onClick:()=>r?.(Mt(e,-1)),children:F(Za,{style:h("--space-4")})}),F(Xa,{as:"h2",size:L.h2,weight:"medium",style:{minWidth:b.monthTitleMinW,textAlign:"center"},children:ro.format(e)}),F(At,{type:"button",variant:"ghost",color:"gray","aria-label":"Next month",onClick:()=>r?.(Mt(e,1)),children:F(Ja,{style:h("--space-4")})})]}),F(Rt,{style:{display:"grid",gridTemplateColumns:`repeat(7, ${Ar})`,gap:Pt},children:Qa.map(p=>F(Dt,{size:"2",align:"center",style:{color:"var(--gray-11)"},children:p},p))}),F(Rt,{style:{display:"grid",gridTemplateColumns:`repeat(7, ${Ar})`,gap:Pt},children:s.map(({date:p,inCurrentMonth:d})=>{let g=ao(p,l),v=a?.get(p.toDateString()),f=c.has(p.toDateString()),x={position:"relative",width:Ar,height:eo,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",background:d?g?"var(--color-panel-solid)":"transparent":"var(--gray-2)",border:g?"1.5px solid var(--accent-9)":"none",borderRadius:g?"var(--radius-3)":d?void 0:"var(--radius-2)",padding:0,font:"inherit",cursor:o?"pointer":void 0},w=Dr(io,{children:[v&&v.length>0?F("span",{"aria-hidden":"true",style:{position:"absolute",bottom:"var(--space-1)",left:0,right:0,display:"flex",justifyContent:"center",gap:"2px"},children:v.slice(0,3).map((ae,se)=>F("span",{style:{width:"var(--space-1)",height:"var(--space-1)",borderRadius:"50%",background:ae}},se))}):f&&F("span",{"aria-hidden":"true",style:{position:"absolute",top:"var(--space-1)",right:"var(--space-2)",width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:"var(--accent-9)"}}),F(Dt,{size:"3",style:{color:d?"var(--gray-12)":"var(--gray-11)",fontWeight:g?600:400},children:p.getDate()})]}),M=p.toISOString();return o?F("button",{type:"button",onClick:()=>o(p),"aria-label":to.format(p),style:x,children:w},M):F("div",{style:x,children:w},M)})})]})}import{useEffect as so}from"react";import{Callout as Pr}from"@radix-ui/themes";import{CheckCircledIcon as lo,ExclamationTriangleIcon as co}from"@radix-ui/react-icons";import{jsx as Le,jsxs as po}from"react/jsx-runtime";function Er({msg:e,color:r="green",onDone:t,durationMs:a=3e3}){return so(()=>{let n=setTimeout(t,a);return()=>clearTimeout(n)},[t,a]),Le("div",{style:{position:"fixed",bottom:"var(--space-5)",right:"var(--space-5)",zIndex:1e4,maxWidth:b.dialogBody,pointerEvents:"none"},children:po(Pr.Root,{color:r,variant:"soft",size:"1",children:[Le(Pr.Icon,{children:r==="red"?Le(co,{}):Le(lo,{})}),Le(Pr.Text,{children:e})]})})}import{jsx as go}from"react/jsx-runtime";function P({children:e,size:r="var(--space-7)"}){return go("div",{style:{width:r,height:r,borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",border:"1px solid var(--gray-5)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:e})}import{Box as uo,Flex as mo,Text as zt}from"@radix-ui/themes";import{LockClosedIcon as fo}from"@radix-ui/react-icons";import{jsx as Bt,jsxs as Mr}from"react/jsx-runtime";function yo({title:e,time:r,detail:t,color:a,locked:n}){return Mr(mo,{align:"center",justify:"between",style:{background:a,borderRadius:"var(--radius-3)",padding:"var(--space-3)",color:"white"},children:[Mr(uo,{style:{minWidth:0},children:[Bt(zt,{as:"p",size:"2",weight:"medium",style:{color:"white"},truncate:!0,children:e}),Mr(zt,{as:"p",size:"1",style:{color:"rgba(255,255,255,0.85)"},truncate:!0,children:[r,t?` \xB7 ${t}`:""]})]}),n&&Bt(fo,{style:{flexShrink:0,color:"rgba(255,255,255,0.85)"}})]})}import{Box as vo}from"@radix-ui/themes";import{jsx as ho}from"react/jsx-runtime";function zr({children:e,style:r,showBorder:t=!1,onActivate:a,selected:n=!1,className:o,"aria-label":i}){let l=!!a;function s(c){a&&(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),a())}return ho(vo,{role:l?"button":void 0,tabIndex:l?0:void 0,"aria-label":i,onClick:a,onKeyDown:l?s:void 0,className:["data-table-row",l&&"data-table-row--interactive",l&&n&&"data-table-row--selected",o].filter(Boolean).join(" "),style:{borderTop:t?"1px solid var(--gray-3)":void 0,...r},children:e})}import{useId as bo}from"react";import{Card as xo,Flex as Br,Text as Nr}from"@radix-ui/themes";import{jsx as ie,jsxs as Ae}from"react/jsx-runtime";function Co({label:e,value:r,delta:t,deltaDir:a,goodDirection:n,statusColor:o,sparkline:i}){return ie(xo,{className:"metric-card",children:Ae(Br,{direction:"column",p:"1",children:[Ae(Br,{align:"center",justify:"between",mb:"3",children:[ie(Nr,{as:"span",className:"ds-section-label",children:e}),ie("div",{style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:o,flexShrink:0}})]}),ie(Nr,{as:"p",className:"metric-card-value",children:r}),Ae(Br,{align:"end",justify:"between",children:[Ae(Nr,{size:"1",style:{color:a==="flat"?"var(--gray-11)":a===n?"var(--green-11)":"var(--red-11)",lineHeight:1.4},children:[a==="up"?"\u2191 ":a==="down"?"\u2193 ":"",t]}),ie(wo,{data:i,color:o})]})]})})}function wo({data:e,color:r}){let n=Math.min(...e),i=Math.max(...e)-n||1,l=e.map((g,v)=>({x:v/(e.length-1)*72,y:28-(g-n)/i*28*.75-28*.1})),s=l.map((g,v)=>`${v===0?"M":"L"} ${g.x.toFixed(1)} ${g.y.toFixed(1)}`).join(" "),c=["M 0 28",...l.map(g=>`L ${g.x.toFixed(1)} ${g.y.toFixed(1)}`),"L 72 28 Z"].join(" "),d=`spk${bo().replace(/[^a-zA-Z0-9_-]/g,"")}`;return Ae("svg",{width:72,height:28,viewBox:"0 0 72 28","aria-hidden":!0,style:{overflow:"visible",flexShrink:0},children:[ie("defs",{children:Ae("linearGradient",{id:d,x1:"0",y1:"0",x2:"0",y2:"1",children:[ie("stop",{offset:"0%",stopColor:r,stopOpacity:"0.18"}),ie("stop",{offset:"100%",stopColor:r,stopOpacity:"0"})]})}),ie("path",{d:c,fill:`url(#${d})`}),ie("path",{d:s,fill:"none",stroke:r,strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round"})]})}import{Link as To}from"react-router-dom";import{Button as So,Card as ko,Flex as Nt,Text as Ft}from"@radix-ui/themes";import{ArrowRightIcon as Ro}from"@radix-ui/react-icons";import{jsx as De,jsxs as er}from"react/jsx-runtime";function Io({href:e,icon:r,name:t,description:a}){return er(ko,{style:{height:"100%",display:"flex",flexDirection:"column"},children:[er(Nt,{direction:"column",gap:"3",p:"1",flexGrow:"1",children:[er(Nt,{align:"center",gap:"3",minWidth:"0",children:[De(P,{children:r}),De(Ft,{size:"4",weight:"medium",style:{color:"var(--gray-12)",fontFamily:"var(--font-poppins)"},truncate:!0,children:t})]}),De(Ft,{size:"2",style:{color:"var(--gray-11)",fontFamily:"var(--font-poppins)",lineHeight:1.5},children:a})]}),De(X,{pad:"var(--space-3)",radius:"var(--radius-4)",children:De(So,{size:"2",className:"btn-amber-primary",asChild:!0,children:er(To,{to:e,children:["Open",De(Ro,{style:h("--space-3")})]})})})]})}import{Text as He}from"@radix-ui/themes";import{jsx as Fr,jsxs as Lr}from"react/jsx-runtime";function Ao({tag:e,tagColor:r,msg:t,actor:a,timeAgo:n,timestamp:o,showBorder:i}){return Lr(zr,{showBorder:i,style:{display:"flex",alignItems:"center",gap:"var(--space-3)",paddingBlock:"var(--space-2)",paddingInline:"var(--space-4)"},children:[Fr(He,{as:"span",size:"1",weight:"medium",className:"data-mono",style:{color:r,minWidth:"var(--space-6)",letterSpacing:"0.06em",flexShrink:0},children:e}),Lr(He,{as:"span",size:"2",style:{flex:1,color:"var(--gray-11)",lineHeight:1.4,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[t,a&&Lr(He,{as:"span",size:"1",style:{color:"var(--gray-11)",marginLeft:"var(--space-2)"},children:["by ",a]})]}),n&&Fr(He,{as:"span",size:"1",color:"gray",style:{whiteSpace:"nowrap",flexShrink:0},children:n}),Fr(He,{as:"span",size:"1",className:"data-mono",style:{color:"var(--gray-11)",whiteSpace:"nowrap",flexShrink:0,minWidth:"var(--space-7)",textAlign:"right"},children:o})]})}import{Button as Do,Card as Po,Flex as Eo,Text as Mo}from"@radix-ui/themes";import{ExclamationTriangleIcon as zo}from"@radix-ui/react-icons";import{jsx as Oe,jsxs as No}from"react/jsx-runtime";function Bo({onRetry:e,message:r="Couldn't load your dashboard."}){return Oe(Po,{children:No(Eo,{direction:"column",align:"center",justify:"center",py:"9",gap:"3",children:[Oe(P,{children:Oe(zo,{style:{...h("--space-5"),color:"var(--gray-7)"}})}),Oe(Mo,{size:"2",color:"gray",children:r}),Oe(Do,{size:"2",color:"amber",variant:"solid",className:"btn-amber-primary",onClick:e,children:"Retry"})]})})}import{useMemo as Fo}from"react";import{Button as Lo,Flex as Ho,IconButton as rr,Text as Oo}from"@radix-ui/themes";import{ChevronLeftIcon as _o,ChevronRightIcon as Wo,DoubleArrowLeftIcon as Vo,DoubleArrowRightIcon as $o}from"@radix-ui/react-icons";import{jsx as Z,jsxs as jo}from"react/jsx-runtime";var Pe="\u2026";function Uo(e,r,t){let a=t*2+5;if(r<=a)return Array.from({length:r},(c,p)=>p+1);let n=Math.max(e-t,1),o=Math.min(e+t,r),i=n>2,l=o<r-1;if(!i&&l)return[...Array.from({length:3+t*2},(p,d)=>d+1),Pe,r];if(i&&!l){let c=3+t*2,p=Array.from({length:c},(d,g)=>r-c+g+1);return[1,Pe,...p]}let s=Array.from({length:o-n+1},(c,p)=>n+p);return[1,Pe,...s,Pe,r]}function Go({currentPage:e,totalPages:r,onPageChange:t,siblingCount:a=1,showFirstLast:n=!1,size:o="2"}){let i=Fo(()=>Uo(e,r,a),[e,r,a]),l=e<=1,s=e>=r;return Z(Ho,{asChild:!0,align:"center",gap:"1",children:jo("nav",{"aria-label":"Pagination",children:[n&&Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"First page",disabled:l,onClick:()=>t(1),children:Z(Vo,{})}),Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Previous page",disabled:l,onClick:()=>t(e-1),children:Z(_o,{})}),i.map((c,p)=>c===Pe?Z(Oo,{size:o,color:"gray","aria-hidden":!0,style:{paddingInline:"var(--space-1)"},children:Pe},`ellipsis-${p}`):Z(Lo,{size:o,"aria-label":`Page ${c}`,"aria-current":c===e?"page":void 0,variant:c===e?"solid":"soft",color:c===e?void 0:"gray",className:c===e?"btn-amber-primary":void 0,onClick:()=>c!==e&&t(c),children:c},c)),Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Next page",disabled:s,onClick:()=>t(e+1),children:Z(Wo,{})}),n&&Z(rr,{size:o,variant:"soft",color:"gray","aria-label":"Last page",disabled:s,onClick:()=>t(r),children:Z($o,{})})]})})}var tr={admin:{label:"Admin",color:"amber"},operator:{label:"Operator",color:"blue"},user:{label:"Platform User",color:"gray"}},Yo={admin:tr.admin.label,operator:tr.operator.label,user:tr.user.label},Ko={active:{label:"Active",color:"var(--color-success)"},inactive:{label:"Inactive",color:"var(--gray-11)"},suspended:{label:"Suspended",color:"var(--color-danger)"}},qo={ok:"var(--green-9)",warn:"var(--orange-9)",error:"var(--red-9)"},Xo={auth:{tag:"AUTH",color:"var(--gray-11)"},sync:{tag:"SYNC",color:"var(--blue-11)"},role:{tag:"ROLE",color:"var(--violet-11)"},provision:{tag:"PROV",color:"var(--green-11)"},health:{tag:"HLTH",color:"var(--teal-11)"},error:{tag:"ERR!",color:"var(--red-11)"}},Lt={USER_UPDATED:{label:"User updated",tag:"UPD",badge:"amber",color:"var(--amber-11)"},USER_DISABLED:{label:"User disabled",tag:"DIS",badge:"red",color:"var(--red-11)"},USER_ENABLED:{label:"User enabled",tag:"ENA",badge:"green",color:"var(--teal-11)"},USER_APPROVED:{label:"User approved",tag:"APPR",badge:"green",color:"var(--green-11)"},USER_REJECTED:{label:"User rejected",tag:"REJ",badge:"red",color:"var(--red-11)"},SIGNUP_NOTIFICATIONS_ON:{label:"Signup notifications on",tag:"NOTF",badge:"gray",color:"var(--gray-11)"},SIGNUP_NOTIFICATIONS_OFF:{label:"Signup notifications off",tag:"NOTF",badge:"gray",color:"var(--gray-11)"},APPROVAL_EMAIL_RESENT:{label:"Approval email resent",tag:"MAIL",badge:"amber",color:"var(--amber-11)"},USER_DELETED:{label:"User deleted",tag:"DEL",badge:"yellow",color:"var(--red-11)"},ADMIN_GRANTED:{label:"Admin granted",tag:"ADMN",badge:"gray",color:"var(--violet-11)"},ADMIN_REVOKED:{label:"Admin revoked",tag:"ADMN",badge:"gray",color:"var(--orange-11)"},ADMIN_ROLE_CHANGED:{label:"Role changed",tag:"ROLE",badge:"amber",color:"var(--violet-11)"},SESSION_REVOKED:{label:"Session revoked",tag:"SESS",badge:"gray",color:"var(--gray-11)"},APP_GRANTED:{label:"App access granted",tag:"APP",badge:"green",color:"var(--green-11)"},APP_REVOKED:{label:"App access revoked",tag:"APP",badge:"red",color:"var(--orange-11)"}};function Zo(e){return Lt[e]??{label:e,tag:e.slice(0,4).toUpperCase(),badge:"gray",color:"var(--gray-11)"}}import{jsx as Ht}from"react/jsx-runtime";function Hr(){return Ht("div",{className:"auth-art-card",children:Ht("img",{src:"/arm-logo-inverted.svg",alt:"araMetrics",style:{width:"56%",maxWidth:b.brandLogoMax,display:"block",userSelect:"none"},draggable:!1})})}import{jsx as ar,jsxs as Qo}from"react/jsx-runtime";function Jo({children:e}){return Qo("div",{style:{minHeight:"100vh",display:"flex",background:"var(--surface-content)",padding:"var(--space-5)",gap:"var(--space-5)"},children:[ar("div",{className:"auth-card-left",style:{width:"47%",flexShrink:0,position:"sticky",top:"var(--space-5)",height:"calc(100vh - var(--space-8))"},children:ar(Hr,{})}),ar("div",{className:"auth-card-right",style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",justifyContent:"center",minHeight:"calc(100vh - var(--space-8))",padding:"var(--space-7) var(--space-5)"},children:ar("main",{style:{maxWidth:b.authFormMax,width:"100%",marginLeft:"auto",marginRight:"auto",background:"var(--color-panel-solid)",borderRadius:"var(--radius-5)",boxShadow:"var(--shadow-card)",padding:"var(--space-7) var(--space-5)"},children:e})})]})}import{jsx as or,jsxs as en}from"react/jsx-runtime";function Or(){return en("svg",{width:18,height:18,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[or("path",{d:"M15.68 8.18c0-.57-.05-1.11-.14-1.64H8v3.1h4.3a3.68 3.68 0 0 1-1.6 2.42v2h2.58c1.51-1.39 2.4-3.44 2.4-5.88Z",fill:"#4285F4"}),or("path",{d:"M8 16c2.16 0 3.97-.71 5.3-1.94l-2.59-2a4.88 4.88 0 0 1-7.27-2.56H0.9v2.07A8 8 0 0 0 8 16Z",fill:"#34A853"}),or("path",{d:"M3.44 9.5A4.8 4.8 0 0 1 3.19 8c0-.52.09-1.03.25-1.5V4.43H.9A8 8 0 0 0 0 8c0 1.29.31 2.51.9 3.57L3.44 9.5Z",fill:"#FBBC05"}),or("path",{d:"M8 3.18c1.22 0 2.31.42 3.17 1.24l2.37-2.37A7.94 7.94 0 0 0 8 0 8 8 0 0 0 .9 4.43L3.44 6.5A4.77 4.77 0 0 1 8 3.18Z",fill:"#EA4335"})]})}import{jsx as nr,jsxs as rn}from"react/jsx-runtime";function _r(){return rn("svg",{width:18,height:18,viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[nr("rect",{x:"0",y:"0",width:"7.6",height:"7.6",fill:"#F25022"}),nr("rect",{x:"8.4",y:"0",width:"7.6",height:"7.6",fill:"#7FBA00"}),nr("rect",{x:"0",y:"8.4",width:"7.6",height:"7.6",fill:"#00A4EF"}),nr("rect",{x:"8.4",y:"8.4",width:"7.6",height:"7.6",fill:"#FFB900"})]})}import{useRef as tn}from"react";import{TextField as an}from"@radix-ui/themes";import{jsx as Ot}from"react/jsx-runtime";function Wr({value:e,onChange:r,disabled:t}){let a=tn([]);function n(s,c){let p=c.target.value.replace(/\D/g,"").slice(-1),d=Array.from({length:4},(g,v)=>e[v]??"");d[s]=p,r(d.join("")),p&&s<3&&a.current[s+1]?.focus()}function o(s,c){let p=Array.from({length:4},(d,g)=>e[g]??"");c.key==="Backspace"?!p[s]&&s>0&&(p[s-1]="",r(p.join("")),a.current[s-1]?.focus()):c.key==="ArrowLeft"&&s>0?a.current[s-1]?.focus():c.key==="ArrowRight"&&s<3&&a.current[s+1]?.focus()}function i(s){let c=s.clipboardData.getData("text").replace(/\D/g,"").slice(0,4);c&&(s.preventDefault(),r(c),a.current[Math.min(c.length,3)]?.focus())}let l=Array.from({length:4},(s,c)=>e[c]??"");return Ot("div",{style:{display:"flex",gap:"var(--space-3)",justifyContent:"center"},children:l.map((s,c)=>Ot(an.Root,{ref:p=>{a.current[c]=p},type:"text",inputMode:"numeric",maxLength:1,value:s,onChange:p=>n(c,p),onKeyDown:p=>o(c,p),onPaste:i,disabled:t,className:"otp-box","aria-label":`Digit ${c+1}`,autoComplete:c===0?"one-time-code":"off"},c))})}import{Button as Vr,Callout as _e,Heading as on,Text as $r}from"@radix-ui/themes";import{ExclamationTriangleIcon as nn}from"@radix-ui/react-icons";import{Fragment as _t,jsx as U,jsxs as le}from"react/jsx-runtime";function sn({email:e,title:r,subtitle:t,code:a,onCodeChange:n,otpDevHint:o,error:i,errorAction:l,busy:s,otpExpiresAt:c,otpSecondsLeft:p,resendCooldown:d,onResend:g,onUseDifferentEmail:v}){return le(_t,{children:[le("div",{style:{marginBottom:"var(--space-6)",textAlign:"center"},children:[U(on,{as:"h1",size:L.h1,style:{color:"var(--ink-strong)",marginBottom:"var(--space-3)"},children:r}),le($r,{as:"p",size:"2",style:{color:"var(--ink-mid)",lineHeight:1.55},children:[t," ",U("span",{style:{fontWeight:600,color:"var(--ink-strong)"},children:e}),"."]})]}),o&&U(_e.Root,{color:"gray",variant:"surface",size:"1",style:{marginBottom:"var(--space-5)"},children:le(_e.Text,{style:{fontFamily:"var(--font-poppins)"},children:["Dev hint \u2014 code is ",U("strong",{children:o})]})}),i&&le(_e.Root,{color:"red",variant:"surface",size:"2",style:{marginBottom:"var(--space-5)"},children:[U(_e.Icon,{children:U(nn,{})}),le(_e.Text,{style:{fontFamily:"var(--font-poppins)"},children:[i,l&&le(_t,{children:[" ",U(Vr,{type:"button",variant:"ghost",size:"1",onClick:l.onClick,style:{fontWeight:600,textDecoration:"underline",height:"auto",padding:0},children:l.label})]})]})]}),le("div",{children:[U(Wr,{value:a,onChange:n,disabled:s||p<=0}),s?U($r,{as:"p",size:"1",style:{color:"var(--ink-mid)",marginTop:"var(--space-3)",textAlign:"center"},children:"Checking code\u2026"}):c&&p<=0?U($r,{as:"p",size:"1",style:{color:"var(--red-11)",marginTop:"var(--space-3)",textAlign:"center"},children:"Code expired \u2014 resend to get a new one."}):null]}),le("div",{style:{marginTop:"var(--space-5)",display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--space-3)"},children:[U(Vr,{type:"button",variant:"ghost",size:"2",disabled:d>0||s,onClick:g,style:{fontWeight:500,color:d>0?"rgba(85, 85, 85, 0.4)":"var(--ink-strong)",textDecoration:d>0?"none":"underline"},children:d>0?`Resend email (${d}s)`:"Resend email"}),U(Vr,{type:"button",variant:"ghost",size:"2",className:"auth-underline-link",disabled:s,onClick:v,style:{fontWeight:500,color:"var(--ink-strong)"},children:"Use a Different Email"})]})]})}import{jsx as Wt}from"react/jsx-runtime";function H({provider:e}){return e==="microsoft"?Wt(_r,{}):Wt(Or,{})}var ln={google:"Google",microsoft:"Microsoft"};import{useState as Vt}from"react";import{Link as Xt,useLocation as cn}from"react-router-dom";import{Avatar as $t,Badge as Zt,DropdownMenu as ce,IconButton as Ut,Text as sr,Tooltip as We}from"@radix-ui/themes";import{ChevronLeftIcon as dn,ChevronRightIcon as Gt,Cross1Icon as pn,DotFilledIcon as gn,DotsVerticalIcon as un,ExitIcon as mn,GearIcon as jt,QuestionMarkCircledIcon as fn}from"@radix-ui/react-icons";import{Fragment as Ur,jsx as m,jsxs as D}from"react/jsx-runtime";var cr="var(--space-9)",lr=e=>e.badge?`${e.label} \xB7 ${e.badge}`:e.label,yn="calc(4 * var(--space-9))",vn="calc(var(--space-9) + var(--space-6))",hn="calc(4 * var(--space-9) + var(--space-5))",bn="var(--space-8)",Yt="var(--space-5)",Kt="var(--space-5)",xn="calc(var(--space-5) + var(--space-3))",Cn="var(--space-5)",wn=e=>e?"opacity 130ms ease 80ms":"opacity 90ms ease",qt="opacity 200ms ease";function Tn({collapsed:e,onToggle:r,onClose:t,items:a,utilityHrefs:n,user:o,onSignOut:i,hasCalendarAccounts:l=!1,brandLogoExpandedSrc:s="/expand.svg",brandLogoCollapsedSrc:c="/shrink.svg",helpHref:p,devRoles:d,onDevRoleSelect:g,showDevRoles:v=!1}){let f=cn().pathname,[x,w]=Vt(!1),[M,ae]=Vt(null),se=M===f,C=u=>ae(u?f:null),z=!!t,T=!e||z,ge=z?hn:e?vn:yn,y=a.filter(u=>!u.roles||o&&u.roles.includes(o.role)),B=new Set(n),W=y.filter(u=>!B.has(u.href)),V=y.find(u=>u.href==="/settings"),K=y.filter(u=>B.has(u.href)&&u.href!=="/settings");function q(u){return u.root??u.href}function Re(u){let oe=q(u);return f===oe||f===u.href||f.startsWith(oe+"/")}let Ea=y.find(u=>u.children&&(q(u)!=="/calendar"||l)&&Re(u)),Fe=se?void 0:Ea;function Tr(u,oe){return u==="/home"||oe?f===u:f===u||f.startsWith(u+"/")}let Ma=f.startsWith("/admin")&&(o?.role==="admin"||o?.role==="operator"),ft=o?.name?.split(" ").map(u=>u[0]).join("").slice(0,2)||"?";return D("aside",{style:{position:"relative",width:ge,height:"100%",minHeight:"100vh",background:"var(--shell-surface)",borderRight:"1px solid var(--gray-6)",flexShrink:0,transition:z?"none":"width 200ms ease",zIndex:2},children:[D("div",{style:{width:"100%",height:"100%",minHeight:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},children:[D("div",{style:{height:cr,flexShrink:0,position:"relative",overflow:"hidden",borderBottom:"1px solid var(--border-hairline)"},children:[m("img",{src:s,alt:"",height:40,style:{display:"block",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",transition:qt,opacity:T?1:0,pointerEvents:"none",userSelect:"none"}}),m("img",{src:c,alt:"",height:40,style:{display:"block",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",transition:qt,opacity:T?0:1,pointerEvents:"none",userSelect:"none"}}),z&&m(Ut,{variant:"ghost",color:"gray",size:"1",onClick:t,"aria-label":"Close menu",style:{position:"absolute",right:"var(--space-2)",top:"50%",transform:"translateY(-50%)"},children:m(pn,{style:h("--space-3")})})]}),m("nav",{"aria-label":"Main navigation",style:{flex:1,overflowY:"auto",overflowX:"hidden",paddingTop:"var(--space-5)",display:"flex",flexDirection:"column"},children:Fe?D(Ur,{children:[(()=>{let u=m(ir,{item:{label:Fe.label,href:"#",Icon:dn},active:!1,expanded:T,asButton:!0,onClick:()=>C(!0)});return T?u:m(We,{content:Fe.label,side:"right",delayDuration:300,children:u})})(),Fe.children.map(u=>{let oe=Tr(u.href,u.end),ue=m(ir,{item:u,active:oe,expanded:T},u.href);return T?ue:m(We,{content:lr(u),side:"right",delayDuration:300,children:ue},u.href)})]}):W.map(u=>{let oe=Tr(q(u)),ue=!!u.children&&(q(u)!=="/calendar"||l),yt=m(ir,{item:u,active:oe,expanded:T,showChevron:ue,onClick:ue?()=>C(!1):void 0},u.href);return T?yt:m(We,{content:lr(u),side:"right",delayDuration:300,children:yt},u.href)})}),!Fe&&K.length>0&&m("nav",{"aria-label":"Utility navigation",style:{flexShrink:0,borderTop:"1px solid var(--gray-4)",paddingTop:"var(--space-2)",paddingBottom:"var(--space-2)",display:"flex",flexDirection:"column"},children:K.map(u=>{let oe=Tr(u.href),ue=m(ir,{item:u,active:oe,expanded:T,showChevron:!!u.children,onClick:u.children?()=>C(!1):void 0},u.href);return T?ue:m(We,{content:lr(u),side:"right",delayDuration:300,children:ue},u.href)})}),D("div",{style:{borderTop:K.length>0?"none":"1px solid var(--gray-4)",padding:T?"var(--space-2) var(--space-4)":"var(--space-2) 0",flexShrink:0,display:"flex",flexDirection:"column",gap:"var(--space-2)"},children:[T&&Ma&&D(Zt,{color:"gray",variant:"soft",highContrast:!0,size:"1",radius:"full",style:{alignSelf:"flex-start"},children:[m(gn,{style:h("--space-2")}),"Administering platform"]}),D("div",{style:{display:"flex",flexDirection:T?"row":"column",alignItems:"center",justifyContent:T?"space-between":"center",gap:"var(--space-2)"},children:[T?D("div",{className:"shell-profile-chip",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",minWidth:0,flex:1,padding:"var(--space-1)",borderRadius:"var(--radius-3)"},children:[m($t,{size:"2",radius:"full",src:o?.avatarSrc,fallback:ft,color:"gray",variant:"soft",style:{flexShrink:0}}),m(sr,{as:"p",size:"2",weight:"medium",truncate:!0,style:{color:"var(--shell-ink-strong)"},children:o?.name})]}):m(We,{content:o?.name??"Account",side:"right",delayDuration:300,children:m($t,{size:"3",radius:"full",src:o?.avatarSrc,fallback:ft,color:"gray",variant:"soft"})}),D(ce.Root,{children:[m(ce.Trigger,{children:m(Ut,{variant:"ghost",color:"gray","aria-label":"Account menu",className:"sidebar-icon-btn",style:{flexShrink:0},children:m(un,{style:h("--space-4")})})}),D(ce.Content,{align:T?"end":"start",side:T?"top":"right",style:{minWidth:200},children:[V&&m(ce.Item,{asChild:!0,children:D(Xt,{to:V.href,onClick:()=>C(!1),children:[m(jt,{}),"Settings"]})}),p&&D(ce.Item,{onClick:()=>window.open(p,"_blank","noopener,noreferrer"),children:[m(fn,{}),"Help"]}),m(ce.Separator,{}),D(ce.Item,{color:"red",onClick:()=>w(!0),children:[m(mn,{}),"Log Out"]}),v&&d&&d.length>0&&D(Ur,{children:[m(ce.Separator,{}),m("div",{style:{padding:"var(--space-1) var(--space-3)"},children:m(sr,{size:"1",style:{fontFamily:"monospace",color:"var(--gray-11)",letterSpacing:"0.04em",textTransform:"uppercase"},children:"Dev \xB7 switch role"})}),d.map(u=>D(ce.Item,{onClick:()=>g?.(u.email),disabled:o?.role===u.role,children:[m(jt,{}),u.label,D(sr,{size:"1",color:"gray",style:{marginLeft:"auto"},children:[u.role,"@"]})]},u.role))]})]})]})]})]})]}),!z&&m("button",{onClick:r,"aria-label":e?"Expand sidebar":"Collapse sidebar",className:"sidebar-collapse-btn",style:{top:"calc(var(--space-9) / 2)",transform:"translateY(-50%)",right:"calc(-1 * var(--space-3))"},children:m(Sn,{flipped:e})}),m(Rr,{open:x,onOpenChange:w,title:"Confirm Logout",description:"Are you sure you want to log out?",onConfirm:i})]})}function ir({item:e,active:r,expanded:t,onClick:a,asButton:n,showChevron:o}){let i={position:"relative",textDecoration:"none",display:"flex",alignItems:"center",height:bn,flexShrink:0,paddingLeft:xn,paddingRight:t?`calc(${Kt} + var(--space-1))`:0,gap:t?Cn:0,color:r?"var(--shell-ink-strong)":"var(--shell-ink-mid)",cursor:"pointer"},l=D(Ur,{children:[r&&m("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:0,width:"var(--space-1)",height:"100%",background:"var(--accent-9)",borderRadius:"0 var(--radius-1) var(--radius-1) 0"}}),m("span",{"aria-hidden":"true",className:"nav-pill",style:{position:"absolute",top:0,bottom:0,left:Yt,right:t?Kt:Yt,borderRadius:"var(--radius-3)",background:r?"var(--accent-9)":"transparent",transition:"background 80ms ease"}}),m(e.Icon,{width:20,height:20,style:{position:"relative",flexShrink:0}}),D("span",{style:{position:"relative",display:"flex",alignItems:"center",gap:"var(--space-2)",minWidth:0,overflow:"hidden",maxWidth:t?void 0:0,opacity:t?1:0,transition:wn(t)},children:[m(sr,{as:"span",size:"3",weight:r?"medium":"regular",style:{lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0},children:e.label}),e.badge&&m(Zt,{color:"gray",variant:r?"solid":"soft",highContrast:r,size:"1",radius:"full",style:{flexShrink:0},children:e.badge})]}),o&&t&&(r?m("span",{style:{position:"relative",marginLeft:"auto",marginRight:"var(--space-1)",flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",background:"var(--color-panel-solid)",borderRadius:"var(--radius-2)",boxShadow:"0 1px 2px rgba(0,0,0,0.12)"},children:m(Gt,{style:{...h("--space-4"),color:"var(--gray-11)"}})}):m(Gt,{style:{...h("--space-4"),position:"relative",marginLeft:"auto",color:"var(--shell-ink-mid)",flexShrink:0}}))]});return n?m("button",{type:"button",onClick:a,className:"shell-nav-item",style:{...i,background:"none",border:"none",width:"100%",textAlign:"left",font:"inherit"},children:l}):m(Xt,{to:e.href,onClick:a,className:"shell-nav-item","data-active":r?"true":void 0,"aria-current":r?"page":void 0,title:t?lr(e):void 0,style:i,children:l})}function Sn({flipped:e}){return D("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",style:{transform:e?"scaleX(-1)":void 0},children:[m("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5",stroke:"currentColor"}),m("path",{d:"M5.5 2.5v11",stroke:"currentColor"}),m("path",{d:"M11 5.5 8.5 8l2.5 2.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})}import{Link as kn,useLocation as Rn}from"react-router-dom";import{HamburgerMenuIcon as In,MagnifyingGlassIcon as An,BellIcon as Dn}from"@radix-ui/react-icons";import{Flex as Pn,Heading as En,IconButton as Mn,Text as Jt,Tooltip as zn}from"@radix-ui/themes";import{Fragment as Hn,jsx as O,jsxs as dr}from"react/jsx-runtime";var Bn=[["/home","Home","/home","Home"],["/calendar/syncs","Calendar","/calendar/syncs","Manage Syncs"],["/calendar/view","Calendar","/calendar/syncs","My Calendar"],["/calendar","Calendar","/calendar/syncs","Manage Syncs"],["/settings/account","Settings","/settings/account","Account"],["/settings/linked","Settings","/settings/account","Linked Account"],["/settings","Settings","/settings/account","Settings"]],Nn=[["/admin/overview","Overview"],["/admin/users","Users"],["/admin/monitoring","Monitoring"],["/admin/calendar-ops","Calendar Ops"],["/admin/logs","Logs"],["/admin/security","Security"],["/admin/audit","Audit Log"]];function Fn(e,r,t){if(e==="/admin"||e.startsWith("/admin/")){let l=t.find(([s])=>e===s||e.startsWith(s+"/"));return{section:"Admin Portal",sectionHref:"/admin/overview",page:l?l[1]:"Admin Portal"}}if(e==="/calendar/syncs/new")return{section:"Calendar",sectionHref:"/calendar/syncs",page:"New Sync"};if(/^\/calendar\/syncs\/[^/]+$/.test(e))return{section:"Calendar",sectionHref:"/calendar/syncs",page:"Edit Sync"};let a=r.find(([l,,,,s])=>s?e===l:e===l||e.startsWith(l+"/"));if(!a)return{section:"Home",sectionHref:"/home",page:"Home"};let[,n,o,i]=a;return{section:n,sectionHref:o,page:i}}function Ln({onSearchOpen:e,onMenuOpen:r,showMenu:t,titles:a=Bn,adminTitles:n=Nn}){let o=Rn().pathname;return dr("header",{style:{height:cr,background:"var(--accent-9)",borderBottom:"1px solid var(--border-hairline)",flexShrink:0,display:"flex",alignItems:"center",padding:"0 var(--space-6)",gap:"var(--space-4)"},children:[t&&O(Mn,{variant:"ghost",size:"1",onClick:r,"aria-label":"Open navigation",style:{marginRight:"var(--space-1)",color:"var(--shell-ink-strong)"},children:O(In,{style:h("--space-4")})}),(()=>{let{section:i,sectionHref:l,page:s}=Fn(o,a,n);return dr(Pn,{align:"baseline",gap:"2",style:{minWidth:0,overflow:"hidden"},children:[i!==s&&dr(Hn,{children:[O(Jt,{asChild:!0,size:"3",weight:"regular",children:O(kn,{to:l,style:{color:"var(--shell-ink-mid)",whiteSpace:"nowrap",textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",flexShrink:0},className:"topbar-breadcrumb-link",children:i})}),O(Jt,{size:"3",weight:"regular",className:"topbar-breadcrumb-sep",style:{color:"var(--shell-ink-mid)",flexShrink:0},children:"/"})]}),O(En,{as:"h1",size:L.h1,weight:"medium",style:{color:"var(--shell-ink-strong)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0},children:s})]})})(),O("div",{style:{flex:1}}),dr("button",{className:"topbar-search",onClick:e,"aria-label":"Search (\u2318K)",children:[O(An,{width:16,height:16,style:{color:"var(--shell-ink-strong)",flexShrink:0}}),O("span",{className:"topbar-search-placeholder",children:"Search for something"})]}),O(zn,{content:"Coming soon",children:O("span",{children:O("button",{className:"topbar-icon-circle","aria-label":"Notifications (coming soon)",disabled:!0,children:O(Dn,{style:h("--space-4")})})})})]})}import{useEffect as Qt,useRef as ea,useState as Gr}from"react";import{Dialog as jr,Flex as ra,Spinner as On,Text as J,TextField as _n,VisuallyHidden as Wn}from"@radix-ui/themes";import{CalendarIcon as Vn,MagnifyingGlassIcon as $n,PersonIcon as Un,ReaderIcon as Gn}from"@radix-ui/react-icons";import{Fragment as Zn,jsx as S,jsxs as G}from"react/jsx-runtime";var jn={app:Vn,people:Un,page:Gn},Yn={app:"Apps",people:"People",page:"Pages"};function Kn(e){let r=["app","people","page"],t=[],a=0;for(let n of r){let o=e.filter(i=>i.type===n);o.length>0&&(t.push({type:n,label:Yn[n],items:o,startIdx:a}),a+=o.length)}return t}function qn({open:e,onClose:r,results:t,onSelectResult:a,title:n="Search",placeholder:o="Search\u2026"}){return S(jr.Root,{open:e,onOpenChange:i=>!i&&r(),children:S(jr.Content,{"aria-describedby":void 0,style:{padding:0,maxWidth:"calc(9 * var(--space-9) + var(--space-2))",overflow:"hidden",boxShadow:"0 4px 8px rgba(0,0,0,0.06), 0 12px 32px rgba(0,0,0,0.10), 0 0 0 1px var(--gray-5)"},children:S(Xn,{onClose:r,resultPool:t,onSelectResult:a,title:n,placeholder:o})})})}function Xn({onClose:e,resultPool:r,onSelectResult:t,title:a,placeholder:n}){let[o,i]=Gr(""),[l,s]=Gr(null),[c,p]=Gr(-1),d=ea(null),g=ea(null),v=!!l&&l.q===o,f=v?l.items:[],x=o.trim()?v?f.length?"results":"no-match":"searching":"prompt";Qt(()=>{if(!o.trim())return;let C=setTimeout(()=>{let z=o.toLowerCase(),T=r.filter(ge=>ge.title.toLowerCase().includes(z)||ge.subtitle.toLowerCase().includes(z));s({q:o,items:T}),p(-1)},320);return()=>clearTimeout(C)},[o,r]),Qt(()=>{if(c<0||!g.current)return;g.current.querySelector(`[data-idx="${c}"]`)?.scrollIntoView({block:"nearest"})},[c]);function w(C){C.key==="Escape"?e():C.key==="ArrowDown"?(C.preventDefault(),p(z=>Math.min(z+1,f.length-1))):C.key==="ArrowUp"?(C.preventDefault(),p(z=>Math.max(z-1,0))):C.key==="Enter"&&(C.preventDefault(),c>=0&&f[c]&&(t(f[c]),e()))}function M(C){t(C),e()}let ae=Kn(f),se="calc(2 * var(--space-9) + var(--space-6))";return G(Zn,{children:[S(Wn,{children:S(jr.Title,{children:a})}),G("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",borderBottom:"1px solid var(--gray-5)"},children:[x==="searching"?S(On,{size:"1",style:{flexShrink:0}}):S($n,{width:16,height:16,style:{color:"var(--gray-9)",flexShrink:0}}),S(_n.Root,{ref:d,autoFocus:!0,type:"text",placeholder:n,value:o,onChange:C=>i(C.target.value),onKeyDown:w,className:"search-overlay-input",style:{flex:1,border:"none",outline:"none",background:"transparent",boxShadow:"none","--text-field-selection-color":"unset"}}),S("kbd",{style:{color:"var(--gray-11)",background:"var(--gray-3)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-1)",padding:"var(--space-1) var(--space-2)",flexShrink:0},children:S(J,{size:"1",as:"span",children:"Esc"})})]}),G("div",{ref:g,style:{minHeight:se,maxHeight:"calc(6 * var(--space-9) + var(--space-7))",overflowY:"auto"},children:[x==="prompt"&&S(ra,{align:"center",justify:"center",style:{height:se},children:S(J,{size:"2",color:"gray",children:"Type to search\u2026"})}),x==="no-match"&&S(ra,{align:"center",justify:"center",style:{height:se},children:G("div",{style:{textAlign:"center"},children:[G(J,{size:"2",color:"gray",as:"p",children:["No results for \u201C",o,"\u201D"]}),S(J,{size:"1",color:"gray",as:"p",mt:"1",children:"Try searching with different keywords"})]})}),x==="results"&&S("div",{style:{padding:"var(--space-2)"},children:ae.map(C=>{let z=jn[C.type];return G("div",{style:{marginBottom:"var(--space-1)"},children:[S("div",{style:{padding:"var(--space-2) var(--space-3) var(--space-1)",display:"flex",alignItems:"center",gap:"var(--space-2)"},children:S(J,{size:"1",style:{color:"var(--gray-11)",fontWeight:500,letterSpacing:"0.04em",textTransform:"uppercase",fontFamily:"var(--font-poppins)"},children:C.label})}),C.items.map((T,ge)=>{let y=C.startIdx+ge,B=c===y;return G("button",{"data-idx":y,onClick:()=>M(T),onMouseEnter:()=>p(y),className:"search-result-item",style:{width:"100%",display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-2) var(--space-3)",borderRadius:"var(--radius-2)",border:"none",cursor:"pointer",textAlign:"left",background:B?"var(--gray-3)":"transparent"},children:[S("div",{style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"var(--radius-1)",background:B?"var(--accent-a3)":"var(--gray-3)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"background 100ms ease"},children:S(z,{width:12,height:12,style:{color:B?"var(--accent-11)":"var(--gray-9)"}})}),G("div",{style:{flex:1,minWidth:0},children:[S(J,{as:"p",size:"2",weight:"medium",style:{color:B?"var(--gray-12)":"var(--gray-11)",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:T.title}),S(J,{as:"p",size:"1",style:{color:"var(--gray-11)",lineHeight:1.3,marginTop:"1px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:T.subtitle})]}),B&&S("kbd",{style:{color:"var(--gray-9)",background:"var(--gray-4)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-1)",padding:"var(--space-1)",flexShrink:0},children:S(J,{size:"1",as:"span",className:"data-mono",children:"\u21B5"})})]},T.id)})]},C.type)})})]}),x!=="prompt"&&G("div",{style:{borderTop:"1px solid var(--gray-4)",padding:"var(--space-2) var(--space-4)",display:"flex",gap:"var(--space-4)"},children:[G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"\u2191\u2193"})," navigate"]}),G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"\u21B5"})," open"]}),G(J,{as:"span",size:"1",color:"gray",children:[S("kbd",{className:"data-mono",children:"Esc"})," close"]})]})]})}function j(e,r){for(let t of e){let a=t.calendars.find(n=>n.id===r);if(a)return{account:t,calendar:a}}}import Yr from"dayjs";import{Flex as ta,Text as aa}from"@radix-ui/themes";import{jsx as Kr,jsxs as Jn}from"react/jsx-runtime";function qr({date:e,today:r=new Date}){let t=Yr(e).isSame(r,"day");return Jn(ta,{direction:"column",align:"center",gap:"1",py:"1",children:[Kr(aa,{size:"1",weight:"medium",color:"gray",style:{letterSpacing:"0.04em"},children:Yr(e).format("ddd").toUpperCase()}),Kr(ta,{align:"center",justify:"center",style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"50%",background:t?"var(--accent-9)":"transparent",lineHeight:1},children:Kr(aa,{size:"3",weight:t?"medium":"regular",style:{color:t?"var(--accent-contrast)":"var(--gray-12)",lineHeight:1},children:Yr(e).format("D")})})]})}import{Box as Ve,Checkbox as Qn,Flex as ei,RadioGroup as oa,Text as $e}from"@radix-ui/themes";import{jsx as E,jsxs as ia}from"react/jsx-runtime";function ri(e){return e.flatMap(r=>r.calendars.map(t=>({calendarId:t.id,calendarName:t.name,email:r.email,provider:r.provider})))}function ti({provider:e}){return E("span",{"aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",flexShrink:0},children:E(H,{provider:e})})}function na({row:e,control:r,selected:t,disabled:a,disabledLabel:n}){return ia($e,{as:"label",size:"2",style:{display:"flex",alignItems:"center",gap:"var(--space-3)",width:"100%",paddingBlock:"var(--space-3)",paddingInline:"var(--space-4)",cursor:a?"not-allowed":"pointer",opacity:a?.45:1,background:t?"var(--accent-2)":"transparent",color:"var(--gray-12)"},children:[E(ti,{provider:e.provider}),ia(ei,{direction:"column",gap:"0",style:{minWidth:0,flex:1},children:[E($e,{size:"2",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:e.calendarName}),E($e,{size:"1",color:"gray",truncate:!0,children:e.email})]}),n?E($e,{size:"1",color:"gray",style:{flexShrink:0},children:n}):null,E(Ve,{style:{flexShrink:0,display:"flex",alignItems:"center"},children:r})]})}function ai({accounts:e,mode:r,sourceCalendarIds:t,targetCalendarId:a,takenSourceIds:n,onToggleSource:o,onSelectTarget:i,fill:l=!1}){let s=ri(e),p=r==="sources"&&s.length>0&&s.every(d=>d.calendarId===a||n.has(d.calendarId))?E(Ve,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",background:"var(--color-panel-solid)",padding:"var(--space-4)",...l?{flex:1,minHeight:0}:{}},children:E($e,{as:"p",size:"2",color:"gray",align:"center",children:"All your calendars are already used as sources in other syncs, or set as this sync's target. Remove a calendar from another sync to make it available here."})}):E(Ve,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",background:"var(--color-panel-solid)",...l?{flex:1,minHeight:0,overflowY:"auto"}:{overflow:"hidden"}},children:s.map((d,g)=>{if(r==="sources"){let x=d.calendarId===a,w=n.has(d.calendarId),M=x||w,ae=t.includes(d.calendarId);return E(Ve,{style:{borderTop:g>0?"1px solid var(--gray-4)":void 0},children:E(na,{row:d,selected:ae,disabled:M,disabledLabel:x?"Target":w?"In use":void 0,control:E(Qn,{checked:ae,disabled:M,onCheckedChange:()=>{M||o(d.calendarId)}})})},d.calendarId)}let v=t.includes(d.calendarId),f=d.calendarId===a;return E(Ve,{style:{borderTop:g>0?"1px solid var(--gray-4)":void 0},children:E(na,{row:d,selected:f,disabled:v,disabledLabel:v?"Source":void 0,control:E(oa.Item,{value:d.calendarId,disabled:v})})},d.calendarId)})});return r==="target"?E(oa.Root,{value:a??"",onValueChange:d=>{d&&i(d)},style:l?{flex:1,minHeight:0,display:"flex",flexDirection:"column"}:void 0,children:p}):p}import{Button as sa,Flex as Xr,Heading as oi,IconButton as la}from"@radix-ui/themes";import{ChevronLeftIcon as ni,ChevronRightIcon as ii}from"@radix-ui/react-icons";import{Navigate as Zr}from"react-big-calendar";import{jsx as me,jsxs as ca}from"react/jsx-runtime";function Jr({label:e,view:r,onNavigate:t,onView:a}){return ca(Xr,{align:"center",justify:"between",gap:"3",wrap:"wrap",className:"calendar-toolbar",children:[ca(Xr,{align:"center",gap:"2",children:[me(la,{size:"2",variant:"soft",color:"gray",radius:"full","aria-label":"Previous",onClick:()=>t(Zr.PREVIOUS),children:me(ni,{})}),me(sa,{size:"2",variant:"soft",color:"gray",onClick:()=>t(Zr.TODAY),children:"Today"}),me(la,{size:"2",variant:"soft",color:"gray",radius:"full","aria-label":"Next",onClick:()=>t(Zr.NEXT),children:me(ii,{})})]}),me(oi,{as:"h2",size:L.h2,weight:"medium",style:{color:"var(--gray-12)"},children:e}),me(Xr,{gap:"1",style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",padding:"var(--space-1)",background:"var(--gray-2)"},children:["week","month"].map(n=>me(sa,{size:"2",variant:r===n?"solid":"soft",className:r===n?"btn-amber-primary":void 0,color:r===n?void 0:"gray",onClick:()=>a(n),style:r===n?void 0:{background:"transparent"},children:n==="week"?"Week":"Month"},n))})]})}import{Button as si,Flex as pr,Spinner as li,Text as Qr}from"@radix-ui/themes";import{ChevronRightIcon as ci,ExclamationTriangleIcon as di}from"@radix-ui/react-icons";import{jsx as Q,jsxs as Ue}from"react/jsx-runtime";var Ee={google:{label:"Google Calendar",description:"Connect a Google account calendar"},microsoft:{label:"Outlook Calendar",description:"Connect an Outlook account calendar"}},pi=["google","microsoft"];function et({connectingProvider:e,failedProvider:r,exhausted:t=!1,onConnect:a}){return Q(pr,{direction:"column",gap:"3",style:{width:"100%",textAlign:"left"},children:pi.map(n=>{let o=Ee[n],i=e===n;return Ue("div",{children:[Ue("button",{type:"button",className:"provider-choice",onClick:()=>a(n),disabled:e!==null,"data-connecting":i?"true":void 0,"aria-busy":i||void 0,"aria-label":`Connect ${o.label}`,children:[Q(P,{children:Q(H,{provider:n})}),Ue(pr,{direction:"column",className:"provider-choice__copy",gap:"1",children:[Q(Qr,{size:"3",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:o.label}),Q(Qr,{size:"2",color:"gray",truncate:!0,children:o.description})]}),Q("span",{className:"provider-choice__chevron","aria-hidden":!0,children:i?Q(li,{size:"2"}):Q(ci,{style:h("--space-5")})})]}),r===n&&Ue(pr,{align:"center",justify:"between",gap:"3",mt:"2",px:"1",children:[Ue(pr,{align:"center",gap:"2",children:[Q(di,{style:{...h("--space-4"),color:"var(--red-9)",flexShrink:0}}),Q(Qr,{size:"2",style:{color:"var(--red-11)"},children:t?`No more ${o.label} accounts available to connect.`:`Couldn't connect ${o.label}. Please try again.`})]}),!t&&Q(si,{variant:"ghost",size:"1",onClick:()=>a(n),children:"Retry"})]})]},n)})})}import{Badge as da,Box as gi,DropdownMenu as Ge,Flex as pa,IconButton as ui,Text as ga}from"@radix-ui/themes";import{DotsVerticalIcon as mi,ReloadIcon as fi,TrashIcon as yi}from"@radix-ui/react-icons";import{jsx as Y,jsxs as xe}from"react/jsx-runtime";function vi({account:e,onRemove:r,onReconnect:t,onClick:a}){let n=e.authStatus==="reauth",o=e.authStatus==="failed",i=Y(ga,{size:"2",weight:"medium",truncate:!0,style:{color:"var(--gray-12)"},children:e.displayName});return xe(gi,{onClick:a,style:{width:"100%",minWidth:0,height:b.connectedAccountCardH,boxSizing:"border-box",padding:"var(--space-3)",background:"var(--color-panel-solid)",border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",display:"flex",alignItems:"center",gap:"var(--space-3)",cursor:a?"pointer":void 0},children:[Y(P,{size:"var(--space-6)",children:Y(H,{provider:e.provider})}),xe(pa,{direction:"column",style:{flex:1,minWidth:0},children:[xe(pa,{align:"center",gap:"2",style:{minWidth:0},children:[a?Y("button",{type:"button",className:"card-title-button",onClick:l=>{l.stopPropagation(),a()},children:i}):i,n&&Y(da,{color:"amber",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Needs reconnect"}),o&&Y(da,{color:"red",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Connection failed"})]}),Y(ga,{size:"1",color:"gray",truncate:!0,children:e.email})]}),xe(Ge.Root,{children:[Y(Ge.Trigger,{children:Y(ui,{variant:"ghost",color:"gray",size:"1","aria-label":`${e.displayName} actions`,onClick:l=>l.stopPropagation(),children:Y(mi,{})})}),xe(Ge.Content,{align:"end",onClick:l=>l.stopPropagation(),children:[(n||o)&&t&&xe(Ge.Item,{onSelect:t,children:[Y(fi,{})," Reconnect"]}),xe(Ge.Item,{color:"red",onSelect:r,children:[Y(yi,{})," Remove account"]})]})]})]})}import{Flex as hi,Text as bi,Heading as xi}from"@radix-ui/themes";import{jsx as rt,jsxs as wi}from"react/jsx-runtime";function Ci({icon:e,title:r,description:t,action:a,headingAs:n="h2"}){return wi(hi,{direction:"column",align:"center",gap:"3",style:{width:"100%",paddingTop:"var(--space-9)",textAlign:"center"},children:[rt(P,{size:"var(--space-8)",children:e}),rt(xi,{as:n,size:L[n],weight:"medium",align:"center",children:r}),t&&rt(bi,{size:"2",color:"gray",align:"center",style:{maxWidth:b.emptyStateCopyMax},children:t}),a]})}import{useState as Ti}from"react";import{Dialog as je,Flex as Si,Text as gr,Checkbox as ki,Button as ua}from"@radix-ui/themes";import{Fragment as Ii,jsx as _,jsxs as tt}from"react/jsx-runtime";function Ce({account:e,onOpenChange:r,onImport:t,initiallySelectedIds:a,disabledIds:n,disabledReason:o,title:i="Calendars",description:l="Choose which calendars you want to import.",confirmLabel:s="Import Calendars"}){let c=e?`${e.id}:${(a??e.calendars.map(p=>p.id)).join(",")}`:"closed";return _(je.Root,{open:!!e,onOpenChange:r,children:_(je.Content,{maxWidth:b.dialogMd,onInteractOutside:p=>p.preventDefault(),children:e&&_(Ri,{account:e,initiallySelectedIds:a,disabledIds:n,disabledReason:o,title:i,description:l,confirmLabel:s,onImport:t},c)})})}function Ri({account:e,initiallySelectedIds:r,disabledIds:t,disabledReason:a,title:n,description:o,confirmLabel:i,onImport:l}){let[s,c]=Ti(()=>new Set(r??e.calendars.map(g=>g.id))),p=new Set(t??[]);function d(g){p.has(g)||c(v=>{let f=new Set(v);return f.has(g)?f.delete(g):f.add(g),f})}return tt(Ii,{children:[_(je.Title,{size:"5",weight:"medium",mb:"1",children:n}),_(je.Description,{size:"2",color:"gray",mb:"2",children:o}),_(gr,{as:"p",size:"2",weight:"medium",mb:"5",style:{color:"var(--gray-12)"},children:e.email}),_(Si,{direction:"column",gap:"3",mb:"5",children:e.calendars.map(g=>{let v=s.has(g.id),f=p.has(g.id);return tt(gr,{as:"label",size:"3",className:"calendar-picker-row","data-selected":v||void 0,"data-disabled":f?"true":void 0,style:{display:"flex",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-4)",cursor:f?"default":"pointer"},children:[_(ki,{checked:v,disabled:f,onCheckedChange:()=>d(g.id)}),_(gr,{weight:"medium",truncate:!0,style:{flex:1,minWidth:0,color:"var(--gray-12)"},children:g.name}),f&&a&&_(gr,{size:"1",color:"gray",style:{flexShrink:0},children:a})]},g.id)})}),tt(X,{justify:"between",noTopMargin:!0,pad:"var(--space-5)",radius:"var(--radius-4)",children:[_(je.Close,{children:_(ua,{size:"2",variant:"outline",color:"gray",children:"Cancel"})}),_(ua,{size:"2",className:"btn-amber-primary",disabled:s.size===0,onClick:()=>l(Array.from(s)),children:i})]})]})}import{Box as Ye,Flex as Ai,Text as ee}from"@radix-ui/themes";import{jsx as N,jsxs as ur}from"react/jsx-runtime";function Di(e){let r=/^#?([0-9a-f]{6})$/i.exec(e.trim());if(!r)return"white";let t=parseInt(r[1],16),a=o=>{let i=o/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)};return .2126*a(t>>16&255)+.7152*a(t>>8&255)+.0722*a(t&255)>.45?"black":"white"}function ma({tone:e,title:r,meta:t,accentColor:a}){let n=e==="synced"?a||"var(--accent-9)":"var(--blue-11)",o=e==="synced"?a?Di(a):"var(--accent-contrast)":"white";return ur(Ye,{style:{background:n,borderRadius:"var(--radius-2)",padding:"var(--space-2) var(--space-3)"},children:[N(ee,{as:"p",size:"2",weight:"medium",style:{color:o},children:r}),t?N(ee,{as:"p",size:"1",style:{color:o},children:t}):null]})}var Pi="Busy",Ei={title:"Gym",time:"10:00 AM",location:"Flex Gym on 16th Ave",description:"Workout notes"};function Mi({hasSources:e,hasTarget:r,sourceLabel:t,targetLabel:a,showTitle:n,showDescription:o,showLocation:i,tagLabel:l,accentColor:s,sampleEvent:c=Ei}){let p=c.title,d=[c.time,c.location].filter(Boolean).join(" \xB7 "),g=l?.trim()||Pi,v=n?`${c.title} - (${g})`:g,f=[c.time].filter(Boolean);i&&c.location&&f.push(c.location),o&&c.description&&f.push(c.description);let x=f.join(" \xB7 ");return ur(Ai,{direction:"column",gap:"4",style:{padding:"var(--space-4)"},children:[N(ee,{as:"p",className:"ds-section-label",style:{textAlign:"center"},children:"Sync Preview"}),N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center",marginTop:"calc(-1 * var(--space-2))"},children:"Example event \u2014 not from your calendars."}),ur(Ye,{children:[N(ee,{as:"p",size:"1",color:"gray",mb:"1",children:"Sources"}),N(ee,{as:"p",size:"1",weight:"medium",mb:"2",truncate:!0,style:{color:"var(--gray-12)"},children:e?t||"Selected sources":"\u2014"}),N(Ye,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-2)",padding:"var(--space-2)",background:"var(--gray-2)"},children:N(ma,{tone:"source",title:p,meta:d})})]}),ur(Ye,{children:[N(ee,{as:"p",size:"1",color:"gray",mb:"1",children:"Target"}),N(ee,{as:"p",size:"1",weight:"medium",mb:"2",truncate:!0,style:{color:"var(--gray-12)"},children:r?a||"Selected target":"\u2014"}),N(Ye,{style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-2)",padding:"var(--space-2)",background:"var(--gray-2)"},children:r?N(ma,{tone:"synced",title:v,meta:x,...s?{accentColor:s}:{}}):N(ee,{as:"p",size:"2",color:"gray",children:"Pick one target calendar"})})]}),!e||!r?N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center"},children:"Select one or more sources, then one target"}):N(ee,{as:"p",size:"1",color:"gray",style:{textAlign:"center"},children:"Only the highlighted block is posted to the target"})]})}import{Flex as at,Text as ot}from"@radix-ui/themes";import{CheckIcon as zi}from"@radix-ui/react-icons";import{jsx as Me,jsxs as fa}from"react/jsx-runtime";function nt({steps:e,current:r}){return Me("div",{role:"list","aria-label":"Wizard progress",style:{display:"flex",flexWrap:"wrap",width:"100%",flexShrink:0,marginBottom:0,border:"1px solid var(--gray-5)",borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",overflow:"hidden"},children:e.map((t,a)=>{let n=a+1,o=n===r,i=n<r;return fa(at,{align:"start",gap:"3",role:"listitem","aria-current":o?"step":void 0,style:{flex:"1 1 calc(3 * var(--space-9) + var(--space-6))",minWidth:"calc(3 * var(--space-9) + var(--space-6))",paddingTop:"var(--space-4)",paddingBottom:"var(--space-4)",paddingLeft:"var(--space-4)",paddingRight:"var(--space-4)",marginBottom:"-1px",borderBottom:o?"2px solid var(--accent-9)":"2px solid transparent"},children:[Me(at,{align:"center",justify:"center",style:{width:"var(--space-6)",height:"var(--space-6)",borderRadius:"50%",flexShrink:0,marginTop:"var(--space-1)",background:i?"var(--green-9)":o?"var(--accent-9)":"var(--gray-3)",color:i?"white":o?"var(--accent-contrast)":"var(--gray-11)"},children:i?Me(zi,{style:h("--space-3")}):Me(ot,{size:"1",weight:"medium",children:t.n})}),fa(at,{direction:"column",gap:"1",style:{minWidth:0,flex:1,paddingTop:"var(--space-1)"},children:[Me(ot,{size:"2",weight:"medium",style:{color:o||i?"var(--gray-12)":"var(--gray-10)",lineHeight:"var(--line-height-2)"},children:t.title}),Me(ot,{size:"1",color:"gray",style:{lineHeight:"var(--line-height-1)"},children:t.description})]})]},t.n)})})}import{jsx as va}from"react/jsx-runtime";var Bi=[{n:"01",title:"Connect",description:"Connect your calendar account"},{n:"02",title:"Calendars",description:"Import at least 2 calendars"},{n:"03",title:"Sync",description:"Set up your first sync"}];function ya({current:e}){return va(nt,{steps:Bi,current:e})}function Ni({current:e,total:r=3}){return va(ya,{current:e})}import it from"dayjs";import{Flex as ha,Grid as ba,IconButton as xa,Text as Ca}from"@radix-ui/themes";import{ChevronLeftIcon as Fi,ChevronRightIcon as Li}from"@radix-ui/react-icons";import{jsx as de,jsxs as st}from"react/jsx-runtime";var Hi=["S","M","T","W","T","F","S"];function lt({cursor:e,onSelect:r,today:t=new Date}){let a=it(e).startOf("month"),n=a.startOf("week"),o=Array.from({length:42},(i,l)=>n.add(l,"day"));return st("div",{children:[st(ha,{align:"center",justify:"between",mb:"2",children:[de(Ca,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:a.format("MMMM YYYY")}),st(ha,{gap:"1",children:[de(xa,{size:"1",variant:"ghost",color:"gray","aria-label":"Previous month",onClick:()=>r(it(e).subtract(1,"month").toDate()),children:de(Fi,{})}),de(xa,{size:"1",variant:"ghost",color:"gray","aria-label":"Next month",onClick:()=>r(it(e).add(1,"month").toDate()),children:de(Li,{})})]})]}),de(ba,{columns:"7",gap:"1",mb:"1",children:Hi.map((i,l)=>de(Ca,{size:"1",color:"gray",align:"center",children:i},l))}),de(ba,{columns:"7",gap:"1",justify:"center",align:"center",style:{justifyItems:"center"},children:o.map(i=>{let l=i.isSame(t,"day"),s=i.isSame(e,"day"),c=!i.isSame(a,"month");return de("button",{type:"button",onClick:()=>r(i.toDate()),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"var(--space-5)",height:"var(--space-5)",boxSizing:"border-box",flexShrink:0,padding:0,borderRadius:"50%",border:l&&!s?"1.5px solid var(--accent-9)":"none",cursor:"pointer",background:s?"var(--accent-9)":"transparent",color:s?"var(--accent-contrast)":c?"var(--gray-11)":l?"var(--accent-11)":"var(--gray-12)",fontWeight:l||s?500:400,fontSize:"var(--font-size-1)",fontFamily:"var(--font-poppins)"},children:i.format("D")},i.format("YYYY-MM-DD"))})})]})}import{useState as Oi}from"react";import{Dialog as Ke,Flex as qe,Text as mr,Button as ct,IconButton as _i,Badge as wa,Separator as Wi,Box as Ta}from"@radix-ui/themes";import{Cross2Icon as Vi,PlusIcon as $i,ReloadIcon as Ui}from"@radix-ui/react-icons";import{Fragment as Sa,jsx as I,jsxs as re}from"react/jsx-runtime";function Gi({account:e,catalog:r,onOpenChange:t,onRemoveCalendar:a,onSaveCalendars:n,onReconnect:o}){let[i,l]=Oi(!1),s=e?.authStatus==="reauth",c=e?.authStatus==="failed";function p(d){if(!e||!r)return;let g=new Set(d);n(e,r.calendars.filter(v=>g.has(v.id))),l(!1)}return re(Sa,{children:[I(Ke.Root,{open:!!e&&!i,onOpenChange:d=>{d||t(!1)},children:I(Ke.Content,{maxWidth:b.dialogMd,children:e&&re(Sa,{children:[re(qe,{align:"center",gap:"3",mb:"1",children:[I(P,{size:"var(--space-6)",children:I(H,{provider:e.provider})}),re(Ta,{style:{minWidth:0,flex:1},children:[re(qe,{align:"center",gap:"2",mb:"1",style:{minWidth:0},children:[I(Ke.Title,{size:"4",weight:"medium",mb:"0",truncate:!0,style:{minWidth:0},children:e.displayName}),s&&I(wa,{color:"amber",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Needs reconnect"}),c&&I(wa,{color:"red",variant:"soft",size:"1",radius:"full",style:{flexShrink:0},children:"Connection failed"})]}),I(Ke.Description,{size:"2",color:"gray",mb:"0",children:e.email})]})]}),(s||c)&&o&&re(ct,{size:"2",variant:"soft",color:c?"red":"amber",mt:"3",onClick:()=>o(e.id),children:[I(Ui,{}),"Reconnect"]}),I(Wi,{size:"4",my:"4"}),re(qe,{align:"center",justify:"between",gap:"3",mb:"3",children:[I(mr,{as:"p",className:"ds-section-label",mb:"0",children:"Calendars"}),r&&r.calendars.length>0&&re(ct,{size:"1",variant:"soft",color:"gray",onClick:()=>l(!0),children:[I($i,{style:h("--space-3")}),"Change calendars"]})]}),I(qe,{direction:"column",style:{border:"1px solid var(--gray-5)",borderRadius:"var(--radius-3)",overflow:"hidden",background:"var(--color-panel-solid)"},children:e.calendars.length===0?I(mr,{size:"2",color:"gray",style:{padding:"var(--space-4)"},children:"No calendars imported."}):e.calendars.map((d,g)=>re(qe,{align:"center",gap:"3",className:"data-table-row",style:{padding:"var(--space-3) var(--space-4)",minHeight:"var(--space-7)",borderTop:g>0?"1px solid var(--gray-4)":void 0},children:[I(Ta,{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:d.colorToken,flexShrink:0}}),re(mr,{size:"2",truncate:!0,style:{flex:1,minWidth:0,color:"var(--gray-12)"},children:[d.name,d.isPrimary&&re(mr,{size:"1",color:"gray",children:[" ","\xB7 Primary"]})]}),I(_i,{variant:"ghost",color:"gray",size:"1","aria-label":`Remove ${d.name}`,onClick:()=>a(e,d),children:I(Vi,{})})]},d.id))}),I(X,{justify:"end",children:I(Ke.Close,{children:I(ct,{size:"2",variant:"soft",color:"gray",children:"Close"})})})]})})}),I(Ce,{account:i&&r?r:null,initiallySelectedIds:e?.calendars.map(d=>d.id),title:"Change calendars",description:"Choose which calendars to keep on this account.",confirmLabel:"Save calendars",onOpenChange:d=>{d||l(!1)},onImport:p})]})}import{useMemo as ji}from"react";import vr from"dayjs";import{Calendar as Yi,dayjsLocalizer as Ki,Views as Xe}from"react-big-calendar";import"react-big-calendar/lib/css/react-big-calendar.css";import{Text as fr}from"@radix-ui/themes";import{jsx as ze,jsxs as yr}from"react/jsx-runtime";var qi=Ki(vr),Xi=new Date(1970,0,1,8,0,0);function dt({blocks:e,view:r,onViewChange:t,date:a,onNavigate:n,accounts:o,today:i=new Date}){let l=ji(()=>e.map(s=>{let c=new Date(s.date);c.setHours(s.startHour,s.startMinute,0,0);let p=new Date(s.date);return p.setHours(s.endHour,s.endMinute,0,0),{id:s.id,title:s.title,start:c,end:p,resource:s}}),[e]);return ze("div",{className:"rbc-radix-scope",style:{height:"100%",containerType:"inline-size"},children:ze(Yi,{localizer:qi,events:l,view:r==="week"?Xe.WEEK:Xe.MONTH,onView:s=>t(s===Xe.MONTH?"month":"week"),date:a,onNavigate:n,views:[Xe.WEEK,Xe.MONTH],toolbar:!0,popup:!0,scrollToTime:Xi,enableAutoScroll:!0,getNow:()=>i,tooltipAccessor:null,eventPropGetter:s=>{let p=j(o,s.resource.calendarId)?.calendar.colorToken??"var(--gray-8)";return r==="month"?{style:{background:"transparent",border:"none",boxShadow:"none"}}:{style:{backgroundColor:p,border:"none"}}},components:{toolbar:Jr,week:{header:s=>ze(qr,{...s,today:i}),event:({event:s})=>{let c=(s.end.getTime()-s.start.getTime())/6e4,p=c>=60,d=c>=30;return yr("div",{children:[ze(fr,{size:"1",weight:"medium",style:{color:"white",display:"block"},truncate:!0,children:s.title}),d&&yr(fr,{size:"1",style:{color:"rgba(255,255,255,0.85)",display:"block"},truncate:!0,children:[vr(s.start).format("h:mm A")," \u2013 ",vr(s.end).format("h:mm A")]}),p&&s.resource.location&&ze(fr,{size:"1",style:{color:"rgba(255,255,255,0.85)",display:"block"},truncate:!0,children:s.resource.location})]})}},month:{event:({event:s})=>{let p=j(o,s.resource.calendarId)?.calendar.colorToken??"var(--gray-8)";return yr(fr,{size:"1",style:{display:"flex",alignItems:"center",gap:"var(--space-1)",color:"var(--gray-12)",background:`color-mix(in srgb, ${p} 28%, transparent)`,borderRadius:"var(--radius-2)",padding:"var(--space-1) var(--space-2)"},truncate:!0,children:[ze("span",{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",borderRadius:"50%",background:p,flexShrink:0}}),yr("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[vr(s.start).format("H:mm")," ",s.title]})]})}}}})})}import{Dialog as Ze,Flex as we,Text as Te,Button as ka,Separator as Zi,Badge as Ji}from"@radix-ui/themes";import{Fragment as es,jsx as k,jsxs as ye}from"react/jsx-runtime";var Ra={synced:{label:"Synced",color:"green"},syncing:{label:"Syncing\u2026",color:"amber"},error:{label:"Error",color:"red"}};function Qi({sync:e,accounts:r,onOpenChange:t,onEdit:a}){let n=e?(()=>{let o=e.sourceCalendarIds.map(l=>j(r,l)?.calendar.name).filter(l=>!!l),i=j(r,e.targetCalendarId)?.calendar.name??"\u2014";return`${o.join(", ")||"\u2014"} \u2192 ${i}`})():"";return k(Ze.Root,{open:!!e,onOpenChange:t,children:k(Ze.Content,{maxWidth:b.dialogMd,children:e&&ye(es,{children:[ye(we,{align:"center",justify:"between",mb:"1",children:[k(Ze.Title,{size:"4",mb:"0",children:e.name}),k(Ji,{color:Ra[e.status].color,variant:"soft",size:"1",radius:"full",children:Ra[e.status].label})]}),k(Ze.Description,{size:"2",color:"gray",mb:"4",children:"Sync configuration"}),ye(we,{direction:"column",gap:"3",children:[k(fe,{label:"Calendars",children:n}),k(fe,{label:"Sources",children:k(we,{direction:"column",gap:"1",align:"end",children:e.sourceCalendarIds.map(o=>{let i=j(r,o);return i?ye(we,{direction:"column",align:"end",children:[k(Te,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:i.calendar.name}),k(Te,{size:"1",color:"gray",children:i.account.email})]},o):null})||"\u2014"})}),k(fe,{label:"Target",children:(()=>{let o=j(r,e.targetCalendarId);return o?ye(we,{direction:"column",align:"end",children:[k(Te,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:o.calendar.name}),k(Te,{size:"1",color:"gray",children:o.account.email})]}):"\u2014"})()}),k(fe,{label:"Last synced",children:e.lastSyncedLabel??"\u2014"})]}),k(Zi,{size:"4",my:"4"}),k(Te,{as:"p",size:"1",weight:"medium",color:"gray",mb:"3",style:{letterSpacing:"0.04em"},children:"WHAT TO SHOW"}),ye(we,{direction:"column",gap:"3",children:[k(fe,{label:"Tag",children:e.tagLabel?.trim()||"Busy"}),k(fe,{label:"Event titles",children:e.showTitle?"Shown":"Hidden"}),k(fe,{label:"Event description",children:e.showDescription?"Shown":"Hidden"}),k(fe,{label:"Event location",children:e.showLocation?"Shown":"Hidden"})]}),ye(X,{justify:"between",children:[k(Ze.Close,{children:k(ka,{size:"2",variant:"soft",color:"gray",children:"Close"})}),k(ka,{size:"2",className:"btn-amber-primary",onClick:()=>a(e.id),children:"Edit sync"})]})]})})})}function fe({label:e,children:r}){return ye(we,{align:"baseline",justify:"between",gap:"4",children:[k(Te,{size:"2",color:"gray",style:{flexShrink:0},children:e}),k(Te,{size:"2",weight:"medium",align:"right",style:{color:"var(--gray-12)"},children:r})]})}import{useState as hr}from"react";function Je({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a}){let[n,o]=hr(null),[i,l]=hr(null),[s,c]=hr(null),[p,d]=hr(!1);function g(f){if(n)return;c(null),d(!1),o(f);let x=e.map(w=>w.id);r(f,x).then(w=>{o(null),w?l(w):(c(f),d(!0))}).catch(()=>{o(null),c(f),d(!1)})}function v(f){if(!i)return;let x=new Set(f);t({...i,calendars:i.calendars.filter(w=>x.has(w.id))}),l(null),a?.()}return{connectingProvider:n,pendingAccount:i,failedProvider:s,exhausted:p,connect:g,confirmImport:v,cancelImport:()=>l(null),dismissError:()=>c(null)}}import{Box as rs,DropdownMenu as br,Button as ts,Flex as as,Text as Ia}from"@radix-ui/themes";import{PlusIcon as Aa}from"@radix-ui/react-icons";import{Fragment as ns,jsx as te,jsxs as Be}from"react/jsx-runtime";function os({variant:e="button",trigger:r,accounts:t,connectProvider:a,onAccountAdded:n,onImported:o}){let{pendingAccount:i,failedProvider:l,exhausted:s,connect:c,confirmImport:p,cancelImport:d,dismissError:g}=Je({accounts:t,connectProvider:a,onAccountAdded:n,onImported:o}),v=["google","microsoft"],f=e==="tile"?Be("button",{type:"button",className:"connect-account-tile","aria-label":"Connect Account",children:[te(Aa,{style:h("--space-4")}),"Connect Account"]}):Be(ts,{size:"2",className:"btn-amber-primary",children:[te(Aa,{style:h("--space-4")}),"Connect Account"]}),x=Be(br.Root,{children:[te(br.Trigger,{children:r??f}),te(br.Content,{align:"start",style:{width:"max-content",minWidth:"max-content"},children:v.map(w=>{let M=Ee[w];return Be(br.Item,{onSelect:()=>c(w),style:{height:"auto",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-2) var(--space-3)"},children:[te(P,{size:"var(--space-6)",children:te(H,{provider:w})}),Be(as,{direction:"column",gap:"1",style:{flexShrink:0},children:[te(Ia,{size:"2",weight:"medium",style:{color:"var(--gray-12)"},children:M.label}),te(Ia,{size:"1",color:"gray",children:M.description})]})]},w)})})]});return Be(ns,{children:[e==="tile"&&!r?te(rs,{style:{width:"100%",minWidth:0},children:x}):x,te(Ce,{account:i,onOpenChange:w=>!w&&d(),onImport:p}),l&&te(Er,{msg:s?`No more ${Ee[l].label} accounts available to connect.`:`Couldn't connect ${Ee[l].label}. Please try again.`,color:"red",onDone:g})]})}import{Card as is,Flex as pt,Text as ss,Heading as ls}from"@radix-ui/themes";import{CalendarIcon as cs}from"@radix-ui/react-icons";import{jsx as ve,jsxs as Da}from"react/jsx-runtime";function ds({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a}){let{connectingProvider:n,pendingAccount:o,failedProvider:i,exhausted:l,connect:s,confirmImport:c,cancelImport:p}=Je({accounts:e,connectProvider:r,onAccountAdded:t,onImported:a});return Da(pt,{direction:"column",align:"center",justify:"center",style:{width:"100%",flex:1,minHeight:0},children:[ve(is,{style:{width:"100%",maxWidth:b.providerChooserMax},children:Da(pt,{direction:"column",align:"center",justify:"center",gap:"3",py:"6",px:"3",style:{width:"100%",textAlign:"center"},children:[ve(P,{children:ve(cs,{style:{...h("--space-5"),color:"var(--gray-7)"}})}),ve(ls,{as:"h2",size:L.h2,weight:"medium",children:e.length>0?"Connect another account":"Connect your first account"}),ve(ss,{as:"p",size:"2",color:"gray",children:e.length>0?"Add another Google or Microsoft account, then choose which calendars to import.":"Connect a Google or Microsoft account to import calendars for sync."}),ve(pt,{direction:"column",style:{width:"100%"},mt:"3",children:ve(et,{connectingProvider:n,failedProvider:i,exhausted:l,onConnect:s})})]})}),ve(Ce,{account:o,onOpenChange:d=>!d&&p(),onImport:c})]})}import{useEffect as ps,useMemo as gt,useState as xr}from"react";import{Link as gs}from"react-router-dom";import{Box as ut,Checkbox as Pa,Flex as Qe,Separator as mt,Text as Se}from"@radix-ui/themes";import{ChevronDownIcon as us,GearIcon as ms,HamburgerMenuIcon as fs}from"@radix-ui/react-icons";import{jsx as A,jsxs as pe}from"react/jsx-runtime";function ys({accounts:e,view:r,setView:t,hideClones:a,setHideClones:n,mergedCalendarIds:o,visibleCalendarIds:i,toggleCalendarVisible:l,getVisibleBlocksInRange:s,manageAccountsHref:c,today:p=new Date}){let[d,g]=xr(p),[v,f]=xr(new Set),[x,w]=xr(()=>typeof window<"u"&&window.innerWidth<900),[M,ae]=xr(!1);ps(()=>{function y(){w(window.innerWidth<900)}return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let se=gt(()=>{let y=new Date(d);return y.setDate(y.getDate()-42),y},[d]),C=gt(()=>{let y=new Date(d);return y.setDate(y.getDate()+42),y},[d]),z=s(se,C),T=gt(()=>{let y=[],B=new Map;for(let W of o){let V=j(e,W);if(!V)continue;let K=B.get(V.account.id);K===void 0&&(K=y.length,B.set(V.account.id,K),y.push({accountId:V.account.id,calendarIds:[]})),y[K].calendarIds.push(W)}return y},[o,e]);function ge(y){f(B=>{let W=new Set(B);return W.has(y)?W.delete(y):W.add(y),W})}return pe(Qe,{gap:"5",align:"start",direction:x?"column":"row",flexGrow:"1",minHeight:"0",height:"100%",children:[(!x||M)&&pe(ut,{minWidth:x?void 0:b.sidebarColMin,p:"4",maxHeight:"100%",style:{flex:x?"1 1 100%":`0 0 ${b.sidebarColBasis}`,border:"1px solid var(--gray-5)",borderRadius:"var(--radius-4)",background:"var(--color-panel-solid)",boxShadow:"var(--shadow-card)",overflow:"auto"},children:[A(lt,{cursor:d,onSelect:g,today:p}),A(mt,{size:"4",my:"3"}),A(Se,{as:"p",size:"1",weight:"medium",color:"gray",mb:"3",style:{letterSpacing:"0.04em"},children:"CALENDARS"}),A(Qe,{direction:"column",gap:"1",mb:"4",children:T.map(({accountId:y,calendarIds:B},W)=>{let V=e.find(q=>q.id===y);if(!V)return null;let K=v.has(y);return pe("div",{style:{paddingTop:W>0?"var(--space-2)":void 0,borderTop:W>0?"1px solid var(--gray-3)":void 0},children:[pe(Qe,{align:"center",gap:"2",mb:"2",py:"1",className:"calendar-legend-account-row",style:{cursor:"pointer",borderRadius:"var(--radius-2)"},onClick:()=>ge(y),children:[A(us,{style:{...h("--space-3"),color:"var(--gray-9)",transform:K?"rotate(-90deg)":void 0,transition:"transform 120ms ease",flexShrink:0}}),A(H,{provider:V.provider}),A(Se,{size:"2",weight:"medium",truncate:!0,title:V.email,style:{color:"var(--gray-12)",minWidth:0},children:V.email})]}),!K&&A(Qe,{direction:"column",gap:"1",pl:"5",children:B.map(q=>{let Re=j(e,q);return Re?pe(Se,{as:"label",size:"2",className:"calendar-legend-row",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",cursor:"pointer",borderRadius:"var(--radius-2)",padding:"var(--space-1) var(--space-2)",marginLeft:"calc(var(--space-2) * -1)"},children:[pe(Qe,{align:"center",gap:"1",children:[A(Pa,{checked:i.has(q),onCheckedChange:()=>l(q)}),A("span",{"aria-hidden":!0,style:{width:"var(--space-3)",height:"var(--space-3)",borderRadius:"50%",background:Re.calendar.colorToken,flexShrink:0}})]}),A(Se,{size:"2",truncate:!0,style:{color:"var(--gray-12)"},title:Re.calendar.name,children:Re.calendar.name})]},q):null})})]},y)})}),A(mt,{size:"4",mb:"3"}),pe(Se,{as:"label",size:"2",style:{display:"flex",alignItems:"center",gap:"var(--space-2)",cursor:"pointer"},mb:"3",children:[A(Pa,{checked:a,onCheckedChange:y=>n(!!y)}),"Hide synced events"]}),A(mt,{size:"4",mb:"3"}),pe(gs,{to:c,style:{display:"flex",alignItems:"center",gap:"var(--space-2)",color:"var(--gray-11)",textDecoration:"none"},children:[A(ms,{style:h("--space-3")}),A(Se,{size:"2",children:"Manage accounts"})]}),A(Se,{as:"p",size:"1",color:"gray",mt:"4",children:"On your target calendars, others see only what each sync is set to share. Full detail stays in araMetrics."})]}),pe(ut,{width:x?"100%":void 0,minHeight:b.bigCalendarH,height:"100%",style:{flex:x?"1 1 100%":`1 1 ${b.syncColWide}`,minWidth:x?0:b.syncColMin,display:"flex",flexDirection:"column",alignSelf:"stretch"},children:[x&&A("button",{type:"button",className:"sidebar-icon-btn","aria-label":M?"Hide calendars":"Show calendars",style:{alignSelf:"flex-start",marginBottom:"var(--space-3)"},onClick:()=>ae(y=>!y),children:A(fs,{style:h("--space-4")})}),A(ut,{flexGrow:"1",minHeight:"0",height:"100%",children:A(dt,{blocks:z,view:r,onViewChange:t,date:d,onNavigate:g,accounts:e,today:p})})]})]})}import{clsx as vs}from"clsx";import{twMerge as hs}from"tailwind-merge";function ke(...e){return hs(vs(e))}function bs(e,r="solid"){return R.variants[e]?.[r]||R.variants.primary[r]}function xs(e){let r=R.sizes[e]||R.sizes.md;return`${r.text} ${r.padding} ${r.height}`}function Cs(){return ke(R.base.transition,R.base.focus,R.base.disabled,R.accessibility.reducedMotion)}function ws(){return ke(R.base.interactive,R.accessibility.focusTrap,R.accessibility.touchTarget)}function Ts(e={}){return ke(e.focusVisible&&R.accessibility.focusTrap,e.highContrast&&R.accessibility.highContrast,e.reducedMotion&&R.accessibility.reducedMotion)}function Ss(e,r=""){return typeof e=="string"?`${r}${e}`:typeof e=="object"&&e!==null?Object.entries(e).map(([t,a])=>a===void 0?"":`${t==="xs"?"":`${t}:`}${r}${a}`).filter(Boolean).join(" "):""}function ks(e,r="gap"){let t=R.spacing[e]||R.spacing.md;switch(r){case"margin":return t.replace("gap-","m-");case"padding":return t.replace("gap-","p-");default:return t}}function Rs(e){return R.radius[e]||R.radius.md}function Is(e){return R.typography[e]||R.typography.base}function As(e,r=500){return`bg-${e}-${r}`}function Ds(e,r=500){return`text-${e}-${r}`}function Ps(e,r=500){return`border-${e}-${r}`}function Es(e,r=500){return`hover:bg-${e}-${r}`}function Ms(e,r=500){return`hover:text-${e}-${r}`}function zs(e,r=500){return`focus:ring-${e}-${r}`}function Bs(e){let r=R.animations[e];return typeof r=="string"?r:""}function Ns(e,r,t){return a=>{let n=e;return Object.entries(r).forEach(([o,i])=>{let l=a[o];l&&i[l]&&(n+=` ${i[l]}`)}),t?.forEach(({conditions:o,className:i})=>{Object.entries(o).every(([s,c])=>a[s]===c)&&(n+=` ${i}`)}),ke(n)}}function Fs(e){return function(t){let{className:a,...n}=t,o={...e.defaultVariants,...n},i=e.base||"";return e.variants&&Object.entries(e.variants).forEach(([l,s])=>{let c=o[l];c&&s[c]&&(i+=` ${s[c]}`)}),e.compoundVariants?.forEach(({conditions:l,className:s})=>{Object.entries(l).every(([p,d])=>o[p]===d)&&(i+=` ${s}`)}),ke(i,a)}}function Ls(e,r){let t={...e};return Object.keys(r).forEach(a=>{let n=r[a],o=e[a];a==="className"?t[a]=ke(o,n):typeof n=="object"&&typeof o=="object"&&n!==null&&o!==null&&!Array.isArray(n)&&!Array.isArray(o)?t[a]={...o,...n}:t[a]=n}),t}function Hs(e,r,t){return e?r:t&&e===!1?t:""}function Os(e){let r=["button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","a[href]",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");return Array.from(e.querySelectorAll(r))}function _s(e,r,t,a={}){let{loop:n=!0,orientation:o="both"}=a,i=t;switch(e.key){case"ArrowDown":(o==="vertical"||o==="both")&&(i=t+1,i>=r.length&&(i=n?0:r.length-1));break;case"ArrowUp":(o==="vertical"||o==="both")&&(i=t-1,i<0&&(i=n?r.length-1:0));break;case"ArrowRight":(o==="horizontal"||o==="both")&&(i=t+1,i>=r.length&&(i=n?0:r.length-1));break;case"ArrowLeft":(o==="horizontal"||o==="both")&&(i=t-1,i<0&&(i=n?r.length-1:0));break;case"Home":i=0;break;case"End":i=r.length-1;break}return i!==t&&(e.preventDefault(),r[i]?.focus()),i}import{Theme as Ws}from"@radix-ui/themes";import"@radix-ui/themes/styles.css";import{jsx as $s}from"react/jsx-runtime";function Vs({children:e,appearance:r="light",radius:t="none",scaling:a="100%",accentColor:n="amber",grayColor:o="gray",panelBackground:i="solid",className:l=""}){return $s(Ws,{accentColor:n,grayColor:o,radius:t,scaling:a,panelBackground:i,appearance:r,className:l,children:e})}import*as Cr from"react";function ku({value:e,defaultValue:r,onChange:t}){let[a,n]=Cr.useState(r),o=e!==void 0,i=o?e:a,l=Cr.useCallback(s=>{let c=typeof s=="function"?s(i):s;o||n(c),t?.(c)},[o,i,t]);return[i,l]}import*as Ne from"react";function Iu(e=!1){let[r,t]=Ne.useState(e),a=Ne.useCallback(()=>t(!0),[]),n=Ne.useCallback(()=>t(!1),[]),o=Ne.useCallback(()=>t(i=>!i),[]);return{isOpen:r,open:a,close:n,toggle:o,onOpen:a,onClose:n,onToggle:o}}import*as wr from"react";function Du(e,r=!0){let t=wr.useRef(null);return wr.useEffect(()=>{if(!r)return;let a=n=>{t.current&&!t.current.contains(n.target)&&e()};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e,r]),t}export{Xo as ACTIVITY_META,Lt as AUDIT_ACTION_META,Ha as AccentCard,bt as AccentHeader,Gi as AccountCalendarsDialog,qa as AccountCard,Ao as ActivityRow,os as AddAccountMenu,Io as AppCard,Jo as AuthCard,dt as BigCalendarView,Hr as BrandPanel,qr as CalendarDayHeader,ys as CalendarMergedView,ai as CalendarPickList,Jr as CalendarToolbar,X as CardFooter,Rr as ConfirmDialog,et as ConnectProviderList,ds as ConnectProviderRows,vi as ConnectedAccountCard,Bo as DashboardErrorCard,zr as DataTableRow,Ci as EmptyCard,yo as EventBlock,Or as GoogleIcon,P as IconTile,Ce as ImportCalendarsDialog,qo as METRIC_STATUS_COLOR,Co as MetricCard,_r as MicrosoftIcon,lt as MiniMonthPicker,no as MonthGrid,Ni as OnboardingStepDots,ya as OnboardingStepper,Wr as OtpInput,sn as OtpVerifyStep,ln as PROVIDER_LABEL,Ee as PROVIDER_META,Go as Pagination,Ir as PausedBadge,H as ProviderIcon,Yo as ROLE_LABELS,tr as ROLE_META,cr as SHELL_HEADER_H,Ko as STATUS_META,qn as SearchOverlay,Tn as Sidebar,Ba as Skeleton,Qi as SyncDetailsDialog,Mi as SyncPreviewRail,Er as Toast,Ln as Topbar,Vs as UIProvider,nt as WizardStepper,Zo as auditActionMeta,ke as cn,za as colors,Hs as conditionalClass,Ns as createCompoundVariants,Fs as createVariantGenerator,j as findCalendar,Ts as getAccessibilityStyles,Bs as getAnimationClass,Cs as getBaseStyles,As as getBgClass,Ps as getBorderClass,vt as getColor,zs as getFocusRingClass,Os as getFocusableElements,Es as getHoverBgClass,Ms as getHoverTextClass,ws as getInteractiveStyles,Rs as getRadiusClass,Ss as getResponsiveClasses,xs as getSizeStyles,ks as getSpacingClass,Ds as getTextClass,Is as getTypographyClass,bs as getVariantStyles,_s as handleArrowNavigation,L as headingSize,b as layout,Ls as mergeProps,R as theme,Du as useClickOutside,Je as useConnectAccount,ku as useControllableState,Iu as useDisclosure};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|