PageSourceSearch

https://www.deta.studio/_next/static/chunks/e0e62238605fe2c9.js

js deta.studio collected 2026-09-24 14:29:53 UTC 23,356 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,289130,e=>{"use strict";var a=e.i(391610),s=e.i(138415),t=e.i(949674),r=e.i(638511),i=e.i(525393),n=e.i(633129),l=e.i(275346),d=e.i(22154),c=e.i(110554),c=c,o=e.i(562830),u=e.i(827764),h=e.i(370033),m=e.i(781068),x=e.i(470795),g=e.i(623334),p=e.i(739351);e.i(577630);var w=e.i(455852),v=e.i(129850),j=e.i(502916),f=e.i(623905),b=e.i(573531),_=e.i(7205),y=e.i(990533),N=e.i(308370),k=e.i(383778),C=e.i(486596),S=e.i(64185),T=e.i(687123),A=e.i(990311),D=e.i(765343),E=e.i(816665),I=e.i(788730),L=e.i(978502),R=(0,L.createServerReference)("7fb53afc429fbe4904536365f351cfa37c65b6c872",L.callServer,void 0,L.findSourceMapURL,"getShareSuggestionsAction"),U=(0,L.createServerReference)("7fb9f2d72d25641209b7dfede685bf0b644e86cbde",L.callServer,void 0,L.findSourceMapURL,"getSharesAction"),B=e.i(300098),O=e.i(641868),K=e.i(332890),P=e.i(369215),F=e.i(572064),V=e.i(824788),z=e.i(574535);let H={viewer:"Viewer",reviewer:"Reviewer",editor:"Editor"},M={viewer:"View drawings only — no markups or changes",reviewer:"Markups, comments, scale settings, and branches",editor:"Full control — versions, pages, and everything above"};function $(e){switch(e){case"viewer":return{canAnnotate:!1,canEdit:!1};case"reviewer":return{canAnnotate:!0,canEdit:!1};case"editor":return{canAnnotate:!0,canEdit:!0}}}function G(e){return e.can_annotate&&e.can_edit?"editor":e.can_annotate?"reviewer":"viewer"}function W({drawingSetId:e,drawingName:L,accountId:H,trigger:M,open:W,onOpenChange:X,workspace:J,currentVersionParam:Q}){let Y=(0,j.useSupabase)(),{t:Z}=(0,w.useTranslation)("drawings"),ee=(0,D.useSpotlight)(),[ea,es]=(0,s.useState)(!1),et=void 0!==W,er=et?W:ea,ei=et?X??es:es,[en,el]=(0,s.useState)(""),[ed,ec]=(0,s.useState)([]),[eo,eu]=(0,s.useState)(null),[eh,em]=(0,s.useState)(null),[ex,eg]=(0,s.useState)(!1),[ep,ew]=(0,s.useState)(null),[ev,ej]=(0,s.useTransition)(),[ef,eb]=(0,s.useState)(!1),[e_,ey]=(0,s.useState)("viewer"),eN=(0,s.useRef)(0),[ek,eC]=(0,s.useState)(null),[eS,eT]=(0,s.useState)([]),[eA,eD]=(0,s.useState)([]),[eE,eI]=(0,s.useState)(!1),[eL,eR]=(0,s.useState)(!1),[eU,eB]=(0,s.useState)(null),[eO,eK]=(0,s.useState)(null),eP=(0,s.useRef)(new Set),[eF,eV]=(0,s.useState)(J?.currentAccountId??null),[ez,eH]=(0,s.use
1State)(J?.currentAccountName??null),[eM,e$]=(0,s.useTransition)(),eG=er?ee?.selector:null,eW=(0,s.useCallback)(async(a=!0)=>{let s=++eN.current;a&&eb(!0);try{let a=await U({drawingSetId:e});if(s!==eN.current)return;if(!a.ok)return void ew("Failed to load shares");let t=a.data.shares,r=t.filter(e=>"user"===e.share_type).map(e=>({id:e.id,shared_with_email:e.shared_with_email,shared_with_user_id:e.shared_with_user_id,shared_with_name:e.shared_with_name,shared_with_picture_url:e.shared_with_picture_url,created_at:e.created_at,can_annotate:e.can_annotate,can_edit:e.can_edit})),i=t.find(e=>"link"===e.share_type&&e.is_active);ec(r),i?(eu({id:i.id,link_token:i.link_token??"",link_visibility:i.link_visibility,is_active:!0,can_annotate:i.can_annotate,can_edit:i.can_edit}),em(`${window.location.origin}/share/${i.link_token}`)):(eu(null),em(null))}catch{ew(Z("shareDialog.failedToLoadShares"))}finally{s===eN.current&&a&&eb(!1)}},[e,Z]),eq=(0,s.useCallback)(async()=>{if(H)try{let a=await R({accountId:H,drawingSetId:e});if(!a.ok)return;let s=a.data.teamMembers,t=a.data.suggestions;eC(a.data.accountName??null),eT(s),eD(t),eP.current=new Set(s.map(e=>e.email.toLowerCase()))}catch{}},[H,e]),{send:eX}=(0,z.useShareChannel)(er?e:null,(0,s.useCallback)(()=>{eW(!1)},[eW])),eJ=(0,s.useCallback)(e=>{ei(e),e||(eI(!1),eB(null),eR(!1),eK(null))},[ei]);(0,s.useEffect)(()=>{er&&(eW(!0),eq())},[er,eW,eq]),(0,s.useEffect)(()=>{let e=()=>ei(!0),a=()=>ei(!1);return window.addEventListener(A.ONBOARDING_OPEN_SHARE_DIALOG_EVENT,e),window.addEventListener(A.ONBOARDING_CLOSE_SHARE_DIALOG_EVENT,a),()=>{window.removeEventListener(A.ONBOARDING_OPEN_SHARE_DIALOG_EVENT,e),window.removeEventListener(A.ONBOARDING_CLOSE_SHARE_DIALOG_EVENT,a)}},[ei]);let eQ=(0,s.useCallback)(e=>{let a=e.toLowerCase().trim();if(eP.current.has(a)){let s=eS.find(e=>e.email.toLowerCase()===a);return eB(Z("shareDialog.alreadyTeamMember",{name:s?.name||e})),!0}return eB(null),!1},[eS,Z]),eY=(0,s.useCallback)(()=>{if(!en.trim()||eQ(en.trim()))return;let a=en.trim().toLowerCase();ed.some(e=>e.shared_with_email?.toLowerCase()===a)?eB(Z("shareDialog.alreadyAdded")):(ew(null),eB(null),ej(async()=>{try{let a=await (0,F.shareWithUserAction)({drawingSetId:e,email:en.trim(),accountId:H,permissions:$(e_),versionParam:Q});if(!a.ok)return void ew(a.error.message);if(el(""),eK(null),await Promise.all([eW(!1),eq()]),a.data.recipientUserId){let e=$(e_);await eX({type:"permissions_updated",shareId:a.data.shareId,userId:a.data.recipientUserId,permissions:e}),await (0,z.sendSharedUserEvent)(Y,a.data.recipientUserId,{type:"share_created",shareId:a.data.shareId})}else await eX({type:"shares_changed"})}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToShare"))}}))},[en,e,H,e_,Q,eW,eq,Y,eX,eQ,ed,Z]),eZ=(0,s.useCallback)(e=>{el(e.email),eK(e),eR(!1),eB(null)},[]),e0=(0,s.useCallback)(a=>{ej(async()=>{try{let s=eo?.link_visibility,t=await (0,P.shareByLinkAction)({drawingSetId:e,visibility:a,accountId:H,permissions:$(e_)});if(!t.ok)return void ew(t.error.message);em(t.data.shareUrl);let r=$(e_);eu({id:t.data.shareId,link_token:t.data.linkToken,link_visibility:a,is_active:!0,can_annotate:r.canAnnotate,can_edit:r.canEdit}),s&&s!==a&&await eX({type:"link_visibility_updated",visibility:a})}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToCreateLink"))}})},[eo,e,H,e_,eX,Z]),e1=(0,s.useCallback)((e,a)=>{let s=$(a);ej(async()=>{try{let a=await (0,V.updateSharePermissionsAction)({shareId:e,accountId:H,permissions:s});if(!a.ok)return void ew(a.error.message);ec(a=>a.map(a=>a.id===e?{...a,can_annotate:s.canAnnotate,can_edit:s.canEdit}:a));let t=ed.find(a=>a.id===e);await eX({type:"permissions_updated",shareId:e,userId:t?.shared_with_user_id??void 0,permissions:s}),t?.shared_with_user_id&&await (0,z.sendSharedUserEvent)(Y,t.shared_with_user_id,{type:"permissions_updated",shareId:e,permissions:s})}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToUpdatePermissions"))}})},[H,ed,Y,eX,Z]),e3=(0,s.useCallback)(e=>{if(!eo)return;let a=$(e);ej(async()=>{try{let e=await (0,V.updateSharePermissionsAction)({shareId:eo.id,accountId:H,permissions:a});if(!e.ok)return void ew(e.error.message);eu(e=>e?{...e,can_annotate:a.canAnnotate,can_edit:a.canEdit}:null),await eX({type:"permissions_updated",shareId:eo.id,permissions:a})}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToUpdateLinkPermissions"))}})},[eo,H,eX,Z]),e2=(0,s.useCallback)((a,s)=>{ej(async()=>{try{let t=await (0,K.revokeShareAction)({shareId:a,accountId:H});if(!t.ok)return void ew(t.error.message);ec(e=>e.filter(e=>e.id!==a)),s?await (0,z.broadcastUserShareRevoked)({supabase:Y,drawingSetId:e,shareId:a,userId:s,sendDrawingEvent:eX}):await eX({type:"shares_changed"}),eq()}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToRevokeShare"))}})},[H,Y,eX,eq,e,Z]),e5=(0,s.useCallback)(()=>{eo&&ej(async()=>{try{let e=await (0,B.invalidateLinkAction)({shareId:eo.id,accountId:H});if(!e.ok)return void ew(e.error.message);
1eu(null),em(null),await eX({type:"link_invalidated"})}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToInvalidateLink"))}})},[eo,H,eX,Z]),e8=(0,s.useCallback)(()=>{eo&&ej(async()=>{try{await eX({type:"link_invalidated"});let e=await (0,O.regenerateLinkAction)({shareId:eo.id,accountId:H});if(!e.ok)return void ew(e.error.message);em(e.data.shareUrl),eu(a=>a?{...a,link_token:e.data.linkToken,is_active:!0}:null)}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToRegenerateLink"))}})},[eo,H,eX,Z]),e4=eh&&Q?`${eh}${eh.includes("?")?"&":"?"}v=${Q}`:eh,e6=(0,s.useCallback)(()=>{e4&&(navigator.clipboard.writeText(e4),eg(!0),setTimeout(()=>eg(!1),2e3))},[e4]),e7=(0,s.useCallback)((a,s)=>{e$(async()=>{try{let t=await (0,E.shareWithWorkspaceAction)({drawingSetId:e,accountId:a});if(!t.ok)return void ew(t.error.message);eV(a),eH(s)}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToAddToWorkspace"))}})},[e,Z]),e9=(0,s.useCallback)(()=>{e$(async()=>{try{let a=await (0,I.unshareFromWorkspaceAction)({drawingSetId:e});if(!a.ok)return void ew(a.error.message);eV(null),eH(null)}catch(e){if((0,t.isRedirectError)(e))throw e;ew(Z("shareDialog.failedToRemoveFromWorkspace"))}})},[e,Z]),ae=en.trim()?eA.filter(e=>e.email.toLowerCase().includes(en.toLowerCase())||e.name.toLowerCase().includes(en.toLowerCase())):eA;return(0,a.jsxs)(N.Dialog,{open:er,onOpenChange:eJ,children:[!et&&(0,a.jsx)(N.DialogTrigger,{asChild:!0,children:M??(0,a.jsxs)(_.Button,{variant:"outline",size:"sm","data-onboarding":"share-button",children:[(0,a.jsx)(h.Share2,{className:"mr-2 h-4 w-4"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.shareButton"})]})}),(0,a.jsxs)(N.DialogContent,{className:"max-h-[85vh] overflow-x-hidden overflow-y-auto sm:max-w-md","data-onboarding":"share-dialog",children:[(0,a.jsx)(N.DialogHeader,{children:(0,a.jsx)(N.DialogTitle,{children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.title",values:{name:L}})})}),ef&&(0,a.jsx)("div",{className:"flex justify-center py-4",children:(0,a.jsx)(u.Loader2,{className:"text-muted-foreground h-5 w-5 animate-spin"})}),(0,a.jsxs)("div",{className:["min-w-0 space-y-3 rounded-xl px-2 py-2 transition-all duration-300",'[data-onboarding="share-user-section"]'===eG?"border border-blue-500/60 bg-blue-500/[0.04]":""].join(" "),"data-onboarding":"share-user-section",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(k.Popover,{open:eL,onOpenChange:eR,children:[(0,a.jsx)(k.PopoverTrigger,{asChild:!0,children:(0,a.jsx)("div",{className:"border-input bg-background flex min-h-9 flex-1 items-center gap-1.5 rounded-md border px-3 py-1",children:eO?(0,a.jsxs)("div",{className:"bg-muted flex items-center gap-1.5 rounded-full py-0.5 pr-2 pl-0.5",children:[(0,a.jsxs)(f.Avatar,{className:"h-5 w-5",children:[(0,a.jsx)(f.AvatarImage,{src:eO.pictureUrl??void 0}),(0,a.jsx)(f.AvatarFallback,{className:"text-[9px] text-white uppercase",style:{backgroundColor:(0,v.getUserColor)(eO.userId)},children:eO.name?.slice(0,1)||eO.email?.slice(0,1)})]}),(0,a.jsx)("span",{className:"max-w-[140px] truncate text-xs",children:eO.name||eO.email}),(0,a.jsx)("button",{type:"button",className:"text-muted-foreground hover:text-foreground",onClick:e=>{e.stopPropagation(),eK(null),el("")},children:(0,a.jsx)(p.X,{className:"h-3 w-3"})})]}):(0,a.jsx)("input",{type:"email",placeholder:Z("shareDialog.emailPlaceholder"),value:en,maxLength:254,onChange:e=>{el(e.target.value),eB(null),e.target.value.trim()&&ae.length>0?eR(!0):e.target.value.trim()||eR(!1)},onFocus:()=>{eA.length>0&&(!en.trim()||ae.length>0)&&eR(!0)},onKeyDown:e=>{"Enter"===e.key&&(eR(!1),eY()),"Escape"===e.key&&eR(!1)},disabled:ev,className:"placeholder:text-muted-foreground min-w-0 flex-1 bg-transparent text-sm outline-none",autoComplete:"off"})})}),ae.length>0&&!eO&&(0,a.jsx)(k.PopoverContent,{className:"w-[--radix-popover-trigger-width] p-0",align:"start",onOpenAutoFocus:e=>e.preventDefault(),children:(0,a.jsx)(y.Command,{children:(0,a.jsxs)(y.CommandList,{children:[(0,a.jsx)(y.CommandEmpty,{children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.noSuggestions"})}),(0,a.jsx)(y.CommandGroup,{children:ae.slice(0,8).map(e=>(0,a.jsxs)(y.CommandItem,{value:e.email,onSelect:()=>eZ(e),children:[(0,a.jsxs)(f.Avatar,{className:"mr-2 h-6 w-6",children:[(0,a.jsx)(f.AvatarImage,{src:e.pictureUrl??void 0}),(0,a.jsx)(f.AvatarFallback,{className:"text-[10px] text-white uppercase",style:{backgroundColor:(0,v.getUserColor)(e.userId)},children:e.name?.slice(0,1)||e.email?.slice(0,1)})]}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"truncate text-sm",children:e.name}),(0,a.jsx)("div",{className:"text-muted-foreground truncate text-xs",children:e.email})]})]}
1,e.userId))})]})})})]}),(0,a.jsx)(q,{value:e_,onValueChange:ey,disabled:ev,compact:!0}),(0,a.jsx)(_.Button,{onClick:eY,disabled:ev||!en.trim(),size:"sm",children:ev?(0,a.jsx)(u.Loader2,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.shareButton"})})]}),eU&&(0,a.jsxs)("div",{className:"flex items-start gap-2 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 dark:border-amber-800 dark:bg-amber-950",children:[(0,a.jsx)(m.ShieldCheck,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400"}),(0,a.jsx)("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:eU})]}),ep&&(0,a.jsx)("p",{className:"text-destructive text-sm",children:ep}),ed.length>0&&(0,a.jsx)("div",{className:"max-h-[240px] space-y-2 overflow-y-auto",children:ed.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsxs)(f.Avatar,{className:"h-6 w-6 shrink-0",children:[(0,a.jsx)(f.AvatarImage,{src:e.shared_with_picture_url??void 0}),(0,a.jsx)(f.AvatarFallback,{className:"text-[10px] text-white uppercase",style:{backgroundColor:e.shared_with_user_id?(0,v.getUserColor)(e.shared_with_user_id):"#6b7280"},children:(e.shared_with_name??e.shared_with_email??"U").slice(0,1)})]}),(0,a.jsxs)("div",{className:"min-w-0",children:[e.shared_with_name&&(0,a.jsx)("div",{className:"truncate text-sm",children:e.shared_with_name}),(0,a.jsx)("div",{className:e.shared_with_name?"text-muted-foreground truncate text-xs":"truncate text-sm",children:e.shared_with_email??Z("shareDialog.userFallback")})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)(q,{value:G(e),onValueChange:a=>e1(e.id,a),disabled:ev,compact:!0}),(0,a.jsx)(_.Button,{variant:"ghost",size:"sm",onClick:()=>e2(e.id,e.shared_with_user_id),disabled:ev,children:(0,a.jsx)(p.X,{className:"h-3 w-3"})})]})]},e.id))})]}),eS.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.Separator,{}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 text-sm font-medium",onClick:()=>eI(!eE),children:[eE?(0,a.jsx)(n.ChevronDown,{className:"h-4 w-4"}):(0,a.jsx)(l.ChevronRight,{className:"h-4 w-4"}),(0,a.jsx)(g.Users,{className:"text-muted-foreground h-4 w-4"}),(0,a.jsx)("span",{children:ek??H}),(0,a.jsx)(b.Badge,{variant:"secondary",className:"ml-auto text-xs",children:eS.length})]}),(0,a.jsx)("p",{className:"text-muted-foreground pl-10 text-xs",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.allMembersHaveAccess"})}),eE&&(0,a.jsx)("div",{className:"max-h-[180px] space-y-1 overflow-y-auto pl-4",children:eS.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-1.5",children:[(0,a.jsxs)(f.Avatar,{className:"h-6 w-6",children:[(0,a.jsx)(f.AvatarImage,{src:e.pictureUrl??void 0}),(0,a.jsx)(f.AvatarFallback,{className:"text-[10px] text-white uppercase",style:{backgroundColor:(0,v.getUserColor)(e.userId)},children:e.name?.slice(0,1)||e.email?.slice(0,1)})]}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"truncate text-sm",children:e.name}),(0,a.jsx)("div",{className:"text-muted-foreground truncate text-xs",children:e.email})]}),(0,a.jsx)(b.Badge,{variant:"outline",className:"shrink-0 text-[10px]",children:e.role})]},e.userId))})]})]}),J&&J.teamAccounts.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(S.Separator,{}),(0,a.jsxs)("div",{className:["space-y-2 rounded-xl px-2 py-2 transition-all duration-300",'[data-onboarding="share-workspace-section"]'===eG?"border border-blue-500/60 bg-blue-500/[0.04]":""].join(" "),"data-onboarding":"share-workspace-section",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(r.Building2,{className:"text-muted-foreground h-4 w-4"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.workspaceHeading"})})]}),eF?(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-md border px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(r.Building2,{className:"text-muted-foreground h-4 w-4"}),(0,a.jsx)("span",{className:"text-sm",children:ez??Z("shareDialog.workspaceFallback")})]}),(0,a.jsx)(_.Button,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive h-7 text-xs",onClick:e9,disabled:eM,children:eM?(0,a.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p.X,{className:"mr-1 h-3 w-3"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.removeButton"})]})})]}):(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("p",{className:"text-muted-foreground text-xs",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.addToWorkspaceHint"})}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:J.teamA
1ccounts.map(e=>(0,a.jsxs)(_.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>e7(e.id,e.name),disabled:eM,children:[eM?(0,a.jsx)(u.Loader2,{className:"mr-1 h-3 w-3 animate-spin"}):(0,a.jsx)(r.Building2,{className:"mr-1 h-3 w-3"}),e.name??Z("shareDialog.teamFallback")]},e.id))})]})]})]}),(0,a.jsx)(S.Separator,{}),(0,a.jsxs)("div",{className:["min-w-0 space-y-3 rounded-xl px-2 py-2 transition-all duration-300",'[data-onboarding="share-link-section"]'===eG?"border border-blue-500/60 bg-blue-500/[0.04]":""].join(" "),"data-onboarding":"share-link-section",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.Link2,{className:"text-muted-foreground h-4 w-4"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.linkSharingHeading"})})]}),eo&&eh?(0,a.jsxs)("div",{className:"bg-muted/50 space-y-3 rounded-lg border p-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"bg-background min-w-0 flex-1 truncate rounded-md border px-3 py-1.5 font-mono text-xs select-all",children:e4}),(0,a.jsx)(_.Button,{variant:"outline",size:"icon",className:"h-8 w-8 shrink-0",onClick:e6,children:ex?(0,a.jsx)(i.Check,{className:"h-3.5 w-3.5"}):(0,a.jsx)(d.Copy,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.whoCanAccess"})}),(0,a.jsxs)(C.Select,{value:eo.link_visibility??"anyone",onValueChange:e=>e0(e),disabled:ev,children:[(0,a.jsx)(C.SelectTrigger,{className:"h-7 w-[160px] text-xs",children:(0,a.jsx)(C.SelectValue,{})}),(0,a.jsxs)(C.SelectContent,{children:[(0,a.jsx)(C.SelectItem,{value:"anyone",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(c.default,{className:"h-3 w-3"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.anyoneWithLink"})]})}),(0,a.jsx)(C.SelectItem,{value:"signed_in",children:(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(g.Users,{className:"h-3 w-3"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.signedInOnly"})]})})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.permissionsLabel"})}),(0,a.jsx)(q,{value:G(eo),onValueChange:e3,disabled:ev,compact:!0})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between border-t pt-2",children:[(0,a.jsxs)(_.Button,{variant:"ghost",size:"sm",className:"text-muted-foreground h-7 text-xs",onClick:e8,disabled:ev,children:[(0,a.jsx)(o.Link2,{className:"mr-1 h-3 w-3"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.newLink"})]}),(0,a.jsxs)(_.Button,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive h-7 text-xs",onClick:e5,disabled:ev,children:[(0,a.jsx)(x.Trash2,{className:"mr-1 h-3 w-3"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.removeButton"})]})]})]}):(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(_.Button,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>e0("anyone"),disabled:ev,children:[(0,a.jsx)(c.default,{className:"mr-1.5 h-3.5 w-3.5"}),(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.anyoneWithLink"})]}),(0,a.jsx)(_.Button,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>e0("signed_in"),disabled:ev,children:(0,a.jsx)(T.Trans,{i18nKey:"drawings:shareDialog.signedInOnly"})})]})]})]})]})}function q({value:e,onValueChange:s,disabled:t,compact:r}){return(0,a.jsxs)(C.Select,{value:e,onValueChange:s,disabled:t,children:[(0,a.jsx)(C.SelectTrigger,{className:r?"h-8 w-[120px] text-xs":"w-[160px]",children:(0,a.jsx)(C.SelectValue,{})}),(0,a.jsx)(C.SelectContent,{className:"w-72",children:Object.keys(H).map(e=>(0,a.jsx)(C.SelectItem,{value:e,children:(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:H[e]}),(0,a.jsx)("div",{className:"text-muted-foreground text-xs",children:M[e]})]})},e))})]})}e.s(["ShareDialog",()=>W],289130)},749458,e=>{"use strict";var a=e.i(138415),s=e.i(502916);let t=(0,e.i(612097).createChannelRefcount)(),r=new Map;function i(e){return`drawing-set:${e}`}function n(e,a){let s=i(a),t=new Set,n=e=>{if("string"==typeof e)for(let a of t)a(e)},l=e.channel(s,{config:{broadcast:{self:!1,ack:!0}}}).on("broadcast",{event:"NAME_UPDATE"},e=>{n(e.payload.name)}).on("postgres_changes",{event:"UPDATE",schema:"public",table:"drawing_set
1s",filter:`id=eq.${a}`},e=>{n(e.new.name)}),d=null,c=null,o=new Promise((e,a)=>{d=e,c=a});o.catch(()=>{});let u=setTimeout(()=>c?.(Error("drawing name channel join timed out")),1e4);return l.subscribe(e=>{if("SUBSCRIBED"===e){clearTimeout(u),d?.();return}("CHANNEL_ERROR"===e||"TIMED_OUT"===e||"CLOSED"===e)&&(clearTimeout(u),c?.(Error(`drawing name channel failed: ${e}`)))}),r.set(s,{channel:l,listeners:t,ready:o}),()=>{clearTimeout(u),r.delete(s),e.removeChannel(l)}}async function l(e,a,s){let l=i(a),d=t.acquire(l,()=>n(e,a));try{let e=r.get(l);if(!e)return;await e.ready,await e.channel.send({type:"broadcast",event:"NAME_UPDATE",payload:{name:s}})}finally{d()}}function d({versionId:e,onUpdate:t}){let r=(0,s.useSupabase)(),i=(0,a.useRef)(t);i.current=t,(0,a.useEffect)(()=>{if(!e)return;let a=r.channel(`page-settings:${e}`).on("postgres_changes",{event:"*",schema:"public",table:"drawing_page_settings",filter:`version_id=eq.${e}`},e=>{let a=e.new;a&&i.current({pageNumber:a.page_number??1,scale:a.scale,sourceVersionId:a.source_version_id??null})}).subscribe();return()=>{r.removeChannel(a)}},[e,r])}function c({drawingSetId:e,onNameUpdate:l}){let d=(0,s.useSupabase)(),c=(0,a.useRef)(l);c.current=l,(0,a.useEffect)(()=>{if(e){var a;let s,l;return a=e=>c.current(e),s=i(e),l=t.acquire(s,()=>n(d,e)),r.get(s)?.listeners.add(a),()=>{r.get(s)?.listeners.delete(a),l()}}},[e,d])}async function o(e,a,s){await l(e,a,s)}e.s(["broadcastDrawingNameUpdate",()=>o,"useRealtimeDrawingName",()=>c,"useRealtimePageSettings",()=>d],749458)}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.