graview 0.1.27 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/preview/{chunk.FS5K4AVA.js → chunk.22H4JXTH.js} +1 -1
  2. package/dist/preview/{chunk.7SVIRYBB.js → chunk.25OYH6MY.js} +1 -1
  3. package/dist/preview/{chunk.LHAAZQNQ.js → chunk.2GBQJXJH.js} +1 -1
  4. package/dist/preview/chunk.2VUG6EAN.js +1 -0
  5. package/dist/preview/chunk.337WDTG3.js +2 -0
  6. package/dist/preview/{chunk.UPGDSOBY.js → chunk.3HLLQ5CJ.js} +1 -1
  7. package/dist/preview/{chunk.UMMN5Z6V.js → chunk.46KUPBQC.js} +1 -1
  8. package/dist/preview/{chunk.4R7LDCDO.js → chunk.4H7CQE56.js} +1 -1
  9. package/dist/preview/{chunk.7THQFY52.js → chunk.4RO5DA22.js} +1 -1
  10. package/dist/preview/{chunk.TX2GOL65.js → chunk.4TUNX4WM.js} +1 -1
  11. package/dist/preview/{chunk.IXVSJJQH.js → chunk.5BGA2VUS.js} +2 -2
  12. package/dist/preview/{chunk.T2EZ5MTH.js → chunk.7S22MBNN.js} +1 -1
  13. package/dist/preview/{chunk.KAKX5TZN.js → chunk.A73BXXE4.js} +2 -2
  14. package/dist/preview/chunk.ARE3MEDN.js +1 -0
  15. package/dist/preview/chunk.ASFZTYFO.js +1 -0
  16. package/dist/preview/{chunk.S5JWZIVE.js → chunk.BBJZ6O7J.js} +1 -1
  17. package/dist/preview/{chunk.NQNQPPPM.js → chunk.BCBH6WJF.js} +1 -1
  18. package/dist/preview/{chunk.ZNIJONZN.js → chunk.CAZAB352.js} +1 -1
  19. package/dist/preview/chunk.CY7MDLRS.js +1 -0
  20. package/dist/preview/chunk.DAVRLRGB.js +1 -0
  21. package/dist/preview/{chunk.IZDKEFPJ.js → chunk.DCIC3YHX.js} +1 -1
  22. package/dist/preview/{chunk.DQ5OWYLQ.js → chunk.EW4JFOJY.js} +1 -1
  23. package/dist/preview/{chunk.5BN2ARQ2.js → chunk.EYF6ONTA.js} +1 -1
  24. package/dist/preview/{chunk.Q7544RCB.js → chunk.FP27W5MU.js} +1 -1
  25. package/dist/preview/{chunk.U5ZUXGWM.js → chunk.G2OOBROL.js} +1 -1
  26. package/dist/preview/{chunk.7CO6VP6F.js → chunk.GCKSQ52O.js} +1 -1
  27. package/dist/preview/{chunk.VD6FJ6KJ.js → chunk.GE5EAN36.js} +1 -1
  28. package/dist/preview/chunk.HOPIZMJR.js +2 -0
  29. package/dist/preview/{chunk.VMD4PDYJ.js → chunk.IBGO4BUF.js} +1 -1
  30. package/dist/preview/{chunk.OA5BVKJH.js → chunk.IDI2BQ7Y.js} +1 -1
  31. package/dist/preview/{chunk.MNPNW4BQ.js → chunk.IH42QTOM.js} +1 -1
  32. package/dist/preview/{chunk.CW7BMVBG.js → chunk.ISRS7GOT.js} +1 -1
  33. package/dist/preview/{chunk.AS35X6KA.js → chunk.J6CBMLGR.js} +1 -1
  34. package/dist/preview/{chunk.4JXWQO6Y.js → chunk.JRCV6HVV.js} +1 -1
  35. package/dist/preview/{chunk.ATLUMYAJ.js → chunk.KWW3YHQ4.js} +1 -1
  36. package/dist/preview/{chunk.VMEX2KZ4.js → chunk.MKNXV4TM.js} +7 -7
  37. package/dist/preview/{chunk.V57P4LIZ.js → chunk.MVNIKZIC.js} +1 -1
  38. package/dist/preview/{chunk.DG2WKNMX.js → chunk.N2WTNKEV.js} +1 -1
  39. package/dist/preview/{chunk.VFICMX5G.js → chunk.N7HCALRK.js} +1 -1
  40. package/dist/preview/{chunk.OYULDOQP.js → chunk.NRRUGG22.js} +1 -1
  41. package/dist/preview/{chunk.ZMMMKTAG.js → chunk.OGL4PHTY.js} +1 -1
  42. package/dist/preview/{chunk.FTBKJ5RZ.js → chunk.PFQFPJ5L.js} +1 -1
  43. package/dist/preview/{chunk.EVTZE2OZ.js → chunk.PN2H6X7O.js} +1 -1
  44. package/dist/preview/{chunk.7QTBDACG.js → chunk.PWHJHFC4.js} +1 -1
  45. package/dist/preview/{chunk.4W24TPMR.js → chunk.Q3HVA6L4.js} +1 -1
  46. package/dist/preview/{chunk.LQZ2VQWN.js → chunk.RZLNDVGN.js} +2 -2
  47. package/dist/preview/{chunk.HPD3DSTP.js → chunk.SBHVVJY7.js} +1 -1
  48. package/dist/preview/{chunk.QZWN46V6.js → chunk.SNBIZ3B6.js} +1 -1
  49. package/dist/preview/chunk.TBG2QBOS.js +1 -0
  50. package/dist/preview/chunk.VR735ZQL.js +1 -0
  51. package/dist/preview/{chunk.YO7UFBJP.js → chunk.VSXCXPK2.js} +1 -1
  52. package/dist/preview/{chunk.TMPV4HLQ.js → chunk.W3LDQ6B2.js} +1 -1
  53. package/dist/preview/{chunk.YV2RTNPU.js → chunk.WCNONCTL.js} +1 -1
  54. package/dist/preview/{chunk.XDHBV5K5.js → chunk.WHTNSETN.js} +1 -1
  55. package/dist/preview/{chunk.NKIFVPS3.js → chunk.XG67BWH6.js} +1 -1
  56. package/dist/preview/{chunk.DG2UE7PJ.js → chunk.XRM6WXPW.js} +1 -1
  57. package/dist/preview/chunk.Y5LPZLDE.js +1 -0
  58. package/dist/preview/{chunk.E3SZ7T75.js → chunk.YETBY2LM.js} +1 -1
  59. package/dist/preview/chunk.ZEUBAAVQ.js +1 -0
  60. package/dist/preview/{chunk.PHY3AH3L.js → chunk.ZJDRD6PO.js} +1 -1
  61. package/dist/preview/page.js +2 -2
  62. package/package.json +6 -6
  63. package/dist/preview/chunk.DY2FFBWF.js +0 -1
  64. package/dist/preview/chunk.GHMICJIB.js +0 -1
  65. package/dist/preview/chunk.HO6JR7VY.js +0 -1
  66. package/dist/preview/chunk.I5KD54S6.js +0 -1
  67. package/dist/preview/chunk.J36GTQTV.js +0 -1
  68. package/dist/preview/chunk.MHJJEGQO.js +0 -1
  69. package/dist/preview/chunk.OHGJ5BZ4.js +0 -2
  70. package/dist/preview/chunk.RUC4HFVC.js +0 -1
  71. package/dist/preview/chunk.SHDYLMZE.js +0 -2
  72. package/dist/preview/chunk.ZD5HGRPR.js +0 -1
  73. package/dist/preview/chunk.ZKM4P7US.js +0 -1
@@ -1 +1 @@
1
- import{a as V}from"./chunk.VFICMX5G.js";import{b as K}from"./chunk.CW7BMVBG.js";import{a as ie}from"./chunk.IZDKEFPJ.js";import{l as se,m as G}from"./chunk.XDHBV5K5.js";import{f as _,g as N,h as B}from"./chunk.6R4EI47C.js";import{a as O,d as ae}from"./chunk.6LJ66MB7.js";import{V as ee,da as M,ea as te,fa as ne,qa as oe,sa as re,za as F}from"./chunk.OYULDOQP.js";import{Bb as Z,Gb as z,W as J,X as Q}from"./chunk.VMEX2KZ4.js";import{a as $,b as T}from"./chunk.MRK6QJV5.js";import{b as k}from"./chunk.AJZBJBMO.js";var i=k($(),1);var x=k(T(),1),le=336,w=16,ue=640,I=F(O(()=>import("./chunk.UPGDSOBY.js"))),fe=I.part((t,n)=>{let s=t.SeatPanel;return(0,x.jsx)(s,{...n})},{what:"The conversation"});function xe({respond:t,onCall:n,onPick:s,start:y="field",onMove:l,place:S,onDraft:v}){let{brand:r,seatTalk:d}=M(),f=ee(d),g=r?.name?.trim()||"this app",h=(0,i.useRef)(null),o=(0,i.useRef)(null),[a,c]=(0,i.useState)(""),[m,P]=(0,i.useState)(!1),C=(0,i.useRef)(null),b=y==="hidden",p=f.open&&!b;(0,i.useEffect)(()=>b?void 0:d.drawn(),[d,b]),(0,i.useLayoutEffect)(()=>{let e=h.current?.parentElement;if(!e)return;let E=()=>P(e.getBoundingClientRect().width<ue);if(E(),typeof ResizeObserver>"u")return;let D=new ResizeObserver(E);return D.observe(e),()=>D.disconnect()},[b]),(0,i.useEffect)(()=>{typeof window<"u"&&window.dispatchEvent(new Event(ie))},[p,f.side,m]),(0,i.useEffect)(()=>{let e=h.current;if(b||p||!e||typeof window>"u")return;let E=(e.closest("[data-graview-embed]")??document.documentElement).style,D=()=>{let Y=e.getBoundingClientRect(),X=e.offsetParent?.getBoundingClientRect(),ce=X?X.bottom-Y.top:Y.height+w;E.setProperty("--graview-foot-room",`${Math.max(0,Math.round(ce+w))}px`)};D();let U=typeof ResizeObserver>"u"?null:new ResizeObserver(D);return U?.observe(e),()=>{U?.disconnect(),E.removeProperty("--graview-foot-room")}},[b,p,m,f.side]),(0,i.useEffect)(()=>{!p||f.pending===null||(j(),o.current?.focus({preventScroll:!0}))},[p,f.pending]);let j=()=>{let e=typeof document>"u"?null:document.activeElement;e instanceof HTMLElement&&e!==document.body&&!h.current?.contains(e)&&(C.current=e)},H=()=>{j(),I.prefetch(),d.setOpen(!0)},q=()=>{d.setOpen(!1);let e=C.current;C.current=null,e?.isConnected&&!(m&&e instanceof HTMLInputElement)&&e.focus({preventScroll:!0}),document.activeElement!==e&&(m?h:o).current?.focus({preventScroll:!0})};if(b)return null;let R=!m&&f.side==="right",pe=m?p?{left:0,right:0,bottom:0,padding:"8px 12px calc(12px + env(safe-area-inset-bottom, 0px))",borderRadius:"12px 12px 0 0",...de}:{left:w,right:w,bottom:`calc(${w}px + env(safe-area-inset-bottom, 0px))`}:p?{[R?"right":"left"]:w/2-1,bottom:w/2-1,width:le+w+2,padding:w/2,borderRadius:12,...de}:{[R?"right":"left"]:w,bottom:w,width:le};return(0,x.jsxs)("section",{ref:h,role:"region","aria-label":`Ask ${g}`,tabIndex:-1,"data-testid":"seat","data-graview-seat":p?"open":"closed","data-graview-seat-side":R?"right":"left","data-graview-seat-shape":m?"phone":"desk","data-graview-foot":"","data-graview-offstage":"",onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{e.key!=="Escape"||!p||(e.preventDefault(),e.stopPropagation(),q())},style:{position:"absolute",zIndex:z("rail"),boxSizing:"border-box",display:"flex",flexDirection:"column",gap:8,pointerEvents:"auto",outline:"none",...pe},children:[(0,x.jsxs)("h2",{style:{...ae,margin:0},children:["Ask ",g]}),p?(0,x.jsx)(i.Suspense,{fallback:null,children:(0,x.jsx)(fe,{phone:m,side:R?"right":"left",name:g,onClose:q,...t?{respond:t}:{},...n?{onCall:n}:{},...s?{onPick:s}:{},...l?{onMove:l}:{},...S?{place:S}:{},...v?{onDraft:v}:{}})}):null,(0,x.jsx)("form",{onSubmit:e=>{e.preventDefault();let E=a.trim();p||H(),!(!E||f.busy)&&(d.ask(E),c(""))},style:{display:"flex",margin:0},children:(0,x.jsx)("input",{ref:o,"data-testid":"seat-field",type:"text",enterKeyHint:"send",autoComplete:"off",value:a,placeholder:`Ask ${g}\u2026`,"aria-label":`Ask ${g}`,onPointerEnter:()=>I.prefetch(),onFocus:()=>I.prefetch(),onClick:()=>{p||H()},onChange:e=>{c(e.target.value),p||H()},style:{flex:"1 1 auto",minWidth:0,boxSizing:"border-box",height:38,padding:"0 12px",font:"inherit",fontSize:"max(1rem,16px)",color:"var(--graview-ink)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:8}})})]})}var de={background:"var(--graview-float)",border:"1px solid var(--graview-edge)",boxShadow:"var(--graview-lift-high)"};var W=k($(),1),L=k(T(),1),me=F(O(()=>import("./chunk.4JXWQO6Y.js"))),ge=me.part((t,n)=>{let s=t.DraftFrame;return(0,L.jsx)(s,{...n})},{what:"The view"});function Te(t){let{seatTalk:n}=M();return(0,W.useSyncExternalStore)(n.subscribe,()=>n.get().draft!==null,()=>!1)?(0,L.jsx)(W.Suspense,{fallback:null,children:(0,L.jsx)(ge,{...t})}):null}function Re(t={}){return t.scope===void 0?V:K(V,t.scope)}var A=k($(),1),u=k(T(),1);function We({inside:t=!1}={}){let{store:n,view:s,emphasis:y,setEmphasis:l}=M(),S=se(),{selection:v,set:r}=oe(),{show:d}=re(),f=ne(),g=(0,A.useMemo)(()=>{let o=new Map;for(let a of n.graph.allEdges()){let c=o.get(a.kind)??{count:0,ends:new Set};c.count+=1;for(let m of[a.from,a.to]){let P=n.graph.getNode(m);P&&c.ends.add(`kind:${P.kind}`)}o.set(a.kind,c)}return[...o.entries()].sort(([a],[c])=>a.localeCompare(c)).map(([a,c])=>({kind:a,count:c.count,ends:[...c.ends]}))},[n,f]);if((0,A.useEffect)(()=>()=>l(null),[l]),!s.overview&&!t||g.length===0)return null;let h=new Set;for(let o of v){if(o.startsWith("kind:")){h.add(o);continue}let a=n.graph.getNode(o);a&&h.add(`kind:${a.kind}`)}return(0,u.jsxs)("section",{"aria-label":"What the lines mean",role:t?"group":void 0,"data-testid":"relation-key",style:t?{display:"grid",gap:1}:{position:"absolute",left:16,top:14,zIndex:z("rail"),display:"grid",gap:1,padding:"8px 10px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-low)",maxWidth:he,animation:"graview-settle 380ms 280ms ease backwards"},children:[t?null:(0,u.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-faint)",paddingBottom:2},children:g.length===1?"1 relation":`${g.length} relations`}),g.map(({kind:o,count:a,ends:c})=>{let{connector:m,style:P}=G(S,o),C=ye(n.schema,o),b=y!==null?y===o:h.size===0||c.some(p=>h.has(p));return(0,u.jsxs)("button",{type:"button",title:n.schema.edge(o)?.description===void 0?`${a} of these`:C.words,onMouseEnter:()=>l(o),onMouseLeave:()=>l(null),onFocus:()=>l(o),onBlur:()=>l(null),onClick:()=>{r(c),d(null)},style:{all:"unset",outline:"revert-layer",cursor:"pointer",display:"grid",gridTemplateColumns:"30px 1fr auto",alignItems:"center",gap:8,minHeight:23,padding:"2px 4px",borderRadius:6,opacity:b?1:.4},children:[(0,u.jsx)("svg",{width:"30",height:"8","aria-hidden":"true",style:{display:"block",opacity:m.visible?1:.35},children:(0,u.jsx)("path",{d:"M 1 4 L 29 4",fill:"none",stroke:N(P),strokeWidth:B(P,!0),strokeDasharray:_[P.pattern],strokeLinecap:"round"})}),(0,u.jsxs)("span",{style:{display:"grid",minWidth:0},"data-graview-relation-words":o,children:[(0,u.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink)"},children:C.words}),(0,u.jsx)("span",{style:{fontSize:"0.6875rem",color:"var(--graview-ink-faint)"},children:C.ends})]}),m.visible?null:(0,u.jsx)("span",{"data-graview-quiet":o,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",fontStyle:"italic"},children:"not drawn"}),(0,u.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",fontVariantNumeric:"tabular-nums"},children:a})]},o)})]})}var he="min(280px, calc(100% - 28px))";function ye(t,n,s){let y=t.edge(n)?.from??[],l=new Map;for(let r of s!==void 0&&y.includes(s)?[s]:y.length>0?y:[""]){let d=Q(t,r,n,"out");l.set(d,[...l.get(d)??[],r])}let S=r=>r==="*"?"anything":J(t,r),v=[...l].map(([r,d])=>{let f=d.flatMap(h=>t.tryDefinition(h)?.edges[n]?.to??[]),g=d[0]&&f.length>0?`${d.map(S).join(", ")} \u2192 ${(f.includes("*")?["*"]:[...new Set(f)]).map(S).join(", ")}`:"";return[r.charAt(0).toUpperCase()+r.slice(1),g]});return{words:v.map(([r])=>r).join(" \xB7 "),ends:v.flatMap(([,r])=>r?[r]:[]).join(" \xB7 ")}}function He({edgeKind:t,kit:n,width:s=30}){let y=te(),l=(0,A.useMemo)(()=>Z(n??y?.brand?.kit),[n,y?.brand?.kit]),{connector:S,style:v}=G(l,t);return(0,u.jsx)("svg",{width:s,height:"8","aria-hidden":"true","data-testid":"relation-mark","data-graview-relation":t,style:{display:"inline-block",verticalAlign:"middle",opacity:S.visible?1:.35},children:(0,u.jsx)("path",{d:`M 1 4 L ${s-1} 4`,fill:"none",stroke:N(v),strokeWidth:B(v,!0),strokeDasharray:_[v.pattern],strokeLinecap:"round"})})}export{xe as a,Te as b,We as c,he as d,He as e,Re as f};
1
+ import{a as V}from"./chunk.N7HCALRK.js";import{b as K}from"./chunk.ISRS7GOT.js";import{a as ie}from"./chunk.DCIC3YHX.js";import{l as se,m as G}from"./chunk.WHTNSETN.js";import{f as _,g as N,h as B}from"./chunk.6R4EI47C.js";import{a as O,d as ae}from"./chunk.6LJ66MB7.js";import{V as ee,da as M,ea as te,fa as ne,qa as oe,sa as re,za as F}from"./chunk.NRRUGG22.js";import{Cb as Z,Hb as z,X as J,Y as Q}from"./chunk.MKNXV4TM.js";import{a as $,b as T}from"./chunk.MRK6QJV5.js";import{b as k}from"./chunk.AJZBJBMO.js";var i=k($(),1);var x=k(T(),1),le=336,w=16,ue=640,I=F(O(()=>import("./chunk.3HLLQ5CJ.js"))),fe=I.part((t,n)=>{let s=t.SeatPanel;return(0,x.jsx)(s,{...n})},{what:"The conversation"});function xe({respond:t,onCall:n,onPick:s,start:y="field",onMove:l,place:S,onDraft:v}){let{brand:r,seatTalk:d}=M(),f=ee(d),g=r?.name?.trim()||"this app",h=(0,i.useRef)(null),o=(0,i.useRef)(null),[a,c]=(0,i.useState)(""),[m,P]=(0,i.useState)(!1),C=(0,i.useRef)(null),b=y==="hidden",p=f.open&&!b;(0,i.useEffect)(()=>b?void 0:d.drawn(),[d,b]),(0,i.useLayoutEffect)(()=>{let e=h.current?.parentElement;if(!e)return;let E=()=>P(e.getBoundingClientRect().width<ue);if(E(),typeof ResizeObserver>"u")return;let D=new ResizeObserver(E);return D.observe(e),()=>D.disconnect()},[b]),(0,i.useEffect)(()=>{typeof window<"u"&&window.dispatchEvent(new Event(ie))},[p,f.side,m]),(0,i.useEffect)(()=>{let e=h.current;if(b||p||!e||typeof window>"u")return;let E=(e.closest("[data-graview-embed]")??document.documentElement).style,D=()=>{let Y=e.getBoundingClientRect(),X=e.offsetParent?.getBoundingClientRect(),ce=X?X.bottom-Y.top:Y.height+w;E.setProperty("--graview-foot-room",`${Math.max(0,Math.round(ce+w))}px`)};D();let U=typeof ResizeObserver>"u"?null:new ResizeObserver(D);return U?.observe(e),()=>{U?.disconnect(),E.removeProperty("--graview-foot-room")}},[b,p,m,f.side]),(0,i.useEffect)(()=>{!p||f.pending===null||(j(),o.current?.focus({preventScroll:!0}))},[p,f.pending]);let j=()=>{let e=typeof document>"u"?null:document.activeElement;e instanceof HTMLElement&&e!==document.body&&!h.current?.contains(e)&&(C.current=e)},H=()=>{j(),I.prefetch(),d.setOpen(!0)},q=()=>{d.setOpen(!1);let e=C.current;C.current=null,e?.isConnected&&!(m&&e instanceof HTMLInputElement)&&e.focus({preventScroll:!0}),document.activeElement!==e&&(m?h:o).current?.focus({preventScroll:!0})};if(b)return null;let R=!m&&f.side==="right",pe=m?p?{left:0,right:0,bottom:0,padding:"8px 12px calc(12px + env(safe-area-inset-bottom, 0px))",borderRadius:"12px 12px 0 0",...de}:{left:w,right:w,bottom:`calc(${w}px + env(safe-area-inset-bottom, 0px))`}:p?{[R?"right":"left"]:w/2-1,bottom:w/2-1,width:le+w+2,padding:w/2,borderRadius:12,...de}:{[R?"right":"left"]:w,bottom:w,width:le};return(0,x.jsxs)("section",{ref:h,role:"region","aria-label":`Ask ${g}`,tabIndex:-1,"data-testid":"seat","data-graview-seat":p?"open":"closed","data-graview-seat-side":R?"right":"left","data-graview-seat-shape":m?"phone":"desk","data-graview-foot":"","data-graview-offstage":"",onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{e.key!=="Escape"||!p||(e.preventDefault(),e.stopPropagation(),q())},style:{position:"absolute",zIndex:z("rail"),boxSizing:"border-box",display:"flex",flexDirection:"column",gap:8,pointerEvents:"auto",outline:"none",...pe},children:[(0,x.jsxs)("h2",{style:{...ae,margin:0},children:["Ask ",g]}),p?(0,x.jsx)(i.Suspense,{fallback:null,children:(0,x.jsx)(fe,{phone:m,side:R?"right":"left",name:g,onClose:q,...t?{respond:t}:{},...n?{onCall:n}:{},...s?{onPick:s}:{},...l?{onMove:l}:{},...S?{place:S}:{},...v?{onDraft:v}:{}})}):null,(0,x.jsx)("form",{onSubmit:e=>{e.preventDefault();let E=a.trim();p||H(),!(!E||f.busy)&&(d.ask(E),c(""))},style:{display:"flex",margin:0},children:(0,x.jsx)("input",{ref:o,"data-testid":"seat-field",type:"text",enterKeyHint:"send",autoComplete:"off",value:a,placeholder:`Ask ${g}\u2026`,"aria-label":`Ask ${g}`,onPointerEnter:()=>I.prefetch(),onFocus:()=>I.prefetch(),onClick:()=>{p||H()},onChange:e=>{c(e.target.value),p||H()},style:{flex:"1 1 auto",minWidth:0,boxSizing:"border-box",height:38,padding:"0 12px",font:"inherit",fontSize:"max(1rem,16px)",color:"var(--graview-ink)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:8}})})]})}var de={background:"var(--graview-float)",border:"1px solid var(--graview-edge)",boxShadow:"var(--graview-lift-high)"};var W=k($(),1),L=k(T(),1),me=F(O(()=>import("./chunk.JRCV6HVV.js"))),ge=me.part((t,n)=>{let s=t.DraftFrame;return(0,L.jsx)(s,{...n})},{what:"The view"});function Te(t){let{seatTalk:n}=M();return(0,W.useSyncExternalStore)(n.subscribe,()=>n.get().draft!==null,()=>!1)?(0,L.jsx)(W.Suspense,{fallback:null,children:(0,L.jsx)(ge,{...t})}):null}function Re(t={}){return t.scope===void 0?V:K(V,t.scope)}var A=k($(),1),u=k(T(),1);function We({inside:t=!1}={}){let{store:n,view:s,emphasis:y,setEmphasis:l}=M(),S=se(),{selection:v,set:r}=oe(),{show:d}=re(),f=ne(),g=(0,A.useMemo)(()=>{let o=new Map;for(let a of n.graph.allEdges()){let c=o.get(a.kind)??{count:0,ends:new Set};c.count+=1;for(let m of[a.from,a.to]){let P=n.graph.getNode(m);P&&c.ends.add(`kind:${P.kind}`)}o.set(a.kind,c)}return[...o.entries()].sort(([a],[c])=>a.localeCompare(c)).map(([a,c])=>({kind:a,count:c.count,ends:[...c.ends]}))},[n,f]);if((0,A.useEffect)(()=>()=>l(null),[l]),!s.overview&&!t||g.length===0)return null;let h=new Set;for(let o of v){if(o.startsWith("kind:")){h.add(o);continue}let a=n.graph.getNode(o);a&&h.add(`kind:${a.kind}`)}return(0,u.jsxs)("section",{"aria-label":"What the lines mean",role:t?"group":void 0,"data-testid":"relation-key",style:t?{display:"grid",gap:1}:{position:"absolute",left:16,top:14,zIndex:z("rail"),display:"grid",gap:1,padding:"8px 10px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-low)",maxWidth:he,animation:"graview-settle 380ms 280ms ease backwards"},children:[t?null:(0,u.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-faint)",paddingBottom:2},children:g.length===1?"1 relation":`${g.length} relations`}),g.map(({kind:o,count:a,ends:c})=>{let{connector:m,style:P}=G(S,o),C=ye(n.schema,o),b=y!==null?y===o:h.size===0||c.some(p=>h.has(p));return(0,u.jsxs)("button",{type:"button",title:n.schema.edge(o)?.description===void 0?`${a} of these`:C.words,onMouseEnter:()=>l(o),onMouseLeave:()=>l(null),onFocus:()=>l(o),onBlur:()=>l(null),onClick:()=>{r(c),d(null)},style:{all:"unset",outline:"revert-layer",cursor:"pointer",display:"grid",gridTemplateColumns:"30px 1fr auto",alignItems:"center",gap:8,minHeight:23,padding:"2px 4px",borderRadius:6,opacity:b?1:.4},children:[(0,u.jsx)("svg",{width:"30",height:"8","aria-hidden":"true",style:{display:"block",opacity:m.visible?1:.35},children:(0,u.jsx)("path",{d:"M 1 4 L 29 4",fill:"none",stroke:N(P),strokeWidth:B(P,!0),strokeDasharray:_[P.pattern],strokeLinecap:"round"})}),(0,u.jsxs)("span",{style:{display:"grid",minWidth:0},"data-graview-relation-words":o,children:[(0,u.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink)"},children:C.words}),(0,u.jsx)("span",{style:{fontSize:"0.6875rem",color:"var(--graview-ink-faint)"},children:C.ends})]}),m.visible?null:(0,u.jsx)("span",{"data-graview-quiet":o,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",fontStyle:"italic"},children:"not drawn"}),(0,u.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",fontVariantNumeric:"tabular-nums"},children:a})]},o)})]})}var he="min(280px, calc(100% - 28px))";function ye(t,n,s){let y=t.edge(n)?.from??[],l=new Map;for(let r of s!==void 0&&y.includes(s)?[s]:y.length>0?y:[""]){let d=Q(t,r,n,"out");l.set(d,[...l.get(d)??[],r])}let S=r=>r==="*"?"anything":J(t,r),v=[...l].map(([r,d])=>{let f=d.flatMap(h=>t.tryDefinition(h)?.edges[n]?.to??[]),g=d[0]&&f.length>0?`${d.map(S).join(", ")} \u2192 ${(f.includes("*")?["*"]:[...new Set(f)]).map(S).join(", ")}`:"";return[r.charAt(0).toUpperCase()+r.slice(1),g]});return{words:v.map(([r])=>r).join(" \xB7 "),ends:v.flatMap(([,r])=>r?[r]:[]).join(" \xB7 ")}}function He({edgeKind:t,kit:n,width:s=30}){let y=te(),l=(0,A.useMemo)(()=>Z(n??y?.brand?.kit),[n,y?.brand?.kit]),{connector:S,style:v}=G(l,t);return(0,u.jsx)("svg",{width:s,height:"8","aria-hidden":"true","data-testid":"relation-mark","data-graview-relation":t,style:{display:"inline-block",verticalAlign:"middle",opacity:S.visible?1:.35},children:(0,u.jsx)("path",{d:`M 1 4 L ${s-1} 4`,fill:"none",stroke:N(v),strokeWidth:B(v,!0),strokeDasharray:_[v.pattern],strokeLinecap:"round"})})}export{xe as a,Te as b,We as c,he as d,He as e,Re as f};
@@ -1 +1 @@
1
- import{a as x,b as S,c as D,g as f}from"./chunk.7THQFY52.js";import{b as h}from"./chunk.ATLUMYAJ.js";import"./chunk.FS5K4AVA.js";import"./chunk.SHDYLMZE.js";import"./chunk.DY2FFBWF.js";import"./chunk.MNPNW4BQ.js";import"./chunk.I5KD54S6.js";import"./chunk.EVTZE2OZ.js";import"./chunk.NQNQPPPM.js";import"./chunk.KAKX5TZN.js";import"./chunk.VFICMX5G.js";import"./chunk.ZMMMKTAG.js";import"./chunk.IZDKEFPJ.js";import{o as k}from"./chunk.XDHBV5K5.js";import"./chunk.WVUJXDXZ.js";import"./chunk.UMMN5Z6V.js";import"./chunk.DG2WKNMX.js";import"./chunk.HPD3DSTP.js";import"./chunk.VD6FJ6KJ.js";import"./chunk.OHGJ5BZ4.js";import"./chunk.TMPV4HLQ.js";import"./chunk.5BN2ARQ2.js";import"./chunk.4W24TPMR.js";import"./chunk.AHDOKM4O.js";import"./chunk.6R4EI47C.js";import"./chunk.LHAAZQNQ.js";import"./chunk.PHY3AH3L.js";import"./chunk.QZWN46V6.js";import"./chunk.6LJ66MB7.js";import{V as v,da as w,fa as b}from"./chunk.OYULDOQP.js";import{Gb as u,N as g}from"./chunk.VMEX2KZ4.js";import{a as V,b as y}from"./chunk.MRK6QJV5.js";import{b as p}from"./chunk.AJZBJBMO.js";var i=p(V(),1);var e=p(y(),1);function O({page:a=!1,go:C,onPick:m,onDiscard:G}){let{store:o,seatTalk:s}=w(),d=v(s),K=D(),c=C??K,{keep:N}=x(c),[T,l]=(0,i.useState)(!1);b();let t=d.draft;if((0,i.useEffect)(()=>l(!1),[t]),(0,i.useEffect)(()=>{a||S(!1)},[a]),!t)return null;let L=h(t.drawn),B=o.schema.tryDefinition(t.kind),I=o.graph.nodesOfKind(t.kind).filter(n=>g(B,n)),P=()=>{s.setDraft(null),G?.()};return(0,e.jsxs)("section",{"data-testid":"draft-frame","aria-label":`Draft: ${t.title}`,style:a?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:0,zIndex:u("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-ground, var(--graview-panel))",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...z,...a?{}:{padding:"10px 16px"}},children:[a?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:T,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{l(!0),N(t).finally(()=>l(!1))},style:f,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:P,style:f,children:"Discard"})]}),d.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:a?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:d.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,style:a?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:n=>{let r=n.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!r||!o.graph.getNode(r))return;n.preventDefault();let R=o.graph.getNode(r);m?(s.setDraft(null),m(r)):c({to:"record",id:r,kind:R.kind,label:r,address:"",said:""})},children:(0,e.jsx)(k,{kind:t.kind,view:t.title,children:(0,e.jsx)(L,{nodes:I,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var z={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{O as DraftFrame};
1
+ import{a as x,b as S,c as D,g as f}from"./chunk.4RO5DA22.js";import{b as h}from"./chunk.KWW3YHQ4.js";import"./chunk.22H4JXTH.js";import"./chunk.HOPIZMJR.js";import"./chunk.2VUG6EAN.js";import"./chunk.IH42QTOM.js";import"./chunk.TBG2QBOS.js";import"./chunk.PN2H6X7O.js";import"./chunk.BCBH6WJF.js";import"./chunk.A73BXXE4.js";import"./chunk.N7HCALRK.js";import"./chunk.OGL4PHTY.js";import"./chunk.DCIC3YHX.js";import{o as k}from"./chunk.WHTNSETN.js";import"./chunk.WVUJXDXZ.js";import"./chunk.46KUPBQC.js";import"./chunk.N2WTNKEV.js";import"./chunk.SBHVVJY7.js";import"./chunk.GE5EAN36.js";import"./chunk.337WDTG3.js";import"./chunk.W3LDQ6B2.js";import"./chunk.EYF6ONTA.js";import"./chunk.Q3HVA6L4.js";import"./chunk.AHDOKM4O.js";import"./chunk.6R4EI47C.js";import"./chunk.2GBQJXJH.js";import"./chunk.ZJDRD6PO.js";import"./chunk.SNBIZ3B6.js";import"./chunk.6LJ66MB7.js";import{V as v,da as w,fa as b}from"./chunk.NRRUGG22.js";import{Hb as u,O as g}from"./chunk.MKNXV4TM.js";import{a as V,b as y}from"./chunk.MRK6QJV5.js";import{b as p}from"./chunk.AJZBJBMO.js";var i=p(V(),1);var e=p(y(),1);function O({page:a=!1,go:C,onPick:m,onDiscard:G}){let{store:o,seatTalk:s}=w(),d=v(s),K=D(),c=C??K,{keep:N}=x(c),[T,l]=(0,i.useState)(!1);b();let t=d.draft;if((0,i.useEffect)(()=>l(!1),[t]),(0,i.useEffect)(()=>{a||S(!1)},[a]),!t)return null;let L=h(t.drawn),B=o.schema.tryDefinition(t.kind),I=o.graph.nodesOfKind(t.kind).filter(n=>g(B,n)),P=()=>{s.setDraft(null),G?.()};return(0,e.jsxs)("section",{"data-testid":"draft-frame","aria-label":`Draft: ${t.title}`,style:a?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:0,zIndex:u("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-ground, var(--graview-panel))",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...z,...a?{}:{padding:"10px 16px"}},children:[a?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:T,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{l(!0),N(t).finally(()=>l(!1))},style:f,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:P,style:f,children:"Discard"})]}),d.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:a?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:d.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,style:a?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:n=>{let r=n.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!r||!o.graph.getNode(r))return;n.preventDefault();let R=o.graph.getNode(r);m?(s.setDraft(null),m(r)):c({to:"record",id:r,kind:R.kind,label:r,address:"",said:""})},children:(0,e.jsx)(k,{kind:t.kind,view:t.title,children:(0,e.jsx)(L,{nodes:I,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var z={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{O as DraftFrame};
@@ -1,4 +1,4 @@
1
- import{b as $n,c as gt,d as On,e as ut,f as mt,g as pt}from"./chunk.FS5K4AVA.js";import{a as ft,b as Rn,c as ht}from"./chunk.SHDYLMZE.js";import{e as st,i as dt,j as ct}from"./chunk.KAKX5TZN.js";import{c as tt,d as Cn}from"./chunk.XDHBV5K5.js";import{e as nt}from"./chunk.UMMN5Z6V.js";import{a as Z,b as ue,c as Ae}from"./chunk.4W24TPMR.js";import{f as lt}from"./chunk.LHAAZQNQ.js";import{a as it,b as ot}from"./chunk.PHY3AH3L.js";import{c as rt,d as at}from"./chunk.QZWN46V6.js";import{b as Be}from"./chunk.6LJ66MB7.js";import{Z as Xn,da as Q,fa as Zn,k as _e,ra as et,sa as Ue}from"./chunk.OYULDOQP.js";import{Fb as Re,Ga as Jn,Ib as kn,N as Ne,P as pe,U as De,V as en,W as Kn,Y as xn,Z as Yn,_ as nn,jb as Qn,mb as ie,pa as Sn}from"./chunk.VMEX2KZ4.js";import{a as ze,b as J}from"./chunk.MRK6QJV5.js";import{b as G}from"./chunk.AJZBJBMO.js";var An=G(J(),1);function Ee(e,t,n){let r=e.nodes?.length??0;if(e.total===void 0||e.total<=r)return n;let a=e.nodes?.[0]?.kind,o=a?en(t,a).toLowerCase():"more";return(0,An.jsxs)("div",{style:{display:"grid",gridTemplateRows:"minmax(0, 1fr) auto",height:"100%",minHeight:0},children:[n,(0,An.jsxs)("p",{"data-testid":"lens-more",style:{margin:"4px 0 0",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["+",e.total-r," more ",o]})]})}var yt=G(J(),1),rr=(e,t)=>{if(e===!1||t===!1)return!1;let n=e===void 0||e===!0?{}:e,r=t===void 0||t===!0?{}:t;return{sort:n.sort!==!1&&r.sort!==!1,filter:n.filter!==!1&&r.filter!==!1,group:n.group!==!1&&r.group!==!1}},ar=["sort","filter","group","q"];function Ve(e,t={}){let{store:n}=Q(),{view:r,go:a}=Ue(),o=e.nodes??[],g=t.subject??(t.only?o.filter(t.only):o),y=t.subject?[]:t.only?o.filter(i=>!t.only(i)):[],c=t.kind??g[0]?.kind,v=rr(t.allow,t.lensAllows),p=ar.some(i=>r.within?.[i]!==void 0)?it(r):t.arrangedBy??{},d=c?Jn(n.schema,String(c)):void 0,m=d?rt(p,d).arrangement:{},s=at(g,v===!1?{}:m,{schema:n.schema,graph:n.graph,flagged:new Set(e.flagged??[])}),w=c&&v!==!1&&e.fidelity==="full"&&e.budget===void 0&&g.length>1?(0,yt.jsx)(lt,{schema:n.schema,graph:n.graph,kind:String(c),arrangement:m,allow:v,query:t.query!==!1,onChange:i=>a(ot(r,i)),kept:{shown:s.nodes.length,of:g.length}}):null;return{nodes:[...y,...s.nodes],arranged:s,arrangement:m,bar:w}}function Ke(e,t,n){let r=new Set((n??[]).map(o=>o.kind)),a=new Set((n??[]).map(o=>o.id));return e.allNodes().filter(o=>r.has(o.kind)?a.has(o.id):Ne(t.tryDefinition(o.kind),o))}var Me=G(ze(),1);var T=G(J(),1),ir=["slots","x","y","fill"],tn=class extends Error{constructor(n,r){super(`${n}
1
+ import{b as $n,c as gt,d as On,e as ut,f as mt,g as pt}from"./chunk.22H4JXTH.js";import{a as ft,b as Rn,c as ht}from"./chunk.HOPIZMJR.js";import{e as st,i as dt,j as ct}from"./chunk.A73BXXE4.js";import{c as tt,d as Cn}from"./chunk.WHTNSETN.js";import{e as nt}from"./chunk.46KUPBQC.js";import{a as Z,b as ue,c as Ae}from"./chunk.Q3HVA6L4.js";import{f as lt}from"./chunk.2GBQJXJH.js";import{a as it,b as ot}from"./chunk.ZJDRD6PO.js";import{c as rt,d as at}from"./chunk.SNBIZ3B6.js";import{b as Be}from"./chunk.6LJ66MB7.js";import{Z as Xn,da as Q,fa as Zn,k as _e,ra as et,sa as Ue}from"./chunk.NRRUGG22.js";import{$ as nn,Gb as Re,Ha as Jn,Jb as kn,O as Ne,Q as pe,V as De,W as en,X as Kn,Z as xn,_ as Yn,kb as Qn,nb as ie,qa as Sn}from"./chunk.MKNXV4TM.js";import{a as ze,b as J}from"./chunk.MRK6QJV5.js";import{b as G}from"./chunk.AJZBJBMO.js";var An=G(J(),1);function Ee(e,t,n){let r=e.nodes?.length??0;if(e.total===void 0||e.total<=r)return n;let a=e.nodes?.[0]?.kind,o=a?en(t,a).toLowerCase():"more";return(0,An.jsxs)("div",{style:{display:"grid",gridTemplateRows:"minmax(0, 1fr) auto",height:"100%",minHeight:0},children:[n,(0,An.jsxs)("p",{"data-testid":"lens-more",style:{margin:"4px 0 0",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["+",e.total-r," more ",o]})]})}var yt=G(J(),1),rr=(e,t)=>{if(e===!1||t===!1)return!1;let n=e===void 0||e===!0?{}:e,r=t===void 0||t===!0?{}:t;return{sort:n.sort!==!1&&r.sort!==!1,filter:n.filter!==!1&&r.filter!==!1,group:n.group!==!1&&r.group!==!1}},ar=["sort","filter","group","q"];function Ve(e,t={}){let{store:n}=Q(),{view:r,go:a}=Ue(),o=e.nodes??[],g=t.subject??(t.only?o.filter(t.only):o),y=t.subject?[]:t.only?o.filter(i=>!t.only(i)):[],c=t.kind??g[0]?.kind,v=rr(t.allow,t.lensAllows),p=ar.some(i=>r.within?.[i]!==void 0)?it(r):t.arrangedBy??{},d=c?Jn(n.schema,String(c)):void 0,m=d?rt(p,d).arrangement:{},s=at(g,v===!1?{}:m,{schema:n.schema,graph:n.graph,flagged:new Set(e.flagged??[])}),w=c&&v!==!1&&e.fidelity==="full"&&e.budget===void 0&&g.length>1?(0,yt.jsx)(lt,{schema:n.schema,graph:n.graph,kind:String(c),arrangement:m,allow:v,query:t.query!==!1,onChange:i=>a(ot(r,i)),kept:{shown:s.nodes.length,of:g.length}}):null;return{nodes:[...y,...s.nodes],arranged:s,arrangement:m,bar:w}}function Ke(e,t,n){let r=new Set((n??[]).map(o=>o.kind)),a=new Set((n??[]).map(o=>o.id));return e.allNodes().filter(o=>r.has(o.kind)?a.has(o.id):Ne(t.tryDefinition(o.kind),o))}var Me=G(ze(),1);var T=G(J(),1),ir=["slots","x","y","fill"],tn=class extends Error{constructor(n,r){super(`${n}
2
2
  ${r}`);this.hint=r;this.name="BoardBindingError"}},wt=e=>Math.max(0,Math.min(1,e));function En(e,t,n,r){let a=s=>s,o=s=>r?pe(r.tryDefinition(s.kind),s):String(a(s).label??s.id);if(r&&r.tryDefinition(n.slots)===void 0)throw new tn(`No kind is declared for "${n.slots}".`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let g=e.filter(s=>s.kind===n.slots);if(!r&&g.length===0)throw new tn(`Nothing to arrange: no "${n.slots}" nodes.`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let y=t.filter(s=>s.kind===n.fill),c=new Map(e.map(s=>[s.id,s])),v=new Map(e.map((s,w)=>[s.id,w])),l=g.map(s=>{let w=a(s),i=n.fillFrom==="occupant",x=y.filter(S=>(i?S.to:S.from)===s.id).map(S=>c.get(i?S.from:S.to)).filter(S=>S!==void 0).sort((S,$)=>(v.get(S.id)??0)-(v.get($.id)??0)).map(S=>({id:S.id,label:o(S)}));return{id:s.id,code:String(w[n.slotCode??""]??"").trim()||o(s),label:o(s),x:wt(Number(w[n.x]??.5)),y:wt(Number(w[n.y]??.5)),occupants:x}}).sort((s,w)=>s.y-w.y||s.x-w.x),p=new Set(l.flatMap(s=>s.occupants.map(w=>w.id))),d=new Set([...p].map(s=>c.get(s)?.kind).filter(s=>s!==void 0)),m=e.filter(s=>d.has(s.kind)&&!p.has(s.id)).map(s=>({id:s.id,label:o(s)})).sort((s,w)=>s.label<w.label?-1:s.label>w.label?1:0);return{slots:l,empty:l.filter(s=>s.occupants.length===0).map(s=>s.id),spare:m}}function or({nodes:e,occupants:t,label:n,fidelity:r,mode:a,options:o,schema:g,implicated:y=[],flagged:c=[]}){let{store:v}=Q(),l=Ke(v.graph,v.schema,e),p=t?[...l.filter(h=>h.kind===o.slots),...t.map(h=>v.graph.getNode(h)).filter(h=>h!==void 0)]:l,d=En(p,v.graph.allEdges(),o,g),m=new Set(y),s=new Set(c),w=et(),i=new Map;for(let h of w)for(let I of h.nodeIds)i.set(I,[...i.get(I)??[],h.message]);let x=h=>h?i.get(h)??[]:[];if(r==="glyph")return(0,T.jsx)(ue,{label:`${n??"Board"} \xB7 ${d.slots.length-d.empty.length}/${d.slots.length}`,hue:ie("board")});if(r==="summary"){let h=d.slots.filter(I=>d.empty.includes(I.id));return(0,T.jsx)(Z,{title:n??"Board",meta:`${d.slots.length-d.empty.length}/${d.slots.length}`,tone:h.length>0?"warning":"muted",fit:!0,children:h.length>0?(0,T.jsx)(Ae,{pick:!0,max:5,items:h.map(I=>({id:I.id,label:I.code}))}):(0,T.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:"Every slot filled."})})}let S=o.aspect??.68,$=(0,Me.useRef)(null),[M,R]=(0,Me.useState)(!1),[u,k]=(0,Me.useState)(null),f=160,[P,B]=(0,Me.useState)(!1);(0,Me.useEffect)(()=>{let h=$.current;if(!h||typeof ResizeObserver>"u")return;let I=new ResizeObserver(D=>{let q=D[0]?.contentRect;if(!q)return;let b=q.height<f;B(b),R(!b&&S<1&&q.width/q.height>1.3),k(b?null:q.height)});return I.observe(h),()=>I.disconnect()},[S]);let W=(h,I)=>M?{x:1-I,y:h}:{x:h,y:I},H=(()=>{let h=new Map,I=(D,q,b)=>{let C=h.get(b)??{ids:[],codes:[]};C.ids.includes(D)||(C.ids.push(D),C.codes.includes(q)||C.codes.push(q)),h.set(b,C)};for(let D of d.slots){for(let q of x(D.id))I(D.id,D.code,q);for(let q of D.occupants)for(let b of x(q.id))I(q.id,q.label,b)}return[...h.entries()].map(([D,q])=>({id:q.ids[0],code:q.codes.join(", "),text:D}))})(),j=a==="fullscreen",_=H.length===0?null:(0,T.jsxs)("ul",{"data-graview-primitive":"board-key",style:{margin:"2px 0 0",padding:0,listStyle:"none",display:"grid",gap:3,flex:"0 0 auto"},children:[H.slice(0,j?6:2).map(h=>(0,T.jsxs)("li",{"data-graview-pick":h.id,"data-graview-emphasis":m.size===0?"plain":m.has(h.id)?"lit":"dimmed",title:h.text,style:{display:j?"grid":"flex",gap:j?1:7,alignItems:j?"start":"baseline",fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)",minHeight:24,width:"fit-content",maxWidth:"100%",padding:j?"2px 0":"3px 6px",marginLeft:j?0:-6,borderRadius:7,cursor:"pointer"},children:[(0,T.jsxs)("span",{style:{flex:"0 0 auto",fontWeight:600,color:"var(--graview-warn)",letterSpacing:"0.02em"},children:["\u26A0 ",h.code]}),(0,T.jsx)("span",{style:{minWidth:0,...j?{}:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},children:h.text})]},h.id)),H.length>(j?6:2)?(0,T.jsxs)("li",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:["+",H.length-(j?6:2)," more"]}):null]}),se=o.arrange==="shelf",me=d.slots.every(h=>h.code.length<=3&&!/\s/.test(h.code)),le=(h,I)=>{let D=h.occupants.length===0,q=m.size>0&&!m.has(h.id)&&!h.occupants.some(F=>m.has(F.id)),b=s.has(h.id),C=h.occupants.some(F=>s.has(F.id)),N=b,Y=[...x(h.id),...h.occupants.flatMap(F=>x(F.id))],ce=h.occupants.length===1?h.occupants[0]:null,ye=o.pickTarget==="slot"?h.id:ce?ce.id:h.id,re=F=>ce?{}:{"data-graview-pick":F.id,"data-graview-emphasis":m.size===0?"plain":q?"dimmed":"lit"},we=F=>s.has(F.id)?"var(--graview-warn)":"var(--graview-ink-muted)",Fe=o.emptyLabel??"empty";return(0,T.jsxs)("div",{"data-graview-pick":ye,"data-graview-slot":h.id,"data-graview-mark":me?"disc":"token","data-graview-flagged":b&&C?"both":b?"slot":C?"occupant":void 0,"data-graview-emphasis":m.size===0?"plain":q?"dimmed":"lit",title:[D?`${h.label} \u2014 nobody in it`:`${h.occupants.map(F=>F.label).join(", ")} at ${h.label}`,...Y].join(`
3
3
  `),style:{...I,display:"grid",justifyItems:me?"center":"start",gap:3,opacity:q?.5:1,transition:"opacity 160ms ease"},children:[me?(0,T.jsxs)("span",{style:{position:"relative",width:34,height:34,borderRadius:999,display:"grid",placeItems:"center",fontSize:"0.75rem",letterSpacing:"0.02em",border:D?"1.5px dashed var(--graview-warn)":`1px solid ${N?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:D?"transparent":N?"var(--graview-panel-warning)":"var(--graview-panel)",color:D||N?"var(--graview-warn)":"var(--graview-ink)",boxShadow:D?void 0:"var(--graview-lift-low)"},children:[h.code,b&&!D?(0,T.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",top:-3,right:-3,fontSize:"0.6875rem",lineHeight:1,color:"var(--graview-warn)"},children:"\u26A0"}):null]}):(0,T.jsxs)("span",{style:{display:"grid",gap:1,minWidth:0,maxWidth:180,padding:"5px 10px 6px",borderRadius:8,border:D?"1.5px dashed var(--graview-warn)":`1px solid ${N?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:D?"transparent":N?"var(--graview-panel-warning)":"var(--graview-panel)",boxShadow:D?void 0:"var(--graview-lift-low)"},children:[(0,T.jsxs)("span",{style:{fontSize:"0.8125rem",fontWeight:550,lineHeight:1.25,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:D||N?"var(--graview-warn)":"var(--graview-ink)"},children:[h.code,b&&!D?" \u26A0":null]}),D?(0,T.jsx)("span",{style:{fontSize:"0.75rem",lineHeight:1.3,color:"var(--graview-warn)"},children:Fe}):(0,T.jsx)("span",{style:{display:"flex",flexWrap:"wrap",gap:"0 8px",fontSize:"0.75rem",lineHeight:1.3},children:h.occupants.map(F=>(0,T.jsxs)("span",{...re(F),style:{whiteSpace:"nowrap",color:we(F)},children:[F.label,s.has(F.id)?" \u26A0":""]},F.id))})]}),me?D?(0,T.jsx)("span",{style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:"var(--graview-warn)"},children:Fe}):h.occupants.map(F=>(0,T.jsxs)("span",{...re(F),style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:we(F)},children:[F.label,s.has(F.id)?" \u26A0":""]},F.id)):null]},h.id)},O=o.zones??[],L=O.map((h,I)=>({label:h.label,slots:d.slots.filter(D=>D.y>=h.from&&(D.y<h.to||I===O.length-1&&D.y<=h.to))})),A=new Set(L.flatMap(h=>h.slots.map(I=>I.id))),te=d.slots.filter(h=>!A.has(h.id));(te.length>0||L.length===0)&&L.push({label:"",slots:te});let he={boxSizing:"border-box",borderRadius:12,border:"1px solid var(--graview-edge)",background:"linear-gradient(var(--graview-panel-muted), var(--graview-panel-muted)), var(--graview-panel)",overflow:"hidden"};return(0,T.jsxs)(Z,{title:n??"Board",meta:d.slots.length===0?void 0:d.empty.length===0?`all ${d.slots.length} filled`:`${d.empty.length} unfilled`,...j?{style:{flex:"1 1 auto",minHeight:0,height:"100%"}}:{},children:[(0,T.jsxs)("div",{ref:$,style:{display:"flex",gap:28,alignItems:"stretch",justifyContent:"center",flex:"1 1 auto",minHeight:0},children:[j&&_?(0,T.jsxs)("div",{style:{width:260,flex:"0 0 auto",alignSelf:"center",display:"grid",gap:8},children:[(0,T.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"What is marked"}),_]}):null,se?(0,T.jsx)("div",{"data-graview-primitive":"board","data-graview-arrange":"shelf",style:{...he,overflow:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"stretch",display:"grid",alignContent:"start"},children:L.map((h,I)=>(0,T.jsxs)("section",{"data-graview-zone":h.label||void 0,style:{display:"grid",gap:8,padding:"10px 14px 14px",...I>0?{borderTop:"1px dashed var(--graview-edge)"}:{}},children:[h.label?(0,T.jsx)("span",{style:{fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:h.label}):null,h.slots.length>0?(0,T.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"10px 12px",alignItems:"flex-start"},children:h.slots.map(D=>le(D,{}))}):(0,T.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"nothing here"})]},h.label||`band-${I}`))}):(0,T.jsxs)("div",{style:{display:"flex",gap:5,alignItems:"stretch",minWidth:0,...P?{flex:"1 1 auto",alignSelf:"flex-start"}:{}},children:[!M&&O.length>0?(0,T.jsx)("div",{"aria-hidden":"true",style:{position:"relative",width:15,flex:"0 0 auto",alignSelf:"stretch"},children:O.map(h=>(0,T.jsx)("span",{title:h.label,style:{position:"absolute",top:`${h.from*100}%`,height:`${(h.to-h.from)*100}%`,right:0,writingMode:"vertical-rl",transform:"rotate(180deg)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink-faint)"},children:h.label},h.label))}):null,(0,T.jsxs)("div",{"data-graview-primitive":"board","data-graview-arrange":"exact",style:{...he,position:"relative",aspectRatio:`${M?1/S:S}`,...P?{width:"100%",height:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"flex-start"}:{height:"100%",flex:"0 1 auto",...u!==null?{width:Math.round(u*(M?1/S:S))}:{}},maxWidth:"100%"},children:[O.map(h=>(0,T.jsx)("div",{"aria-hidden":"true",style:{position:"absolute",...M?{top:0,bottom:0,left:`${(1-h.to)*100}%`,width:`${(h.to-h.from)*100}%`,borderLeft:"1px dashed var(--graview-edge)"}:{left:0,right:0,top:`${h.from*100}%`,height:`${(h.to-h.from)*100}%`,borderBottom:"1px dashed var(--graview-edge)"}}},h.label)),M?O.map(h=>(0,T.jsx)("span",{"aria-hidden":"true",title:h.label,style:{position:"absolute",bottom:3,left:`${(1-h.to)*100}%`,width:`${(h.to-h.from)*100}%`,textAlign:"center",fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink-faint)"},children:h.label},`label-${h.label}`)):null,d.slots.map(h=>le(h,{position:"absolute",left:`${W(h.x,h.y).x*100}%`,top:`${W(h.x,h.y).y*100}%`,transform:"translate(-50%, -50%)",width:"max-content",maxWidth:"100%"}))]})]}),d.spare.length>0?(0,T.jsxs)("div",{style:{display:"grid",gap:6,alignContent:"start",minWidth:0},children:[(0,T.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"Not in"}),(0,T.jsx)(Ae,{pick:!0,max:10,items:d.spare.map(h=>({...h,emphasis:m.size===0?"plain":m.has(h.id)?"lit":"dimmed"}))})]}):null]}),j?null:_]})}function vt(e){function t(n){let{store:r}=Q(),a=En(Ke(r.graph,r.schema,n.nodes),r.graph.allEdges(),e,r.schema),g=[...a.slots.flatMap(l=>l.occupants.map(p=>p.id)),...a.spare.map(l=>l.id)].map(l=>r.graph.getNode(l)).filter(l=>l!==void 0),{arranged:y,bar:c}=Ve(n,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{group:!1},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},subject:g}),v=(0,T.jsx)(or,{schema:r.schema,...n,options:e,...e.arranging===!1?{}:{occupants:y.nodes.map(l=>l.id)}});return Ee(n,r.schema,c?(0,T.jsxs)("div",{style:{display:"grid",gap:6,height:"100%",minHeight:0,gridTemplateRows:"auto 1fr"},children:[c,v]}):v)}return{name:"board",requiredRoles:[...ir],options:e,View:t,build(n,r,a){return En(n,r,e,a)}}}var un=G(ze(),1);function Mn(e){if(typeof e!="string")return null;let t=/^(\d{4}-\d{2}-\d{2})/.exec(e);return t?t[1]:null}function an(e){if(typeof e!="string")return null;let t=/^\d{4}-\d{2}-\d{2}[T ](\d{2}):(\d{2})/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}var rn=e=>Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7))-1,Number(e.slice(8,10))),on=e=>new Date(e).toISOString().slice(0,10);function Se(e,t){return on(rn(e)+t*864e5)}function Le(e,t){let n=Number(e.slice(0,4)),r=Number(e.slice(5,7))-1+t,a=Number(e.slice(8,10)),o=new Date(Date.UTC(n,r+1,0)).getUTCDate();return on(Date.UTC(n,r,Math.min(a,o)))}var ln=e=>new Date(rn(e)).getUTCDay();function We(e,t=1){let n=(ln(e)-t+7)%7;return Se(e,-n)}var Pn=e=>`${e.slice(0,7)}-01`;function oe(e,t){return Math.round((rn(t)-rn(e))/864e5)}function Ie(e,t){return Array.from({length:t},(n,r)=>Se(e,r))}var Ye=["January","February","March","April","May","June","July","August","September","October","November","December"],Tn=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ke=e=>`${Tn[ln(e)]} ${Number(e.slice(8,10))} ${Ye[Number(e.slice(5,7))-1].slice(0,3)}`,Ln=e=>`${String(Math.floor(e/60)).padStart(2,"0")}:${String(e%60).padStart(2,"0")}`;function He(e,t){let n=t?.fieldRoles?.when;return e&&!e.start&&n?{...e,start:n}:e}function bt(e,t){return t===void 0?!1:typeof t=="string"?e[t]===!0:t.is.includes(e[t.field])}var sn=["start"],lr=["day","week","month","quarter","year","agenda"];function dn(e){return e.horizon?["day","week","month","quarter","year","years","agenda"]:lr}function xt(e,t){return e==="years"?t?.title??"Years":`The ${e}`}function St(){let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}var Nn=class extends Error{constructor(n,r){super(`The calendar lens has no binding for ${r.map(a=>`"${a}"`).join(", ")} on "${n}". Bind them in the lens declaration: bindings: { ${n}: { start: "<field>" } }.`);this.kind=n;this.missing=r;this.name="CalendarBindingError"}};function Dn(e,t,n){let r=He(t[e.kind],n?.tryDefinition(e.kind));if(!r)return null;let a=e,o=n?.tryDefinition(e.kind)?.fields.shape,g=sn.filter(p=>{let d=r[p];return d?o?!(d in o):!(d in a):!0});if(g.length>0)throw new Nn(e.kind,g);let y=Mn(a[r.start]);if(y===null)return null;let c=(r.end?Mn(a[r.end]):null)??y,v=an(a[r.start]),l=r.label?a[r.label]:void 0;return{id:e.id,kind:e.kind,label:typeof l=="string"&&l.length>0?l:pe(n?.tryDefinition(e.kind),e),from:y,to:oe(y,c)<0?y:c,at:r.allDay&&a[r.allDay]===!0?null:v,allDay:r.allDay&&a[r.allDay]===!0||v===null,done:bt(a,r.done)}}function cn(e,t){return e.filter(n=>oe(n.from,t)>=0&&oe(t,n.to)>=0).sort((n,r)=>n.allDay!==r.allDay?n.allDay?-1:1:n.at!==r.at?(n.at??0)-(r.at??0):n.label.localeCompare(r.label))}function kt(e,t,n){let r=Qn(e.schema,e.allMutations()).get(t)?.get(n)??[],a=new Map(e.allMutations().map(g=>[g.name,g]));for(let g of r){let y=a.get(g),c=y?.subject;if(!y||!c)continue;let v=y.input?.shape??{};if(n in v)return{name:y.name,arg:c.arg}}let o=e.allMutations().find(g=>g.derived?.act==="edit"&&g.derived.kind===t);return o?.subject?{name:o.name,arg:o.subject.arg}:null}var Ct=(e,t)=>({from:Pn(e),to:$t(e),label:`${Ye[Number(e.slice(5,7))-1].slice(0,3)}${t?` ${e.slice(2,4)}`:""}`});function $t(e){return on(Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7)),0))}function sr(e){let t=Math.floor((Number(e.slice(5,7))-1)/3);return`${e.slice(0,4)}-${String(t*3+1).padStart(2,"0")}-01`}function Ot(e,t,n={}){let r=n.weekStartsOn??1,a=(c,v)=>({from:c,to:c,label:String(Number(c.slice(8,10))),...v?{outside:!0}:{}});if(e==="day")return{title:ke(t),grain:"day",columns:1,cells:[a(t)]};if(e==="week"){let c=We(t,r);return{title:`${ke(c)} \u2013 ${ke(Se(c,6))}`,grain:"day",columns:7,cells:Ie(c,7).map(v=>a(v))}}if(e==="agenda")return{title:`From ${ke(t)}`,grain:"day",columns:1,cells:Ie(t,42).map(c=>a(c))};if(e==="quarter"){let c=sr(t),v=$t(Le(c,2)),l=[];for(let p=We(c,r);oe(p,v)>=0;p=Se(p,7))l.push({from:p,to:Se(p,6),label:`${Number(p.slice(8,10))} ${Ye[Number(p.slice(5,7))-1].slice(0,3)}`,...oe(p,c)>0&&oe(Se(p,6),c)>0?{outside:!0}:{}});return{title:`Q${Math.floor((Number(t.slice(5,7))-1)/3)+1} ${t.slice(0,4)}`,grain:"week",columns:4,cells:l}}if(e==="year"){let c=t.slice(0,4);return{title:c,grain:"month",columns:4,cells:Array.from({length:12},(v,l)=>Ct(`${c}-${String(l+1).padStart(2,"0")}-01`,!1))}}if(e==="years"){let c=Math.max(1,n.horizon?.years??1),v=Number(t.slice(0,4)),l=Array.from({length:c},(p,d)=>String(v+d));return c>dr?{title:`${n.horizon?.title??"Years"} \xB7 ${l[0]}\u2013${l[l.length-1]}`,grain:"year",columns:5,years:l,cells:l.map(p=>({from:`${p}-01-01`,to:`${p}-12-31`,label:p}))}:{title:`${n.horizon?.title??"Years"} \xB7 ${l[0]}\u2013${l[l.length-1]}`,grain:"month",columns:4,years:l,cells:l.flatMap(p=>Array.from({length:12},(d,m)=>Ct(`${p}-${String(m+1).padStart(2,"0")}-01`,!0)))}}let o=Pn(t),g=We(o,r),y=t.slice(0,7);return{title:`${Ye[Number(t.slice(5,7))-1]} ${t.slice(0,4)}`,grain:"day",columns:7,cells:Ie(g,42).map(c=>a(c,c.slice(0,7)!==y))}}function Rt(e,t,n){return e.filter(r=>oe(r.from,n)>=0&&oe(t,r.to)>=0).sort((r,a)=>r.allDay!==a.allDay?r.allDay?-1:1:r.from!==a.from?r.from.localeCompare(a.from):r.at!==a.at?(r.at??0)-(a.at??0):r.label.localeCompare(a.label))}var dr=10;function At(e){return e==="year"?"year":e==="month"?"month":e==="week"?"week":"day"}var Et=G(ze(),1);var ee=G(J(),1);function zn({label:e,glyph:t,onPress:n}){return(0,ee.jsx)("button",{type:"button","aria-label":e,title:e,onClick:n,style:Ge,children:t})}var Ge={minHeight:24,minWidth:24,padding:"2px 9px",borderRadius:6,fontSize:"0.8125rem",borderWidth:1,borderStyle:"solid",borderColor:"transparent",color:"var(--graview-ink-muted)",background:"transparent"},Mt={day:12,week:4,month:3,year:5};function Pt({span:e,weekStartsOn:t,entries:n,today:r,perCell:a,emphasisOf:o,broken:g,hue:y,onOpen:c,onMove:v}){let l=(0,Et.useRef)(null),p=Be(l),d=p===null?e.columns:Math.max(1,Math.floor(p/44)),m=d<e.columns,s=m?d:e.columns,w=!m&&e.grain==="day"&&e.columns===7?Ie(We(e.cells[0]?.from??r,t),7):e.grain==="day"&&e.columns===1?e.cells.map(i=>i.from):null;return m&&e.grain==="day"&&e.columns>1?(0,ee.jsx)("div",{ref:l,"data-calendar-shape":"agenda",style:{display:"grid",minHeight:0,flex:1},children:(0,ee.jsx)(gn,{days:e.cells.map(i=>i.from),entries:n,today:r,emphasisOf:o,broken:g,hue:y,onMove:(i,x)=>v(i,{from:x,to:x,label:x},"day")})}):(0,ee.jsxs)("div",{ref:l,"data-calendar-shape":m?"wrapped":"grid",style:{display:"grid",gap:4,gridTemplateRows:w?"auto 1fr":"1fr",minHeight:0,flex:1},children:[w?(0,ee.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${s}, minmax(0, 1fr))`,gap:4},children:w.map(i=>(0,ee.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-muted)",textAlign:"center"},children:e.columns===7?Tn[ln(i)]:ke(i)},i))}):null,(0,ee.jsx)("div",{tabIndex:0,"aria-label":`The days of ${e.title}`,style:{display:"grid",gridTemplateColumns:`repeat(${s}, minmax(0, 1fr))`,gridAutoRows:"max-content",gap:4,minHeight:0,overflow:"auto"},children:e.cells.map((i,x)=>{let S=Rt(n,i.from,i.to),$=S.slice(0,a),M=S.slice(a),R=M.filter(k=>g.has(k.id)).length,u=oe(i.from,r)>=0&&oe(r,i.to)>=0;return(0,ee.jsxs)("div",{"data-calendar-day":e.grain==="day"?i.from:void 0,"data-calendar-cell":i.from,"data-calendar-grain":e.grain,"data-calendar-count":S.length,"data-calendar-outside":i.outside||void 0,onDragOver:k=>{k.dataTransfer.types.includes("text/graview-node")&&(k.preventDefault(),k.dataTransfer.dropEffect="move")},onDrop:k=>{let f=k.dataTransfer.getData("text/graview-node");f&&(k.preventDefault(),k.stopPropagation(),v(f,i,e.grain))},style:{minHeight:62,display:"flex",flexDirection:"column",gap:2,padding:4,borderRadius:7,border:"1px solid var(--graview-edge)",background:u?"var(--graview-panel)":"transparent",opacity:i.outside?.45:1},children:[(0,ee.jsxs)("span",{style:{display:"flex",alignItems:"baseline",gap:4},children:[(0,ee.jsx)("span",{style:{fontSize:"0.75rem",fontVariantNumeric:"tabular-nums",color:u?"var(--graview-accent)":"var(--graview-ink-faint)"},children:i.label}),e.grain!=="day"&&S.length>0?(0,ee.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",marginLeft:"auto"},children:S.length}):null]}),$.map(k=>(0,ee.jsx)(Tt,{entry:k,cell:i,rowStart:x%s===0,emphasis:o(k.id),flagged:g.has(k.id),hue:y(k)},`${k.id}:${i.from}`)),M.length>0?(0,ee.jsxs)("button",{type:"button","data-testid":`calendar-more-${i.from}`,onClick:()=>c(i),title:`Open ${i.label}`,style:{minHeight:24,padding:"1px 5px",fontSize:"0.75rem",borderRadius:5,border:"1px dashed var(--graview-edge)",background:"transparent",color:R>0?"var(--graview-warn)":"var(--graview-ink-muted)",textAlign:"left"},children:["+",M.length," more",R>0?` \xB7 ${R} flagged`:""]}):null]},i.from)})})]})}function gn({days:e,entries:t,today:n,emphasisOf:r,broken:a,hue:o,onMove:g}){let y=e.map(c=>({day:c,here:cn(t,c)})).filter(({here:c})=>c.length>0);return y.length===0?(0,ee.jsx)("p",{"data-testid":"calendar-empty",style:{margin:0,fontSize:"0.875rem",color:"var(--graview-ink-muted)"},children:"Nothing is scheduled in the next six weeks."}):(0,ee.jsx)("ol",{tabIndex:0,"aria-label":"What is scheduled",style:{margin:0,padding:0,listStyle:"none",display:"grid",alignContent:"start",gap:10,overflow:"auto",minHeight:0},children:y.map(({day:c,here:v})=>(0,ee.jsxs)("li",{"data-calendar-day":c,onDragOver:l=>{l.dataTransfer.types.includes("text/graview-node")&&(l.preventDefault(),l.dataTransfer.dropEffect="move")},onDrop:l=>{let p=l.dataTransfer.getData("text/graview-node");p&&(l.preventDefault(),l.stopPropagation(),g(p,c))},style:{display:"grid",gap:4},children:[(0,ee.jsxs)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:c===n?"var(--graview-accent)":"var(--graview-ink-muted)"},children:[ke(c),c===n?" \xB7 today":""]}),v.map(l=>(0,ee.jsx)(Tt,{entry:l,cell:{from:c,to:c,label:c},emphasis:r(l.id),flagged:a.has(l.id),hue:o(l)},`${l.id}:${c}`))]},c))})}function Tt({entry:e,cell:t,emphasis:n,flagged:r,hue:a,rowStart:o=!1}){let g=oe(t.from,e.from)>=0,y=oe(e.to,t.to)>=0,c=!(g&&y),v=e.at!==null&&g&&e.from===t.from?`${Ln(e.at)} ${e.label}`:e.label;return(0,ee.jsx)("span",{"data-graview-pick":e.id,"data-calendar-entry":e.id,draggable:!0,onDragStart:l=>{l.dataTransfer.setData("text/graview-node",e.id),l.dataTransfer.effectAllowed="move"},"data-graview-emphasis":n,"data-calendar-part":c?g?"opens":y?"closes":"through":void 0,"data-calendar-in":t.from,title:c?`${e.label} \xB7 ${e.from} \u2013 ${e.to}`:`${e.label}${e.at===null?" \xB7 all day":` \xB7 ${Ln(e.at)}`}`,style:{display:"block",minHeight:24,boxSizing:"border-box",padding:"3px 6px",fontSize:"0.75rem",lineHeight:1.35,borderRadius:c?g?"5px 0 0 5px":y?"0 5px 5px 0":0:5,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textDecoration:e.done?"line-through":"none",opacity:n==="dimmed"?.35:e.done?.6:1,background:`color-mix(in oklab, hsl(${Math.round(a)} 70% 55%) ${n==="lit"?38:20}%, transparent)`,color:"var(--graview-ink)",...n==="lit"?{outline:"1px solid var(--graview-accent)"}:{},...r?{borderLeft:"3px solid var(--graview-warn)",paddingLeft:4}:{}},children:g||o?v:" "})}var U=G(J(),1);function Lt(e){let t=n=>function(a){let{store:o}=Q(),{view:g}=Ue(),y=n?{...e,range:n}:e,c=g.within?.range??y.range??"month",v=Object.keys(e.bindings),{nodes:l,arranged:p,arrangement:d,bar:m}=Ve(a,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{sort:!1,group:c==="agenda"},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},...v[0]?{kind:(a.nodes??[]).find(S=>v.includes(String(S.kind)))?.kind??v[0]}:{}}),s=c==="agenda"&&p.grouped&&d.group?p.groups.map(S=>({label:S.label,ids:new Set(S.nodes.map($=>$.id))})):void 0,w=new Set((a.nodes??[]).map(S=>String(S.kind))),i=v.filter(S=>!w.has(S)&&o.schema.tryDefinition(S)!==void 0).flatMap(S=>{let $=o.schema.tryDefinition(S);return o.graph.nodesOfKind(S).filter(M=>g.past===!0||Ne($,M))}),x=i.length===0?l:[...l,...a.budget!==void 0?i.slice(0,a.budget):i];return Ee(a,o.schema,(0,U.jsx)(cr,{schema:o.schema,...a,nodes:x,options:{...y,today:y.today??o.today()??St()},...m?{bar:m}:{},...s?{groups:s}:{}}))};return{name:"calendar",requiredRoles:[...sn],bindings:e.bindings,options:e,View:t(),at:n=>t(n),ranges:()=>dn(e).map(n=>({range:n,title:xt(n,e.horizon)})),place:(n,r)=>n.map(a=>Dn(a,e.bindings,r)).filter(a=>a!==null)}}function cr({nodes:e,label:t,fidelity:n,mode:r,options:a,schema:o,selectedIds:g=[],implicated:y=[],flagged:c=[],bar:v,groups:l}){let{view:p,go:d}=Ue(),{store:m,principal:s}=Q(),w=p.within?.at??a.today,i=p.within?.range??a.range??"month",x=a.weekStartsOn??1,S=new Set([...y,...g]),$=O=>S.size===0?"plain":S.has(O)?"lit":"dimmed",M=new Set(c),R=(e??[]).map(O=>Dn(O,a.bindings,o)).filter(O=>O!==null),u=a.hueOf??(O=>ie(O.kind));if(n==="glyph")return(0,U.jsx)(ue,{label:`${t??"Calendar"} \xB7 ${R.length}`,hue:ie("calendar")});if(n==="summary"){let O=cn(R,a.today);return(0,U.jsx)(Z,{title:t??"Calendar",meta:`${R.length} dated`,tone:"muted",children:(0,U.jsx)(Ae,{max:6,items:O.length>0?O.map(L=>({id:L.id,label:L.label,hue:u(L)})):R.filter(L=>oe(a.today,L.from)>=0).sort((L,A)=>L.from.localeCompare(A.from)).slice(0,6).map(L=>({id:L.id,label:`${L.from.slice(5)} ${L.label}`,hue:u(L)}))})})}let k=r==="fullscreen",f=Ot(i,w,{weekStartsOn:x,...a.horizon?{horizon:a.horizon}:{}}),[P,B]=(0,un.useState)(null),W=(O,L,A)=>{let te=m.graph.getNode(O);if(!te)return;let he=He(a.bindings[te.kind],m.schema.tryDefinition(te.kind));if(!he)return;let h=kt(m,te.kind,he.start);if(!h){B({text:`Nothing declared writes the ${xn(m.schema.definitions.find(Y=>Y.kind===te.kind),he.start).toLowerCase()}, so this cannot be moved from here.`,tone:"refused"});return}let I=L.from,D=te[he.start],b=an(D)===null?I:`${I}${String(D).slice(10)}`,C={name:h.name,args:{[h.arg]:O,[he.start]:b}},N=m.permits(C,s);if(!N.ok){B({text:N.refusal.message,tone:"refused"});return}try{m.apply(C,{author:s}),B(A==="day"?null:{text:`Moved to ${ke(I)} \u2014 a ${A} is coarser than the ${xn(m.schema.definitions.find(Y=>Y.kind===te.kind),he.start).toLowerCase()} holds, so it takes the first day of the cell. Undo puts it back.`,tone:"rounded"})}catch(Y){B({text:Y instanceof Error?Y.message:String(Y),tone:"refused"})}},H=O=>{let L=i==="years"?Le(w,O*12*Math.max(1,a.horizon?.years??1)):i==="year"?Le(w,O*12):i==="quarter"?Le(w,O*3):i==="month"?Le(w,O):i==="week"?Se(w,O*7):Se(w,O);d(_e(p,"at",L))},j=(O,L)=>{let A=_e(p,"range",O);L!==void 0&&(A=_e(A,"at",L)),d(A)},_=(0,un.useRef)(null),se=Be(_),me=se!==null&&se<420,le=O=>O==="years"?a.horizon?.title??"years":O.charAt(0).toUpperCase()+O.slice(1);return(0,U.jsx)(Z,{title:t??"Calendar",meta:f.title,style:{gap:10,...k?{flex:"1 1 auto",minHeight:0,height:"100%"}:{}},children:(0,U.jsxs)("div",{ref:_,"data-testid":"calendar","data-calendar-range":i,"data-calendar-at":w,style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,gap:8},children:[(0,U.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:6},children:[(0,U.jsxs)("nav",{"aria-label":"When",style:{display:"flex",gap:4},children:[(0,U.jsx)(zn,{label:"Previous",glyph:"\u2039",onPress:()=>H(-1)}),(0,U.jsx)("button",{type:"button","data-testid":"calendar-today",onClick:()=>d(_e(p,"at",a.today)),style:Ge,children:"Today"}),(0,U.jsx)(zn,{label:"Next",glyph:"\u203A",onPress:()=>H(1)})]}),me?(0,U.jsx)("select",{"aria-label":"Range","data-testid":"calendar-ranges",value:i,onChange:O=>j(O.target.value),style:{...Ge,borderRadius:999,borderColor:"var(--graview-edge)",background:void 0,backgroundColor:"transparent",marginLeft:"auto",maxWidth:"50%",paddingRight:24,appearance:"none",WebkitAppearance:"none",backgroundImage:"linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%)",backgroundPosition:"calc(100% - 13px) 55%, calc(100% - 9px) 55%",backgroundSize:"4px 4px, 4px 4px",backgroundRepeat:"no-repeat"},children:dn(a).map(O=>(0,U.jsx)("option",{value:O,children:le(O)},O))}):(0,U.jsx)("div",{role:"group","aria-label":"Range","data-testid":"calendar-ranges",style:{display:"flex",flexWrap:"wrap",gap:4,marginLeft:"auto"},children:dn(a).map(O=>(0,U.jsx)("button",{type:"button","aria-pressed":O===i,"data-testid":`calendar-range-${O}`,onClick:()=>j(O),style:{...Ge,borderRadius:999,borderColor:"var(--graview-edge)",...O==="years"?{}:{textTransform:"capitalize"},...O===i?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)",background:"var(--graview-panel)"}:{}},children:O==="years"?a.horizon?.title??"years":O},O))})]}),P?(0,U.jsx)("p",{"data-testid":P.tone==="refused"?"calendar-refused":"calendar-rounded",role:"status",style:{margin:0,fontSize:"0.8125rem",color:P.tone==="refused"?"var(--graview-warn)":"var(--graview-ink-muted)"},children:P.text}):null,f.years?(0,U.jsx)("nav",{"aria-label":"Years","data-testid":"calendar-years",style:{display:"flex",flexWrap:"wrap",gap:4},children:f.years.map(O=>(0,U.jsx)("button",{type:"button","data-testid":`calendar-year-${O}`,onClick:()=>j("year",`${O}-01-01`),style:Ge,children:O},O))}):null,v,i==="agenda"&&l?(0,U.jsx)("div",{"data-testid":"calendar-groups",style:{display:"grid",gap:10,minHeight:0,overflow:"auto"},children:l.map(O=>(0,U.jsxs)("section",{"data-testid":"calendar-group",style:{display:"grid",gap:4},children:[(0,U.jsxs)("h3",{style:{margin:0,fontSize:"0.8125rem",letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--graview-ink-muted)"},children:[O.label," ",(0,U.jsx)("span",{style:{fontWeight:400},children:O.ids.size})]}),(0,U.jsx)(gn,{days:f.cells.map(L=>L.from),entries:R.filter(L=>O.ids.has(L.id)),today:a.today,emphasisOf:$,broken:M,hue:u,onMove:(L,A)=>W(L,{from:A,to:A,label:A},"day")})]},O.label))}):i==="agenda"?(0,U.jsx)(gn,{days:f.cells.map(O=>O.from),entries:R,today:a.today,emphasisOf:$,broken:M,hue:u,onMove:(O,L)=>W(O,{from:L,to:L,label:L},"day")}):(0,U.jsx)(Pt,{span:f,weekStartsOn:x,entries:R,today:a.today,perCell:a.perCell??Mt[f.grain],emphasisOf:$,broken:M,hue:u,onOpen:O=>j(At(f.grain),O.from),onMove:W})]})})}var fe=G(ze(),1);var V=G(J(),1),gr=`
4
4
  .graview-columns { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }