graview 0.1.55 → 0.1.57

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 (192) hide show
  1. package/dist/preview/{chunk.XSMXSNDR.js → chunk.2PWVDUOU.js} +1 -1
  2. package/dist/preview/{chunk.AFK5HHLL.js → chunk.33PZEW5A.js} +1 -1
  3. package/dist/preview/{chunk.SUGOENC4.js → chunk.3DPTDMJ7.js} +1 -1
  4. package/dist/preview/chunk.47T3KUAA.js +1 -0
  5. package/dist/preview/{chunk.XUHY4XO2.js → chunk.4BRM5SGO.js} +1 -1
  6. package/dist/preview/{chunk.4TLWZVVG.js → chunk.4HFCOMR3.js} +1 -1
  7. package/dist/preview/{chunk.5MCXTY2P.js → chunk.4HPP35XQ.js} +1 -1
  8. package/dist/preview/chunk.4JDHBNEA.js +104 -0
  9. package/dist/preview/{chunk.QWICAV2C.js → chunk.4K6VAC2S.js} +2 -2
  10. package/dist/preview/{chunk.ZXOD5GM3.js → chunk.4L4F47QP.js} +1 -1
  11. package/dist/preview/{chunk.SIABGHF2.js → chunk.4NPXMYA5.js} +1 -1
  12. package/dist/preview/{chunk.354A4QCG.js → chunk.4OP4IEEY.js} +1 -1
  13. package/dist/preview/chunk.4SBYXHCQ.js +1 -0
  14. package/dist/preview/{chunk.LYVRXRIH.js → chunk.4UQBMFJZ.js} +1 -1
  15. package/dist/preview/{chunk.7WEQHJ3N.js → chunk.4W5GCPAP.js} +1 -1
  16. package/dist/preview/{chunk.TT6GKRBE.js → chunk.4XKRCAJZ.js} +1 -1
  17. package/dist/preview/{chunk.HXHFWZ2U.js → chunk.534TBZJ3.js} +2 -2
  18. package/dist/preview/{chunk.JRRVLGEK.js → chunk.53U6E5LD.js} +1 -1
  19. package/dist/preview/{chunk.HXR7EEXR.js → chunk.547FQPYG.js} +1 -1
  20. package/dist/preview/{chunk.O752PM42.js → chunk.57BKS5KD.js} +1 -1
  21. package/dist/preview/chunk.57KRCHQT.js +1 -0
  22. package/dist/preview/{chunk.KVQZ5FR6.js → chunk.5BPRGXIW.js} +1 -1
  23. package/dist/preview/{chunk.TAQB64FZ.js → chunk.5GTOF5D5.js} +1 -1
  24. package/dist/preview/{chunk.KY7QD22S.js → chunk.5IEFTFKQ.js} +1 -1
  25. package/dist/preview/chunk.5NZDFT6R.js +1 -0
  26. package/dist/preview/{chunk.AFEEXRN3.js → chunk.66LWZIY5.js} +1 -1
  27. package/dist/preview/{chunk.USJ4J3GL.js → chunk.6AH26OL7.js} +2 -2
  28. package/dist/preview/{chunk.PIQ52FCI.js → chunk.6SD7YZ4U.js} +2 -2
  29. package/dist/preview/{chunk.AVVNQKA7.js → chunk.72IHABM5.js} +1 -1
  30. package/dist/preview/chunk.7INWDFNG.js +1 -0
  31. package/dist/preview/{chunk.FUZWXKTN.js → chunk.7IXTNST2.js} +1 -1
  32. package/dist/preview/{chunk.6UAUME5U.js → chunk.7ML2BWSP.js} +1 -1
  33. package/dist/preview/chunk.7UBABS2T.js +1 -0
  34. package/dist/preview/{chunk.CM2ETM2A.js → chunk.7VIFAN3O.js} +1 -1
  35. package/dist/preview/chunk.7VZA34T4.js +1 -0
  36. package/dist/preview/{chunk.EJXUOL2C.js → chunk.AD3EC5DU.js} +1 -1
  37. package/dist/preview/{chunk.BRCKXL7B.js → chunk.BCE6LIDR.js} +1 -1
  38. package/dist/preview/chunk.BPEUHOKH.js +1 -0
  39. package/dist/preview/{chunk.KHJ2MCMS.js → chunk.BUSFJM6P.js} +1 -1
  40. package/dist/preview/{chunk.2HANQ737.js → chunk.BZEJM2PY.js} +1 -1
  41. package/dist/preview/{chunk.YGZGMRDC.js → chunk.C5EFUODO.js} +1 -1
  42. package/dist/preview/{chunk.ATXSLBE3.js → chunk.C7EJPV2N.js} +1 -1
  43. package/dist/preview/chunk.CMLNBJZG.js +3 -0
  44. package/dist/preview/{chunk.NXM73RZA.js → chunk.CUKRUQQ2.js} +1 -1
  45. package/dist/preview/chunk.CXB4BSI4.js +1 -0
  46. package/dist/preview/{chunk.5EOSEVZB.js → chunk.D3LQJXVP.js} +1 -1
  47. package/dist/preview/{chunk.YOBRVKJT.js → chunk.D4EP7FEC.js} +1 -1
  48. package/dist/preview/{chunk.WSMYFEGU.js → chunk.DBMZ3AQB.js} +1 -1
  49. package/dist/preview/chunk.DIFR37EZ.js +5 -0
  50. package/dist/preview/chunk.DJ4A76SX.js +1 -0
  51. package/dist/preview/{chunk.O7RMVGAB.js → chunk.DM5X3JBH.js} +1 -1
  52. package/dist/preview/chunk.DQUISKTC.js +1 -0
  53. package/dist/preview/chunk.DSLGMCB6.js +1 -0
  54. package/dist/preview/chunk.DSWMXM57.js +1 -0
  55. package/dist/preview/{chunk.DB3HOKZD.js → chunk.DWLKJGVT.js} +1 -1
  56. package/dist/preview/{chunk.2KH2LWZL.js → chunk.EQAAKYLA.js} +1 -1
  57. package/dist/preview/{chunk.4OMSQFIY.js → chunk.EXZLG3HK.js} +1 -1
  58. package/dist/preview/{chunk.QJ42D5GM.js → chunk.EZ4NUZWX.js} +1 -1
  59. package/dist/preview/{chunk.WUFCRE7O.js → chunk.EZ4TZUMM.js} +1 -1
  60. package/dist/preview/chunk.FJTWAU7N.js +1 -0
  61. package/dist/preview/{chunk.WVKXELAF.js → chunk.FLMNWVSY.js} +2 -2
  62. package/dist/preview/{chunk.K5WPS4RR.js → chunk.FLVE6IBM.js} +1 -1
  63. package/dist/preview/chunk.FPGU43SC.js +1 -0
  64. package/dist/preview/{chunk.5DPFAVCZ.js → chunk.FRERJWZJ.js} +1 -1
  65. package/dist/preview/{chunk.OT6EWYK2.js → chunk.G3BDQ6EA.js} +1 -1
  66. package/dist/preview/chunk.GBAUQXXD.js +1 -0
  67. package/dist/preview/{chunk.5SANELJT.js → chunk.H5CRRBNU.js} +1 -1
  68. package/dist/preview/{chunk.7Y6NK5CT.js → chunk.HFSG3F5Z.js} +1 -1
  69. package/dist/preview/chunk.I2NI7CT7.js +1 -0
  70. package/dist/preview/{chunk.ZAHVKXYQ.js → chunk.I5PSHASU.js} +1 -1
  71. package/dist/preview/{chunk.TDV7JGIQ.js → chunk.I636CZE4.js} +1 -1
  72. package/dist/preview/chunk.I6H3HRWT.js +1 -0
  73. package/dist/preview/{chunk.62LPYPP3.js → chunk.IRQOJATD.js} +1 -1
  74. package/dist/preview/chunk.IV7AUO53.js +1 -0
  75. package/dist/preview/{chunk.RZQKCLTW.js → chunk.IX63LTRQ.js} +1 -1
  76. package/dist/preview/{chunk.IXHLP2CL.js → chunk.JBSW7ZNH.js} +1 -1
  77. package/dist/preview/chunk.JD5HSAMC.js +18 -0
  78. package/dist/preview/{chunk.ZOW7AC7U.js → chunk.JETT6ELP.js} +1 -1
  79. package/dist/preview/{chunk.LQCH2NFE.js → chunk.JNNBHD4Z.js} +1 -1
  80. package/dist/preview/{chunk.LMXNHBGH.js → chunk.JQFIZRAZ.js} +2 -2
  81. package/dist/preview/chunk.KNYLY7MH.js +1 -0
  82. package/dist/preview/chunk.KO7IOFNY.js +1 -0
  83. package/dist/preview/{chunk.EGSE6NNE.js → chunk.KPIDJYIU.js} +1 -1
  84. package/dist/preview/{chunk.YRFN4VDD.js → chunk.KTV24HY7.js} +1 -1
  85. package/dist/preview/{chunk.6JYNNPAI.js → chunk.KYOI7BG3.js} +1 -1
  86. package/dist/preview/{chunk.PHLMQO7V.js → chunk.LE2KAR25.js} +1 -1
  87. package/dist/preview/{chunk.UE5GAP67.js → chunk.LHIT3EZD.js} +2 -2
  88. package/dist/preview/{chunk.DBCVZGCC.js → chunk.LKJ6FD6Y.js} +1 -1
  89. package/dist/preview/chunk.LUIRQ5UF.js +2 -0
  90. package/dist/preview/chunk.LWRXCO2Z.js +1 -0
  91. package/dist/preview/{chunk.YYWANGIC.js → chunk.M72JKVHP.js} +4 -4
  92. package/dist/preview/{chunk.6NQQUIBX.js → chunk.MAZFQIL5.js} +1 -1
  93. package/dist/preview/{chunk.CPNE6HPQ.js → chunk.MBLFZF5R.js} +1 -1
  94. package/dist/preview/{chunk.PSLCI3GO.js → chunk.MRHPOUA4.js} +1 -1
  95. package/dist/preview/{chunk.PIHCXN5U.js → chunk.MWWOI5PW.js} +1 -1
  96. package/dist/preview/{chunk.35O5H5L7.js → chunk.N2DM42SG.js} +2 -2
  97. package/dist/preview/chunk.N33WUCAN.js +3 -0
  98. package/dist/preview/{chunk.PCKX2FHR.js → chunk.N5MQARN6.js} +1 -1
  99. package/dist/preview/{chunk.G5XTASMO.js → chunk.NF72Z2HG.js} +1 -1
  100. package/dist/preview/{chunk.RNYLNBIB.js → chunk.NGK6IRV3.js} +1 -1
  101. package/dist/preview/chunk.NL3AJZ3N.js +1 -0
  102. package/dist/preview/chunk.NUS5K56R.js +21 -0
  103. package/dist/preview/{chunk.XTP5DGPJ.js → chunk.NX7CR4AE.js} +1 -1
  104. package/dist/preview/chunk.NZDWXX6H.js +1 -0
  105. package/dist/preview/{chunk.5L4J2XAI.js → chunk.O47MN7E5.js} +1 -1
  106. package/dist/preview/chunk.OYUDK3LK.js +1 -0
  107. package/dist/preview/chunk.PF5P5YVD.js +1 -0
  108. package/dist/preview/{chunk.V6X3U3JF.js → chunk.PHC2MI4C.js} +1 -1
  109. package/dist/preview/{chunk.U5AX4DD5.js → chunk.PQMMISCQ.js} +1 -1
  110. package/dist/preview/{chunk.TUBAFVV4.js → chunk.Q6OZLBNL.js} +1 -1
  111. package/dist/preview/{chunk.ZPXAKRKG.js → chunk.QMYHXMRV.js} +1 -1
  112. package/dist/preview/chunk.QPL3OXW3.js +1 -0
  113. package/dist/preview/{chunk.V5PAFSWP.js → chunk.QS6YW7UY.js} +1 -1
  114. package/dist/preview/chunk.QUJS63OJ.js +13 -0
  115. package/dist/preview/{chunk.EKP3HQAX.js → chunk.RALAID6N.js} +1 -1
  116. package/dist/preview/chunk.RQX4CQJN.js +1 -0
  117. package/dist/preview/{chunk.PM64C5PX.js → chunk.RVR6FWAF.js} +1 -1
  118. package/dist/preview/{chunk.MFCBAQS3.js → chunk.S5ECRIG5.js} +1 -1
  119. package/dist/preview/{chunk.DNJM6WQO.js → chunk.SAJLIA5M.js} +1 -1
  120. package/dist/preview/{chunk.RPVJ5IXD.js → chunk.TBRXNU6T.js} +1 -1
  121. package/dist/preview/{chunk.Y3BEKXYB.js → chunk.TVURUMU4.js} +1 -1
  122. package/dist/preview/chunk.UBNZDSS7.js +1 -0
  123. package/dist/preview/chunk.UDCDK7XJ.js +4 -0
  124. package/dist/preview/{chunk.6ZJE5M2A.js → chunk.UGOKORIF.js} +1 -1
  125. package/dist/preview/{chunk.NDLQXQV2.js → chunk.UV3U4FRT.js} +1 -1
  126. package/dist/preview/{chunk.QBMIET7P.js → chunk.UWQ3I5OW.js} +1 -1
  127. package/dist/preview/chunk.V6FUYRZI.js +1 -0
  128. package/dist/preview/{chunk.2SWQI4HF.js → chunk.VDS3IOTK.js} +1 -1
  129. package/dist/preview/chunk.VHPGGC2P.js +1 -0
  130. package/dist/preview/chunk.VSGTNYM2.js +1 -0
  131. package/dist/preview/{chunk.FUS2FJS3.js → chunk.VW4JAQCH.js} +1 -1
  132. package/dist/preview/{chunk.OS5EALHY.js → chunk.WASWMHND.js} +1 -1
  133. package/dist/preview/chunk.WYPL2QUA.js +1 -0
  134. package/dist/preview/{chunk.MFOSEOF4.js → chunk.XTBS64IT.js} +1 -1
  135. package/dist/preview/chunk.XVN3CQKH.js +2 -0
  136. package/dist/preview/{chunk.27ZSRO3O.js → chunk.Y3EOGXRS.js} +1 -1
  137. package/dist/preview/chunk.Y4KNR76Z.js +1 -0
  138. package/dist/preview/chunk.YDTXCVBU.js +1 -0
  139. package/dist/preview/{chunk.DH4AC7TC.js → chunk.YPP7FSEZ.js} +1 -1
  140. package/dist/preview/{chunk.FTW3K3G6.js → chunk.YQXA4WAM.js} +2 -2
  141. package/dist/preview/{chunk.4BFJWNVM.js → chunk.YR75TWDV.js} +1 -1
  142. package/dist/preview/{chunk.QIAH7HHO.js → chunk.YS5U3DUX.js} +1 -1
  143. package/dist/preview/chunk.Z5UVYOGC.js +1 -0
  144. package/dist/preview/{chunk.P4ZZSFOQ.js → chunk.ZNXRHOUI.js} +1 -1
  145. package/dist/preview/index.html +50 -50
  146. package/dist/preview/page.js +2 -2
  147. package/package.json +6 -6
  148. package/dist/preview/chunk.2ORJGMRT.js +0 -104
  149. package/dist/preview/chunk.3IZOXNJH.js +0 -1
  150. package/dist/preview/chunk.5D6SIBOK.js +0 -1
  151. package/dist/preview/chunk.5EZDXWOE.js +0 -1
  152. package/dist/preview/chunk.5MSNKSTE.js +0 -1
  153. package/dist/preview/chunk.5XUVCM7X.js +0 -1
  154. package/dist/preview/chunk.6NGSR2ZQ.js +0 -1
  155. package/dist/preview/chunk.7KERB5CH.js +0 -1
  156. package/dist/preview/chunk.AVNOLMCV.js +0 -1
  157. package/dist/preview/chunk.AZ6Q3WT2.js +0 -1
  158. package/dist/preview/chunk.DKJK2MMV.js +0 -2
  159. package/dist/preview/chunk.DU75P3Y7.js +0 -1
  160. package/dist/preview/chunk.DVG47BK3.js +0 -1
  161. package/dist/preview/chunk.DXJFAAOI.js +0 -1
  162. package/dist/preview/chunk.F5RN6YXG.js +0 -4
  163. package/dist/preview/chunk.FVOFTM5J.js +0 -1
  164. package/dist/preview/chunk.G2XDQPE4.js +0 -1
  165. package/dist/preview/chunk.H536YUAZ.js +0 -3
  166. package/dist/preview/chunk.HNJFBI7J.js +0 -1
  167. package/dist/preview/chunk.HUABTCQE.js +0 -1
  168. package/dist/preview/chunk.INBHY3SA.js +0 -1
  169. package/dist/preview/chunk.KIMIPHAI.js +0 -1
  170. package/dist/preview/chunk.KXNWZ33P.js +0 -1
  171. package/dist/preview/chunk.LEPKPNPA.js +0 -1
  172. package/dist/preview/chunk.LLXEWLIP.js +0 -1
  173. package/dist/preview/chunk.LWLI5PI4.js +0 -1
  174. package/dist/preview/chunk.MIQMPOWF.js +0 -2
  175. package/dist/preview/chunk.MNSKBGRM.js +0 -1
  176. package/dist/preview/chunk.MSM6E6JK.js +0 -1
  177. package/dist/preview/chunk.NS6KWKF5.js +0 -1
  178. package/dist/preview/chunk.OIMYSR2J.js +0 -1
  179. package/dist/preview/chunk.OL2N5NUV.js +0 -1
  180. package/dist/preview/chunk.QQ3YWKWU.js +0 -1
  181. package/dist/preview/chunk.R3ZS4QO6.js +0 -18
  182. package/dist/preview/chunk.SG67ID6C.js +0 -1
  183. package/dist/preview/chunk.SYX7AEHU.js +0 -1
  184. package/dist/preview/chunk.T66UK7PQ.js +0 -3
  185. package/dist/preview/chunk.TEE23CVQ.js +0 -1
  186. package/dist/preview/chunk.TZTRGNAA.js +0 -1
  187. package/dist/preview/chunk.UADL2LHO.js +0 -1
  188. package/dist/preview/chunk.URDCHVH3.js +0 -21
  189. package/dist/preview/chunk.WR63RQGU.js +0 -5
  190. package/dist/preview/chunk.XE72DFBV.js +0 -13
  191. package/dist/preview/chunk.XEHLSKHP.js +0 -1
  192. package/dist/preview/chunk.YG2WZO53.js +0 -1
@@ -1,4 +1,4 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as jt,b as qt,c as Ft,d as Gn}from"./chunk.WVKXELAF.js";import{a as Gt}from"./chunk.ZOW7AC7U.js";import{a as Hn,b as Dt,c as Vn,d as zt,e as Bt,f as It}from"./chunk.PIQ52FCI.js";import{c as _t,g as Kt,h as Ut,i as Yt}from"./chunk.INBHY3SA.js";import{e as Lt}from"./chunk.Y3BEKXYB.js";import{m as Nt}from"./chunk.NDLQXQV2.js";import{a as Pt,b as Tt}from"./chunk.WUFCRE7O.js";import{f as Et,h as Mt}from"./chunk.XEHLSKHP.js";import{e as At}from"./chunk.MSM6E6JK.js";import{a as Wt,b as tn,c as Ht,d as Vt}from"./chunk.DKJK2MMV.js";import{b as Ct,c as pe,d as ke,e as ze}from"./chunk.DNJM6WQO.js";import{e as $t,l as Ot}from"./chunk.HUABTCQE.js";import{l as Rt,m as Wn}from"./chunk.OL2N5NUV.js";import{f as Bn,g as In}from"./chunk.5EZDXWOE.js";import{d as kt}from"./chunk.MIQMPOWF.js";import{h as Fe,j as St}from"./chunk.LMXNHBGH.js";import{G as Ee,Na as xt,Oa as nn,T as te,W as wt,ba as oe,ca as vt,da as bt,l as en}from"./chunk.WSMYFEGU.js";import{Dd as yt,Kc as Ze,Lc as ht,Pa as ut,Qc as Te,Ta as gt,U as cn,Ua as mt,V as st,Va as pt,W as lt,X as Tn,Y as dt,Z as Xe,_b as ft,ca as Ve,da as xe,fd as zn,ga as qe,ha as un,ia as gn,ka as Nn,la as ct,ma as mn,rc as be,tb as Dn}from"./chunk.WR63RQGU.js";import{b as F}from"./chunk.AJZBJBMO.js";var Kr=F(Ee(),1);var jn=F(te(),1);function Be(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,i=a?un(t,a).toLowerCase():"more";return(0,jn.jsxs)("div",{style:{display:"grid",gridTemplateRows:"minmax(0, 1fr) auto",height:"100%",minHeight:0},children:[n,(0,jn.jsxs)("p",{"data-testid":"lens-more",style:{margin:"4px 0 0",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["+",e.total-r," more ",i]})]})}var tr=F(Ee(),1);var rn=F(Ee(),1);var Qt=e=>`place:${e}`;function Jt(e,t){(0,rn.useEffect)(()=>{if(e===void 0)return;let n=globalThis[Symbol.for("graview.shown-lists")]??=new Map;return n.set(e,()=>t),()=>void n.delete(e)})}var Xt=e=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.6YGRRXJB.js")).then(t=>t.saveShownList(e.read()));function Zt(e,t,n){let r={off:e,about:t,read:n,menu:(a,i,s)=>[...e?[]:[{id:"export-csv",label:"Export CSV",run:()=>void Xt(r)}],...a&&i?[{id:e?"export-on":"export-off",label:e?"Turn on export":"Turn off export",run:()=>void (__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.6YGRRXJB.js")).then(m=>m.switchExport(r,i,e,s))}]:[]]};return r}function er({said:e}){return(0,rn.createElement)("button",{type:"button",className:"graview-arrange-open","data-testid":"arrange-export","aria-label":"Export CSV",title:"Export CSV",onClick:()=>void Xt(e)},(0,rn.createElement)("span",{"aria-hidden":"true"},"\u2193"),"CSV")}var nr=F(Ee(),1),pn=(0,nr.createContext)(null);var qn=F(te(),1),Yr=(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}},Qr=["sort","filter","group","q","archived"];function Ne(e,t={}){let{store:n,onExport:r}=oe(),a=(0,tr.useContext)(pn),{view:i,go:s}=nn(),c=Qr.some(M=>i.within?.[M]!==void 0)?Pt(i):t.arrangedBy??{},b=e.nodes??[],d=t.kind??b[0]?.kind??e.node?.kind,y=c.archived!==void 0&&c.archived!==!1&&d!==void 0&&!t.subject?n.graph.nodesOfKind(d,{archived:c.archived}):b,p=t.subject??(t.only?y.filter(t.only):y),o=t.subject?[]:t.only?y.filter(M=>!t.only(M)):[],l=t.kind??p[0]?.kind,k=Yr(t.allow,t.lensAllows),u=l?At(n.schema,String(l)):void 0,x=u?Et(c,u).arrangement:{},R=Mt(p,k===!1?{}:x,{schema:n.schema,graph:n.graph,flagged:new Set(e.flagged??[]),...t.search?{searchIn:t.search}:{}}),L=e.retired!==void 0&&e.retired>0&&(b[0]?.kind??l)===l?e.retired:0,T=e.fidelity==="full"&&e.budget===void 0,w=l!==void 0&&T&&t.exportable!==!1,O=Zt(a?.export===!1,{lens:a?.title??"",...a?.on!==void 0?{on:a.on}:{}},()=>({title:a?.title??gn(n.schema,String(l)),schema:n.schema,graph:n.graph,kind:String(l),groups:R.groups,grouped:R.grouped,onExport:r,words:{labelOf:xe,readableFields:kt,withComputed:Ot}}));Jt(a&&w?Qt(a.as):void 0,O);let g=l&&k!==!1&&T&&(p.length>1||L>0)?(0,qn.jsx)(Nt,{schema:n.schema,graph:n.graph,kind:String(l),arrangement:x,allow:k,query:t.query!==!1,...t.filters?{filters:t.filters,chips:{nodes:p,flagged:new Set(e.flagged??[])}}:{},onChange:M=>s(Tt(i,M)),kept:{shown:R.nodes.length,of:p.length},...L>0?{past:{count:L,widen:()=>s(Lt(i,!0))}}:{},...w&&!O.off?{end:(0,qn.jsx)(er,{said:O})}:{}}):null;return{nodes:[...o,...R.nodes],arranged:R,arrangement:x,bar:g}}function _e(e,t,n){let r=new Set((n??[]).map(i=>i.kind)),a=new Set((n??[]).map(i=>i.id));return e.allNodes().filter(i=>r.has(i.kind)?a.has(i.id):Ve(t.tryDefinition(i.kind),i))}var Ie=F(Ee(),1);var j=F(te(),1),Jr=["slots","x","y","fill"],fn=class extends Error{constructor(n,r){super(`${n}
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as jt,b as qt,c as Ft,d as Gn}from"./chunk.FLMNWVSY.js";import{a as Gt}from"./chunk.JETT6ELP.js";import{a as Hn,b as Dt,c as Vn,d as zt,e as Bt,f as It}from"./chunk.6SD7YZ4U.js";import{c as _t,g as Kt,h as Ut,i as Yt}from"./chunk.DSLGMCB6.js";import{e as Lt}from"./chunk.TVURUMU4.js";import{m as Nt}from"./chunk.UV3U4FRT.js";import{a as Pt,b as Tt}from"./chunk.EZ4TZUMM.js";import{f as Et,h as Mt}from"./chunk.47T3KUAA.js";import{e as At}from"./chunk.NZDWXX6H.js";import{a as Wt,b as tn,c as Ht,d as Vt}from"./chunk.XVN3CQKH.js";import{b as Ct,c as pe,d as ke,e as ze}from"./chunk.SAJLIA5M.js";import{e as $t,l as Ot}from"./chunk.7INWDFNG.js";import{l as Rt,m as Wn}from"./chunk.QPL3OXW3.js";import{f as Bn,g as In}from"./chunk.RQX4CQJN.js";import{d as kt}from"./chunk.LUIRQ5UF.js";import{h as Fe,j as St}from"./chunk.JQFIZRAZ.js";import{G as Ee,Na as xt,Oa as nn,T as te,W as wt,ba as oe,ca as vt,da as bt,l as en}from"./chunk.DBMZ3AQB.js";import{$ as Xe,Hd as yt,Nc as Ze,Oc as ht,Ra as ut,Uc as Te,Va as gt,W as cn,Wa as mt,X as st,Xa as pt,Y as lt,Z as Tn,_ as dt,bc as ft,fa as Ve,ga as xe,ia as qe,ja as un,jd as zn,ka as gn,ma as Nn,na as ct,oa as mn,uc as be,wb as Dn}from"./chunk.DIFR37EZ.js";import{b as F}from"./chunk.AJZBJBMO.js";var Kr=F(Ee(),1);var jn=F(te(),1);function Be(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,i=a?un(t,a).toLowerCase():"more";return(0,jn.jsxs)("div",{style:{display:"grid",gridTemplateRows:"minmax(0, 1fr) auto",height:"100%",minHeight:0},children:[n,(0,jn.jsxs)("p",{"data-testid":"lens-more",style:{margin:"4px 0 0",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["+",e.total-r," more ",i]})]})}var tr=F(Ee(),1);var rn=F(Ee(),1);var Qt=e=>`place:${e}`;function Jt(e,t){(0,rn.useEffect)(()=>{if(e===void 0)return;let n=globalThis[Symbol.for("graview.shown-lists")]??=new Map;return n.set(e,()=>t),()=>void n.delete(e)})}var Xt=e=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.6YGRRXJB.js")).then(t=>t.saveShownList(e.read()));function Zt(e,t,n){let r={off:e,about:t,read:n,menu:(a,i,s)=>[...e?[]:[{id:"export-csv",label:"Export CSV",run:()=>void Xt(r)}],...a&&i?[{id:e?"export-on":"export-off",label:e?"Turn on export":"Turn off export",run:()=>void (__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.6YGRRXJB.js")).then(m=>m.switchExport(r,i,e,s))}]:[]]};return r}function er({said:e}){return(0,rn.createElement)("button",{type:"button",className:"graview-arrange-open","data-testid":"arrange-export","aria-label":"Export CSV",title:"Export CSV",onClick:()=>void Xt(e)},(0,rn.createElement)("span",{"aria-hidden":"true"},"\u2193"),"CSV")}var nr=F(Ee(),1),pn=(0,nr.createContext)(null);var qn=F(te(),1),Yr=(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}},Qr=["sort","filter","group","q","archived"];function Ne(e,t={}){let{store:n,onExport:r}=oe(),a=(0,tr.useContext)(pn),{view:i,go:s}=nn(),c=Qr.some(M=>i.within?.[M]!==void 0)?Pt(i):t.arrangedBy??{},b=e.nodes??[],d=t.kind??b[0]?.kind??e.node?.kind,y=c.archived!==void 0&&c.archived!==!1&&d!==void 0&&!t.subject?n.graph.nodesOfKind(d,{archived:c.archived}):b,p=t.subject??(t.only?y.filter(t.only):y),o=t.subject?[]:t.only?y.filter(M=>!t.only(M)):[],l=t.kind??p[0]?.kind,k=Yr(t.allow,t.lensAllows),u=l?At(n.schema,String(l)):void 0,x=u?Et(c,u).arrangement:{},R=Mt(p,k===!1?{}:x,{schema:n.schema,graph:n.graph,flagged:new Set(e.flagged??[]),...t.search?{searchIn:t.search}:{}}),L=e.retired!==void 0&&e.retired>0&&(b[0]?.kind??l)===l?e.retired:0,T=e.fidelity==="full"&&e.budget===void 0,w=l!==void 0&&T&&t.exportable!==!1,O=Zt(a?.export===!1,{lens:a?.title??"",...a?.on!==void 0?{on:a.on}:{}},()=>({title:a?.title??gn(n.schema,String(l)),schema:n.schema,graph:n.graph,kind:String(l),groups:R.groups,grouped:R.grouped,onExport:r,words:{labelOf:xe,readableFields:kt,withComputed:Ot}}));Jt(a&&w?Qt(a.as):void 0,O);let g=l&&k!==!1&&T&&(p.length>1||L>0)?(0,qn.jsx)(Nt,{schema:n.schema,graph:n.graph,kind:String(l),arrangement:x,allow:k,query:t.query!==!1,...t.filters?{filters:t.filters,chips:{nodes:p,flagged:new Set(e.flagged??[])}}:{},onChange:M=>s(Tt(i,M)),kept:{shown:R.nodes.length,of:p.length},...L>0?{past:{count:L,widen:()=>s(Lt(i,!0))}}:{},...w&&!O.off?{end:(0,qn.jsx)(er,{said:O})}:{}}):null;return{nodes:[...o,...R.nodes],arranged:R,arrangement:x,bar:g}}function _e(e,t,n){let r=new Set((n??[]).map(i=>i.kind)),a=new Set((n??[]).map(i=>i.id));return e.allNodes().filter(i=>r.has(i.kind)?a.has(i.id):Ve(t.tryDefinition(i.kind),i))}var Ie=F(Ee(),1);var j=F(te(),1),Jr=["slots","x","y","fill"],fn=class extends Error{constructor(n,r){super(`${n}
2
2
  ${r}`);this.hint=r;this.name="BoardBindingError"}},rr=e=>Math.max(0,Math.min(1,e));function Fn(e,t,n,r){let a=l=>l,i=l=>r?xe(r.tryDefinition(l.kind),l):String(a(l).label??l.id);if(r&&r.tryDefinition(n.slots)===void 0)throw new fn(`No kind is declared for "${n.slots}".`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let s=e.filter(l=>l.kind===n.slots);if(!r&&s.length===0)throw new fn(`Nothing to arrange: no "${n.slots}" nodes.`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let m=t.filter(l=>l.kind===n.fill),c=new Map(e.map(l=>[l.id,l])),b=new Map(e.map((l,k)=>[l.id,k])),d=s.map(l=>{let k=a(l),u=n.fillFrom==="occupant",x=m.filter(R=>(u?R.to:R.from)===l.id).map(R=>c.get(u?R.from:R.to)).filter(R=>R!==void 0).sort((R,L)=>(b.get(R.id)??0)-(b.get(L.id)??0)).map(R=>({id:R.id,label:i(R)}));return{id:l.id,code:String(k[n.slotCode??""]??"").trim()||i(l),label:i(l),x:rr(Number(k[n.x]??.5)),y:rr(Number(k[n.y]??.5)),occupants:x}}).sort((l,k)=>l.y-k.y||l.x-k.x),y=new Set(d.flatMap(l=>l.occupants.map(k=>k.id))),p=new Set([...y].map(l=>c.get(l)?.kind).filter(l=>l!==void 0)),o=e.filter(l=>p.has(l.kind)&&!y.has(l.id)).map(l=>({id:l.id,label:i(l)})).sort((l,k)=>l.label<k.label?-1:l.label>k.label?1:0);return{slots:d,empty:d.filter(l=>l.occupants.length===0).map(l=>l.id),spare:o}}function Xr({nodes:e,occupants:t,label:n,fidelity:r,mode:a,options:i,schema:s,implicated:m=[],flagged:c=[]}){let{store:b}=oe(),d=_e(b.graph,b.schema,e),y=t?[...d.filter(f=>f.kind===i.slots),...t.map(f=>b.graph.getNode(f)).filter(f=>f!==void 0)]:d,p=Fn(y,b.graph.allEdges(),i,s),o=new Set(m),l=new Set(c),k=xt(),u=new Map;for(let f of k)for(let v of f.nodeIds)u.set(v,[...u.get(v)??[],f.message]);let x=f=>f?u.get(f)??[]:[];if(r==="glyph")return(0,j.jsx)(ke,{label:`${n??"Board"} \xB7 ${p.slots.length-p.empty.length}/${p.slots.length}`,hue:be("board")});if(r==="summary"){let f=p.slots.filter(v=>p.empty.includes(v.id));return(0,j.jsx)(pe,{title:n??"Board",meta:`${p.slots.length-p.empty.length}/${p.slots.length}`,tone:f.length>0?"warning":"muted",fit:!0,children:f.length>0?(0,j.jsx)(ze,{pick:!0,max:5,items:f.map(v=>({id:v.id,label:v.code}))}):(0,j.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:"Every slot filled."})})}let R=i.aspect??.68,L=(0,Ie.useRef)(null),[T,w]=(0,Ie.useState)(!1),[O,g]=(0,Ie.useState)(null),M=160,[N,G]=(0,Ie.useState)(!1);(0,Ie.useEffect)(()=>{let f=L.current;if(!f||typeof ResizeObserver>"u")return;let v=new ResizeObserver(S=>{let A=S[0]?.contentRect;if(!A)return;let h=A.height<M;G(h),w(!h&&R<1&&A.width/A.height>1.3),g(h?null:A.height)});return v.observe(f),()=>v.disconnect()},[R]);let C=(f,v)=>T?{x:1-v,y:f}:{x:f,y:v},q=(()=>{let f=new Map,v=(S,A,h)=>{let $=f.get(h)??{ids:[],codes:[]};$.ids.includes(S)||($.ids.push(S),$.codes.includes(A)||$.codes.push(A)),f.set(h,$)};for(let S of p.slots){for(let A of x(S.id))v(S.id,S.code,A);for(let A of S.occupants)for(let h of x(A.id))v(A.id,A.label,h)}return[...f.entries()].map(([S,A])=>({id:A.ids[0],code:A.codes.join(", "),text:S}))})(),W=a==="fullscreen",ce=q.length===0?null:(0,j.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:[q.slice(0,W?6:2).map(f=>(0,j.jsxs)("li",{"data-graview-pick":f.id,"data-graview-emphasis":o.size===0?"plain":o.has(f.id)?"lit":"dimmed",title:f.text,style:{display:W?"grid":"flex",gap:W?1:7,alignItems:W?"start":"baseline",fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)",minHeight:24,width:"fit-content",maxWidth:"100%",padding:W?"2px 0":"3px 6px",marginLeft:W?0:-6,borderRadius:7,cursor:"pointer"},children:[(0,j.jsxs)("span",{style:{flex:"0 0 auto",fontWeight:600,color:"var(--graview-warn)",letterSpacing:"0.02em"},children:["\u26A0 ",f.code]}),(0,j.jsx)("span",{style:{minWidth:0,...W?{}:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},children:f.text})]},f.id)),q.length>(W?6:2)?(0,j.jsxs)("li",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:["+",q.length-(W?6:2)," more"]}):null]}),ae=i.arrange==="shelf",ne=p.slots.every(f=>f.code.length<=3&&!/\s/.test(f.code)),D=(f,v)=>{let S=f.occupants.length===0,A=o.size>0&&!o.has(f.id)&&!f.occupants.some(J=>o.has(J.id)),h=l.has(f.id),$=f.occupants.some(J=>l.has(J.id)),P=h,Z=[...x(f.id),...f.occupants.flatMap(J=>x(J.id))],H=f.occupants.length===1?f.occupants[0]:null,U=i.pickTarget==="slot"?f.id:H?H.id:f.id,Y=J=>H?{}:{"data-graview-pick":J.id,"data-graview-emphasis":o.size===0?"plain":A?"dimmed":"lit"},le=J=>l.has(J.id)?"var(--graview-warn)":"var(--graview-ink-muted)",ge=i.emptyLabel??"empty";return(0,j.jsxs)("div",{"data-graview-pick":U,"data-graview-slot":f.id,"data-graview-mark":ne?"disc":"token","data-graview-flagged":h&&$?"both":h?"slot":$?"occupant":void 0,"data-graview-emphasis":o.size===0?"plain":A?"dimmed":"lit",title:[S?`${f.label} \u2014 nobody in it`:`${f.occupants.map(J=>J.label).join(", ")} at ${f.label}`,...Z].join(`
3
3
  `),style:{...v,display:"grid",justifyItems:ne?"center":"start",gap:3,opacity:A?.5:1,transition:"opacity 160ms ease"},children:[ne?(0,j.jsxs)("span",{style:{position:"relative",width:34,height:34,borderRadius:999,display:"grid",placeItems:"center",fontSize:"0.75rem",letterSpacing:"0.02em",border:S?"1.5px dashed var(--graview-warn)":`1px solid ${P?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:S?"transparent":P?"var(--graview-panel-warning)":"var(--graview-panel)",color:S||P?"var(--graview-warn)":"var(--graview-ink)",boxShadow:S?void 0:"var(--graview-lift-low)"},children:[f.code,h&&!S?(0,j.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,j.jsxs)("span",{style:{display:"grid",gap:1,minWidth:0,maxWidth:180,padding:"5px 10px 6px",borderRadius:8,border:S?"1.5px dashed var(--graview-warn)":`1px solid ${P?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:S?"transparent":P?"var(--graview-panel-warning)":"var(--graview-panel)",boxShadow:S?void 0:"var(--graview-lift-low)"},children:[(0,j.jsxs)("span",{style:{fontSize:"0.8125rem",fontWeight:550,lineHeight:1.25,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:S||P?"var(--graview-warn)":"var(--graview-ink)"},children:[f.code,h&&!S?" \u26A0":null]}),S?(0,j.jsx)("span",{style:{fontSize:"0.75rem",lineHeight:1.3,color:"var(--graview-warn)"},children:ge}):(0,j.jsx)("span",{style:{display:"flex",flexWrap:"wrap",gap:"0 8px",fontSize:"0.75rem",lineHeight:1.3},children:f.occupants.map(J=>(0,j.jsxs)("span",{...Y(J),style:{whiteSpace:"nowrap",color:le(J)},children:[J.label,l.has(J.id)?" \u26A0":""]},J.id))})]}),ne?S?(0,j.jsx)("span",{style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:"var(--graview-warn)"},children:ge}):f.occupants.map(J=>(0,j.jsxs)("span",{...Y(J),style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:le(J)},children:[J.label,l.has(J.id)?" \u26A0":""]},J.id)):null]},f.id)},Q=i.zones??[],ue=Q.map((f,v)=>({label:f.label,slots:p.slots.filter(S=>S.y>=f.from&&(S.y<f.to||v===Q.length-1&&S.y<=f.to))})),I=new Set(ue.flatMap(f=>f.slots.map(v=>v.id))),E=p.slots.filter(f=>!I.has(f.id));(E.length>0||ue.length===0)&&ue.push({label:"",slots:E});let K={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,j.jsxs)(pe,{title:n??"Board",meta:p.slots.length===0?void 0:p.empty.length===0?`all ${p.slots.length} filled`:`${p.empty.length} unfilled`,...W?{style:{flex:"1 1 auto",minHeight:0,height:"100%"}}:{},children:[(0,j.jsxs)("div",{ref:L,style:{display:"flex",gap:28,alignItems:"stretch",justifyContent:"center",flex:"1 1 auto",minHeight:0},children:[W&&ce?(0,j.jsxs)("div",{style:{width:260,flex:"0 0 auto",alignSelf:"center",display:"grid",gap:8},children:[(0,j.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"What is marked"}),ce]}):null,ae?(0,j.jsx)("div",{"data-graview-primitive":"board","data-graview-arrange":"shelf",style:{...K,overflow:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"stretch",display:"grid",alignContent:"start"},children:ue.map((f,v)=>(0,j.jsxs)("section",{"data-graview-zone":f.label||void 0,style:{display:"grid",gap:8,padding:"10px 14px 14px",...v>0?{borderTop:"1px dashed var(--graview-edge)"}:{}},children:[f.label?(0,j.jsx)("span",{style:{fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:f.label}):null,f.slots.length>0?(0,j.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"10px 12px",alignItems:"flex-start"},children:f.slots.map(S=>D(S,{}))}):(0,j.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"nothing here"})]},f.label||`band-${v}`))}):(0,j.jsxs)("div",{style:{display:"flex",gap:5,alignItems:"stretch",minWidth:0,...N?{flex:"1 1 auto",alignSelf:"flex-start"}:{}},children:[!T&&Q.length>0?(0,j.jsx)("div",{"aria-hidden":"true",style:{position:"relative",width:15,flex:"0 0 auto",alignSelf:"stretch"},children:Q.map(f=>(0,j.jsx)("span",{title:f.label,style:{position:"absolute",top:`${f.from*100}%`,height:`${(f.to-f.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:f.label},f.label))}):null,(0,j.jsxs)("div",{"data-graview-primitive":"board","data-graview-arrange":"exact",style:{...K,position:"relative",aspectRatio:`${T?1/R:R}`,...N?{width:"100%",height:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"flex-start"}:{height:"100%",flex:"0 1 auto",...O!==null?{width:Math.round(O*(T?1/R:R))}:{}},maxWidth:"100%"},children:[Q.map(f=>(0,j.jsx)("div",{"aria-hidden":"true",style:{position:"absolute",...T?{top:0,bottom:0,left:`${(1-f.to)*100}%`,width:`${(f.to-f.from)*100}%`,borderLeft:"1px dashed var(--graview-edge)"}:{left:0,right:0,top:`${f.from*100}%`,height:`${(f.to-f.from)*100}%`,borderBottom:"1px dashed var(--graview-edge)"}}},f.label)),T?Q.map(f=>(0,j.jsx)("span",{"aria-hidden":"true",title:f.label,style:{position:"absolute",bottom:3,left:`${(1-f.to)*100}%`,width:`${(f.to-f.from)*100}%`,textAlign:"center",fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink-faint)"},children:f.label},`label-${f.label}`)):null,p.slots.map(f=>D(f,{position:"absolute",left:`${C(f.x,f.y).x*100}%`,top:`${C(f.x,f.y).y*100}%`,transform:"translate(-50%, -50%)",width:"max-content",maxWidth:"100%"}))]})]}),p.spare.length>0?(0,j.jsxs)("div",{style:{display:"grid",gap:6,alignContent:"start",minWidth:0},children:[(0,j.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"Not in"}),(0,j.jsx)(ze,{pick:!0,max:10,items:p.spare.map(f=>({...f,emphasis:o.size===0?"plain":o.has(f.id)?"lit":"dimmed"}))})]}):null]}),W?null:ce]})}function ar(e){function t(n){let{store:r}=oe(),a=Fn(_e(r.graph,r.schema,n.nodes),r.graph.allEdges(),e,r.schema),s=[...a.slots.flatMap(d=>d.occupants.map(y=>y.id)),...a.spare.map(d=>d.id)].map(d=>r.graph.getNode(d)).filter(d=>d!==void 0),{arranged:m,bar:c}=Ne(n,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{group:!1},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},subject:s}),b=(0,j.jsx)(Xr,{schema:r.schema,...n,options:e,...e.arranging===!1?{}:{occupants:m.nodes.map(d=>d.id)}});return Be(n,r.schema,c?(0,j.jsxs)("div",{style:{display:"grid",gap:6,height:"100%",minHeight:0,gridTemplateRows:"auto 1fr"},children:[c,b]}):b)}return{name:"board",requiredRoles:[...Jr],options:e,View:t,build(n,r,a){return Fn(n,r,e,a)}}}var Cn=F(Ee(),1);var ir=864e5;function _n(e){if(typeof e!="string")return null;if(Bn(e))return In(e)?.day??null;let t=/^(\d{4}-\d{2}-\d{2})/.exec(e);return t?t[1]:null}function yn(e){if(typeof e!="string")return null;if(Bn(e))return In(e)?.minutes??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 hn=e=>Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7))-1,Number(e.slice(8,10))),wn=e=>new Date(e).toISOString().slice(0,10);function Re(e,t){return wn(hn(e)+t*ir)}function Ge(e,t){let n=Number(e.slice(0,4)),r=Number(e.slice(5,7))-1+t,a=Number(e.slice(8,10)),i=new Date(Date.UTC(n,r+1,0)).getUTCDate();return wn(Date.UTC(n,r,Math.min(a,i)))}var Kn=e=>new Date(hn(e)).getUTCDay();function Ke(e,t=1){let n=(Kn(e)-t+7)%7;return Re(e,-n)}var Un=e=>`${e.slice(0,7)}-01`;function we(e,t){return Math.round((hn(t)-hn(e))/ir)}function Ue(e,t){return Array.from({length:t},(n,r)=>Re(e,r))}var or=e=>dt(e,"short"),De=e=>st(e,{weekday:"short"}),Yn=e=>Xe(e);function je(e,t){let n=t?.fieldRoles?.when;return e&&!e.start&&n?{...e,start:n}:e}function sr(e,t){return t===void 0?!1:typeof t=="string"?e[t]===!0:t.is.includes(e[t.field])}var vn=["start"],Zr=["day","week","month","quarter","year","agenda"];function bn(e){return e.horizon?["day","week","month","quarter","year","years","agenda"]:Zr}function lr(e,t){return e==="years"?t?.title??"Years":`The ${e}`}function dr(){let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}var Qn=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 xn(e,t,n){let r=je(t[e.kind],n?.tryDefinition(e.kind));if(!r)return null;let a=e,i=n?.tryDefinition(e.kind)?.fields.shape,s=vn.filter(y=>{let p=r[y];return p?i?!(p in i):!(p in a):!0});if(s.length>0)throw new Qn(e.kind,s);let m=_n(a[r.start]);if(m===null)return null;let c=(r.end?_n(a[r.end]):null)??m,b=yn(a[r.start]),d=r.label?a[r.label]:void 0;return{id:e.id,kind:e.kind,label:typeof d=="string"&&d.length>0?d:xe(n?.tryDefinition(e.kind),e),from:m,to:we(m,c)<0?m:c,at:r.allDay&&a[r.allDay]===!0?null:b,allDay:r.allDay&&a[r.allDay]===!0||b===null,done:sr(a,r.done)}}function cr(e,t,n,r){let a=xn(e,t,n);if(!a)return[];let i=je(t[e.kind],n?.tryDefinition(e.kind)).start,s=e,m=s[i],c=s[ut(i)];if(typeof m!="string"||!gt(c))return[a];let b=we(a.from,a.to);return("next"in r?[pt(m,c,r.next)]:mt(m,c,{from:Re(r.from,-b),to:r.to,limit:400})).map(y=>({...a,from:y.slice(0,10),to:Re(y.slice(0,10),b),repeats:!0}))}function Sn(e,t){return e.filter(n=>we(n.from,t)>=0&&we(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 ur(e,t,n){let r=ft(e.schema,e.allMutations()).get(t)?.get(n)??[],a=new Map(e.allMutations().map(s=>[s.name,s]));for(let s of r){let m=a.get(s),c=m?.subject;if(!m||!c)continue;let b=m.input?.shape??{};if(n in b)return{name:m.name,arg:c.arg}}let i=e.allMutations().find(s=>s.derived?.act==="edit"&&s.derived.kind===t);return i?.subject?{name:i.name,arg:i.subject.arg}:null}var gr=(e,t)=>({from:Un(e),to:mr(e),label:Tn(e,{short:!0,year:t})});function mr(e){return wn(Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7)),0))}function ea(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 pr(e,t,n={}){let r=n.weekStartsOn??1,a=(c,b)=>({from:c,to:c,label:String(Number(c.slice(8,10))),...b?{outside:!0}:{}});if(e==="day")return{title:De(t),grain:"day",columns:1,cells:[a(t)]};if(e==="week"){let c=Ke(t,r);return{title:`${De(c)} \u2013 ${De(Re(c,6))}`,grain:"day",columns:7,cells:Ue(c,7).map(b=>a(b))}}if(e==="agenda")return{title:`From ${De(t)}`,grain:"day",columns:1,cells:Ue(t,42).map(c=>a(c))};if(e==="quarter"){let c=ea(t),b=mr(Ge(c,2)),d=[];for(let y=Ke(c,r);we(y,b)>=0;y=Re(y,7))d.push({from:y,to:Re(y,6),label:lt(y),...we(y,c)>0&&we(Re(y,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:d}}if(e==="year"){let c=t.slice(0,4);return{title:c,grain:"month",columns:4,cells:Array.from({length:12},(b,d)=>gr(`${c}-${String(d+1).padStart(2,"0")}-01`,!1))}}if(e==="years"){let c=Number(t.slice(0,4)),b=c+Math.max(1,n.horizon?.years??1)-1,d=n.horizon?.from!==void 0||n.horizon?.to!==void 0,y=d?n.horizon?.from??c:Math.min(c,n.fit?.first??c),o=(d?Math.max(y,n.horizon?.to??y+Math.max(1,n.horizon?.years??1)-1):Math.max(b,n.fit?.last??b))-y+1,l=Array.from({length:o},(k,u)=>String(y+u));return o>na?{title:`${n.horizon?.title??"Years"} \xB7 ${l[0]}\u2013${l[l.length-1]}`,grain:"year",columns:5,years:l,cells:l.map(k=>({from:`${k}-01-01`,to:`${k}-12-31`,label:k}))}:{title:`${n.horizon?.title??"Years"} \xB7 ${l[0]}\u2013${l[l.length-1]}`,grain:"month",columns:4,years:l,cells:l.flatMap(k=>Array.from({length:12},(u,x)=>gr(`${k}-${String(x+1).padStart(2,"0")}-01`,!0)))}}let i=Un(t),s=Ke(i,r),m=t.slice(0,7);return{title:Tn(t),grain:"day",columns:7,cells:Ue(s,42).map(c=>a(c,c.slice(0,7)!==m))}}function fr(e,t,n){return e.filter(r=>we(r.from,n)>=0&&we(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 na=10;function hr(e){return e==="year"?"year":e==="month"?"month":e==="week"?"week":"day"}var yr=F(Ee(),1);var ie=F(te(),1);function Jn({label:e,glyph:t,onPress:n}){return(0,ie.jsx)("button",{type:"button","aria-label":e,title:e,onClick:n,style:Ye,children:t})}var Ye={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"},wr={day:12,week:4,month:3,year:5};function vr({span:e,weekStartsOn:t,entries:n,today:r,perCell:a,emphasisOf:i,broken:s,hue:m,onOpen:c,onMove:b}){let d=(0,yr.useRef)(null),y=Fe(d),p=y===null?e.columns:Math.max(1,Math.floor(y/44)),o=p<e.columns,l=o?p:e.columns,k=!o&&e.grain==="day"&&e.columns===7?Ue(Ke(e.cells[0]?.from??r,t),7):e.grain==="day"&&e.columns===1?e.cells.map(u=>u.from):null;return o&&e.grain==="day"&&e.columns>1?(0,ie.jsx)("div",{ref:d,"data-calendar-shape":"agenda",style:{display:"grid",minHeight:0,flex:1},children:(0,ie.jsx)(kn,{days:e.cells.map(u=>u.from),entries:n,today:r,emphasisOf:i,broken:s,hue:m,onMove:(u,x)=>b(u,{from:x,to:x,label:x},"day")})}):(0,ie.jsxs)("div",{ref:d,"data-calendar-shape":o?"wrapped":"grid",style:{display:"grid",gap:4,gridTemplateRows:k?"auto 1fr":"1fr",minHeight:0,flex:1},children:[k?(0,ie.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${l}, minmax(0, 1fr))`,gap:4},children:k.map(u=>(0,ie.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-muted)",textAlign:"center"},children:e.columns===7?or(Kn(u)):De(u)},u))}):null,(0,ie.jsx)("div",{tabIndex:0,"aria-label":`The days of ${e.title}`,style:{display:"grid",gridTemplateColumns:`repeat(${l}, minmax(0, 1fr))`,gridAutoRows:"max-content",gap:4,minHeight:0,overflow:"auto"},children:e.cells.map((u,x)=>{let R=fr(n,u.from,u.to),L=R.slice(0,a),T=R.slice(a),w=T.filter(g=>s.has(g.id)).length,O=we(u.from,r)>=0&&we(r,u.to)>=0;return(0,ie.jsxs)("div",{"data-calendar-day":e.grain==="day"?u.from:void 0,"data-calendar-cell":u.from,"data-calendar-grain":e.grain,"data-calendar-count":R.length,"data-calendar-outside":u.outside||void 0,onDragOver:g=>{g.dataTransfer.types.includes("text/graview-node")&&(g.preventDefault(),g.dataTransfer.dropEffect="move")},onDrop:g=>{let M=g.dataTransfer.getData("text/graview-node");M&&(g.preventDefault(),g.stopPropagation(),b(M,u,e.grain))},style:{minHeight:62,display:"flex",flexDirection:"column",gap:2,padding:4,borderRadius:7,border:"1px solid var(--graview-edge)",background:O?"var(--graview-panel)":u.outside?"var(--graview-panel-muted)":"transparent"},children:[(0,ie.jsxs)("span",{style:{display:"flex",alignItems:"baseline",gap:4},children:[(0,ie.jsx)("span",{style:{fontSize:"0.75rem",fontVariantNumeric:"tabular-nums",color:O?"var(--graview-accent)":"var(--graview-ink-faint)"},children:u.label}),e.grain!=="day"&&R.length>0?(0,ie.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",marginLeft:"auto"},children:R.length}):null]}),L.map(g=>(0,ie.jsx)(br,{entry:g,cell:u,rowStart:x%l===0,emphasis:i(g.id),flagged:s.has(g.id),hue:m(g)},`${g.id}:${g.from}:${u.from}`)),T.length>0?(0,ie.jsxs)("button",{type:"button","data-testid":`calendar-more-${u.from}`,onClick:()=>c(u),title:`Open ${u.label}`,style:{minHeight:24,padding:"1px 5px",fontSize:"0.75rem",borderRadius:5,border:"1px dashed var(--graview-edge)",background:"transparent",color:w>0?"var(--graview-warn)":"var(--graview-ink-muted)",textAlign:"left"},children:["+",T.length," more",w>0?` \xB7 ${w} flagged`:""]}):null]},u.from)})})]})}function kn({days:e,entries:t,today:n,emphasisOf:r,broken:a,hue:i,onMove:s}){let m=e.map(c=>({day:c,here:Sn(t,c)})).filter(({here:c})=>c.length>0);return m.length===0?(0,ie.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,ie.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:m.map(({day:c,here:b})=>(0,ie.jsxs)("li",{"data-calendar-day":c,onDragOver:d=>{d.dataTransfer.types.includes("text/graview-node")&&(d.preventDefault(),d.dataTransfer.dropEffect="move")},onDrop:d=>{let y=d.dataTransfer.getData("text/graview-node");y&&(d.preventDefault(),d.stopPropagation(),s(y,c))},style:{display:"grid",gap:4},children:[(0,ie.jsxs)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:c===n?"var(--graview-accent)":"var(--graview-ink-muted)"},children:[De(c),c===n?" \xB7 today":""]}),b.map(d=>(0,ie.jsx)(br,{entry:d,cell:{from:c,to:c,label:c},emphasis:r(d.id),flagged:a.has(d.id),hue:i(d)},`${d.id}:${d.from}:${c}`))]},c))})}function br({entry:e,cell:t,emphasis:n,flagged:r,hue:a,rowStart:i=!1}){let s=we(t.from,e.from)>=0,m=we(e.to,t.to)>=0,c=!(s&&m),b=e.at!==null&&s&&e.from===t.from?`${Yn(e.at)} ${e.label}`:e.label;return(0,ie.jsx)("span",{"data-graview-pick":e.id,"data-calendar-entry":e.id,"data-calendar-repeat":e.repeats?e.from:void 0,draggable:!e.repeats,onDragStart:d=>{d.dataTransfer.setData("text/graview-node",e.id),d.dataTransfer.effectAllowed="move"},"data-graview-emphasis":n,"data-calendar-part":c?s?"opens":m?"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 ${Yn(e.at)}`}${e.repeats?" \xB7 repeats":""}`,style:{display:"block",minHeight:24,boxSizing:"border-box",padding:"3px 6px",fontSize:"0.75rem",lineHeight:1.35,borderRadius:c?s?"5px 0 0 5px":m?"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:s||i?e.repeats?(0,ie.jsxs)(ie.Fragment,{children:[(0,ie.jsx)("span",{"aria-hidden":"true",children:"\u21BB "}),b]}):b:" "})}var ee=F(te(),1);function ta(e){let t=1/0,n=-1/0;for(let r of e)r&&(t=Math.min(t,Number(r.from.slice(0,4))),n=Math.max(n,Number(r.to.slice(0,4))));return Number.isFinite(t)&&Number.isFinite(n)?{first:t,last:n}:void 0}function xr(e){let t=n=>function(a){let{store:i}=oe(),{view:s}=nn(),m=n?{...e,range:n}:e,c=s.within?.range??m.range??"month",b=Object.keys(e.bindings),{nodes:d,arranged:y,arrangement:p,bar:o}=Ne(a,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{sort:!1,group:c==="agenda"},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},...e.search?{search:e.search}:{},...e.filters?{filters:e.filters}:{},...b[0]?{kind:(a.nodes??[]).find(R=>b.includes(String(R.kind)))?.kind??b[0]}:{}}),l=c==="agenda"&&y.grouped&&p.group?y.groups.map(R=>({label:R.label,ids:new Set(R.nodes.map(L=>L.id))})):void 0,k=new Set((a.nodes??[]).map(R=>String(R.kind))),u=b.filter(R=>!k.has(R)&&i.schema.tryDefinition(R)!==void 0).flatMap(R=>{let L=i.schema.tryDefinition(R);return i.graph.nodesOfKind(R).filter(T=>s.past===!0||Ve(L,T))}),x=u.length===0?d:[...d,...a.budget!==void 0?u.slice(0,a.budget):u];return Be(a,i.schema,(0,ee.jsx)(ra,{schema:i.schema,...a,nodes:x,options:{...m,today:m.today??i.today()??dr()},...o?{bar:o}:{},...l?{groups:l}:{}}))};return{name:"calendar",requiredRoles:[...vn],bindings:e.bindings,options:e,View:t(),at:n=>t(n),ranges:()=>bn(e).map(n=>({range:n,title:lr(n,e.horizon)})),place:(n,r)=>n.map(a=>xn(a,e.bindings,r)).filter(a=>a!==null)}}function ra({nodes:e,label:t,fidelity:n,mode:r,options:a,schema:i,selectedIds:s=[],implicated:m=[],flagged:c=[],bar:b,groups:d}){let{view:y,go:p}=nn(),{store:o,principal:l}=oe(),k=y.within?.at??a.today,u=y.within?.range??a.range??"month",x=a.weekStartsOn??1,R=new Set([...m,...s]),L=E=>R.size===0?"plain":R.has(E)?"lit":"dimmed",T=new Set(c),w=u==="years"&&y.within?.at===void 0?ta((e??[]).map(E=>xn(E,a.bindings,i))):void 0,O=pr(u,k,{weekStartsOn:x,...a.horizon?{horizon:a.horizon}:{},...w?{fit:w}:{}}),M=n==="glyph"||n==="summary"?{next:a.today}:{from:O.cells[0]?.from??k,to:O.cells[O.cells.length-1]?.to??k},N=(e??[]).flatMap(E=>cr(E,a.bindings,i,M)),G=a.hueOf??(E=>be(E.kind));if(n==="glyph")return(0,ee.jsx)(ke,{label:`${t??"Calendar"} \xB7 ${N.length}`,hue:be("calendar")});if(n==="summary"){let E=Sn(N,a.today);return(0,ee.jsx)(pe,{title:t??"Calendar",meta:`${N.length} dated`,tone:"muted",children:(0,ee.jsx)(ze,{max:6,items:E.length>0?E.map(K=>({id:K.id,label:K.label,hue:G(K)})):N.filter(K=>we(a.today,K.from)>=0).sort((K,f)=>K.from.localeCompare(f.from)).slice(0,6).map(K=>({id:K.id,label:`${K.from.slice(5)} ${K.label}`,hue:G(K)}))})})}let C=r==="fullscreen",[q,W]=(0,Cn.useState)(null),ce=(E,K,f)=>{let v=o.graph.getNode(E);if(!v)return;let S=je(a.bindings[v.kind],o.schema.tryDefinition(v.kind));if(!S)return;let A=ur(o,v.kind,S.start);if(!A){W({text:`Nothing declared writes the ${Nn(o.schema.definitions.find(Y=>Y.kind===v.kind),S.start).toLowerCase()}, so this cannot be moved from here.`,tone:"refused"});return}let h=K.from,$=v[S.start],Z=yn($)===null?h:`${h}${String($).slice(10)}`,H={name:A.name,args:{[A.arg]:E,[S.start]:Z}},U=o.permits(H,l);if(!U.ok){W({text:U.refusal.message,tone:"refused"});return}try{o.apply(H,{author:l}),W(f==="day"?null:{text:`Moved to ${De(h)} \u2014 a ${f} is coarser than the ${Nn(o.schema.definitions.find(Y=>Y.kind===v.kind),S.start).toLowerCase()} holds, so it takes the first day of the cell. Undo puts it back.`,tone:"rounded"})}catch(Y){W({text:Y instanceof Error?Y.message:String(Y),tone:"refused"})}},ae=E=>{let K=u==="years"?Ge(`${O.years?.[0]??k.slice(0,4)}${k.slice(4)}`,E*12*Math.max(1,O.years?.length??a.horizon?.years??1)):u==="year"?Ge(k,E*12):u==="quarter"?Ge(k,E*3):u==="month"?Ge(k,E):u==="week"?Re(k,E*7):Re(k,E);p(en(y,"at",K))},ne=(E,K)=>{let f=en(y,"range",E);K!==void 0&&(f=en(f,"at",K)),p(f)},D=(0,Cn.useRef)(null),Q=Fe(D),ue=Q!==null&&Q<420,I=E=>E==="years"?a.horizon?.title??"years":E.charAt(0).toUpperCase()+E.slice(1);return(0,ee.jsx)(pe,{title:t??"Calendar",meta:O.title,style:{gap:10,...C?{flex:"1 1 auto",minHeight:0,height:"100%"}:{}},children:(0,ee.jsxs)("div",{ref:D,"data-testid":"calendar","data-calendar-range":u,"data-calendar-at":k,style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,gap:8},children:[(0,ee.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:6},children:[(0,ee.jsxs)("nav",{"aria-label":"When",style:{display:"flex",gap:4},children:[(0,ee.jsx)(Jn,{label:"Previous",glyph:"\u2039",onPress:()=>ae(-1)}),(0,ee.jsx)("button",{type:"button","data-testid":"calendar-today",onClick:()=>p(en(y,"at",a.today)),style:Ye,children:"Today"}),(0,ee.jsx)(Jn,{label:"Next",glyph:"\u203A",onPress:()=>ae(1)})]}),ue?(0,ee.jsx)("select",{"aria-label":"Range","data-testid":"calendar-ranges",value:u,onChange:E=>ne(E.target.value),style:{...Ye,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:bn(a).map(E=>(0,ee.jsx)("option",{value:E,children:I(E)},E))}):(0,ee.jsx)("div",{role:"group","aria-label":"Range","data-testid":"calendar-ranges",style:{display:"flex",flexWrap:"wrap",gap:4,marginLeft:"auto"},children:bn(a).map(E=>(0,ee.jsx)("button",{type:"button","aria-pressed":E===u,"data-testid":`calendar-range-${E}`,onClick:()=>ne(E),style:{...Ye,borderRadius:999,borderColor:"var(--graview-edge)",...E==="years"?{}:{textTransform:"capitalize"},...E===u?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)",background:"var(--graview-panel)"}:{}},children:E==="years"?a.horizon?.title??"years":E},E))})]}),q?(0,ee.jsx)("p",{"data-testid":q.tone==="refused"?"calendar-refused":"calendar-rounded",role:"status",style:{margin:0,fontSize:"0.8125rem",color:q.tone==="refused"?"var(--graview-warn)":"var(--graview-ink-muted)"},children:q.text}):null,O.years?(0,ee.jsx)("nav",{"aria-label":"Years","data-testid":"calendar-years",style:{display:"flex",flexWrap:"wrap",gap:4},children:O.years.map(E=>(0,ee.jsx)("button",{type:"button","data-testid":`calendar-year-${E}`,onClick:()=>ne("year",`${E}-01-01`),style:Ye,children:E},E))}):null,b,u==="agenda"&&d?(0,ee.jsx)("div",{"data-testid":"calendar-groups",style:{display:"grid",gap:10,minHeight:0,overflow:"auto"},children:d.map(E=>(0,ee.jsxs)("section",{"data-testid":"calendar-group",style:{display:"grid",gap:4},children:[(0,ee.jsxs)("h3",{style:{margin:0,fontSize:"0.8125rem",letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--graview-ink-muted)"},children:[E.label," ",(0,ee.jsx)("span",{style:{fontWeight:400},children:E.ids.size})]}),(0,ee.jsx)(kn,{days:O.cells.map(K=>K.from),entries:N.filter(K=>E.ids.has(K.id)),today:a.today,emphasisOf:L,broken:T,hue:G,onMove:(K,f)=>ce(K,{from:f,to:f,label:f},"day")})]},E.label))}):u==="agenda"?(0,ee.jsx)(kn,{days:O.cells.map(E=>E.from),entries:N,today:a.today,emphasisOf:L,broken:T,hue:G,onMove:(E,K)=>ce(E,{from:K,to:K,label:K},"day")}):(0,ee.jsx)(vr,{span:O,weekStartsOn:x,entries:N,today:a.today,perCell:a.perCell??wr[O.grain],emphasisOf:L,broken:T,hue:G,onOpen:E=>ne(hr(O.grain),E.from),onMove:ce})]})})}var re=F(Ee(),1);var Qe=F(Ee(),1),Ae=F(te(),1),$n={padding:"5px 10px",fontSize:"0.875rem",borderRadius:8,width:"100%",textAlign:"left",borderWidth:1,borderStyle:"solid",borderColor:"transparent",background:"none",boxShadow:"none"};function Sr({choices:e,close:t}){let[n,r]=(0,Qe.useState)(!1),a=(0,Qe.useRef)(null);return(0,Qe.useLayoutEffect)(()=>{n&&a.current?.querySelector("button:not([disabled])")?.focus()},[n]),(0,Ae.jsxs)("div",{children:[(0,Ae.jsxs)("button",{type:"button","data-menu-item":"move-to","aria-expanded":n,onClick:()=>r(i=>!i),style:$n,children:["Move to ",(0,Ae.jsx)("span",{"aria-hidden":"true",children:"\u203A"})]}),n?(0,Ae.jsx)("ul",{ref:a,"aria-label":"Move to","data-testid":"move-to",style:{margin:"2px 0 0 12px",padding:0,listStyle:"none",display:"flex",flexDirection:"column",gap:2},children:e.map(i=>i.run?(0,Ae.jsx)("li",{children:(0,Ae.jsx)("button",{type:"button","data-move-to":i.to,onClick:()=>{t(),i.run()},style:$n,children:i.label})},i.to):(0,Ae.jsxs)("li",{style:{display:"grid",gap:2},children:[(0,Ae.jsx)("button",{type:"button",disabled:!0,"data-move-to":i.to,"data-withheld":"",style:{...$n,borderStyle:"dashed"},children:(0,Ae.jsx)("s",{children:i.label})}),(0,Ae.jsx)("span",{"data-testid":"move-to-why",style:{fontSize:"0.8125rem",lineHeight:1.4,color:"var(--graview-ink-muted)",padding:"0 10px"},children:i.why})]},i.to))}):null]})}function kr({choose:e,close:t}){return(0,Ae.jsx)("button",{type:"button","data-menu-item":"choose-several",onClick:()=>{t(),e()},style:$n,children:"Choose several"})}var z=F(te(),1),aa=`
4
4
  .graview-columns { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
@@ -1 +1 @@
1
- import{b as x}from"./chunk.LEPKPNPA.js";import"./chunk.5D6SIBOK.js";import"./chunk.UE5GAP67.js";import"./chunk.WVUJXDXZ.js";import"./chunk.HUABTCQE.js";import"./chunk.DXJFAAOI.js";import"./chunk.5MSNKSTE.js";import"./chunk.KVQZ5FR6.js";import"./chunk.2HANQ737.js";import"./chunk.H536YUAZ.js";import"./chunk.GZHZLJBF.js";import{n as R}from"./chunk.OL2N5NUV.js";import"./chunk.OJGHDWI6.js";import"./chunk.5DPFAVCZ.js";import"./chunk.5EZDXWOE.js";import"./chunk.MIQMPOWF.js";import"./chunk.T66UK7PQ.js";import"./chunk.LMXNHBGH.js";import"./chunk.DBCVZGCC.js";import{G as A,T as v,ca as g}from"./chunk.WSMYFEGU.js";import"./chunk.SDO3U72B.js";import{Qc as k,ka as y,oa as c}from"./chunk.WR63RQGU.js";import"./chunk.FQLNBIQ5.js";import{b as u}from"./chunk.AJZBJBMO.js";var f=u(A(),1);var L=u(A(),1),S=(0,L.createContext)(void 0);var i=u(v(),1),W=new WeakMap,m=new WeakMap,P=(e,n)=>`${n.kind}\0${n.id??""}\0${e}`;function b(e,n,a){let p=P(n,a),o=W.get(e);o||W.set(e,o=new Map);let t=o.get(p);return t||(t=Promise.resolve().then(()=>e(n,a)).then(r=>C(r)?r:null,()=>null).then(r=>{let s=m.get(e);return s||m.set(e,s=new Map),s.set(p,r),r}),o.set(p,t)),t}function C(e){if(e===null)return!0;if(typeof e!="object"||e===void 0)return!1;if(e.denied===!0)return!0;let n=e;return typeof n.name=="string"&&n.name.trim()!==""&&typeof n.href=="string"}function h(e){if(/^https?:\/\//i.test(e))try{return new URL(e).href}catch{return}}var N=e=>h(e)??(c(e)?e:void 0),E=e=>h(e)??(e.startsWith("/")&&c(e)?e:void 0),I={kind:"human"},w={color:"var(--graview-ink-muted)"};function M({icon:e}){if(!e)return null;let n=E(e);if(n)return(0,i.jsx)("img",{src:n,alt:"",width:20,height:20,"data-graview-app-icon":"",style:{width:20,height:20,borderRadius:5,objectFit:"cover",flex:"0 0 auto"}});let a=[...e.trim()].slice(0,2).join("");return a?(0,i.jsx)("span",{"aria-hidden":"true","data-graview-app-icon":"",style:{flex:"0 0 auto",lineHeight:"20px"},children:a}):null}function V(e){let n=g(),a=(0,f.useContext)(S)??n?.resolveApp,p=n?.principal??I,o=()=>a?m.get(a)?.get(P(e,p))??"asking":null,[t,r]=(0,f.useState)(o);return(0,f.useEffect)(()=>{let s=o();if(r(s),s!=="asking"||!a)return;let l=!0;return b(a,e,p).then(d=>l&&r(d)),()=>{l=!1}},[a,e,p.kind,p.id]),t}function D({address:e,as:n="chip",nodeId:a,field:p,style:o}){let t=V(e),r={position:"relative",zIndex:k.raised,overflowWrap:"anywhere",minWidth:0,maxWidth:"100%",...o},s;if(t==="asking")s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"asking","aria-busy":"true",style:{...w,...r},children:"Linked app"});else if(t&&"denied"in t)s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"denied",style:{...w,fontStyle:"italic",...r},children:"linked app (no access)"});else if(t){let l=N(t.href),d=n==="record"?t.headline?.trim():void 0;s=(0,i.jsxs)(l?"a":"span",{"data-graview-app-link":"","data-graview-app-state":"found",...l?{href:l}:{},...!d&&t.headline?{title:t.headline}:{},style:{display:"inline-flex",alignItems:d?"flex-start":"center",minHeight:24,gap:8,color:"inherit",textUnderlineOffset:3,...r},children:[(0,i.jsx)(M,{icon:t.icon}),(0,i.jsxs)("span",{style:{display:"grid",minWidth:0},children:[(0,i.jsx)("span",{"data-graview-app-name":"",style:{fontWeight:600},children:t.name}),d?(0,i.jsx)("span",{"data-graview-app-headline":"",style:{...w,fontSize:"0.8125em",fontWeight:400},children:d}):null]})]})}else{let l=h(e);s=l?(0,i.jsx)("a",{"data-graview-app-link":"","data-graview-app-state":"plain",href:l,rel:"noopener noreferrer",target:"_blank",style:{color:"var(--graview-accent)",display:"inline-flex",alignItems:"center",minHeight:24,...r},children:e}):(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"plain",style:r,children:e})}return a&&p?(0,i.jsx)(H,{nodeId:a,field:p,address:e,drawn:s}):s}function H({nodeId:e,field:n,address:a,drawn:p}){let o=R(e).fields.some(s=>s.field===n),t=g()?.store;if(!o)return p;let r=y(t?t.schema.tryDefinition(String(t.graph.getNode(e)?.kind)):void 0,n).toLowerCase();return(0,i.jsxs)("span",{style:{display:"inline-flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px",maxWidth:"100%",minWidth:0},children:[p,(0,i.jsx)("span",{style:{fontSize:"0.8125rem"},children:(0,i.jsx)(x,{nodeId:e,field:n,value:"Change",stored:a,said:`Change the ${r}`})})]})}var Y=e=>(0,i.jsx)(D,{...e});export{D as AppLink,Y as drawAppLink};
1
+ import{b as x}from"./chunk.LWRXCO2Z.js";import"./chunk.I2NI7CT7.js";import"./chunk.LHIT3EZD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.7INWDFNG.js";import"./chunk.FPGU43SC.js";import"./chunk.V6FUYRZI.js";import"./chunk.5BPRGXIW.js";import"./chunk.BZEJM2PY.js";import"./chunk.CMLNBJZG.js";import"./chunk.GZHZLJBF.js";import{n as R}from"./chunk.QPL3OXW3.js";import"./chunk.OJGHDWI6.js";import"./chunk.FRERJWZJ.js";import"./chunk.RQX4CQJN.js";import"./chunk.LUIRQ5UF.js";import"./chunk.N33WUCAN.js";import"./chunk.JQFIZRAZ.js";import"./chunk.LKJ6FD6Y.js";import{G as A,T as v,ca as g}from"./chunk.DBMZ3AQB.js";import"./chunk.SDO3U72B.js";import{Uc as k,ma as y,qa as c}from"./chunk.DIFR37EZ.js";import"./chunk.FQLNBIQ5.js";import{b as u}from"./chunk.AJZBJBMO.js";var f=u(A(),1);var L=u(A(),1),S=(0,L.createContext)(void 0);var i=u(v(),1),W=new WeakMap,m=new WeakMap,P=(e,n)=>`${n.kind}\0${n.id??""}\0${e}`;function b(e,n,a){let p=P(n,a),o=W.get(e);o||W.set(e,o=new Map);let t=o.get(p);return t||(t=Promise.resolve().then(()=>e(n,a)).then(r=>C(r)?r:null,()=>null).then(r=>{let s=m.get(e);return s||m.set(e,s=new Map),s.set(p,r),r}),o.set(p,t)),t}function C(e){if(e===null)return!0;if(typeof e!="object"||e===void 0)return!1;if(e.denied===!0)return!0;let n=e;return typeof n.name=="string"&&n.name.trim()!==""&&typeof n.href=="string"}function h(e){if(/^https?:\/\//i.test(e))try{return new URL(e).href}catch{return}}var N=e=>h(e)??(c(e)?e:void 0),E=e=>h(e)??(e.startsWith("/")&&c(e)?e:void 0),I={kind:"human"},w={color:"var(--graview-ink-muted)"};function M({icon:e}){if(!e)return null;let n=E(e);if(n)return(0,i.jsx)("img",{src:n,alt:"",width:20,height:20,"data-graview-app-icon":"",style:{width:20,height:20,borderRadius:5,objectFit:"cover",flex:"0 0 auto"}});let a=[...e.trim()].slice(0,2).join("");return a?(0,i.jsx)("span",{"aria-hidden":"true","data-graview-app-icon":"",style:{flex:"0 0 auto",lineHeight:"20px"},children:a}):null}function V(e){let n=g(),a=(0,f.useContext)(S)??n?.resolveApp,p=n?.principal??I,o=()=>a?m.get(a)?.get(P(e,p))??"asking":null,[t,r]=(0,f.useState)(o);return(0,f.useEffect)(()=>{let s=o();if(r(s),s!=="asking"||!a)return;let l=!0;return b(a,e,p).then(d=>l&&r(d)),()=>{l=!1}},[a,e,p.kind,p.id]),t}function D({address:e,as:n="chip",nodeId:a,field:p,style:o}){let t=V(e),r={position:"relative",zIndex:k.raised,overflowWrap:"anywhere",minWidth:0,maxWidth:"100%",...o},s;if(t==="asking")s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"asking","aria-busy":"true",style:{...w,...r},children:"Linked app"});else if(t&&"denied"in t)s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"denied",style:{...w,fontStyle:"italic",...r},children:"linked app (no access)"});else if(t){let l=N(t.href),d=n==="record"?t.headline?.trim():void 0;s=(0,i.jsxs)(l?"a":"span",{"data-graview-app-link":"","data-graview-app-state":"found",...l?{href:l}:{},...!d&&t.headline?{title:t.headline}:{},style:{display:"inline-flex",alignItems:d?"flex-start":"center",minHeight:24,gap:8,color:"inherit",textUnderlineOffset:3,...r},children:[(0,i.jsx)(M,{icon:t.icon}),(0,i.jsxs)("span",{style:{display:"grid",minWidth:0},children:[(0,i.jsx)("span",{"data-graview-app-name":"",style:{fontWeight:600},children:t.name}),d?(0,i.jsx)("span",{"data-graview-app-headline":"",style:{...w,fontSize:"0.8125em",fontWeight:400},children:d}):null]})]})}else{let l=h(e);s=l?(0,i.jsx)("a",{"data-graview-app-link":"","data-graview-app-state":"plain",href:l,rel:"noopener noreferrer",target:"_blank",style:{color:"var(--graview-accent)",display:"inline-flex",alignItems:"center",minHeight:24,...r},children:e}):(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"plain",style:r,children:e})}return a&&p?(0,i.jsx)(H,{nodeId:a,field:p,address:e,drawn:s}):s}function H({nodeId:e,field:n,address:a,drawn:p}){let o=R(e).fields.some(s=>s.field===n),t=g()?.store;if(!o)return p;let r=y(t?t.schema.tryDefinition(String(t.graph.getNode(e)?.kind)):void 0,n).toLowerCase();return(0,i.jsxs)("span",{style:{display:"inline-flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px",maxWidth:"100%",minWidth:0},children:[p,(0,i.jsx)("span",{style:{fontSize:"0.8125rem"},children:(0,i.jsx)(x,{nodeId:e,field:n,value:"Change",stored:a,said:`Change the ${r}`})})]})}var Y=e=>(0,i.jsx)(D,{...e});export{D as AppLink,Y as drawAppLink};
@@ -0,0 +1 @@
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{G as k,Ga as o,T as n}from"./chunk.DBMZ3AQB.js";import{a as t}from"./chunk.SDO3U72B.js";import{b as p}from"./chunk.AJZBJBMO.js";var f=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.7INWDFNG.js","./chunk.FPGU43SC.js","./chunk.V6FUYRZI.js","./chunk.5BPRGXIW.js","./chunk.BZEJM2PY.js","./chunk.CMLNBJZG.js","./chunk.GZHZLJBF.js","./chunk.QPL3OXW3.js","./chunk.OJGHDWI6.js","./chunk.FRERJWZJ.js","./chunk.RQX4CQJN.js","./chunk.LUIRQ5UF.js","./chunk.N33WUCAN.js","./chunk.JQFIZRAZ.js","./chunk.LKJ6FD6Y.js","./chunk.DBMZ3AQB.js","./chunk.SDO3U72B.js","./chunk.DIFR37EZ.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.S5ECRIG5.js")))),y=f.part((e,r)=>e.drawFiles(r),{quiet:!0});var d=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.GZHZLJBF.js","./chunk.QPL3OXW3.js","./chunk.OJGHDWI6.js","./chunk.FRERJWZJ.js","./chunk.RQX4CQJN.js","./chunk.LUIRQ5UF.js","./chunk.N33WUCAN.js","./chunk.JQFIZRAZ.js","./chunk.LKJ6FD6Y.js","./chunk.DBMZ3AQB.js","./chunk.SDO3U72B.js","./chunk.DIFR37EZ.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.D3LQJXVP.js")))),I=d.part((e,r)=>e.drawLinkedRecord(r),{quiet:!0}),w=d.part((e,r)=>e.drawLinkedPicker(r),{what:"Picking a linked record"});var s=p(n(),1),m=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.GZHZLJBF.js","./chunk.QPL3OXW3.js","./chunk.OJGHDWI6.js","./chunk.FRERJWZJ.js","./chunk.RQX4CQJN.js","./chunk.LUIRQ5UF.js","./chunk.N33WUCAN.js","./chunk.JQFIZRAZ.js","./chunk.LKJ6FD6Y.js","./chunk.DBMZ3AQB.js","./chunk.SDO3U72B.js","./chunk.DIFR37EZ.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.3DPTDMJ7.js")))),E=m.part((e,r)=>(0,s.jsx)(e.RepeatPicker,{...r}),{quiet:!0}),W=m.part((e,r)=>(0,s.jsx)(e.RepeatEditor,{...r}),{quiet:!0});var a=p(k(),1),i=p(n(),1),c=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.RQX4CQJN.js","./chunk.LUIRQ5UF.js","./chunk.N33WUCAN.js","./chunk.JQFIZRAZ.js","./chunk.LKJ6FD6Y.js","./chunk.DBMZ3AQB.js","./chunk.SDO3U72B.js","./chunk.DIFR37EZ.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.NL3AJZ3N.js")))),l=c.part((e,r)=>(0,i.jsx)(e.WhenInput,{...r}),{quiet:!0});function M(e){return(0,i.jsx)(a.Suspense,{fallback:(0,i.jsx)("span",{"data-graview-when-arriving":"",style:{display:"inline-block",minHeight:24}}),children:(0,i.jsx)(l,{...e})})}var N=()=>c.load().then(()=>{},()=>{});export{y as a,I as b,w as c,E as d,W as e,M as f,N as g};
@@ -1 +1 @@
1
- import"./chunk.WVUJXDXZ.js";import{k as x}from"./chunk.HUABTCQE.js";import"./chunk.DXJFAAOI.js";import"./chunk.5MSNKSTE.js";import"./chunk.KVQZ5FR6.js";import"./chunk.2HANQ737.js";import"./chunk.H536YUAZ.js";import"./chunk.T66UK7PQ.js";import{$a as N,Za as f,da as S}from"./chunk.WR63RQGU.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var k=(n,r,t)=>({untrusted:!0,authoredBy:t.say(r),text:n});function O(n,r){let t;for(let[a,e]of Object.entries(n)){if(typeof e!="string"||a==="id"||a==="kind")continue;let o=r.fieldBy(n.id,a);o&&(t??={...n},t[a]=k(e,o,r))}return t??n}function L(n,r,t){let a=e=>{if(Array.isArray(e))return e.map(a);if(e!==null&&typeof e=="object"&&"id"in e&&"label"in e){let o=e,i=t.recordBy(o.id);return i?{...o,label:k(o.label,i,t)}:o}if(typeof e=="string"){let o=t.recordBy(n);return o?k(e,o,t):e}return e};return Object.fromEntries(Object.entries(r).map(([e,o])=>[e,a(o)]))}function $(n,r){return n.map(t=>{let a=r.recordBy(t.id);return a?{...t,label:k(t.label,a,r)}:t})}function D(n,r){return{...n,nodes:n.nodes.map(t=>O(t,r))}}var E=n=>(JSON.stringify(n)??"null").length,R=n=>typeof n=="number"&&Number.isFinite(n)&&n>0?Math.floor(n):0;function w(n,r,t,a,e,o=""){let i=n-r-t;return i>0?`and ${i} more ${e}: call ${a} with ${o}offset ${r+t} for the next page.`:void 0}var j=({line:n,...r})=>r;function T(n){let r;for(let[t,a]of Object.entries(n))typeof a!="string"||a.length<=600||(r??={...n},r[t]=`${a.slice(0,600)}\u2026 (cut at ${600} of ${a.length} characters)`);return r??n}function B(n,r,t,a){let e=Math.min(t,Math.max(0,n.length-r)),o=n.slice(r,r+e),i=a(o);for(;e>1&&E(i)>8e3;)e=Math.max(1,Math.floor(e*.75)),o=n.slice(r,r+e),i=a(o);return{page:o,answer:i}}function C(n,r){let t=JSON.stringify(r)??"null";if(t.length<=8e3)return r;let a=`This answer was ${t.length} characters, more than the ${8e3} one read answers, so it is cut. Ask ${n} for less, or use search_graph and get_node to read one thing.`;for(let e=8e3-a.length-40;;){let o={cut:a,partial:t.slice(0,e)},i=E(o)-8e3;if(i<=0)return o;e=Math.max(0,e-i-8)}}function I(n,r){let{matched:t,later:a,...e}=r,o=n.hits.filter(i=>i.about==="node").length;return n.total>o?{...e,more:`and ${n.total-o} more records match: narrow the words, or add kind:<kind>.`}:e}function P(n,r,t){let a=N(t.archived),e={nodes:n.graph.allNodes({archived:a}),edges:n.graph.allEdges({archived:"all"})},o=R(t.offset),i=e.nodes.length,{page:h,answer:u}=B(e.nodes,o,25,d=>{let g=new Set(d.map(s=>s.id)),l=new Set(d.map(s=>s.id)),c=w(i,o,d.length,"get_graph","nodes"),p=s=>l.has(s)||(a==="all"?n.graph.has(s):n.graph.has(s)&&f(n.graph.getNode(s))===a);return{...D({nodes:d.map(T),edges:e.edges.filter(s=>g.has(s.from)&&p(s.to))},r),total:i,...c?{more:c}:{}}});return{data:u,reads:h.map(d=>d.id)}}function U(n,r,t,a){let e=n.graph.getNode(t),o=R(a.offset),i=n.graph.outEdges(t),h=n.graph.inEdges(t),u=i.slice(o,o+20),d=h.slice(o,o+20),g=(s,A)=>{let m=n.graph.getNode(A);return{kind:s,id:A,label:m?S(n.schema.tryDefinition(m.kind),m):A,...f(m)?{archived:!0}:{}}},l=x(n.schema,n.graph,e),c=n.violations().filter(s=>s.nodeIds.includes(t)),p=[w(i.length,o,u.length,"get_node","links out",`id "${t}" and `),w(h.length,o,d.length,"get_node","links in",`id "${t}" and `),c.length>20?`and ${c.length-20} more problems: get_violations lists them.`:void 0].filter(Boolean);return{data:{node:O(T(e),r),...f(e)?{archived:!0}:{},...Object.keys(l.values).length>0?{computed:L(t,l.values,r)}:{},...Object.keys(l.refused).length>0?{uncomputed:l.refused}:{},out:$(u.map(s=>g(s.kind,s.to)),r),in:$(d.map(s=>g(s.kind,s.from)),r),violations:c.slice(0,20).map(j),...p.length>0?{more:p.join(" ")}:{}},reads:[t,...u.map(s=>s.to),...d.map(s=>s.from)]}}function F(n,r){let t=R(r.offset),{page:a,answer:e}=B(n,t,20,o=>{let i=w(n.length,t,o.length,"get_violations","problems");return{violations:o.map(j),total:n.length,...i?{more:i}:{}}});return{data:e,reads:[...new Set(a.flatMap(o=>o.nodeIds))]}}export{P as graphRead,U as nodeRead,I as searchRead,F as violationsRead,C as withinReadChars};
1
+ import"./chunk.WVUJXDXZ.js";import{k as x}from"./chunk.7INWDFNG.js";import"./chunk.FPGU43SC.js";import"./chunk.V6FUYRZI.js";import"./chunk.5BPRGXIW.js";import"./chunk.BZEJM2PY.js";import"./chunk.CMLNBJZG.js";import"./chunk.N33WUCAN.js";import{ab as f,cb as N,ga as S}from"./chunk.DIFR37EZ.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var k=(n,r,t)=>({untrusted:!0,authoredBy:t.say(r),text:n});function O(n,r){let t;for(let[a,e]of Object.entries(n)){if(typeof e!="string"||a==="id"||a==="kind")continue;let o=r.fieldBy(n.id,a);o&&(t??={...n},t[a]=k(e,o,r))}return t??n}function L(n,r,t){let a=e=>{if(Array.isArray(e))return e.map(a);if(e!==null&&typeof e=="object"&&"id"in e&&"label"in e){let o=e,i=t.recordBy(o.id);return i?{...o,label:k(o.label,i,t)}:o}if(typeof e=="string"){let o=t.recordBy(n);return o?k(e,o,t):e}return e};return Object.fromEntries(Object.entries(r).map(([e,o])=>[e,a(o)]))}function $(n,r){return n.map(t=>{let a=r.recordBy(t.id);return a?{...t,label:k(t.label,a,r)}:t})}function D(n,r){return{...n,nodes:n.nodes.map(t=>O(t,r))}}var E=n=>(JSON.stringify(n)??"null").length,R=n=>typeof n=="number"&&Number.isFinite(n)&&n>0?Math.floor(n):0;function w(n,r,t,a,e,o=""){let i=n-r-t;return i>0?`and ${i} more ${e}: call ${a} with ${o}offset ${r+t} for the next page.`:void 0}var j=({line:n,...r})=>r;function T(n){let r;for(let[t,a]of Object.entries(n))typeof a!="string"||a.length<=600||(r??={...n},r[t]=`${a.slice(0,600)}\u2026 (cut at ${600} of ${a.length} characters)`);return r??n}function B(n,r,t,a){let e=Math.min(t,Math.max(0,n.length-r)),o=n.slice(r,r+e),i=a(o);for(;e>1&&E(i)>8e3;)e=Math.max(1,Math.floor(e*.75)),o=n.slice(r,r+e),i=a(o);return{page:o,answer:i}}function C(n,r){let t=JSON.stringify(r)??"null";if(t.length<=8e3)return r;let a=`This answer was ${t.length} characters, more than the ${8e3} one read answers, so it is cut. Ask ${n} for less, or use search_graph and get_node to read one thing.`;for(let e=8e3-a.length-40;;){let o={cut:a,partial:t.slice(0,e)},i=E(o)-8e3;if(i<=0)return o;e=Math.max(0,e-i-8)}}function I(n,r){let{matched:t,later:a,...e}=r,o=n.hits.filter(i=>i.about==="node").length;return n.total>o?{...e,more:`and ${n.total-o} more records match: narrow the words, or add kind:<kind>.`}:e}function P(n,r,t){let a=N(t.archived),e={nodes:n.graph.allNodes({archived:a}),edges:n.graph.allEdges({archived:"all"})},o=R(t.offset),i=e.nodes.length,{page:h,answer:u}=B(e.nodes,o,25,d=>{let g=new Set(d.map(s=>s.id)),l=new Set(d.map(s=>s.id)),c=w(i,o,d.length,"get_graph","nodes"),p=s=>l.has(s)||(a==="all"?n.graph.has(s):n.graph.has(s)&&f(n.graph.getNode(s))===a);return{...D({nodes:d.map(T),edges:e.edges.filter(s=>g.has(s.from)&&p(s.to))},r),total:i,...c?{more:c}:{}}});return{data:u,reads:h.map(d=>d.id)}}function U(n,r,t,a){let e=n.graph.getNode(t),o=R(a.offset),i=n.graph.outEdges(t),h=n.graph.inEdges(t),u=i.slice(o,o+20),d=h.slice(o,o+20),g=(s,A)=>{let m=n.graph.getNode(A);return{kind:s,id:A,label:m?S(n.schema.tryDefinition(m.kind),m):A,...f(m)?{archived:!0}:{}}},l=x(n.schema,n.graph,e),c=n.violations().filter(s=>s.nodeIds.includes(t)),p=[w(i.length,o,u.length,"get_node","links out",`id "${t}" and `),w(h.length,o,d.length,"get_node","links in",`id "${t}" and `),c.length>20?`and ${c.length-20} more problems: get_violations lists them.`:void 0].filter(Boolean);return{data:{node:O(T(e),r),...f(e)?{archived:!0}:{},...Object.keys(l.values).length>0?{computed:L(t,l.values,r)}:{},...Object.keys(l.refused).length>0?{uncomputed:l.refused}:{},out:$(u.map(s=>g(s.kind,s.to)),r),in:$(d.map(s=>g(s.kind,s.from)),r),violations:c.slice(0,20).map(j),...p.length>0?{more:p.join(" ")}:{}},reads:[t,...u.map(s=>s.to),...d.map(s=>s.from)]}}function F(n,r){let t=R(r.offset),{page:a,answer:e}=B(n,t,20,o=>{let i=w(n.length,t,o.length,"get_violations","problems");return{violations:o.map(j),total:n.length,...i?{more:i}:{}}});return{data:e,reads:[...new Set(a.flatMap(o=>o.nodeIds))]}}export{P as graphRead,U as nodeRead,I as searchRead,F as violationsRead,C as withinReadChars};
@@ -1 +1 @@
1
- import{Ma as y,Oa as k,T as w,j as c,l as h,m as b,r as f}from"./chunk.WSMYFEGU.js";import{U as i}from"./chunk.WR63RQGU.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
1
+ import{Ma as y,Oa as k,T as w,j as c,l as h,m as b,r as f}from"./chunk.DBMZ3AQB.js";import{W as i}from"./chunk.DIFR37EZ.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
@@ -0,0 +1 @@
1
+ import{b as f}from"./chunk.JD5HSAMC.js";import"./chunk.4JDHBNEA.js";import"./chunk.M72JKVHP.js";import"./chunk.YQXA4WAM.js";import{l as g}from"./chunk.UWQ3I5OW.js";import"./chunk.UGFDSE37.js";import"./chunk.PXQVXBNG.js";import"./chunk.FLMNWVSY.js";import"./chunk.JETT6ELP.js";import"./chunk.DSLGMCB6.js";import"./chunk.IX63LTRQ.js";import"./chunk.I636CZE4.js";import"./chunk.TVURUMU4.js";import"./chunk.UV3U4FRT.js";import"./chunk.EZ4TZUMM.js";import"./chunk.47T3KUAA.js";import"./chunk.NZDWXX6H.js";import"./chunk.C5EFUODO.js";import"./chunk.UGOKORIF.js";import"./chunk.VDS3IOTK.js";import"./chunk.YS5U3DUX.js";import"./chunk.SAJLIA5M.js";import"./chunk.LWRXCO2Z.js";import"./chunk.I2NI7CT7.js";import"./chunk.LHIT3EZD.js";import"./chunk.BJUUSIQY.js";import"./chunk.BCE6LIDR.js";import"./chunk.MBLFZF5R.js";import"./chunk.XOZU4OFA.js";import"./chunk.5NZDFT6R.js";import"./chunk.MB7LKKUD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.7INWDFNG.js";import"./chunk.FPGU43SC.js";import"./chunk.V6FUYRZI.js";import"./chunk.5BPRGXIW.js";import"./chunk.BZEJM2PY.js";import"./chunk.CMLNBJZG.js";import"./chunk.GZHZLJBF.js";import"./chunk.QPL3OXW3.js";import"./chunk.OJGHDWI6.js";import"./chunk.FRERJWZJ.js";import"./chunk.RQX4CQJN.js";import"./chunk.LUIRQ5UF.js";import"./chunk.N33WUCAN.js";import"./chunk.JQFIZRAZ.js";import"./chunk.LKJ6FD6Y.js";import{G as b,T as h}from"./chunk.DBMZ3AQB.js";import"./chunk.SDO3U72B.js";import{Vd as n}from"./chunk.DIFR37EZ.js";import"./chunk.FQLNBIQ5.js";import{b as t}from"./chunk.AJZBJBMO.js";var m=t(b(),1),a=t(h(),1);function P({store:c,auto:y,brand:i,views:u,presence:s,steering:r,overview:o,scope:d,titleLevel:w=2,quickAsk:l,props:e}){let v=(0,m.useMemo)(()=>g({scope:`.${d}`}),[d]);return(0,a.jsxs)("div",{"data-embed-content":"",style:y?{flex:"0 0 auto",background:"var(--graview-ground)"}:{flex:"1 1 auto",minHeight:0,overflow:"auto",background:"var(--graview-ground)"},children:[(0,a.jsx)("style",{children:v}),(0,a.jsx)("div",{"data-embed-measure":"",style:{display:"flow-root"},children:(0,a.jsx)(f,{context:{store:c,embedded:!0,...e.bar!==!1?{barAbove:!0}:{},...o?{overview:o}:{},titleLevel:w,views:u,settings:e.app.settings??[],app:e.app,...s?{presence:s}:{},...i?{brand:i}:{},...e.locale?{locale:e.locale}:{},...e.timeZone?{timeZone:e.timeZone}:{},...e.principal?{principal:e.principal}:{},...e.seats?{seats:e.seats}:{},...e.people?{people:e.people}:{},...e.subscriptions?{subscriptions:e.subscriptions}:{},dismissals:e.dismissals,whileAway:e.whileAway,...e.signIn?{signIn:e.signIn}:{},...l!==void 0?{quickAsk:l}:{}},...e.pages?{registry:e.pages}:{},...r?{steering:r}:{},...e.routing==="address"?n(e.basePath)===""?{}:{basename:n(e.basePath)}:{initialPath:e.path??"/"},...e.path!==void 0?{path:e.path}:{},...e.hrefOf?{hrefOf:e.hrefOf}:e.routing==="address"?{}:{hrefOf:!1},...e.onNavigate?{onNavigate:e.onNavigate}:{}})})]})}export{P as PagesContent};
@@ -1 +1 @@
1
- import{a as C,e as L,n as H,o as R,p as k}from"./chunk.35O5H5L7.js";import"./chunk.BJUUSIQY.js";import"./chunk.BRCKXL7B.js";import"./chunk.CPNE6HPQ.js";import"./chunk.EKP3HQAX.js";import"./chunk.XOZU4OFA.js";import"./chunk.QQ3YWKWU.js";import{a as S}from"./chunk.IXHLP2CL.js";import"./chunk.DXJFAAOI.js";import"./chunk.5EZDXWOE.js";import"./chunk.MIQMPOWF.js";import"./chunk.T66UK7PQ.js";import"./chunk.LMXNHBGH.js";import"./chunk.DBCVZGCC.js";import{G as T,Sa as E,T as b}from"./chunk.WSMYFEGU.js";import"./chunk.SDO3U72B.js";import{Rc as x}from"./chunk.WR63RQGU.js";import"./chunk.FQLNBIQ5.js";import{b as g}from"./chunk.AJZBJBMO.js";var t=g(T(),1);var c=g(b(),1);function N(n){if(!n||n.interaction.outcome==="failed")return null;let s=n.offers[0],o=s?n.interaction.offered.find(i=>i.id===s.id)?.confidence:void 0;return s&&o!==void 0&&o>=.6?{offer:s,confidence:o}:null}function V({rest:n,hold:s,leave:o}){let i=S(),u=(0,t.useMemo)(()=>C(n.target,e=>i.store.graph.has(e)),[n.target,i.store]),l=u.on==="record"&&L(i.ai)!==void 0,m=l?H(i,u):void 0,p=JSON.stringify(u),[y,I]=(0,t.useState)(null);(0,t.useEffect)(()=>{if(!l||m!==void 0)return;let e=!0;return R(i,u).then(r=>{e&&I({key:p,result:r})}),()=>{e=!1}},[p,l]);let w=m??(y?.key===p?y.result:void 0),f=l?N(w):null,v=f?.offer.id??null,h=(0,t.useRef)(null);if((0,t.useEffect)(()=>{if(v===null)return;let e=r=>{r.target instanceof Node&&h.current?.contains(r.target)||o(!0)};return document.addEventListener("pointerdown",e,{capture:!0,passive:!0}),document.addEventListener("contextmenu",e,{capture:!0,passive:!0}),addEventListener("scroll",e,{capture:!0,passive:!0}),addEventListener("resize",e,{passive:!0}),()=>{document.removeEventListener("pointerdown",e,{capture:!0}),document.removeEventListener("contextmenu",e,{capture:!0}),removeEventListener("scroll",e,{capture:!0}),removeEventListener("resize",e)}},[v,o]),(0,t.useLayoutEffect)(()=>{let e=h.current;if(!e)return;if(typeof e.showPopover=="function"&&!E(e))try{e.showPopover()}catch{}let r=n.element.getBoundingClientRect(),d=e.getBoundingClientRect(),O=r.top-d.height-4>=4?r.top-d.height-4:Math.min(innerHeight-d.height-4,r.top+4),A=Math.max(4,Math.min(innerWidth-d.width-4,r.right-d.width));e.style.top=`${Math.round(O)}px`,e.style.left=`${Math.round(A)}px`},[v,n.element]),!f)return null;let{offer:a,confidence:P}=f,M=a.type==="panel"?"a panel":a.type==="place"?"go there":a.type==="record"?"open it":"suggested";return(0,c.jsxs)("button",{ref:h,type:"button",popover:"manual","data-testid":"hover-chip","data-ai-offer":a.id,"data-ai-offer-type":a.type,"data-graview-overlay":"","data-graview-popover":"","aria-label":`Suggested by AI: ${a.label}`,title:`Suggested by AI, ${Math.round(P*100)}% sure`,onPointerEnter:s,onPointerLeave:()=>o(),onClick:()=>{n.element.closest("[tabindex], a[href], button")?.focus({preventScroll:!0}),o(!0),k(i,w,a)},style:$,children:[(0,c.jsxs)("span",{"aria-hidden":"true",style:{color:"var(--graview-accent)"},children:["\u2726"," "]}),a.label,(0,c.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",M]})]})}var $={position:"fixed",inset:"auto",top:0,left:0,margin:0,zIndex:x("toast"),boxSizing:"border-box",width:"max-content",maxWidth:"min(320px, calc(100vw - 8px))",height:"auto",minHeight:24,padding:"2px 10px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",borderRadius:999,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",color:"var(--graview-ink)",boxShadow:"var(--graview-lift-high)",font:"inherit",fontSize:"0.75rem",cursor:"pointer"};export{V as HoverChip};
1
+ import{a as C,e as L,n as H,o as R,p as k}from"./chunk.N2DM42SG.js";import"./chunk.BJUUSIQY.js";import"./chunk.BCE6LIDR.js";import"./chunk.MBLFZF5R.js";import"./chunk.RALAID6N.js";import"./chunk.XOZU4OFA.js";import"./chunk.5NZDFT6R.js";import{a as S}from"./chunk.JBSW7ZNH.js";import"./chunk.FPGU43SC.js";import"./chunk.RQX4CQJN.js";import"./chunk.LUIRQ5UF.js";import"./chunk.N33WUCAN.js";import"./chunk.JQFIZRAZ.js";import"./chunk.LKJ6FD6Y.js";import{G as T,Sa as E,T as b}from"./chunk.DBMZ3AQB.js";import"./chunk.SDO3U72B.js";import{Vc as x}from"./chunk.DIFR37EZ.js";import"./chunk.FQLNBIQ5.js";import{b as g}from"./chunk.AJZBJBMO.js";var t=g(T(),1);var c=g(b(),1);function N(n){if(!n||n.interaction.outcome==="failed")return null;let s=n.offers[0],o=s?n.interaction.offered.find(i=>i.id===s.id)?.confidence:void 0;return s&&o!==void 0&&o>=.6?{offer:s,confidence:o}:null}function V({rest:n,hold:s,leave:o}){let i=S(),u=(0,t.useMemo)(()=>C(n.target,e=>i.store.graph.has(e)),[n.target,i.store]),l=u.on==="record"&&L(i.ai)!==void 0,m=l?H(i,u):void 0,p=JSON.stringify(u),[y,I]=(0,t.useState)(null);(0,t.useEffect)(()=>{if(!l||m!==void 0)return;let e=!0;return R(i,u).then(r=>{e&&I({key:p,result:r})}),()=>{e=!1}},[p,l]);let w=m??(y?.key===p?y.result:void 0),f=l?N(w):null,v=f?.offer.id??null,h=(0,t.useRef)(null);if((0,t.useEffect)(()=>{if(v===null)return;let e=r=>{r.target instanceof Node&&h.current?.contains(r.target)||o(!0)};return document.addEventListener("pointerdown",e,{capture:!0,passive:!0}),document.addEventListener("contextmenu",e,{capture:!0,passive:!0}),addEventListener("scroll",e,{capture:!0,passive:!0}),addEventListener("resize",e,{passive:!0}),()=>{document.removeEventListener("pointerdown",e,{capture:!0}),document.removeEventListener("contextmenu",e,{capture:!0}),removeEventListener("scroll",e,{capture:!0}),removeEventListener("resize",e)}},[v,o]),(0,t.useLayoutEffect)(()=>{let e=h.current;if(!e)return;if(typeof e.showPopover=="function"&&!E(e))try{e.showPopover()}catch{}let r=n.element.getBoundingClientRect(),d=e.getBoundingClientRect(),O=r.top-d.height-4>=4?r.top-d.height-4:Math.min(innerHeight-d.height-4,r.top+4),A=Math.max(4,Math.min(innerWidth-d.width-4,r.right-d.width));e.style.top=`${Math.round(O)}px`,e.style.left=`${Math.round(A)}px`},[v,n.element]),!f)return null;let{offer:a,confidence:P}=f,M=a.type==="panel"?"a panel":a.type==="place"?"go there":a.type==="record"?"open it":"suggested";return(0,c.jsxs)("button",{ref:h,type:"button",popover:"manual","data-testid":"hover-chip","data-ai-offer":a.id,"data-ai-offer-type":a.type,"data-graview-overlay":"","data-graview-popover":"","aria-label":`Suggested by AI: ${a.label}`,title:`Suggested by AI, ${Math.round(P*100)}% sure`,onPointerEnter:s,onPointerLeave:()=>o(),onClick:()=>{n.element.closest("[tabindex], a[href], button")?.focus({preventScroll:!0}),o(!0),k(i,w,a)},style:$,children:[(0,c.jsxs)("span",{"aria-hidden":"true",style:{color:"var(--graview-accent)"},children:["\u2726"," "]}),a.label,(0,c.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",M]})]})}var $={position:"fixed",inset:"auto",top:0,left:0,margin:0,zIndex:x("toast"),boxSizing:"border-box",width:"max-content",maxWidth:"min(320px, calc(100vw - 8px))",height:"auto",minHeight:24,padding:"2px 10px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",borderRadius:999,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",color:"var(--graview-ink)",boxShadow:"var(--graview-lift-high)",font:"inherit",fontSize:"0.75rem",cursor:"pointer"};export{V as HoverChip};
@@ -0,0 +1 @@
1
+ import{b as cn,c as ln,d as oe,e as fn,f as ie,h as Ae,i as ze,n as pn,r as ae}from"./chunk.CMLNBJZG.js";import{B as ue,Ba as Ue,C as re,Db as W,Ea as We,F as Ke,Ga as Je,Gb as tn,H as Ie,Ic as sn,J as qe,Jc as xe,K as Be,Ka as we,Kb as rn,Kc as dn,La as ve,Lc as Re,Pb as on,Ra as Ye,Ua as Qe,b as $e,c as Ge,d as Me,da as ke,e as K,ea as _e,eb as Xe,g as ce,gb as en,h as F,i as Pe,j as Fe,k as le,l as Ne,lb as Oe,m as Ce,mb as nn,na as He,o as Ve,p as fe,q as he,v as Ze,x as te,xc as an,ya as be,z as pe}from"./chunk.DIFR37EZ.js";function un(e){if(typeof e=="string")return{form:"string",light:e};if(typeof e!="object"||e===null)return;let a=e,n=b=>typeof a[b]=="string"?a[b]:void 0,t=n("light")??n("src");if(t===void 0)return;let[i,f,m]=[n("dark"),n("alt"),n("darkFallback")];return{form:n("light")!==void 0?"light":"src",light:t,...i!==void 0?{dark:i}:{},...f!==void 0?{alt:f}:{},...m!==void 0?{darkFallback:m}:{}}}function Cn(e,a){let n=e.brand??{},t=n.ground,i=n.accent?Re(n.accent,t):void 0;t&&dn(i?.ok?i.schemes:xe(t),n.accent)&&(a.push(ze("brand","brand.ground","words would not read on that page background, so the app keeps Graview's","pick a lighter ground for the light scheme, a darker one for the dark")),t=void 0,i=n.accent?Re(n.accent):void 0),i&&!i.ok&&a.push(ze("brand","brand.accent",`that accent cannot make a readable brand, so the app keeps Graview's colors: ${i.why}`,"pick a color further from orange-red, or a darker one"));let f=un(n.logo),m=n.name??e.name,b=n.typography?Object.fromEntries(Object.entries(n.typography).filter(([,E])=>typeof E=="string"&&!/url\(|@import|[;{}<>\\]/i.test(E)).map(([E,D])=>[E,sn(D)])):void 0;return{name:m,schemes:i?.ok?i.schemes:t?xe(t):an,...n.currency?{currency:n.currency}:{},...n.locale?{locale:n.locale}:{},...n.timeZone?{timeZone:n.timeZone}:{},...f?{logo:f.dark||f.darkFallback==="invert"?{light:f.light,...f.dark?{dark:f.dark}:{darkFallback:"invert"}}:f.light,logoAlt:f.alt??m}:{},...n.favicon?{favicon:n.favicon}:{},...e.description?{subtitle:e.description}:{},...n.subtitle===!1?{subtitleDrawn:!1}:{},...b?{typography:b}:{},...n.shape?{shape:n.shape}:{},...n.accents?{accents:n.accents}:{},...n.scheme?{scheme:n.scheme}:{}}}function mn(e){let{currency:a,locale:n,timeZone:t}=e.brand??{};return{...a?{currency:a}:{},...n?{locale:n}:{},...t?{timeZone:t}:{}}}var xn=Symbol.for("@graview/core:typed-field"),gn=(e,a)=>(/^(phone|place|duration)$/.test(a)&&(re(e)[xn]=a),e),yn=/^(?=(?:\D*\d){3})\+?[\d ()./-]+(?: *(?:ext\.?|x|#) *\d+)?$/i;function hn(e){let a=F().check(K(300),pe(t=>We(t,e)!==void 0,`a record of ${e.kinds.join(" or ")} in ${e.address}, as "<kind>:<id>"`)),n=e.cardinality==="one"?a:fe(a).check(K(200));return Je(e.description?n.check(ue(e.description)):n,e)}var An=new WeakMap;function kn(e,a){An.set(e,a)}var zn=[{where:"settings[]",was:"honoured",now:"honored",since:"0.1.16"},{where:"pages",was:"overview",now:"scene",since:"0.1.17"}],I=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function bn(e,a=zn){if(!I(e))return{document:e,respelled:[]};let n=[],t=e;for(let i of a)t=Se(t,i.where.split("."),i,"",n);return{document:t,respelled:n}}function Se(e,a,n,t,i){if(a.length===0){if(!I(e)||!Object.hasOwn(e,n.was))return e;i.push(`${t}${n.was}`);let{[n.was]:$,...N}=e;return Object.hasOwn(e,n.now)?N:{...N,[n.now]:$}}if(!I(e))return e;let[f,...m]=a,b=f.endsWith("[]"),E=b?f.slice(0,-2):f,D=e[E],B=D;if(!b)B=Se(D,m,n,`${t}${E}.`,i);else if(Array.isArray(D)){let $=D.map((N,J)=>Se(N,m,n,`${t}${E}.${J}.`,i));B=$.some((N,J)=>N!==D[J])?$:D}return B===D?e:{...e,[E]:B}}var wn="graview-compiled@1";function Sn(e,a){return e.find(([n,t])=>n!==q&&"ref"in t&&(t.ref==="*"||t.ref.includes(a)))?.[0]}var q="id",me=e=>typeof e=="string"&&/^\$[A-Za-z][A-Za-z0-9]*$/.test(e)?e.slice(1):void 0;function vn(e){let a=Object.entries(e.fields),n=t=>["name","title","label"].find(i=>t.some(([f])=>f===i))??t[0]?.[0];return n(a.filter(([,t])=>t.required&&(t.type==="string"||t.type==="text")))??n(a.filter(([,t])=>t.type==="string"))}function On(e,a,n){let t;switch(e.type){case"string":case"place":t=F().check(K(500));break;case"phone":t=F().check(K(40),ce(yn,"a phone number"));break;case"text":t=F().check(K(2e4)),e.format&&(re(t)[Symbol.for("@graview/core:markdown")]=1);break;case"number":case"integer":case"duration":{let f=e.min??(e.type==="duration"?0:void 0),m=[...e.type==="number"?[]:[Ne()],...f===void 0?[]:[Ge(f)],...e.max===void 0?[]:[$e(e.max)],...e.step===void 0?[]:[Me(e.step)]];t=m.length>0?le().check(...m):le();break}case"boolean":t=Ce();break;case"date":t=F().check(ce(Ie,"a date like 2026-10-02, or a month (2016-05) or a year (2006) alone"));break;case"datetime":t=F().check(pe(qe,"a date and time like 2026-10-02T14:30:00Z"));break;case"enum":t=Ze(e.options);break;case"list":t=fe(e.of==="number"?le():e.of==="date"?F().check(ce(Ke)):e.of==="image"||e.of==="video"||e.of==="file"?be(e.of):F().check(K(500))).check(K(200));break;case"image":case"video":case"file":t=be(e.type);break;case"app-link":t=Ue();break;case"url":t=Fe();break;case"email":t=Pe();break}let i=e.type==="number"||e.type==="integer";return gn(t,i&&e.format==="duration"?"duration":e.type),e.collaborative!==void 0&&(e.type==="text"||e.type==="string")&&(re(t)[Symbol.for("@graview/core:collaborative")]=e.collaborative?1:0),e.description&&(t=t.check(ue(e.description))),i&&(e.format==="money"||e.format==="percent"||!e.format&&e.unit)&&rn(t,{...n,...e.format?{format:e.format}:{},...e.unit?{unit:e.unit}:{}}),a?te(t):t}var se=e=>{throw new W(`there is no record "${e}"`,"invalid")},jn=(e,a)=>"field"in e?On(e.field,e.optional,a):"ref"in e?on(e.ref):te(Ve()),En=new WeakMap;var je=(e,a)=>I(a)&&Object.keys(e??{}).length===Object.keys(a).length&&Object.keys(e??{}).every(n=>Object.hasOwn(a,n));function lt(e,a={}){let n=I(e)?e.format:void 0;if(n!==wn)return{ok:!1,findings:[Ae("compiled-format","format",n===void 0?"this is not a compiled Graview app":`this compiled app is ${JSON.stringify(n)}, and this build reads ${wn}`,"compile the document instead")]};let t=e,i=bn(t.document).document,f=i===t.document?t:{...t,document:i},m=I(i)&&typeof i.name=="string"&&I(i.kinds)&&je(i.kinds,f.kinds)&&je(i.acts,f.acts)&&je(i.rules,f.rules)&&Array.isArray(f.edges)&&Array.isArray(f.findings),b={ok:!1,findings:[Ae("compiled-shape","","this compiled app's parts do not match its document","compile the document instead")]};if(!m)return b;try{return Dn(f,a)}catch{return b}}function Dn(e,a={}){let{document:n}=e,t=n.brand?.timeZone,i=a.today??(()=>Be(t)),f=new Map(e.edges.map(([h,o])=>[h,o])),m=new Map;for(let[h,o]of Object.entries(n.kinds)){let A=e.kinds[h]?.computed,x=ve(o.edges);m.set(h,{fields:new Set([...Object.keys(o.fields),...x.keys()]),edges:new Map(Object.entries(we(o.edges)).map(([T,G])=>[T,G.cardinality??"many"])),...A?{computed:new Map(A)}:{},...x.size>0?{linked:x}:{}})}e.facts&&m.set(ln,{computed:new Map(e.facts)});let b=mn(n),E=new Map,D=Object.entries(n.kinds).map(([h,o])=>{let A={};for(let[r,d]of Object.entries(o.fields))A[r]=On(d,!d.required,b),d.repeats&&(A[Ye(r)]=te(Qe()));for(let[r,d]of ve(o.edges))A[r]=te(hn(d));let{label:x,describe:T,durations:G}=e.kinds[h]??{},M=Object.entries(o.computed??{}).map(([r,d])=>[r,typeof d=="string"?{expr:d}:d]),Y=Object.hasOwn(o.fields,"label")&&!o.fields.label.label&&!/\{\s*label\b/.test(o.label??`{${vn(o)??""}}`),_=Object.fromEntries([...Y?[["label","Label"]]:[],...Object.entries(o.fields).filter(([,r])=>r.label).map(([r,d])=>[r,d.label]),...M.filter(([,r])=>r.label).map(([r,d])=>[r,d.label])]),z=Object.keys(_).length>0,g=Object.entries(o.fields).filter(([,r])=>r.type==="enum"&&r.optionLabels&&Object.keys(r.optionLabels).length>0),L=Object.fromEntries(g.map(([r,d])=>[r,R=>typeof R=="string"&&Object.hasOwn(d.optionLabels,R)?d.optionLabels[R]:ke(String(R))])),C=g.length>0,P=Object.fromEntries(Object.entries(o.fields).filter(([,r])=>r.default!==void 0).map(([r,d])=>[r,d.default]));E.set(h,P);let H=Object.fromEntries(Object.entries(we(o.edges)).map(([r,{renamedFrom:d,...R}])=>[r,R])),V=Object.entries(o.fields).flatMap(([r,d])=>d.aliases?[[r,d.aliases]]:[]),S=r=>o[r]?{[r]:o[r]}:{};return _e(h,{fields:he(A),edges:H,...S("plural"),...S("noun"),...S("aliases"),...V.length>0?{fieldAliases:Object.fromEntries(V)}:{},...S("description"),...x?{label:r=>ae(x,{node:r,kinds:m,today:i(),money:b})||r.id}:{},...T?{describe:r=>ae(T,{node:r,kinds:m,today:i(),money:b})}:{},...S("lifecycle"),...S("figure"),...S("fieldRoles"),...S("people"),archives:o.archives,...o.tidying?{tidying:o.tidying}:{},...M.length>0?{computed:Object.fromEntries(M.map(([r,d])=>[r,Tn(d,G?.includes(r)??!1,b)??o.computed[r]]))}:{},...z||C||o.glance||o.page?{display:{...z?{labels:_}:{},...C?{format:L}:{},...o.glance?{glance:[...o.glance]}:{},...o.page?{page:o.page}:{}}}:{},...Object.keys(P).length>0?{defaults:P}:{}})}),B=Xe(D,n.computed);function $(h){return B.tryDefinition(h.kind)?.label?.(h)??h.id}let N=h=>({id:"",kind:h,...E.get(h)}),J=[];for(let[h,o]of Object.entries(n.acts??{})){let A=e.acts[h],{title:x,effects:T,guard:G,refusal:M,destructive:Y,idempotent:_,creates:z,connects:g,severs:L,writes:C,writesOther:P,sets:H}=A,V=new Map(A.args),S={};for(let[c,v]of V)S[c]=jn(v,b);let r=[o.on??[]].flat(),d=new Map(A.exprs),R=T.find(c=>"create"in c),Q=(c,v,p,w=null)=>{if(I(c)&&"expr"in c)return ie(d.get(c.expr),{graph:p,subject:w,kinds:m,bindings:v,today:i()});let k=me(c);return k===void 0?typeof c=="string"&&c.startsWith("$$")?c.slice(1):c:k==="now"?new Date().toISOString():k==="today"?i():v[k]},Te=(c,v)=>{if(!R)return"";let p=n.kinds[R.create].fields,w=N(R.create),k=[];for(let[O,ne]of Object.entries(R.set??{})){try{w[O]=Q(ne,c,v)??w[O]}catch{}let X=me(ne);X&&c[X]!==void 0&&k.push(O)}let Z=$(w).trim(),U=k.filter(O=>w[O]!==!1&&p[O].type!=="text"&&!(/[^]{41}/.test(w[O])||/ .*[.!?]$/.test(w[O])&&!/[ .][A-Z]\w{0,3}\.$/.test(w[O]))&&$({...w,[O]:void 0}).trim()===Z).map(O=>w[O]===!0?p[O].label??ke(O):pn(w[O],p[O].format,i(),[],b));return Z&&U.length>0?`${Z} (${U.join(", ")})`:Z};J.push(tn(h,{input:he(S),title:x,...o.description?{description:o.description}:{},...o.fromTheOtherEnd?{fromTheOtherEnd:o.fromTheOtherEnd}:{},...V.has(q)?{subject:{kinds:r.length>0?r:"*",arg:q}}:{},...Y?{destructive:!0}:{},..._?{idempotent:!0}:{},...z.length>0?{creates:z}:{},...g.length>0?{connects:g}:{},...L.length>0?{severs:L}:{},writes:C,...Object.keys(P).length>0?{writesOther:P}:{},...Object.keys(H).length>0?{sets:H}:{},describe:(c,v)=>{let p=typeof c[q]=="string"?v.getNode(c[q]):void 0,w=p?$(p):Te(c,v);return w?`${x}: ${w}`:x},apply(c,v){let p=c.graph,w=typeof v[q]=="string"?v[q]:void 0,k=w?p.getNode(w):void 0;if(w&&!k&&se(w),k&&r.length>0&&!r.includes(k.kind))throw new W(`"${x}" acts on ${r.join(" or ")}, not on ${He(k.kind)}`,"invalid");let Z={};for(let[s,l]of Object.entries(v))l!==void 0&&(Z[s]=l);if(G&&k){let s;try{s=ie(G,{graph:p,subject:k,kinds:m,bindings:Z,today:i()})}catch(l){throw l instanceof oe?new W(`"${x}" could not be judged: ${l.sentence}`):l}if(s!==!0)throw new W(M?ae(M,{node:k,kinds:m,graph:p,bindings:Z,today:i(),money:b}):`"${x}" is not allowed for ${$(k)} right now`)}let U=new Map,O=s=>p.has(s)||[...U.values()].includes(s),ne=new Set,X=s=>{let l=en(s);ne.has(l)||(ne.add(l),c.removeEdge(s))},ee=(s,l)=>{let u=me(s);if(u==="subject")return w;if(u==="me"){let y=c.me;if(y&&n.kinds[p.getNode(y)?.kind]?.people)return y;throw new W(`"${x}" is done as you, and you have no record here`)}if(U.has(u))return U.get(u);try{return Q(s,Z,p,l??k??null)}catch(y){throw y instanceof oe?new W(`"${x}" could not work out a value: ${y.sentence}`):y}};for(let s of T)if("create"in s){let l=n.kinds[s.create],u=N(s.create);for(let[ye,de]of Object.entries(s.set??{})){let Le=ee(de,void 0);Le!==void 0&&(u[ye]=Le)}let y=vn(l),j=c.freshId(String((y&&u[y])??s.create),s.create);c.addNode({...u,id:j}),s.as&&U.set(s.as,j)}else if("connect"in s||"sever"in s){let l="connect"in s?s.connect:s.sever,u=String(ee(s.from,void 0)??""),y=String(ee(s.to,void 0)??"");if(O(u)||se(u),O(y)||se(y),"connect"in s){if(f.get(l)?.cardinality==="one")for(let j of p.out(u,l))j.id!==y&&X({kind:l,from:u,to:j.id});p.out(u,l).some(j=>j.id===y)||c.addEdge({kind:l,from:u,to:y})}else X({kind:l,from:u,to:y})}else if("set"in s){let l=String(ee(s.target??"$subject",void 0)??""),u=p.getNode(l);!u&&!O(l)&&se(l);let y={};for(let[j,ye]of Object.entries(s.set)){let de=ee(ye,u);de!==void 0&&(y[j]=de)}Object.keys(y).length>0&&c.patchNode(l,y)}else if("remove"in s){let l=String(ee(s.remove,void 0)??"");p.has(l)||se(l),c.removeNode(l)}else if("replace"in s&&k){let l=v.to;for(let u of s.replace){let y=f.get(u)?.from.includes(k.kind)??!0;for(let j of y?p.out(k.id,u):p.in(k.id,u))u===s.keep&&j.id===l||X(y?{kind:u,from:k.id,to:j.id}:{kind:u,from:j.id,to:k.id})}}}}))}let Ee=[];for(let[h,o]of Object.entries(n.rules??{})){let{title:A,require:x,when:T,says:G}=e.rules[h],M=o.repairs??[],Y=(z,g,L=i(),C)=>{let P=[],H={graph:z,subject:g,kinds:m,today:L,...C?{linked:C}:{},onUnread:r=>P.push(r)},V;try{if(T&&ie(T,H)!==!0)return[];if(V=ie(x,H)===!0,!V&&P.length>0)throw new oe(`it reads ${cn(P[0])}`,0)}catch(r){throw r instanceof fn?new nn(r.sentence):r instanceof oe?new Error(r.sentence):r}if(V)return[];let S=M.flatMap(r=>{let d=n.acts?.[r.act],R={},Q=g&&d?.on&&d.fromTheOtherEnd&&![d.on].flat().includes(g.kind)?Sn(e.acts[r.act].args,g.kind):void 0;Q?R[Q]=g.id:g&&(d?.on||/^(edit|remove|archive|unarchive|merge|skip|detach|split)-/.test(r.act))&&(R[q]=g.id);for(let[v,p]of Object.entries(r.args??{}))R[v]=me(p)==="subject"?g?.id:p;let c=(d?e.acts[r.act].args:[]).filter(([v,p])=>p.required&&R[v]===void 0).map(([v])=>v);return[{mutation:r.act,label:r.label??(Q?d.fromTheOtherEnd:d?.title)??r.act.replace(/-/g," "),args:R,...c.length>0?{missing:c}:{}}]});return[{invariant:h,...g?{subjectId:g.id}:{},label:A,message:G?ae(G,{node:g,kinds:m,graph:z,today:L,money:b}):g?`${$(g)}: ${A}`:A,nodeIds:g?[g.id]:[],repairs:S}]},_={label:A,shape:{over:o.over,require:x,when:T,says:G,declared:n.kinds,money:b,kinds:m,today:i},judgment:{require:o.require,...o.when?{when:o.when}:{},...o.says?{says:o.says}:{}},...o.description?{description:o.description}:{},...M.length>0?{repairs:M.map(z=>z.act)}:{}};Ee.push(o.over==="graph"?Oe(h,{scope:"graph",..._,evaluate:({graph:z,today:g,context:L})=>Y(z,null,g,L?.linked)}):Oe(h,{scope:{kind:o.over},..._,evaluate:({graph:z,subject:g,today:L,context:C})=>Y(z,g,L,C?.linked)}))}let De=n.policy&&{...n.policy,...n.roles?{roles:n.roles}:{}},ge={name:n.name,schema:B,mutations:J,invariants:Ee,...De?{policy:De}:{},...e.brand?{brand:e.brand}:{},...n.modules?{modules:n.modules}:{},...n.lenses?{lenses:n.lenses}:{},...n.pages?{pages:n.pages}:{},...n.settings?{settings:n.settings}:{},...n.connections?{connections:n.connections}:{},...n.forms?{forms:n.forms}:{},...n.publishing?{publishing:n.publishing}:{},...n.purpose?{purpose:n.purpose}:{},...e.viewSpecs?{viewSpecs:e.viewSpecs}:{},...e.home?{home:e.home}:{},version:n.version??1};return kn(ge,n),En.set(ge,e),{ok:!0,app:ge,document:n,findings:e.findings,sights:n.policy?.sees,kinds:m}}function Tn(e,a,n){let t=a||e.format==="duration",i=e.format==="money"||e.format==="percent"||!e.format&&e.unit!==void 0;if(!(!t&&!i))return{...e,...t?{as:"duration"}:{},...i?{amount:{...n,...e.format?{format:e.format}:{},...e.unit?{unit:e.unit}:{}}}:{}}}export{bn as a,Cn as b,wn as c,q as d,me as e,vn as f,lt as g,Dn as h};
@@ -1,4 +1,4 @@
1
- import{Qc as e}from"./chunk.WR63RQGU.js";var i=`
1
+ import{Uc as e}from"./chunk.DIFR37EZ.js";var i=`
2
2
  .graview-spec{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--graview-ink)}
3
3
 
4
4
  .graview-spec-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;box-sizing:border-box;max-width:100%;padding:5px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius-sm,8px);background:var(--graview-panel);font-size:.875rem}
@@ -1 +1 @@
1
- import{G as g,P as y,ba as m,ja as d}from"./chunk.WSMYFEGU.js";import{b as S}from"./chunk.AJZBJBMO.js";var v=S(g(),1);function k(){let{store:w,principal:a,ai:n,aiDesk:r,seatTalk:i,views:p,app:t,brand:l,view:A,selection:s}=m(),e=y(w,a),c=d(),o=A.within?.view;return(0,v.useMemo)(()=>({store:e,principal:a,ai:n,desk:r,seatTalk:i,goTo:c,places:[...p.places()],app:t??{name:l?.name??"app",schema:e.schema,...e.policy?{policy:e.policy}:{}},...o?{place:o}:{},selection:s}),[e,a,n,r,i,c,p,t,l,o,s])}export{k as a};
1
+ import{G as g,P as y,ba as m,ja as d}from"./chunk.DBMZ3AQB.js";import{b as S}from"./chunk.AJZBJBMO.js";var v=S(g(),1);function k(){let{store:w,principal:a,ai:n,aiDesk:r,seatTalk:i,views:p,app:t,brand:l,view:A,selection:s}=m(),e=y(w,a),c=d(),o=A.within?.view;return(0,v.useMemo)(()=>({store:e,principal:a,ai:n,desk:r,seatTalk:i,goTo:c,places:[...p.places()],app:t??{name:l?.name??"app",schema:e.schema,...e.policy?{policy:e.policy}:{}},...o?{place:o}:{},selection:s}),[e,a,n,r,i,c,p,t,l,o,s])}export{k as a};