graview 0.1.70 → 0.1.71

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 (216) hide show
  1. package/dist/preview/chunk.23DATB5Y.js +1 -0
  2. package/dist/preview/chunk.2INDKSJI.js +1 -0
  3. package/dist/preview/chunk.3CLTABGP.js +1 -0
  4. package/dist/preview/{chunk.4O3STSC4.js → chunk.3RRK6UTN.js} +1 -1
  5. package/dist/preview/chunk.45HUV56Z.js +1 -0
  6. package/dist/preview/chunk.4HU2ILFY.js +1 -0
  7. package/dist/preview/{chunk.M7DJJRFH.js → chunk.4LWWXIM4.js} +1 -1
  8. package/dist/preview/chunk.4O64QV2Y.js +1 -0
  9. package/dist/preview/{chunk.KP7HUXH5.js → chunk.4QMAYVPU.js} +1 -1
  10. package/dist/preview/chunk.4UDST6IF.js +1 -0
  11. package/dist/preview/{chunk.7TZXDPPO.js → chunk.4YZ2A6SJ.js} +3 -3
  12. package/dist/preview/{chunk.PAIBRJVZ.js → chunk.4ZEHLUXV.js} +1 -1
  13. package/dist/preview/{chunk.I7CSRZC2.js → chunk.5EQRIZ6I.js} +1 -1
  14. package/dist/preview/chunk.5OS4SYHE.js +1 -0
  15. package/dist/preview/{chunk.ZIGW5VOT.js → chunk.5PQV7GFE.js} +1 -1
  16. package/dist/preview/{chunk.SSHEFQ4R.js → chunk.5WCSQFS5.js} +1 -1
  17. package/dist/preview/{chunk.RJ7UV3XI.js → chunk.64K5ELSQ.js} +1 -1
  18. package/dist/preview/{chunk.2T24FYAO.js → chunk.67S2UWBT.js} +1 -1
  19. package/dist/preview/{chunk.FXCKKVT5.js → chunk.6A3KTD66.js} +1 -1
  20. package/dist/preview/chunk.6BBUTKFC.js +23 -0
  21. package/dist/preview/chunk.6IMRCKB4.js +1 -0
  22. package/dist/preview/chunk.6L6RUOSF.js +5 -0
  23. package/dist/preview/{chunk.ZGJUCVT5.js → chunk.6TBQV3NO.js} +1 -1
  24. package/dist/preview/chunk.6ZRVVRDQ.js +1 -0
  25. package/dist/preview/{chunk.4VTUC5TF.js → chunk.7FI75ZVE.js} +1 -1
  26. package/dist/preview/{chunk.NKUNCQB3.js → chunk.7KX36ENH.js} +1 -1
  27. package/dist/preview/{chunk.JPJHM62B.js → chunk.7LPHWJB4.js} +1 -1
  28. package/dist/preview/chunk.7MDGPTYF.js +1 -0
  29. package/dist/preview/{chunk.JEQ6CA5M.js → chunk.7PWLRRUS.js} +2 -2
  30. package/dist/preview/{chunk.YBQUP3KE.js → chunk.7TACFS7Q.js} +1 -1
  31. package/dist/preview/{chunk.DIVANC3G.js → chunk.7THS3DLZ.js} +1 -1
  32. package/dist/preview/{chunk.5W7EGQCQ.js → chunk.7XGU6KVF.js} +2 -2
  33. package/dist/preview/chunk.7ZLCA3WK.js +1 -0
  34. package/dist/preview/{chunk.4BSEYZMS.js → chunk.ARGEGV5T.js} +1 -1
  35. package/dist/preview/{chunk.3KF5RYPW.js → chunk.BSWR5SGX.js} +1 -1
  36. package/dist/preview/{chunk.BBMX3IIO.js → chunk.BWMPC7LK.js} +1 -1
  37. package/dist/preview/{chunk.55C7WO4X.js → chunk.CEJIH3CN.js} +1 -1
  38. package/dist/preview/{chunk.F5756PXX.js → chunk.CEOQY5KS.js} +2 -2
  39. package/dist/preview/{chunk.NZFO6BM3.js → chunk.CGRX6SDE.js} +1 -1
  40. package/dist/preview/{chunk.C67TMA4U.js → chunk.CPK6CYKN.js} +1 -1
  41. package/dist/preview/{chunk.T552MHMU.js → chunk.CVN2XFMF.js} +1 -1
  42. package/dist/preview/{chunk.MGG5DH2S.js → chunk.D4F6QX5L.js} +1 -1
  43. package/dist/preview/{chunk.M3HLZX6Q.js → chunk.D6ODKMOV.js} +1 -1
  44. package/dist/preview/{chunk.RECTEAG4.js → chunk.DDSAFU3B.js} +1 -1
  45. package/dist/preview/{chunk.UJF6YTEO.js → chunk.DG3YNOH3.js} +1 -1
  46. package/dist/preview/chunk.DGYWNM5U.js +1 -0
  47. package/dist/preview/{chunk.NBB5ALVJ.js → chunk.DHO3QZYK.js} +1 -1
  48. package/dist/preview/{chunk.4QBW46XV.js → chunk.DJGZOPAS.js} +1 -1
  49. package/dist/preview/{chunk.2MWEYNVH.js → chunk.DX7RGK5G.js} +1 -1
  50. package/dist/preview/{chunk.CZI6J5CE.js → chunk.EA2KYBBR.js} +1 -1
  51. package/dist/preview/{chunk.DWMFLLJO.js → chunk.EEGVI266.js} +1 -1
  52. package/dist/preview/{chunk.BQWMHHAZ.js → chunk.EHLV3LND.js} +2 -2
  53. package/dist/preview/{chunk.3MPLUSVY.js → chunk.EJC7ACZT.js} +1 -1
  54. package/dist/preview/{chunk.6NYSB6OZ.js → chunk.EJIQDMLU.js} +1 -1
  55. package/dist/preview/{chunk.QQUZ5RTQ.js → chunk.EOSN5DWW.js} +1 -1
  56. package/dist/preview/{chunk.2QALBEWP.js → chunk.EPSYX2SF.js} +1 -1
  57. package/dist/preview/chunk.EUXAIG73.js +1 -0
  58. package/dist/preview/{chunk.S4QSZRKH.js → chunk.EZQK23AB.js} +1 -1
  59. package/dist/preview/{chunk.ZTHZHBVN.js → chunk.F5O3HR7X.js} +1 -1
  60. package/dist/preview/chunk.F6MY6WJ4.js +1 -0
  61. package/dist/preview/{chunk.UVMHC6VM.js → chunk.F7KVEWFH.js} +1 -1
  62. package/dist/preview/{chunk.FJXKQZZS.js → chunk.FIUPDGUZ.js} +1 -1
  63. package/dist/preview/chunk.FNSVGSZI.js +1 -0
  64. package/dist/preview/chunk.FOHZPYUV.js +1 -0
  65. package/dist/preview/chunk.FW6M6GIU.js +32 -0
  66. package/dist/preview/{chunk.IJVR7ZL7.js → chunk.G5AF5IXL.js} +1 -1
  67. package/dist/preview/{chunk.SCN6IYDG.js → chunk.G767NLBH.js} +1 -1
  68. package/dist/preview/{chunk.X7HMTN3Z.js → chunk.GFBE4VNT.js} +1 -1
  69. package/dist/preview/{chunk.U5Q7EVZQ.js → chunk.GFOZVQBQ.js} +1 -1
  70. package/dist/preview/{chunk.KJAOJTZZ.js → chunk.GKYJQE5A.js} +1 -1
  71. package/dist/preview/{chunk.YCMMATFK.js → chunk.GOVRX2YX.js} +1 -1
  72. package/dist/preview/{chunk.U3CV227I.js → chunk.H33XWGAY.js} +1 -1
  73. package/dist/preview/{chunk.DGDOZHYK.js → chunk.H4BPTMED.js} +1 -1
  74. package/dist/preview/chunk.HLKDYI6J.js +1 -0
  75. package/dist/preview/{chunk.C4LC2UEU.js → chunk.HPFEYMGP.js} +1 -1
  76. package/dist/preview/{chunk.CLJKQLK2.js → chunk.HT35PAHI.js} +2 -2
  77. package/dist/preview/{chunk.6VG2LCES.js → chunk.HXRHEPPJ.js} +1 -1
  78. package/dist/preview/{chunk.LZNHTROY.js → chunk.IXYG65TM.js} +1 -1
  79. package/dist/preview/chunk.IZDB777E.js +1 -0
  80. package/dist/preview/{chunk.ZQSV5XVB.js → chunk.JAPTTM6Y.js} +1 -1
  81. package/dist/preview/{chunk.CUA7F3YJ.js → chunk.JCKIJSW7.js} +1 -1
  82. package/dist/preview/{chunk.WAIIXXVI.js → chunk.JLNTE5CH.js} +2 -2
  83. package/dist/preview/{chunk.5FQHZVE3.js → chunk.JNK5WBSU.js} +1 -1
  84. package/dist/preview/chunk.JREA2XDG.js +1 -0
  85. package/dist/preview/{chunk.CHG522KL.js → chunk.KBJ3UUER.js} +1 -1
  86. package/dist/preview/{chunk.VBHV4TLG.js → chunk.KHRS2SKB.js} +1 -1
  87. package/dist/preview/{chunk.CZUUFO6A.js → chunk.KJPLX72N.js} +1 -1
  88. package/dist/preview/{chunk.7LAXSQQY.js → chunk.KZUHXOZU.js} +2 -2
  89. package/dist/preview/{chunk.R65YX332.js → chunk.L3MLGFIS.js} +1 -1
  90. package/dist/preview/{chunk.RXUL6P7Y.js → chunk.L6P55HFW.js} +1 -1
  91. package/dist/preview/{chunk.J4NY2K2A.js → chunk.LDWWUKKX.js} +1 -1
  92. package/dist/preview/{chunk.RIP2SAQ5.js → chunk.LHCGC3K6.js} +1 -1
  93. package/dist/preview/{chunk.IQCMV5WD.js → chunk.LNKY6MT4.js} +1 -1
  94. package/dist/preview/chunk.LQ5J6YQW.js +1 -0
  95. package/dist/preview/{chunk.O2XPLDMM.js → chunk.MEAUTBVM.js} +1 -1
  96. package/dist/preview/chunk.MEBKTW7H.js +17 -0
  97. package/dist/preview/{chunk.K6EKSURO.js → chunk.MFMC35ET.js} +1 -1
  98. package/dist/preview/chunk.MJ4T6YXI.js +1 -0
  99. package/dist/preview/{chunk.SWY6DIE4.js → chunk.MKJV3BM5.js} +3 -3
  100. package/dist/preview/chunk.ML4X7VVK.js +1 -0
  101. package/dist/preview/{chunk.ZOSTOVXR.js → chunk.MM7MLBGB.js} +1 -1
  102. package/dist/preview/{chunk.NCBUECIW.js → chunk.MQNW3O67.js} +1 -1
  103. package/dist/preview/{chunk.CVVNHQPO.js → chunk.MT252WP4.js} +1 -1
  104. package/dist/preview/{chunk.VKQONZKR.js → chunk.MWWNKM3I.js} +1 -1
  105. package/dist/preview/chunk.N3MXLORL.js +3 -0
  106. package/dist/preview/{chunk.SUYYDJGZ.js → chunk.NH3VXTGX.js} +1 -1
  107. package/dist/preview/{chunk.IRPMGHZN.js → chunk.NI4OPHTL.js} +1 -1
  108. package/dist/preview/chunk.NNGG7RCO.js +1 -0
  109. package/dist/preview/{chunk.MZSWWMX6.js → chunk.NXHEOHRR.js} +1 -1
  110. package/dist/preview/{chunk.A5ENJJZN.js → chunk.O5RPSUXV.js} +1 -1
  111. package/dist/preview/{chunk.CM7EDQ4E.js → chunk.OKHXXIMN.js} +1 -1
  112. package/dist/preview/chunk.OOQG2AEF.js +1 -0
  113. package/dist/preview/{chunk.MYR36HW4.js → chunk.OPMGQS5J.js} +1 -1
  114. package/dist/preview/{chunk.TUVPQLFL.js → chunk.OUF2QFZL.js} +1 -1
  115. package/dist/preview/{chunk.6QMRDSTD.js → chunk.OVSKPBPS.js} +1 -1
  116. package/dist/preview/chunk.OYMN3IFX.js +1 -0
  117. package/dist/preview/{chunk.3HFBHLXC.js → chunk.P43LPXXJ.js} +1 -1
  118. package/dist/preview/{chunk.FSZQTX3K.js → chunk.PGT4ZQDG.js} +4 -4
  119. package/dist/preview/{chunk.5IM2X3VT.js → chunk.PQTXM4VY.js} +1 -1
  120. package/dist/preview/{chunk.U2DZE7A5.js → chunk.Q6GEPVQ7.js} +1 -1
  121. package/dist/preview/{chunk.HMV4ILAC.js → chunk.QDDDKEBH.js} +1 -1
  122. package/dist/preview/{chunk.6KYTCEIH.js → chunk.QJJWAYHB.js} +1 -1
  123. package/dist/preview/{chunk.QAERSZVB.js → chunk.QK4QZVQG.js} +1 -1
  124. package/dist/preview/{chunk.XAN7QXMQ.js → chunk.QKRQPUCE.js} +1 -1
  125. package/dist/preview/{chunk.I3ADXJQW.js → chunk.QNWGDG2Z.js} +1 -1
  126. package/dist/preview/{chunk.NZ5TJKPT.js → chunk.QVBP4UZG.js} +2 -2
  127. package/dist/preview/{chunk.YTRUZ56A.js → chunk.RDUGUC7R.js} +1 -1
  128. package/dist/preview/{chunk.TVNY7F64.js → chunk.RHIP2UYE.js} +1 -1
  129. package/dist/preview/{chunk.PYGNO2AV.js → chunk.RJ7VSWTA.js} +3 -3
  130. package/dist/preview/{chunk.LEZGBHPZ.js → chunk.RO3D2RNP.js} +1 -1
  131. package/dist/preview/{chunk.KOVTQCHX.js → chunk.S2BMI23H.js} +1 -1
  132. package/dist/preview/{chunk.XJ4JYROM.js → chunk.SPJ34VHA.js} +1 -1
  133. package/dist/preview/{chunk.LZ3HO3HM.js → chunk.T6KOL7TW.js} +1 -1
  134. package/dist/preview/{chunk.BJ3G7J2Z.js → chunk.T6UJEXFL.js} +3 -2
  135. package/dist/preview/{chunk.T4QRIJE4.js → chunk.TBEKEHFS.js} +1 -1
  136. package/dist/preview/chunk.TO3ZKCA2.js +1 -0
  137. package/dist/preview/{chunk.QILGAV7H.js → chunk.TQ3MNB6K.js} +1 -1
  138. package/dist/preview/{chunk.F5XWYO5W.js → chunk.TRP66PHK.js} +1 -1
  139. package/dist/preview/{chunk.QODVFVWE.js → chunk.TSZ2S3VG.js} +1 -1
  140. package/dist/preview/{chunk.DWPM7AWA.js → chunk.TTM5GQ2U.js} +1 -1
  141. package/dist/preview/chunk.TUBY6SV3.js +1 -0
  142. package/dist/preview/{chunk.7QWGIGHM.js → chunk.U5KJQFAP.js} +1 -1
  143. package/dist/preview/chunk.U6V4KZF5.js +1 -0
  144. package/dist/preview/chunk.UJ7RTNT4.js +1 -0
  145. package/dist/preview/{chunk.MR776WQ2.js → chunk.UQZ2P6KD.js} +1 -1
  146. package/dist/preview/{chunk.OXXZGPJZ.js → chunk.UZKBFI52.js} +1 -1
  147. package/dist/preview/{chunk.HIJ72QX6.js → chunk.V5JB5UJS.js} +1 -1
  148. package/dist/preview/{chunk.3I2SGKKF.js → chunk.VDFQFLTU.js} +1 -1
  149. package/dist/preview/{chunk.I6HIVTXU.js → chunk.VGYG2IBZ.js} +1 -1
  150. package/dist/preview/chunk.VICBF3MQ.js +2 -0
  151. package/dist/preview/{chunk.TD2V74XU.js → chunk.VL3YDD7D.js} +1 -1
  152. package/dist/preview/{chunk.A7JORJJL.js → chunk.VPFUOTY7.js} +1 -1
  153. package/dist/preview/{chunk.UWEFODVV.js → chunk.VUDNQOOX.js} +1 -1
  154. package/dist/preview/{chunk.YIDNZTON.js → chunk.VVIQSFM4.js} +1 -1
  155. package/dist/preview/{chunk.J65CZJIC.js → chunk.W332P5T3.js} +1 -1
  156. package/dist/preview/{chunk.S6IKR6RD.js → chunk.W3TJF4EH.js} +1 -1
  157. package/dist/preview/{chunk.7FTATAH2.js → chunk.W5O5F4FT.js} +1 -1
  158. package/dist/preview/chunk.W6L2VAJG.js +2 -0
  159. package/dist/preview/{chunk.QG3LV4RH.js → chunk.WGH2P2YL.js} +1 -1
  160. package/dist/preview/{chunk.KV3N6VRG.js → chunk.WS5ORRGS.js} +1 -1
  161. package/dist/preview/{chunk.7HNMG6LG.js → chunk.WU6D3SPL.js} +1 -1
  162. package/dist/preview/{chunk.MSWOETXN.js → chunk.X2UYEA7H.js} +1 -1
  163. package/dist/preview/{chunk.FBDCHJS2.js → chunk.X45EITTK.js} +1 -1
  164. package/dist/preview/{chunk.JIEBGUCA.js → chunk.X7U3JMBR.js} +1 -1
  165. package/dist/preview/chunk.XSM4OTF4.js +1 -0
  166. package/dist/preview/{chunk.5A5DI36V.js → chunk.XTHSPLZZ.js} +1 -1
  167. package/dist/preview/{chunk.TS5APXWC.js → chunk.Y5WQD6KV.js} +1 -1
  168. package/dist/preview/{chunk.3QPMFUMV.js → chunk.YXVUJ3NB.js} +1 -1
  169. package/dist/preview/{chunk.F5STM4DX.js → chunk.Z22C2JJ4.js} +1 -1
  170. package/dist/preview/{chunk.BBLA4PSP.js → chunk.Z2BCOZDZ.js} +1 -1
  171. package/dist/preview/{chunk.BZXJKWNI.js → chunk.Z3TK2LJM.js} +1 -1
  172. package/dist/preview/chunk.ZGLOXN7O.js +1 -0
  173. package/dist/preview/{chunk.UJM5EZDM.js → chunk.ZLQIGZXO.js} +1 -1
  174. package/dist/preview/{chunk.FUTSLXWN.js → chunk.ZONRIOIA.js} +1 -1
  175. package/dist/preview/{chunk.NTAC5NNE.js → chunk.ZY3NAJDM.js} +1 -1
  176. package/dist/preview/index.html +55 -55
  177. package/dist/preview/page.js +2 -2
  178. package/package.json +6 -6
  179. package/dist/preview/chunk.2QOB62XU.js +0 -1
  180. package/dist/preview/chunk.36FKQJFM.js +0 -2
  181. package/dist/preview/chunk.3A3DCALP.js +0 -1
  182. package/dist/preview/chunk.3GPYKWAD.js +0 -1
  183. package/dist/preview/chunk.3ZP6IDUC.js +0 -1
  184. package/dist/preview/chunk.53HW224Y.js +0 -1
  185. package/dist/preview/chunk.AW74DZ5V.js +0 -17
  186. package/dist/preview/chunk.CCCSZRKU.js +0 -1
  187. package/dist/preview/chunk.DBSSCJQM.js +0 -1
  188. package/dist/preview/chunk.DW6KXAUM.js +0 -1
  189. package/dist/preview/chunk.HHQUCFN4.js +0 -1
  190. package/dist/preview/chunk.HPWMCS3H.js +0 -23
  191. package/dist/preview/chunk.HRLCDBMO.js +0 -1
  192. package/dist/preview/chunk.I7ODVOO5.js +0 -1
  193. package/dist/preview/chunk.IANOWT3Z.js +0 -1
  194. package/dist/preview/chunk.IFPJPJ4M.js +0 -1
  195. package/dist/preview/chunk.IUVRJDL3.js +0 -5
  196. package/dist/preview/chunk.J4CSY2D5.js +0 -2
  197. package/dist/preview/chunk.JJIKTTXB.js +0 -1
  198. package/dist/preview/chunk.KDOJC4FX.js +0 -1
  199. package/dist/preview/chunk.KLZPUTMU.js +0 -1
  200. package/dist/preview/chunk.LQ2PDW2M.js +0 -32
  201. package/dist/preview/chunk.MNWP3TPN.js +0 -1
  202. package/dist/preview/chunk.NILR2BWR.js +0 -1
  203. package/dist/preview/chunk.NNYKLENL.js +0 -1
  204. package/dist/preview/chunk.PZHCWMKT.js +0 -1
  205. package/dist/preview/chunk.QVID5WHS.js +0 -1
  206. package/dist/preview/chunk.RHV73CBA.js +0 -3
  207. package/dist/preview/chunk.RP6C2IUM.js +0 -1
  208. package/dist/preview/chunk.RPHZY7N4.js +0 -1
  209. package/dist/preview/chunk.UYBSVE2W.js +0 -1
  210. package/dist/preview/chunk.WMZ2BINI.js +0 -1
  211. package/dist/preview/chunk.X2RHBTJI.js +0 -1
  212. package/dist/preview/chunk.X3FPVFFB.js +0 -1
  213. package/dist/preview/chunk.X4PFLIXB.js +0 -1
  214. package/dist/preview/chunk.YR7DKU5T.js +0 -1
  215. package/dist/preview/chunk.ZBK3FCVE.js +0 -1
  216. package/dist/preview/chunk.ZH5L746C.js +0 -1
@@ -1,2 +1,2 @@
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 Ve,d as ue,g as Ke}from"./chunk.5FQHZVE3.js";import"./chunk.U2DZE7A5.js";import{c as Q,d as Ge}from"./chunk.JPJHM62B.js";import{b as je,c as qe,d as Me}from"./chunk.DOJCYXIJ.js";import{b as se,c as Be,d as ie,e as de,f as Fe,g as ce,i as Ne,j as Ie,k as Le,l as He,m as le}from"./chunk.J65CZJIC.js";import"./chunk.FSZQTX3K.js";import{a as Ee}from"./chunk.TBY5IR7C.js";import{d as De}from"./chunk.6VG2LCES.js";import"./chunk.I3ADXJQW.js";import"./chunk.BJUUSIQY.js";import"./chunk.XJ4JYROM.js";import"./chunk.XOZU4OFA.js";import"./chunk.CHG522KL.js";import"./chunk.7QWGIGHM.js";import"./chunk.MIE4TJRW.js";import{x as $e}from"./chunk.RP6C2IUM.js";import"./chunk.RD2FSSLV.js";import"./chunk.T552MHMU.js";import"./chunk.ZGJUCVT5.js";import"./chunk.CVVNHQPO.js";import"./chunk.YIDNZTON.js";import"./chunk.QILGAV7H.js";import"./chunk.I6HIVTXU.js";import"./chunk.PYGNO2AV.js";import"./chunk.3HFBHLXC.js";import{G as it,Y as xe,ga as Ce}from"./chunk.CUA7F3YJ.js";import"./chunk.SDO3U72B.js";import{ma as Re}from"./chunk.IUVRJDL3.js";import"./chunk.FQLNBIQ5.js";import{b as ae}from"./chunk.AJZBJBMO.js";var g=ae(it(),1);var N=ae(xe(),1),T=n=>(n??"").replace(/\s+/g," ").trim(),fe=()=>new Promise(n=>requestAnimationFrame(()=>n())),dt=n=>new Promise(r=>setTimeout(r,n));function ct(n){let r=n.cloneNode(!0);for(let o of r.querySelectorAll("span"))o.remove();return T(r.textContent).replace(/^[▸▾]\s*/,"")}function _e(n){if(!n||!n.isConnected)return"";let r=n.innerText??n.textContent??"";return`${n.querySelectorAll("*").length}|${T(r)}`}function lt(n,r=80){if(!n)return"";let o=[],i=new Set,d="li, tr, article, [data-graview-listed], [data-graview-record], [data-graview-field]";for(let c of n.querySelectorAll(`h1, h2, h3, h4, ${d}`)){if(o.length>=r)break;if([...i].some(u=>u.contains(c))||c.closest("[data-graview-popover], [hidden], nav, [aria-hidden='true']"))continue;let l=/^h([1-4])$/i.exec(c.localName),s=(l?ct(c):T(c.innerText??c.textContent)).slice(0,140);if(s)if(l)o.push(`${"#".repeat(Number(l[1]))} ${s}`);else{let u=c.getAttribute("data-graview-field");o.push(u?`${u}: ${s}`:`- ${s}`),i.add(c)}}return o.join(`
2
- `)}function ut(n,r){let{store:o}=n,i=c=>Object.fromEntries(Object.entries(c).filter(([,l])=>l!==void 0&&typeof l!="object").map(([l,s])=>[l,typeof s=="string"?s.slice(0,80):s]));return{kinds:(r.kind?[r.kind]:o.schema.kinds.slice(0,6)).map(c=>{let l=o.graph.nodesOfKind(c),s=o.schema.tryDefinition(c);return{kind:c,count:l.length,fields:Object.keys(s?.fields?.shape??{}),relations:Object.keys(s?.edges??{}),some:(r.record?l.filter(u=>u.id===r.record):l.slice(0,3)).map(i)}})}}function ft(n,r){let o=n.store.schema,i=new Set,d=new Set;for(let c of o.definitions)for(let[l,s]of Object.entries(c.edges??{})){let u=Array.isArray(s?.to)?s.to:[];if(r.kind===void 0||c.kind===r.kind||u.includes(r.kind)){d.add(l);for(let P of[c.kind,...u])P!==r.kind&&o.tryDefinition(P)&&i.add(P)}}if(r.kind===void 0)for(let c of o.kinds)i.add(c);return{kinds:[...i],edges:[...d]}}var Ue={manifest:"The view could not start: what it reads is not this app's.",source:"The script is too long: make it shorter.",start:"The script did not start: it must be one plain script, with no syntax errors, that calls graview.onProps and graview.render.",error:"The script threw while drawing: read only what props gives (props.nodes for a list, props.node for one record), guard each value that may be missing, and call no function that does not exist."};async function We(n,r,o=15e3){let i=Date.now()+o;for(;Date.now()<i;){for(let c of document.querySelectorAll("[data-worker-view-place]")){let l=$e(c),s=l?.name===n?l.drawing().root:void 0;if(l&&c.isConnected&&s?.isConnected&&s.childElementCount>0&&(r===void 0||await l.source()===r))return{element:c,handle:l}}let d=document.querySelector(`[data-worker-view-fell-back="${CSS.escape(n)}"]`);if(d)return{failed:Ue[d.getAttribute("data-worker-view-failed")??""]??Ue.error};await dt(80)}return{failed:"The view did not draw in time: keep it simple and quick to draw."}}var pe=new Map,pt=(n,r)=>{let o=pe.get(n);return o||pe.set(n,o={phase:r(),steps:[],before:!1,putBack:null,began:!1,original:null,markup:null,talk:[],events:[],since:Date.now(),stop:null,covering:!1,pointed:null,about:null,kept:null,pressed:null,version:0,heard:new Set}),o};function he(n,r){return r.record?[n.graph.getNode(r.record)].filter(o=>o!==void 0):r.kind?n.graph.nodesOfKind(r.kind):n.schema.kinds.flatMap(o=>n.graph.nodesOfKind(o))}var Y=(n,r)=>r?Re(n.schema.tryDefinition(r.kind),r):"";function gt(n,r,o){let i=T(o).toLowerCase();return he(n,r).map(d=>Y(n,d)).filter(d=>d.length>1&&i.includes(T(d).toLowerCase())).slice(0,40)}function ze(n,r){let o=r.kind?[r.kind]:n.schema.kinds,i=[...new Set(o.flatMap(c=>Object.keys(n.schema.tryDefinition(c)?.fields?.shape??{})))],d={};for(let c of he(n,r).slice(0,400))for(let l of i){let s=c[l];if(s==null||typeof s=="object")continue;let u=d[l]??=[];u.length<60&&!u.includes(s)&&u.push(s)}return{fields:i,values:d}}function Ct({ask:n,close:r}){let o=Ce(),{ai:i,aiDesk:d,aiHere:c,session:l,principal:s,keptViews:u,store:D,onProposeChange:P,composeChange:w,onDraftChange:O,app:q}=o,a=n.part,e=(0,g.useMemo)(()=>pt(n.at,()=>n.mode==="highlight"?{at:"highlighting"}:{at:"open"}),[n]),H=(0,g.useCallback)(t=>(e.heard.add(t),()=>void e.heard.delete(t)),[e]),S=(0,g.useSyncExternalStore)(H,()=>e.phase,()=>e.phase),Ye=(0,g.useSyncExternalStore)(H,()=>e.version,()=>e.version),A=(0,g.useCallback)(()=>{e.version+=1,e.heard.forEach(t=>t())},[e]),k=(0,g.useCallback)(t=>{e.phase=t,A()},[e,A]),x=(0,g.useCallback)(async()=>{let t=e.putBack;e.putBack=null,t&&await t()},[e]),Z=(0,g.useCallback)(()=>{e.stop?.abort(),e.stop=null,x(),pe.delete(n.at),r()},[x,n.at,r,e]),b=(0,g.useCallback)(()=>a.main?.isConnected?a.main:yt(),[a]),G={name:a.name,slot:a.slot,...a.kind?{kind:a.kind}:{},...a.group?{group:a.group}:{}},me=a.place??(a.kind?`${a.kind}-${a.slot}`:"home"),Ze=n.fromScene?`From the scene: Better UI changes how \u201C${a.name}\u201D looks on its page here, for everyone in this app.`:`This changes how ${a.name} looks for everyone in this app.`,M=(0,g.useCallback)((t,f,p,h={})=>({id:De(),at:new Date().toISOString(),by:s,target:{on:"place",place:me},targetLabel:a.name,ask:{kind:"section",said:t},offered:[],outcome:f,stages:p.map(m=>({stage:m.stage,ms:m.ms,model:m.model})),usage:p.flatMap(m=>m.usage?[{tier:m.stage==="light"?"fast":"thinking",model:m.model,inputTokens:m.usage.inputTokens,outputTokens:m.usage.outputTokens}]:[]),...h}),[s,me,a.name]),we=P!==void 0&&w!==void 0&&Ee(D,s),B=(0,g.useMemo)(()=>kt(o,a),[o,a]),C=Le(G,ft(o,a),B.map(t=>t.act)),ke=C!==void 0&&typeof u?.fork=="function"&&typeof u.draftFork=="function"&&u.current().may.views===!0,ye=a.slot==="record"?{page:"record",kind:a.kind}:a.slot==="home"?{page:"home"}:{page:"list",kind:a.kind??""},V=(0,g.useCallback)(t=>({manifest:C,source:t,from:ye,said:""}),[C,ye]),ve=S.at==="working";(0,g.useEffect)(()=>{if(!ve)return;let t=a.record??(a.kind?`kind:${a.kind}`:null);return c({participant:`agent:graview-for-${s.id??"anyone"}:${l}`,kind:"agent",name:"Graview",...s.id?{onBehalfOf:s.id}:{},over:t,robot:{at:t,mode:"thinking"}}),()=>c(null)},[ve]);let $=(0,g.useCallback)(()=>{if(e.original)return e.original;let t=b(),f=t?.innerText??"";return e.original=Q(X(t),gt(o.store,a,f||(t?.textContent??""))),e.original},[e,b,o,a]),I=(0,g.useCallback)(()=>Q(X(b()),$().records.map(t=>t.label)),[b,$]),K=(0,g.useCallback)(async t=>{if(await x(),t.kind==="spec"){let f=await O(Je(t.edits,t.said,i.name));e.putBack=f.undo}else u.draftFork(V(t.source)),e.putBack=()=>u.draftFork(null)},[x,O,e,u,V,i.name]),L=(0,g.useCallback)(async()=>{let t=e.steps.at(-1);e.before=!1,t?await K(t):await x()},[e,K,x]),v=(0,g.useCallback)((t,f)=>{e.talk.push({who:t,said:f}),A()},[e,A]),F=(0,g.useCallback)(t=>{e.events.at(-1)?.kind==="streaming"&&e.events.pop(),e.events.push(t),A()},[e,A]),U=()=>e.talk.filter(t=>t.who==="person").map(t=>t.said).join(" "),be=(0,g.useCallback)(async t=>{if(!we||!O)return!1;let p=(await (__graviewPreload(import.meta.url,["./chunk.3I2SGKKF.js","./chunk.TBY5IR7C.js","./chunk.BIDL7GQD.js","./chunk.Q5WEOX3Q.js","./chunk.ZBK3FCVE.js","./chunk.DW6KXAUM.js","./chunk.HRLCDBMO.js","./chunk.LZNHTROY.js","./chunk.36FKQJFM.js","./chunk.RHV73CBA.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.I7ODVOO5.js"))).documentOfApp(q??{});if(!p)return!1;let h=e.steps.at(-1);if(h&&h.kind!=="spec")return!1;let m=h?.edits??[],y=m.length>0?w({document:p,edits:m}):void 0,j=y?.ok?y.document:p;if(!(t.mode==="just"?{can:!0}:await Ne(i,t.words,G)).can)return!1;F({kind:"look",text:`Looking at how ${a.name} is set up`});let E=[],ne=await Ie({ai:i,document:j,part:G,mode:t.mode==="choose"?"just":t.mode,...t.words?{words:t.words}:{},...t.pointed?{highlighted:[t.pointed.name,...t.pointed.lines]}:{},shows:lt(b(),30),judge:async W=>{let _=w({document:p,edits:[...m,...W]});return _.ok?(E=_.said,[]):[_.refused]}});if(!ne.ok)return!1;let at=[...m,...ne.edits],Oe=M(`Make \u201C${a.name}\u201D better: ${t.words}`,"offered",ne.stages),oe=_e(b()),re={kind:"spec",edits:at,said:E[E.length-1]??E[0]??`${a.name} changed.`,entry:Oe};e.covering=!0,A();try{await K(re);let W=oe;for(let st=Date.now()+1500;Date.now()<st&&W===oe;)await fe(),W=_e(b());let _=W===oe?["nothing changed"]:se($(),I(),{...ze(o.store,a),asked:U()});if(_.length>0)return await L(),d.record({...Oe,outcome:"failed",failed:_.join(" ")}),!1}catch{return await L(),!1}finally{e.covering=!1,A()}return e.steps.push(re),e.before=!1,F({kind:"passed",text:"Changed its settings \u2014 it's on the page"}),v("graview",`Done: ${re.said.replace(/\.$/,"")}.`),!0},[i,d,q,w,M,e,o,b,O,$,I,a,G,K,L,we,F,v,A]),Se=(0,g.useCallback)(async t=>{if(!C||!u?.draftFork)return{findings:["This page cannot be drawn anew here."],drew:void 0};let f=$();e.covering=!0,A();try{u.draftFork(V(t)),e.putBack=()=>u.draftFork(null);let p=await We(C.name,t),h;if("failed"in p)h=[p.failed];else{let y=[...await p.handle.check(t),...p.handle.refused().filter(j=>!/^Refused a rule of the stylesheet\b/.test(j))];if(y.length>0)h=y;else{await fe(),await fe();let j=p.element.closest("[data-graview-page-main], main")??X(b());h=se(f,Q(j,f.records.map(E=>E.label)),{...ze(o.store,a),asked:U()});let R=p.handle.presses?await p.handle.presses(t).catch(()=>{}):void 0;R&&(e.pressed=R,h=[...h,...ie(R,Xe(f,ge(o,a,f)),B.filter(E=>E.toggle).map(E=>E.act),z(a))])}}let m=le(I());if(h.length===0){let y=M(`Draw \u201C${a.name}\u201D anew: ${U()}`,"offered",[]);e.steps.push({kind:"view",source:t,said:Be(a.name,f,I())??`${a.name} has a new design. Compare Before and After.`,entry:y}),e.before=!1}else await L();return{findings:h,drew:m}}finally{e.covering=!1,A()}},[C,u,$,e,A,V,I,o,a,M,L]),Pe=(0,g.useCallback)(async(t=[])=>{if(!C||!ke){v("graview","Its settings can't do that, and a new design can't be drawn for it here.");return}let f=new AbortController;e.stop=f,e.markup??=Qe(b());let p=e.steps.length,h=[...e.steps].reverse().find(y=>y.kind==="view"),m=await He({ai:i,part:G,manifest:C,talk:e.talk,keep:ht($(),b(),a.name,o,a),...e.markup?{markup:e.markup}:{},...h?{current:h.source}:e.kept?{current:e.kept}:{},host:{look:()=>le(I()),read:()=>ut(o,a),draft:Se},onEvent:y=>F(y),...e.about?{about:e.about}:{},acts:B,...t.length>0?{pressed:t}:{},noun:z(a),signal:f.signal});if(e.stop===f){if(e.stop=null,e.events.at(-1)?.kind==="streaming"&&e.events.pop(),d.record(M(`Draw \u201C${a.name}\u201D anew: ${U()}`,e.steps.length>p?"offered":"failed",m.stages,e.steps.length>p?{}:{failed:m.last?.findings.join(" ")??m.said})),m.passed){let y=e.pressed?de(e.pressed,B,z(a)):void 0,j=Fe.test(m.said)?void 0:m.said;v("graview",[j??(y?void 0:"Here it is on the page."),y].filter(Boolean).join(" "))}else v("graview",m.said);m.ended==="stuck"&&k({at:"stuck",...m.keepable&&m.last?{source:m.last.source}:{}})}},[i,d,B,I,M,ke,e,o,Se,b,C,$,a,G,v,k,F]),Ae=(0,g.useCallback)(async()=>{let f=[...e.steps].reverse().find(R=>R.kind==="view")?.source??e.kept;if(!f||!C)return[];F({kind:"look",text:"Pressing every control on the page"});let p=await We(C.name);if("failed"in p||!p.handle.presses)return[];let h=await p.handle.presses(f).catch(()=>{});if(!h)return[];e.pressed=h;let m=$(),y=ie(h,Xe(m,ge(o,a,m)),B.filter(R=>R.toggle).map(R=>R.act),z(a)),j=y.length>0?y:h.controls.slice(0,8).map(R=>`${R.control}: ${R.says}`);return F(y.length>0?{kind:"check",text:`Check: ${y.length} ${y.length===1?"control doesn't":"controls don't"} work \u2014 fixing`}:{kind:"passed",text:"Check: every control works"}),v("graview",y.length>0?`I pressed every control: ${y.join(" ")}`:`I pressed every control. ${de(h,B,z(a))??"Each one did what it says."}`),j},[B,e,o,C,$,a,v,F]),J=(0,g.useCallback)(async(t,f="describe")=>{if(e.phase.at==="working")return;let p=e.pointed;e.pointed=null;let h={mode:f,words:t,...p?{pointed:p}:{}};e.about=p??e.about,v("person",t),e.events=[],e.since=Date.now(),k({at:"working"}),$(),e.markup??=Qe(b());let m=ce.test(t)?await Ae().catch(()=>[]):[];!ce.test(t)&&await be(h).catch(()=>!1)||await Pe(m),e.phase.at==="working"&&k(e.steps.length>0?{at:"draft"}:{at:"open"})},[Pe,be,e,b,$,Ae,v,k]),ee=(0,g.useCallback)(()=>{if(e.phase.at!=="working")return;let t=e.stop;e.stop=null,t?.abort(),e.covering=!1,e.steps=e.steps.filter(f=>f.entry.at<new Date(e.since).toISOString()),L(),v("graview","Stopped. The page is as it was."),k(e.steps.length>0?{at:"draft"}:{at:"open"})},[e,v,k,L]),et=(0,g.useCallback)(async t=>{let f=e.steps.at(-1);!f||t===e.before||(e.before=t,A(),t?await x():await K(f))},[e,x,K,A]),te=(0,g.useCallback)(async()=>{let t=e.steps.at(-1);if(!(!t||e.phase.at!=="draft")){k({at:"keeping"});try{let f,p;if(t.kind==="spec"){await x();let h=await P(Je(t.edits,t.said,i.name));if(h==="declined")return v("graview","It wasn't kept."),k({at:"draft"});typeof h=="object"&&([f,p]=[h.undo,h.note])}else{let h=await u.fork(V(t.source));e.putBack=null,u.draftFork?.(null),e.kept=t.source,h&&([f,p]=[h.undo,h.note])}d.record({...t.entry,outcome:"accepted"}),e.steps=[],e.before=!1,k({at:"kept",...f?{undo:f}:{},...p?{note:p}:{}})}catch{v("graview","It couldn't be kept."),k({at:"draft"})}}},[e,k,x,P,i.name,u,V,d,v]),tt=(0,g.useCallback)(async t=>{if(e.phase.at!=="stuck")return;let f={kind:"view",source:t,said:`${a.name} kept as it was last drafted.`,entry:M(`Draw \u201C${a.name}\u201D anew: ${U()}`,"offered",[])};e.steps.push(f),e.phase={at:"draft"},await te(),e.steps.at(-1)===f&&(e.steps.pop(),k(e.steps.length>0?{at:"draft"}:{at:"open"}))},[e,a.name,M,te,k]),nt=(0,g.useCallback)(()=>{v("graview","Stopped. The page is as it was."),k(e.steps.length>0?{at:"draft"}:{at:"open"})},[e,v,k]),ot=(0,g.useCallback)(()=>{let t=e.steps.at(-1);t&&d.record({...t.entry,outcome:"dismissed"}),e.steps=[],e.before=!1,x(),v("graview","Put back as it was."),k({at:"open"})},[e,d,x,v,k]),rt=(0,g.useCallback)(async()=>{if(!(e.phase.at!=="kept"||!e.phase.undo))try{await e.phase.undo(),e.kept=null,v("graview","Undone. The page is as it was."),k({at:"undone"})}catch{v("graview","It couldn't be put back.")}},[e,v,k]);if((0,g.useEffect)(()=>{e.began||!(n.mode==="just"||n.mode==="describe"&&n.words)||(e.began=!0,J(n.mode==="just"?"Make it easier to read at a glance":n.words,n.mode))},[e,n.mode,n.words,J]),(0,g.useEffect)(()=>{let t=f=>{if(f.key!=="Escape"||e.phase.at==="highlighting")return;if(f.preventDefault(),e.phase.at==="working")return ee();Z();let p=n.returnTo?.isConnected?n.returnTo:document.querySelector("[data-graview-page-title], main h1");p&&!p.hasAttribute("tabindex")&&!p.matches("a[href], button, input, select, textarea")&&p.setAttribute("tabindex","-1"),p?.focus?.()};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,Z,ee,n.returnTo]),S.at==="highlighting")return(0,N.jsx)(Ke,{box:b(),root:b(),whole:a.elements,wholeSaid:"The whole page",cancel:()=>k({at:"open"}),chose:t=>{e.pointed={name:Me(t)??je(t.map(ue)),lines:qe(t.map(ue))},k({at:"open"})}});let Te=e.steps.at(-1);return(0,N.jsxs)(N.Fragment,{children:[e.covering?(0,N.jsx)(Ge,{over:b(),name:a.name,said:`Graview is drafting \u201C${a.name}\u201D\u2026`}):null,(0,N.jsx)(Ve,{name:a.name,scope:Ze,phase:S.at,talk:e.talk,steps:e.events,since:e.since,working:S.at==="working"||S.at==="keeping",...Te&&S.at==="draft"?{draft:{said:Te.said,before:e.before}}:{},...S.at==="kept"?{kept:{...S.note?{note:S.note}:{},...S.undo?{undo:()=>void rt()}:{}}}:{},...S.at==="stuck"?{stuck:{...S.source!==void 0?{keepAnyway:()=>void tt(S.source)}:{},stop:nt}}:{},about:(e.pointed??e.about)?.name??a.name,ask:t=>void J(t),just:()=>void J("Make it easier to read at a glance","just"),point:()=>k({at:"highlighting"}),stop:ee,compare:t=>void et(t),keep:()=>void te(),discard:ot,close:Z})]})}function Je(n,r,o){return{said:r,add:[],drop:[],card:{said:r,adds:[],keeps:[],drops:[],breaking:[]},edits:n,via:`ai:${o??"model"}`}}function ht(n,r,o,i,d){let c=X(r),l=d.slot==="home"?[...r?.querySelectorAll("h1")??[]].find(w=>c!==r&&!c?.contains(w)):void 0,s=T(l?.textContent)||T(c?.querySelector("[data-graview-page-title]")?.textContent)||(d.slot==="home"?"":T(c?.querySelector("h1")?.textContent))||(d.record?T(Y(i.store,i.store.graph.getNode(d.record))):"")||o,u=ge(i,d,n),D=Object.fromEntries(n.records.flatMap(w=>w.facts?.length||w.under&&w.under!==s?[[w.label,{...u[w.label]?{id:u[w.label]}:{},...w.facts?.length?{shows:w.facts}:{},...w.under&&w.under!==s?{under:w.under}:{}}]]:[])),P=wt(i,n,u,s);return{title:s,headings:n.headings.filter(w=>w!==s),records:n.records.map(w=>w.label),...Object.keys(D).length>0?{says:D}:{},...P?{grouping:P}:{}}}function mt(n,r,o){let i=he(n,r),d={};for(let c of o.records){let l=i.find(s=>T(Y(n,s))===T(c.label));l&&(d[c.label]=l.id)}return d}var ge=(n,r,o)=>mt(n.store,r,o);function wt(n,r,o,i){let{store:d}=n,c=r.records.filter(O=>O.under&&O.under!==i&&o[O.label]);if(c.length<2)return;let l=d.graph.allEdges(),s=new Map;for(let O of c){let q=o[O.label];for(let a of l){let e=a.from===q?a.to:a.to===q?a.from:void 0,H=e!==void 0?d.graph.getNode(e):void 0;if(!H||T(Y(d,H))!==T(O.under))continue;let S=`${a.kind}\0${H.kind}\0${a.from===q?"from":"to"}`;s.set(S,(s.get(S)??0)+1)}}let u=[...s].sort((O,q)=>q[1]-O[1])[0];if(!u||u[1]<c.length/2)return;let[D,P,w]=u[0].split("\0");return{edge:D,kind:P,record:w}}var X=n=>n?.querySelector("main")??n;function Qe(n){if(!n?.isConnected)return null;let r=(n.querySelector("main")??n).cloneNode(!0);for(let i of r.querySelectorAll("[data-graview-listed], [data-graview-record]")){let d=i.querySelector("a[href]");d&&d.setAttribute("data-record",i.getAttribute("data-graview-listed")??i.getAttribute("data-graview-record")??"")}for(let i of r.querySelectorAll("a[aria-label]"))T(i.textContent)||(i.textContent=i.getAttribute("aria-label"));for(let i of r.querySelectorAll("script, style, svg, button, input, select, textarea, [hidden], [aria-hidden='true'], [data-graview-popover]"))i.remove();for(let i of[r,...r.querySelectorAll("*")])for(let d of[...i.getAttributeNames()])d==="data-record"&&i.localName==="a"||i.removeAttribute(d);let o=r.outerHTML.replace(/\s+/g," ").replace(/<(div|span)>\s*<\/\1>/g,"").trim();return o.length>6e3?o.slice(0,6e3):o}var z=n=>n.slot==="list"||n.slot==="group"?n.name.toLowerCase():n.slot==="record"?"parts":"records";function Xe(n,r){return n.records.flatMap(o=>r[o.label]?[{label:o.label,id:r[o.label],...o.presses?{presses:!0}:{},...o.opens?{opens:!0}:{}}]:[])}function kt(n,r){let{store:o}=n,i=r.kind?[r.kind]:o.schema.kinds,d=l=>o.schema.tryDefinition(l)?.fields?.shape??{},c=l=>{let s=l?._zod?.def;for(let u=0;u<6&&s&&s.type!=="boolean"&&s.innerType!==void 0;u++)s=s.innerType._zod?.def;return s?.type==="boolean"};return o.allMutations().flatMap(l=>{let s=l.subject;if(!s||l.creates?.length)return[];let u=i.find(w=>s.kinds==="*"||s.kinds.includes(w));if(!u)return[];let D=l.writes??[],P=D.length===1&&c(d(u)[D[0]])?D[0]:void 0;return[{act:l.name,title:String(l.title??l.name),record:s.arg,...P?{toggle:P}:{}}]}).slice(0,24)}function yt(){return document.querySelector("[data-graview-page-main], main")??document.querySelector("[data-graview-face]")}export{Ct as PageCard,_e as drawnSignature,ze as fieldsShownOf,gt as labelsShown,Qe as markupOf,lt as outlineOf,mt as recordIdsOf};
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 Ve,d as ue,g as Ke}from"./chunk.JNK5WBSU.js";import"./chunk.Q6GEPVQ7.js";import{c as Q,d as Ge}from"./chunk.7LPHWJB4.js";import{b as je,c as qe,d as Me}from"./chunk.DOJCYXIJ.js";import{b as se,c as Be,d as ie,e as de,f as Fe,g as ce,i as Ne,j as Ie,k as Le,l as He,m as le}from"./chunk.W332P5T3.js";import"./chunk.PGT4ZQDG.js";import{a as Ee}from"./chunk.TBY5IR7C.js";import{d as De}from"./chunk.HXRHEPPJ.js";import"./chunk.QNWGDG2Z.js";import"./chunk.BJUUSIQY.js";import"./chunk.SPJ34VHA.js";import"./chunk.XOZU4OFA.js";import"./chunk.KBJ3UUER.js";import"./chunk.U5KJQFAP.js";import"./chunk.MIE4TJRW.js";import{x as $e}from"./chunk.3CLTABGP.js";import"./chunk.RD2FSSLV.js";import"./chunk.CVN2XFMF.js";import"./chunk.6TBQV3NO.js";import"./chunk.MT252WP4.js";import"./chunk.VVIQSFM4.js";import"./chunk.TQ3MNB6K.js";import"./chunk.VGYG2IBZ.js";import"./chunk.RJ7VSWTA.js";import"./chunk.P43LPXXJ.js";import{G as it,Y as xe,ga as Ce}from"./chunk.JCKIJSW7.js";import"./chunk.SDO3U72B.js";import{ma as Re}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as ae}from"./chunk.AJZBJBMO.js";var g=ae(it(),1);var N=ae(xe(),1),T=n=>(n??"").replace(/\s+/g," ").trim(),fe=()=>new Promise(n=>requestAnimationFrame(()=>n())),dt=n=>new Promise(r=>setTimeout(r,n));function ct(n){let r=n.cloneNode(!0);for(let o of r.querySelectorAll("span"))o.remove();return T(r.textContent).replace(/^[▸▾]\s*/,"")}function _e(n){if(!n||!n.isConnected)return"";let r=n.innerText??n.textContent??"";return`${n.querySelectorAll("*").length}|${T(r)}`}function lt(n,r=80){if(!n)return"";let o=[],i=new Set,d="li, tr, article, [data-graview-listed], [data-graview-record], [data-graview-field]";for(let c of n.querySelectorAll(`h1, h2, h3, h4, ${d}`)){if(o.length>=r)break;if([...i].some(u=>u.contains(c))||c.closest("[data-graview-popover], [hidden], nav, [aria-hidden='true']"))continue;let l=/^h([1-4])$/i.exec(c.localName),s=(l?ct(c):T(c.innerText??c.textContent)).slice(0,140);if(s)if(l)o.push(`${"#".repeat(Number(l[1]))} ${s}`);else{let u=c.getAttribute("data-graview-field");o.push(u?`${u}: ${s}`:`- ${s}`),i.add(c)}}return o.join(`
2
+ `)}function ut(n,r){let{store:o}=n,i=c=>Object.fromEntries(Object.entries(c).filter(([,l])=>l!==void 0&&typeof l!="object").map(([l,s])=>[l,typeof s=="string"?s.slice(0,80):s]));return{kinds:(r.kind?[r.kind]:o.schema.kinds.slice(0,6)).map(c=>{let l=o.graph.nodesOfKind(c),s=o.schema.tryDefinition(c);return{kind:c,count:l.length,fields:Object.keys(s?.fields?.shape??{}),relations:Object.keys(s?.edges??{}),some:(r.record?l.filter(u=>u.id===r.record):l.slice(0,3)).map(i)}})}}function ft(n,r){let o=n.store.schema,i=new Set,d=new Set;for(let c of o.definitions)for(let[l,s]of Object.entries(c.edges??{})){let u=Array.isArray(s?.to)?s.to:[];if(r.kind===void 0||c.kind===r.kind||u.includes(r.kind)){d.add(l);for(let P of[c.kind,...u])P!==r.kind&&o.tryDefinition(P)&&i.add(P)}}if(r.kind===void 0)for(let c of o.kinds)i.add(c);return{kinds:[...i],edges:[...d]}}var Ue={manifest:"The view could not start: what it reads is not this app's.",source:"The script is too long: make it shorter.",start:"The script did not start: it must be one plain script, with no syntax errors, that calls graview.onProps and graview.render.",error:"The script threw while drawing: read only what props gives (props.nodes for a list, props.node for one record), guard each value that may be missing, and call no function that does not exist."};async function We(n,r,o=15e3){let i=Date.now()+o;for(;Date.now()<i;){for(let c of document.querySelectorAll("[data-worker-view-place]")){let l=$e(c),s=l?.name===n?l.drawing().root:void 0;if(l&&c.isConnected&&s?.isConnected&&s.childElementCount>0&&(r===void 0||await l.source()===r))return{element:c,handle:l}}let d=document.querySelector(`[data-worker-view-fell-back="${CSS.escape(n)}"]`);if(d)return{failed:Ue[d.getAttribute("data-worker-view-failed")??""]??Ue.error};await dt(80)}return{failed:"The view did not draw in time: keep it simple and quick to draw."}}var pe=new Map,pt=(n,r)=>{let o=pe.get(n);return o||pe.set(n,o={phase:r(),steps:[],before:!1,putBack:null,began:!1,original:null,markup:null,talk:[],events:[],since:Date.now(),stop:null,covering:!1,pointed:null,about:null,kept:null,pressed:null,version:0,heard:new Set}),o};function he(n,r){return r.record?[n.graph.getNode(r.record)].filter(o=>o!==void 0):r.kind?n.graph.nodesOfKind(r.kind):n.schema.kinds.flatMap(o=>n.graph.nodesOfKind(o))}var Y=(n,r)=>r?Re(n.schema.tryDefinition(r.kind),r):"";function gt(n,r,o){let i=T(o).toLowerCase();return he(n,r).map(d=>Y(n,d)).filter(d=>d.length>1&&i.includes(T(d).toLowerCase())).slice(0,40)}function ze(n,r){let o=r.kind?[r.kind]:n.schema.kinds,i=[...new Set(o.flatMap(c=>Object.keys(n.schema.tryDefinition(c)?.fields?.shape??{})))],d={};for(let c of he(n,r).slice(0,400))for(let l of i){let s=c[l];if(s==null||typeof s=="object")continue;let u=d[l]??=[];u.length<60&&!u.includes(s)&&u.push(s)}return{fields:i,values:d}}function Ct({ask:n,close:r}){let o=Ce(),{ai:i,aiDesk:d,aiHere:c,session:l,principal:s,keptViews:u,store:D,onProposeChange:P,composeChange:w,onDraftChange:O,app:q}=o,a=n.part,e=(0,g.useMemo)(()=>pt(n.at,()=>n.mode==="highlight"?{at:"highlighting"}:{at:"open"}),[n]),H=(0,g.useCallback)(t=>(e.heard.add(t),()=>void e.heard.delete(t)),[e]),S=(0,g.useSyncExternalStore)(H,()=>e.phase,()=>e.phase),Ye=(0,g.useSyncExternalStore)(H,()=>e.version,()=>e.version),A=(0,g.useCallback)(()=>{e.version+=1,e.heard.forEach(t=>t())},[e]),k=(0,g.useCallback)(t=>{e.phase=t,A()},[e,A]),x=(0,g.useCallback)(async()=>{let t=e.putBack;e.putBack=null,t&&await t()},[e]),Z=(0,g.useCallback)(()=>{e.stop?.abort(),e.stop=null,x(),pe.delete(n.at),r()},[x,n.at,r,e]),b=(0,g.useCallback)(()=>a.main?.isConnected?a.main:yt(),[a]),G={name:a.name,slot:a.slot,...a.kind?{kind:a.kind}:{},...a.group?{group:a.group}:{}},me=a.place??(a.kind?`${a.kind}-${a.slot}`:"home"),Ze=n.fromScene?`From the scene: Better UI changes how \u201C${a.name}\u201D looks on its page here, for everyone in this app.`:`This changes how ${a.name} looks for everyone in this app.`,M=(0,g.useCallback)((t,f,p,h={})=>({id:De(),at:new Date().toISOString(),by:s,target:{on:"place",place:me},targetLabel:a.name,ask:{kind:"section",said:t},offered:[],outcome:f,stages:p.map(m=>({stage:m.stage,ms:m.ms,model:m.model})),usage:p.flatMap(m=>m.usage?[{tier:m.stage==="light"?"fast":"thinking",model:m.model,inputTokens:m.usage.inputTokens,outputTokens:m.usage.outputTokens}]:[]),...h}),[s,me,a.name]),we=P!==void 0&&w!==void 0&&Ee(D,s),B=(0,g.useMemo)(()=>kt(o,a),[o,a]),C=Le(G,ft(o,a),B.map(t=>t.act)),ke=C!==void 0&&typeof u?.fork=="function"&&typeof u.draftFork=="function"&&u.current().may.views===!0,ye=a.slot==="record"?{page:"record",kind:a.kind}:a.slot==="home"?{page:"home"}:{page:"list",kind:a.kind??""},V=(0,g.useCallback)(t=>({manifest:C,source:t,from:ye,said:""}),[C,ye]),ve=S.at==="working";(0,g.useEffect)(()=>{if(!ve)return;let t=a.record??(a.kind?`kind:${a.kind}`:null);return c({participant:`agent:graview-for-${s.id??"anyone"}:${l}`,kind:"agent",name:"Graview",...s.id?{onBehalfOf:s.id}:{},over:t,robot:{at:t,mode:"thinking"}}),()=>c(null)},[ve]);let $=(0,g.useCallback)(()=>{if(e.original)return e.original;let t=b(),f=t?.innerText??"";return e.original=Q(X(t),gt(o.store,a,f||(t?.textContent??""))),e.original},[e,b,o,a]),I=(0,g.useCallback)(()=>Q(X(b()),$().records.map(t=>t.label)),[b,$]),K=(0,g.useCallback)(async t=>{if(await x(),t.kind==="spec"){let f=await O(Je(t.edits,t.said,i.name));e.putBack=f.undo}else u.draftFork(V(t.source)),e.putBack=()=>u.draftFork(null)},[x,O,e,u,V,i.name]),L=(0,g.useCallback)(async()=>{let t=e.steps.at(-1);e.before=!1,t?await K(t):await x()},[e,K,x]),v=(0,g.useCallback)((t,f)=>{e.talk.push({who:t,said:f}),A()},[e,A]),F=(0,g.useCallback)(t=>{e.events.at(-1)?.kind==="streaming"&&e.events.pop(),e.events.push(t),A()},[e,A]),U=()=>e.talk.filter(t=>t.who==="person").map(t=>t.said).join(" "),be=(0,g.useCallback)(async t=>{if(!we||!O)return!1;let p=(await (__graviewPreload(import.meta.url,["./chunk.VDFQFLTU.js","./chunk.TBY5IR7C.js","./chunk.BIDL7GQD.js","./chunk.Q5WEOX3Q.js","./chunk.4O64QV2Y.js","./chunk.OYMN3IFX.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.F6MY6WJ4.js"))).documentOfApp(q??{});if(!p)return!1;let h=e.steps.at(-1);if(h&&h.kind!=="spec")return!1;let m=h?.edits??[],y=m.length>0?w({document:p,edits:m}):void 0,j=y?.ok?y.document:p;if(!(t.mode==="just"?{can:!0}:await Ne(i,t.words,G)).can)return!1;F({kind:"look",text:`Looking at how ${a.name} is set up`});let E=[],ne=await Ie({ai:i,document:j,part:G,mode:t.mode==="choose"?"just":t.mode,...t.words?{words:t.words}:{},...t.pointed?{highlighted:[t.pointed.name,...t.pointed.lines]}:{},shows:lt(b(),30),judge:async W=>{let _=w({document:p,edits:[...m,...W]});return _.ok?(E=_.said,[]):[_.refused]}});if(!ne.ok)return!1;let at=[...m,...ne.edits],Oe=M(`Make \u201C${a.name}\u201D better: ${t.words}`,"offered",ne.stages),oe=_e(b()),re={kind:"spec",edits:at,said:E[E.length-1]??E[0]??`${a.name} changed.`,entry:Oe};e.covering=!0,A();try{await K(re);let W=oe;for(let st=Date.now()+1500;Date.now()<st&&W===oe;)await fe(),W=_e(b());let _=W===oe?["nothing changed"]:se($(),I(),{...ze(o.store,a),asked:U()});if(_.length>0)return await L(),d.record({...Oe,outcome:"failed",failed:_.join(" ")}),!1}catch{return await L(),!1}finally{e.covering=!1,A()}return e.steps.push(re),e.before=!1,F({kind:"passed",text:"Changed its settings \u2014 it's on the page"}),v("graview",`Done: ${re.said.replace(/\.$/,"")}.`),!0},[i,d,q,w,M,e,o,b,O,$,I,a,G,K,L,we,F,v,A]),Se=(0,g.useCallback)(async t=>{if(!C||!u?.draftFork)return{findings:["This page cannot be drawn anew here."],drew:void 0};let f=$();e.covering=!0,A();try{u.draftFork(V(t)),e.putBack=()=>u.draftFork(null);let p=await We(C.name,t),h;if("failed"in p)h=[p.failed];else{let y=[...await p.handle.check(t),...p.handle.refused().filter(j=>!/^Refused a rule of the stylesheet\b/.test(j))];if(y.length>0)h=y;else{await fe(),await fe();let j=p.element.closest("[data-graview-page-main], main")??X(b());h=se(f,Q(j,f.records.map(E=>E.label)),{...ze(o.store,a),asked:U()});let R=p.handle.presses?await p.handle.presses(t).catch(()=>{}):void 0;R&&(e.pressed=R,h=[...h,...ie(R,Xe(f,ge(o,a,f)),B.filter(E=>E.toggle).map(E=>E.act),z(a))])}}let m=le(I());if(h.length===0){let y=M(`Draw \u201C${a.name}\u201D anew: ${U()}`,"offered",[]);e.steps.push({kind:"view",source:t,said:Be(a.name,f,I())??`${a.name} has a new design. Compare Before and After.`,entry:y}),e.before=!1}else await L();return{findings:h,drew:m}}finally{e.covering=!1,A()}},[C,u,$,e,A,V,I,o,a,M,L]),Pe=(0,g.useCallback)(async(t=[])=>{if(!C||!ke){v("graview","Its settings can't do that, and a new design can't be drawn for it here.");return}let f=new AbortController;e.stop=f,e.markup??=Qe(b());let p=e.steps.length,h=[...e.steps].reverse().find(y=>y.kind==="view"),m=await He({ai:i,part:G,manifest:C,talk:e.talk,keep:ht($(),b(),a.name,o,a),...e.markup?{markup:e.markup}:{},...h?{current:h.source}:e.kept?{current:e.kept}:{},host:{look:()=>le(I()),read:()=>ut(o,a),draft:Se},onEvent:y=>F(y),...e.about?{about:e.about}:{},acts:B,...t.length>0?{pressed:t}:{},noun:z(a),signal:f.signal});if(e.stop===f){if(e.stop=null,e.events.at(-1)?.kind==="streaming"&&e.events.pop(),d.record(M(`Draw \u201C${a.name}\u201D anew: ${U()}`,e.steps.length>p?"offered":"failed",m.stages,e.steps.length>p?{}:{failed:m.last?.findings.join(" ")??m.said})),m.passed){let y=e.pressed?de(e.pressed,B,z(a)):void 0,j=Fe.test(m.said)?void 0:m.said;v("graview",[j??(y?void 0:"Here it is on the page."),y].filter(Boolean).join(" "))}else v("graview",m.said);m.ended==="stuck"&&k({at:"stuck",...m.keepable&&m.last?{source:m.last.source}:{}})}},[i,d,B,I,M,ke,e,o,Se,b,C,$,a,G,v,k,F]),Ae=(0,g.useCallback)(async()=>{let f=[...e.steps].reverse().find(R=>R.kind==="view")?.source??e.kept;if(!f||!C)return[];F({kind:"look",text:"Pressing every control on the page"});let p=await We(C.name);if("failed"in p||!p.handle.presses)return[];let h=await p.handle.presses(f).catch(()=>{});if(!h)return[];e.pressed=h;let m=$(),y=ie(h,Xe(m,ge(o,a,m)),B.filter(R=>R.toggle).map(R=>R.act),z(a)),j=y.length>0?y:h.controls.slice(0,8).map(R=>`${R.control}: ${R.says}`);return F(y.length>0?{kind:"check",text:`Check: ${y.length} ${y.length===1?"control doesn't":"controls don't"} work \u2014 fixing`}:{kind:"passed",text:"Check: every control works"}),v("graview",y.length>0?`I pressed every control: ${y.join(" ")}`:`I pressed every control. ${de(h,B,z(a))??"Each one did what it says."}`),j},[B,e,o,C,$,a,v,F]),J=(0,g.useCallback)(async(t,f="describe")=>{if(e.phase.at==="working")return;let p=e.pointed;e.pointed=null;let h={mode:f,words:t,...p?{pointed:p}:{}};e.about=p??e.about,v("person",t),e.events=[],e.since=Date.now(),k({at:"working"}),$(),e.markup??=Qe(b());let m=ce.test(t)?await Ae().catch(()=>[]):[];!ce.test(t)&&await be(h).catch(()=>!1)||await Pe(m),e.phase.at==="working"&&k(e.steps.length>0?{at:"draft"}:{at:"open"})},[Pe,be,e,b,$,Ae,v,k]),ee=(0,g.useCallback)(()=>{if(e.phase.at!=="working")return;let t=e.stop;e.stop=null,t?.abort(),e.covering=!1,e.steps=e.steps.filter(f=>f.entry.at<new Date(e.since).toISOString()),L(),v("graview","Stopped. The page is as it was."),k(e.steps.length>0?{at:"draft"}:{at:"open"})},[e,v,k,L]),et=(0,g.useCallback)(async t=>{let f=e.steps.at(-1);!f||t===e.before||(e.before=t,A(),t?await x():await K(f))},[e,x,K,A]),te=(0,g.useCallback)(async()=>{let t=e.steps.at(-1);if(!(!t||e.phase.at!=="draft")){k({at:"keeping"});try{let f,p;if(t.kind==="spec"){await x();let h=await P(Je(t.edits,t.said,i.name));if(h==="declined")return v("graview","It wasn't kept."),k({at:"draft"});typeof h=="object"&&([f,p]=[h.undo,h.note])}else{let h=await u.fork(V(t.source));e.putBack=null,u.draftFork?.(null),e.kept=t.source,h&&([f,p]=[h.undo,h.note])}d.record({...t.entry,outcome:"accepted"}),e.steps=[],e.before=!1,k({at:"kept",...f?{undo:f}:{},...p?{note:p}:{}})}catch{v("graview","It couldn't be kept."),k({at:"draft"})}}},[e,k,x,P,i.name,u,V,d,v]),tt=(0,g.useCallback)(async t=>{if(e.phase.at!=="stuck")return;let f={kind:"view",source:t,said:`${a.name} kept as it was last drafted.`,entry:M(`Draw \u201C${a.name}\u201D anew: ${U()}`,"offered",[])};e.steps.push(f),e.phase={at:"draft"},await te(),e.steps.at(-1)===f&&(e.steps.pop(),k(e.steps.length>0?{at:"draft"}:{at:"open"}))},[e,a.name,M,te,k]),nt=(0,g.useCallback)(()=>{v("graview","Stopped. The page is as it was."),k(e.steps.length>0?{at:"draft"}:{at:"open"})},[e,v,k]),ot=(0,g.useCallback)(()=>{let t=e.steps.at(-1);t&&d.record({...t.entry,outcome:"dismissed"}),e.steps=[],e.before=!1,x(),v("graview","Put back as it was."),k({at:"open"})},[e,d,x,v,k]),rt=(0,g.useCallback)(async()=>{if(!(e.phase.at!=="kept"||!e.phase.undo))try{await e.phase.undo(),e.kept=null,v("graview","Undone. The page is as it was."),k({at:"undone"})}catch{v("graview","It couldn't be put back.")}},[e,v,k]);if((0,g.useEffect)(()=>{e.began||!(n.mode==="just"||n.mode==="describe"&&n.words)||(e.began=!0,J(n.mode==="just"?"Make it easier to read at a glance":n.words,n.mode))},[e,n.mode,n.words,J]),(0,g.useEffect)(()=>{let t=f=>{if(f.key!=="Escape"||e.phase.at==="highlighting")return;if(f.preventDefault(),e.phase.at==="working")return ee();Z();let p=n.returnTo?.isConnected?n.returnTo:document.querySelector("[data-graview-page-title], main h1");p&&!p.hasAttribute("tabindex")&&!p.matches("a[href], button, input, select, textarea")&&p.setAttribute("tabindex","-1"),p?.focus?.()};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,Z,ee,n.returnTo]),S.at==="highlighting")return(0,N.jsx)(Ke,{box:b(),root:b(),whole:a.elements,wholeSaid:"The whole page",cancel:()=>k({at:"open"}),chose:t=>{e.pointed={name:Me(t)??je(t.map(ue)),lines:qe(t.map(ue))},k({at:"open"})}});let Te=e.steps.at(-1);return(0,N.jsxs)(N.Fragment,{children:[e.covering?(0,N.jsx)(Ge,{over:b(),name:a.name,said:`Graview is drafting \u201C${a.name}\u201D\u2026`}):null,(0,N.jsx)(Ve,{name:a.name,scope:Ze,phase:S.at,talk:e.talk,steps:e.events,since:e.since,working:S.at==="working"||S.at==="keeping",...Te&&S.at==="draft"?{draft:{said:Te.said,before:e.before}}:{},...S.at==="kept"?{kept:{...S.note?{note:S.note}:{},...S.undo?{undo:()=>void rt()}:{}}}:{},...S.at==="stuck"?{stuck:{...S.source!==void 0?{keepAnyway:()=>void tt(S.source)}:{},stop:nt}}:{},about:(e.pointed??e.about)?.name??a.name,ask:t=>void J(t),just:()=>void J("Make it easier to read at a glance","just"),point:()=>k({at:"highlighting"}),stop:ee,compare:t=>void et(t),keep:()=>void te(),discard:ot,close:Z})]})}function Je(n,r,o){return{said:r,add:[],drop:[],card:{said:r,adds:[],keeps:[],drops:[],breaking:[]},edits:n,via:`ai:${o??"model"}`}}function ht(n,r,o,i,d){let c=X(r),l=d.slot==="home"?[...r?.querySelectorAll("h1")??[]].find(w=>c!==r&&!c?.contains(w)):void 0,s=T(l?.textContent)||T(c?.querySelector("[data-graview-page-title]")?.textContent)||(d.slot==="home"?"":T(c?.querySelector("h1")?.textContent))||(d.record?T(Y(i.store,i.store.graph.getNode(d.record))):"")||o,u=ge(i,d,n),D=Object.fromEntries(n.records.flatMap(w=>w.facts?.length||w.under&&w.under!==s?[[w.label,{...u[w.label]?{id:u[w.label]}:{},...w.facts?.length?{shows:w.facts}:{},...w.under&&w.under!==s?{under:w.under}:{}}]]:[])),P=wt(i,n,u,s);return{title:s,headings:n.headings.filter(w=>w!==s),records:n.records.map(w=>w.label),...Object.keys(D).length>0?{says:D}:{},...P?{grouping:P}:{}}}function mt(n,r,o){let i=he(n,r),d={};for(let c of o.records){let l=i.find(s=>T(Y(n,s))===T(c.label));l&&(d[c.label]=l.id)}return d}var ge=(n,r,o)=>mt(n.store,r,o);function wt(n,r,o,i){let{store:d}=n,c=r.records.filter(O=>O.under&&O.under!==i&&o[O.label]);if(c.length<2)return;let l=d.graph.allEdges(),s=new Map;for(let O of c){let q=o[O.label];for(let a of l){let e=a.from===q?a.to:a.to===q?a.from:void 0,H=e!==void 0?d.graph.getNode(e):void 0;if(!H||T(Y(d,H))!==T(O.under))continue;let S=`${a.kind}\0${H.kind}\0${a.from===q?"from":"to"}`;s.set(S,(s.get(S)??0)+1)}}let u=[...s].sort((O,q)=>q[1]-O[1])[0];if(!u||u[1]<c.length/2)return;let[D,P,w]=u[0].split("\0");return{edge:D,kind:P,record:w}}var X=n=>n?.querySelector("main")??n;function Qe(n){if(!n?.isConnected)return null;let r=(n.querySelector("main")??n).cloneNode(!0);for(let i of r.querySelectorAll("[data-graview-listed], [data-graview-record]")){let d=i.querySelector("a[href]");d&&d.setAttribute("data-record",i.getAttribute("data-graview-listed")??i.getAttribute("data-graview-record")??"")}for(let i of r.querySelectorAll("a[aria-label]"))T(i.textContent)||(i.textContent=i.getAttribute("aria-label"));for(let i of r.querySelectorAll("script, style, svg, button, input, select, textarea, [hidden], [aria-hidden='true'], [data-graview-popover]"))i.remove();for(let i of[r,...r.querySelectorAll("*")])for(let d of[...i.getAttributeNames()])d==="data-record"&&i.localName==="a"||i.removeAttribute(d);let o=r.outerHTML.replace(/\s+/g," ").replace(/<(div|span)>\s*<\/\1>/g,"").trim();return o.length>6e3?o.slice(0,6e3):o}var z=n=>n.slot==="list"||n.slot==="group"?n.name.toLowerCase():n.slot==="record"?"parts":"records";function Xe(n,r){return n.records.flatMap(o=>r[o.label]?[{label:o.label,id:r[o.label],...o.presses?{presses:!0}:{},...o.opens?{opens:!0}:{}}]:[])}function kt(n,r){let{store:o}=n,i=r.kind?[r.kind]:o.schema.kinds,d=l=>o.schema.tryDefinition(l)?.fields?.shape??{},c=l=>{let s=l?._zod?.def;for(let u=0;u<6&&s&&s.type!=="boolean"&&s.innerType!==void 0;u++)s=s.innerType._zod?.def;return s?.type==="boolean"};return o.allMutations().flatMap(l=>{let s=l.subject;if(!s||l.creates?.length)return[];let u=i.find(w=>s.kinds==="*"||s.kinds.includes(w));if(!u)return[];let D=l.writes??[],P=D.length===1&&c(d(u)[D[0]])?D[0]:void 0;return[{act:l.name,title:String(l.title??l.name),record:s.arg,...P?{toggle:P}:{}}]}).slice(0,24)}function yt(){return document.querySelector("[data-graview-page-main], main")??document.querySelector("[data-graview-face]")}export{Ct as PageCard,_e as drawnSignature,ze as fieldsShownOf,gt as labelsShown,Qe as markupOf,lt as outlineOf,mt as recordIdsOf};
@@ -1 +1 @@
1
- import{$ as v,Jb as w,L as p,Mb as B,Ob as O,R as m,U as b,Y as h,sa as k}from"./chunk.IUVRJDL3.js";function $(e,t){return e.ops.length>0&&e.ops.every(n=>n.suggests!==void 0||n.undoes!==void 0&&t(n.undoes)?.suggests!==void 0&&!O(n,t(n.undoes)))}var l=e=>[...e].length;function A(e){let t,n=0,o=0;for(let i of e.ops){let d=i.mutation?.name===w&&i.withheld!==!0&&i.undoes===void 0?i.mutation.args:void 0;if(typeof d?.node!="string"||typeof d.field!="string"||t&&(t.node!==d.node||t.field!==d.field))return;t={node:d.node,field:d.field};for(let r of i.primitives)r.op==="splice-text"?(n+=l(r.inserted),o+=l(r.removed)):r.op==="patch-node"&&typeof r.after[d.field]=="string"&&(n+=l(r.after[d.field]))}return t&&{...t,inserted:n,removed:o}}function W(e,t,n){let o=n.getNode(e.node)?.kind,i=[...e.inserted>0||e.removed===0?[`+${e.inserted}`]:[],...e.removed>0?[`\u2212${e.removed}`]:[]];return`Wrote in ${k(o?t.tryDefinition(o):void 0,e.field)} (${i.join(" ")})`}var c=e=>JSON.stringify([e.kind,e.id??"",e.name??"",...e.profile?[e.profile.id]:[]]),R=e=>e.ops.find(t=>t.lineage?.run!==void 0)?.lineage?.run;function P(e,t=()=>{}){let n=[];for(let o of e){if($(o,t))continue;if(!B(o.author)){let s=A(o),a=n.at(-1),f=s&&a&&"batch"in a&&c(a.batch.author)===c(o.author)&&a.typed?.node===s.node&&a.typed.field===s.field?a.typed:void 0;f?n[n.length-1]={batch:o,typed:{...f,batches:[...f.batches,o],inserted:f.inserted+s.inserted,removed:f.removed+s.removed}}:n.push(s?{batch:o,typed:{batches:[o],...s}}:{batch:o});continue}let i=R(o),d=c(o.author),r=i!==void 0?n.findIndex(s=>"digest"in s&&s.digest.run===i&&c(s.digest.author)===d):n.length-1,u=n[r],g=u!==void 0&&"digest"in u&&c(u.digest.author)===d&&u.digest.run===i?u.digest:void 0,y=[...g?.batches??[],o];g&&n.splice(r,1),n.push({digest:{author:o.author,batches:y,things:T(y),at:o.at,...i!==void 0?{run:i}:{}}})}return n}var T=e=>e.reduce((t,n)=>t+(n.undone?0:n.ops.length),0),x=e=>{let t=Date.parse(e);if(Number.isNaN(t))return!1;let{minutes:n}=b(t,m());return n<6*60||n>=21*60};function j(e,t=h(new Date().toISOString())??p()){let n=h(e.at)??e.at.slice(0,10),i=e.run!==void 0&&n===t&&[e.at,...(e.batches??[]).map(r=>r.at)].every(x)?"overnight":n===t?"today":`on ${v(n)}`,d=e.things===1?"one thing":`${e.things} things`;return e.author?.id?.startsWith("workflow:")&&e.author.name?`${e.author.name}: ${d} ${i}`:`Tidied ${d} ${i}`}export{W as a,P as b,j as c};
1
+ import{$ as v,Jb as w,L as p,Mb as B,Ob as O,R as m,U as b,Y as h,sa as k}from"./chunk.6L6RUOSF.js";function $(e,t){return e.ops.length>0&&e.ops.every(n=>n.suggests!==void 0||n.undoes!==void 0&&t(n.undoes)?.suggests!==void 0&&!O(n,t(n.undoes)))}var l=e=>[...e].length;function A(e){let t,n=0,o=0;for(let i of e.ops){let d=i.mutation?.name===w&&i.withheld!==!0&&i.undoes===void 0?i.mutation.args:void 0;if(typeof d?.node!="string"||typeof d.field!="string"||t&&(t.node!==d.node||t.field!==d.field))return;t={node:d.node,field:d.field};for(let r of i.primitives)r.op==="splice-text"?(n+=l(r.inserted),o+=l(r.removed)):r.op==="patch-node"&&typeof r.after[d.field]=="string"&&(n+=l(r.after[d.field]))}return t&&{...t,inserted:n,removed:o}}function W(e,t,n){let o=n.getNode(e.node)?.kind,i=[...e.inserted>0||e.removed===0?[`+${e.inserted}`]:[],...e.removed>0?[`\u2212${e.removed}`]:[]];return`Wrote in ${k(o?t.tryDefinition(o):void 0,e.field)} (${i.join(" ")})`}var c=e=>JSON.stringify([e.kind,e.id??"",e.name??"",...e.profile?[e.profile.id]:[]]),R=e=>e.ops.find(t=>t.lineage?.run!==void 0)?.lineage?.run;function P(e,t=()=>{}){let n=[];for(let o of e){if($(o,t))continue;if(!B(o.author)){let s=A(o),a=n.at(-1),f=s&&a&&"batch"in a&&c(a.batch.author)===c(o.author)&&a.typed?.node===s.node&&a.typed.field===s.field?a.typed:void 0;f?n[n.length-1]={batch:o,typed:{...f,batches:[...f.batches,o],inserted:f.inserted+s.inserted,removed:f.removed+s.removed}}:n.push(s?{batch:o,typed:{batches:[o],...s}}:{batch:o});continue}let i=R(o),d=c(o.author),r=i!==void 0?n.findIndex(s=>"digest"in s&&s.digest.run===i&&c(s.digest.author)===d):n.length-1,u=n[r],g=u!==void 0&&"digest"in u&&c(u.digest.author)===d&&u.digest.run===i?u.digest:void 0,y=[...g?.batches??[],o];g&&n.splice(r,1),n.push({digest:{author:o.author,batches:y,things:T(y),at:o.at,...i!==void 0?{run:i}:{}}})}return n}var T=e=>e.reduce((t,n)=>t+(n.undone?0:n.ops.length),0),x=e=>{let t=Date.parse(e);if(Number.isNaN(t))return!1;let{minutes:n}=b(t,m());return n<6*60||n>=21*60};function j(e,t=h(new Date().toISOString())??p()){let n=h(e.at)??e.at.slice(0,10),i=e.run!==void 0&&n===t&&[e.at,...(e.batches??[]).map(r=>r.at)].every(x)?"overnight":n===t?"today":`on ${v(n)}`,d=e.things===1?"one thing":`${e.things} things`;return e.author?.id?.startsWith("workflow:")&&e.author.name?`${e.author.name}: ${d} ${i}`:`Tidied ${d} ${i}`}export{W as a,P as b,j as c};
@@ -1 +1 @@
1
- import{d as K}from"./chunk.MYR36HW4.js";import{Ac as X,Bb as G,Dc as B,Jb as h,Kb as v,Rc as $,Sc as N,Xb as V,h as P,k as R,q as I,va as q,x as _,zc as Y}from"./chunk.IUVRJDL3.js";import{a as T,c as C,h as L}from"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var te=Symbol.for("@graview/core:markdown"),ne=500;function ie(e){let n=e;for(let i=0;i<6;i++){let t=N(n);if(!t)return!1;if(t[$]!==void 0)return t[$]===1;if(t[te]===1)return!0;if(t.type==="string")return(t.checks??[]).some(s=>{let f=N(s);return f?.check==="max_length"&&(f.maximum??0)>ne});if(t.innerType===void 0)return!1;n=t.innerType}return!1}function O(e,n,i){if(n===void 0||i==="id"||i==="kind")return!1;let t=e.tryDefinition(n)?.fields?.shape;return!!t&&Object.prototype.hasOwnProperty.call(t,i)&&ie(t[i])}var re=e=>e>=55296&&e<=56319,oe=e=>e>=56320&&e<=57343;function S(e,n){let i=Math.min(e.length,n.length),t=0;for(;t<i&&e.charCodeAt(t)===n.charCodeAt(t);)t++;t>0&&re(e.charCodeAt(t-1))&&t--;let s=0;for(;s<i-t&&e.charCodeAt(e.length-1-s)===n.charCodeAt(n.length-1-s);)s++;return s>0&&oe(e.charCodeAt(e.length-s))&&s--,{at:t,removed:e.slice(t,e.length-s),inserted:n.slice(t,n.length-s)}}var w=e=>e.at+e.removed.length;function H(e){let n=S(e.removed,e.inserted);return{...n,at:e.at+n.at}}function U(e,n,i){if(w(e)<n.at)return e;if(e.at>w(n))return{...e,at:e.at+n.inserted.length-n.removed.length};let t=Math.min(e.at,n.at),s=w(e)-w(n),f=e.removed.slice(0,n.at-t)+n.inserted+(s>0?e.removed.slice(e.removed.length-s):""),r=n.at<e.at||n.at===e.at&&i;return H({at:t,removed:f,inserted:r?n.inserted+e.inserted:e.inserted+n.inserted})}function b(e,n){return[U(e,n,!1),U(n,e,!0)]}function D(e,n){let i=e.at+e.inserted.length;if(w(n)<e.at||n.at>i)return;let t=Math.min(e.at,n.at),s=w(n)-i,f=n.removed.slice(0,e.at-t),r=s>0?n.removed.slice(n.removed.length-s):"",l=T(f+e.inserted+r,{...n,at:n.at-t});return H({at:t,removed:f+e.removed+r,inserted:l})}function M(e,n,i){switch(e.op){case"patch-node":return e.id===n&&Object.prototype.hasOwnProperty.call(e.after,i);case"add-node":case"remove-node":return e.node.id===n;default:return!1}}function j(e,n,i){if(e.op!=="patch-node"||e.id!==n||!Object.prototype.hasOwnProperty.call(e.after,i))return;let t=e.before[i],s=e.after[i];return typeof s=="string"&&(t===void 0||t===""||C(t))?{at:0,removed:"",inserted:s}:void 0}var J=(e,n,i)=>e.flatMap(t=>t.op==="splice-text"&&t.id===n&&t.field===i?[t]:[]);function E(e,n,i,t,s,f){if(typeof f!="string"||s<n-1)return;let r=[];for(let o of e)if(!(o.seq<=s))for(let p of o.primitives){let a=j(p,i,t);if(a){r.push(a);continue}if(M(p,i,t))return;p.op==="splice-text"&&p.id===i&&p.field===t&&r.push(p)}let l=f;try{for(let o=r.length-1;o>=0;o--){let p=r[o];l=T(l,{at:p.at,removed:p.inserted,inserted:p.removed})}}catch{return}return{then:l,since:r}}function A(e,n){let i=e;for(let t of n)i=b(t,i)[1];return{at:i.at,removed:i.removed,inserted:i.inserted}}function Q(e,n,i){let t=i?A(S(i.then,n),i.since):S(e,n);return t.removed===""&&t.inserted===""?void 0:t}function Z(e){let n=e.schema,i=t=>{throw new V(t,"invalid")};return{name:h,title:"Type text",input:I({node:P(),field:P(),at:R(),remove:R(),insert:P(),rev:_(R())}),subject:{kinds:"*",arg:"node"},writes:[],describe:(t,s)=>{let{node:f,field:r,insert:l,remove:o}=t;return K({node:f,field:r,inserted:[...String(l??"")].length,removed:Number(o)||0},n,s)},apply(t,s){let{node:f,field:r,at:l,remove:o,insert:p,rev:a}=s;(![l,o,a??0].every(k=>Number.isInteger(k)&&k>=-1)||l<0||o<0)&&i("at and remove are whole numbers, none below 0, and rev a revision");let d=t.graph.getNode(f);if(!d)throw new G(f,"\u201CType text\u201D names a record that is not there.");if(O(n,d.kind,r)||i(`${q(n.tryDefinition(d.kind),d.kind)}'s "${r}" is not text typed together: write it whole, as its edit does`),o===0&&p==="")return;let c=d[r];if(typeof c!="string"||c===""){t.patchNode(f,{[r]:p});return}let g=e.graph.getNode(f)?.[r],m=a===void 0?{then:c,since:[]}:E(e.log.all(),e.log.horizon,f,r,Math.max(a,-1),g);m||i(`${r} was written whole since revision ${a}: read it again and type over what it holds now`);let{then:u,since:y}=m;l+o>u.length&&i(`${r} held ${u.length} characters at revision ${a??"now"}, so there is nothing at ${l}${o>0?`\u2013${l+o}`:""} to type over`);let x=A({at:l,removed:u.slice(l,l+o),inserted:p},y);x.removed===""&&x.inserted===""||t.emit({op:"splice-text",id:f,field:r,...x})}}}function ee(e,n,i,t,s=()=>!0){let f=i===void 0?void 0:e.tryDefinition(i);if(!f||typeof t!="string")return[];let r=new Set;for(let l of n)if(!(l.name===h||!Y(e,l).includes(i)||!X(l,f).includes(t))&&s(l)){r.add(l.name);for(let o of B(e,n,l)??[])r.add(o)}return[...r]}function se(e,n,i){if(!n.some(r=>r.op==="patch-node"))return[...n];let t=new Set,s=new Set,f=[];for(let r of n){if(r.op==="add-node"&&t.add(r.node.id),r.op!=="patch-node"||t.has(r.id)){r.op==="splice-text"&&s.add(`${r.id}\0${r.field}`),f.push(r);continue}let l=e.graph.getNode(r.id),o={},p={},a=[];for(let[d,c]of Object.entries(r.after)){let g=l?.[d],m=`${r.id}\0${d}`;if(typeof c=="string"&&typeof g=="string"&&g!==""&&!s.has(m)&&O(e.schema,l?.kind,d)){let u=i?.find(x=>x.node===r.id&&x.field===d),y=Q(g,c,u?E(e.log.all(),e.log.horizon,r.id,d,u.rev,g):void 0);if(y){a.push({op:"splice-text",id:r.id,field:d,...y}),s.add(m);continue}}o[d]=r.before[d],p[d]=c,s.add(m)}Object.keys(p).length>0&&f.push(a.length>0?{op:"patch-node",id:r.id,before:o,after:p}:r),f.push(...a)}return f}function de(e,n){let i=[];return[...n].sort((t,s)=>s.seq-t.seq).map(t=>{let s=L(t);if(!s.some(o=>o.op==="splice-text"))return i.push(...s),{op:t,primitives:s};let f=e.filter(o=>o.seq>t.seq).flatMap(o=>o.primitives),r=t.primitives.length,l=[];return s.forEach((o,p)=>{if(o.op!=="splice-text")return void l.push(o);let a=A(o,J([...t.primitives.slice(r-p),...f,...i,...l],o.id,o.field));(a.removed!==""||a.inserted!=="")&&l.push({op:"splice-text",id:o.id,field:o.field,...a})}),i.push(...l),{op:t,primitives:l}})}function ae(e,n){let i=(t,s)=>e.some(f=>M(f,t,s));return n.undoes!==void 0&&n.primitives.length===0&&e.some(t=>t.op==="splice-text")||n.primitives.length>0&&n.primitives.every(t=>t.op==="splice-text"&&!i(t.id,t.field))?!0:e.flatMap(t=>t.op==="splice-text"&&n.primitives.some(s=>M(s,t.id,t.field))?[t.id]:[])}function le(e,n,i){let t=new Map,s=[],f=new Set;for(let a of e){let d=a.primitives[0],c=a.mutation?.args,g=a.mutation?.name!==h||a.primitives.length!==1||!d?void 0:d.op==="splice-text"?d:j(d,String(c?.node),String(c?.field));g?s.push({batch:a.batch,node:String(c?.node),field:String(c?.field),splice:g}):f.add(a.batch)}if(s.length===0)return t;let r=a=>`${a.node}\0${a.field}`,l=new Set,o=new Set(e.map(a=>a.batch).filter(a=>!i.includes(a))),p=s;for(let a of n){if(o.has(a.batch)){p=p.filter(d=>d.batch!==a.batch);continue}for(let d of a.primitives){if(d.op==="add-edge"||d.op==="remove-edge")continue;let c=d.op==="add-node"||d.op==="remove-node"?d.node.id:d.id;for(let g of new Set(p.filter(m=>m.node===c).map(m=>m.field))){let m=d.op==="splice-text"?d.field===g?d:void 0:j(d,c,g);for(let u of p)u.node!==c||u.field!==g||(m?[m,u.splice]=b(m,u.splice):M(d,u.node,u.field)&&l.add(r(u)))}}}p.forEach((a,d)=>{if(!o.has(a.batch))return;let c={at:a.splice.at,removed:a.splice.inserted,inserted:a.splice.removed};for(let g of p.slice(d+1))r(g)===r(a)&&([c,g.splice]=b(c,g.splice))});for(let a of i){let d=p.filter(c=>c.batch===a);d.length===0||f.has(a)||d.some(c=>l.has(r(c)))||t.set(a,d.map(c=>({name:h,args:{node:c.node,field:c.field,at:c.splice.at,remove:c.splice.removed.length,insert:c.splice.inserted}})))}return t}v.typeText=Z;v.via=ee;v.collaborative=O;v.asSplices=se;v.undone=de;v.aside=ae;v.carried=le;function Ye(e){let{store:n,author:i,pending:t,provisional:s,asked:f}=e,r=new Map,l=(o,p)=>{r.get(o)?.(p),r.delete(o)};return{store:n,apply:(o,p)=>e.appliedAll(o,{...i?{author:i}:{},...p!==void 0?{batch:p}:{}}),hold(o){t.push(o),s.add(o),e.answers.set(o,new Promise(p=>r.set(o,p)))},ask:(o,p)=>void f.set(o,{calls:p}),send(o,p){f.set(o,{calls:p});let a=e.sent(o,p),d=()=>l(o,a);return a.then(c=>{Array.isArray(c?.ops)&&c.ops.length===0&&e.letGo.add(o),d()},d),a},drop(o){e.letGo.add(o),e.settle(o),f.delete(o),e.land([],[o]),l(o)},seen:e.seen,gone:e.gone,ahead(o,p,a){let d=t.indexOf(o),c=n.log.all(),g=m=>c.some(u=>u.batch===m&&u.primitives.some(y=>y.op==="splice-text"&&y.id===p&&y.field===a||y.op==="patch-node"&&y.id===p&&a in y.after));return t.slice(0,Math.max(0,d)).flatMap(m=>{let u=e.answers.get(m);return u&&g(m)?[{batch:m,answer:u}]:[]})}}}var ce=400,pe=/[\s.,;:!?)\]}]$/u,W=e=>typeof e=="string"?e:"";function z(e,n,i,t){let s=e.log.all(),f=s.findIndex(o=>o.batch===n);if(f<0)return;let r=W(e.graph.getNode(i)?.[t]),l;for(let o=s.length-1;o>=f;o--){let p=s[o];p.batch===n&&l===void 0&&(l=r);for(let a=p.primitives.length-1;a>=0;a--){let d=p.primitives[a];d.op==="splice-text"&&d.id===i&&d.field===t?r=T(r,{at:d.at,removed:d.inserted,inserted:d.removed}):d.op==="patch-node"&&d.id===i&&t in d.after&&(r=C(d.before[t])?"":W(d.before[t]))}}if(!(l===void 0||l===r))return S(r,l)}function Xe(e,n,i){let t,s=[],f,r,l=!1,o=new Set,p=c=>({name:h,args:{node:e,field:n,at:c.at,remove:c.removed.length,insert:c.inserted,rev:i.seen()}}),a=()=>{r&&clearTimeout(r),r=void 0,t!==void 0&&s.push(t),t=void 0,d()},d=()=>{if(f!==void 0||l||i.gone())return;let c=s.shift();if(c===void 0)return;let g=i.ahead(c,e,n).filter(u=>!o.has(u.batch));if(g.length>0){s.unshift(c),l=!0,Promise.allSettled(g.map(u=>u.answer)).then(()=>{for(let u of g)o.add(u.batch);l=!1,d()});return}let m=z(i.store,c,e,n);if(!m)return i.drop(c),d();f=c,i.send(c,[p(m)]).finally(()=>{f=void 0,d()})};return{splice(c,g,m){if(i.gone())return;let u=W(i.store.graph.getNode(e)?.[n]),y={at:c,removed:u.slice(c,c+g),inserted:m};if(t!==void 0){let F=z(i.store,t,e,n);(!F||!D(F,y))&&a()}let x=i.apply([{name:h,args:{node:e,field:n,at:c,remove:g,insert:m}}],t);if(x.ops.length===0)return;t===void 0&&(t=x.batch,i.hold(t));let k=z(i.store,t,e,n);if(k&&i.ask(t,[p(k)]),pe.test(m))return a();r&&clearTimeout(r),r=setTimeout(a,ce),r.unref?.()},flush:a,waiting:()=>s.length+(t!==void 0?1:0)+(f!==void 0?1:0)}}function Be(e,n){let i=n.find(l=>l.name===h)?.args;if(typeof i?.node!="string"||typeof i.field!="string")return;let{node:t,field:s}=i,f=()=>e.graph.getNode(t)?.[s],r=f();return{node:t,field:s,yours:r,over:l=>{let o=f();return{name:h,args:{node:t,field:s,at:0,remove:typeof o=="string"?o.length:0,insert:typeof r=="string"?r:"",rev:l}}}}}export{ce as TYPING_IDLE_MS,z as runSplice,Xe as typingOf,Ye as wireOf,Be as yoursOf};
1
+ import{d as K}from"./chunk.OPMGQS5J.js";import{Ac as X,Bb as G,Dc as B,Jb as h,Kb as v,Rc as $,Sc as N,Xb as V,h as P,k as R,q as I,va as q,x as _,zc as Y}from"./chunk.6L6RUOSF.js";import{a as T,c as C,h as L}from"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var te=Symbol.for("@graview/core:markdown"),ne=500;function ie(e){let n=e;for(let i=0;i<6;i++){let t=N(n);if(!t)return!1;if(t[$]!==void 0)return t[$]===1;if(t[te]===1)return!0;if(t.type==="string")return(t.checks??[]).some(s=>{let f=N(s);return f?.check==="max_length"&&(f.maximum??0)>ne});if(t.innerType===void 0)return!1;n=t.innerType}return!1}function O(e,n,i){if(n===void 0||i==="id"||i==="kind")return!1;let t=e.tryDefinition(n)?.fields?.shape;return!!t&&Object.prototype.hasOwnProperty.call(t,i)&&ie(t[i])}var re=e=>e>=55296&&e<=56319,oe=e=>e>=56320&&e<=57343;function S(e,n){let i=Math.min(e.length,n.length),t=0;for(;t<i&&e.charCodeAt(t)===n.charCodeAt(t);)t++;t>0&&re(e.charCodeAt(t-1))&&t--;let s=0;for(;s<i-t&&e.charCodeAt(e.length-1-s)===n.charCodeAt(n.length-1-s);)s++;return s>0&&oe(e.charCodeAt(e.length-s))&&s--,{at:t,removed:e.slice(t,e.length-s),inserted:n.slice(t,n.length-s)}}var w=e=>e.at+e.removed.length;function H(e){let n=S(e.removed,e.inserted);return{...n,at:e.at+n.at}}function U(e,n,i){if(w(e)<n.at)return e;if(e.at>w(n))return{...e,at:e.at+n.inserted.length-n.removed.length};let t=Math.min(e.at,n.at),s=w(e)-w(n),f=e.removed.slice(0,n.at-t)+n.inserted+(s>0?e.removed.slice(e.removed.length-s):""),r=n.at<e.at||n.at===e.at&&i;return H({at:t,removed:f,inserted:r?n.inserted+e.inserted:e.inserted+n.inserted})}function b(e,n){return[U(e,n,!1),U(n,e,!0)]}function D(e,n){let i=e.at+e.inserted.length;if(w(n)<e.at||n.at>i)return;let t=Math.min(e.at,n.at),s=w(n)-i,f=n.removed.slice(0,e.at-t),r=s>0?n.removed.slice(n.removed.length-s):"",l=T(f+e.inserted+r,{...n,at:n.at-t});return H({at:t,removed:f+e.removed+r,inserted:l})}function M(e,n,i){switch(e.op){case"patch-node":return e.id===n&&Object.prototype.hasOwnProperty.call(e.after,i);case"add-node":case"remove-node":return e.node.id===n;default:return!1}}function j(e,n,i){if(e.op!=="patch-node"||e.id!==n||!Object.prototype.hasOwnProperty.call(e.after,i))return;let t=e.before[i],s=e.after[i];return typeof s=="string"&&(t===void 0||t===""||C(t))?{at:0,removed:"",inserted:s}:void 0}var J=(e,n,i)=>e.flatMap(t=>t.op==="splice-text"&&t.id===n&&t.field===i?[t]:[]);function E(e,n,i,t,s,f){if(typeof f!="string"||s<n-1)return;let r=[];for(let o of e)if(!(o.seq<=s))for(let p of o.primitives){let a=j(p,i,t);if(a){r.push(a);continue}if(M(p,i,t))return;p.op==="splice-text"&&p.id===i&&p.field===t&&r.push(p)}let l=f;try{for(let o=r.length-1;o>=0;o--){let p=r[o];l=T(l,{at:p.at,removed:p.inserted,inserted:p.removed})}}catch{return}return{then:l,since:r}}function A(e,n){let i=e;for(let t of n)i=b(t,i)[1];return{at:i.at,removed:i.removed,inserted:i.inserted}}function Q(e,n,i){let t=i?A(S(i.then,n),i.since):S(e,n);return t.removed===""&&t.inserted===""?void 0:t}function Z(e){let n=e.schema,i=t=>{throw new V(t,"invalid")};return{name:h,title:"Type text",input:I({node:P(),field:P(),at:R(),remove:R(),insert:P(),rev:_(R())}),subject:{kinds:"*",arg:"node"},writes:[],describe:(t,s)=>{let{node:f,field:r,insert:l,remove:o}=t;return K({node:f,field:r,inserted:[...String(l??"")].length,removed:Number(o)||0},n,s)},apply(t,s){let{node:f,field:r,at:l,remove:o,insert:p,rev:a}=s;(![l,o,a??0].every(k=>Number.isInteger(k)&&k>=-1)||l<0||o<0)&&i("at and remove are whole numbers, none below 0, and rev a revision");let d=t.graph.getNode(f);if(!d)throw new G(f,"\u201CType text\u201D names a record that is not there.");if(O(n,d.kind,r)||i(`${q(n.tryDefinition(d.kind),d.kind)}'s "${r}" is not text typed together: write it whole, as its edit does`),o===0&&p==="")return;let c=d[r];if(typeof c!="string"||c===""){t.patchNode(f,{[r]:p});return}let g=e.graph.getNode(f)?.[r],m=a===void 0?{then:c,since:[]}:E(e.log.all(),e.log.horizon,f,r,Math.max(a,-1),g);m||i(`${r} was written whole since revision ${a}: read it again and type over what it holds now`);let{then:u,since:y}=m;l+o>u.length&&i(`${r} held ${u.length} characters at revision ${a??"now"}, so there is nothing at ${l}${o>0?`\u2013${l+o}`:""} to type over`);let x=A({at:l,removed:u.slice(l,l+o),inserted:p},y);x.removed===""&&x.inserted===""||t.emit({op:"splice-text",id:f,field:r,...x})}}}function ee(e,n,i,t,s=()=>!0){let f=i===void 0?void 0:e.tryDefinition(i);if(!f||typeof t!="string")return[];let r=new Set;for(let l of n)if(!(l.name===h||!Y(e,l).includes(i)||!X(l,f).includes(t))&&s(l)){r.add(l.name);for(let o of B(e,n,l)??[])r.add(o)}return[...r]}function se(e,n,i){if(!n.some(r=>r.op==="patch-node"))return[...n];let t=new Set,s=new Set,f=[];for(let r of n){if(r.op==="add-node"&&t.add(r.node.id),r.op!=="patch-node"||t.has(r.id)){r.op==="splice-text"&&s.add(`${r.id}\0${r.field}`),f.push(r);continue}let l=e.graph.getNode(r.id),o={},p={},a=[];for(let[d,c]of Object.entries(r.after)){let g=l?.[d],m=`${r.id}\0${d}`;if(typeof c=="string"&&typeof g=="string"&&g!==""&&!s.has(m)&&O(e.schema,l?.kind,d)){let u=i?.find(x=>x.node===r.id&&x.field===d),y=Q(g,c,u?E(e.log.all(),e.log.horizon,r.id,d,u.rev,g):void 0);if(y){a.push({op:"splice-text",id:r.id,field:d,...y}),s.add(m);continue}}o[d]=r.before[d],p[d]=c,s.add(m)}Object.keys(p).length>0&&f.push(a.length>0?{op:"patch-node",id:r.id,before:o,after:p}:r),f.push(...a)}return f}function de(e,n){let i=[];return[...n].sort((t,s)=>s.seq-t.seq).map(t=>{let s=L(t);if(!s.some(o=>o.op==="splice-text"))return i.push(...s),{op:t,primitives:s};let f=e.filter(o=>o.seq>t.seq).flatMap(o=>o.primitives),r=t.primitives.length,l=[];return s.forEach((o,p)=>{if(o.op!=="splice-text")return void l.push(o);let a=A(o,J([...t.primitives.slice(r-p),...f,...i,...l],o.id,o.field));(a.removed!==""||a.inserted!=="")&&l.push({op:"splice-text",id:o.id,field:o.field,...a})}),i.push(...l),{op:t,primitives:l}})}function ae(e,n){let i=(t,s)=>e.some(f=>M(f,t,s));return n.undoes!==void 0&&n.primitives.length===0&&e.some(t=>t.op==="splice-text")||n.primitives.length>0&&n.primitives.every(t=>t.op==="splice-text"&&!i(t.id,t.field))?!0:e.flatMap(t=>t.op==="splice-text"&&n.primitives.some(s=>M(s,t.id,t.field))?[t.id]:[])}function le(e,n,i){let t=new Map,s=[],f=new Set;for(let a of e){let d=a.primitives[0],c=a.mutation?.args,g=a.mutation?.name!==h||a.primitives.length!==1||!d?void 0:d.op==="splice-text"?d:j(d,String(c?.node),String(c?.field));g?s.push({batch:a.batch,node:String(c?.node),field:String(c?.field),splice:g}):f.add(a.batch)}if(s.length===0)return t;let r=a=>`${a.node}\0${a.field}`,l=new Set,o=new Set(e.map(a=>a.batch).filter(a=>!i.includes(a))),p=s;for(let a of n){if(o.has(a.batch)){p=p.filter(d=>d.batch!==a.batch);continue}for(let d of a.primitives){if(d.op==="add-edge"||d.op==="remove-edge")continue;let c=d.op==="add-node"||d.op==="remove-node"?d.node.id:d.id;for(let g of new Set(p.filter(m=>m.node===c).map(m=>m.field))){let m=d.op==="splice-text"?d.field===g?d:void 0:j(d,c,g);for(let u of p)u.node!==c||u.field!==g||(m?[m,u.splice]=b(m,u.splice):M(d,u.node,u.field)&&l.add(r(u)))}}}p.forEach((a,d)=>{if(!o.has(a.batch))return;let c={at:a.splice.at,removed:a.splice.inserted,inserted:a.splice.removed};for(let g of p.slice(d+1))r(g)===r(a)&&([c,g.splice]=b(c,g.splice))});for(let a of i){let d=p.filter(c=>c.batch===a);d.length===0||f.has(a)||d.some(c=>l.has(r(c)))||t.set(a,d.map(c=>({name:h,args:{node:c.node,field:c.field,at:c.splice.at,remove:c.splice.removed.length,insert:c.splice.inserted}})))}return t}v.typeText=Z;v.via=ee;v.collaborative=O;v.asSplices=se;v.undone=de;v.aside=ae;v.carried=le;function Ye(e){let{store:n,author:i,pending:t,provisional:s,asked:f}=e,r=new Map,l=(o,p)=>{r.get(o)?.(p),r.delete(o)};return{store:n,apply:(o,p)=>e.appliedAll(o,{...i?{author:i}:{},...p!==void 0?{batch:p}:{}}),hold(o){t.push(o),s.add(o),e.answers.set(o,new Promise(p=>r.set(o,p)))},ask:(o,p)=>void f.set(o,{calls:p}),send(o,p){f.set(o,{calls:p});let a=e.sent(o,p),d=()=>l(o,a);return a.then(c=>{Array.isArray(c?.ops)&&c.ops.length===0&&e.letGo.add(o),d()},d),a},drop(o){e.letGo.add(o),e.settle(o),f.delete(o),e.land([],[o]),l(o)},seen:e.seen,gone:e.gone,ahead(o,p,a){let d=t.indexOf(o),c=n.log.all(),g=m=>c.some(u=>u.batch===m&&u.primitives.some(y=>y.op==="splice-text"&&y.id===p&&y.field===a||y.op==="patch-node"&&y.id===p&&a in y.after));return t.slice(0,Math.max(0,d)).flatMap(m=>{let u=e.answers.get(m);return u&&g(m)?[{batch:m,answer:u}]:[]})}}}var ce=400,pe=/[\s.,;:!?)\]}]$/u,W=e=>typeof e=="string"?e:"";function z(e,n,i,t){let s=e.log.all(),f=s.findIndex(o=>o.batch===n);if(f<0)return;let r=W(e.graph.getNode(i)?.[t]),l;for(let o=s.length-1;o>=f;o--){let p=s[o];p.batch===n&&l===void 0&&(l=r);for(let a=p.primitives.length-1;a>=0;a--){let d=p.primitives[a];d.op==="splice-text"&&d.id===i&&d.field===t?r=T(r,{at:d.at,removed:d.inserted,inserted:d.removed}):d.op==="patch-node"&&d.id===i&&t in d.after&&(r=C(d.before[t])?"":W(d.before[t]))}}if(!(l===void 0||l===r))return S(r,l)}function Xe(e,n,i){let t,s=[],f,r,l=!1,o=new Set,p=c=>({name:h,args:{node:e,field:n,at:c.at,remove:c.removed.length,insert:c.inserted,rev:i.seen()}}),a=()=>{r&&clearTimeout(r),r=void 0,t!==void 0&&s.push(t),t=void 0,d()},d=()=>{if(f!==void 0||l||i.gone())return;let c=s.shift();if(c===void 0)return;let g=i.ahead(c,e,n).filter(u=>!o.has(u.batch));if(g.length>0){s.unshift(c),l=!0,Promise.allSettled(g.map(u=>u.answer)).then(()=>{for(let u of g)o.add(u.batch);l=!1,d()});return}let m=z(i.store,c,e,n);if(!m)return i.drop(c),d();f=c,i.send(c,[p(m)]).finally(()=>{f=void 0,d()})};return{splice(c,g,m){if(i.gone())return;let u=W(i.store.graph.getNode(e)?.[n]),y={at:c,removed:u.slice(c,c+g),inserted:m};if(t!==void 0){let F=z(i.store,t,e,n);(!F||!D(F,y))&&a()}let x=i.apply([{name:h,args:{node:e,field:n,at:c,remove:g,insert:m}}],t);if(x.ops.length===0)return;t===void 0&&(t=x.batch,i.hold(t));let k=z(i.store,t,e,n);if(k&&i.ask(t,[p(k)]),pe.test(m))return a();r&&clearTimeout(r),r=setTimeout(a,ce),r.unref?.()},flush:a,waiting:()=>s.length+(t!==void 0?1:0)+(f!==void 0?1:0)}}function Be(e,n){let i=n.find(l=>l.name===h)?.args;if(typeof i?.node!="string"||typeof i.field!="string")return;let{node:t,field:s}=i,f=()=>e.graph.getNode(t)?.[s],r=f();return{node:t,field:s,yours:r,over:l=>{let o=f();return{name:h,args:{node:t,field:s,at:0,remove:typeof o=="string"?o.length:0,insert:typeof r=="string"?r:"",rev:l}}}}}export{ce as TYPING_IDLE_MS,z as runSplice,Xe as typingOf,Ye as wireOf,Be as yoursOf};
@@ -1,4 +1,4 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{c as xr}from"./chunk.3HFBHLXC.js";import{$a as J,Ba as Mn,G as R,Oa as M,P as Tn,Ta as On,Ua as Rn,Xa as U,Y as x,a as be,e as ke,ga as xe,ha as re,j as An,l as $e,m as De,s as Nn,sa as Cn,v as se,x as Bn,z as Hn}from"./chunk.CUA7F3YJ.js";import{a as C}from"./chunk.SDO3U72B.js";import{$d as we,Hb as pn,Uc as un,Xc as gn,ae as ie,be as wn,cd as W,dd as fn,de as Ve,ed as mn,fe as vn,gd as yn,ge as bn,he as ne,id as hn,jd as Fe,ma as ye,oe as kn,pb as cn,pe as xn,qa as he,qe as Sn,ra as dn,re as Ln,te as Pn,ue as ve,ye as En}from"./chunk.IUVRJDL3.js";import{b as w}from"./chunk.AJZBJBMO.js";var _e=w(R(),1),Gt=e=>{let n=e??null;for(;n?.parentElement?.closest('[data-testid="context-menu"]');)n=n.parentElement.closest('[data-testid="context-menu"]');let r=n?.getBoundingClientRect();return r&&r.width>0?{left:r.left,top:r.top}:void 0},Ie=new WeakMap,Se=e=>{let n=Ie.get(e);return n||Ie.set(e,n={open:null,drawn:0,listeners:new Set}),n},jt=e=>{let n=Ie.get(e);n?.preload&&(typeof performance<"u"&&typeof performance.mark=="function"&&performance.mark("graview:quick-ask-preload"),n.preload(),n.preload=void 0)},Sr=e=>{for(let n of[...e.listeners])n()},Lr=0;function qt(e,n){let r=Se(e);r.open=n?{...n,at:++Lr}:null,Sr(r)}var Fn=e=>n=>{let r=Se(e);return r.listeners.add(n),()=>void r.listeners.delete(n)};function Vn(e){let n=()=>e?Se(e).drawn>0:!1;return(0,_e.useSyncExternalStore)(e?Fn(e):Pr,n,n)}var Pr=()=>()=>{};function Yt(e){let n=()=>Se(e).open;return(0,_e.useSyncExternalStore)(Fn(e),n,n)}var V=w(R(),1),$n=w(xr(),1);function Er(e){let[n,r]=(0,V.useState)(null),[t,o]=(0,V.useState)(null);return(0,V.useLayoutEffect)(()=>{e.current!==t&&o(e.current)}),(0,V.useLayoutEffect)(()=>{if(!t||typeof ResizeObserver>"u")return;let i=()=>Math.round(t.getBoundingClientRect().width),s=i();r(s);let p=new ResizeObserver(()=>{let l=i();l!==s&&(s=l,(0,$n.flushSync)(()=>r(l)))});return p.observe(t),()=>p.disconnect()},[t]),n}function Ar(e=!0){let[n,r]=(0,V.useState)();return(0,V.useEffect)(()=>{if(!e)return r(void 0);let t=0,o=()=>r(innerHeight),i=()=>{o(),clearTimeout(t),t=window.setTimeout(o,300)},s=p=>{for(let[l,d]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])l?.[p](d,i)};return s("addEventListener"),o(),()=>{clearTimeout(t),s("removeEventListener")}},[e]),n}var Le={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var P=w(R(),1);var A=w(x(),1),Dn=6e3;function Nr(e){return{...e,notify:n=>e.notify({...n,from:"framework"})}}var Br=e=>({place:"overview",...e&&!/^(aggregate|kind):/.test(e)?{record:e}:{}});function Hr(){let e=[],n=0,r=new Set,t=new Map,o,i=()=>{for(let d of[...r])d()},s=d=>{if(clearTimeout(t.get(d.id)),t.delete(d.id),d.kind!=="toast")return;let u=(d.actions?.length??0)+(d.action?1:0),g=d.timeout??(u>0?!1:Dn);g!==!1&&t.set(d.id,setTimeout(()=>o?.()?s(d):p(d.id),g))},p=d=>{clearTimeout(t.get(d)),t.delete(d),e.some(u=>u.id===d)&&(e=e.filter(u=>u.id!==d),i())},l=d=>{e=e.some(u=>u.id===d.id)?e.map(u=>u.id===d.id?d:u):[...e,d],s(d),i()};return{notify(d){let u=d.id??`notice-${++n}`;return l({...d,id:u,said:++n}),{id:u,dismiss:()=>p(u),update:g=>{let c=e.find(h=>h.id===u);c&&l({...c,...g,id:u,kind:c.kind,said:g.sentence!==void 0&&g.sentence!==c.sentence?++n:c.said})}}},dismiss:p,hold(d){o=d},list:()=>e,subscribe(d){return r.add(d),()=>r.delete(d)}}}function Tr({notices:e}){let n=e.reduce((p,l)=>!p||l.said>p.said?l:p,void 0),[r,t]=(0,P.useState)(""),[o,i]=(0,P.useState)(""),s=(0,P.useRef)(0);return(0,P.useEffect)(()=>{if(!n||n.said===s.current)return;s.current=n.said;let p=n.tone==="bad";(p?i:t)("");let l=setTimeout(()=>(p?i:t)(n.sentence),50);return()=>clearTimeout(l)},[n]),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:Le,children:r}),(0,A.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:Le,children:o})]})}var Cr=(0,P.createContext)(null);function Mr({board:e,anchor:n,report:r}){let t=(0,P.useSyncExternalStore)(e.subscribe,e.list,e.list);return(0,P.useEffect)(()=>Fr(We.prefetch),[]),(0,A.jsxs)(A.Fragment,{children:[t.length>0?(0,A.jsx)(P.Suspense,{fallback:null,children:(0,A.jsx)(Rr,{notices:t,anchor:n,board:e,...r?{report:r}:{}})}):null,(0,A.jsx)(Tr,{notices:t})]})}var We=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.I7CSRZC2.js")))),Or=()=>We.load().then(()=>{},()=>{}),Rr=We.part((e,n)=>(0,A.jsx)(e.NoticeStacks,{...n}),{quiet:!0});function Fr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},r=globalThis;if(r.requestIdleCallback){let o=r.requestIdleCallback(n,{timeout:5e3});return()=>r.cancelIdleCallback?.(o)}let t=setTimeout(n,2500);return()=>clearTimeout(t)}var O=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.4O3STSC4.js","./chunk.VKQONZKR.js","./chunk.6KYTCEIH.js","./chunk.FXCKKVT5.js","./chunk.NCBUECIW.js","./chunk.U5P23GO7.js","./chunk.LEZGBHPZ.js","./chunk.O2XPLDMM.js","./chunk.CM7EDQ4E.js","./chunk.SUYYDJGZ.js","./chunk.YR7DKU5T.js","./chunk.X7HMTN3Z.js","./chunk.YTRUZ56A.js","./chunk.MYR36HW4.js","./chunk.XAN7QXMQ.js","./chunk.MIE4TJRW.js","./chunk.RP6C2IUM.js","./chunk.RD2FSSLV.js","./chunk.T552MHMU.js","./chunk.ZGJUCVT5.js","./chunk.CVVNHQPO.js","./chunk.YIDNZTON.js","./chunk.QILGAV7H.js","./chunk.I6HIVTXU.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.LQ2PDW2M.js"))));var y=w(R(),1);var ze=e=>Math.round(e).toString(16).padStart(2,"0");function In(e){let n=r=>{let t=e?.schemes?.[r]?.ground,o=t?un(t)[0]:void 0;return o?`#${ze(o.r)}${ze(o.g)}${ze(o.b)}`:void 0};if(e?.scheme==="light"||e?.scheme==="dark"){let r=n(e.scheme);return r?[{color:r}]:[]}return["light","dark"].flatMap(r=>{let t=n(r);return t?[{color:t,media:`(prefers-color-scheme: ${r})`}]:[]})}var Ke=w(R(),1);var _n=w(R(),1);function le(e){return(0,_n.useMemo)(()=>e===void 0||e===""?void 0:{__html:e},[e])}var z=w(x(),1);function Ge({brand:e,size:n=22}){let r=Tn(),t=yn(e),o=Wn(t?.light),i=o?Wn(t?.dark):void 0,s=le(o!==void 0&&W(o)?o:void 0),p=le(i!==void 0&&W(i)?i:void 0),l={display:"inline-flex",flex:"0 0 auto",height:n,color:"var(--graview-accent)"},d=hn(e);if(d)return(0,z.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...l,alignItems:"center",fontSize:`${n*.86/16}rem`,lineHeight:1},children:d});if(!o)return null;let u=e?.logoAlt??e?.name??"",g=u!==""&&u!==e?.name,c=g?{role:"img","aria-label":u}:{"aria-hidden":!0};if(i){let b=(S,v,B)=>W(S)?(0,z.jsx)("span",{className:"graview-logo-face","data-graview-scheme-only":B,dangerouslySetInnerHTML:v}):(0,z.jsx)("img",{className:"graview-logo-face","data-graview-scheme-only":B,src:Fe(r,S),alt:""});return(0,z.jsxs)("span",{className:"graview-logo","data-testid":"app-mark",style:l,...c,children:[b(o,s,"light"),b(i,p,"dark")]})}let h=t?.darkFallback==="invert"?{"data-graview-logo-fallback":"invert"}:{};return W(o)?(0,z.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:l,...h,...c,dangerouslySetInnerHTML:s}):(0,z.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:Fe(r,o),alt:g?u:"",...h,style:{...l,width:"auto"}})}function Wn(e){if(!(!e||!mn(e)))return W(e)&&fn(e)!==null?void 0:e}function Vr(e){(0,Ke.useEffect)(()=>{if(!e||typeof document>"u")return;let n=[...document.querySelectorAll('link[rel~="icon"]')],r=n.map(o=>o.getAttribute("href")),t;n.length===0&&(t=document.createElement("link"),t.rel="icon",t.setAttribute("data-graview-favicon",""),document.head.appendChild(t),n.push(t));for(let o of n)o.href=e;return()=>{t&&t.remove(),n.forEach((o,i)=>{o!==t&&r[i]!==null&&r[i]!==void 0&&o.setAttribute("href",r[i])})}},[e])}function $r(e){let n=e?JSON.stringify(In(e)):"[]";(0,Ke.useEffect)(()=>{let r=JSON.parse(n);if(r.length===0||typeof document>"u")return;let t=[...document.head.querySelectorAll('meta[name="theme-color"]:not([data-graview-theme-color])')];t.forEach(i=>i.setAttribute("name","graview-theme-color-held"));let o=r.map(({color:i,media:s})=>{let p=document.createElement("meta");return p.name="theme-color",p.content=i,s&&(p.media=s),p.setAttribute("data-graview-theme-color",""),document.head.appendChild(p),p});return()=>{o.forEach(i=>i.remove()),t.forEach(i=>i.setAttribute("name","theme-color"))}},[n])}var a=w(x(),1),Dr=O.part((e,n)=>(0,a.jsx)(e.TidyFoot,{...n}),{quiet:!0}),Ir=O.part((e,n)=>(0,a.jsx)(e.AppMenuPane,{...n}),{what:"The app menu"}),_r=O.part((e,n)=>(0,a.jsx)(e.Here,{...n}),{quiet:!0});function Wr(){let e=re(),[n,r]=(0,y.useState)("");return(0,y.useEffect)(()=>e?.store.subscribe((t,o)=>{o.some(i=>i.author.id!==e.principal.id)&&O.load().then(i=>i.sayTheirChange(o,e,r),String)}),[e]),(0,a.jsx)("span",{role:"status",className:"graview-bar-said",children:n})}var Gn="home",jn="/",X="scene:whole";function zr(e){let{store:n,principal:r,views:t}=e,o=n.kindsKeptFrom(r),i=n.schema.kinds.filter(f=>!n.modules.disabledKinds.has(f)&&!o.has(f)),s=t?.arrangement?.(),p=t?.places()??[],l=Ln(s,n.schema,p),d=Sn(n.schema,s,[...n.modules.administered.values()].flatMap(f=>f.kinds??[])),u=(f,L)=>(!n.graph.size.nodes||n.graph.count(f)>0)&&(l?L?l.places.has(`${f}|${L}`):l.kinds.has(f):!d.has(f)),g=[{key:Gn,label:"Home",path:jn,group:"home",primary:!0}],c=p.filter(f=>i.includes(f.kind)&&f.as!==Pn),h=c.filter(f=>!f.hidden),b=new Set(ie(h).map(f=>ne(f,p,n.schema).toLowerCase())),S=f=>vn(f.as,bn(f,p)?Ve(n.schema,f.kind).slice(1):void 0),v=new Set(s?.hide??[]),B=En(i,s?.order,h);for(let{kind:f,view:L}of B){if(L){g.push({key:`place:${L.kind}:${L.as}`,label:ne(L,p,n.schema),path:S(L),group:"lists",kind:f,primary:l?l.places.has(`${f}|${L.as}`):!0});continue}let D=he(n.schema,f),N=b.has(D.toLowerCase());g.push({key:`kind:${f}`,label:N?dn(n.schema,f):D,path:Ve(n.schema,f),group:"lists",kind:f,primary:N||v.has(f)?!1:u(f),...v.has(f)?{hidden:!0}:{}})}for(let f of ie(c)){if(B.some(N=>N.view&&we(N.view,f)))continue;let L=S(f),D=[f.kind,...f.over??[]].some(N=>i.includes(N)&&u(N,f.as));g.some(N=>N.path===L)||g.push({key:`place:${f.kind}:${f.as}`,label:ne(f,p,n.schema),path:L,group:"pictures",kind:f.kind,primary:D,hidden:f.hidden})}return i.some(f=>Object.keys(n.schema.tryDefinition(f)?.edges??{}).length>0)&&g.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),g}function Kr(e,n){let[r="/",t=""]=n.split("?"),o=e.find(s=>s.path===(t?`${r}?${t}`:r))??e.find(s=>s.path===r);if(o)return o.key;let i=`/${r.split("/").filter(Boolean)[0]??""}`;return e.find(s=>s.group==="lists"&&s.path===i)?.key??null}var qn=(0,y.createContext)(null),Gr=()=>(0,y.useContext)(qn),G=30,Yn=48,de=640,Qn=900,Ye=4,je=2;function Un(e){let{widths:n,current:r,room:t,more:o,gap:i=Ye,primary:s,most:p=xn}=e;if(n.length===0||!(t>0)||!(o>0)||n.some(g=>!(g>0)))return null;let l=(g,c)=>g.reduce((h,b)=>h+n[b],0)+i*Math.max(0,g.length-1)+(c?i+o:0),d=(g,c)=>r<0||!g.includes(r)||g.slice(0,c).includes(r)?g.slice(0,c):[...g.filter(h=>h!==r).slice(0,c-1),r].sort((h,b)=>h-b),u=d(n.map((g,c)=>c).filter(g=>s?.[g]!==!1||g===r),p);if(l(u,u.length<n.length)<=t)return u.length>=je?u:null;for(let g=u.length-1;g>=je;g--){let c=d(u,g);if(l(c,!0)<=t)return c}return null}var jr=`
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{c as xr}from"./chunk.P43LPXXJ.js";import{$a as J,Ba as Mn,G as R,Oa as M,P as Tn,Ta as On,Ua as Rn,Xa as U,Y as L,a as be,e as ke,ga as xe,ha as re,j as An,l as De,m as Ie,s as Nn,sa as Cn,v as se,x as Bn,z as Hn}from"./chunk.JCKIJSW7.js";import{a as C}from"./chunk.SDO3U72B.js";import{$d as we,Hb as pn,Uc as un,Xc as gn,ae as ie,be as wn,cd as W,dd as fn,de as Ve,ed as mn,fe as vn,gd as yn,ge as bn,he as ne,id as hn,jd as Fe,ma as ye,oe as kn,pb as cn,pe as xn,qa as he,qe as Sn,ra as dn,re as Ln,te as Pn,ue as ve,ye as En}from"./chunk.6L6RUOSF.js";import{b as w}from"./chunk.AJZBJBMO.js";var _e=w(R(),1),Gt=e=>{let n=e??null;for(;n?.parentElement?.closest('[data-testid="context-menu"]');)n=n.parentElement.closest('[data-testid="context-menu"]');let r=n?.getBoundingClientRect();return r&&r.width>0?{left:r.left,top:r.top}:void 0},$e=new WeakMap,Se=e=>{let n=$e.get(e);return n||$e.set(e,n={open:null,drawn:0,listeners:new Set}),n},jt=e=>{let n=$e.get(e);n?.preload&&(typeof performance<"u"&&typeof performance.mark=="function"&&performance.mark("graview:quick-ask-preload"),n.preload(),n.preload=void 0)},Sr=e=>{for(let n of[...e.listeners])n()},Lr=0;function qt(e,n){let r=Se(e);r.open=n?{...n,at:++Lr}:null,Sr(r)}var Fn=e=>n=>{let r=Se(e);return r.listeners.add(n),()=>void r.listeners.delete(n)};function Vn(e){let n=()=>e?Se(e).drawn>0:!1;return(0,_e.useSyncExternalStore)(e?Fn(e):Pr,n,n)}var Pr=()=>()=>{};function Yt(e){let n=()=>Se(e).open;return(0,_e.useSyncExternalStore)(Fn(e),n,n)}var V=w(R(),1),Dn=w(xr(),1);function Er(e){let[n,r]=(0,V.useState)(null),[t,o]=(0,V.useState)(null);return(0,V.useLayoutEffect)(()=>{e.current!==t&&o(e.current)}),(0,V.useLayoutEffect)(()=>{if(!t||typeof ResizeObserver>"u")return;let i=()=>Math.round(t.getBoundingClientRect().width),s=i();r(s);let c=new ResizeObserver(()=>{let l=i();l!==s&&(s=l,(0,Dn.flushSync)(()=>r(l)))});return c.observe(t),()=>c.disconnect()},[t]),n}function Ar(e=!0){let[n,r]=(0,V.useState)();return(0,V.useEffect)(()=>{if(!e)return r(void 0);let t=0,o=()=>r(innerHeight),i=()=>{o(),clearTimeout(t),t=window.setTimeout(o,300)},s=c=>{for(let[l,d]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])l?.[c](d,i)};return s("addEventListener"),o(),()=>{clearTimeout(t),s("removeEventListener")}},[e]),n}var Le={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var E=w(R(),1);var A=w(L(),1),In=6e3;function Nr(e){return{...e,notify:n=>e.notify({...n,from:"framework"})}}var Br=e=>({place:"overview",...e&&!/^(aggregate|kind):/.test(e)?{record:e}:{}});function Hr(){let e=[],n=0,r=new Set,t=new Map,o,i=()=>{for(let d of[...r])d()},s=d=>{if(clearTimeout(t.get(d.id)),t.delete(d.id),d.kind!=="toast")return;let u=(d.actions?.length??0)+(d.action?1:0),g=d.timeout??(u>0?!1:In);g!==!1&&t.set(d.id,setTimeout(()=>o?.()?s(d):c(d.id),g))},c=d=>{clearTimeout(t.get(d)),t.delete(d),e.some(u=>u.id===d)&&(e=e.filter(u=>u.id!==d),i())},l=d=>{e=e.some(u=>u.id===d.id)?e.map(u=>u.id===d.id?d:u):[...e,d],s(d),i()};return{notify(d){let u=d.id??`notice-${++n}`;return l({...d,id:u,said:++n}),{id:u,dismiss:()=>c(u),update:g=>{let p=e.find(h=>h.id===u);p&&l({...p,...g,id:u,kind:p.kind,said:g.sentence!==void 0&&g.sentence!==p.sentence?++n:p.said})}}},dismiss:c,hold(d){o=d},list:()=>e,subscribe(d){return r.add(d),()=>r.delete(d)}}}function Tr({notices:e}){let n=e.reduce((c,l)=>!c||l.said>c.said?l:c,void 0),[r,t]=(0,E.useState)(""),[o,i]=(0,E.useState)(""),s=(0,E.useRef)(0);return(0,E.useEffect)(()=>{if(!n||n.said===s.current)return;s.current=n.said;let c=n.tone==="bad";(c?i:t)("");let l=setTimeout(()=>(c?i:t)(n.sentence),50);return()=>clearTimeout(l)},[n]),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:Le,children:r}),(0,A.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:Le,children:o})]})}var Cr=(0,E.createContext)(null);function Mr({board:e,anchor:n,report:r}){let t=(0,E.useSyncExternalStore)(e.subscribe,e.list,e.list);return(0,E.useEffect)(()=>Fr(We.prefetch),[]),(0,A.jsxs)(A.Fragment,{children:[t.length>0?(0,A.jsx)(E.Suspense,{fallback:null,children:(0,A.jsx)(Rr,{notices:t,anchor:n,board:e,...r?{report:r}:{}})}):null,(0,A.jsx)(Tr,{notices:t})]})}var We=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.5EQRIZ6I.js")))),Or=()=>We.load().then(()=>{},()=>{}),Rr=We.part((e,n)=>(0,A.jsx)(e.NoticeStacks,{...n}),{quiet:!0});function Fr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},r=globalThis;if(r.requestIdleCallback){let o=r.requestIdleCallback(n,{timeout:5e3});return()=>r.cancelIdleCallback?.(o)}let t=setTimeout(n,2500);return()=>clearTimeout(t)}var O=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.3RRK6UTN.js","./chunk.MWWNKM3I.js","./chunk.QJJWAYHB.js","./chunk.6A3KTD66.js","./chunk.5OS4SYHE.js","./chunk.MQNW3O67.js","./chunk.U5P23GO7.js","./chunk.RO3D2RNP.js","./chunk.MEAUTBVM.js","./chunk.OKHXXIMN.js","./chunk.NH3VXTGX.js","./chunk.6IMRCKB4.js","./chunk.GFBE4VNT.js","./chunk.RDUGUC7R.js","./chunk.OPMGQS5J.js","./chunk.QKRQPUCE.js","./chunk.MIE4TJRW.js","./chunk.3CLTABGP.js","./chunk.RD2FSSLV.js","./chunk.CVN2XFMF.js","./chunk.6TBQV3NO.js","./chunk.MT252WP4.js","./chunk.VVIQSFM4.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.FW6M6GIU.js"))));var y=w(R(),1);var ze=e=>Math.round(e).toString(16).padStart(2,"0");function $n(e){let n=r=>{let t=e?.schemes?.[r]?.ground,o=t?un(t)[0]:void 0;return o?`#${ze(o.r)}${ze(o.g)}${ze(o.b)}`:void 0};if(e?.scheme==="light"||e?.scheme==="dark"){let r=n(e.scheme);return r?[{color:r}]:[]}return["light","dark"].flatMap(r=>{let t=n(r);return t?[{color:t,media:`(prefers-color-scheme: ${r})`}]:[]})}var Ke=w(R(),1);var _n=w(R(),1);function le(e){return(0,_n.useMemo)(()=>e===void 0||e===""?void 0:{__html:e},[e])}var z=w(L(),1);function Ge({brand:e,size:n=22}){let r=Tn(),t=yn(e),o=Wn(t?.light),i=o?Wn(t?.dark):void 0,s=le(o!==void 0&&W(o)?o:void 0),c=le(i!==void 0&&W(i)?i:void 0),l={display:"inline-flex",flex:"0 0 auto",height:n,color:"var(--graview-accent)"},d=hn(e);if(d)return(0,z.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...l,alignItems:"center",fontSize:`${n*.86/16}rem`,lineHeight:1},children:d});if(!o)return null;let u=e?.logoAlt??e?.name??"",g=u!==""&&u!==e?.name,p=g?{role:"img","aria-label":u}:{"aria-hidden":!0};if(i){let v=(x,b,B)=>W(x)?(0,z.jsx)("span",{className:"graview-logo-face","data-graview-scheme-only":B,dangerouslySetInnerHTML:b}):(0,z.jsx)("img",{className:"graview-logo-face","data-graview-scheme-only":B,src:Fe(r,x),alt:""});return(0,z.jsxs)("span",{className:"graview-logo","data-testid":"app-mark",style:l,...p,children:[v(o,s,"light"),v(i,c,"dark")]})}let h=t?.darkFallback==="invert"?{"data-graview-logo-fallback":"invert"}:{};return W(o)?(0,z.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:l,...h,...p,dangerouslySetInnerHTML:s}):(0,z.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:Fe(r,o),alt:g?u:"",...h,style:{...l,width:"auto"}})}function Wn(e){if(!(!e||!mn(e)))return W(e)&&fn(e)!==null?void 0:e}function Vr(e){(0,Ke.useEffect)(()=>{if(!e||typeof document>"u")return;let n=[...document.querySelectorAll('link[rel~="icon"]')],r=n.map(o=>o.getAttribute("href")),t;n.length===0&&(t=document.createElement("link"),t.rel="icon",t.setAttribute("data-graview-favicon",""),document.head.appendChild(t),n.push(t));for(let o of n)o.href=e;return()=>{t&&t.remove(),n.forEach((o,i)=>{o!==t&&r[i]!==null&&r[i]!==void 0&&o.setAttribute("href",r[i])})}},[e])}function Dr(e){let n=e?JSON.stringify($n(e)):"[]";(0,Ke.useEffect)(()=>{let r=JSON.parse(n);if(r.length===0||typeof document>"u")return;let t=[...document.head.querySelectorAll('meta[name="theme-color"]:not([data-graview-theme-color])')];t.forEach(i=>i.setAttribute("name","graview-theme-color-held"));let o=r.map(({color:i,media:s})=>{let c=document.createElement("meta");return c.name="theme-color",c.content=i,s&&(c.media=s),c.setAttribute("data-graview-theme-color",""),document.head.appendChild(c),c});return()=>{o.forEach(i=>i.remove()),t.forEach(i=>i.setAttribute("name","theme-color"))}},[n])}var a=w(L(),1),Ir=O.part((e,n)=>(0,a.jsx)(e.TidyFoot,{...n}),{quiet:!0}),$r=O.part((e,n)=>(0,a.jsx)(e.AppMenuPane,{...n}),{what:"The app menu"}),_r=O.part((e,n)=>(0,a.jsx)(e.Here,{...n}),{quiet:!0});function Wr(){let e=re(),[n,r]=(0,y.useState)("");return(0,y.useEffect)(()=>e?.store.subscribe((t,o)=>{o.some(i=>i.author.id!==e.principal.id)&&O.load().then(i=>i.sayTheirChange(o,e,r),String)}),[e]),(0,a.jsx)("span",{role:"status",className:"graview-bar-said",children:n})}var Gn="home",jn="/",X="scene:whole";function zr(e){let{store:n,principal:r,views:t}=e,o=n.kindsKeptFrom(r),i=n.schema.kinds.filter(f=>!n.modules.disabledKinds.has(f)&&!o.has(f)),s=t?.arrangement?.(),c=t?.places()??[],l=Ln(s,n.schema,c),d=Sn(n.schema,s,[...n.modules.administered.values()].flatMap(f=>f.kinds??[])),u=(f,P)=>(!n.graph.size.nodes||n.graph.count(f)>0)&&(l?P?l.places.has(`${f}|${P}`):l.kinds.has(f):!d.has(f)),g=[{key:Gn,label:"Home",path:jn,group:"home",primary:!0}],p=c.filter(f=>i.includes(f.kind)&&f.as!==Pn),h=p.filter(f=>!f.hidden),v=new Set(ie(h).map(f=>ne(f,c,n.schema).toLowerCase())),x=f=>vn(f.as,bn(f,c)?Ve(n.schema,f.kind).slice(1):void 0),b=new Set(s?.hide??[]),B=En(i,s?.order,h);for(let{kind:f,view:P}of B){if(P){g.push({key:`place:${P.kind}:${P.as}`,label:ne(P,c,n.schema),path:x(P),group:"lists",kind:f,primary:l?l.places.has(`${f}|${P.as}`):!0});continue}let I=he(n.schema,f),N=v.has(I.toLowerCase());g.push({key:`kind:${f}`,label:N?dn(n.schema,f):I,path:Ve(n.schema,f),group:"lists",kind:f,primary:N||b.has(f)?!1:u(f),...b.has(f)?{hidden:!0}:{}})}for(let f of ie(p)){if(B.some(N=>N.view&&we(N.view,f)))continue;let P=x(f),I=[f.kind,...f.over??[]].some(N=>i.includes(N)&&u(N,f.as));g.some(N=>N.path===P)||g.push({key:`place:${f.kind}:${f.as}`,label:ne(f,c,n.schema),path:P,group:"pictures",kind:f.kind,primary:I,hidden:f.hidden})}return i.some(f=>Object.keys(n.schema.tryDefinition(f)?.edges??{}).length>0)&&g.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),g}function Kr(e,n){let[r="/",t=""]=n.split("?"),o=e.find(s=>s.path===(t?`${r}?${t}`:r))??e.find(s=>s.path===r);if(o)return o.key;let i=`/${r.split("/").filter(Boolean)[0]??""}`;return e.find(s=>s.group==="lists"&&s.path===i)?.key??null}var qn=(0,y.createContext)(null),Gr=()=>(0,y.useContext)(qn),G=30,Yn=48,de=640,Qn=900,Ye=4,je=2;function Un(e){let{widths:n,current:r,room:t,more:o,gap:i=Ye,primary:s,most:c=xn}=e;if(n.length===0||!(t>0)||!(o>0)||n.some(g=>!(g>0)))return null;let l=(g,p)=>g.reduce((h,v)=>h+n[v],0)+i*Math.max(0,g.length-1)+(p?i+o:0),d=(g,p)=>r<0||!g.includes(r)||g.slice(0,p).includes(r)?g.slice(0,p):[...g.filter(h=>h!==r).slice(0,p-1),r].sort((h,v)=>h-v),u=d(n.map((g,p)=>p).filter(g=>s?.[g]!==!1||g===r),c);if(l(u,u.length<n.length)<=t)return u.length>=je?u:null;for(let g=u.length-1;g>=je;g--){let p=d(u,g);if(l(p,!0)<=t)return p}return null}var jr=`
2
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
3
  .graview-bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:${Yn-1}px;margin:0;padding:0 16px}
4
4
  .graview-bar-home,.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}
@@ -83,5 +83,5 @@ a.graview-bar-status{cursor:pointer}
83
83
  }
84
84
  @container graview-bar (max-width: 300px){
85
85
  .graview-bar-row{gap:4px;padding:0 10px}
86
- }`,te={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:G,height:G,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 qr({brand:e,name:n,heading:r=1,home:t,faces:o,places:i,current:s,reach:p,tools:l,find:d=!0,description:u,findBox:g,onFind:c,scenePlaces:h,skips:b,named:S=!0,actions:v,appMenu:B=Yr,scheme:ue,share:f,status:L}){let D=(0,y.useRef)(null),N=re()?.who.size,[ae,sr]=(0,y.useState)(null),[en,lr]=(0,y.useState)(null),[I,dr]=(0,y.useState)(!1),[Z,cr]=(0,y.useState)(!1),[pr,nn]=(0,y.useState)(!1),[rn,ur]=(0,y.useState)(null),[gr,fr]=(0,y.useState)(!0),ge=o?o.pages.current:!h,oe=ge?{places:i,current:s,reach:p}:h,Ce=oe&&{...oe,places:wn(oe.places),here:oe.places.find(m=>m.key===oe.current)?.label},k=Ce&&Ce.places.length>0?Ce:null,Me=k?k.places.findIndex(m=>m.key===k.current):-1,tn=k?k.places.map(m=>m.primary===!1?"0":"1").join(""):"",_=(0,y.useCallback)(()=>{let m=D.current;if(!m)return;let H=dt(m,Me,tn);H!==void 0&&ur(H)},[Me,tn]);(0,y.useLayoutEffect)(()=>{let m=D.current;if(!m)return;let H=()=>{let T=m.getBoundingClientRect().width;dr(T<de),cr(T<Qn);let kr=m.querySelector("[data-graview-bar-host-ruler]");fr(T>=de+(kr?.getBoundingClientRect().width??0)),m.style.setProperty("--graview-bar-width",`${Math.round(T)}px`),_()};H();let Y=typeof document>"u"?void 0:document.fonts;if(Y?.ready.then(_),Y?.addEventListener?.("loadingdone",_),typeof ResizeObserver>"u")return()=>Y?.removeEventListener?.("loadingdone",_);let Q=new ResizeObserver(H);Q.observe(m);for(let T of m.querySelectorAll(".graview-bar-tools > *"))Q.observe(T);let ee=m.querySelector(".graview-bar-tools"),F=typeof MutationObserver>"u"||!ee?null:new MutationObserver(()=>{for(let T of ee.children)Q.observe(T)});return F?.observe(ee,{childList:!0}),()=>{F?.disconnect(),Q.disconnect(),Y?.removeEventListener?.("loadingdone",_)}},[_]);let Oe=(0,y.useRef)(c);Oe.current=c,(0,y.useLayoutEffect)(()=>{Oe.current?.(d&&ae?{slot:ae,compact:Z,own:en}:null)},[d,ae,Z,en]),(0,y.useLayoutEffect)(()=>()=>Oe.current?.(null),[]);let mr=(0,y.useCallback)(()=>{nn(!0),requestAnimationFrame(()=>ae?.querySelector("input")?.focus())},[ae]),an=(0,y.useRef)(null),fe=(0,y.useRef)(!1),Re=(0,y.useCallback)(()=>{nn(!1),fe.current&&(fe.current=!1,requestAnimationFrame(()=>an.current?.focus()))},[]),on=(0,y.useRef)(null);(0,y.useEffect)(()=>{let m=on.current;if(!m||!Z)return;let H=()=>!!m.querySelector("input")?.value,Y=F=>{let T=F.relatedTarget;T instanceof Node&&m.contains(T)||H()||Re()},Q=F=>{F.key==="Escape"&&(fe.current=!0)},ee=F=>{F.key==="Escape"&&queueMicrotask(()=>{!F.defaultPrevented||!H()?Re():fe.current=!1})};return m.addEventListener("focusout",Y),m.addEventListener("keydown",Q,!0),m.addEventListener("keydown",ee),()=>{m.removeEventListener("focusout",Y),m.removeEventListener("keydown",Q,!0),m.removeEventListener("keydown",ee)}},[Z,Re]);let yr=r===!1?"span":`h${r}`,hr=t.href!==void 0?"a":"button",wr=m=>H=>{!m||!Xn(H)||(H.preventDefault(),m())},vr=!ge,sn=k&&!I&&rn!==null&&!(Me<0&&k.here)?rn.split(",").map(Number).filter(m=>m<k.places.length):null,me=k?(0,a.jsx)(st,{places:k.places,current:k.current,here:k.here,reach:k.reach,scene:vr,stands:sn}):null,br=k?k.places.map(m=>m.label).join(`
87
- `):"";(0,y.useLayoutEffect)(_,[_,n,e,br,k?.current,ge,I,Z,d]);let ln=!!o||B.length>0||!!ue;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("header",{ref:D,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...pr&&Z?{"data-finding":""}:{},children:[(0,a.jsx)("style",{children:jr}),b,(0,a.jsxs)("div",{className:"graview-bar-row",children:[S?(0,a.jsxs)("div",{className:"graview-bar-app",children:[(0,a.jsx)(yr,{className:"graview-bar-name",children:(0,a.jsxs)(hr,{...t.href!==void 0?{href:t.href,onClick:wr(t.go)}:{type:"button",onClick:t.go},"data-testid":"app-home",...t.current?{"aria-current":"page"}:{},title:u?`${n} \u2014 ${u}`:`${n} \u2014 home`,className:"graview-bar-home",children:[(0,a.jsx)(Ge,{brand:e,size:20}),(0,a.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:n})]})}),ln?(0,a.jsx)(zn,{name:n,faces:o,rows:B,scheme:ue}):null]}):ln?(0,a.jsx)(zn,{name:n,faces:o,rows:B,scheme:ue}):null,(0,a.jsx)("div",{className:"graview-bar-mid",...sn?{"data-places":"standing"}:!I&&me?{"data-place":""}:{},children:I?null:me}),!I&&k&&k.places.length>1?(0,a.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[k.places.map(m=>(0,a.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,a.jsxs)("span",{className:"graview-bar-at",children:[Pe,(0,a.jsx)(Qe,{})]})]}):null,v&&v.length>0?(0,a.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-host-ruler":"",children:(0,a.jsx)("span",{className:"graview-bar-host",children:v.map(m=>(0,a.jsxs)("span",{className:"graview-bar-host-action",...m.iconOnly&&m.icon?{"data-icon-only":""}:{},children:[m.icon?(0,a.jsx)(Ue,{icon:m.icon}):null,(0,a.jsx)("span",{className:"graview-bar-host-words",children:m.label})]},m.label))})}):null,S?(0,a.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true",children:(0,a.jsx)("span",{className:"graview-bar-name",children:n})}):null,(0,a.jsxs)("div",{className:"graview-bar-tools",children:[d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:an,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:mr,style:{...te,display:void 0},children:(0,a.jsx)(rt,{})}),(0,a.jsxs)("div",{ref:on,className:"graview-bar-find","data-testid":"app-find",children:[(0,a.jsx)("div",{ref:sr,className:"graview-bar-find-slot",children:g}),(0,a.jsx)(et,{})]})]}):null,(0,a.jsx)("div",{ref:lr,className:"graview-bar-own","data-graview-bar-own":""}),v&&v.length>0?(0,a.jsx)(ot,{actions:v,folded:!(v.length<=2&&v.every(m=>m.iconOnly&&m.icon))&&(I||!gr)}):null,L?(0,a.jsx)(Ur,{status:L}):null,N?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)(_r,{scene:!ge,compact:I})}):null,f?(0,a.jsx)(Qr,{share:f}):null,(0,a.jsx)(Wr,{}),l]})]})]}),I&&me?(0,a.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:me}):null]})}var Yr=[],qe="graview:go-to-face";function zn({name:e,faces:n,rows:r,scheme:t}){let o=J("app-menu",{align:"start"}),i=()=>O.prefetch(),s=(0,y.useRef)(null),p=(0,y.useRef)(n);return p.current=n,(0,y.useEffect)(()=>{let l=s.current;if(!l)return;let d=u=>{let g=p.current?.[u.detail];!g||g.current||(g.reach?.(),g.go())};return l.addEventListener(qe,d),()=>l.removeEventListener(qe,d)},[]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-menu-open","data-testid":"app-menu-open",...o.trigger,ref:l=>{o.trigger.ref(l),s.current=l},onClick:o.toggle,onPointerEnter:i,onFocus:i,"aria-label":`${e} \u2014 app menu`,title:"App menu",...n?{"data-scene":n.scene.label,"data-pages":n.pages.label}:{},children:(0,a.jsx)(Qe,{})}),(0,a.jsx)("div",{...o.pane,"data-testid":"app-menu",hidden:!o.open,className:"graview-bar-list graview-app-menu",style:U,"aria-label":`${e} \u2014 app menu`,role:"group",children:o.open?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)(Ir,{faces:n,rows:r,scheme:t,close:()=>o.setOpen(!1)})}):null})]})}function Jn({mark:e="lock"}){return e==="lock"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("rect",{x:"2.75",y:"6.25",width:"8.5",height:"6",rx:"1.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M4.75 6.25 V4.5 a2.25 2.25 0 0 1 4.5 0 V6.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"})]}):e==="globe"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"5.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M1.75 7 H12.25 M7 1.75 C4.75 4.5 4.75 9.5 7 12.25 M7 1.75 C9.25 4.5 9.25 9.5 7 12.25",fill:"none",stroke:"currentColor",strokeWidth:"1.1"})]}):e==="people"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("circle",{cx:"5",cy:"5",r:"2",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M1.5 12 a3.5 3.5 0 0 1 7 0",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("circle",{cx:"10",cy:"5.5",r:"1.6",fill:"none",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M9.5 9 a3 3 0 0 1 3.5 3",fill:"none",stroke:"currentColor",strokeWidth:"1.2"})]}):(0,a.jsx)(Ue,{icon:e})}function Qr({share:e}){let n=J("share"),r=`graview-share-said-${(0,y.useId)().replace(/:/g,"")}`,t=e.label??"Share",o=e.link;return(0,a.jsxs)("div",{className:"graview-bar-share-at",children:[(0,a.jsxs)("button",{type:"button",className:"graview-bar-tool graview-bar-share","data-testid":"app-share-open",...n.trigger,onClick:n.toggle,"aria-describedby":r,title:e.description,children:[(0,a.jsx)(Jn,{mark:e.mark}),(0,a.jsx)("span",{className:"graview-bar-share-words",children:t})]}),(0,a.jsx)("span",{id:r,className:"graview-bar-said",children:e.description}),(0,a.jsxs)("div",{...n.pane,"data-testid":"app-share",hidden:!n.open,className:"graview-bar-share-pane",style:U,role:"group","aria-label":t,children:[(0,a.jsx)("p",{"data-testid":"app-share-said",children:e.description}),o||e.secondLink?(0,a.jsxs)("div",{className:"graview-bar-share-links",children:[o?(0,a.jsx)(Kn,{link:o,testId:"app-share-link",close:()=>n.setOpen(!1)}):null,e.secondLink?(0,a.jsx)(Kn,{link:e.secondLink,testId:"app-share-second-link",close:()=>n.setOpen(!1)}):null]}):null]})]})}function Ur({status:e}){let n=`graview-status-said-${(0,y.useId)().replace(/:/g,"")}`,r=(0,a.jsxs)(a.Fragment,{children:[e.icon?(0,a.jsx)(Jn,{mark:e.icon}):null,(0,a.jsx)("span",{className:"graview-bar-status-words",children:e.label})]}),t={className:"graview-bar-tool graview-bar-status","data-testid":"app-status",title:e.description,"aria-describedby":n,...e.icon?{"data-icon":""}:{}};return(0,a.jsxs)(a.Fragment,{children:[e.href!==void 0?(0,a.jsx)("a",{...t,href:e.href,...e.target?{target:e.target,rel:"noopener"}:{},children:r}):(0,a.jsx)("span",{...t,tabIndex:0,children:r}),(0,a.jsx)("span",{id:n,className:"graview-bar-said",children:e.description})]})}function Kn({link:e,testId:n,close:r}){return e.href!==void 0?(0,a.jsx)("a",{href:e.href,"data-testid":n,...e.target?{target:e.target,rel:"noopener"}:{},onClick:()=>{e.onSelect?.(),r()},children:e.label}):(0,a.jsx)("button",{type:"button","data-testid":n,onClick:()=>{r(),e.onSelect?.()},children:e.label})}function Jr(e){let n=e.querySelector(".graview-bar-row"),r=e.getBoundingClientRect();if(!n||!(r.width>0))return 0;let t=r.right-(parseFloat(getComputedStyle(n).paddingRight)||0),o=t;for(let i of n.querySelectorAll(":scope > *, .graview-bar-tools > *")){if(i.classList.contains("graview-bar-tools")||i.classList.contains("graview-bar-ruler")||i.classList.contains("graview-bar-said"))continue;let s=i.getBoundingClientRect();s.width>0&&(o=Math.max(o,s.right))}return Math.max(0,o-t)}function Xr(e){let n=e.querySelector(".graview-bar-app"),r=e.querySelector(".graview-bar-ruler>.graview-bar-name");if(!n||!r)return 0;let t=s=>s?.getBoundingClientRect().width??0,o=t(n.firstElementChild)-t(e.querySelector(".graview-bar-app-name"))+t(r)+2,i=parseFloat(getComputedStyle(n).maxWidth)/100*(n.parentElement.clientWidth-2*n.offsetLeft)||1/0;return o>i+.5?null:Math.max(0,o-t(n))}var Xn=e=>e.button===0&&!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey);function Zr(){let e=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(e)?"\u2318K":"Ctrl K"}function et(){let e=Vn(re()?.aiDesk);return(0,a.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:e?"/":Zr()})}function K({size:e,box:n=e,children:r}){return(0,a.jsx)("svg",{width:e,height:e,viewBox:`0 0 ${n} ${n}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:r})}function nt(){return(0,a.jsxs)(K,{size:14,children:[(0,a.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,a.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 Qe(){return(0,a.jsx)(K,{size:10,children:(0,a.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function rt(){return(0,a.jsxs)(K,{size:16,children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function tt({place:e}){if(e.key===X)return(0,a.jsx)(nt,{});if(e.group==="home")return(0,a.jsx)(K,{size:13,box:14,children:(0,a.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let n=e.kind?`hsl(${Math.round(gn(e.kind))} 55% 52%`:"rgb(128 128 128";return(0,a.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:e.group==="lists"?`${n})`:`linear-gradient(${n}), ${n})) center / 6px 4px no-repeat, ${n} / 0.35)`}})}var at=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],Pe="More";function ot({actions:e,folded:n}){let r=J("host-actions",{popover:n}),t=e.map(i=>i.label).join(", "),o=i=>e.map(s=>(0,a.jsxs)("button",{type:"button",className:n?"graview-bar-host-action graview-bar-item":"graview-bar-host-action","data-testid":"host-bar-action",...!n&&s.iconOnly&&s.icon?{"data-icon-only":"",title:s.label}:{},onClick:()=>{i(),s.onSelect()},children:[s.icon?(0,a.jsx)(Ue,{icon:s.icon}):null,(0,a.jsx)("span",{className:"graview-bar-host-words",children:s.label})]},s.label));return n?(0,a.jsxs)("div",{className:"graview-bar-host",children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-host-action","data-testid":"host-bar-actions-open","data-folded":"",...r.trigger,onClick:r.toggle,"aria-label":`${Pe} \u2014 ${t}`,title:t,children:(0,a.jsxs)(K,{size:16,children:[(0,a.jsx)("circle",{cx:"3",cy:"8",r:"1.4",fill:"currentColor"}),(0,a.jsx)("circle",{cx:"8",cy:"8",r:"1.4",fill:"currentColor"}),(0,a.jsx)("circle",{cx:"13",cy:"8",r:"1.4",fill:"currentColor"})]})}),(0,a.jsx)("div",{...r.pane,"data-testid":"host-bar-actions",hidden:!r.open,className:"graview-bar-list",style:U,"aria-label":"From the host",children:o(()=>r.setOpen(!1))})]}):(0,a.jsx)("div",{className:"graview-bar-host","data-testid":"host-bar-actions-standing",role:"group","aria-label":"From the host",children:o(()=>{})})}function Ue({icon:e}){let n=le(W(e)?e:void 0);return n?(0,a.jsx)("span",{className:"graview-bar-host-mark","aria-hidden":"true",dangerouslySetInnerHTML:n}):(0,a.jsx)("span",{className:"graview-bar-host-mark","aria-hidden":"true",children:e})}function Zn({place:e,current:n,reach:r,standing:t,done:o}){let i=e.key===n,s=r.href?.(e.path);return(0,a.jsxs)(s!==void 0?"a":"button",{className:t?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${e.key}`,"data-place-path":e.path,...i?{"aria-current":"page"}:{},...s!==void 0?{href:s}:{type:"button"},onClick:l=>{o(),r.go&&(s!==void 0&&!Xn(l)||(l.preventDefault(),r.go(e)))},children:[t?null:(0,a.jsx)("span",{className:"graview-bar-mark",children:(0,a.jsx)(tt,{place:e})}),t&&i?(0,a.jsx)("span",{"data-testid":"app-place-current",children:e.label}):(0,a.jsx)("span",{children:e.label})]})}function it({places:e,current:n,reach:r,id:t,done:o}){return(0,a.jsx)(a.Fragment,{children:at.map(({group:i,heading:s})=>{let p=e.filter(d=>d.group===i);if(p.length===0)return null;let l=`${t}-${i}`;return(0,a.jsxs)("div",{role:"group",...s?{"aria-labelledby":l}:{"aria-label":p[0].label},"data-place-group":i,children:[s?(0,a.jsx)("p",{id:l,children:s}):null,(0,a.jsx)("ul",{children:p.map(d=>(0,a.jsx)("li",{children:(0,a.jsx)(Zn,{place:d,current:n,reach:r,standing:!1,done:o})},d.key))})]},i)})})}function st({places:e,current:n,here:r,reach:t,scene:o,stands:i}){let s=J("places"),p=(0,y.useRef)(i);s.open||(p.current=i);let l=p.current,u=e.find(v=>v.key===n)?.label??r??"Places",g=l?e.filter((v,B)=>!l.includes(B)):e,c=lt(e,n,o),h=re(),b=h?.keptViews?.current(),S=!!(b&&(b.removed.length>0||h.views.places().some(v=>v.hidden)||b.may.lenses&&(h.views.arrangement?.()?.hide?.length??0)>0));return(0,a.jsxs)("nav",{className:l?"graview-bar-places":"graview-bar-place-at","aria-label":o?"What the scene shows":"The app\u2019s places",...l?{"data-testid":"app-places-standing"}:{},...c,children:[l?.map(v=>(0,a.jsx)(Zn,{place:e[v],current:n,reach:t,standing:!0,done:()=>{}},e[v].key)),g.length>0||S?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",className:l?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...s.trigger,onClick:s.toggle,"aria-label":l?`${Pe} \u2014 ${g.length} more ${o?"pictures":"places"}`:`${u} \u2014 ${o?"what the scene shows":"every place"}`,title:l?g.map(v=>v.label).join(", "):u,children:[l?Pe:(0,a.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:u}),(0,a.jsx)(Qe,{})]}),(0,a.jsxs)("div",{...s.pane,"data-testid":"app-places",hidden:!s.open,className:"graview-bar-list",style:U,children:[(0,a.jsx)(it,{places:g,current:n,reach:t,id:s.pane.id,done:()=>s.setOpen(!1)}),S&&s.open?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)(Dr,{id:s.pane.id,scene:o,reach:t,done:()=>s.setOpen(!1)})}):null]})]}):null]})}function lt(e,n,r){let t=re()?.setMenuAt,o=i=>{let s=i.target.closest?.("[data-place-path],[data-testid=app-places-open]");if(!s||!t)return;let p={at:0};i.type==="pointerdown"?document.addEventListener("pointerup",()=>p.at||=Date.now(),{once:!0}):i.preventDefault();let l=i.nativeEvent;O.load().then(d=>d.placeGesture(l,s,e,n,r,t,p),String)};return{onContextMenu:i=>i.shiftKey||o(i),onKeyDown:i=>(i.key==="ContextMenu"||i.key==="F10"&&i.shiftKey)&&o(i),onPointerDown:i=>i.pointerType!=="mouse"&&i.isPrimary&&o(i)}}function dt(e,n,r){let t=e.querySelector("[data-graview-bar-ruler]"),o=e.querySelector(".graview-bar-mid");if(!t||!o)return null;let i=e.querySelector(".graview-bar-find");if(i?.matches(":focus-within"))return;if(e.getBoundingClientRect().width<de)return null;let s=Xr(e);if(s===null)return null;let p=[...t.children].map(h=>h.getBoundingClientRect().width),l=p.pop()??0,d=o.getBoundingClientRect().left+s,u=i&&getComputedStyle(i).display!=="none"?i.getBoundingClientRect():void 0,g=(u&&u.width>0?u.right-d-(parseFloat(getComputedStyle(i).minWidth)||0)-16:o.getBoundingClientRect().width-s)-Jr(e),c=[...r].map(h=>h!=="0");return Un({widths:p,current:n,room:Math.floor(g),more:l,primary:c})?.join(",")??null}var ct=e=>`graview:lenses:${e}`,pt=(e,n)=>e?.name??n.kinds.join(",");function Je(e){try{let n=JSON.parse(localStorage.getItem(ct(e))??"[]");return Array.isArray(n)?n.filter(r=>typeof r?.title=="string"&&typeof r.lens=="string"):[]}catch{return[]}}var j=w(R(),1);var E=w(x(),1);function ut({profileHref:e,keeping:n,hostActions:r=gt,signature:t=!1}){let{store:o,principal:i,seats:s,people:p}=xe(),l=J("profile"),d=l.open,[u,g]=(0,j.useState)(!1);(0,j.useEffect)(()=>yt(Ee),[]),d&&!u&&g(!0),(0,j.useEffect)(()=>{d&&Ee()},[d]);let c=i.id===void 0?void 0:o.graph.getNode(i.id),h=c===void 0?i.id===void 0?"Nobody in particular":cn(i,{graph:o.graph,schema:o.schema,seats:s,people:p}):ye(o.schema.tryDefinition(c.kind),c);return(0,E.jsxs)("div",{style:{position:"relative"},children:[(0,E.jsx)("button",{type:"button","data-testid":"profile-button",...l.trigger,onClick:l.toggle,onPointerEnter:Ee,onFocus:Ee,"aria-label":`${h} \u2014 you, your seat and your settings`,title:`${h} \u2014 you, your seat and your settings`,style:{...te,borderRadius:999},children:(0,E.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:G-4,height:G-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:ht(h)})}),(0,E.jsxs)("section",{...l.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!d,style:{...U,width:280,maxWidth:"calc(100vw - 32px)",maxHeight:"min(62cqh, 520px)",overflowY:"auto",overflowX:"hidden",display:d?"grid":"none",gap:12,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[u?(0,E.jsx)(j.Suspense,{fallback:null,children:(0,E.jsx)(ft,{part:"top",name:h,me:c,profileHref:e,hostActions:r,close:()=>l.setOpen(!1)})}):null,(0,E.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:vt,children:[(0,E.jsx)("span",{style:wt,children:"Keeping this app"}),n]}),u?(0,E.jsx)(j.Suspense,{fallback:null,children:(0,E.jsx)(mt,{part:"rest",name:h,me:c,hostActions:r,signature:t,close:()=>l.setOpen(!1)})}):null]})]})}var gt=[],Ee=()=>O.prefetch(),ft=O.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{what:"The rest of your menu"}),mt=O.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{quiet:!0});function yt(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},r=globalThis;if(r.requestIdleCallback){let o=r.requestIdleCallback(n,{timeout:5e3});return()=>r.cancelIdleCallback?.(o)}let t=setTimeout(n,2500);return()=>clearTimeout(t)}function ht(e){return(e.trim()[0]??"?").toUpperCase()}var wt={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},vt={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function bt(e){return!(e==="hidden"||e===!1)}var ce=w(R(),1);var er="Everything",Ne="scene:district:",Ae=e=>`scene:${e.kind}:${e.as}`;function nr(e){let{view:n}=e,r=e.places.filter(c=>!e.hidden.has(c.kind)),t=ie(r),o=(c,h)=>{if(c===X)return $e(De(h,!0),"view",null);if(c.startsWith(Ne))return An($e(De(h,!1),"view",null),c.slice(Ne.length));let b=t.find(S=>Ae(S)===c);return b?Hn(h,b.over?.find(S=>h.focusId===se(S))??b.kind,b.as):null},i=n.within?.view,s=c=>n.focusId===se(c.kind)&&(i===void 0?r.filter(h=>h.kind===c.kind).at(-1)===c:i===c.as),p=r.find(c=>s(c)&&(i!==void 0||!n.overview)),l=p?t.find(c=>we(c,p)):void 0,d=t.filter(c=>!c.hidden||c===l),u=l||n.overview||!n.focusId?void 0:kt(n.focusId,e);return{places:[{key:X,label:er,path:`${ve}${ke(o(X,be))}`,group:"home"},...d.map(c=>({key:Ae(c),label:ne(c,r,e.schema),path:`${ve}${ke(o(Ae(c),be))}`,group:"pictures",kind:c.kind,hidden:c.hidden})),...u?[{...u,path:`${ve}${ke(o(u.key,be))}`}]:[]],current:l?Ae(l):u?.key??X,to:o}}function kt(e,n){let r=Bn(e);if(r.length>0)return r.some(o=>n.hidden.has(o))?void 0:{key:`${Ne}${e}`,label:r.map(o=>he(n.schema,o)).join(" and "),group:"lists",kind:r[0],hidden:!0};let t=n.nameOf?.(e);return t?{key:`${Ne}${e}`,label:t,group:"lists",hidden:!0}:void 0}function xt(){let{store:e,views:n,hiddenKinds:r,principal:t}=xe(),{view:o,go:i}=Rn(),s=n.places(),p=(0,ce.useMemo)(()=>e.kindsKeptFrom(t),[e,t]),l=(0,ce.useMemo)(()=>g=>{let c=e.graph.getNode(g);if(!(!c||r.has(c.kind)||p.has(c.kind)))return ye(e.schema.tryDefinition(c.kind),c)},[e,r,p]),d=(0,ce.useMemo)(()=>nr({places:s,hidden:r,view:o,schema:e.schema,nameOf:l}),[s,r,o,e.schema,l]),u=(0,ce.useMemo)(()=>({go:g=>{let c=d.to(g.key,o);c&&i(c)}}),[d,o,i]);return{places:d.places,current:d.current,reach:u}}var pe=w(x(),1);function St({clean:e="All rules hold"}){return On().length>0?null:(0,pe.jsx)("div",{style:{position:"relative",display:"inline-flex"},children:(0,pe.jsx)("button",{type:"button","data-testid":"standing","aria-disabled":!0,"aria-label":e,title:e,style:{...te,position:"relative",cursor:"default",color:"var(--graview-ink-muted)"},children:(0,pe.jsx)(rr,{tone:"var(--graview-good)"})})})}function Lt(e,n){return e.length===0?n:pn(e)}function rr({tone:e}){return(0,pe.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:e}})}function Pt(e,n,r=[]){if(e.focusId)return e.focusId;let o=(e.selection??[]).map(Nn).find(i=>i!==null)??r.find(i=>n.includes(i))??n[0]??null;return o===null?null:se(o)}var He=w(x(),1),Be=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.QQUZ5RTQ.js","./chunk.BJ3G7J2Z.js","./chunk.DIVANC3G.js","./chunk.KP7HUXH5.js","./chunk.KV3N6VRG.js","./chunk.FUTSLXWN.js","./chunk.MZSWWMX6.js","./chunk.NCBUECIW.js","./chunk.2T24FYAO.js","./chunk.JEQ6CA5M.js","./chunk.SUYYDJGZ.js","./chunk.YR7DKU5T.js","./chunk.WVUJXDXZ.js","./chunk.IRPMGHZN.js","./chunk.7QWGIGHM.js","./chunk.HRLCDBMO.js","./chunk.LZNHTROY.js","./chunk.36FKQJFM.js","./chunk.RHV73CBA.js","./chunk.MIE4TJRW.js","./chunk.RP6C2IUM.js","./chunk.RD2FSSLV.js","./chunk.T552MHMU.js","./chunk.ZGJUCVT5.js","./chunk.CVVNHQPO.js","./chunk.YIDNZTON.js","./chunk.QILGAV7H.js","./chunk.I6HIVTXU.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.NNYKLENL.js"))));function Et(){return Be.load().then(()=>{})}var At=[{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 Nt({schema:e,specs:n,kind:r,view:t}){let o=Be.current.frameworkViews(e,n).lookup(r,{cardinality:t.cardinality,fidelity:t.fidelity});return o?(0,He.jsx)(o,{...t}):null}var Bt=Be.part((e,n)=>(0,He.jsx)(Nt,{...n}),{what:"This view"});function tr(e,n,r){for(let t of n.kinds){let o=r?.[t];for(let i of At){let s=l=>(0,He.jsx)(Bt,{schema:n,specs:r,kind:t,view:l}),p=i.slot!==void 0&&o?.[i.slot]!==void 0;p&&(s.says=(l,d)=>Be.current?.frameworkViews(n,r).lookup(t,{cardinality:i.cardinality,fidelity:i.fidelity})?.says?.(l,d)),e.register(t,{cardinality:i.cardinality,fidelity:i.fidelity},p?s:Cn(s))}}return e}function Ht(e,n){return tr(Mn(e),e,n)}var Xe=w(R(),1);var $=w(x(),1),ar=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.HIJ72QX6.js","./chunk.BQWMHHAZ.js","./chunk.2QALBEWP.js","./chunk.WAIIXXVI.js","./chunk.RECTEAG4.js","./chunk.QQUZ5RTQ.js","./chunk.BJ3G7J2Z.js","./chunk.DIVANC3G.js","./chunk.KP7HUXH5.js","./chunk.4BSEYZMS.js","./chunk.KV3N6VRG.js","./chunk.FUTSLXWN.js","./chunk.MZSWWMX6.js","./chunk.HJCQ6I3S.js","./chunk.4QBW46XV.js","./chunk.U5Q7EVZQ.js","./chunk.NCBUECIW.js","./chunk.2T24FYAO.js","./chunk.JEQ6CA5M.js","./chunk.SUYYDJGZ.js","./chunk.YR7DKU5T.js","./chunk.5IM2X3VT.js","./chunk.BIDL7GQD.js","./chunk.NKUNCQB3.js","./chunk.HMV4ILAC.js","./chunk.XAN7QXMQ.js","./chunk.CHG522KL.js","./chunk.Q5WEOX3Q.js","./chunk.ZBK3FCVE.js","./chunk.DW6KXAUM.js","./chunk.MR776WQ2.js","./chunk.WVUJXDXZ.js","./chunk.IRPMGHZN.js","./chunk.7QWGIGHM.js","./chunk.HRLCDBMO.js","./chunk.LZNHTROY.js","./chunk.36FKQJFM.js","./chunk.RHV73CBA.js","./chunk.MIE4TJRW.js","./chunk.RP6C2IUM.js","./chunk.RD2FSSLV.js","./chunk.T552MHMU.js","./chunk.ZGJUCVT5.js","./chunk.CVVNHQPO.js","./chunk.YIDNZTON.js","./chunk.QILGAV7H.js","./chunk.I6HIVTXU.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.JJIKTTXB.js"))));function Tt({lens:e,view:n}){let r=ar.current.declaredLensView(e);return(0,$.jsx)(r,{...n})}var Ct=ar.part((e,n)=>(0,$.jsx)(Tt,{...n}),{what:"This picture"});function Mt(e){let n=t=>(0,$.jsx)(Xe.Suspense,{fallback:null,children:(0,$.jsx)(Ct,{lens:e,view:t})});e.lens==="blocks"&&(n.flows=!0);let r=e.lens==="blocks"?e.options.blocks?.[0]:void 0;return typeof r?.headline=="string"&&(n.lede=r),e.create===!1&&(n.creates=!1),n}var or=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.QQUZ5RTQ.js","./chunk.BJ3G7J2Z.js","./chunk.DIVANC3G.js","./chunk.KP7HUXH5.js","./chunk.KV3N6VRG.js","./chunk.FUTSLXWN.js","./chunk.MZSWWMX6.js","./chunk.NCBUECIW.js","./chunk.2T24FYAO.js","./chunk.JEQ6CA5M.js","./chunk.SUYYDJGZ.js","./chunk.YR7DKU5T.js","./chunk.WVUJXDXZ.js","./chunk.IRPMGHZN.js","./chunk.7QWGIGHM.js","./chunk.HRLCDBMO.js","./chunk.LZNHTROY.js","./chunk.36FKQJFM.js","./chunk.RHV73CBA.js","./chunk.MIE4TJRW.js","./chunk.RP6C2IUM.js","./chunk.RD2FSSLV.js","./chunk.T552MHMU.js","./chunk.ZGJUCVT5.js","./chunk.CVVNHQPO.js","./chunk.YIDNZTON.js","./chunk.QILGAV7H.js","./chunk.I6HIVTXU.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.3A3DCALP.js"))));function Ot({blocks:e,view:n}){let r=or.current.homeView(e);return(0,$.jsx)(r,{...n})}var Rt=or.part((e,n)=>(0,$.jsx)(Ot,{...n}),{what:"The home"});function Ft(e){let n=r=>(0,$.jsx)(Xe.Suspense,{fallback:null,children:(0,$.jsx)(Rt,{blocks:e,view:r})});return Object.defineProperty(n,Symbol.for("graview.home-blocks"),{value:!0}),n}function Vt(e,n){return n.home&&n.home.length>0&&e.home?.(Ft(n.home)),ir(e,n),e.arrange?.(n.pages),e}function ir(e,n,r){for(let t of kn(n).drawn){if(r&&e.places().some(s=>s.title===t.title))continue;let o=Mt(t),i={title:t.title,lens:t.lens,...t.across?{across:t.across}:{},...r?{beside:r}:{},...t.hidden?{hidden:!0}:{},over:t.kinds,...r?{}:{declared:!0}};for(let s of t.kinds)e.register(s,{cardinality:"many",fidelity:"full"},o,i),e.register(s,{cardinality:"many",fidelity:"summary"},o,i)}}function $t(e,n,r){r.length>0&&ir(e,{schema:n,lenses:r.map(({lens:t,...o})=>({...o,name:t}))},!0)}function Dt(e,n,r){$t(e,n,Je(r))}var q=w(R(),1),Te=w(x(),1);var Ze=e=>`graview:first-look:${e}`;function It(e,n){if(e.seen!==void 0)try{return typeof e.seen=="function"?e.seen():e.seen}catch{return!0}try{return window.localStorage.getItem(Ze(n))!==null}catch{return!1}}function _t(e,n){if(e.seen===void 0)try{window.localStorage.setItem(Ze(n),"seen")}catch{}}var Wt=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.DWMFLLJO.js")))),zt=Wt.part((e,n)=>{let r=e.FirstLookHints;return(0,Te.jsx)(r,{...n})},{quiet:!0});function Kt({firstLook:e,root:n,app:r}){let t=(0,q.useRef)(null);t.current=e===!0?{}:e||null;let[o,i]=(0,q.useState)(()=>t.current!==null&&typeof window<"u"&&!It(t.current,r)),s=(0,q.useCallback)(p=>{if(i(!1),p===null)return;let l=t.current??{};_t(l,r),l.onDone?.(p)},[r]);return!o||t.current===null?null:(0,Te.jsx)(q.Suspense,{fallback:null,children:(0,Te.jsx)(zt,{root:n,steps:t.current.steps??[],onEnd:s})})}export{Gt as a,Se as b,jt as c,Sr as d,qt as e,Vn as f,Yt as g,le as h,Vr as i,$r as j,Er as k,Ar as l,Le as m,Nr as n,Br as o,Hr as p,Cr as q,Mr as r,Or as s,O as t,zr as u,Kr as v,qn as w,Gr as x,G as y,te as z,qr as A,qe as B,ut as C,bt as D,xt as E,ct as F,pt as G,Je as H,St as I,Lt as J,rr as K,Pt as L,Vt as M,$t as N,Dt as O,Et as P,Ht as Q,Kt as R};
86
+ }`,te={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:G,height:G,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 qr({brand:e,name:n,heading:r=1,home:t,faces:o,places:i,current:s,reach:c,tools:l,find:d=!0,description:u,findBox:g,onFind:p,scenePlaces:h,skips:v,named:x=!0,actions:b,appMenu:B=Yr,scheme:ue,share:f,status:P}){let I=(0,y.useRef)(null),N=re()?.who.size,[ae,sr]=(0,y.useState)(null),[en,lr]=(0,y.useState)(null),[$,dr]=(0,y.useState)(!1),[Z,cr]=(0,y.useState)(!1),[pr,nn]=(0,y.useState)(!1),[rn,ur]=(0,y.useState)(null),[gr,fr]=(0,y.useState)(!0),ge=o?o.pages.current:!h,oe=ge?{places:i,current:s,reach:c}:h,Ce=oe&&{...oe,places:wn(oe.places),here:oe.places.find(m=>m.key===oe.current)?.label},k=Ce&&Ce.places.length>0?Ce:null,Me=k?k.places.findIndex(m=>m.key===k.current):-1,tn=k?k.places.map(m=>m.primary===!1?"0":"1").join(""):"",_=(0,y.useCallback)(()=>{let m=I.current;if(!m)return;let H=dt(m,Me,tn);H!==void 0&&ur(H)},[Me,tn]);(0,y.useLayoutEffect)(()=>{let m=I.current;if(!m)return;let H=()=>{let T=m.getBoundingClientRect().width;dr(T<de),cr(T<Qn);let kr=m.querySelector("[data-graview-bar-host-ruler]");fr(T>=de+(kr?.getBoundingClientRect().width??0)),m.style.setProperty("--graview-bar-width",`${Math.round(T)}px`),_()};H();let Y=typeof document>"u"?void 0:document.fonts;if(Y?.ready.then(_),Y?.addEventListener?.("loadingdone",_),typeof ResizeObserver>"u")return()=>Y?.removeEventListener?.("loadingdone",_);let Q=new ResizeObserver(H);Q.observe(m);for(let T of m.querySelectorAll(".graview-bar-tools > *"))Q.observe(T);let ee=m.querySelector(".graview-bar-tools"),F=typeof MutationObserver>"u"||!ee?null:new MutationObserver(()=>{for(let T of ee.children)Q.observe(T)});return F?.observe(ee,{childList:!0}),()=>{F?.disconnect(),Q.disconnect(),Y?.removeEventListener?.("loadingdone",_)}},[_]);let Oe=(0,y.useRef)(p);Oe.current=p,(0,y.useLayoutEffect)(()=>{Oe.current?.(d&&ae?{slot:ae,compact:Z,own:en}:null)},[d,ae,Z,en]),(0,y.useLayoutEffect)(()=>()=>Oe.current?.(null),[]);let mr=(0,y.useCallback)(()=>{nn(!0),requestAnimationFrame(()=>ae?.querySelector("input")?.focus())},[ae]),an=(0,y.useRef)(null),fe=(0,y.useRef)(!1),Re=(0,y.useCallback)(()=>{nn(!1),fe.current&&(fe.current=!1,requestAnimationFrame(()=>an.current?.focus()))},[]),on=(0,y.useRef)(null);(0,y.useEffect)(()=>{let m=on.current;if(!m||!Z)return;let H=()=>!!m.querySelector("input")?.value,Y=F=>{let T=F.relatedTarget;T instanceof Node&&m.contains(T)||H()||Re()},Q=F=>{F.key==="Escape"&&(fe.current=!0)},ee=F=>{F.key==="Escape"&&queueMicrotask(()=>{!F.defaultPrevented||!H()?Re():fe.current=!1})};return m.addEventListener("focusout",Y),m.addEventListener("keydown",Q,!0),m.addEventListener("keydown",ee),()=>{m.removeEventListener("focusout",Y),m.removeEventListener("keydown",Q,!0),m.removeEventListener("keydown",ee)}},[Z,Re]);let yr=r===!1?"span":`h${r}`,hr=t.href!==void 0?"a":"button",wr=m=>H=>{!m||!Xn(H)||(H.preventDefault(),m())},vr=!ge,sn=k&&!$&&rn!==null&&!(Me<0&&k.here)?rn.split(",").map(Number).filter(m=>m<k.places.length):null,me=k?(0,a.jsx)(st,{places:k.places,current:k.current,here:k.here,reach:k.reach,scene:vr,stands:sn}):null,br=k?k.places.map(m=>m.label).join(`
87
+ `):"";(0,y.useLayoutEffect)(_,[_,n,e,br,k?.current,ge,$,Z,d]);let ln=!!o||B.length>0||!!ue;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("header",{ref:I,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...pr&&Z?{"data-finding":""}:{},children:[(0,a.jsx)("style",{children:jr}),v,(0,a.jsxs)("div",{className:"graview-bar-row",children:[x?(0,a.jsxs)("div",{className:"graview-bar-app",children:[(0,a.jsx)(yr,{className:"graview-bar-name",children:(0,a.jsxs)(hr,{...t.href!==void 0?{href:t.href,onClick:wr(t.go)}:{type:"button",onClick:t.go},"data-testid":"app-home",...t.current?{"aria-current":"page"}:{},title:u?`${n} \u2014 ${u}`:`${n} \u2014 home`,className:"graview-bar-home",children:[(0,a.jsx)(Ge,{brand:e,size:20}),(0,a.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:n})]})}),ln?(0,a.jsx)(zn,{name:n,faces:o,rows:B,scheme:ue}):null]}):ln?(0,a.jsx)(zn,{name:n,faces:o,rows:B,scheme:ue}):null,(0,a.jsx)("div",{className:"graview-bar-mid",...sn?{"data-places":"standing"}:!$&&me?{"data-place":""}:{},children:$?null:me}),!$&&k&&k.places.length>1?(0,a.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[k.places.map(m=>(0,a.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,a.jsxs)("span",{className:"graview-bar-at",children:[Pe,(0,a.jsx)(Qe,{})]})]}):null,b&&b.length>0?(0,a.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-host-ruler":"",children:(0,a.jsx)("span",{className:"graview-bar-host",children:b.map(m=>(0,a.jsxs)("span",{className:"graview-bar-host-action",...m.iconOnly&&m.icon?{"data-icon-only":""}:{},children:[m.icon?(0,a.jsx)(Ue,{icon:m.icon}):null,(0,a.jsx)("span",{className:"graview-bar-host-words",children:m.label})]},m.label))})}):null,x?(0,a.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true",children:(0,a.jsx)("span",{className:"graview-bar-name",children:n})}):null,(0,a.jsxs)("div",{className:"graview-bar-tools",children:[d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:an,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:mr,style:{...te,display:void 0},children:(0,a.jsx)(rt,{})}),(0,a.jsxs)("div",{ref:on,className:"graview-bar-find","data-testid":"app-find",children:[(0,a.jsx)("div",{ref:sr,className:"graview-bar-find-slot",children:g}),(0,a.jsx)(et,{})]})]}):null,(0,a.jsx)("div",{ref:lr,className:"graview-bar-own","data-graview-bar-own":""}),b&&b.length>0?(0,a.jsx)(ot,{actions:b,folded:!(b.length<=2&&b.every(m=>m.iconOnly&&m.icon))&&($||!gr)}):null,P?(0,a.jsx)(Ur,{status:P}):null,N?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)(_r,{scene:!ge,compact:$})}):null,f?(0,a.jsx)(Qr,{share:f}):null,(0,a.jsx)(Wr,{}),l]})]})]}),$&&me?(0,a.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:me}):null]})}var Yr=[],qe="graview:go-to-face";function zn({name:e,faces:n,rows:r,scheme:t}){let o=J("app-menu",{align:"start"}),i=()=>O.prefetch(),s=(0,y.useRef)(null),c=(0,y.useRef)(n);return c.current=n,(0,y.useEffect)(()=>{let l=s.current;if(!l)return;let d=u=>{let g=c.current?.[u.detail];!g||g.current||(g.reach?.(),g.go())};return l.addEventListener(qe,d),()=>l.removeEventListener(qe,d)},[]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-menu-open","data-testid":"app-menu-open",...o.trigger,ref:l=>{o.trigger.ref(l),s.current=l},onClick:o.toggle,onPointerEnter:i,onFocus:i,"aria-label":`${e} \u2014 app menu`,title:"App menu",...n?{"data-scene":n.scene.label,"data-pages":n.pages.label}:{},children:(0,a.jsx)(Qe,{})}),(0,a.jsx)("div",{...o.pane,"data-testid":"app-menu",hidden:!o.open,className:"graview-bar-list graview-app-menu",style:U,"aria-label":`${e} \u2014 app menu`,role:"group",children:o.open?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)($r,{faces:n,rows:r,scheme:t,close:()=>o.setOpen(!1)})}):null})]})}function Jn({mark:e="lock"}){return e==="lock"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("rect",{x:"2.75",y:"6.25",width:"8.5",height:"6",rx:"1.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M4.75 6.25 V4.5 a2.25 2.25 0 0 1 4.5 0 V6.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"})]}):e==="globe"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"5.25",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M1.75 7 H12.25 M7 1.75 C4.75 4.5 4.75 9.5 7 12.25 M7 1.75 C9.25 4.5 9.25 9.5 7 12.25",fill:"none",stroke:"currentColor",strokeWidth:"1.1"})]}):e==="people"?(0,a.jsxs)(K,{size:14,children:[(0,a.jsx)("circle",{cx:"5",cy:"5",r:"2",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("path",{d:"M1.5 12 a3.5 3.5 0 0 1 7 0",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,a.jsx)("circle",{cx:"10",cy:"5.5",r:"1.6",fill:"none",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M9.5 9 a3 3 0 0 1 3.5 3",fill:"none",stroke:"currentColor",strokeWidth:"1.2"})]}):(0,a.jsx)(Ue,{icon:e})}function Qr({share:e}){let n=J("share"),r=`graview-share-said-${(0,y.useId)().replace(/:/g,"")}`,t=e.label??"Share",o=e.link;return(0,a.jsxs)("div",{className:"graview-bar-share-at",children:[(0,a.jsxs)("button",{type:"button",className:"graview-bar-tool graview-bar-share","data-testid":"app-share-open",...n.trigger,onClick:n.toggle,"aria-describedby":r,title:e.description,children:[(0,a.jsx)(Jn,{mark:e.mark}),(0,a.jsx)("span",{className:"graview-bar-share-words",children:t})]}),(0,a.jsx)("span",{id:r,className:"graview-bar-said",children:e.description}),(0,a.jsxs)("div",{...n.pane,"data-testid":"app-share",hidden:!n.open,className:"graview-bar-share-pane",style:U,role:"group","aria-label":t,children:[(0,a.jsx)("p",{"data-testid":"app-share-said",children:e.description}),o||e.secondLink?(0,a.jsxs)("div",{className:"graview-bar-share-links",children:[o?(0,a.jsx)(Kn,{link:o,testId:"app-share-link",close:()=>n.setOpen(!1)}):null,e.secondLink?(0,a.jsx)(Kn,{link:e.secondLink,testId:"app-share-second-link",close:()=>n.setOpen(!1)}):null]}):null]})]})}function Ur({status:e}){let n=`graview-status-said-${(0,y.useId)().replace(/:/g,"")}`,r=(0,a.jsxs)(a.Fragment,{children:[e.icon?(0,a.jsx)(Jn,{mark:e.icon}):null,(0,a.jsx)("span",{className:"graview-bar-status-words",children:e.label})]}),t={className:"graview-bar-tool graview-bar-status","data-testid":"app-status",title:e.description,"aria-describedby":n,...e.icon?{"data-icon":""}:{}};return(0,a.jsxs)(a.Fragment,{children:[e.href!==void 0?(0,a.jsx)("a",{...t,href:e.href,...e.target?{target:e.target,rel:"noopener"}:{},children:r}):(0,a.jsx)("span",{...t,tabIndex:0,children:r}),(0,a.jsx)("span",{id:n,className:"graview-bar-said",children:e.description})]})}function Kn({link:e,testId:n,close:r}){return e.href!==void 0?(0,a.jsx)("a",{href:e.href,"data-testid":n,...e.target?{target:e.target,rel:"noopener"}:{},onClick:()=>{e.onSelect?.(),r()},children:e.label}):(0,a.jsx)("button",{type:"button","data-testid":n,onClick:()=>{r(),e.onSelect?.()},children:e.label})}function Jr(e){let n=e.querySelector(".graview-bar-row"),r=e.getBoundingClientRect();if(!n||!(r.width>0))return 0;let t=r.right-(parseFloat(getComputedStyle(n).paddingRight)||0),o=t;for(let i of n.querySelectorAll(":scope > *, .graview-bar-tools > *")){if(i.classList.contains("graview-bar-tools")||i.classList.contains("graview-bar-ruler")||i.classList.contains("graview-bar-said"))continue;let s=i.getBoundingClientRect();s.width>0&&(o=Math.max(o,s.right))}return Math.max(0,o-t)}function Xr(e){let n=e.querySelector(".graview-bar-app"),r=e.querySelector(".graview-bar-ruler>.graview-bar-name");if(!n||!r)return 0;let t=s=>s?.getBoundingClientRect().width??0,o=t(n.firstElementChild)-t(e.querySelector(".graview-bar-app-name"))+t(r)+2,i=parseFloat(getComputedStyle(n).maxWidth)/100*(n.parentElement.clientWidth-2*n.offsetLeft)||1/0;return o>i+.5?null:Math.max(0,o-t(n))}var Xn=e=>e.button===0&&!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey);function Zr(){let e=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(e)?"\u2318K":"Ctrl K"}function et(){let e=Vn(re()?.aiDesk);return(0,a.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:e?"/":Zr()})}function K({size:e,box:n=e,children:r}){return(0,a.jsx)("svg",{width:e,height:e,viewBox:`0 0 ${n} ${n}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:r})}function nt(){return(0,a.jsxs)(K,{size:14,children:[(0,a.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,a.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 Qe(){return(0,a.jsx)(K,{size:10,children:(0,a.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function rt(){return(0,a.jsxs)(K,{size:16,children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function tt({place:e}){if(e.key===X)return(0,a.jsx)(nt,{});if(e.group==="home")return(0,a.jsx)(K,{size:13,box:14,children:(0,a.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let n=e.kind?`hsl(${Math.round(gn(e.kind))} 55% 52%`:"rgb(128 128 128";return(0,a.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:e.group==="lists"?`${n})`:`linear-gradient(${n}), ${n})) center / 6px 4px no-repeat, ${n} / 0.35)`}})}var at=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],Pe="More";function ot({actions:e,folded:n}){let r=J("host-actions",{popover:n}),t=e.map(i=>i.label).join(", "),o=i=>e.map(s=>(0,a.jsxs)("button",{type:"button",className:n?"graview-bar-host-action graview-bar-item":"graview-bar-host-action","data-testid":"host-bar-action",...!n&&s.iconOnly&&s.icon?{"data-icon-only":"",title:s.label}:{},onClick:()=>{i(),s.onSelect()},children:[s.icon?(0,a.jsx)(Ue,{icon:s.icon}):null,(0,a.jsx)("span",{className:"graview-bar-host-words",children:s.label})]},s.label));return n?(0,a.jsxs)("div",{className:"graview-bar-host",children:[(0,a.jsx)("button",{type:"button",className:"graview-bar-host-action","data-testid":"host-bar-actions-open","data-folded":"",...r.trigger,onClick:r.toggle,"aria-label":`${Pe} \u2014 ${t}`,title:t,children:(0,a.jsxs)(K,{size:16,children:[(0,a.jsx)("circle",{cx:"3",cy:"8",r:"1.4",fill:"currentColor"}),(0,a.jsx)("circle",{cx:"8",cy:"8",r:"1.4",fill:"currentColor"}),(0,a.jsx)("circle",{cx:"13",cy:"8",r:"1.4",fill:"currentColor"})]})}),(0,a.jsx)("div",{...r.pane,"data-testid":"host-bar-actions",hidden:!r.open,className:"graview-bar-list",style:U,"aria-label":"From the host",children:o(()=>r.setOpen(!1))})]}):(0,a.jsx)("div",{className:"graview-bar-host","data-testid":"host-bar-actions-standing",role:"group","aria-label":"From the host",children:o(()=>{})})}function Ue({icon:e}){let n=le(W(e)?e:void 0);return n?(0,a.jsx)("span",{className:"graview-bar-host-mark","aria-hidden":"true",dangerouslySetInnerHTML:n}):(0,a.jsx)("span",{className:"graview-bar-host-mark","aria-hidden":"true",children:e})}function Zn({place:e,current:n,reach:r,standing:t,done:o}){let i=e.key===n,s=r.href?.(e.path);return(0,a.jsxs)(s!==void 0?"a":"button",{className:t?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${e.key}`,"data-place-path":e.path,...i?{"aria-current":"page"}:{},...s!==void 0?{href:s}:{type:"button"},onClick:l=>{o(),r.go&&(s!==void 0&&!Xn(l)||(l.preventDefault(),r.go(e)))},children:[t?null:(0,a.jsx)("span",{className:"graview-bar-mark",children:(0,a.jsx)(tt,{place:e})}),t&&i?(0,a.jsx)("span",{"data-testid":"app-place-current",children:e.label}):(0,a.jsx)("span",{children:e.label})]})}function it({places:e,current:n,reach:r,id:t,done:o}){return(0,a.jsx)(a.Fragment,{children:at.map(({group:i,heading:s})=>{let c=e.filter(d=>d.group===i);if(c.length===0)return null;let l=`${t}-${i}`;return(0,a.jsxs)("div",{role:"group",...s?{"aria-labelledby":l}:{"aria-label":c[0].label},"data-place-group":i,children:[s?(0,a.jsx)("p",{id:l,children:s}):null,(0,a.jsx)("ul",{children:c.map(d=>(0,a.jsx)("li",{children:(0,a.jsx)(Zn,{place:d,current:n,reach:r,standing:!1,done:o})},d.key))})]},i)})})}function st({places:e,current:n,here:r,reach:t,scene:o,stands:i}){let s=J("places"),c=(0,y.useRef)(i);s.open||(c.current=i);let l=c.current,u=e.find(b=>b.key===n)?.label??r??"Places",g=l?e.filter((b,B)=>!l.includes(B)):e,p=lt(e,n,o),h=re(),v=h?.keptViews?.current(),x=!!(v&&(v.removed.length>0||h.views.places().some(b=>b.hidden)||v.may.lenses&&(h.views.arrangement?.()?.hide?.length??0)>0));return(0,a.jsxs)("nav",{className:l?"graview-bar-places":"graview-bar-place-at","aria-label":o?"What the scene shows":"The app\u2019s places",...l?{"data-testid":"app-places-standing"}:{},...p,children:[l?.map(b=>(0,a.jsx)(Zn,{place:e[b],current:n,reach:t,standing:!0,done:()=>{}},e[b].key)),g.length>0||x?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",className:l?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...s.trigger,onClick:s.toggle,"aria-label":l?`${Pe} \u2014 ${g.length} more ${o?"pictures":"places"}`:`${u} \u2014 ${o?"what the scene shows":"every place"}`,title:l?g.map(b=>b.label).join(", "):u,children:[l?Pe:(0,a.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:u}),(0,a.jsx)(Qe,{})]}),(0,a.jsxs)("div",{...s.pane,"data-testid":"app-places",hidden:!s.open,className:"graview-bar-list",style:U,children:[(0,a.jsx)(it,{places:g,current:n,reach:t,id:s.pane.id,done:()=>s.setOpen(!1)}),x&&s.open?(0,a.jsx)(y.Suspense,{fallback:null,children:(0,a.jsx)(Ir,{id:s.pane.id,scene:o,reach:t,done:()=>s.setOpen(!1)})}):null]})]}):null]})}function lt(e,n,r){let t=re()?.setMenuAt,o=i=>{let s=i.target.closest?.("[data-place-path],[data-testid=app-places-open]");if(!s||!t)return;let c={at:0};i.type==="pointerdown"?document.addEventListener("pointerup",()=>c.at||=Date.now(),{once:!0}):i.preventDefault();let l=i.nativeEvent;O.load().then(d=>d.placeGesture(l,s,e,n,r,t,c),String)};return{onContextMenu:i=>i.shiftKey||o(i),onKeyDown:i=>(i.key==="ContextMenu"||i.key==="F10"&&i.shiftKey)&&o(i),onPointerDown:i=>i.pointerType!=="mouse"&&i.isPrimary&&o(i)}}function dt(e,n,r){let t=e.querySelector("[data-graview-bar-ruler]"),o=e.querySelector(".graview-bar-mid");if(!t||!o)return null;let i=e.querySelector(".graview-bar-find");if(i?.matches(":focus-within"))return;if(e.getBoundingClientRect().width<de)return null;let s=Xr(e);if(s===null)return null;let c=[...t.children].map(h=>h.getBoundingClientRect().width),l=c.pop()??0,d=o.getBoundingClientRect().left+s,u=i&&getComputedStyle(i).display!=="none"?i.getBoundingClientRect():void 0,g=(u&&u.width>0?u.right-d-(parseFloat(getComputedStyle(i).minWidth)||0)-16:o.getBoundingClientRect().width-s)-Jr(e),p=[...r].map(h=>h!=="0");return Un({widths:c,current:n,room:Math.floor(g),more:l,primary:p})?.join(",")??null}var ct=e=>`graview:lenses:${e}`,pt=(e,n)=>e?.name??n.kinds.join(",");function Je(e){try{let n=JSON.parse(localStorage.getItem(ct(e))??"[]");return Array.isArray(n)?n.filter(r=>typeof r?.title=="string"&&typeof r.lens=="string"):[]}catch{return[]}}var j=w(R(),1);var S=w(L(),1);function ut({profileHref:e,keeping:n,hostActions:r=gt,signature:t=!1}){let{store:o,principal:i,seats:s,people:c,signIn:l}=xe(),d=J("profile"),u=d.open,[g,p]=(0,j.useState)(!1);(0,j.useEffect)(()=>yt(Ee),[]),u&&!g&&p(!0),(0,j.useEffect)(()=>{u&&Ee()},[u]);let h=i.id===void 0?void 0:o.graph.getNode(i.id),v=h===void 0?i.id===void 0?"Nobody in particular":cn(i,{graph:o.graph,schema:o.schema,seats:s,people:c}):ye(o.schema.tryDefinition(h.kind),h),x=l?"Not signed in \u2014 sign in and your settings":`${v} \u2014 you, your seat and your settings`;return(0,S.jsxs)("div",{style:{position:"relative"},children:[(0,S.jsx)("button",{type:"button","data-testid":"profile-button",...d.trigger,onClick:d.toggle,onPointerEnter:Ee,onFocus:Ee,"aria-label":x,title:x,style:{...te,borderRadius:999},children:(0,S.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:G-4,height:G-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:l?(0,S.jsxs)("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,S.jsx)("circle",{cx:"8",cy:"5.5",r:"2.75"}),(0,S.jsx)("path",{d:"M2.75 14c.6-2.9 2.7-4.5 5.25-4.5s4.65 1.6 5.25 4.5"})]}):ht(v)})}),(0,S.jsxs)("section",{...d.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!u,style:{...U,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:[g?(0,S.jsx)(j.Suspense,{fallback:null,children:(0,S.jsx)(ft,{part:"top",name:v,me:h,profileHref:e,hostActions:r,close:()=>d.setOpen(!1)})}):null,(0,S.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:vt,children:[(0,S.jsx)("span",{style:wt,children:"Keeping this app"}),n]}),g?(0,S.jsx)(j.Suspense,{fallback:null,children:(0,S.jsx)(mt,{part:"rest",name:v,me:h,hostActions:r,signature:t,close:()=>d.setOpen(!1)})}):null]})]})}var gt=[],Ee=()=>O.prefetch(),ft=O.part((e,n)=>(0,S.jsx)(e.ProfilePane,{...n}),{what:"The rest of your menu"}),mt=O.part((e,n)=>(0,S.jsx)(e.ProfilePane,{...n}),{quiet:!0});function yt(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},r=globalThis;if(r.requestIdleCallback){let o=r.requestIdleCallback(n,{timeout:5e3});return()=>r.cancelIdleCallback?.(o)}let t=setTimeout(n,2500);return()=>clearTimeout(t)}function ht(e){return(e.trim()[0]??"?").toUpperCase()}var wt={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},vt={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function bt(e){return!(e==="hidden"||e===!1)}var ce=w(R(),1);var er="Everything",Ne="scene:district:",Ae=e=>`scene:${e.kind}:${e.as}`;function nr(e){let{view:n}=e,r=e.places.filter(p=>!e.hidden.has(p.kind)),t=ie(r),o=(p,h)=>{if(p===X)return De(Ie(h,!0),"view",null);if(p.startsWith(Ne))return An(De(Ie(h,!1),"view",null),p.slice(Ne.length));let v=t.find(x=>Ae(x)===p);return v?Hn(h,v.over?.find(x=>h.focusId===se(x))??v.kind,v.as):null},i=n.within?.view,s=p=>n.focusId===se(p.kind)&&(i===void 0?r.filter(h=>h.kind===p.kind).at(-1)===p:i===p.as),c=r.find(p=>s(p)&&(i!==void 0||!n.overview)),l=c?t.find(p=>we(p,c)):void 0,d=t.filter(p=>!p.hidden||p===l),u=l||n.overview||!n.focusId?void 0:kt(n.focusId,e);return{places:[{key:X,label:er,path:`${ve}${ke(o(X,be))}`,group:"home"},...d.map(p=>({key:Ae(p),label:ne(p,r,e.schema),path:`${ve}${ke(o(Ae(p),be))}`,group:"pictures",kind:p.kind,hidden:p.hidden})),...u?[{...u,path:`${ve}${ke(o(u.key,be))}`}]:[]],current:l?Ae(l):u?.key??X,to:o}}function kt(e,n){let r=Bn(e);if(r.length>0)return r.some(o=>n.hidden.has(o))?void 0:{key:`${Ne}${e}`,label:r.map(o=>he(n.schema,o)).join(" and "),group:"lists",kind:r[0],hidden:!0};let t=n.nameOf?.(e);return t?{key:`${Ne}${e}`,label:t,group:"lists",hidden:!0}:void 0}function xt(){let{store:e,views:n,hiddenKinds:r,principal:t}=xe(),{view:o,go:i}=Rn(),s=n.places(),c=(0,ce.useMemo)(()=>e.kindsKeptFrom(t),[e,t]),l=(0,ce.useMemo)(()=>g=>{let p=e.graph.getNode(g);if(!(!p||r.has(p.kind)||c.has(p.kind)))return ye(e.schema.tryDefinition(p.kind),p)},[e,r,c]),d=(0,ce.useMemo)(()=>nr({places:s,hidden:r,view:o,schema:e.schema,nameOf:l}),[s,r,o,e.schema,l]),u=(0,ce.useMemo)(()=>({go:g=>{let p=d.to(g.key,o);p&&i(p)}}),[d,o,i]);return{places:d.places,current:d.current,reach:u}}var pe=w(L(),1);function St({clean:e="All rules hold"}){return On().length>0?null:(0,pe.jsx)("div",{style:{position:"relative",display:"inline-flex"},children:(0,pe.jsx)("button",{type:"button","data-testid":"standing","aria-disabled":!0,"aria-label":e,title:e,style:{...te,position:"relative",cursor:"default",color:"var(--graview-ink-muted)"},children:(0,pe.jsx)(rr,{tone:"var(--graview-good)"})})})}function Lt(e,n){return e.length===0?n:pn(e)}function rr({tone:e}){return(0,pe.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:e}})}function Pt(e,n,r=[]){if(e.focusId)return e.focusId;let o=(e.selection??[]).map(Nn).find(i=>i!==null)??r.find(i=>n.includes(i))??n[0]??null;return o===null?null:se(o)}var He=w(L(),1),Be=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.EOSN5DWW.js","./chunk.T6UJEXFL.js","./chunk.7THS3DLZ.js","./chunk.4QMAYVPU.js","./chunk.WS5ORRGS.js","./chunk.ZONRIOIA.js","./chunk.NXHEOHRR.js","./chunk.MQNW3O67.js","./chunk.67S2UWBT.js","./chunk.7PWLRRUS.js","./chunk.NH3VXTGX.js","./chunk.6IMRCKB4.js","./chunk.WVUJXDXZ.js","./chunk.NI4OPHTL.js","./chunk.U5KJQFAP.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.MIE4TJRW.js","./chunk.3CLTABGP.js","./chunk.RD2FSSLV.js","./chunk.CVN2XFMF.js","./chunk.6TBQV3NO.js","./chunk.MT252WP4.js","./chunk.VVIQSFM4.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.DGYWNM5U.js"))));function Et(){return Be.load().then(()=>{})}var At=[{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 Nt({schema:e,specs:n,kind:r,view:t}){let o=Be.current.frameworkViews(e,n).lookup(r,{cardinality:t.cardinality,fidelity:t.fidelity});return o?(0,He.jsx)(o,{...t}):null}var Bt=Be.part((e,n)=>(0,He.jsx)(Nt,{...n}),{what:"This view"});function tr(e,n,r){for(let t of n.kinds){let o=r?.[t];for(let i of At){let s=l=>(0,He.jsx)(Bt,{schema:n,specs:r,kind:t,view:l}),c=i.slot!==void 0&&o?.[i.slot]!==void 0;c&&(s.says=(l,d)=>Be.current?.frameworkViews(n,r).lookup(t,{cardinality:i.cardinality,fidelity:i.fidelity})?.says?.(l,d)),e.register(t,{cardinality:i.cardinality,fidelity:i.fidelity},c?s:Cn(s))}}return e}function Ht(e,n){return tr(Mn(e),e,n)}var Xe=w(R(),1);var D=w(L(),1),ar=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.V5JB5UJS.js","./chunk.EHLV3LND.js","./chunk.EPSYX2SF.js","./chunk.JLNTE5CH.js","./chunk.DDSAFU3B.js","./chunk.EOSN5DWW.js","./chunk.T6UJEXFL.js","./chunk.7THS3DLZ.js","./chunk.4QMAYVPU.js","./chunk.ARGEGV5T.js","./chunk.WS5ORRGS.js","./chunk.ZONRIOIA.js","./chunk.NXHEOHRR.js","./chunk.HJCQ6I3S.js","./chunk.DJGZOPAS.js","./chunk.GFOZVQBQ.js","./chunk.MQNW3O67.js","./chunk.67S2UWBT.js","./chunk.7PWLRRUS.js","./chunk.NH3VXTGX.js","./chunk.6IMRCKB4.js","./chunk.PQTXM4VY.js","./chunk.BIDL7GQD.js","./chunk.7KX36ENH.js","./chunk.QDDDKEBH.js","./chunk.QKRQPUCE.js","./chunk.KBJ3UUER.js","./chunk.Q5WEOX3Q.js","./chunk.4O64QV2Y.js","./chunk.OYMN3IFX.js","./chunk.UQZ2P6KD.js","./chunk.WVUJXDXZ.js","./chunk.NI4OPHTL.js","./chunk.U5KJQFAP.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.MIE4TJRW.js","./chunk.3CLTABGP.js","./chunk.RD2FSSLV.js","./chunk.CVN2XFMF.js","./chunk.6TBQV3NO.js","./chunk.MT252WP4.js","./chunk.VVIQSFM4.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.MJ4T6YXI.js"))));function Tt({lens:e,view:n}){let r=ar.current.declaredLensView(e);return(0,D.jsx)(r,{...n})}var Ct=ar.part((e,n)=>(0,D.jsx)(Tt,{...n}),{what:"This picture"});function Mt(e){let n=t=>(0,D.jsx)(Xe.Suspense,{fallback:null,children:(0,D.jsx)(Ct,{lens:e,view:t})});e.lens==="blocks"&&(n.flows=!0);let r=e.lens==="blocks"?e.options.blocks?.[0]:void 0;return typeof r?.headline=="string"&&(n.lede=r),e.create===!1&&(n.creates=!1),n}var or=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.EOSN5DWW.js","./chunk.T6UJEXFL.js","./chunk.7THS3DLZ.js","./chunk.4QMAYVPU.js","./chunk.WS5ORRGS.js","./chunk.ZONRIOIA.js","./chunk.NXHEOHRR.js","./chunk.MQNW3O67.js","./chunk.67S2UWBT.js","./chunk.7PWLRRUS.js","./chunk.NH3VXTGX.js","./chunk.6IMRCKB4.js","./chunk.WVUJXDXZ.js","./chunk.NI4OPHTL.js","./chunk.U5KJQFAP.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.MIE4TJRW.js","./chunk.3CLTABGP.js","./chunk.RD2FSSLV.js","./chunk.CVN2XFMF.js","./chunk.6TBQV3NO.js","./chunk.MT252WP4.js","./chunk.VVIQSFM4.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.OOQG2AEF.js"))));function Ot({blocks:e,view:n}){let r=or.current.homeView(e);return(0,D.jsx)(r,{...n})}var Rt=or.part((e,n)=>(0,D.jsx)(Ot,{...n}),{what:"The home"});function Ft(e){let n=r=>(0,D.jsx)(Xe.Suspense,{fallback:null,children:(0,D.jsx)(Rt,{blocks:e,view:r})});return Object.defineProperty(n,Symbol.for("graview.home-blocks"),{value:!0}),n}function Vt(e,n){return n.home&&n.home.length>0&&e.home?.(Ft(n.home)),ir(e,n),e.arrange?.(n.pages),e}function ir(e,n,r){for(let t of kn(n).drawn){if(r&&e.places().some(s=>s.title===t.title))continue;let o=Mt(t),i={title:t.title,lens:t.lens,...t.across?{across:t.across}:{},...r?{beside:r}:{},...t.hidden?{hidden:!0}:{},over:t.kinds,...r?{}:{declared:!0}};for(let s of t.kinds)e.register(s,{cardinality:"many",fidelity:"full"},o,i),e.register(s,{cardinality:"many",fidelity:"summary"},o,i)}}function Dt(e,n,r){r.length>0&&ir(e,{schema:n,lenses:r.map(({lens:t,...o})=>({...o,name:t}))},!0)}function It(e,n,r){Dt(e,n,Je(r))}var q=w(R(),1),Te=w(L(),1);var Ze=e=>`graview:first-look:${e}`;function $t(e,n){if(e.seen!==void 0)try{return typeof e.seen=="function"?e.seen():e.seen}catch{return!0}try{return window.localStorage.getItem(Ze(n))!==null}catch{return!1}}function _t(e,n){if(e.seen===void 0)try{window.localStorage.setItem(Ze(n),"seen")}catch{}}var Wt=M(C(()=>(__graviewPreload(import.meta.url,["./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.EEGVI266.js")))),zt=Wt.part((e,n)=>{let r=e.FirstLookHints;return(0,Te.jsx)(r,{...n})},{quiet:!0});function Kt({firstLook:e,root:n,app:r}){let t=(0,q.useRef)(null);t.current=e===!0?{}:e||null;let[o,i]=(0,q.useState)(()=>t.current!==null&&typeof window<"u"&&!$t(t.current,r)),s=(0,q.useCallback)(c=>{if(i(!1),c===null)return;let l=t.current??{};_t(l,r),l.onDone?.(c)},[r]);return!o||t.current===null?null:(0,Te.jsx)(q.Suspense,{fallback:null,children:(0,Te.jsx)(zt,{root:n,steps:t.current.steps??[],onEnd:s})})}export{Gt as a,Se as b,jt as c,Sr as d,qt as e,Vn as f,Yt as g,le as h,Vr as i,Dr as j,Er as k,Ar as l,Le as m,Nr as n,Br as o,Hr as p,Cr as q,Mr as r,Or as s,O as t,zr as u,Kr as v,qn as w,Gr as x,G as y,te as z,qr as A,qe as B,ut as C,bt as D,xt as E,ct as F,pt as G,Je as H,St as I,Lt as J,rr as K,Pt as L,Vt as M,Dt as N,It as O,Et as P,Ht as Q,Kt as R};
@@ -1 +1 @@
1
- import{d as i}from"./chunk.SUYYDJGZ.js";import{Y as o}from"./chunk.CUA7F3YJ.js";import{b as a}from"./chunk.AJZBJBMO.js";var t=a(o(),1);function s({id:r,label:e,go:n,testId:d}){return n?(0,t.jsx)("button",{type:"button","data-testid":d,"data-record":r,title:`Go to ${e}`,onClick:()=>n(r),style:{all:"unset",display:"inline-flex",maxWidth:"100%",minWidth:0,cursor:"pointer",borderRadius:7},className:"graview-activity-record",children:(0,t.jsx)(i,{label:e})}):(0,t.jsx)(i,{label:e})}export{s as a};
1
+ import{d as i}from"./chunk.NH3VXTGX.js";import{Y as o}from"./chunk.JCKIJSW7.js";import{b as a}from"./chunk.AJZBJBMO.js";var t=a(o(),1);function s({id:r,label:e,go:n,testId:d}){return n?(0,t.jsx)("button",{type:"button","data-testid":d,"data-record":r,title:`Go to ${e}`,onClick:()=>n(r),style:{all:"unset",display:"inline-flex",maxWidth:"100%",minWidth:0,cursor:"pointer",borderRadius:7},className:"graview-activity-record",children:(0,t.jsx)(i,{label:e})}):(0,t.jsx)(i,{label:e})}export{s as a};
@@ -1 +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{a as A,b as $,c as S}from"./chunk.U5P23GO7.js";import{a as I}from"./chunk.UVMHC6VM.js";import{D as k,G as T,Y as b,ga as y}from"./chunk.CUA7F3YJ.js";import{pb as w}from"./chunk.IUVRJDL3.js";import{b as u}from"./chunk.AJZBJBMO.js";var x=u(T(),1);var o=u(b(),1),l={display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24,padding:"1px 8px",fontSize:"0.75rem"};function L({shows:t,onShows:i,mine:a,onMine:e}){let s={all:"All",changes:"Changes",ai:"AI"};return(0,o.jsxs)("div",{"data-testid":"activity-filter",role:"group","aria-label":"Show",style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[["all","changes","ai"].map(n=>(0,o.jsx)("button",{type:"button","data-shows":n,"aria-pressed":t===n,onClick:()=>i(n),style:{...l,...t===n?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:s[n]},n)),(0,o.jsx)("button",{type:"button","data-testid":"activity-mine","aria-pressed":a,onClick:()=>e(!a),style:{...l,marginLeft:"auto",...a?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:"Just mine"})]})}var j=t=>t.ask.kind==="suggest"?"suggest":t.ask.kind==="fill"?"fill in":t.ask.kind==="record"?"add one":t.ask.kind==="panel"?"draw a panel":t.ask.kind==="section"?t.ask.said.replace(/^M/,"m"):`answer \u201C${t.ask.said}\u201D`;function O(t){let i=t.offered.filter(a=>t.accepted?.includes(a.id)).map(a=>a.label);switch(t.outcome){case"accepted":return i.length>0?`Took ${i.join(", ")}`:"Taken";case"partly":return`Took ${i.length} of ${t.offered.length}: ${i.join(", ")}`;case"dismissed":return"Dismissed";case"drawn":return t.panel?`Drew \u201C${t.panel.title}\u201D`:"Drew a panel";case"failed":return t.failed??"Failed";default:return"Offered, not yet taken"}}function R(t){let i=[...new Set((t.usage??[]).map(s=>s.model))];if(i.length===0)return null;let a=(t.usage??[]).flatMap(s=>s.costUsd===void 0?[]:[s.costUsd]),e=a.length>0?a.reduce((s,n)=>s+n,0):void 0;return`${i.join(", ")}${e!==void 0?` \xB7 $${e<.01?e.toPrecision(2):e.toFixed(2)}`:""}`}function D(t){let i=t.context;if(!i)return null;let a=(n,c,d)=>`${n===0?"no":n} ${n===1?c:d}`,e=`${a(i.candidates.length,"thing it could do","things it could do")} and ${a(i.records.length,"record","records")}`,s=i.model===void 0?"the Fast slot":/^jev\b|^jev-/i.test(i.model)?"Jev":i.model;return i.by==="fast"?`Told the model of ${e}, as ${s} picked them`:`Told the model of ${e} around it`}function P(t){let i=t.stages??[];if(i.length===0)return null;let a=e=>e.stage==="compose"?"composed":e.model?/^jev\b|^jev-/i.test(e.model)?"Jev":e.model:e.stage;return i.map(e=>`${a(e)} ${e.ms<1e3?`${Math.round(e.ms)} ms`:`${(e.ms/1e3).toFixed(1)} s`}`).join(" \xB7 ")}function V({entry:t,undo:i}){let{store:a,principal:e,seats:s,people:n,ai:c}=y(),d=I(),[m,p]=(0,x.useState)(!1),C=t.by.kind==="human"&&t.by.onBehalfOf===void 0&&(t.by.id===void 0||e.id===void 0||t.by.id===e.id)?"you":w(t.by,{graph:a.graph,schema:a.schema,seats:s,people:n}),f=R(t),g=D(t),v=P(t),W=k(c),h=r=>{p(!0),(__graviewPreload(import.meta.url,["./chunk.M7DJJRFH.js","./chunk.6VG2LCES.js","./chunk.I3ADXJQW.js","./chunk.BJUUSIQY.js","./chunk.HMV4ILAC.js","./chunk.UVMHC6VM.js","./chunk.XAN7QXMQ.js","./chunk.XJ4JYROM.js","./chunk.XOZU4OFA.js","./chunk.CHG522KL.js","./chunk.7QWGIGHM.js","./chunk.ZGJUCVT5.js","./chunk.CVVNHQPO.js","./chunk.YIDNZTON.js","./chunk.QILGAV7H.js","./chunk.I6HIVTXU.js","./chunk.PYGNO2AV.js","./chunk.3HFBHLXC.js","./chunk.CUA7F3YJ.js","./chunk.SDO3U72B.js","./chunk.IUVRJDL3.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.QVID5WHS.js")).then(r).finally(()=>p(!1))};return(0,o.jsxs)("li",{"data-testid":"activity-interaction","data-interaction":t.id,"data-outcome":t.outcome,style:A,children:[(0,o.jsx)("div",{"data-graview-activity-head":"",style:$,children:(0,o.jsxs)("span",{"data-graview-activity-words":"",style:S,children:[(0,o.jsx)("strong",{style:{fontWeight:600},children:C})," ",(0,o.jsx)("span",{style:{color:"var(--graview-ink-muted)"},children:t.ask.kind==="ask"?`told Graview \u201C${t.ask.said}\u201D`:`asked AI to ${j(t)}`}),(0,o.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",t.targetLabel]})]})}),t.offered.length>0&&t.outcome!=="accepted"&&t.outcome!=="partly"?(0,o.jsxs)("div",{"data-testid":"interaction-offered",style:{color:"var(--graview-ink-muted)"},children:["Offered ",t.offered.map(r=>r.label).join(", ")]}):null,(0,o.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap"},children:[(0,o.jsx)("span",{"data-testid":"interaction-outcome",style:{color:t.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)"},children:O(t)}),(t.batches??[]).map(r=>(0,o.jsx)("span",{"data-interaction-batch":r,style:{marginLeft:"auto"},children:i(r)},r))]}),f?(0,o.jsx)("div",{"data-testid":"interaction-model",style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:f}):null,g?(0,o.jsx)("div",{"data-testid":"interaction-context","data-context-by":t.context?.by,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:g}):null,v?(0,o.jsxs)("details",{"data-testid":"interaction-stages",style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:[(0,o.jsx)("summary",{children:"How long it took"}),v]}):null,W?(0,o.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[t.panel?(0,o.jsx)("button",{type:"button","data-testid":"interaction-reopen",disabled:m,onClick:()=>h(r=>r.drawPanel(d,t.panel)),style:l,children:"Show the panel"}):null,(0,o.jsx)("button",{type:"button","data-testid":"interaction-again",disabled:m,onClick:()=>h(r=>r.askAgain(d,t)),style:l,children:"Again"})]}):null]})}export{L as a,V as b};
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 A,b as $,c as S}from"./chunk.U5P23GO7.js";import{a as I}from"./chunk.F7KVEWFH.js";import{D as k,G as T,Y as b,ga as y}from"./chunk.JCKIJSW7.js";import{pb as w}from"./chunk.6L6RUOSF.js";import{b as u}from"./chunk.AJZBJBMO.js";var x=u(T(),1);var o=u(b(),1),l={display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24,padding:"1px 8px",fontSize:"0.75rem"};function L({shows:t,onShows:i,mine:a,onMine:e}){let s={all:"All",changes:"Changes",ai:"AI"};return(0,o.jsxs)("div",{"data-testid":"activity-filter",role:"group","aria-label":"Show",style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[["all","changes","ai"].map(n=>(0,o.jsx)("button",{type:"button","data-shows":n,"aria-pressed":t===n,onClick:()=>i(n),style:{...l,...t===n?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:s[n]},n)),(0,o.jsx)("button",{type:"button","data-testid":"activity-mine","aria-pressed":a,onClick:()=>e(!a),style:{...l,marginLeft:"auto",...a?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:"Just mine"})]})}var j=t=>t.ask.kind==="suggest"?"suggest":t.ask.kind==="fill"?"fill in":t.ask.kind==="record"?"add one":t.ask.kind==="panel"?"draw a panel":t.ask.kind==="section"?t.ask.said.replace(/^M/,"m"):`answer \u201C${t.ask.said}\u201D`;function O(t){let i=t.offered.filter(a=>t.accepted?.includes(a.id)).map(a=>a.label);switch(t.outcome){case"accepted":return i.length>0?`Took ${i.join(", ")}`:"Taken";case"partly":return`Took ${i.length} of ${t.offered.length}: ${i.join(", ")}`;case"dismissed":return"Dismissed";case"drawn":return t.panel?`Drew \u201C${t.panel.title}\u201D`:"Drew a panel";case"failed":return t.failed??"Failed";default:return"Offered, not yet taken"}}function R(t){let i=[...new Set((t.usage??[]).map(s=>s.model))];if(i.length===0)return null;let a=(t.usage??[]).flatMap(s=>s.costUsd===void 0?[]:[s.costUsd]),e=a.length>0?a.reduce((s,n)=>s+n,0):void 0;return`${i.join(", ")}${e!==void 0?` \xB7 $${e<.01?e.toPrecision(2):e.toFixed(2)}`:""}`}function D(t){let i=t.context;if(!i)return null;let a=(n,c,d)=>`${n===0?"no":n} ${n===1?c:d}`,e=`${a(i.candidates.length,"thing it could do","things it could do")} and ${a(i.records.length,"record","records")}`,s=i.model===void 0?"the Fast slot":/^jev\b|^jev-/i.test(i.model)?"Jev":i.model;return i.by==="fast"?`Told the model of ${e}, as ${s} picked them`:`Told the model of ${e} around it`}function P(t){let i=t.stages??[];if(i.length===0)return null;let a=e=>e.stage==="compose"?"composed":e.model?/^jev\b|^jev-/i.test(e.model)?"Jev":e.model:e.stage;return i.map(e=>`${a(e)} ${e.ms<1e3?`${Math.round(e.ms)} ms`:`${(e.ms/1e3).toFixed(1)} s`}`).join(" \xB7 ")}function V({entry:t,undo:i}){let{store:a,principal:e,seats:s,people:n,ai:c}=y(),d=I(),[m,p]=(0,x.useState)(!1),C=t.by.kind==="human"&&t.by.onBehalfOf===void 0&&(t.by.id===void 0||e.id===void 0||t.by.id===e.id)?"you":w(t.by,{graph:a.graph,schema:a.schema,seats:s,people:n}),f=R(t),g=D(t),v=P(t),W=k(c),h=r=>{p(!0),(__graviewPreload(import.meta.url,["./chunk.4LWWXIM4.js","./chunk.HXRHEPPJ.js","./chunk.QNWGDG2Z.js","./chunk.BJUUSIQY.js","./chunk.QDDDKEBH.js","./chunk.F7KVEWFH.js","./chunk.QKRQPUCE.js","./chunk.SPJ34VHA.js","./chunk.XOZU4OFA.js","./chunk.KBJ3UUER.js","./chunk.U5KJQFAP.js","./chunk.6TBQV3NO.js","./chunk.MT252WP4.js","./chunk.VVIQSFM4.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.HLKDYI6J.js")).then(r).finally(()=>p(!1))};return(0,o.jsxs)("li",{"data-testid":"activity-interaction","data-interaction":t.id,"data-outcome":t.outcome,style:A,children:[(0,o.jsx)("div",{"data-graview-activity-head":"",style:$,children:(0,o.jsxs)("span",{"data-graview-activity-words":"",style:S,children:[(0,o.jsx)("strong",{style:{fontWeight:600},children:C})," ",(0,o.jsx)("span",{style:{color:"var(--graview-ink-muted)"},children:t.ask.kind==="ask"?`told Graview \u201C${t.ask.said}\u201D`:`asked AI to ${j(t)}`}),(0,o.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",t.targetLabel]})]})}),t.offered.length>0&&t.outcome!=="accepted"&&t.outcome!=="partly"?(0,o.jsxs)("div",{"data-testid":"interaction-offered",style:{color:"var(--graview-ink-muted)"},children:["Offered ",t.offered.map(r=>r.label).join(", ")]}):null,(0,o.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap"},children:[(0,o.jsx)("span",{"data-testid":"interaction-outcome",style:{color:t.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)"},children:O(t)}),(t.batches??[]).map(r=>(0,o.jsx)("span",{"data-interaction-batch":r,style:{marginLeft:"auto"},children:i(r)},r))]}),f?(0,o.jsx)("div",{"data-testid":"interaction-model",style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:f}):null,g?(0,o.jsx)("div",{"data-testid":"interaction-context","data-context-by":t.context?.by,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:g}):null,v?(0,o.jsxs)("details",{"data-testid":"interaction-stages",style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:[(0,o.jsx)("summary",{children:"How long it took"}),v]}):null,W?(0,o.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[t.panel?(0,o.jsx)("button",{type:"button","data-testid":"interaction-reopen",disabled:m,onClick:()=>h(r=>r.drawPanel(d,t.panel)),style:l,children:"Show the panel"}):null,(0,o.jsx)("button",{type:"button","data-testid":"interaction-again",disabled:m,onClick:()=>h(r=>r.askAgain(d,t)),style:l,children:"Again"})]}):null]})}export{L as a,V as b};
@@ -1 +1 @@
1
- import{a as f}from"./chunk.CHG522KL.js";import{ma as d}from"./chunk.IUVRJDL3.js";function S(e){let o=e.indexOf("{"),a=e.indexOf("["),t=a!==-1&&(o===-1||a<o)?a:o;if(t===-1)return;let n=e[t],r=n==="["?"]":"}",i=0,u=!1,l=!1;for(let s=t;s<e.length;s++){let c=e[s];if(u){l?l=!1:c==="\\"?l=!0:c==='"'&&(u=!1);continue}if(c==='"')u=!0;else if(c===n)i+=1;else if(c===r&&(i-=1,i===0))try{return JSON.parse(e.slice(t,s+1))}catch{return}}}function w(e,o){let a;try{a=e.mutation(o.mutation)}catch{return o}let t={...o.args},n=!1;for(let r of f(a.input)){if(r.control!=="node")continue;let i=t[r.name];if(typeof i!="string"||i.length===0||e.graph.getNode(i))continue;let u=i.trim().toLowerCase(),l=[...e.graph.allNodes()].filter(s=>(r.kinds.includes("*")||r.kinds.includes(s.kind))&&d(e.schema.tryDefinition(s.kind),s).trim().toLowerCase()===u);l.length===1&&(t[r.name]=l[0].id,n=!0)}return n?{...o,args:t}:o}function x(e,o,a){let t=a===void 0?null:new Set(a),n=[];for(let r of o){if(typeof r.mutation!="string")continue;let i=!0;try{e.mutation(r.mutation)}catch{i=!1}i?t&&!t.has(r.mutation)&&n.push({proposal:r,why:"not-allowed"}):n.push({proposal:r,why:"unknown"})}return n}function v(e,o,a){let t=a===void 0?null:new Set(a);return o.filter(n=>{if(typeof n.mutation!="string"||t&&!t.has(n.mutation))return!1;try{e.mutation(n.mutation)}catch{return!1}return n.args!==null&&typeof n.args=="object"})}export{S as a,w as b,x as c,v as d};
1
+ import{a as f}from"./chunk.KBJ3UUER.js";import{ma as d}from"./chunk.6L6RUOSF.js";function S(e){let o=e.indexOf("{"),a=e.indexOf("["),t=a!==-1&&(o===-1||a<o)?a:o;if(t===-1)return;let n=e[t],r=n==="["?"]":"}",i=0,u=!1,l=!1;for(let s=t;s<e.length;s++){let c=e[s];if(u){l?l=!1:c==="\\"?l=!0:c==='"'&&(u=!1);continue}if(c==='"')u=!0;else if(c===n)i+=1;else if(c===r&&(i-=1,i===0))try{return JSON.parse(e.slice(t,s+1))}catch{return}}}function w(e,o){let a;try{a=e.mutation(o.mutation)}catch{return o}let t={...o.args},n=!1;for(let r of f(a.input)){if(r.control!=="node")continue;let i=t[r.name];if(typeof i!="string"||i.length===0||e.graph.getNode(i))continue;let u=i.trim().toLowerCase(),l=[...e.graph.allNodes()].filter(s=>(r.kinds.includes("*")||r.kinds.includes(s.kind))&&d(e.schema.tryDefinition(s.kind),s).trim().toLowerCase()===u);l.length===1&&(t[r.name]=l[0].id,n=!0)}return n?{...o,args:t}:o}function x(e,o,a){let t=a===void 0?null:new Set(a),n=[];for(let r of o){if(typeof r.mutation!="string")continue;let i=!0;try{e.mutation(r.mutation)}catch{i=!1}i?t&&!t.has(r.mutation)&&n.push({proposal:r,why:"not-allowed"}):n.push({proposal:r,why:"unknown"})}return n}function v(e,o,a){let t=a===void 0?null:new Set(a);return o.filter(n=>{if(typeof n.mutation!="string"||t&&!t.has(n.mutation))return!1;try{e.mutation(n.mutation)}catch{return!1}return n.args!==null&&typeof n.args=="object"})}export{S as a,w as b,x as c,v as d};
@@ -1,4 +1,4 @@
1
- import{a as Ee,b as Re,c as Le,d as we,e as U,f as ue,g as pe,h as fe}from"./chunk.TUVPQLFL.js";import{c as j,e as ce}from"./chunk.U5Q7EVZQ.js";import{a as ge}from"./chunk.T552MHMU.js";import{G as H,Y as z,ga as le,ia as de}from"./chunk.CUA7F3YJ.js";import"./chunk.SDO3U72B.js";import{Z as q,ma as ae,pa as se,xd as _}from"./chunk.IUVRJDL3.js";import"./chunk.FQLNBIQ5.js";import{b as C}from"./chunk.AJZBJBMO.js";var b=C(H(),1);var I=C(H(),1),Ae=(e,t)=>`graview:last-visit:${t??"anyone"}:${e.join(",")}`;function Oe(e,t,o){let n=new Set;for(let r of e)if(!(r.author.id!==void 0&&r.author.id===o)&&Date.parse(r.at)>t)for(let i of r.writes)n.add(i);return n}function ye(e,t,o){let n=Ae(t,o?.id),[r]=(0,I.useState)(()=>{try{let i=globalThis.localStorage?.getItem(n);return i?Number(i):null}catch{return null}});return(0,I.useEffect)(()=>{let i=()=>{if(document.visibilityState==="hidden")try{globalThis.localStorage?.setItem(n,String(Date.now()))}catch{}};return document.addEventListener("visibilitychange",i),window.addEventListener("pagehide",i),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("pagehide",i)}},[n]),(0,I.useMemo)(()=>r===null?new Set:Oe(e,r,o?.id),[e,r,o?.id])}function me(e,t,o){let n=new Set;if(o===void 0)return n;n.add(o);for(let r of[...e.out(o),...e.in(o)])n.add(r.id);for(let r of t)if(r.author.id===o)for(let i of r.primitives)i.op==="add-node"&&n.add(i.node.id);return n}var J=C(H(),1);var v=C(z(),1),Ce=`.graview-workflows{position:absolute;left:0;top:0;pointer-events:none;z-index:${_.plots};opacity:var(--graview-altitude);transition:opacity 640ms cubic-bezier(.33,0,.2,1)}
1
+ import{a as Ee,b as Re,c as Le,d as we,e as U,f as ue,g as pe,h as fe}from"./chunk.OUF2QFZL.js";import{c as j,e as ce}from"./chunk.GFOZVQBQ.js";import{a as ge}from"./chunk.CVN2XFMF.js";import{G as H,Y as z,ga as le,ia as de}from"./chunk.JCKIJSW7.js";import"./chunk.SDO3U72B.js";import{Z as q,ma as ae,pa as se,xd as _}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as C}from"./chunk.AJZBJBMO.js";var b=C(H(),1);var I=C(H(),1),Ae=(e,t)=>`graview:last-visit:${t??"anyone"}:${e.join(",")}`;function Oe(e,t,o){let n=new Set;for(let r of e)if(!(r.author.id!==void 0&&r.author.id===o)&&Date.parse(r.at)>t)for(let i of r.writes)n.add(i);return n}function ye(e,t,o){let n=Ae(t,o?.id),[r]=(0,I.useState)(()=>{try{let i=globalThis.localStorage?.getItem(n);return i?Number(i):null}catch{return null}});return(0,I.useEffect)(()=>{let i=()=>{if(document.visibilityState==="hidden")try{globalThis.localStorage?.setItem(n,String(Date.now()))}catch{}};return document.addEventListener("visibilitychange",i),window.addEventListener("pagehide",i),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("pagehide",i)}},[n]),(0,I.useMemo)(()=>r===null?new Set:Oe(e,r,o?.id),[e,r,o?.id])}function me(e,t,o){let n=new Set;if(o===void 0)return n;n.add(o);for(let r of[...e.out(o),...e.in(o)])n.add(r.id);for(let r of t)if(r.author.id===o)for(let i of r.primitives)i.op==="add-node"&&n.add(i.node.id);return n}var J=C(H(),1);var v=C(z(),1),Ce=`.graview-workflows{position:absolute;left:0;top:0;pointer-events:none;z-index:${_.plots};opacity:var(--graview-altitude);transition:opacity 640ms cubic-bezier(.33,0,.2,1)}
2
2
  .graview-workflow-wire{fill:none;stroke:var(--graview-accent);stroke-width:1.5;stroke-opacity:.7;stroke-linecap:round}
3
3
  .graview-workflow-wire[data-wire=reads]{stroke-dasharray:3 4;stroke-opacity:.55}
4
4
  .graview-workflow-spot{fill:var(--graview-accent);stroke:var(--graview-panel);stroke-width:1.5}
@@ -1,4 +1,4 @@
1
- import{yd as e}from"./chunk.IUVRJDL3.js";var i=`
1
+ import{yd as e}from"./chunk.6L6RUOSF.js";var i=`
2
2
  .graview-spec{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--graview-ink)}
3
3
 
4
4
  .graview-spec-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;box-sizing:border-box;max-width:100%;padding:5px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius-sm,8px);background:var(--graview-panel);font-size:.875rem}
@@ -21,7 +21,8 @@ import{yd as e}from"./chunk.IUVRJDL3.js";var i=`
21
21
  .graview-spec-row .graview-spec-text.graview-spec-meta,.graview-spec-card .graview-spec-text.graview-spec-meta{display:flex;flex:1 1 auto;-webkit-line-clamp:none;line-clamp:none;max-height:none;overflow:visible}
22
22
  [data-graview-page-main] .graview-spec-meta{font-size:var(--graview-text-small)}
23
23
  .graview-spec-chip{display:inline-flex;align-items:center;box-sizing:border-box;min-height:1.375rem;padding:0 var(--graview-space-2,8px);border-radius:var(--graview-radius-sm,6px);background:color-mix(in srgb,var(--graview-ink) 7%,transparent);color:var(--graview-ink);font-weight:500;white-space:nowrap}
24
- .graview-spec-page{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--graview-edge)}
24
+
25
+ .graview-spec-page[data-graview-heads-record]{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--graview-edge)}
25
26
  .graview-spec-title{font-family:var(--graview-font-display,inherit);font-weight:600;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
26
27
  .graview-spec-text{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
27
28
  .graview-spec-text[data-graview-tone]{color:var(--graview-spec-tone)}