graview 0.1.29 → 0.1.32

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 (195) hide show
  1. package/dist/preview/chunk.2NIOHEMX.js +1 -0
  2. package/dist/preview/{chunk.GZH6PTXN.js → chunk.3AGY4QVS.js} +1 -1
  3. package/dist/preview/chunk.3HXN4BOY.js +1 -0
  4. package/dist/preview/chunk.3K6YSVHC.js +1 -0
  5. package/dist/preview/{chunk.7D77HEIJ.js → chunk.3TVXGJTU.js} +1 -1
  6. package/dist/preview/chunk.3TY5NFLY.js +1 -0
  7. package/dist/preview/{chunk.IZW7DBK4.js → chunk.47STJVRV.js} +1 -1
  8. package/dist/preview/chunk.4HRAQNJO.js +27 -0
  9. package/dist/preview/chunk.4HZ7QTXZ.js +1 -0
  10. package/dist/preview/chunk.4MERAWS2.js +1 -0
  11. package/dist/preview/chunk.52W7WYME.js +1 -0
  12. package/dist/preview/chunk.5A4AOFOA.js +1 -0
  13. package/dist/preview/chunk.5H4VXLZF.js +88 -0
  14. package/dist/preview/{chunk.D4GOVA25.js → chunk.5T5XGILP.js} +1 -1
  15. package/dist/preview/chunk.5TVB6BUY.js +1 -0
  16. package/dist/preview/chunk.5UL7YDUD.js +1 -0
  17. package/dist/preview/chunk.63GXY2ME.js +1 -0
  18. package/dist/preview/chunk.6QWV5MVH.js +25 -0
  19. package/dist/preview/{chunk.HV6I74DF.js → chunk.6UGEYZAC.js} +1 -1
  20. package/dist/preview/chunk.6YCBYL2Y.js +2 -0
  21. package/dist/preview/chunk.7GKUVQVF.js +1 -0
  22. package/dist/preview/{chunk.QSDT2RLY.js → chunk.7T7NZZTC.js} +1 -1
  23. package/dist/preview/chunk.AKFKM4SW.js +3 -0
  24. package/dist/preview/chunk.AOSMJKLH.js +1 -0
  25. package/dist/preview/{chunk.IPBXAAQV.js → chunk.ASCLIM2P.js} +1 -1
  26. package/dist/preview/chunk.B2GLDIAS.js +1 -0
  27. package/dist/preview/chunk.BNV77BQZ.js +4 -0
  28. package/dist/preview/chunk.BOO6WVM4.js +117 -0
  29. package/dist/preview/chunk.BQ3JHEHV.js +1 -0
  30. package/dist/preview/chunk.CAVBSL27.js +1 -0
  31. package/dist/preview/chunk.CDP2XL66.js +1 -0
  32. package/dist/preview/chunk.CIPS2OGR.js +1 -0
  33. package/dist/preview/chunk.CJJLJ3KW.js +2 -0
  34. package/dist/preview/chunk.CN3UEF5N.js +90 -0
  35. package/dist/preview/chunk.COQKECUH.js +1 -0
  36. package/dist/preview/{chunk.3G5MQFZK.js → chunk.CWHRDBOF.js} +1 -1
  37. package/dist/preview/chunk.CX3KL2C5.js +1 -0
  38. package/dist/preview/chunk.D75KC3LL.js +1 -0
  39. package/dist/preview/chunk.DAZ2VSRD.js +1 -0
  40. package/dist/preview/{chunk.ONGVH3ZM.js → chunk.DHIUSUCL.js} +75 -24
  41. package/dist/preview/{chunk.44FVJOK4.js → chunk.DYSPCGXX.js} +1 -1
  42. package/dist/preview/chunk.E2YEOMPH.js +1 -0
  43. package/dist/preview/chunk.EBGAYL32.js +1 -0
  44. package/dist/preview/{chunk.HRWLR7T4.js → chunk.EF3XNU4O.js} +1 -1
  45. package/dist/preview/chunk.EJPI3ST6.js +1 -0
  46. package/dist/preview/chunk.EKPRNDUV.js +1 -0
  47. package/dist/preview/chunk.ERIT3R6N.js +1 -0
  48. package/dist/preview/chunk.EYTBDMTW.js +1 -0
  49. package/dist/preview/chunk.F6EH7HI2.js +1 -0
  50. package/dist/preview/{chunk.OGXE2RHC.js → chunk.F6ZK7RMB.js} +2 -2
  51. package/dist/preview/chunk.FSTCX2AI.js +1 -0
  52. package/dist/preview/chunk.FWTIUYXH.js +2 -0
  53. package/dist/preview/{chunk.YCA7P5MK.js → chunk.G5NZVPJU.js} +1 -1
  54. package/dist/preview/chunk.GO4XBWJO.js +9 -0
  55. package/dist/preview/chunk.GV2CQVKV.js +1 -0
  56. package/dist/preview/chunk.GYICGZMG.js +3 -0
  57. package/dist/preview/chunk.H7BST3XO.js +1 -0
  58. package/dist/preview/chunk.H7EPE74C.js +1 -0
  59. package/dist/preview/{chunk.X53HI436.js → chunk.HAIG6NVX.js} +1 -1
  60. package/dist/preview/chunk.HLTRQU4Y.js +35 -0
  61. package/dist/preview/{chunk.O4QPITBD.js → chunk.I6FPNX43.js} +1 -1
  62. package/dist/preview/chunk.IDVAR5HM.js +1 -0
  63. package/dist/preview/chunk.J25KOSNW.js +1 -0
  64. package/dist/preview/chunk.JDUJDAGA.js +1 -0
  65. package/dist/preview/chunk.JFAOHHJJ.js +1 -0
  66. package/dist/preview/chunk.JOOQUWLT.js +341 -0
  67. package/dist/preview/{chunk.ZBXOX3W3.js → chunk.JQU5GEU3.js} +1 -1
  68. package/dist/preview/chunk.K5ME5GCG.js +1 -0
  69. package/dist/preview/chunk.K7PMDSOL.js +1 -0
  70. package/dist/preview/chunk.KSES5U5B.js +1 -0
  71. package/dist/preview/chunk.LLLZEGRK.js +1 -0
  72. package/dist/preview/chunk.LR3VDXPI.js +1 -0
  73. package/dist/preview/chunk.LXBOVRFI.js +1 -0
  74. package/dist/preview/chunk.MAF7C3VM.js +2 -0
  75. package/dist/preview/chunk.MNP4JI33.js +5 -0
  76. package/dist/preview/{chunk.5AT4O4BN.js → chunk.MWGGV7DE.js} +1 -1
  77. package/dist/preview/chunk.N6OX4NEQ.js +1 -0
  78. package/dist/preview/chunk.NM6MZYFN.js +47 -0
  79. package/dist/preview/chunk.NRAYZY3X.js +1 -0
  80. package/dist/preview/chunk.NTF7FVB2.js +1 -0
  81. package/dist/preview/chunk.OC6IWRQ3.js +1 -0
  82. package/dist/preview/chunk.OF34OZ4V.js +1 -0
  83. package/dist/preview/chunk.OJGHDWI6.js +1 -0
  84. package/dist/preview/chunk.OKRNJXTV.js +1 -0
  85. package/dist/preview/chunk.PBSMLINK.js +1 -0
  86. package/dist/preview/chunk.PHKSMUIA.js +1 -0
  87. package/dist/preview/chunk.PIP6Z563.js +1 -0
  88. package/dist/preview/chunk.QGTSHKJL.js +1 -0
  89. package/dist/preview/chunk.QVVJRSRM.js +1 -0
  90. package/dist/preview/{chunk.J46KDTEZ.js → chunk.QYZNAUIR.js} +1 -1
  91. package/dist/preview/chunk.R6K6GF5R.js +1 -0
  92. package/dist/preview/chunk.RCKTBOY2.js +1 -0
  93. package/dist/preview/{chunk.CK7QWLMX.js → chunk.RIJUCHP4.js} +1 -1
  94. package/dist/preview/chunk.SHPXD6FC.js +1 -0
  95. package/dist/preview/chunk.SHTJZ6UX.js +1 -0
  96. package/dist/preview/chunk.SYAEBGDC.js +2 -0
  97. package/dist/preview/chunk.T5VG5A6V.js +1 -0
  98. package/dist/preview/{chunk.JNGUSAWX.js → chunk.TAQ764IQ.js} +17 -3
  99. package/dist/preview/chunk.TCNBCTWO.js +1 -0
  100. package/dist/preview/chunk.TI4OSTQV.js +1 -0
  101. package/dist/preview/{chunk.ZSKP6UQS.js → chunk.UATVTXZY.js} +1 -1
  102. package/dist/preview/{chunk.V6TK4LHW.js → chunk.UBFNZMUX.js} +4 -4
  103. package/dist/preview/chunk.UGFDSE37.js +1 -0
  104. package/dist/preview/chunk.UGFJKSHU.js +3 -0
  105. package/dist/preview/chunk.UHUGOTUU.js +19 -0
  106. package/dist/preview/chunk.ULRW47RP.js +1 -0
  107. package/dist/preview/chunk.UNL2HIF2.js +1 -0
  108. package/dist/preview/chunk.UZGRRDHD.js +1 -0
  109. package/dist/preview/chunk.VG3O4LWB.js +1 -0
  110. package/dist/preview/chunk.WAZ7OGBD.js +1 -0
  111. package/dist/preview/chunk.XANVHJQ4.js +1 -0
  112. package/dist/preview/chunk.XKABS745.js +1 -0
  113. package/dist/preview/chunk.XMC7YDWT.js +1 -0
  114. package/dist/preview/chunk.XNJEFUF7.js +3 -0
  115. package/dist/preview/chunk.Y6ZNFQK3.js +6 -0
  116. package/dist/preview/{chunk.QNHECGMH.js → chunk.YIR7PPF3.js} +1 -1
  117. package/dist/preview/index.html +51 -0
  118. package/dist/preview/page.js +6 -6
  119. package/package.json +6 -6
  120. package/dist/preview/chunk.2643W7FT.js +0 -1
  121. package/dist/preview/chunk.2CLPRG3I.js +0 -1
  122. package/dist/preview/chunk.2IZFIORK.js +0 -1
  123. package/dist/preview/chunk.2NCTM5K2.js +0 -2
  124. package/dist/preview/chunk.3JM2TNDD.js +0 -2
  125. package/dist/preview/chunk.4GGAPOMK.js +0 -2
  126. package/dist/preview/chunk.5JXUAMKI.js +0 -1
  127. package/dist/preview/chunk.5R66YTET.js +0 -2
  128. package/dist/preview/chunk.64P76WK4.js +0 -1
  129. package/dist/preview/chunk.7DNFXJH3.js +0 -1
  130. package/dist/preview/chunk.7PRFYYVM.js +0 -1
  131. package/dist/preview/chunk.AE5GKL4C.js +0 -1
  132. package/dist/preview/chunk.ARR75WBP.js +0 -35
  133. package/dist/preview/chunk.AVUS5LMG.js +0 -3
  134. package/dist/preview/chunk.BKPGDEES.js +0 -1
  135. package/dist/preview/chunk.BZ5OJYHU.js +0 -1
  136. package/dist/preview/chunk.COTG2IG5.js +0 -1
  137. package/dist/preview/chunk.DAA6XWLF.js +0 -1
  138. package/dist/preview/chunk.DKTCRFMS.js +0 -1
  139. package/dist/preview/chunk.DLGTFXGM.js +0 -1
  140. package/dist/preview/chunk.DN7SN6ZR.js +0 -1
  141. package/dist/preview/chunk.G4WQGTZR.js +0 -3
  142. package/dist/preview/chunk.GDA3G4U2.js +0 -6
  143. package/dist/preview/chunk.GS4T26WW.js +0 -328
  144. package/dist/preview/chunk.HFKMHLJ3.js +0 -1
  145. package/dist/preview/chunk.HGAMNIST.js +0 -1
  146. package/dist/preview/chunk.HKBKH7EK.js +0 -1
  147. package/dist/preview/chunk.HLLWKSZB.js +0 -5
  148. package/dist/preview/chunk.HONUT6OG.js +0 -1
  149. package/dist/preview/chunk.IWYUFYDJ.js +0 -1
  150. package/dist/preview/chunk.JU2ZVKMT.js +0 -2
  151. package/dist/preview/chunk.K4ZUVH2G.js +0 -1
  152. package/dist/preview/chunk.KC6UZHBM.js +0 -1
  153. package/dist/preview/chunk.KLITC55P.js +0 -1
  154. package/dist/preview/chunk.KZ2376BD.js +0 -19
  155. package/dist/preview/chunk.LYJAVUST.js +0 -1
  156. package/dist/preview/chunk.MOUGB4H6.js +0 -1
  157. package/dist/preview/chunk.MYFWM572.js +0 -1
  158. package/dist/preview/chunk.N4FBDA2W.js +0 -1
  159. package/dist/preview/chunk.O42YET3W.js +0 -1
  160. package/dist/preview/chunk.ONDILMIX.js +0 -1
  161. package/dist/preview/chunk.OQDETV4X.js +0 -1
  162. package/dist/preview/chunk.OWBEV6FR.js +0 -1
  163. package/dist/preview/chunk.OWE6OJ4P.js +0 -1
  164. package/dist/preview/chunk.OYJSFO3A.js +0 -1
  165. package/dist/preview/chunk.P62SKNJS.js +0 -27
  166. package/dist/preview/chunk.PA5HYAEO.js +0 -1
  167. package/dist/preview/chunk.PMEDLEZY.js +0 -9
  168. package/dist/preview/chunk.PTXQHHKF.js +0 -1
  169. package/dist/preview/chunk.R2D373VG.js +0 -1
  170. package/dist/preview/chunk.RB4RTBRZ.js +0 -1
  171. package/dist/preview/chunk.RCLJ4H52.js +0 -116
  172. package/dist/preview/chunk.RKRSRKF3.js +0 -1
  173. package/dist/preview/chunk.RWGLKDWH.js +0 -1
  174. package/dist/preview/chunk.SIL4KD3K.js +0 -1
  175. package/dist/preview/chunk.SS76EIMI.js +0 -1
  176. package/dist/preview/chunk.T4LY5QXO.js +0 -14
  177. package/dist/preview/chunk.UIIVEQAT.js +0 -1
  178. package/dist/preview/chunk.UTHHX2TJ.js +0 -1
  179. package/dist/preview/chunk.UWNYT7PF.js +0 -1
  180. package/dist/preview/chunk.VNBO2RXD.js +0 -1
  181. package/dist/preview/chunk.VPPUTA74.js +0 -1
  182. package/dist/preview/chunk.WKXNBHTL.js +0 -4
  183. package/dist/preview/chunk.WLRTPFAC.js +0 -1
  184. package/dist/preview/chunk.XAXJHEMD.js +0 -1
  185. package/dist/preview/chunk.XDZSTIS6.js +0 -88
  186. package/dist/preview/chunk.XXHNV24G.js +0 -1
  187. package/dist/preview/chunk.YRQZZH5V.js +0 -1
  188. package/dist/preview/chunk.YUWRZWGX.js +0 -1
  189. package/dist/preview/chunk.Z2RGLFLS.js +0 -1
  190. package/dist/preview/chunk.Z56B2JR2.js +0 -25
  191. package/dist/preview/chunk.Z5V23DQN.js +0 -3
  192. package/dist/preview/chunk.ZEGSQCSD.js +0 -1
  193. package/dist/preview/chunk.ZEVVWWNA.js +0 -44
  194. package/dist/preview/chunk.ZS4DJ76C.js +0 -1
  195. /package/dist/preview/{chunk.OHE5AMHH.js → chunk.GZHZLJBF.js} +0 -0
@@ -0,0 +1 @@
1
+ import{a as st}from"./chunk.OF34OZ4V.js";import"./chunk.EBGAYL32.js";import{e as V,l as ue,m as G,q as nt}from"./chunk.DAZ2VSRD.js";import{a as ee}from"./chunk.G4JJXA63.js";import"./chunk.HAIG6NVX.js";import{b as tt}from"./chunk.UZGRRDHD.js";import{d as et}from"./chunk.OKRNJXTV.js";import"./chunk.CAVBSL27.js";import"./chunk.G5NZVPJU.js";import"./chunk.B2GLDIAS.js";import{d as Ze}from"./chunk.6YCBYL2Y.js";import{c as Xe}from"./chunk.UGFJKSHU.js";import{$ as Ye,Ac as Ne,Bc as Qe,O as ze,X as Je,Ya as qe,Za as Ve,da as Ae,ea as F}from"./chunk.MNP4JI33.js";import"./chunk.AJZBJBMO.js";var vt="Nothing by that name here.",$=o=>o.normalize("NFD").replace(/\p{M}+/gu,"").toLowerCase().replace(/[’']/g,"'").replace(/[^\p{L}\p{N}' ]+/gu," ").replace(/\s+/g," ").trim(),At=/^(?:(?:can you |could you |please )?(?:go|take me|bring me|head|jump|navigate|switch|get me)(?: back)? to|(?:please )?(?:open|show(?: me)?|bring up|let me see|view)) (.+)$/,Nt=/^(?:(?:can you |could you |please )?tell me (?:about|of)|what(?: is|'s| are) (?:in |on )?|describe|explain|who(?: is|'s)) (.+)$/,St=/^(?:what(?: is|'s| am i looking at| do i see)(?: (?:here|this|on (?:this|the) (?:page|screen)|in view|this place|this page))?|where am i|describe (?:this|here|this place|this page)|tell me about (?:this|here|this place|this page))$/,ot=new Set(["here","this","this place","this page","on this page","on the page","on this screen","in view"]),Ot=/^(?:date|day|when|on|at|the date|the day)$/,Ct=/^(?:what(?: is|'s) (?:wrong|broken|the (?:problem|matter|trouble))|what needs (?:fixing|attention|doing)|any (?:problems|issues|trouble)|(?:show(?: me)? |go to |open )?(?:the )?(?:problems|issues|trouble|standing|what's wrong)|is (?:anything|something) (?:wrong|broken)|are there (?:any )?(?:problems|issues))(?: (?:with|about|on|in) (.+))?$/,z=o=>o.replace(/^(?:the|a|an|my|our) /,""),te=new Set(["the","a","an","my","our","all","any","of","that","which","who","are","is","be","what","whats","what's","with","me","show","list","every","there","do","i","have","we","due","for","please","were","was","by","from","in","on"]),ut=864e5,he=o=>Date.UTC(Number(o.slice(0,4)),Number(o.slice(5,7))-1,Number(o.slice(8,10))),xe=o=>new Date(o).toISOString().slice(0,10),C=(o,i)=>xe(he(o)+i*ut),jt=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],xt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Mt="(monday|tuesday|tues|wednesday|thursday|thurs|friday|saturday|sunday)",rt="(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sept|sep|oct|nov|dec)",it="(\\d{1,2})(?:st|nd|rd|th)?",Wt=o=>jt.findIndex(i=>i.startsWith(o.slice(0,3))),at=o=>xt.findIndex(i=>o.startsWith(i.toLowerCase()));function Dt(o,i){return ze(o,{year:o.slice(0,4)!==i.slice(0,4)})}function Se(o,i,y){if(o<0||i<1||i>31)return;let f=Number(y.slice(0,4)),c=k=>{let j=Date.UTC(k,o,i);return new Date(j).getUTCMonth()===o?xe(j):void 0},p=c(f);if(p)return he(p)<he(y)-183*ut?c(f+1):p}function Oe(o,i,y){let f=new Date(he(i)).getUTCDay(),c=u=>{let S=(f-y+7)%7,w=C(i,-S+u*7);return{from:w,to:C(w,6)}},p=()=>{let u=`${i.slice(0,8)}01`,S=new Date(Date.UTC(Number(i.slice(0,4)),Number(i.slice(5,7)),1));return{from:u,to:C(xe(S.getTime()),-1)}},k=u=>u?{from:u,to:u,day:Dt(u,i)}:void 0,j=(u,S)=>{let w=Wt(S);return k(u==="this"||u==="next"?C(c(u==="next"?1:0).from,(w-y+7)%7):u==="last"?C(i,-((f-w+6)%7+1)):C(i,(w-f+7)%7))},J=u=>{let S=C(i,f===0?-1:6-f);return{from:C(S,u*7),to:C(S,u*7+1)}},B="\\b(?:(?:due |for |on |by )(?:the )?)?",P=[[/\b(?:overdue|past due|late)\b/,()=>({overdue:!0,to:C(i,-1)})],[/\b(?:due |for |on )?today\b/,()=>({from:i,to:i})],[/\b(?:due |for |on )?tomorrow\b/,()=>k(C(i,1))],[/\b(?:due |for |on )?yesterday\b/,()=>k(C(i,-1))],[/\b(?:due |for |on )?this week\b/,()=>c(0)],[/\b(?:due |for |on )?next week\b/,()=>c(1)],[/\b(?:due |for |on )?(?:last|previous) week\b/,()=>c(-1)],[/\b(?:due |for |on )?next weekend\b/,()=>J(1)],[/\b(?:due |for |on )?(?:this |the )?weekend\b/,()=>J(0)],[/\b(?:due |for |on )?this month\b/,()=>p()],[new RegExp(`${B}(\\d{4}) (\\d{2}) (\\d{2})\\b`),u=>k(Se(Number(u[2])-1,Number(u[3]),`${u[1]}-01-01`))],[new RegExp(`${B}${it} (?:of )?${rt}\\b`),u=>k(Se(at(u[2]),Number(u[1]),i))],[new RegExp(`${B}${rt} (?:the )?${it}\\b`),u=>k(Se(at(u[1]),Number(u[2]),i))],[new RegExp(`${B}(?:(this|next|last|coming) )?${Mt}\\b`),u=>j(u[1],u[2])]];for(let[u,S]of P){let w=o.match(u);if(!w)continue;let N=S(w);if(N)return{ask:{words:w[0],...N},rest:o.replace(w[0]," ").replace(/\s+/g," ").trim()}}}function ft(o,i,y={}){let f=y.principal??{kind:"human"},c=o.seenBy(f),p=c.schema,k=y.today??o.today?.()??new Date().toISOString().slice(0,10),j=y.weekStartsOn??1,J=o.kindsKeptFrom(f),B=o.modules.disabledKinds,P=p.kinds.filter(e=>!J.has(e)&&!B.has(e)),u=new Set(P),S=(y.places??[]).filter(e=>e.kind===null||u.has(e.kind)),w=c.graph,N=$(i).replace(/[?.!]+$/,"").trim();if(N.length===0)return{unresolved:!0};let M=e=>p.tryDefinition(e),H=e=>Je(M(e.kind),e),I=e=>Ye(p,e),se=e=>S.find(t=>t.kind===e&&t.address===Ne(p,e))?.address??Ne(p,e),ge=e=>Qe(p,e.kind,e.id),Me=e=>({to:"record",id:e.id,kind:e.kind,label:H(e),address:ge(e),said:`Went to ${H(e)}.`}),We=e=>{let t=`Went to ${e.title}.`;return e.kind===null?{to:"place",slug:e.slug,title:e.title,address:e.address,...e.slug==="overview"?{face:"scene"}:{},said:t}:e.lens||e.address.startsWith("/places/")?{to:"picture",kind:e.kind,as:e.slug,title:e.title,address:e.address,said:t}:{to:"kind",kind:e.kind,title:e.title,address:e.address,said:t}},De=()=>({unresolved:!0,say:vt}),oe=e=>{let t=M(e.kind),s=Ze(e,t,{limit:3,excerpt:!0}).map(r=>r.alone.startsWith(r.label)?r.alone:`${r.label.toLowerCase()} ${r.alone}`).join(", "),n=c.violations().filter(r=>r.nodeIds.includes(e.id));return[`${H(e)} \u2014 ${Ae(F(t,e.kind))}${s?` (${s})`:""}.`,n.length>0?`Trouble: ${n.map(r=>r.message).join("; ")}.`:""].filter(Boolean).join(" ")},re=e=>{let t=new Set([G(e),G(z(e))]);for(let n of[" page"," view"," lens"," place"," picture"," list"])e.endsWith(n)&&(t.add(G(e.slice(0,-n.length))),t.add(G(z(e.slice(0,-n.length)))));t.delete("");let s=n=>t.has(G(n.title))||t.has(G(z($(n.title))))||t.has(G(n.slug));return S.find(n=>n.kind!==null&&n.address.startsWith("/places/")&&s(n))??S.find(s)},pe=e=>{let t=nt(o,e,{principal:f,today:k,limit:6,near:!1,...y.selection?{from:y.selection}:{}}),s=t.hits.filter(r=>r.about==="node"&&u.has(r.kind)&&w.getNode(r.id)!==void 0),n=s.filter(r=>r.why.field==="label"&&r.why.strength==="exact");return n.length===1?{one:w.getNode(n[0].id),picks:s}:n.length>1?{picks:n}:s.length===1&&t.total===1?{one:w.getNode(s[0].id),picks:s}:{picks:s}},Re=e=>{let t=e.map(s=>`${s.label} (${F(M(s.kind),s.kind)})`);return`${e.length===1?"One thing matches":`${e.length} things match`}: ${t.join("; ")}.`},Ee=(e,t)=>{if(ot.has(e))return Le();let s=t?pe(z(e)||e):void 0,n=s?.one&&$(H(s.one))===$(z(e)||e)?void 0:re(e);if(n){let l=We(n);return{about:"place",say:t?`${l.said} ${me(n)}`:l.said,moves:[l],subject:n.slug}}let r=pe(z(e)||e);if(r.one){let l=Me(r.one);return{about:t?"describe":"record",say:t?`${l.said} ${oe(r.one)}`:l.said,moves:[l],subject:r.one.id}}if(r.picks.length>0)return{about:"picks",say:Re(r.picks),moves:[],picks:r.picks};let h=ae(e);if(h)return h;let d=Pe(e);if(d){if(d.rest.split(" ").every(l=>l===""||te.has(l))){let l=I(d.kind),v={to:"kind",kind:d.kind,title:l,address:se(d.kind),said:`Went to the ${l.toLowerCase()}.`};return{about:"kind",say:v.said,moves:[v]}}return{unresolved:!0}}return De()},me=e=>{if(e.kind===null){let h=P.map(l=>({kind:l,count:w.nodesOfKind(l).length})).filter(l=>l.count>0).map(l=>`${l.count} ${(l.count===1?F(M(l.kind),l.kind):I(l.kind)).toLowerCase()}`),d=c.violations().length;return[h.length>0?`It holds ${fe(h)}.`:"It holds nothing yet.",d>0?`${d===1?"One problem":`${d} problems`} to see to.`:""].filter(Boolean).join(" ")}let t=w.nodesOfKind(e.kind).length,s=I(e.kind).toLowerCase(),n=new Set(c.violations().flatMap(h=>h.nodeIds)),r=w.nodesOfKind(e.kind).filter(h=>n.has(h.id)).length;return[e.lens?`It draws the ${s} as ${Ae(e.lens)}${t>0?` \u2014 ${t} of them`:""}.`:`${t===0?"No":t} ${t===1?F(M(e.kind),e.kind):s} ${t===1?"is":"are"} here.`,r>0?`${r} ${r===1?"has":"have"} a problem.`:""].filter(Boolean).join(" ")},Le=()=>{let e=(y.selection??[]).map(s=>w.getNode(s)).find(s=>s!==void 0);if(e)return{about:"here",say:oe(e),moves:[],subject:e.id};let t=S.find(s=>s.slug===y.place)??S.find(s=>s.slug==="home");return t?{about:"here",say:`${t.title}. ${me(t)}`,moves:[],subject:t.slug}:{about:"here",say:me({slug:"home",title:"Home",kind:null,cardinality:"many",address:"/",stop:"#"}),moves:[]}},Pe=e=>{let t=P.flatMap(s=>[I(s),F(M(s),s),s].map(n=>({kind:s,name:$(n)}))).filter(s=>s.name.length>0).sort((s,n)=>n.name.length-s.name.length);for(let{kind:s,name:n}of t)if(!(` ${e} `.indexOf(` ${n} `)<0))return{kind:s,rest:` ${e} `.replace(` ${n} `," ").replace(/\s+/g," ").trim()}},ie=(e,t)=>{let s=V(p,e).filters.filter(d=>d.about==="field"&&d.type==="date");if(s.length===0)return;let n=s.find(d=>t.some(l=>$(d.key)===l||$(d.label)===l));if(n)return n;let r=M(e)?.fieldRoles??{};for(let d of["due","deadline","date","when","start","end"]){let l=r[d],v=l?s.find(x=>x.key===l):void 0;if(v)return v}return s.find(d=>["due","deadline","date","when","on","at"].includes(d.key.toLowerCase()))??(s.length===1?s[0]:void 0)},He=e=>{let t=M(e),s=V(p,e).filters;if(t?.lifecycle)return{conditions:[{key:"is",value:"current"}],holds:d=>ue(be,d,{key:"is",value:"current"})};let r=s.find(d=>d.about==="field"&&d.type==="boolean"&&ne.has($(d.key)));if(r)return{conditions:[{key:r.key,value:"false"}],holds:d=>d[r.key]!==!0};let h=s.find(d=>d.about==="field"&&d.type==="choice"&&(d.options??[]).some(l=>ne.has($(l))));if(h){let d=new Set((h.options??[]).filter(v=>ne.has($(v)))),l=(h.options??[]).filter(v=>!d.has(v));return l.length===1?{conditions:[{key:h.key,value:l[0]}],holds:v=>v[h.key]===l[0]}:"unsayable"}return{conditions:[],holds:()=>!0}},Ie=(e,t)=>{let s=e.words.startsWith("due")||$(t.key)==="due",n=Ot.test($(t.label));if(e.day)return s?`due ${e.day}`:n?`on ${e.day}`:`${t.label.toLowerCase()} on ${e.day}`;let r=e.words.replace(/^(?:due|for|on|by) (?:the )?/,"");return s?`due ${r}`:n?r:`${t.label.toLowerCase()} ${r}`},ye=new Set(c.violations().flatMap(e=>e.nodeIds)),be={schema:p,graph:c.graph,flagged:ye,today:k},ae=e=>{let t=Oe(e,k,j),s=Pe(t?.rest??e),n=s?.kind,r=(s?.rest??t?.rest??e).split(" ").filter(Boolean);if(!n&&t){let g=e.split(" "),m=P.filter(L=>ie(L,g)!==void 0),E=m.filter(L=>{let b=ie(L,g);return g.some(O=>$(b.key)===O||$(b.label)===O)}),U=m.length===1?m:E;if(U.length!==1)return;n=U[0]}if(!n)return;let h=V(p,n).filters,d=[],l=[],v=[],x=[],q=!1,de=[];for(let g=0;g<r.length;g++){let m=r[g],E=g>0&&(r[g-1]==="not"||r[g-1]==="un"),U=h.find(b=>b.about==="field"&&b.type==="choice"&&(b.options??[]).some(O=>$(O)===m));if(U&&!E){let b=(U.options??[]).find(O=>$(O)===m);d.push({key:U.key,value:b}),l.push(b);continue}let L=h.find(b=>b.about==="field"&&b.type==="boolean"&&[$(b.key),$(b.label)].some(O=>O===m||O===m.replace(/^un/,"")));if(L){let b=!E&&!(m.startsWith("un")&&!$(L.key).startsWith("un"));d.push({key:L.key,value:String(b)}),l.push(b?m:`not ${m.replace(/^un/,"")}`);continue}if(Lt.has(m)&&!E){let b=He(n);b==="unsayable"?(q=!0,x.push(O=>!ct(p,O))):(d.push(...b.conditions),x.push(b.holds)),l.push(m);continue}m==="not"||m==="un"||t&&h.some(b=>b.type==="date"&&($(b.key)===m||$(b.label)===m))||de.push(m)}if(r=de,r.some(g=>!te.has(g))||!t&&d.length===0&&x.length===0)return;let T=I(n).toLowerCase(),Q=I(n);if(t){let g=ie(n,e.split(" "));if(!g){let m={to:"kind",kind:n,title:Q,address:se(n),said:`Went to the ${T}.`};return{about:"kind",say:`${ee(Q)} carry no date, so I can't tell which are ${/^(?:due|for|on|overdue|past due|late)\b/.test(t.ask.words)?t.ask.words:`due ${t.ask.words}`}. ${m.said}`,moves:[m]}}if(t.ask.from&&d.push({key:g.key,value:`after:${C(t.ask.from,-1)}`}),t.ask.to&&d.push({key:g.key,value:`before:${C(t.ask.to,1)}`}),t.ask.overdue){let m=He(n);m==="unsayable"?(q=!0,x.push(E=>!ct(p,E))):(d.push(...m.conditions),x.push(m.holds))}t.ask.overdue?l.push("overdue"):v.push(Ie(t.ask,g))}let R=w.nodesOfKind(n).filter(g=>d.every(m=>ue(be,g,m))&&x.every(m=>m(g))),K=[...l,...v].join(" and "),Y=[...l,T,...v].join(" "),W=R.slice(0,6).map(g=>({about:"node",id:g.id,kind:n,label:H(g),why:{field:d[0]?.key??"label",reading:d[0]?.key??"Name",fragment:K,strength:"field"},current:!0,flagged:ye.has(g.id),address:ge(g)})),X=R.length===0?`No ${T} are ${K}.`:`${R.length===1?`One ${F(M(n),n)} is`:`${R.length} ${T} are`} ${K}: ${fe(R.slice(0,6).map(H))}${R.length>6?`, and ${R.length-6} more`:""}.`;if(q)return{about:"kind",say:X,moves:[],picks:W,offer:{draft:Y,label:"Show as a view"}};let Z=d.map(g=>`${g.key}:${g.value}`).join(","),we=`${se(n)}?${new URLSearchParams({filter:Z}).toString()}`,_={to:"kind",kind:n,title:ee(Y),filter:Z,address:we,said:`Went to the ${Y}.`};return{about:"kind",say:`${_.said} ${X}`,moves:[_],picks:W}},Te=e=>M(e)?.figure==="person"?!0:[e,F(M(e),e),I(e)].some(s=>$(s).split(" ").some(n=>Rt.has(n))),gt=e=>{let t=[],s=n=>M(n)?.edges??{};for(let[n,r]of Object.entries(s(e)))for(let h of r.to??[])u.has(h)&&t.push({key:n,direction:"out",far:h,words:lt(`${r.description??""} ${n}`)});for(let n of P)for(let[r,h]of Object.entries(s(n)))(h.to??[]).includes(e)&&t.push({key:r,direction:"in",far:n,words:lt(`${h.inverse??""} ${r}`)});return t},pt=e=>{let t=e.match(/^(who|which|what)\b/)?.[1];if(!t)return;let s=Oe(e,k,j);if(!s||s.ask.overdue)return;let n=s.rest.split(" ").filter(Boolean),r=P.flatMap(a=>[I(a),F(M(a),a),a].map(A=>({kind:a,name:$(A)}))).filter(a=>a.name.length>0).sort((a,A)=>A.name.length-a.name.length),h=` ${n.join(" ")} `,d=[];for(let{kind:a,name:A}of r)h.includes(` ${A} `)&&(h=h.replace(` ${A} `," "),d.includes(a)||d.push(a));let l=h.match(/\b(?:is|are|was|were)\b|'s\b/)?.[0],v=h.replace(/'s\b/g," ").split(" ").filter(a=>a.length>0&&!te.has(a)&&!Ce.has(a)),x=t==="who"?d.find(Te):d[0];if(!x&&t!=="who")return;let q=d.find(a=>a!==x),de=v.flatMap(a=>[je(a),...dt.has(je(a))?[...dt]:[]]),T=P.filter(a=>q?a===q:a!==x).flatMap(a=>{let A=ie(a,e.split(" "))??V(p,a).filters.find(D=>D.about==="field"&&D.type==="date");return A?gt(a).filter(D=>(x?D.far===x:Te(D.far))&&D.far!==a).map(D=>({kind:a,field:A,relation:D,said:v.length===0||de.some(ve=>D.words.some(wt=>Et(wt,ve)))})):[]}).filter(a=>a.said);if(T.length===0)return;let Q=T.filter(a=>n.some(A=>$(a.field.key)===A||$(a.field.label)===A)),R=T.length===1?T[0]:Q.length===1?Q[0]:void 0;if(!R)return;let{kind:K,field:Y,relation:W}=R,X=[...s.ask.from?[{key:Y.key,value:`after:${C(s.ask.from,-1)}`}]:[],...s.ask.to?[{key:Y.key,value:`before:${C(s.ask.to,1)}`}]:[]],Z=w.nodesOfKind(K).filter(a=>X.every(A=>ue(be,a,A))),we=a=>(W.direction==="out"?c.graph.out(a.id,W.key):c.graph.in(a.id,W.key)).filter(A=>A.kind===W.far&&u.has(W.far)),_=[],g=[];for(let a of Z){let A=we(a);A.length===0&&g.push(a);for(let D of A)_.some(ve=>ve.id===D.id)||_.push(D)}let m=Ie(s.ask,Y),E=s.ask.day?`On ${s.ask.day}`:ee(s.ask.words.replace(/^(?:due|for|on|by) (?:the )?/,"")),U=I(K).toLowerCase(),L=X.map(a=>`${a.key}:${a.value}`).join(","),b=`${U} ${m}`,O={to:"kind",kind:K,title:ee(b),filter:L,address:`${se(K)}?${new URLSearchParams({filter:L}).toString()}`,said:`Went to the ${b}.`};if(Z.length===0)return{about:"related",say:`No ${b}. ${O.said}`,moves:[O]};let le=v.join(" "),mt=l==="was"||l==="were",Ge=a=>mt?a===1?"was":"were":a===1?"is":"are",ce=_.map(H),yt=ce.length>8?[...ce.slice(0,8),`${ce.length-8} more`]:ce,bt=_.length===0?`${E}: nobody ${Ge(1)}${le?` ${le}`:""}.`:`${E}: ${fe(yt)}${le?` ${Ge(_.length)} ${le}`:""}.`,kt=t==="who"&&g.length>0?`${fe(g.slice(0,4).map(H))}${g.length>4?` and ${g.length-4} more`:""} ${g.length===1?"has":"have"} nobody.`:"",$t=_.slice(0,8).map(a=>({about:"node",id:a.id,kind:a.kind,label:H(a),why:{field:W.key,reading:Xe(p,W.direction==="out"?K:W.far,W.key,W.direction==="out"?"out":"in"),fragment:m,strength:"field"},current:!0,flagged:ye.has(a.id),address:ge(a)}));return{about:"related",say:[bt,kt,O.said].filter(Boolean).join(" "),moves:[O],picks:$t}},Ke=N.match(Ct);if(Ke){let e=Ke[1];if(e&&!ot.has(e)&&!/^(?:it|this|that)$/.test(e)){let n=re(e),r=n?void 0:pe(z(e)||e);if(r?.one){let h=Me(r.one);return{about:"describe",say:`${h.said} ${oe(r.one)}`,moves:[h],subject:r.one.id}}if(!n)return r&&r.picks.length>0?{about:"picks",say:Re(r.picks),moves:[],picks:r.picks}:De()}if(e&&/^(?:it|this|that)$|^(?:here|this place|this page)$/.test(e)){let n=(y.selection??[]).map(r=>w.getNode(r)).find(r=>r!==void 0);if(n)return{about:"describe",say:oe(n),moves:[],subject:n.id}}let t=c.violations();if(t.length===0)return{about:"problems",say:"Nothing is wrong \u2014 every rule holds.",moves:[]};let s={to:"problems",address:"/problems",said:"Went to the problems."};return{about:"problems",say:`${s.said} ${Ve(t)}: ${t.slice(0,4).map(n=>n.message).join("; ")}${t.length>4?"\u2026":"."}`,moves:[s]}}if(St.test(N))return Le();let _e=pt(N);if(_e)return _e;let ke=Oe(N,k,j);if(ke&&!re(z(ke.ask.words))&&ke.rest.replace(/'s\b/g,"").split(" ").every(e=>e===""||te.has(e)||Ce.has(e))){let e=ae(N);if(e)return e}if(/^open /.test(N)){let e=ae(N);if(e)return e}let Fe=N.match(At)??N.match(/^(?:go|take me|head|get me)(?: back)? (home)$/);if(Fe)return Ee(Fe[1].trim(),!1);let Be=N.match(Nt);if(Be){let e=Ee(Be[1].trim(),!0);return"unresolved"in e&&e.unresolved&&!/^tell me|^describe/.test(N)?{unresolved:!0}:e}let $e=re(N);if($e){let e=We($e);return{about:"place",say:e.said,moves:[e],subject:$e.slug}}let Ue=ae(N);return Ue||{unresolved:!0}}var Ce=new Set(["who","whom","whose","which","what","whats","what's","who's"]),Rt=new Set(["person","people","user","users","member","members","volunteer","volunteers","gardener","gardeners","player","players","staff","worker","workers","employee","employees","owner","owners","assignee","assignees","helper","helpers","student","students","teacher","teachers","customer","customers","client","clients","contact","contacts","author","authors"]),dt=new Set(["work","cover","staff","assign","do","run","schedul","roster","book","duty","serv","help"]);function je(o){let i=o.toLowerCase().replace(/'s$/,"");for(let y of["ing","ed","es","s"])if(i.length>y.length+2&&i.endsWith(y)){let f=i.slice(0,-y.length);return f.length>3&&f[f.length-1]===f[f.length-2]?f.slice(0,-1):f}return i}function lt(o){return o.toLowerCase().split(/[^a-z']+/).filter(i=>i.length>1&&!te.has(i)&&!Ce.has(i)&&!["it","they","them","their","its","this","here","to","at"].includes(i)).map(je)}var Et=(o,i)=>o===i||o.length>=4&&i.length>=4&&(o.startsWith(i)||i.startsWith(o)),ne=new Set(["done","finished","complete","completed","closed","resolved","agreed","canceled","archived","shipped","delivered"]),Lt=new Set(["open","unfinished","outstanding","pending","remaining","undone","incomplete"]);function ct(o,i){return V(o,i.kind).filters.some(f=>f.about==="field"&&(f.type==="boolean"&&ne.has(f.key.toLowerCase())&&i[f.key]===!0||f.type==="choice"&&typeof i[f.key]=="string"&&ne.has(String(i[f.key]).toLowerCase())))}function fe(o){return o.length<=1?o[0]??"":`${o.slice(0,-1).join(", ")} and ${o[o.length-1]}`}function Gt(o,i,y={}){let f=y.scene!==void 0?{...y.pages,scene:y.scene}:y.pages;return[...tt(o,i,f?{pages:f}:{})].map(({first:c,hidden:p,lens:k,...j})=>j)}function ht(o,i){return{...o.principal?{principal:o.principal}:{},...o.places?{places:o.places}:{},...o.selection?{selection:o.selection}:{},...o.place?{place:o.place}:{},...i??o.today?{today:i??o.today}:{},...o.weekStartsOn!==void 0?{weekStartsOn:o.weekStartsOn}:{}}}function zt(o,i,y,f){let c=ft(o,i,ht(y,f));if(c.unresolved)return c.say?{reply:{say:c.say,proposals:[],grounded:!0}}:{};if(c.about==="picks")return{};let p=c.moves.length>0?{moves:c.moves}:{},k=c.subject?o.graph.getNode(c.subject):void 0;if(c.about==="problems")return{...p,problems:!0};if(k&&(c.about==="describe"||c.about==="here"))return{...p,told:k.id};let j=k?et(o,st(qe(o.violations(),[k.id])).slice(0,3)):[];return{reply:{say:c.say,proposals:j,grounded:!0,...p,...c.picks&&c.picks.length>0?{picks:c.picks}:{},...c.offer?{offer:c.offer}:{}}}}function Jt(o,i,y={}){let f=ht(y),c=[];for(let p of i){let k=typeof p=="string"?p:typeof p=="object"&&p!==null&&typeof p.to=="string"?p.to:void 0;if(!k||k.trim().length===0)continue;let j=ft(o,/^(?:go|take me|open|show)\b/i.test(k.trim())?k:`go to ${k}`,f);if("moves"in j)for(let J of j.moves)c.some(B=>B.address===J.address)||c.push(J)}return c}export{vt as NOTHING_BY_THAT_NAME,ht as askContextOf,zt as goingFrom,Jt as movesFromNames,Gt as placesFromViews,ft as resolveAsk};
@@ -0,0 +1,341 @@
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 kr,F as O,Q as b,Y as le,Z as de,a as H,b as Pe,f as Le,ga as Sr,ja as Pr,m as hr,n as br,na as Lr,oa as Tr,pa as Ar,sa as G,t as xr,w as Z,wa as q,xa as N}from"./chunk.6QWV5MVH.js";import{$b as or,Ac as ke,Cc as pr,Dc as ur,Ec as X,Kb as Ze,Kc as gr,La as Qe,Lc as fr,Mb as Je,Mc as mr,Nb as se,Nc as wr,Ob as xe,Oc as vr,Pb as er,Pc as Se,Qb as rr,Rb as tr,Sb as nr,Sc as yr,Tb as ar,Vb as ir,X as je,Za as Xe,aa as Ye,ba as Ue,bc as sr,ec as lr,fc as dr,xc as cr,yc as Q}from"./chunk.MNP4JI33.js";import{a as qe,b as y}from"./chunk.AJZBJBMO.js";var Nr=qe(S=>{"use strict";var At=O();function Hr(r){var e="https://react.dev/errors/"+r;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)e+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+r+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function V(){}var k={d:{f:V,r:function(){throw Error(Hr(522))},D:V,C:V,L:V,m:V,X:V,S:V,M:V},p:0,findDOMNode:null},Et=Symbol.for("react.portal");function $t(r,e,t){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Et,key:n==null?null:""+n,children:r,containerInfo:e,implementation:t}}var J=At.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function pe(r,e){if(r==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}S.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k;S.createPortal=function(r,e){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error(Hr(299));return $t(r,e,null,t)};S.flushSync=function(r){var e=J.T,t=k.p;try{if(J.T=null,k.p=2,r)return r()}finally{J.T=e,k.p=t,k.d.f()}};S.preconnect=function(r,e){typeof r=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,k.d.C(r,e))};S.prefetchDNS=function(r){typeof r=="string"&&k.d.D(r)};S.preinit=function(r,e){if(typeof r=="string"&&e&&typeof e.as=="string"){var t=e.as,n=pe(t,e.crossOrigin),i=typeof e.integrity=="string"?e.integrity:void 0,a=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;t==="style"?k.d.S(r,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:n,integrity:i,fetchPriority:a}):t==="script"&&k.d.X(r,{crossOrigin:n,integrity:i,fetchPriority:a,nonce:typeof e.nonce=="string"?e.nonce:void 0})}};S.preinitModule=function(r,e){if(typeof r=="string")if(typeof e=="object"&&e!==null){if(e.as==null||e.as==="script"){var t=pe(e.as,e.crossOrigin);k.d.M(r,{crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})}}else e==null&&k.d.M(r)};S.preload=function(r,e){if(typeof r=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){var t=e.as,n=pe(t,e.crossOrigin);k.d.L(r,t,{crossOrigin:n,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}};S.preloadModule=function(r,e){if(typeof r=="string")if(e){var t=pe(e.as,e.crossOrigin);k.d.m(r,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0})}else k.d.m(r)};S.requestFormReset=function(r){k.d.r(r)};S.unstable_batchedUpdates=function(r,e){return r(e)};S.useFormState=function(r,e,t){return J.H.useFormState(r,e,t)};S.useFormStatus=function(){return J.H.useHostTransitionStatus()};S.version="19.2.8"});var Cr=qe((Qn,Rr)=>{"use strict";function Br(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Br)}catch(r){console.error(r)}}Br(),Rr.exports=Nr()});var Te=y(O(),1),Er=new WeakMap,ce=r=>{let e=Er.get(r);return e||Er.set(r,e={open:null,drawn:0,listeners:new Set}),e},Pt=r=>{for(let e of[...r.listeners])e()},Lt=0;function qn(r,e){let t=ce(r);t.open=e?{...e,at:++Lt}:null,Pt(t)}var $r=r=>e=>{let t=ce(r);return t.listeners.add(e),()=>void t.listeners.delete(e)};function Or(r){let e=()=>r?ce(r).drawn>0:!1;return(0,Te.useSyncExternalStore)(r?$r(r):Tt,e,e)}var Tt=()=>()=>{};function jn(r){let e=()=>ce(r).open;return(0,Te.useSyncExternalStore)($r(r),e,e)}var _=y(O(),1),_r=y(Cr(),1);function Ot(r){let[e,t]=(0,_.useState)(null),[n,i]=(0,_.useState)(null);return(0,_.useLayoutEffect)(()=>{r.current!==n&&i(r.current)}),(0,_.useLayoutEffect)(()=>{if(!n||typeof ResizeObserver>"u")return;let a=()=>Math.round(n.getBoundingClientRect().width);t(a());let o=new ResizeObserver(()=>{let d=a();(0,_r.flushSync)(()=>t(d))});return o.observe(n),()=>o.disconnect()},[n]),e}function Ht(r=!0){let[e,t]=(0,_.useState)();return(0,_.useEffect)(()=>{if(!r)return t(void 0);let n=0,i=()=>t(innerHeight),a=()=>{i(),clearTimeout(n),n=window.setTimeout(i,300)},o=d=>{for(let[p,s]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])p?.[d](s,a)};return o("addEventListener"),i(),()=>{clearTimeout(n),o("removeEventListener")}},[r]),e}var ue={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var C=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.JDUJDAGA.js","./chunk.J25KOSNW.js","./chunk.LR3VDXPI.js","./chunk.COQKECUH.js","./chunk.EJPI3ST6.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.UT6642FC.js","./chunk.TI4OSTQV.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.GO4XBWJO.js"))));var w=y(O(),1);var Vr=y(O(),1);var Mr=y(O(),1);function Dr(r){return(0,Mr.useMemo)(()=>r===void 0||r===""?void 0:{__html:r},[r])}var ee=y(b(),1);function Ae({brand:r,size:e=22}){let t=r?.logo,n=t!==void 0&&tr(t)&&nr(t)===null?t:void 0,i=Dr(n),a={display:"inline-flex",flex:"0 0 auto",height:e,color:"var(--graview-accent)"},o=ir(r);if(o)return(0,ee.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...a,alignItems:"center",fontSize:`${e*.86/16}rem`,lineHeight:1},children:o});if(!t||!ar(t))return null;let d=r?.logoAlt??r?.name??"",p=d!==""&&d!==r?.name;return n?(0,ee.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:a,...p?{role:"img","aria-label":d}:{"aria-hidden":!0},dangerouslySetInnerHTML:i}):(0,ee.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:t,alt:p?d:"",style:{...a,width:"auto"}})}function Nt(r){(0,Vr.useEffect)(()=>{if(!r||typeof document>"u")return;let e=[...document.querySelectorAll('link[rel~="icon"]')],t=e.map(i=>i.getAttribute("href")),n;e.length===0&&(n=document.createElement("link"),n.rel="icon",n.setAttribute("data-graview-favicon",""),document.head.appendChild(n),e.push(n));for(let i of e)i.href=r;return()=>{n&&n.remove(),e.forEach((i,a)=>{i!==n&&t[a]!==null&&t[a]!==void 0&&i.setAttribute("href",t[a])})}},[r])}var l=y(b(),1),Bt=C.part((r,e)=>(0,l.jsx)(r.Here,{...e}),{quiet:!0});function Rt(){let r=de(),[e,t]=(0,w.useState)("");return(0,w.useEffect)(()=>r?.store.subscribe((n,i)=>{i.some(a=>a.author.id!==r.principal.id)&&C.load().then(a=>a.sayTheirChange(i,r,t),String)}),[r]),(0,l.jsx)("span",{role:"status",className:"graview-bar-said",children:e})}var Fr="home",Ir="/",z="scene:whole";function Ct(r){let{store:e,principal:t,views:n}=r,i=e.kindsKeptFrom(t),a=e.schema.kinds.filter(g=>!e.modules.disabledKinds.has(g)&&!i.has(g)),o=n?.arrangement?.(),d=n?.places()??[],p=wr(o,e.schema,d),s=mr(e.schema,o,[...e.modules.administered.values()].flatMap(g=>g.kinds??[])),c=(g,P)=>(!e.graph.size.nodes||e.graph.count(g)>0)&&(p?P?p.places.has(`${g}|${P}`):p.kinds.has(g):!s.has(g)),u=[{key:Fr,label:"Home",path:Ir,group:"home",primary:!0}],f=d.filter(g=>a.includes(g.kind)&&g.as!==vr&&!g.hidden),v=new Set(Q(f).map(g=>X(g,d,e.schema).toLowerCase()));for(let g of yr(a,o?.order)){let P=Ye(e.schema,g),R=v.has(P.toLowerCase());u.push({key:`kind:${g}`,label:R?Ue(e.schema,g):P,path:ke(e.schema,g),group:"lists",kind:g,primary:R?!1:c(g)})}for(let g of Q(f)){let P=pr(g.as,ur(g,d)?ke(e.schema,g.kind).slice(1):void 0),R=[g.kind,...g.over??[]].some(K=>a.includes(K)&&c(K,g.as));u.some(K=>K.path===P)||u.push({key:`place:${g.kind}:${g.as}`,label:X(g,d,e.schema),path:P,group:"pictures",kind:g.kind,primary:R})}return a.some(g=>Object.keys(e.schema.tryDefinition(g)?.edges??{}).length>0)&&u.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),u}function _t(r,e){let[t="/",n=""]=e.split("?"),i=r.find(o=>o.path===(n?`${t}?${n}`:t))??r.find(o=>o.path===t);if(i)return i.key;let a=`/${t.split("/").filter(Boolean)[0]??""}`;return r.find(o=>o.group==="lists"&&o.path===a)?.key??null}var Wr=(0,w.createContext)(null),Mt=()=>(0,w.useContext)(Wr),j=30,zr=48,re=640,Oe=4,Ee=2;function Kr(r){let{widths:e,current:t,room:n,more:i,gap:a=Oe,primary:o,most:d=fr}=r;if(e.length===0||!(n>0)||!(i>0)||e.some(u=>!(u>0)))return null;let p=(u,f)=>u.reduce((v,x)=>v+e[x],0)+a*Math.max(0,u.length-1)+(f?a+i:0),s=(u,f)=>t<0||!u.includes(t)||u.slice(0,f).includes(t)?u.slice(0,f):[...u.filter(v=>v!==t).slice(0,f-1),t].sort((v,x)=>v-x),c=s(e.map((u,f)=>f).filter(u=>o?.[u]!==!1||u===t),d);if(p(c,c.length<e.length)<=n)return c.length>=Ee?c:null;for(let u=c.length-1;u>=Ee;u--){let f=s(c,u);if(p(f,!0)<=n)return f}return null}var Dt=`
2
+ .graview-bar{display:block;margin:0;padding:0;container:graview-bar/inline-size;flex:0 0 auto;position:relative;background:var(--graview-bar);border-bottom:1px solid var(--graview-edge);color:var(--graview-ink);font-family:var(--graview-font-body,system-ui)}
3
+ .graview-bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:${zr-1}px;margin:0;padding:0 16px}
4
+ .graview-bar-home,.graview-bar-face,.graview-bar-place,.graview-bar-item,.graview-bar-at{display:inline-flex;align-items:center;box-sizing:border-box;min-width:0;margin:0;border:0;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--graview-ink);cursor:pointer;text-align:left}
5
+ .graview-bar-app{display:flex;flex:0 1 auto;max-width:50%}
6
+ .graview-bar-app::after{content:"";flex:0 100000 auto;width:2px;min-width:0}
7
+ .graview-bar-name{margin:0;display:flex;font-family:var(--graview-font-display,var(--graview-font-body,system-ui));font-size:.9375rem;font-weight:600;line-height:1.25}
8
+ .graview-bar-home{gap:8px;min-width:auto;min-height:30px;padding:0;letter-spacing:-.005em}
9
+ .graview-bar-app-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
10
+ .graview-bar-faces{display:inline-flex;flex:0 0 auto;box-sizing:border-box;height:30px;margin:0;padding:2px;gap:2px;border:1px solid var(--graview-edge);border-radius:8px}
11
+ .graview-bar-face{gap:6px;padding:0 10px;border-radius:6px;font-size:.8125rem;white-space:nowrap;color:var(--graview-ink-muted)}
12
+ .graview-bar-face span{min-width:0;max-width:11em;overflow:hidden;text-overflow:ellipsis}
13
+ .graview-bar-face[aria-pressed=true]{color:var(--graview-ink);font-weight:600;background:color-mix(in srgb,var(--graview-accent) 16%,transparent)}
14
+ [data-switch-drawn=icons] .graview-bar-face{padding:0 8px}
15
+ .graview-bar-said,[data-switch-drawn=icons] .graview-bar-face span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
16
+ .graview-bar-mid{display:flex;flex:1 100 0;min-width:0}
17
+ .graview-bar-mid[data-place]{min-width:9em;flex-basis:auto}
18
+ .graview-bar-place-at{position:relative;display:inline-flex;min-width:0;max-width:100%}
19
+ .graview-bar-place{gap:6px;height:30px;max-width:100%;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600}
20
+ .graview-bar-face:hover,.graview-bar-place:hover{border-color:var(--graview-edge);color:var(--graview-ink)}
21
+ .graview-bar-place-words{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
22
+ .graview-bar-mid[data-places=standing]{flex:0 0 auto}
23
+ .graview-bar-places{display:flex;align-items:center;gap:${Oe}px;min-width:0;margin:0;padding:0}
24
+ .graview-bar-at{gap:6px;flex:0 0 auto;height:30px;padding:0 8px;border-block:2px solid transparent;border-radius:0;font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--graview-ink-muted)}
25
+ .graview-bar-at:is(:hover,[aria-current],[aria-expanded=true]){color:var(--graview-ink)}
26
+ .graview-bar-at[aria-current]{font-weight:600;border-bottom-color:var(--graview-accent)}
27
+ .graview-bar-ruler{position:absolute;left:0;top:0;display:flex;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
28
+ .graview-bar-ruler .graview-bar-at{font-weight:600}
29
+ .graview-bar-list{display:grid;align-content:start;width:min(320px,calc(100vw - 24px));height:auto;max-height:min(70vh,560px);overflow:auto;margin:0;padding:6px;border-radius:10px;border:1px solid var(--graview-edge);background:var(--graview-float);box-shadow:var(--graview-lift-high);color:var(--graview-ink)}
30
+ .graview-bar-list[hidden]{display:none}
31
+ .graview-bar-list p{margin:8px 8px 2px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graview-ink-muted)}
32
+ .graview-bar-list ul,.graview-bar-list li{display:grid;margin:0;padding:0;list-style:none}
33
+ .graview-bar-item{align-items:flex-start;gap:10px;width:100%;padding:7px 8px;border-radius:7px;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}
34
+ .graview-bar-item:hover{background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
35
+ .graview-bar-item[aria-current]{font-weight:600;background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
36
+ .graview-bar-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:1.3em;color:var(--graview-ink-muted)}
37
+ .graview-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
38
+ .graview-bar-tools{display:contents}
39
+ .graview-bar-tools>*{margin-left:-8px}
40
+ .graview-bar-tools>:is(.graview-bar-find,.graview-bar-find-open){margin-left:auto}
41
+ .graview-bar-own{display:flex;align-items:center;flex:0 0 auto}
42
+ .graview-bar-own:empty{display:none}
43
+ .graview-bar-find{position:relative;display:flex;min-width:7.5rem;flex:0 600 9rem;--graview-bar-find-end:3.25em}
44
+ .graview-bar-find-slot{display:flex;flex:1;min-width:0}
45
+ .graview-bar-find-keys{position:absolute;right:10px;line-height:30px;pointer-events:none;font-size:.75rem;color:var(--graview-ink-faint)}
46
+ .graview-bar-find:is(:focus-within,:has(input:not(:placeholder-shown))){flex-basis:16rem;--graview-bar-find-end:10px}
47
+ :is(:focus-within,:has(input:not(:placeholder-shown)))>.graview-bar-find-keys,.graview-bar-find-open{display:none}
48
+ .graview-bar-line{display:flex;flex:0 0 auto;padding:6px 8px;background:var(--graview-ground);border-bottom:1px solid var(--graview-edge);font-family:var(--graview-font-body,system-ui)}
49
+ .graview-bar-line .graview-bar-place{height:auto;min-height:32px}
50
+ .graview-bar-line .graview-bar-place-words{white-space:normal}
51
+ @media (pointer:coarse){.graview-bar-find-keys{display:none}}
52
+ @container graview-bar (max-width: ${re-1}px){
53
+ .graview-bar-row{gap:10px;padding:0 12px}
54
+ .graview-bar-app,.graview-bar-home{max-width:none;flex:1 1 auto;min-width:0}
55
+ .graview-bar-name,.graview-bar-app-name{min-width:0}
56
+ .graview-bar-mid,.graview-bar-find{display:none}
57
+ .graview-bar-find-open{display:inline-flex}
58
+ .graview-bar-own{--graview-activity-mark:inline}
59
+ .graview-bar-own .graview-activity-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
60
+ .graview-bar[data-finding] :is(.graview-bar-app,.graview-bar-faces,.graview-bar-find-open){display:none}
61
+ .graview-bar[data-finding] .graview-bar-find{display:flex;flex:1 1 auto;min-width:0}
62
+ }`,Y={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:j,height:j,padding:0,borderRadius:8,border:"1px solid transparent",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"0.875rem",cursor:"pointer",flex:"0 0 auto"};function Vt({brand:r,name:e,heading:t=1,home:n,faces:i,places:a,current:o,reach:d,tools:p,find:s=!0,description:c,findBox:u,onFind:f,switch:v="words",scenePlaces:x}){let g=(0,w.useRef)(null),P=de()?.who.size,[R,K]=(0,w.useState)(null),[Me,pt]=(0,w.useState)(null),[A,ut]=(0,w.useState)(!1),[gt,De]=(0,w.useState)(!1),[ft,mt]=(0,w.useState)(!0),[Ve,wt]=(0,w.useState)(null),ne=i?i.pages.current:!x,ye=ne?{places:a,current:o,reach:d}:x,h=ye&&ye.places.length>0?ye:null,Fe=h?h.places.findIndex(m=>m.key===h.current):-1,Ie=!!i&&v==="words",We=h?h.places.map(m=>m.primary===!1?"0":"1").join(""):"",D=(0,w.useCallback)(()=>{let m=g.current;if(!m)return;let $=Qt(m,Fe,Ie,We);$!==void 0&&wt($);let W=$?!0:It(m);W!==null&&mt(W)},[Fe,Ie,We]);(0,w.useLayoutEffect)(()=>{let m=g.current;if(!m)return;let $=()=>{let oe=m.getBoundingClientRect().width;ut(oe<re),m.style.setProperty("--graview-bar-width",`${Math.round(oe)}px`),D()};$();let W=typeof document>"u"?void 0:document.fonts;if(W?.ready.then(D),W?.addEventListener?.("loadingdone",D),typeof ResizeObserver>"u")return()=>W?.removeEventListener?.("loadingdone",D);let be=new ResizeObserver($);be.observe(m);for(let oe of m.querySelectorAll(".graview-bar-tools > *"))be.observe(oe);return()=>{be.disconnect(),W?.removeEventListener?.("loadingdone",D)}},[D]);let he=(0,w.useRef)(f);he.current=f,(0,w.useLayoutEffect)(()=>{he.current?.(s&&R?{slot:R,compact:A,own:Me}:null)},[s,R,A,Me]),(0,w.useLayoutEffect)(()=>()=>he.current?.(null),[]);let vt=(0,w.useCallback)(()=>{De(!0),requestAnimationFrame(()=>R?.querySelector("input")?.focus())},[R]),ze=(0,w.useRef)(null),ae=(0,w.useRef)(!1),Ke=(0,w.useCallback)(()=>{De(!1),ae.current&&(ae.current=!1,requestAnimationFrame(()=>ze.current?.focus()))},[]),yt=t===!1?"span":`h${t}`,ht=n.href!==void 0?"a":"button",bt=m=>$=>{!m||!qr($)||($.preventDefault(),m())},xt=!ne,Ge=h&&!A&&Ve!==null?Ve.split(",").map(Number).filter(m=>m<h.places.length):null,ie=h?(0,l.jsx)(Ut,{places:h.places,current:h.current,reach:h.reach,scene:xt,stands:Ge}):null,kt=h?h.places.map(m=>m.label).join(`
63
+ `):"";(0,w.useLayoutEffect)(D,[D,e,r,kt,h?.current,ne,A,v,s]);let St=v==="icons"||!ft||A?"icons":"words";return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("header",{ref:g,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...gt&&A?{"data-finding":""}:{},children:[(0,l.jsx)("style",{children:Dt}),(0,l.jsxs)("div",{className:"graview-bar-row",children:[(0,l.jsx)("div",{className:"graview-bar-app",children:(0,l.jsx)(yt,{className:"graview-bar-name",children:(0,l.jsxs)(ht,{...n.href!==void 0?{href:n.href,onClick:bt(n.go)}:{type:"button",onClick:n.go},"data-testid":"app-home",...n.current?{"aria-current":"page"}:{},title:c?`${e} \u2014 ${c}`:`${e} \u2014 home`,className:"graview-bar-home",children:[(0,l.jsx)(Ae,{brand:r,size:20}),(0,l.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:e})]})})}),i?(0,l.jsx)(Ft,{faces:i,form:v,drawn:St}):null,(0,l.jsx)("div",{className:"graview-bar-mid",...Ge?{"data-places":"standing"}:!A&&ie?{"data-place":""}:{},children:A?null:ie}),!A&&h&&h.places.length>1?(0,l.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[h.places.map(m=>(0,l.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,l.jsxs)("span",{className:"graview-bar-at",children:[$e,(0,l.jsx)(Yr,{})]})]}):null,(0,l.jsxs)("div",{className:"graview-bar-tools",children:[s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:ze,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:vt,style:{...Y,display:void 0},children:(0,l.jsx)(Gt,{})}),(0,l.jsxs)("div",{className:"graview-bar-find","data-testid":"app-find",onBlur:m=>{let $=m.relatedTarget;$ instanceof Node&&m.currentTarget.contains($)||m.currentTarget.querySelector("input")?.value||Ke()},onKeyDownCapture:m=>{m.key==="Escape"&&A&&(ae.current=!0)},onKeyDown:m=>{m.key!=="Escape"||!A||(!m.defaultPrevented||!m.currentTarget.querySelector("input")?.value?Ke():ae.current=!1)},children:[(0,l.jsx)("div",{ref:K,className:"graview-bar-find-slot",children:u}),(0,l.jsx)(zt,{})]})]}):null,(0,l.jsx)("div",{ref:pt,className:"graview-bar-own","data-graview-bar-own":""}),P?(0,l.jsx)(w.Suspense,{fallback:null,children:(0,l.jsx)(Bt,{scene:!ne,compact:A})}):null,(0,l.jsx)(Rt,{}),p]})]})]}),A&&ie?(0,l.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:ie}):null]})}function Ft({faces:r,form:e,drawn:t}){let n=i=>{let a=r[i];return(0,l.jsxs)("button",{type:"button",className:"graview-bar-face","data-testid":`app-face-${i}`,"aria-pressed":a.current,title:a.label,...a.reach&&!a.current?{onPointerEnter:a.reach,onPointerDown:a.reach,onFocus:a.reach}:{},onClick:()=>{a.current||a.go()},children:[i==="scene"?(0,l.jsx)(jr,{}):(0,l.jsx)(Kt,{}),(0,l.jsx)("span",{children:a.label})]})};return(0,l.jsxs)("div",{className:"graview-bar-faces",role:"group","aria-label":`${r.scene.label} or ${r.pages.label}`,"data-testid":"app-faces","data-switch":e,"data-switch-drawn":t,children:[n("scene"),n("pages")]})}function It(r){let e=r.querySelector(".graview-bar-faces"),t=r.querySelector(".graview-bar-mid"),n=r.querySelector(".graview-bar-find");if(!e||!t||n?.matches(":focus-within")||r.getBoundingClientRect().width<re)return null;let a=Qr(e),o=t.querySelector(".graview-bar-place-words"),d=o?parseFloat(getComputedStyle(o).fontSize)||14:0,p=o?Math.min(o.scrollWidth+34,14*d):0,s=t.getBoundingClientRect().width-p;if(n&&n.getBoundingClientRect().width>0){let c=parseFloat(getComputedStyle(n).flexBasis);isFinite(c)&&(s-=Math.max(0,c-n.getBoundingClientRect().width))}return Gr(r)?!1:e.getAttribute("data-switch-drawn")==="icons"?s>=a+2:s>=-1}function Gr(r){let e=r.querySelector(".graview-bar-app-name");return!!(e&&e.getBoundingClientRect().height>parseFloat(getComputedStyle(e).lineHeight)*1.5)}var qr=r=>r.button===0&&!(r.metaKey||r.ctrlKey||r.shiftKey||r.altKey);function Wt(){let r=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(r)?"\u2318K":"Ctrl K"}function zt(){let r=Or(de()?.aiDesk);return(0,l.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:r?"/":Wt()})}function te({size:r,box:e=r,children:t}){return(0,l.jsx)("svg",{width:r,height:r,viewBox:`0 0 ${e} ${e}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:t})}function jr(){return(0,l.jsxs)(te,{size:14,children:[(0,l.jsx)("path",{d:"M7 1.5 L12.5 4.5 L7 7.5 L1.5 4.5 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),(0,l.jsx)("path",{d:"M1.5 7.5 L7 10.5 L12.5 7.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Kt(){return(0,l.jsxs)(te,{size:14,children:[(0,l.jsx)("rect",{x:"2.25",y:"1.75",width:"9.5",height:"10.5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,l.jsx)("path",{d:"M4.5 5 H9.5 M4.5 7.25 H9.5 M4.5 9.5 H7.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function Yr(){return(0,l.jsx)(te,{size:10,children:(0,l.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Gt(){return(0,l.jsxs)(te,{size:16,children:[(0,l.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,l.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function qt({place:r}){if(r.key===z)return(0,l.jsx)(jr,{});if(r.group==="home")return(0,l.jsx)(te,{size:13,box:14,children:(0,l.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let e=r.kind?`hsl(${Math.round(Ze(r.kind))} 55% 52%`:"rgb(128 128 128";return(0,l.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:r.group==="lists"?`${e})`:`linear-gradient(${e}), ${e})) center / 6px 4px no-repeat, ${e} / 0.35)`}})}var jt=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],$e="More";function Ur({place:r,current:e,reach:t,standing:n,done:i}){let a=r.key===e,o=t.href?.(r.path);return(0,l.jsxs)(o!==void 0?"a":"button",{className:n?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${r.key}`,"data-place-path":r.path,...a?{"aria-current":"page"}:{},...o!==void 0?{href:o}:{type:"button"},onClick:p=>{i(),t.go&&(o!==void 0&&!qr(p)||(p.preventDefault(),t.go(r)))},children:[n?null:(0,l.jsx)("span",{className:"graview-bar-mark",children:(0,l.jsx)(qt,{place:r})}),n&&a?(0,l.jsx)("span",{"data-testid":"app-place-current",children:r.label}):(0,l.jsx)("span",{children:r.label})]})}function Yt({places:r,current:e,reach:t,id:n,done:i}){return(0,l.jsx)(l.Fragment,{children:jt.map(({group:a,heading:o})=>{let d=r.filter(s=>s.group===a);if(d.length===0)return null;let p=`${n}-${a}`;return(0,l.jsxs)("div",{role:"group",...o?{"aria-labelledby":p}:{"aria-label":d[0].label},"data-place-group":a,children:[o?(0,l.jsx)("p",{id:p,children:o}):null,(0,l.jsx)("ul",{children:d.map(s=>(0,l.jsx)("li",{children:(0,l.jsx)(Ur,{place:s,current:e,reach:t,standing:!1,done:i})},s.key))})]},a)})})}function Ut({places:r,current:e,reach:t,scene:n,stands:i}){let a=q("places"),o=(0,w.useRef)(i);a.open||(o.current=i);let d=o.current,p=r.find(c=>c.key===e)?.label??"Places",s=d?r.filter((c,u)=>!d.includes(u)):r;return(0,l.jsxs)("nav",{className:d?"graview-bar-places":"graview-bar-place-at","aria-label":n?"What the scene shows":"The app\u2019s places",...d?{"data-testid":"app-places-standing"}:{},children:[d?.map(c=>(0,l.jsx)(Ur,{place:r[c],current:e,reach:t,standing:!0,done:()=>{}},r[c].key)),s.length>0?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("button",{type:"button",className:d?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...a.trigger,onClick:a.toggle,"aria-label":d?`${$e} \u2014 ${s.length} more ${n?"pictures":"places"}`:`${p} \u2014 ${n?"everything the scene shows":"every place"}`,title:d?s.map(c=>c.label).join(", "):p,children:[d?$e:(0,l.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:p}),(0,l.jsx)(Yr,{})]}),(0,l.jsx)("div",{...a.pane,"data-testid":"app-places",hidden:!a.open,className:"graview-bar-list",style:G,children:(0,l.jsx)(Yt,{places:s,current:e,reach:t,id:a.pane.id,done:()=>a.setOpen(!1)})})]}):null]})}function Qt(r,e,t,n){let i=r.querySelector(".graview-bar-ruler"),a=r.querySelector(".graview-bar-mid");if(!i||!a)return null;let o=r.querySelector(".graview-bar-find");if(o?.matches(":focus-within"))return;if(r.getBoundingClientRect().width<re||Gr(r))return null;let d=[...i.children].map(P=>P.getBoundingClientRect().width),p=d.pop()??0,s=r.querySelector(".graview-bar-faces"),c=s&&t?Qr(s):0,u=s?.getAttribute("data-switch-drawn")==="words"?c:0,f=a.getBoundingClientRect().left,v=o?.getBoundingClientRect(),x=v&&v.width>0?v.right-f-(parseFloat(getComputedStyle(o).minWidth)||0)-8:a.getBoundingClientRect().width,g=[...n].map(P=>P!=="0");return Kr({widths:d,current:e,room:Math.floor(x+u-c),more:p,primary:g})?.join(",")??null}function Qr(r){return[...r.querySelectorAll(".graview-bar-face span")].reduce((e,t)=>e+t.scrollWidth+10,0)}var Xt=r=>`graview:lenses:${r}`,Zt=(r,e)=>r?.name??e.kinds.join(",");function He(r){try{let e=JSON.parse(localStorage.getItem(Xt(r))??"[]");return Array.isArray(e)?e.filter(t=>typeof t?.title=="string"&&typeof t.lens=="string"):[]}catch{return[]}}var Jr={name:"Graview",typography:{body:xe.body,mono:xe.mono},schemes:se},Xr={ground:"--graview-ground",groundDeep:"--graview-ground-deep",wash:"--graview-wash",panel:"--graview-panel",panelMuted:"--graview-panel-muted",panelWarning:"--graview-panel-warning",edge:"--graview-edge",edgeBright:"--graview-edge-bright",ink:"--graview-ink",inkMuted:"--graview-ink-muted",inkFaint:"--graview-ink-faint",accent:"--graview-accent",accentDim:"--graview-accent-dim",accentInk:"--graview-accent-ink",warn:"--graview-warn",good:"--graview-good",bad:"--graview-bad",glow:"--graview-glow",bar:"--graview-bar",float:"--graview-float",liftLow:"--graview-lift-low",liftHigh:"--graview-lift-high",tintAlpha:"--graview-tint-alpha",tintLightness:"--graview-tint-lightness",gridAlpha:"--graview-grid-alpha"};function et(r){return Object.keys(Xr).map(e=>` ${Xr[e]}: ${r[e]};`).join(`
64
+ `)}function Zr(r,e){let t=r===e?r:`${r} ${e}`;return` ${t} [data-graview-view] { transition: none; }
65
+ ${t} [data-graview-touched] > * { animation: none; }
66
+ ${t} [data-graview-view][data-graview-wrote] > *,
67
+ ${t} [data-graview-view][data-graview-read] > * {
68
+ animation: none;
69
+ box-shadow: 0 0 0 2px var(--graview-activity);
70
+ }
71
+ ${t} [data-graview-view][data-graview-read] > * { box-shadow: 0 0 0 1px var(--graview-activity); }
72
+ ${t} [data-graview-connector][data-graview-activity] { animation: none; stroke-opacity: 1; }`}function rn(r="dark",e=Jr,t={}){let n=on(r,e,t);return t.scope===void 0?n:tn(n,t.scope)}function tn(r,e){let t=`:where(${e}) `,n=o=>o===e||o.startsWith(`${e} `)||o.startsWith(`${e}:`)||o.startsWith(`${e}[`)||o.startsWith(":root")&&o.includes(` ${e} `),i=o=>{let d=o.match(/^\s*/)[0],p=an(o.trim()).map(s=>n(s)?s:`${t}${s}`);return`${d}${p.join(", ")} `},a=o=>{let d="",p=0;for(;p<o.length;){let s=o.indexOf("{",p);if(s===-1)return d+o.slice(p);let c=nn(o,s),u=o.slice(p,s),f=o.slice(s+1,c),v=u.trim().startsWith("@")?u.trim().split(/[\s(]/)[0]:null;v===null?d+=`${i(u)}{${f}}`:v==="@media"||v==="@supports"||v==="@container"||v==="@layer"?d+=`${u}{${a(f)}}`:d+=`${u}{${f}}`,p=c+1}return d};return a(r)}function nn(r,e){let t=0,n=null;for(let i=e;i<r.length;i++){let a=r[i];if(n)a==="\\"?i++:a===n&&(n=null);else if(a==='"'||a==="'")n=a;else if(a==="/"&&r[i+1]==="*")i=r.indexOf("*/",i+2)+1||r.length;else if(a==="{")t++;else if(a==="}"&&--t===0)return i}return r.length}function an(r){let e=[],t=0,n=null,i="";for(let a of r){if(n)a===n&&(n=null);else if(a==='"'||a==="'")n=a;else if(a==="("||a==="[")t++;else if(a===")"||a==="]")t--;else if(a===","&&t===0){e.push(i.trim()),i="";continue}i+=a}return i.trim()&&e.push(i.trim()),e}function on(r,e,t){let n=e.schemes[r],i=t.scope??":root",a=t.scope??"html, body",o=t.scope??"body",d=":root",p=er(e),s=rr(e),c=or(e.kit);return`${i} {
73
+ ${et(n)}
74
+ ${sr(c)}
75
+
76
+ ${dr()}
77
+ --graview-font-body: ${s.body};
78
+ --graview-font-display: ${s.display};
79
+ --graview-font-mono: ${s.mono};
80
+
81
+ --graview-weight-display: ${s.weights.display};
82
+ --graview-weight-body: ${s.weights.body};
83
+ --graview-weight-label: ${s.weights.label};
84
+
85
+ --graview-text-small: .833rem;
86
+ --graview-text-body: 1rem;
87
+ --graview-text-heading: 1.2rem;
88
+ --graview-text-title: 1.728rem;
89
+
90
+ --graview-radius: ${p.radius}px;
91
+ --graview-radius-sm: ${p.radiusSmall}px;
92
+ --graview-pad: ${p.pad}px;
93
+ --graview-pad-sm: ${p.padSmall}px;
94
+ --graview-gap: ${p.gap}px;
95
+ color-scheme: ${r};
96
+ }
97
+
98
+ ${a} {
99
+ margin: 0;
100
+ background: var(--graview-ground-deep);
101
+ color: var(--graview-ink);
102
+ }
103
+
104
+
105
+ ${o} {
106
+ font: 0.875rem/1.55 var(--graview-font-body);
107
+ font-weight: var(--graview-weight-body);
108
+ font-variant-numeric: tabular-nums;
109
+ -webkit-font-smoothing: antialiased;
110
+ }
111
+
112
+
113
+ h1, h2, h3, h4 { font-family: var(--graview-font-display); font-weight: var(--graview-weight-display); }
114
+ h1, h2 { letter-spacing: ${Je}; }
115
+
116
+ .graview-logo > svg { display: block; height: 100%; width: auto; }
117
+ code, kbd, samp { font-family: var(--graview-font-mono); }
118
+
119
+
120
+ [data-graview-figure] > svg {
121
+ width: 100%;
122
+ height: 100%;
123
+ display: block;
124
+ overflow: visible;
125
+ }
126
+
127
+
128
+ @property --graview-altitude {
129
+ syntax: "<number>";
130
+ inherits: true;
131
+ initial-value: 0;
132
+ }
133
+
134
+
135
+ .graview-ground {
136
+ position: relative;
137
+
138
+ isolation: isolate;
139
+ z-index: ${lr("scene")};
140
+ background: var(--graview-wash), var(--graview-ground);
141
+ --graview-altitude: 0;
142
+ transition: --graview-altitude 640ms cubic-bezier(0.33, 0, 0.2, 1);
143
+ }
144
+
145
+
146
+
147
+ .graview-ground::before {
148
+ content: "";
149
+ position: absolute;
150
+ inset: 0;
151
+ pointer-events: none;
152
+ background-image:
153
+ linear-gradient(var(--graview-edge) 1px, transparent 1px),
154
+ linear-gradient(90deg, var(--graview-edge) 1px, transparent 1px);
155
+ background-size: var(--graview-kit-grid-size, 64px) var(--graview-kit-grid-size, 64px);
156
+ opacity: calc(var(--graview-kit-grid, 1) * var(--graview-grid-alpha) * (1 - var(--graview-altitude)));
157
+ mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
158
+ }
159
+
160
+
161
+ .graview-scroll {
162
+ overflow: auto;
163
+ min-height: 0;
164
+ --graview-scroll-shade: ${r==="light"?"rgba(20,30,32,0.22)":"rgba(0,0,0,0.55)"};
165
+ }
166
+ .graview-scroll[data-graview-more-below] {
167
+ box-shadow: inset 0 -12px 10px -10px var(--graview-scroll-shade);
168
+ }
169
+ .graview-scroll[data-graview-more-above] {
170
+ box-shadow: inset 0 12px 10px -10px var(--graview-scroll-shade);
171
+ }
172
+ .graview-scroll[data-graview-more-above][data-graview-more-below] {
173
+ box-shadow: inset 0 12px 10px -10px var(--graview-scroll-shade), inset 0 -12px 10px -10px var(--graview-scroll-shade);
174
+ }
175
+
176
+
177
+
178
+
179
+ .graview-ground::after {
180
+ content: "";
181
+ position: absolute;
182
+ inset: 0;
183
+ pointer-events: none;
184
+ --graview-lattice-tile: var(--graview-lattice-cell, calc(var(--graview-kit-lattice-size, 46px) * 2.2361));
185
+ --graview-lattice-line: var(--graview-edge);
186
+ background-image:
187
+ linear-gradient(to top right, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
188
+ linear-gradient(to top left, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
189
+ linear-gradient(to top right, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
190
+ linear-gradient(to top left, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px));
191
+
192
+ --graview-lattice-rise: calc(var(--graview-lattice-tile) * var(--graview-lattice-tilt, 0.5));
193
+ background-size:
194
+ var(--graview-lattice-tile) var(--graview-lattice-rise),
195
+ var(--graview-lattice-tile) var(--graview-lattice-rise),
196
+ calc(var(--graview-lattice-tile) / 2) calc(var(--graview-lattice-rise) / 2),
197
+ calc(var(--graview-lattice-tile) / 2) calc(var(--graview-lattice-rise) / 2);
198
+
199
+ background-position: var(--graview-lattice-x, 0px) var(--graview-lattice-y, 0px);
200
+
201
+ opacity: calc(var(--graview-kit-lattice, 1) * var(--graview-grid-alpha) * 2 * var(--graview-altitude));
202
+ mask-image: linear-gradient(to top, #000 42%, rgba(0,0,0,0.35) 70%, transparent 92%);
203
+ -webkit-mask-image: linear-gradient(to top, #000 42%, rgba(0,0,0,0.35) 70%, transparent 92%);
204
+ }
205
+
206
+
207
+ .graview-profile-keeping { display: grid; gap: 6px; }
208
+ .graview-profile-keeping:not(:has(button, a)) { display: none; }
209
+ .graview-profile-keeping > * { justify-self: start; }
210
+
211
+ .graview-host-action:hover,
212
+ .graview-host-action:focus-visible {
213
+ background: var(--graview-wash);
214
+ color: var(--graview-accent);
215
+ }
216
+
217
+
218
+
219
+ @keyframes graview-settle {
220
+ from { opacity: 0; transform: translateY(7px); }
221
+ }
222
+
223
+
224
+ [data-graview-pick] {
225
+ cursor: pointer;
226
+ transition: filter 140ms ease, box-shadow 140ms ease;
227
+ }
228
+ [data-graview-pick]:hover {
229
+ filter: brightness(${r==="light"?.96:1.18});
230
+ }
231
+ [data-graview-pick]:focus-visible {
232
+ outline: 2px solid var(--graview-accent);
233
+ outline-offset: 2px;
234
+ border-radius: 7px;
235
+ }
236
+ .graview-activity-record:hover > [data-graview-primitive="chip"] {
237
+ filter: brightness(${r==="light"?.96:1.18});
238
+ }
239
+ .graview-activity-record:focus-visible {
240
+ outline: 2px solid var(--graview-accent);
241
+ outline-offset: 2px;
242
+ }
243
+
244
+ [data-graview-slot]:focus-visible {
245
+ outline: none;
246
+ }
247
+ [data-graview-slot]:focus-visible > span:first-of-type {
248
+ box-shadow: 0 0 0 2px var(--graview-ground), 0 0 0 4px var(--graview-accent);
249
+ }
250
+
251
+
252
+ [data-graview-view] { cursor: pointer; }
253
+ [data-graview-view]:hover { filter: brightness(${r==="light"?.985:1.12}); }
254
+ [data-graview-view]:focus-visible {
255
+ outline: 2px solid var(--graview-accent);
256
+ outline-offset: 3px;
257
+ border-radius: var(--graview-radius);
258
+ }
259
+
260
+ button {
261
+ font: inherit;
262
+ font-weight: var(--graview-weight-label);
263
+ color: var(--graview-ink);
264
+ padding: 7px 13px;
265
+ border: 1px solid var(--graview-edge);
266
+ border-radius: var(--graview-radius-sm, 8px);
267
+ background: var(--graview-panel);
268
+ box-shadow: ${r==="light"?"0 1px 2px rgba(24,33,58,0.05)":"none"};
269
+ cursor: pointer;
270
+ transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
271
+ }
272
+
273
+ button:hover:not(:disabled) {
274
+ border-color: var(--graview-edge-bright);
275
+ box-shadow: ${r==="light"?"0 1px 2px rgba(24,33,58,0.06), 0 6px 16px -8px rgba(24,33,58,0.2)":"0 0 0 1px var(--graview-accent-dim)"};
276
+ }
277
+ button:focus-visible {
278
+ outline: 2px solid var(--graview-accent);
279
+ outline-offset: 2px;
280
+ }
281
+ button:disabled { opacity: 0.45; cursor: default; }
282
+
283
+ code { color: var(--graview-ink-muted); font-size: 0.8125rem; letter-spacing: 0.02em; }
284
+
285
+
286
+ [data-graview-view] {
287
+ transition: filter 260ms cubic-bezier(0.22, 1, 0.36, 1);
288
+ }
289
+
290
+
291
+ [data-graview-stage="dom"] [data-graview-view],
292
+ [data-graview-stage="dom"] [data-graview-view] > [data-graview-natural] {
293
+ pointer-events: none;
294
+ }
295
+
296
+
297
+
298
+ @keyframes graview-touched {
299
+ 0% { box-shadow: 0 0 0 0 var(--graview-accent-dim); }
300
+ 35% { box-shadow: 0 0 26px 3px var(--graview-accent-dim); }
301
+ 100% { box-shadow: 0 0 0 0 transparent; }
302
+ }
303
+
304
+ @keyframes graview-landed {
305
+ 0% { box-shadow: 0 0 0 0 var(--graview-activity); opacity: 0.55; }
306
+ 30% { box-shadow: 0 0 30px 4px var(--graview-activity); opacity: 1; }
307
+ 100% { box-shadow: 0 0 0 0 transparent; opacity: 1; }
308
+ }
309
+
310
+
311
+ @keyframes graview-considered {
312
+ 0% { outline-color: transparent; }
313
+ 25% { outline-color: var(--graview-activity); }
314
+ 100% { outline-color: transparent; }
315
+ }
316
+
317
+
318
+ @keyframes graview-relation {
319
+ 0% { stroke-opacity: 0.28; stroke-width: 1.4; }
320
+ 30% { stroke-opacity: 1; stroke-width: 3; }
321
+ 100% { stroke-opacity: 0.28; stroke-width: 1.4; }
322
+ }
323
+
324
+
325
+ @media (prefers-reduced-motion: reduce) {
326
+ ${Zr(`${d}:not([data-graview-motion='full'])`,o)}
327
+ }
328
+ ${Zr(`${d}[data-graview-motion='reduce']`,o)}`}var F=y(O(),1);var L=y(b(),1);function sn({scheme:r,onScheme:e,profileHref:t,keeping:n,hostActions:i=ln,signature:a=!1}){let{store:o,principal:d,seats:p,people:s}=le(),c=q("profile"),u=c.open,[f,v]=(0,F.useState)(!1);(0,F.useEffect)(()=>pn(ge),[]),u&&!f&&v(!0),(0,F.useEffect)(()=>{u&&ge()},[u]);let x=d.id===void 0?void 0:o.graph.getNode(d.id),g=x===void 0?d.id===void 0?"Nobody in particular":Qe(d,{graph:o.graph,schema:o.schema,seats:p,people:s}):je(o.schema.tryDefinition(x.kind),x);return(0,L.jsxs)("div",{style:{position:"relative"},children:[(0,L.jsx)("button",{type:"button","data-testid":"profile-button",...c.trigger,onClick:c.toggle,onPointerEnter:ge,onFocus:ge,"aria-label":`${g} \u2014 you, your seat and your settings`,title:`${g} \u2014 you, your seat and your settings`,style:{...Y,borderRadius:999},children:(0,L.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:j-4,height:j-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:un(g)})}),(0,L.jsxs)("section",{...c.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!u,style:{...G,width:280,maxWidth:"calc(100vw - 32px)",maxHeight:"min(62cqh, 520px)",overflowY:"auto",overflowX:"hidden",display:u?"grid":"none",gap:12,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[f?(0,L.jsx)(F.Suspense,{fallback:null,children:(0,L.jsx)(dn,{part:"top",name:g,me:x,profileHref:t,hostActions:i,close:()=>c.setOpen(!1)})}):null,(0,L.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:fn,children:[(0,L.jsx)("span",{style:gn,children:"Keeping this app"}),n]}),f?(0,L.jsx)(F.Suspense,{fallback:null,children:(0,L.jsx)(cn,{part:"rest",name:g,me:x,scheme:r,onScheme:e,hostActions:i,signature:a,close:()=>c.setOpen(!1)})}):null]})]})}var ln=[],ge=()=>C.prefetch(),dn=C.part((r,e)=>(0,L.jsx)(r.ProfilePane,{...e}),{what:"The rest of your menu"}),cn=C.part((r,e)=>(0,L.jsx)(r.ProfilePane,{...e}),{quiet:!0});function pn(r){let e=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&r()},t=globalThis;if(t.requestIdleCallback){let i=t.requestIdleCallback(e,{timeout:5e3});return()=>t.cancelIdleCallback?.(i)}let n=setTimeout(e,2500);return()=>clearTimeout(n)}function un(r){return(r.trim()[0]??"?").toUpperCase()}var gn={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},fn={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function mn(r){return!(r==="hidden"||r===!1)}var Ne=y(O(),1);var rt="The whole thing",fe=r=>`scene:${r.kind}:${r.as}`;function tt(r){let{view:e}=r,t=r.places.filter(c=>!r.hidden.has(c.kind)),n=Q(t),i=(c,u)=>{if(c===z)return hr(br(u,!0),"view",null);let f=n.find(v=>fe(v)===c);return f?kr(u,f.over?.find(v=>u.focusId===Z(v))??f.kind,f.as):null},a=[{key:z,label:rt,path:`${Se}${Le(i(z,Pe))}`,group:"home"},...n.map(c=>({key:fe(c),label:X(c,t,r.schema),path:`${Se}${Le(i(fe(c),Pe))}`,group:"pictures",kind:c.kind}))],o=e.within?.view,d=c=>e.focusId===Z(c.kind)&&(o===void 0?t.filter(u=>u.kind===c.kind).at(-1)===c:o===c.as),p=t.find(c=>d(c)&&(o!==void 0||!e.overview)),s=p?n.find(c=>cr(c,p)):void 0;return{places:a,current:s?fe(s):z,to:i}}function wn(){let{store:r,views:e,hiddenKinds:t}=le(),{view:n,go:i}=Ar(),a=e.places(),o=(0,Ne.useMemo)(()=>tt({places:a,hidden:t,view:n,schema:r.schema}),[a,t,n,r.schema]),d=(0,Ne.useMemo)(()=>({go:p=>{let s=o.to(p.key,n);s&&i(s)}}),[o,n,i]);return{places:o.places,current:o.current,reach:d}}var T=y(O(),1);var E=y(b(),1),nt=6e3;function vn(){let r=[],e=0,t=new Set,n=new Map,i,a=()=>{for(let s of[...t])s()},o=s=>{if(clearTimeout(n.get(s.id)),n.delete(s.id),s.kind!=="toast")return;let c=(s.actions?.length??0)+(s.action?1:0),u=s.timeout??(c>0?!1:nt);u!==!1&&n.set(s.id,setTimeout(()=>i?.()?o(s):d(s.id),u))},d=s=>{clearTimeout(n.get(s)),n.delete(s),r.some(c=>c.id===s)&&(r=r.filter(c=>c.id!==s),a())},p=s=>{r=r.some(c=>c.id===s.id)?r.map(c=>c.id===s.id?s:c):[...r,s],o(s),a()};return{notify(s){let c=s.id??`notice-${++e}`;return p({...s,id:c,said:++e}),{id:c,dismiss:()=>d(c),update:u=>{let f=r.find(v=>v.id===c);f&&p({...f,...u,id:c,kind:f.kind,said:u.sentence!==void 0&&u.sentence!==f.sentence?++e:f.said})}}},dismiss:d,hold(s){i=s},list:()=>r,subscribe(s){return t.add(s),()=>t.delete(s)}}}function yn({notices:r}){let e=r.reduce((d,p)=>!d||p.said>d.said?p:d,void 0),[t,n]=(0,T.useState)(""),[i,a]=(0,T.useState)(""),o=(0,T.useRef)(0);return(0,T.useEffect)(()=>{if(!e||e.said===o.current)return;o.current=e.said;let d=e.tone==="bad";(d?a:n)("");let p=setTimeout(()=>(d?a:n)(e.sentence),50);return()=>clearTimeout(p)},[e]),(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:ue,children:t}),(0,E.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:ue,children:i})]})}var hn=(0,T.createContext)(null);function bn({board:r,anchor:e}){let t=(0,T.useSyncExternalStore)(r.subscribe,r.list,r.list);return(0,T.useEffect)(()=>Sn(Be.prefetch),[]),(0,E.jsxs)(E.Fragment,{children:[t.length>0?(0,E.jsx)(T.Suspense,{fallback:null,children:(0,E.jsx)(kn,{notices:t,anchor:e,board:r})}):null,(0,E.jsx)(yn,{notices:t})]})}var Be=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.5T5XGILP.js")))),xn=()=>Be.load().then(()=>{},()=>{}),kn=Be.part((r,e)=>(0,E.jsx)(r.NoticeStacks,{...e}),{quiet:!0});function Sn(r){let e=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&r()},t=globalThis;if(t.requestIdleCallback){let i=t.requestIdleCallback(e,{timeout:5e3});return()=>t.cancelIdleCallback?.(i)}let n=setTimeout(e,2500);return()=>clearTimeout(n)}var U=y(O(),1);var B=y(b(),1),Pn=C.part((r,e)=>(0,B.jsx)(r.ProblemRows,{...e}),{what:"The problems",as:"li"}),Re=()=>C.prefetch();function Ln({clean:r="All rules hold"}){let e=Tr(),{set:t}=Lr(),n=e.length,[i,a]=(0,U.useState)(!1),o=q("problems",{open:i&&n>0,onOpenChange:a}),d=o.open,p=it(e,r);return(0,U.useEffect)(()=>{if(n===0)return;let s=setTimeout(Re,1500);return()=>clearTimeout(s)},[n>0]),(0,B.jsxs)("div",{style:{position:"relative",display:"inline-flex"},children:[(0,B.jsxs)("button",{type:"button","data-testid":"standing",...o.trigger,"aria-disabled":n===0?!0:void 0,"aria-label":p,onClick:n===0?void 0:o.toggle,onPointerEnter:n===0?void 0:Re,onFocus:n===0?void 0:Re,title:p,style:{...Y,padding:n===0?0:"0 8px",cursor:n===0?"default":"pointer",color:n===0?"var(--graview-ink-muted)":at(e),fontVariantNumeric:"tabular-nums",fontWeight:600},children:[(0,B.jsx)(ot,{tone:n===0?"var(--graview-good)":at(e)}),n>0?(0,B.jsx)("span",{"aria-hidden":"true",children:n}):null]}),d?(0,B.jsx)("ol",{...o.pane,"data-testid":"problems",style:{...G,width:300,maxHeight:"min(48cqh, 420px)",overflow:"auto",margin:0,padding:4,listStyle:"none",display:"grid",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:(0,B.jsx)(U.Suspense,{fallback:null,children:(0,B.jsx)(Pn,{violations:e,pick:s=>{t(s.nodeIds),o.setOpen(!1)}})})}):null]})}function it(r,e){return r.length===0?e:`${Xe(r)} \u2014 open what is broken, and what would fix it`}var at=r=>r.some(e=>e.status==="could-not-judge"||e.status==="over-budget")?"var(--graview-bad)":"var(--graview-warn)";function ot({tone:r}){return(0,B.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:r}})}function Tn(r,e,t=[]){if(r.focusId)return r.focusId;let i=(r.selection??[]).map(xr).find(a=>a!==null)??t.find(a=>e.includes(a))??e[0]??null;return i===null?null:Z(i)}var we=y(b(),1),me=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.ERIT3R6N.js"))));function An(){return me.load().then(()=>{})}var En=[{cardinality:"one",fidelity:"full",slot:"page"},{cardinality:"one",fidelity:"summary",slot:"card"},{cardinality:"one",fidelity:"glyph",slot:"row"},{cardinality:"many",fidelity:"full"},{cardinality:"many",fidelity:"summary"},{cardinality:"many",fidelity:"glyph"}];function $n({schema:r,specs:e,kind:t,view:n}){let i=me.current.frameworkViews(r,e).lookup(t,{cardinality:n.cardinality,fidelity:n.fidelity});return i?(0,we.jsx)(i,{...n}):null}var On=me.part((r,e)=>(0,we.jsx)($n,{...e}),{what:"This view"});function st(r,e,t){for(let n of e.kinds){let i=t?.[n];for(let a of En){let o=p=>(0,we.jsx)(On,{schema:e,specs:t,kind:n,view:p}),d=a.slot!==void 0&&i?.[a.slot]!==void 0;d&&(o.says=(p,s)=>me.current?.frameworkViews(e,t).lookup(n,{cardinality:a.cardinality,fidelity:a.fidelity})?.says?.(p,s)),r.register(n,{cardinality:a.cardinality,fidelity:a.fidelity},d?o:Sr(o))}}return r}function Hn(r,e){return st(Pr(r),r,e)}var Ce=y(O(),1);var M=y(b(),1),lt=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.4HRAQNJO.js","./chunk.Y6ZNFQK3.js","./chunk.BNV77BQZ.js","./chunk.SYAEBGDC.js","./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.UHUGOTUU.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.HJCQ6I3S.js","./chunk.MWGGV7DE.js","./chunk.JQU5GEU3.js","./chunk.HAIG6NVX.js","./chunk.UZGRRDHD.js","./chunk.XANVHJQ4.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.UT6642FC.js","./chunk.G5NZVPJU.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.H7BST3XO.js"))));function Nn({lens:r,view:e}){let t=lt.current.declaredLensView(r);return(0,M.jsx)(t,{...e})}var Bn=lt.part((r,e)=>(0,M.jsx)(Nn,{...e}),{what:"This picture"});function Rn(r){let e=t=>(0,M.jsx)(Ce.Suspense,{fallback:null,children:(0,M.jsx)(Bn,{lens:r,view:t})});return r.lens==="blocks"&&(e.flows=!0),r.create===!1&&(e.creates=!1),e}var dt=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.PHKSMUIA.js"))));function Cn({blocks:r,view:e}){let t=dt.current.homeView(r);return(0,M.jsx)(t,{...e})}var _n=dt.part((r,e)=>(0,M.jsx)(Cn,{...e}),{what:"The home"});function Mn(r){let e=t=>(0,M.jsx)(Ce.Suspense,{fallback:null,children:(0,M.jsx)(_n,{blocks:r,view:t})});return Object.defineProperty(e,Symbol.for("graview.home-blocks"),{value:!0}),e}function Dn(r,e){return e.home&&e.home.length>0&&r.home?.(Mn(e.home)),ct(r,e),r.arrange?.(e.pages),r}function ct(r,e,t){for(let n of gr(e).drawn){if(t&&r.places().some(o=>o.title===n.title))continue;let i=Rn(n),a={title:n.title,...n.across?{across:n.across}:{},...t?{beside:t}:{},...n.hidden?{hidden:!0}:{},over:n.kinds};for(let o of n.kinds)r.register(o,{cardinality:"many",fidelity:"full"},i,a),r.register(o,{cardinality:"many",fidelity:"summary"},i,a)}}function Vn(r,e,t){t.length>0&&ct(r,{schema:e,lenses:t.map(({lens:n,...i})=>({...i,name:n}))},!0)}function Fn(r,e,t){Vn(r,e,He(t))}var I=y(O(),1),ve=y(b(),1);var _e=r=>`graview:first-look:${r}`;function In(r,e){if(r.seen!==void 0)try{return typeof r.seen=="function"?r.seen():r.seen}catch{return!0}try{return window.localStorage.getItem(_e(e))!==null}catch{return!1}}function Wn(r,e){if(r.seen===void 0)try{window.localStorage.setItem(_e(e),"seen")}catch{}}var zn=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.K5ME5GCG.js")))),Kn=zn.part((r,e)=>{let t=r.FirstLookHints;return(0,ve.jsx)(t,{...e})},{quiet:!0});function Gn({firstLook:r,root:e,app:t}){let n=(0,I.useRef)(null);n.current=r===!0?{}:r||null;let[i,a]=(0,I.useState)(()=>n.current!==null&&typeof window<"u"&&!In(n.current,t)),o=(0,I.useCallback)(d=>{if(a(!1),d===null)return;let p=n.current??{};Wn(p,t),p.onDone?.(d)},[t]);return!i||n.current===null?null:(0,ve.jsx)(I.Suspense,{fallback:null,children:(0,ve.jsx)(Kn,{root:e,steps:n.current.steps??[],onEnd:o})})}export{rn as a,tn as b,ce as c,Pt as d,qn as e,Or as f,jn as g,Dr as h,Nt as i,Cr as j,Ot as k,Ht as l,ue as m,C as n,Ct as o,_t as p,Wr as q,Mt as r,Y as s,Vt as t,sn as u,mn as v,wn as w,vn as x,hn as y,bn as z,xn as A,Xt as B,Zt as C,He as D,Ln as E,it as F,ot as G,Tn as H,Dn as I,Vn as J,Fn as K,An as L,Hn as M,Gn as N};
329
+ /*! Bundled license information:
330
+
331
+ react-dom/cjs/react-dom.production.js:
332
+ (**
333
+ * @license React
334
+ * react-dom.production.js
335
+ *
336
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
337
+ *
338
+ * This source code is licensed under the MIT license found in the
339
+ * LICENSE file in the root directory of this source tree.
340
+ *)
341
+ */
@@ -1 +1 @@
1
- import{c as u}from"./chunk.G4WQGTZR.js";import{Z as l}from"./chunk.HLLWKSZB.js";function a(e,n){let s=new Map;for(let o of e){let t=n(o.from),i=n(o.to);if(t===void 0||i===void 0)continue;let d=`${o.kind}|${t}|${i}`,r=s.get(d);r||s.set(d,r={edge:o.kind,from:t,to:i,links:0,froms:new Set,tos:new Set}),r.links+=1,r.froms.add(o.from),r.tos.add(o.to)}return[...s.entries()].sort(([o],[t])=>o<t?-1:o>t?1:0).map(([o,t])=>({key:o,edge:t.edge,from:t.from,to:t.to,links:t.links,fromCount:t.froms.size,toCount:t.tos.size}))}function m(e,n,s){let o=[],t=[];for(let d of e){let r=f(d);if(r!==null){o.includes(r)||o.push(r);continue}s(d)!==void 0&&t.push(d)}let i=n.overview&&n.focusId!==null?f(n.focusId):null;return n.beside&&n.overview&&i===null&&n.focusId!==null&&t.length===0&&o.length===0&&s(n.focusId)!==void 0&&t.push(n.focusId),{districts:o,records:t,lens:i}}function f(e){return e.startsWith("kind:")?e.slice(5)||null:e.startsWith("aggregate:")&&!e.includes("|")&&e.slice(10)||null}function y(e,n){let s=u(e,n.from,n.edge,"out"),o=n.from===n.to?" of their own":"";return`${l(e,n.from,n.fromCount)} \u2192 ${l(e,n.to,n.toCount)}${o}, ${s}`}export{a,m as b,f as c,y as d};
1
+ import{c as u}from"./chunk.UGFJKSHU.js";import{_ as l}from"./chunk.MNP4JI33.js";function a(e,n){let s=new Map;for(let o of e){let t=n(o.from),i=n(o.to);if(t===void 0||i===void 0)continue;let d=`${o.kind}|${t}|${i}`,r=s.get(d);r||s.set(d,r={edge:o.kind,from:t,to:i,links:0,froms:new Set,tos:new Set}),r.links+=1,r.froms.add(o.from),r.tos.add(o.to)}return[...s.entries()].sort(([o],[t])=>o<t?-1:o>t?1:0).map(([o,t])=>({key:o,edge:t.edge,from:t.from,to:t.to,links:t.links,fromCount:t.froms.size,toCount:t.tos.size}))}function m(e,n,s){let o=[],t=[];for(let d of e){let r=f(d);if(r!==null){o.includes(r)||o.push(r);continue}s(d)!==void 0&&t.push(d)}let i=n.overview&&n.focusId!==null?f(n.focusId):null;return n.beside&&n.overview&&i===null&&n.focusId!==null&&t.length===0&&o.length===0&&s(n.focusId)!==void 0&&t.push(n.focusId),{districts:o,records:t,lens:i}}function f(e){return e.startsWith("kind:")?e.slice(5)||null:e.startsWith("aggregate:")&&!e.includes("|")&&e.slice(10)||null}function y(e,n){let s=u(e,n.from,n.edge,"out"),o=n.from===n.to?" of their own":"";return`${l(e,n.from,n.fromCount)} \u2192 ${l(e,n.to,n.toCount)}${o}, ${s}`}export{a,m as b,f as c,y as d};
@@ -0,0 +1 @@
1
+ import{F as C,Q as F,sa as H,ua as A}from"./chunk.6QWV5MVH.js";import"./chunk.MNP4JI33.js";import{b as x}from"./chunk.AJZBJBMO.js";var t=x(C(),1),f=x(F(),1),q={faces:'[data-testid="app-faces"]',problems:'[data-testid="standing"], [data-testid="standing-link"]',activity:'[data-testid="activity-button"]',ask:'[data-testid="app-find"], [data-testid="app-find-open"]',find:'[data-testid="app-find"], [data-testid="app-find-open"]',profile:'[data-testid="profile-button"]',home:'[data-testid="app-home"]'};function D(e){if(!e.isConnected||e.closest("[hidden], [inert], [aria-hidden='true']"))return!1;if(typeof e.checkVisibility!="function")return!0;if(!e.checkVisibility({visibilityProperty:!0}))return!1;let a=e.getBoundingClientRect();return a.width>1&&a.height>1}function S(e,a){if(!e||a==="ask"&&!e.querySelector("[data-graview-quick-ask]"))return null;for(let c of e.querySelectorAll(q[a]))if(D(c))return c;return null}function W(e){let a=(u,h,l)=>e.querySelector(u)?.getAttribute(h)?.trim()||l,c=a('[data-testid="app-face-scene"]',"title","Scene"),n=a('[data-testid="app-face-pages"]',"title","Pages");return[{anchor:"faces",title:`${c} or ${n}`,words:`One app, two ways to see it: ${c} draws every record as one picture, ${n} as lists and pages to read and change.`},{anchor:"problems",title:"Whether all is in order",words:"The dot is green while every rule holds. When one is broken it counts what is wrong, and pressing it shows each one and where."},{anchor:"activity",title:"Activity",words:"What has happened here and who did it, each change with its way back."},{anchor:"ask",title:"Ask",words:"Press \u2318K (Ctrl+K) to ask about what you have selected, or right-click it and choose Ask about this\u2026. The answer stands beside it, and a change it proposes waits for you to accept it."}]}var R=300,O=1200,$=15e3;function _({root:e,steps:a,onEnd:c}){let[n,u]=(0,t.useState)(null),h=(0,t.useRef)(null),l=(0,t.useRef)(!1),p=(0,t.useRef)(c);p.current=c,(0,t.useEffect)(()=>{let r=Date.now(),o=Date.now(),s=null,i,v=new MutationObserver(()=>o=Date.now());v.observe(document.body,{childList:!0,subtree:!0});let k=()=>{let L=e(),E=Date.now();if(L?.querySelector('[data-testid="app-bar"]')){if(s??=E,E-o>=R||E-s>=O){let T=[...W(L),...a].filter(P=>S(L,P.anchor)!==null);if(T.length===0){l.current=!0,p.current(null);return}h.current=document.activeElement,u({list:T,at:0});return}}else if(E-r>=$){l.current=!0,p.current(null);return}i=setTimeout(k,100)};return i=setTimeout(k,100),()=>{clearTimeout(i),v.disconnect()}},[]);let y=(0,t.useCallback)(()=>{let r=h.current;(r instanceof HTMLElement&&r!==document.body&&r.isConnected?r:e()?.querySelector('[data-testid="app-home"]'))?.focus({preventScroll:!0})},[e]),m=(0,t.useCallback)((r,o)=>{if(l.current)return;l.current=!0;let s=document.querySelector("[data-testid='first-look']"),i=document.activeElement,v=i===null||i===document.body||s!==null&&s.contains(i);u(null),p.current(r),!(!o&&!v)&&(y(),requestAnimationFrame(()=>{let k=document.activeElement;(k===null||k===document.body)&&y()}))},[y]),w=(0,t.useCallback)((r,o)=>{let s=e();for(let i=o;i<r.length;i++)if(S(s,r[i].anchor))return i;return-1},[e]),b=(0,t.useCallback)(()=>{if(!n)return;let r=w(n.list,n.at+1);r<0?m("finished",!0):u({list:n.list,at:r})},[n,w,m]);if((0,t.useEffect)(()=>{if(!n)return;let r=e();if(!r)return;let o=0,s=()=>{cancelAnimationFrame(o),o=requestAnimationFrame(()=>{S(e(),n.list[n.at].anchor)||b()})},i=new MutationObserver(s);return i.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden","class","data-switch-drawn"]}),()=>{cancelAnimationFrame(o),i.disconnect()}},[n,e,b]),!n)return null;let g=n.list[n.at],d=w(n.list,n.at+1)<0;return(0,f.jsx)(I,{root:e,step:g,position:n.at+1,total:n.list.length,last:d,onNext:b,onEnd:m},n.at)}var N={...H,width:"min(320px, calc(100vw - 24px))",maxHeight:"min(70vh, 420px)",overflow:"auto",padding:"12px 14px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",color:"var(--graview-ink)",fontFamily:"var(--graview-font-body, system-ui)",fontSize:"0.875rem",lineHeight:1.45,overflowWrap:"anywhere"},M={minHeight:32,padding:"0 12px",borderRadius:8,font:"inherit",fontWeight:600,cursor:"pointer"};function I({root:e,step:a,position:c,total:n,last:u,onNext:h,onEnd:l}){let p=(0,t.useRef)(null),y=(0,t.useRef)(null),m=(0,t.useId)().replace(/:/g,""),w=(0,t.useMemo)(()=>({get current(){return S(e(),a.anchor)}}),[e,a.anchor]),[b]=(0,t.useState)(()=>{let d=w.current?.getBoundingClientRect(),r=typeof document>"u"?0:document.documentElement.clientWidth||innerWidth;return d&&d.left+d.width/2<r/2?"start":"end"});A(p,!0,w,{align:b}),(0,t.useLayoutEffect)(()=>{y.current?.focus({preventScroll:!0})},[]);let g=(0,t.useRef)(l);return g.current=l,(0,t.useEffect)(()=>{let d=o=>{o.target instanceof Node&&p.current?.contains(o.target)||g.current("dismissed",!1)},r=o=>{if(o.key!=="Escape"||o.defaultPrevented)return;let s=o.target;s instanceof Node&&p.current?.contains(s)||s instanceof HTMLInputElement||s instanceof HTMLTextAreaElement||[...document.querySelectorAll("[data-graview-overlay]:not([hidden])")].some(i=>i!==p.current)||g.current("dismissed",!0)};return document.addEventListener("pointerdown",d,!0),document.addEventListener("keydown",r),()=>{document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",r)}},[]),(0,f.jsxs)("div",{ref:p,popover:"manual",role:"dialog","aria-modal":"false","aria-labelledby":`${m}-title`,"aria-describedby":`${m}-words`,tabIndex:-1,"data-testid":"first-look","data-first-look-anchor":a.anchor,"data-graview-overlay":"",onKeyDown:d=>{d.key==="Escape"&&(d.preventDefault(),d.stopPropagation(),l("dismissed",!0))},style:N,children:[(0,f.jsxs)("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--graview-ink-muted)"},"data-testid":"first-look-count",children:[c," of ",n]}),(0,f.jsx)("p",{id:`${m}-title`,style:{margin:"2px 0 4px",fontWeight:600,fontSize:"0.9375rem"},"data-testid":"first-look-title",children:a.title}),(0,f.jsx)("p",{id:`${m}-words`,style:{margin:0},"data-testid":"first-look-words",children:a.words}),(0,f.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"flex-end",gap:8,marginTop:12},children:[u?null:(0,f.jsx)("button",{type:"button","data-testid":"first-look-skip",onClick:()=>l("dismissed",!0),style:{...M,fontWeight:500,border:"1px solid transparent",background:"none",color:"var(--graview-ink-muted)"},children:"Skip"}),(0,f.jsx)("button",{ref:y,type:"button","data-testid":u?"first-look-done":"first-look-next",onClick:()=>u?l("finished",!0):h(),style:{...M,border:"1px solid var(--graview-accent)",background:"var(--graview-accent)",color:"var(--graview-accent-ink)"},children:u?"Done":"Next"})]})]})}export{_ as FirstLookHints,S as firstLookAnchor};
@@ -0,0 +1 @@
1
+ import"./chunk.5A4AOFOA.js";import"./chunk.OF34OZ4V.js";import"./chunk.R6K6GF5R.js";import"./chunk.3AGY4QVS.js";import{a as L,b as R,c as E}from"./chunk.2NIOHEMX.js";import{b as T}from"./chunk.4HRAQNJO.js";import"./chunk.Y6ZNFQK3.js";import"./chunk.BNV77BQZ.js";import"./chunk.SYAEBGDC.js";import"./chunk.NRAYZY3X.js";import"./chunk.RIJUCHP4.js";import"./chunk.TAQ764IQ.js";import"./chunk.YIR7PPF3.js";import"./chunk.3HXN4BOY.js";import"./chunk.GYICGZMG.js";import"./chunk.UHUGOTUU.js";import"./chunk.47STJVRV.js";import"./chunk.EBGAYL32.js";import"./chunk.DAZ2VSRD.js";import"./chunk.HJCQ6I3S.js";import"./chunk.MWGGV7DE.js";import"./chunk.JQU5GEU3.js";import"./chunk.HAIG6NVX.js";import"./chunk.UZGRRDHD.js";import"./chunk.XANVHJQ4.js";import"./chunk.OKRNJXTV.js";import"./chunk.CAVBSL27.js";import"./chunk.COQKECUH.js";import"./chunk.EJPI3ST6.js";import"./chunk.CWHRDBOF.js";import"./chunk.3K6YSVHC.js";import"./chunk.SHTJZ6UX.js";import"./chunk.UT6642FC.js";import"./chunk.TI4OSTQV.js";import"./chunk.G5NZVPJU.js";import"./chunk.WVUJXDXZ.js";import"./chunk.ULRW47RP.js";import"./chunk.PBSMLINK.js";import"./chunk.3TY5NFLY.js";import"./chunk.D75KC3LL.js";import"./chunk.FWTIUYXH.js";import"./chunk.MAF7C3VM.js";import"./chunk.GZHZLJBF.js";import{r as x}from"./chunk.XMC7YDWT.js";import"./chunk.6UGEYZAC.js";import"./chunk.OJGHDWI6.js";import"./chunk.B2GLDIAS.js";import"./chunk.6YCBYL2Y.js";import"./chunk.UGFJKSHU.js";import"./chunk.JOOQUWLT.js";import{F as S,H as $,Q as p,Y as C,_ as A}from"./chunk.6QWV5MVH.js";import{W as h,ec as k}from"./chunk.MNP4JI33.js";import{b as i}from"./chunk.AJZBJBMO.js";var o=i(S(),1);var l=i(S(),1);var g=i(p(),1);var m={font:"inherit",fontSize:"0.875rem",minHeight:24,padding:0,border:0,borderRadius:2,background:"transparent",boxShadow:"none",color:"var(--graview-accent)",textDecoration:"underline",textUnderlineOffset:3,textAlign:"start",cursor:"pointer"};var e=i(p(),1);function I({page:r=!1,go:D,onPick:y,onDiscard:M}){let{store:d,seatTalk:c}=C(),u=$(c),N=E(),b=D??N,{keep:P}=L(b),[H,f]=(0,o.useState)(!1);A();let t=u.draft;(0,o.useEffect)(()=>f(!1),[t]),(0,o.useEffect)(()=>{r||R(!1)},[r]);let v=(0,o.useRef)(null),w=t!==null&&!r;if((0,o.useLayoutEffect)(()=>{let s=v.current;if(!w||!s?.parentElement)return;let n=[];for(let a=s.previousElementSibling;a;a=a.previousElementSibling)a instanceof HTMLElement&&!a.inert&&a.tagName!=="STYLE"&&(a.inert=!0,n.push(a));return()=>{for(let a of n)a.inert=!1}},[w]),!t)return null;let G=T(t.drawn),F=d.schema.tryDefinition(t.kind),q=d.graph.nodesOfKind(t.kind).filter(s=>h(F,s)),z=()=>{c.setDraft(null),M?.()};return(0,e.jsxs)("section",{ref:v,"data-testid":"draft-frame","aria-label":`Draft: ${t.title}`,style:r?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:0,zIndex:k("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-ground, var(--graview-panel))",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...K,...r?{}:{padding:"10px 16px"}},children:[r?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:H,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{f(!0),P(t).finally(()=>f(!1))},style:m,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:z,style:m,children:"Discard"})]}),u.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:r?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:u.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,style:r?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:s=>{let n=s.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!n||!d.graph.getNode(n))return;s.preventDefault();let a=d.graph.getNode(n);y?(c.setDraft(null),y(n)):b({to:"record",id:n,kind:a.kind,label:n,address:"",said:""})},children:(0,e.jsx)(x,{kind:t.kind,view:t.title,children:(0,e.jsx)(G,{nodes:q,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var K={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{I as DraftFrame};
@@ -0,0 +1 @@
1
+ import{f as a,g as b,h as c,i as d,j as e,k as f,l as g}from"./chunk.AKFKM4SW.js";import"./chunk.XANVHJQ4.js";import"./chunk.OKRNJXTV.js";import"./chunk.CAVBSL27.js";import"./chunk.5UL7YDUD.js";import"./chunk.UT6642FC.js";import"./chunk.TI4OSTQV.js";import"./chunk.PBSMLINK.js";import"./chunk.B2GLDIAS.js";import"./chunk.6YCBYL2Y.js";import"./chunk.UGFJKSHU.js";import"./chunk.JOOQUWLT.js";import"./chunk.6QWV5MVH.js";import"./chunk.MNP4JI33.js";import"./chunk.AJZBJBMO.js";export{g as GhostTray,f as InlineAiMenu,e as askAgain,c as askInline,a as askOf,b as drawPanel,d as takeOffer};
@@ -0,0 +1 @@
1
+ import{C as Q,E as X,I as Y,K as Z,N as ee,a as T,i as K,l as z,o as D,p as W,t as _,u as j,w as U,z as J}from"./chunk.JOOQUWLT.js";import{F as se,Q as $,Y as G,_ as I,ka as V,ra as q}from"./chunk.6QWV5MVH.js";import{Lb as M,Ub as P,Wb as O,wc as N}from"./chunk.MNP4JI33.js";import{b as k}from"./chunk.AJZBJBMO.js";var o=k(se(),1);function ie(e){let t=[e?.typography?.body,e?.typography?.display,e?.typography?.mono],n=[];for(let a of t){let r=a?.split(",")[0]?.trim().replace(/^["']|["']$/g,"");!r||O(r)||r.toLowerCase()!==M.toLowerCase()&&(n.includes(r)||n.push(r))}return n}function ne(e){let t=ie(e);return t.length===0?null:`https://fonts.googleapis.com/css2?${t.map(a=>`family=${encodeURIComponent(a).replace(/%20/g,"+")}:wght@400;500;600;700`).join("&")}&display=swap`}var l=k($(),1);function be({rootRef:e,firstLook:t,app:n}){let a=(0,o.useCallback)(()=>e.current,[e]);return t?(0,l.jsx)(ee,{firstLook:t,root:a,app:n}):null}function ve(e,t){let{app:n}=e;return(0,o.useMemo)(()=>{let a=Y(t(n.schema,n.viewSpecs),n),r=e.views?V(a,e.views(n.schema,a)):a;return Z(r,n.schema,Q(e.brand??n.brand,n.schema)),r},[e.views,n.schema,n.viewSpecs,n.lenses,n.pages,n.home])}function ce(e,t){return new N({schema:e.schema,mutations:e.mutations??[],invariants:e.invariants??[],...t?{snapshot:t}:{},...e.policy?{policy:e.policy}:{},...e.intelligence?{intelligence:e.intelligence}:{}})}function te(e){if(typeof document>"u")return e==="dark"?"dark":"light";let t=document.documentElement.dataset.theme;return t==="dark"||t==="light"?t:e==="dark"||e==="light"?e:typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function de(e,t){let[n,a]=(0,o.useState)(()=>te(t));return(0,o.useEffect)(()=>{if(!e||typeof document>"u")return;let r=()=>a(te(t));r();let i=new MutationObserver(r);i.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});let d=typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null;return d?.addEventListener?.("change",r),()=>{i.disconnect(),d?.removeEventListener?.("change",r)}},[e,t]),n}var A=e=>e?e.getBoundingClientRect().height:0;function Se(e,t,n){let a=(0,o.useRef)(n);a.current=n;let r=n!==void 0;(0,o.useLayoutEffect)(()=>{let i=e.current;if(!i||!r)return;let d=()=>{let u=[...i.children],b=u.find(v=>v.hasAttribute("data-graview-app-bar")),y=u.find(v=>v.hasAttribute("data-embed-content")),h=y?.querySelector("[data-embed-measure]")??null,c=u.find(v=>v.hasAttribute("data-graview-place-line"));return{strip:b,line:c,content:y,measure:h}},s=-1,f=()=>{let{strip:u,line:b,content:y,measure:h}=d(),c=Math.ceil(A(u)+A(b)+A(h||y));c!==s&&(s=c,a.current?.(c))};if(f(),typeof ResizeObserver>"u")return;let m=new ResizeObserver(f),E=()=>{m.disconnect();let{strip:u,line:b,content:y,measure:h}=d();for(let c of[i,u,b,y,h])c&&m.observe(c)};E();let g=new MutationObserver(()=>{E(),f()});return g.observe(i,{childList:!0}),()=>{m.disconnect(),g.disconnect()}},[e,t,r])}var we=480,le=0;function Ee(e){let{app:t,seed:n,scheme:a="auto",brand:r=t.brand,fonts:i=!0,height:d="100%",label:s}=e,f=(0,o.useRef)(null);q(f);let m=d==="viewport"?"100dvh":d,E=z(typeof m=="string"&&/vh\b/.test(m)),g=(0,o.useMemo)(()=>`graview-embed-${++le}`,[]),u=(0,o.useMemo)(()=>e.store??e.remote?.store??ce(t,n),[e.store,e.remote,t,n]),b=e.presence??e.remote?.presence,y=e.hostContext?.theme,h=de(a==="auto"&&y===void 0,r?.scheme),c=a==="auto"?y??h:a,v=(0,o.useMemo)(()=>T(c,r,{scope:`.${g}`}),[c,r,g]);K(e.favicon?P(r):void 0),(0,o.useEffect)(()=>{if(!i||typeof document>"u")return;let w=ne(r);if(!w||document.querySelector(`link[href="${w}"]`))return;let p=document.createElement("link");p.rel="stylesheet",p.href=w,document.head.appendChild(p)},[r,i]);let L=(0,o.useRef)(void 0);(0,o.useLayoutEffect)(()=>{let w=f.current,p=L.current;if(L.current=s,!w||!s)return;let ae=S=>{let R=S.getAttribute("aria-label")??"",x=p&&p!==s?R.startsWith(`${p} \xB7 `)?R.slice(p.length+3):R===p?"":R:R;x===s&&(S.getAttribute("role")==="region"||S.tagName==="SECTION"&&!S.hasAttribute("role"))&&S.setAttribute("role","group");let B=x.startsWith(`${s} \xB7 `)||x===s?x:x?`${s} \xB7 ${x}`:s;B!==R&&S.setAttribute("aria-label",B)},H=()=>w.querySelectorAll("aside, nav, main, header, footer, section[aria-label]:not([role]), [role=region], [role=complementary], [role=navigation], [role=search]").forEach(S=>{S.hasAttribute("data-graview-named-by-lens")||ae(S)});H();let C=new MutationObserver(H);return C.observe(w,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>C.disconnect()},[s]);let oe=E?`${m}`.replace(/([\d.]+)[sdl]?vh\b/g,(w,p)=>`${+p*E/100}px`):m;return{rootRef:f,scope:g,css:v,scheme:c,store:u,presence:b,brand:r,auto:d==="auto",height:oe}}function Re({rootRef:e,board:t}){let n=(0,o.useCallback)(()=>e.current?.querySelector("[data-embed-content]")??e.current,[e]);return(0,l.jsx)(J,{board:t,anchor:n})}function xe(e,t,n){return{brand:n,locale:e.locale,principal:e.principal,seats:e.seats,presence:t,people:e.people,memory:e.memory,presenceTtlMs:e.presenceTtlMs,onKeepLens:e.onKeepLens,ai:e.ai,files:e.files,resolveApp:e.resolveApp,history:e.history,linkedRecords:e.linkedRecords,menuSections:e.menuSections,app:e.app}}function Ae({name:e,heading:t,faces:n,at:a,without:r,home:i,reach:d,standing:s,hostActions:f,keeping:m,onFind:E,switch:g}){let{brand:u,store:b,principal:y,views:h}=G();I();let c=r?.has("places")?[]:D({store:b,principal:y,views:h}),v=U();return(0,l.jsx)(_,{brand:u,name:e,description:u?.subtitle,heading:t,faces:n,home:i,places:c,current:a===null?null:W(c,a),reach:d,onFind:E,...g?{switch:g}:{},...n?{scenePlaces:v}:{},tools:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(X,{clean:s}),(0,l.jsx)(j,{...f?{hostActions:f}:{},...m?{keeping:m}:{}})]})})}var ke=e=>e===!1?2:Math.min(e+1,6);function Fe(e){let[t,n]=(0,o.useState)(e),a=(0,o.useRef)(void 0),r=(0,o.useRef)(void 0),i=(0,o.useMemo)(()=>({go:a,at:n,pending:r}),[]),d=(0,o.useCallback)(s=>{if(a.current){a.current(s);return}r.current=s,n(s)},[]);return{at:t,setAt:n,steering:i,steer:d}}function ue(e){let t=typeof e=="object"&&e!==null?e.name:void 0;return{name:typeof t=="string"&&t.length>0?t:typeof e=="object"?"Error":typeof e}}var F=()=>typeof performance<"u"?performance.now():Date.now();function Le(e,t){let n=(0,o.useRef)({onError:e,face:t});return n.current={onError:e,face:t},(0,o.useCallback)((a,r)=>n.current.onError?.(ue(a),{module:r.module,face:n.current.face}),[])}function He(e,t){let n=(0,o.useRef)(null);n.current===null&&(n.current=F());let a=(0,o.useRef)({onReady:e,face:t});a.current={onReady:e,face:t};let r=(0,o.useRef)(!1);return(0,o.useCallback)(i=>{r.current||(r.current=!0,a.current.onReady?.({ms:Math.max(0,F()-(n.current??F())),face:i}))},[])}var re=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t,n){console.error(`[graview] ${this.props.module} threw while rendering`,t,n.componentStack),this.props.report(t,{module:this.props.module})}render(){return this.state.failed?(0,l.jsxs)("div",{role:"alert","data-graview-face-error":this.props.module,...this.props.content?{"data-embed-content":""}:{},style:this.props.content?{flex:"1 1 auto",display:"grid",alignContent:"center",justifyItems:"center",gap:8,padding:24,background:"var(--graview-ground)",color:"var(--graview-ink)",fontSize:"0.9375rem"}:{display:"inline-flex",alignItems:"center",gap:6,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:[(0,l.jsx)("span",{children:this.props.content?"This part of the app could not draw.":"Could not draw."}),(0,l.jsx)("button",{type:"button",onClick:()=>this.setState({failed:!1}),style:{padding:"3px 11px",fontSize:"0.8125rem"},children:"Try again"})]}):this.props.children}};export{be as a,ve as b,ce as c,Se as d,we as e,Ee as f,Re as g,xe as h,Ae as i,ke as j,Fe as k,Le as l,He as m,re as n};
@@ -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{s as P}from"./chunk.XMC7YDWT.js";import{F as A,N as M,Q as y,Y as m,Z as w,a as p,t as b,x as g,xa as S,y as T}from"./chunk.6QWV5MVH.js";import{b as d}from"./chunk.AJZBJBMO.js";var x=d(A(),1),h=d(y(),1),C=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.UNL2HIF2.js")))),O=C.part((e,n)=>(0,h.jsx)(e.Timeline,{...n}),{what:"The timeline"}),q=()=>C.prefetch();function H({face:e}){return M()?.open?(0,h.jsx)(x.Suspense,{fallback:null,children:(0,h.jsx)(O,{face:e})}):null}var i=d(A(),1),u=d(y(),1),v=new WeakMap,I=e=>{let n=v.get(e);return n||v.set(e,n={ask:null,doors:[],listeners:new Set}),n},k=e=>{for(let n of e.listeners)n()};function N(e,n){let o=I(e);o.ask=n,k(o)}var E=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.E2YEOMPH.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.H7EPE74C.js")))),B=E.part((e,n)=>{let o=e.NotifySheet;return(0,u.jsx)(o,{...n})},{what:"Notify me"}),W=E.part((e,n)=>{let o=e.NotifiedList;return(0,u.jsx)(o,{...n})},{quiet:!0}),D=e=>(e.onBehalfOf??e).id!==void 0;function L(e,n,o){let c=a=>o.tryDefinition(a)?.noun??a.replace(/[-_]+/g," "),t=e.on!==void 0?e.on:e.about.length===1?e.about[0]:void 0;if(e.act!==void 0){let a=t!==void 0&&n(t)!==void 0?t:void 0;return{label:"Notify me when someone does this\u2026",choices:[{on:"act",act:e.act,...a!==void 0?{record:a}:{}},...a!==void 0?[{on:"act",act:e.act}]:[]]}}if(t===void 0)return null;let r=n(t);if(r!==void 0)return{label:"Notify me when this changes\u2026",choices:[{on:"changed",record:t},{on:"act",record:t},{on:"reaches",kind:r,condition:"",record:t}]};let s=b(t)!==null?[b(t)]:g(t)?T(t):[];if(s.length!==1||!o.kinds.includes(s[0]))return null;let l=s[0],f=c(l);return{label:`Notify me when ${/^[aeiou]/i.test(f)?"an":"a"} ${f} is added\u2026`,choices:[{on:"created",kind:l},{on:"changed",kind:l},{on:"reaches",kind:l,condition:""}]}}function F(){let{store:e,principal:n,subscriptions:o}=m(),c=D(n);return(0,i.useMemo)(()=>c?t=>{let r=L(t,l=>e.graph.getNode(l)?.kind,e.schema);return r?{id:"notify",items:[{id:"notify-me",label:r.label,run:()=>N(o,{choices:r.choices,returnTo:t.element??null})}]}:null}:null,[c,e,o])}var z=[];function U({children:e}){let n=F(),o=(0,i.useMemo)(()=>n?[n]:z,[n]);return(0,u.jsx)(P,{sections:o,children:e})}function V(){let{subscriptions:e}=m(),n=(0,i.useId)(),o=I(e);(0,i.useEffect)(()=>(o.doors.push(n),k(o),()=>{o.doors.splice(o.doors.indexOf(n),1),k(o)}),[o,n]);let c=(0,i.useMemo)(()=>s=>(o.listeners.add(s),()=>void o.listeners.delete(s)),[o]),t=(0,i.useSyncExternalStore)(c,()=>o.ask,()=>null),r=(0,i.useSyncExternalStore)(c,()=>o.doors[0]===n,()=>!1);return!t||!r?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(B,{ask:t,close:()=>N(e,null)})})}function X({choices:e,label:n="Notify me",style:o,className:c,testId:t="notify-me"}){let{principal:r,subscriptions:s}=m();return D(r)?(0,u.jsx)("button",{type:"button","data-testid":t,className:c,onClick:l=>N(s,{choices:e,returnTo:l.currentTarget}),style:o,children:n}):null}function G(){let e=w(),n=e?.subscriptions,o=e?(e.principal.onBehalfOf??e.principal).id:void 0,[c,t]=(0,i.useState)(0);return(0,i.useEffect)(()=>{if(o===void 0||!n)return;let r=!0,s=()=>void Promise.resolve(n.list(o)).then(f=>r&&t(f.length),()=>r&&t(0));s();let l=n.onChange?.(s);return()=>{r=!1,l?.()}},[n,o]),c}function Y({style:e}){return G()===0?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(W,{...e?{style:e}:{}})})}export{q as a,H as b,F as c,U as d,V as e,X as f,G as g,Y as h};
@@ -0,0 +1 @@
1
+ import"./chunk.GZHZLJBF.js";import{n as P}from"./chunk.XMC7YDWT.js";import"./chunk.6UGEYZAC.js";import"./chunk.OJGHDWI6.js";import"./chunk.B2GLDIAS.js";import"./chunk.6YCBYL2Y.js";import"./chunk.UGFJKSHU.js";import"./chunk.JOOQUWLT.js";import{F as A,Q as S,Z as b}from"./chunk.6QWV5MVH.js";import{dc as x,fa as L,pa as w}from"./chunk.MNP4JI33.js";import{b as R}from"./chunk.AJZBJBMO.js";var u=R(A(),1);var n=R(S(),1),C={kind:"human"},p={color:"var(--graview-ink-muted)"};function I(e){if(e){if(/^https?:\/\//i.test(e))try{return new URL(e).href}catch{return}return L(e)?e:void 0}}function z(e){let o=b(),t=o?.linkedReads,[i,a]=(0,u.useState)(()=>t?t.answered(e)??"asking":null);return(0,u.useEffect)(()=>{if(!t){a(o?.linkedRecords?"asking":null);return}let d=t.answered(e);if(a(d===void 0?"asking":d),d!==void 0)return;let s=!0;return t.ask(e).then(l=>s&&a(l)),()=>{s=!1}},[t,o?.linkedRecords,e.address,e.kind,e.id]),i}function V({reference:e,as:o}){let t=b(),i=z(e),a={position:"relative",zIndex:x.raised,overflowWrap:"anywhere",minWidth:0,maxWidth:"100%"};if(i==="asking")return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"asking","aria-busy":"true",style:{...p,...a},children:"Linked record"});if(i&&"denied"in i)return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"denied",style:{...p,fontStyle:"italic",...a},children:"linked record (no access)"});if(!i)return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"missing",style:{...p,fontStyle:"italic",...a},children:"linked record (not found)"});let d=I(i.href),s=t?.linkedRecords,l=t?.principal??C,g=s?.open?c=>{c.metaKey||c.ctrlKey||(c.preventDefault(),s.open(e,l))}:void 0,k=(0,n.jsx)("a",{"data-graview-linked-title":"",...d?{href:d}:{role:"link",tabIndex:0},...g?{onClick:g,onKeyDown:c=>!d&&(c.key==="Enter"||c.key===" ")?g(c):void 0}:{},style:{fontWeight:600,color:"inherit",textUnderlineOffset:3,cursor:d||g?"pointer":"default"},children:i.label});return o==="chip"?(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"found",title:i.describe,style:{display:"inline-flex",alignItems:"center",minHeight:24,...a},children:k}):(0,n.jsx)(D,{record:i,title:k,base:a})}function D({record:e,title:o,base:t}){return(0,n.jsxs)("span",{"data-graview-linked":"","data-graview-linked-state":"found",style:{display:"grid",gap:2,padding:"8px 10px",border:"1px solid var(--graview-line)",borderRadius:"var(--graview-radius-sm, 6px)",background:"var(--graview-surface)",...t},children:[(0,n.jsxs)("span",{style:{display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"2px 8px"},children:[o,e.app?(0,n.jsxs)("span",{"data-graview-linked-app":"",style:{...p,fontSize:"0.75rem"},children:["in ",e.app]}):null]}),e.describe?(0,n.jsx)("span",{"data-graview-linked-describe":"",style:{...p,fontSize:"0.8125rem"},children:e.describe}):null,e.card&&e.card.length>0?(0,n.jsx)("span",{"data-graview-linked-card":"",style:{display:"flex",flexWrap:"wrap",gap:"2px 12px",fontSize:"0.8125rem"},children:e.card.map(i=>(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{style:p,children:i.label})," ",i.text]},i.label))}):null]})}function H({relation:e,refs:o,as:t="record",nodeId:i,field:a,style:d}){let s=(0,n.jsx)("span",{"data-graview-linked-list":"",style:{display:"grid",gap:6,minWidth:0,...d},children:o.map(l=>(0,n.jsx)(V,{reference:l,as:t},w(l)))});return i&&a?(0,n.jsx)(K,{nodeId:i,field:a,relation:e,refs:o,drawn:s}):s}function K({nodeId:e,field:o,relation:t,refs:i,drawn:a}){let{fields:d,commit:s}=P(e),l=d.find(f=>f.field===o),[g,k]=(0,u.useState)(!1);if(!l)return a;let c=t.cardinality==="one"?i[0]?w(i[0]):void 0:i.map(w);return(0,n.jsxs)("span",{style:{display:"grid",gap:6,minWidth:0},children:[a,g?(0,n.jsx)(N,{relation:t,value:c,label:"Link another record",onChange:f=>{s(l,f),k(!1)},onCancel:()=>k(!1)}):(0,n.jsx)("button",{type:"button","data-graview-linked-change":"",onClick:()=>k(!0),style:{justifySelf:"start",font:"inherit",fontSize:"0.8125rem",background:"none",border:0,padding:"4px 0",color:"var(--graview-accent)",cursor:"pointer",minHeight:24},children:"Change"})]})}function N({relation:e,value:o,onChange:t,onCancel:i,label:a}){let d=b(),s=d?.linkedRecords,l=d?.principal??C,g=(0,u.useId)(),[k,c]=(0,u.useState)(""),[f,m]=(0,u.useState)("asking");(0,u.useEffect)(()=>{if(!s)return;let r=!0;m("asking");let y=setTimeout(()=>{Promise.resolve().then(()=>s.find({address:e.address,kinds:e.kinds,query:k,limit:20},l)).then(h=>r&&m(Array.isArray(h)?h:"denied"),()=>r&&m([]))},150);return()=>{r=!1,clearTimeout(y)}},[s,e.address,e.kinds.join(","),k,l.kind,l.id]);let v=new Set([o].flat().filter(r=>typeof r=="string")),W=r=>{let y=w(r);if(e.cardinality==="one")return t(y);t(v.has(y)?[...v].filter(h=>h!==y):[...v,y])};return s?(0,n.jsxs)("span",{"data-graview-linked-picker":"",style:{display:"grid",gap:6,minWidth:0},children:[(0,n.jsx)("label",{htmlFor:g,style:{...p,fontSize:"0.8125rem"},children:a}),(0,n.jsx)("input",{id:g,type:"search",value:k,placeholder:`Find one in ${e.address}`,onChange:r=>c(r.target.value),style:{font:"inherit",minHeight:32,padding:"4px 8px",border:"1px solid var(--graview-line)",borderRadius:6,background:"var(--graview-surface)",color:"inherit",minWidth:0}}),f==="asking"?(0,n.jsx)("span",{"aria-busy":"true",style:p,children:"Looking\u2026"}):f==="denied"?(0,n.jsx)("span",{"data-graview-linked-state":"denied",style:{...p,fontStyle:"italic"},children:"linked record (no access)"}):f.length===0?(0,n.jsx)("span",{style:p,children:"Nothing there matches."}):(0,n.jsx)("ul",{role:"list",style:{listStyle:"none",margin:0,padding:0,display:"grid",gap:4},children:f.map(r=>{let y=v.has(w(r));return(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button","data-graview-linked-candidate":w(r),"aria-pressed":y,onClick:()=>W(r),style:{display:"grid",gap:2,width:"100%",textAlign:"start",font:"inherit",padding:"6px 8px",minHeight:32,border:"1px solid var(--graview-line)",borderRadius:6,background:y?"var(--graview-accent-soft, var(--graview-surface))":"var(--graview-surface)",color:"inherit",cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontWeight:600},children:r.label}),r.describe?(0,n.jsx)("span",{style:{...p,fontSize:"0.8125rem"},children:r.describe}):null]})},w(r))})}),i?(0,n.jsx)("button",{type:"button",onClick:i,style:{justifySelf:"start",font:"inherit",fontSize:"0.8125rem",background:"none",border:0,padding:"4px 0",color:"var(--graview-ink-muted)",cursor:"pointer",minHeight:24},children:"Keep it as it is"}):null]}):(0,n.jsxs)("span",{"data-graview-linked-picker":"","data-graview-linked-state":"no-host",style:p,children:["This page cannot read ",e.address,", so nothing there can be linked here."]})}var U=e=>(0,n.jsx)(H,{...e}),j=e=>(0,n.jsx)(N,{...e});export{N as LinkedPicker,H as LinkedRecordView,j as drawLinkedPicker,U as drawLinkedRecord};