graview 0.1.71 → 0.1.72

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 (212) hide show
  1. package/dist/preview/chunk.2IOJNFCR.js +1 -0
  2. package/dist/preview/{chunk.5EQRIZ6I.js → chunk.2Q4ZXP7P.js} +1 -1
  3. package/dist/preview/{chunk.MEAUTBVM.js → chunk.2TTKQAWQ.js} +1 -1
  4. package/dist/preview/{chunk.6BBUTKFC.js → chunk.2YSE3SQN.js} +3 -3
  5. package/dist/preview/{chunk.CGRX6SDE.js → chunk.2ZPR6FRI.js} +1 -1
  6. package/dist/preview/chunk.3BE4SHZD.js +1 -0
  7. package/dist/preview/{chunk.TSZ2S3VG.js → chunk.43HWCHBN.js} +1 -1
  8. package/dist/preview/{chunk.TQ3MNB6K.js → chunk.45OLF6BK.js} +1 -1
  9. package/dist/preview/{chunk.ZY3NAJDM.js → chunk.47QWCVZD.js} +1 -1
  10. package/dist/preview/{chunk.WU6D3SPL.js → chunk.4A7BRBEA.js} +1 -1
  11. package/dist/preview/chunk.4EPCI6VY.js +1 -0
  12. package/dist/preview/{chunk.UZKBFI52.js → chunk.4PB5UFUJ.js} +1 -1
  13. package/dist/preview/{chunk.MKJV3BM5.js → chunk.4TDYDIIM.js} +1 -1
  14. package/dist/preview/{chunk.HXRHEPPJ.js → chunk.4VX7GPFS.js} +1 -1
  15. package/dist/preview/{chunk.OUF2QFZL.js → chunk.523X2YEQ.js} +1 -1
  16. package/dist/preview/{chunk.KBJ3UUER.js → chunk.53GQQETN.js} +1 -1
  17. package/dist/preview/{chunk.DHO3QZYK.js → chunk.5MKZTHU2.js} +1 -1
  18. package/dist/preview/{chunk.F5O3HR7X.js → chunk.5ZT4R227.js} +1 -1
  19. package/dist/preview/{chunk.LHCGC3K6.js → chunk.65SI77M7.js} +1 -1
  20. package/dist/preview/chunk.6ESAFTWB.js +1 -0
  21. package/dist/preview/chunk.6GUIFP2A.js +1 -0
  22. package/dist/preview/{chunk.D6ODKMOV.js → chunk.6GZYKHEN.js} +1 -1
  23. package/dist/preview/{chunk.F7KVEWFH.js → chunk.6YKKZI4H.js} +1 -1
  24. package/dist/preview/{chunk.Z2BCOZDZ.js → chunk.73RMM4W7.js} +1 -1
  25. package/dist/preview/{chunk.4O64QV2Y.js → chunk.7DCBIMOI.js} +1 -1
  26. package/dist/preview/chunk.7JE3J7H4.js +1 -0
  27. package/dist/preview/{chunk.RDUGUC7R.js → chunk.7QGDWAHH.js} +1 -1
  28. package/dist/preview/{chunk.7PWLRRUS.js → chunk.7VCYVCYM.js} +2 -2
  29. package/dist/preview/{chunk.GFBE4VNT.js → chunk.A4TBVXHQ.js} +1 -1
  30. package/dist/preview/{chunk.LDWWUKKX.js → chunk.A6LJPXJ3.js} +1 -1
  31. package/dist/preview/chunk.AAPXF6NP.js +1 -0
  32. package/dist/preview/{chunk.UJ7RTNT4.js → chunk.APUICV5Z.js} +1 -1
  33. package/dist/preview/chunk.ASNVH2G4.js +25 -0
  34. package/dist/preview/{chunk.OKHXXIMN.js → chunk.CJHCUHVN.js} +1 -1
  35. package/dist/preview/chunk.CUEPNS3Z.js +1 -0
  36. package/dist/preview/{chunk.H33XWGAY.js → chunk.CUJRWBPX.js} +1 -1
  37. package/dist/preview/{chunk.4YZ2A6SJ.js → chunk.D5PW6YWF.js} +3 -3
  38. package/dist/preview/chunk.DCIYOZYP.js +1 -0
  39. package/dist/preview/{chunk.3CLTABGP.js → chunk.DEBW4FH6.js} +1 -1
  40. package/dist/preview/{chunk.UQZ2P6KD.js → chunk.DYPSFTRP.js} +1 -1
  41. package/dist/preview/{chunk.BWMPC7LK.js → chunk.E6QZUT4L.js} +1 -1
  42. package/dist/preview/{chunk.MEBKTW7H.js → chunk.E7QZZRAQ.js} +1 -1
  43. package/dist/preview/chunk.EHCMBAZO.js +3 -0
  44. package/dist/preview/chunk.EXTD5JWD.js +1 -0
  45. package/dist/preview/{chunk.S2BMI23H.js → chunk.EZF2T3XQ.js} +1 -1
  46. package/dist/preview/chunk.EZSST3IU.js +1 -0
  47. package/dist/preview/{chunk.7THS3DLZ.js → chunk.F2BZ4SC4.js} +1 -1
  48. package/dist/preview/chunk.F2I7ERGM.js +1 -0
  49. package/dist/preview/{chunk.VUDNQOOX.js → chunk.FCV3NX6L.js} +1 -1
  50. package/dist/preview/{chunk.QVBP4UZG.js → chunk.FFTBUXKX.js} +2 -2
  51. package/dist/preview/{chunk.7MDGPTYF.js → chunk.FILBI7XA.js} +1 -1
  52. package/dist/preview/{chunk.D4F6QX5L.js → chunk.FKSI5522.js} +1 -1
  53. package/dist/preview/{chunk.QNWGDG2Z.js → chunk.FQ2QUDZS.js} +1 -1
  54. package/dist/preview/{chunk.O5RPSUXV.js → chunk.G2ZDDO3C.js} +1 -1
  55. package/dist/preview/{chunk.IPKODEOZ.js → chunk.GAVEWSXU.js} +1 -1
  56. package/dist/preview/chunk.GH6QX7JR.js +87 -0
  57. package/dist/preview/chunk.GMHBAS45.js +1 -0
  58. package/dist/preview/{chunk.OYMN3IFX.js → chunk.GXK5PI7I.js} +1 -1
  59. package/dist/preview/{chunk.DDSAFU3B.js → chunk.GYP3EF6Z.js} +1 -1
  60. package/dist/preview/chunk.H2RVMT4Y.js +111 -0
  61. package/dist/preview/chunk.HCHGKI64.js +1 -0
  62. package/dist/preview/chunk.HE7SAJKZ.js +1 -0
  63. package/dist/preview/{chunk.JLNTE5CH.js → chunk.HIIYDKFC.js} +2 -2
  64. package/dist/preview/chunk.HPDUGKEF.js +32 -0
  65. package/dist/preview/{chunk.H4BPTMED.js → chunk.HQRPOGTS.js} +1 -1
  66. package/dist/preview/chunk.HUJLELZ3.js +1 -0
  67. package/dist/preview/chunk.HVRUHRXR.js +1 -0
  68. package/dist/preview/{chunk.QJJWAYHB.js → chunk.I46VNAMS.js} +1 -1
  69. package/dist/preview/{chunk.QK4QZVQG.js → chunk.ID4GOKT6.js} +1 -1
  70. package/dist/preview/{chunk.64K5ELSQ.js → chunk.IZKCTF2R.js} +1 -1
  71. package/dist/preview/{chunk.4HU2ILFY.js → chunk.IZUAZ6EV.js} +1 -1
  72. package/dist/preview/{chunk.5PQV7GFE.js → chunk.J3CUBMUZ.js} +1 -1
  73. package/dist/preview/{chunk.P43LPXXJ.js → chunk.J4D4BIB4.js} +1 -1
  74. package/dist/preview/{chunk.NI4OPHTL.js → chunk.J7GH2CGV.js} +1 -1
  75. package/dist/preview/{chunk.5WCSQFS5.js → chunk.JE4RBRKH.js} +1 -1
  76. package/dist/preview/{chunk.ARGEGV5T.js → chunk.JJSZLCNU.js} +1 -1
  77. package/dist/preview/{chunk.WS5ORRGS.js → chunk.JKX4J3KG.js} +1 -1
  78. package/dist/preview/{chunk.ZONRIOIA.js → chunk.JMXBMLKH.js} +1 -1
  79. package/dist/preview/{chunk.6ZRVVRDQ.js → chunk.JOB3EKS6.js} +1 -1
  80. package/dist/preview/{chunk.PQTXM4VY.js → chunk.JP33TNCH.js} +1 -1
  81. package/dist/preview/{chunk.Z3TK2LJM.js → chunk.K6EN2YR4.js} +1 -1
  82. package/dist/preview/chunk.K6YKXTKC.js +1 -0
  83. package/dist/preview/{chunk.VPFUOTY7.js → chunk.KAIZDIRK.js} +1 -1
  84. package/dist/preview/{chunk.KZUHXOZU.js → chunk.KAQGSLC6.js} +3 -3
  85. package/dist/preview/{chunk.WGH2P2YL.js → chunk.KFYSKZC4.js} +1 -1
  86. package/dist/preview/chunk.KHVW6Q3T.js +1 -0
  87. package/dist/preview/chunk.KMFH26SS.js +1 -0
  88. package/dist/preview/{chunk.67S2UWBT.js → chunk.L3ST2YKI.js} +1 -1
  89. package/dist/preview/{chunk.V5JB5UJS.js → chunk.L6BLZJ6K.js} +1 -1
  90. package/dist/preview/{chunk.MQNW3O67.js → chunk.LG2BQ5LB.js} +1 -1
  91. package/dist/preview/{chunk.T6KOL7TW.js → chunk.LLYHHG67.js} +1 -1
  92. package/dist/preview/{chunk.MWWNKM3I.js → chunk.LPWANRBL.js} +1 -1
  93. package/dist/preview/{chunk.EJC7ACZT.js → chunk.LSS64NAA.js} +1 -1
  94. package/dist/preview/{chunk.NH3VXTGX.js → chunk.MFNWHXGL.js} +1 -1
  95. package/dist/preview/{chunk.DG3YNOH3.js → chunk.MNH3WUAB.js} +1 -1
  96. package/dist/preview/chunk.MQ7AB5N4.js +1 -0
  97. package/dist/preview/{chunk.KJPLX72N.js → chunk.MU5JK5TK.js} +1 -1
  98. package/dist/preview/{chunk.L6P55HFW.js → chunk.N5CACZ5F.js} +1 -1
  99. package/dist/preview/{chunk.W3TJF4EH.js → chunk.NFC2TYA6.js} +1 -1
  100. package/dist/preview/{chunk.VL3YDD7D.js → chunk.NKRDVOLJ.js} +1 -1
  101. package/dist/preview/{chunk.SGYZM6ZU.js → chunk.NNK2E2EP.js} +1 -1
  102. package/dist/preview/{chunk.W332P5T3.js → chunk.NVPKYWMF.js} +1 -1
  103. package/dist/preview/{chunk.EEGVI266.js → chunk.NWJ7ELHN.js} +1 -1
  104. package/dist/preview/{chunk.7KX36ENH.js → chunk.O5P6LXHF.js} +1 -1
  105. package/dist/preview/{chunk.DX7RGK5G.js → chunk.OFK6673S.js} +1 -1
  106. package/dist/preview/{chunk.HPFEYMGP.js → chunk.OG6FEP3K.js} +1 -1
  107. package/dist/preview/{chunk.EA2KYBBR.js → chunk.OHGAZ3D5.js} +1 -1
  108. package/dist/preview/{chunk.SPJ34VHA.js → chunk.ONVYKLRX.js} +1 -1
  109. package/dist/preview/chunk.OQ3FKUP2.js +1 -0
  110. package/dist/preview/chunk.OUJV4CYS.js +1 -0
  111. package/dist/preview/{chunk.CVN2XFMF.js → chunk.OWHH7JDV.js} +1 -1
  112. package/dist/preview/{chunk.G767NLBH.js → chunk.OXDCGGZV.js} +1 -1
  113. package/dist/preview/{chunk.VVIQSFM4.js → chunk.P3Z4ZCL3.js} +1 -1
  114. package/dist/preview/{chunk.FNSVGSZI.js → chunk.PF7XQ5R5.js} +1 -1
  115. package/dist/preview/chunk.PH547SON.js +1 -0
  116. package/dist/preview/{chunk.N3MXLORL.js → chunk.PS765ODQ.js} +1 -1
  117. package/dist/preview/{chunk.NXHEOHRR.js → chunk.PVAYYFT2.js} +1 -1
  118. package/dist/preview/{chunk.Z22C2JJ4.js → chunk.Q6WOIE5I.js} +1 -1
  119. package/dist/preview/{chunk.CEJIH3CN.js → chunk.QE257AXE.js} +1 -1
  120. package/dist/preview/chunk.QKNC5OUC.js +1 -0
  121. package/dist/preview/{chunk.W6L2VAJG.js → chunk.QMGBAKX6.js} +1 -1
  122. package/dist/preview/{chunk.DJGZOPAS.js → chunk.QNFX5VHW.js} +1 -1
  123. package/dist/preview/chunk.QPCDAQTW.js +1 -0
  124. package/dist/preview/{chunk.Y5WQD6KV.js → chunk.QPTQIGLX.js} +1 -1
  125. package/dist/preview/{chunk.IXYG65TM.js → chunk.R5YGW5ZX.js} +1 -1
  126. package/dist/preview/{chunk.7FI75ZVE.js → chunk.RJ6KEVZC.js} +1 -1
  127. package/dist/preview/{chunk.OVSKPBPS.js → chunk.RKVMRP7B.js} +1 -1
  128. package/dist/preview/{chunk.7TACFS7Q.js → chunk.S7U2CHHG.js} +1 -1
  129. package/dist/preview/{chunk.HT35PAHI.js → chunk.SD2UYSV6.js} +2 -2
  130. package/dist/preview/{chunk.LQ5J6YQW.js → chunk.SI5GGFQR.js} +1 -1
  131. package/dist/preview/{chunk.U5KJQFAP.js → chunk.SMF5S4DQ.js} +1 -1
  132. package/dist/preview/{chunk.RO3D2RNP.js → chunk.SNDFIJVX.js} +1 -1
  133. package/dist/preview/{chunk.CEOQY5KS.js → chunk.STHWM422.js} +2 -2
  134. package/dist/preview/{chunk.X7U3JMBR.js → chunk.SV75TRCH.js} +1 -1
  135. package/dist/preview/{chunk.Q6GEPVQ7.js → chunk.SXGPRFA4.js} +1 -1
  136. package/dist/preview/{chunk.6TBQV3NO.js → chunk.T3RFZ66S.js} +1 -1
  137. package/dist/preview/{chunk.VGYG2IBZ.js → chunk.T6ISUVUP.js} +1 -1
  138. package/dist/preview/{chunk.L3MLGFIS.js → chunk.TBLOBXZ2.js} +1 -1
  139. package/dist/preview/{chunk.MT252WP4.js → chunk.TDWJU6GW.js} +1 -1
  140. package/dist/preview/{chunk.EPSYX2SF.js → chunk.THLT6NVO.js} +1 -1
  141. package/dist/preview/{chunk.W5O5F4FT.js → chunk.TQCVEKPH.js} +1 -1
  142. package/dist/preview/{chunk.4ZEHLUXV.js → chunk.TQF5XCUS.js} +1 -1
  143. package/dist/preview/{chunk.VICBF3MQ.js → chunk.TWXYI5AP.js} +1 -1
  144. package/dist/preview/{chunk.LNKY6MT4.js → chunk.UOUQZYVD.js} +1 -1
  145. package/dist/preview/{chunk.FIUPDGUZ.js → chunk.UPL3D3ZO.js} +1 -1
  146. package/dist/preview/{chunk.GFOZVQBQ.js → chunk.UXW43HNW.js} +1 -1
  147. package/dist/preview/{chunk.MM7MLBGB.js → chunk.V4GSVXSV.js} +1 -1
  148. package/dist/preview/chunk.VCEDSOAK.js +1 -0
  149. package/dist/preview/{chunk.3RRK6UTN.js → chunk.VE4AQFLW.js} +1 -1
  150. package/dist/preview/{chunk.QDDDKEBH.js → chunk.VGQDPEB5.js} +1 -1
  151. package/dist/preview/{chunk.XTHSPLZZ.js → chunk.VMYXBFPE.js} +1 -1
  152. package/dist/preview/{chunk.EHLV3LND.js → chunk.VNI6HZEF.js} +2 -2
  153. package/dist/preview/chunk.VQRY2NQ6.js +1 -0
  154. package/dist/preview/{chunk.MFMC35ET.js → chunk.VUE6ILQV.js} +1 -1
  155. package/dist/preview/{chunk.BSWR5SGX.js → chunk.W2VSEEKX.js} +1 -1
  156. package/dist/preview/{chunk.4QMAYVPU.js → chunk.WAPY4RCS.js} +1 -1
  157. package/dist/preview/chunk.WFRSGGU5.js +1 -0
  158. package/dist/preview/{chunk.QKRQPUCE.js → chunk.WIVNFOQR.js} +1 -1
  159. package/dist/preview/chunk.WRIBFLVG.js +1 -0
  160. package/dist/preview/{chunk.RHIP2UYE.js → chunk.WWD2TS47.js} +1 -1
  161. package/dist/preview/{chunk.7XGU6KVF.js → chunk.WWFOQDPR.js} +2 -2
  162. package/dist/preview/{chunk.JNK5WBSU.js → chunk.X5MCAUFX.js} +1 -1
  163. package/dist/preview/{chunk.G5AF5IXL.js → chunk.XBWFQ54R.js} +1 -1
  164. package/dist/preview/{chunk.7LPHWJB4.js → chunk.XMBGT6UT.js} +1 -1
  165. package/dist/preview/{chunk.FOHZPYUV.js → chunk.XP4IVKKR.js} +1 -1
  166. package/dist/preview/chunk.XYBWBMNU.js +1 -0
  167. package/dist/preview/{chunk.OPMGQS5J.js → chunk.YC2IDHQX.js} +1 -1
  168. package/dist/preview/{chunk.JAPTTM6Y.js → chunk.YCYJHPWS.js} +1 -1
  169. package/dist/preview/{chunk.T6UJEXFL.js → chunk.YF5GCOSZ.js} +1 -1
  170. package/dist/preview/{chunk.VDFQFLTU.js → chunk.YGGBGHZU.js} +1 -1
  171. package/dist/preview/{chunk.U6V4KZF5.js → chunk.YRC6PKXP.js} +1 -1
  172. package/dist/preview/{chunk.EJIQDMLU.js → chunk.YRN67Z5K.js} +1 -1
  173. package/dist/preview/{chunk.6L6RUOSF.js → chunk.ZDUKVXBI.js} +1 -1
  174. package/dist/preview/index.html +55 -55
  175. package/dist/preview/page.js +2 -2
  176. package/package.json +6 -6
  177. package/dist/preview/chunk.23DATB5Y.js +0 -1
  178. package/dist/preview/chunk.2INDKSJI.js +0 -1
  179. package/dist/preview/chunk.45HUV56Z.js +0 -1
  180. package/dist/preview/chunk.4LWWXIM4.js +0 -1
  181. package/dist/preview/chunk.4UDST6IF.js +0 -1
  182. package/dist/preview/chunk.6A3KTD66.js +0 -1
  183. package/dist/preview/chunk.6IMRCKB4.js +0 -1
  184. package/dist/preview/chunk.7ZLCA3WK.js +0 -1
  185. package/dist/preview/chunk.CPK6CYKN.js +0 -111
  186. package/dist/preview/chunk.DGYWNM5U.js +0 -1
  187. package/dist/preview/chunk.EOSN5DWW.js +0 -1
  188. package/dist/preview/chunk.EUXAIG73.js +0 -1
  189. package/dist/preview/chunk.EZQK23AB.js +0 -1
  190. package/dist/preview/chunk.F6MY6WJ4.js +0 -1
  191. package/dist/preview/chunk.FW6M6GIU.js +0 -32
  192. package/dist/preview/chunk.GKYJQE5A.js +0 -1
  193. package/dist/preview/chunk.HLKDYI6J.js +0 -1
  194. package/dist/preview/chunk.IZDB777E.js +0 -1
  195. package/dist/preview/chunk.JCKIJSW7.js +0 -25
  196. package/dist/preview/chunk.JREA2XDG.js +0 -1
  197. package/dist/preview/chunk.MJ4T6YXI.js +0 -1
  198. package/dist/preview/chunk.ML4X7VVK.js +0 -1
  199. package/dist/preview/chunk.NNGG7RCO.js +0 -1
  200. package/dist/preview/chunk.OOQG2AEF.js +0 -1
  201. package/dist/preview/chunk.RJ7VSWTA.js +0 -87
  202. package/dist/preview/chunk.RSMCTI2N.js +0 -1
  203. package/dist/preview/chunk.TBEKEHFS.js +0 -1
  204. package/dist/preview/chunk.TO3ZKCA2.js +0 -1
  205. package/dist/preview/chunk.TTM5GQ2U.js +0 -1
  206. package/dist/preview/chunk.TUBY6SV3.js +0 -1
  207. package/dist/preview/chunk.UJPX3BUV.js +0 -1
  208. package/dist/preview/chunk.X2UYEA7H.js +0 -1
  209. package/dist/preview/chunk.XSM4OTF4.js +0 -1
  210. package/dist/preview/chunk.YXVUJ3NB.js +0 -1
  211. package/dist/preview/chunk.ZGLOXN7O.js +0 -1
  212. package/dist/preview/chunk.ZLQIGZXO.js +0 -3
@@ -0,0 +1 @@
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{G as k,Qa as o,_ as n}from"./chunk.ASNVH2G4.js";import{a as t}from"./chunk.SDO3U72B.js";import{b as p}from"./chunk.AJZBJBMO.js";var f=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.J7GH2CGV.js","./chunk.SMF5S4DQ.js","./chunk.XP4IVKKR.js","./chunk.R5YGW5ZX.js","./chunk.QMGBAKX6.js","./chunk.PS765ODQ.js","./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.YRN67Z5K.js")))),y=f.part((e,r)=>e.drawFiles(r),{quiet:!0});var d=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.TQCVEKPH.js")))),I=d.part((e,r)=>e.drawLinkedRecord(r),{quiet:!0}),w=d.part((e,r)=>e.drawLinkedPicker(r),{what:"Picking a linked record"});var s=p(n(),1),m=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.OHGAZ3D5.js")))),g=m.part((e,r)=>(0,s.jsx)(e.RepeatPicker,{...r}),{quiet:!0}),E=m.part((e,r)=>(0,s.jsx)(e.RepeatEditor,{...r}),{quiet:!0});var a=p(k(),1),i=p(n(),1),c=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.SV75TRCH.js")))),l=c.part((e,r)=>(0,i.jsx)(e.WhenInput,{...r}),{quiet:!0});function M(e){return(0,i.jsx)(a.Suspense,{fallback:(0,i.jsx)("span",{"data-graview-when-arriving":"",style:{display:"inline-block",minHeight:24}}),children:(0,i.jsx)(l,{...e})})}var N=()=>c.load().then(()=>{},()=>{});export{y as a,I as b,w as c,g as d,E as e,M as f,N as g};
@@ -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{l as T}from"./chunk.RD2FSSLV.js";import{j as D}from"./chunk.VVIQSFM4.js";import{G as w,Ra as Q,Y as R,c as $,ga as v,ha as q,ia as Y,x as z}from"./chunk.JCKIJSW7.js";import{Ac as U,C as W,_b as H,hc as j,ib as B,pc as I,ud as K,vd as G}from"./chunk.6L6RUOSF.js";import{b as m}from"./chunk.AJZBJBMO.js";function J(e,n,t={}){let r=e.graph.getNode(n);if(!r)return[];let i=t.principal?new Set(e.permittedMutations(t.principal).map(s=>s.name)):void 0,c=r.kind,d=e.schema.tryDefinition(c);if(!d)return[];let o=e.seenFor,a=o?H.keptFrom?.(e,o)?.(r):void 0,l=new Map;for(let s of e.allMutations()){let u=s.subject;if(!u||!(u.kinds==="*"||u.kinds.includes(c))||i&&!i.has(s.name))continue;let h=s.input.shape??{};for(let p of U(s,d)){if(a?.(p)||!j(s,e.schema,e.graph,n,p,o&&B(e.schema,o)))continue;let M=p in h,_=[];for(let g of Object.keys(h)){if(g===u.arg||g===p||se(h[g]))continue;let S=I(s.input).find(E=>E.name===g);_.push({name:g,...S?{kinds:S.kinds}:{},...S?{candidates:S.kinds.includes("*")?e.graph.allNodes().map(E=>E.id):S.kinds.flatMap(E=>e.graph.nodesOfKind(E).map(ae=>ae.id))}:{},shape:D(s.input,g)})}let ie={field:p,mutation:s.name,title:s.title??s.name,shape:M?D(s.input,p):{type:"unknown"},takesValue:M,alternatives:[],open:_,clearable:M&&(s.clearable?.includes(p)??!1),call:g=>({name:s.name,args:M?{[u.arg]:n,[p]:g}:{[u.arg]:n}})};l.set(p,[...l.get(p)??[],ie])}}return[...l.values()].map(s=>{let u=[...s.filter(p=>p.takesValue),...s.filter(p=>!p.takesValue)],[b,...h]=u;return{...b,alternatives:h}})}function se(e){let n=W(e)?.type;return n==="optional"||n==="default"||n==="nullable"}var C=m(w(),1);function Ae(e){let{store:n,principal:t}=v(),r=Y(),i=(0,C.useMemo)(()=>e===null?[]:J(n,e,{principal:t}),[n,e,r,t]),c=(0,C.useCallback)((d,o,a={})=>{let l=d.call(o);n.apply({name:l.name,args:{...l.args,...a}},{author:t})},[n,t]);return{fields:i,commit:c}}var X=m(w(),1);function pn(){let{brand:e}=v(),n=e?.kit;return(0,X.useMemo)(()=>K(n),[n])}function fn(e,n){let t=G(e,n),r={...t.color!==void 0?{color:t.color}:{},...t.pattern!==void 0?{pattern:t.pattern}:{},...t.width!==void 0?{width:t.width}:{},...t.cap!==void 0?{cap:t.cap}:{},...t.opacity!==void 0?{opacity:t.opacity}:{}};return{connector:t,style:T(n,{[n]:r})}}var O=m(w(),1);var x=m(R(),1);function de(e){let n=e?.hint;return typeof n=="string"&&n.length>0?n:void 0}function le(e){if(e instanceof Error&&e.message)return e.message;let n=String(e);return n==="[object Object]"?"The view threw without a message.":n}var Z='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), [contenteditable="true"]';function ee(){return document.activeElement===null||document.activeElement===document.body}var ne=class extends O.Component{static contextType=Q;state={};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,t){console.error(`[graview] the ${this.props.view??"view"} of ${this.props.kind} threw while rendering`,n,t.componentStack),this.context?.(n,{module:"@graview/react"}),this.props.onCaught?.(n)}panel=(0,O.createRef)();getSnapshotBeforeUpdate(){if(typeof document>"u")return null;let n=document.activeElement,t=this.panel.current;return t&&n===t?{onPanel:!0,focused:n,parent:t.parentNode,before:t.previousSibling}:{onPanel:!1,focused:n}}componentDidUpdate(n,t,r){if(r&&!t.error&&this.state.error&&r.focused&&r.focused!==document.body&&!r.focused.isConnected&&ee()&&this.panel.current?.focus(),r?.onPanel&&t.error&&!this.state.error&&ee()){let d=r.before?r.before.nextSibling:r.parent?.firstChild??null;if(d instanceof HTMLElement){let o=d.matches(Z)?d:d.querySelector(Z);o?o.focus():(d.hasAttribute("tabindex")||d.setAttribute("tabindex","-1"),d.focus())}}if(!this.state.error)return;let i=n.reset??[],c=this.props.reset??[];(i.length!==c.length||i.some((d,o)=>!Object.is(d,c[o])))&&this.setState({error:void 0})}render(){let{error:n}=this.state;if(!n)return this.props.children;let t=de(n);return(0,x.jsxs)("div",{ref:this.panel,role:"alert",tabIndex:-1,"data-graview-view-error":this.props.kind,style:{display:"flex",flexDirection:"column",gap:"0.375rem",padding:"var(--graview-pad, 12px)",height:"100%",overflow:"auto",boxSizing:"border-box",borderRadius:"var(--graview-radius-sm, 6px)",background:"var(--graview-panel-warning, #fdf3ec)",color:"var(--graview-ink, #1a1a1a)",font:"var(--graview-font-body, 13px/1.45 system-ui)",fontSize:"0.875rem",lineHeight:1.45},children:[(0,x.jsx)("strong",{style:{color:"var(--graview-warn, #b4462a)"},children:this.props.view?`${this.props.view} could not draw`:"This view could not draw"}),this.props.said===""?null:(0,x.jsx)("span",{style:{color:"var(--graview-ink-muted, #555)"},children:this.props.said??this.props.kind}),(0,x.jsx)("span",{children:le(n)}),t?(0,x.jsx)("span",{style:{color:"var(--graview-ink-muted, #555)"},children:t}):null]})}};var y=m(w(),1);var re=m(R(),1),V=(0,y.createContext)([]);function xn({sections:e,children:n}){let t=(0,y.useContext)(V),r=(0,y.useMemo)(()=>[...t,...e.filter(i=>!t.includes(i))],[t,e]);return(0,re.jsx)(V.Provider,{value:r,children:n})}function te(){let e=(0,y.useContext)(V),n=q()?.menuSections;return(0,y.useMemo)(()=>n?[...e,...n.filter(t=>!e.includes(t))]:e,[e,n])}function bn(){let e=te();return(0,y.useCallback)(n=>{for(let t of e)try{t(n)?.prepare?.()}catch{}},[e])}function wn(e){let n=te();if(e===null||n.length===0)return{start:[],end:[]};let t=n.flatMap(r=>{try{let i=r(e);return i&&((i.items?.length??0)>0||i.render||i.mode)?[i]:[]}catch{return[]}});return{start:t.filter(r=>r.at==="start"),end:t.filter(r=>r.at!=="start")}}var N=new WeakMap;function Sn(e,n){n?N.set(e,n):N.delete(e)}function En(e){return e?N.get(e):void 0}var P,ce,F=new Set;function Pn(e){F.add(e)}function kn(){return ce??=Promise.all([(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.Y7QDQ3WF.js")),...[...F].map(e=>e())]).then(([e])=>void(P=e.sectionUnder))}function Mn(e){return e&&P?P(e):void 0}var Rn=()=>P===void 0&&F.size>0,Cn=e=>P===void 0&&e?.getRootNode()?.host?.hasAttribute("data-worker-view")===!0;var ue=m(w(),1);function Tn(){return v().activity}var A=(e,n)=>e.length*n*.58;var pe=156,fe=2,k=pe-18,me=7.1,ye=16;function ge(e,n){let t=0,r=k;for(let i of e.split(" ")){let c=n(i),d=r+n(" ")+c;if(d<=k)r=d;else{let o=Math.ceil(c/k)||1;t+=o,r=c-(o-1)*k}}return t}var he=16.25,oe=27,xe=(e,n)=>{let t=Math.ceil(e.length*me/k);return n?Math.max(oe,Math.ceil(Math.max(t,ge(e,n))*he)+6):Math.max(oe,t*ye+6)};function Nn(e,n,t){return e.length===0?0:10+e.reduce((r,i)=>r+xe(i,t),0)+(e.length-1)*fe}var be=27,we=8,Fn=4,ve=64,Ln=e=>Math.max(1,Math.min(we,e)),_n=e=>e*be+ve;var f=m(w(),1);function jn(e,{units:n,target:t=0,legibleAt:r=260}){let[i,c]=(0,f.useState)(n);(0,f.useEffect)(()=>{let o=e.current;if(o===null||typeof ResizeObserver>"u")return;let a=new ResizeObserver(([l])=>{let s=l?.contentRect.width??0;s>0&&c(s)});return a.observe(o),()=>a.disconnect()},[e]);let d=i/n;return{scale:d,width:i,touchable:d*t>=24,legible:i>=r}}function In(e="--graview-font-body",n="sans-serif"){let t=(0,f.useRef)(void 0),r=(0,f.useMemo)(()=>{if(typeof getComputedStyle!="function"||typeof document>"u")return n;let i=getComputedStyle(document.documentElement).getPropertyValue(e).trim();return i.length>0?i:n},[e,n]);return(0,f.useMemo)(()=>{t.current===void 0&&(t.current=typeof document>"u"?null:document.createElement("canvas").getContext("2d")??null);let i=t.current;return i===null?A:(c,d)=>{i.font=`${d}px ${r}`;let o=i.measureText(c).width;return o>0?o:A(c,d)}},[r])}var Un=(0,f.createContext)(void 0);var L=3;function Se(e){let n=$(e),t=n.focusId;if(!t)return null;if(n.within?.view){let[i]=z(t);if(i)return{at:`screen:${i}`,audience:!0}}return{at:t,audience:!1}}var Ee=102,Pe=32;function $n(e,n,t){let r=[],i=new Map,c=new Map,d=0;for(let o of e){let a=Se(o.stop),l=a?n(a.at):null;if(!a||!l){o.name&&r.push({kind:"edge",presence:o,point:{x:t-8,y:Ee+d++*Pe}});continue}if(!o.name){let p=c.get(a.at);c.set(a.at,{n:(p?.n??0)+1,box:l});continue}let s=i.get(a.at)??[];if(s.push(o),i.set(a.at,s),s.length>L)continue;let u=l,b=s.length-1,h=a.audience?{x:u.x+u.width*.5+(b-1)*26,y:u.y+Math.min(u.height,24)}:{x:u.x+u.width*.5-26-b*26,y:u.y+u.height-4};r.push({kind:"person",presence:o,point:h,at:a.at,index:b,of:s.length,audience:a.audience})}for(let[o,a]of i){if(a.length<=L)continue;let l=n(o);l&&r.push({kind:"count",at:o,point:{x:l.x+l.width*.5+2*26+18,y:l.y+l.height-4},n:a.length-L})}for(let[o,{n:a,box:l}]of c)r.push({kind:"count",at:o,point:{x:l.x+l.width*.5+40,y:l.y+l.height-4},n:a});for(let o of e)if(o.name){if(o.robot?.at&&o.robot.mode!=="docked"){let a=n(o.robot.at);a&&r.push({kind:"robot",presence:o,point:{x:a.x+a.width/2+22,y:a.y+a.height-4},mode:o.robot.mode})}if(o.over){let a=n(o.over);a&&r.push({kind:"over",presence:o,box:a})}}return r}export{Tn as a,A as b,pe as c,fe as d,oe as e,Nn as f,be as g,Fn as h,ve as i,Ln as j,_n as k,jn as l,In as m,J as n,Ae as o,pn as p,fn as q,$n as r,ne as s,xn as t,bn as u,wn as v,Sn as w,En as x,Pn as y,kn as z,Mn as A,Rn as B,Cn as C};
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{l as T}from"./chunk.RD2FSSLV.js";import{j as D}from"./chunk.P3Z4ZCL3.js";import{G as w,Ta as Q,_ as R,c as $,ia as v,ja as q,ka as Y,x as z}from"./chunk.ASNVH2G4.js";import{Ac as U,C as W,_b as H,hc as j,ib as B,pc as I,ud as K,vd as G}from"./chunk.ZDUKVXBI.js";import{b as m}from"./chunk.AJZBJBMO.js";function J(e,n,t={}){let r=e.graph.getNode(n);if(!r)return[];let i=t.principal?new Set(e.permittedMutations(t.principal).map(s=>s.name)):void 0,c=r.kind,d=e.schema.tryDefinition(c);if(!d)return[];let o=e.seenFor,a=o?H.keptFrom?.(e,o)?.(r):void 0,l=new Map;for(let s of e.allMutations()){let u=s.subject;if(!u||!(u.kinds==="*"||u.kinds.includes(c))||i&&!i.has(s.name))continue;let h=s.input.shape??{};for(let p of U(s,d)){if(a?.(p)||!j(s,e.schema,e.graph,n,p,o&&B(e.schema,o)))continue;let M=p in h,_=[];for(let g of Object.keys(h)){if(g===u.arg||g===p||se(h[g]))continue;let S=I(s.input).find(E=>E.name===g);_.push({name:g,...S?{kinds:S.kinds}:{},...S?{candidates:S.kinds.includes("*")?e.graph.allNodes().map(E=>E.id):S.kinds.flatMap(E=>e.graph.nodesOfKind(E).map(ae=>ae.id))}:{},shape:D(s.input,g)})}let ie={field:p,mutation:s.name,title:s.title??s.name,shape:M?D(s.input,p):{type:"unknown"},takesValue:M,alternatives:[],open:_,clearable:M&&(s.clearable?.includes(p)??!1),call:g=>({name:s.name,args:M?{[u.arg]:n,[p]:g}:{[u.arg]:n}})};l.set(p,[...l.get(p)??[],ie])}}return[...l.values()].map(s=>{let u=[...s.filter(p=>p.takesValue),...s.filter(p=>!p.takesValue)],[b,...h]=u;return{...b,alternatives:h}})}function se(e){let n=W(e)?.type;return n==="optional"||n==="default"||n==="nullable"}var C=m(w(),1);function Ae(e){let{store:n,principal:t}=v(),r=Y(),i=(0,C.useMemo)(()=>e===null?[]:J(n,e,{principal:t}),[n,e,r,t]),c=(0,C.useCallback)((d,o,a={})=>{let l=d.call(o);n.apply({name:l.name,args:{...l.args,...a}},{author:t})},[n,t]);return{fields:i,commit:c}}var X=m(w(),1);function pn(){let{brand:e}=v(),n=e?.kit;return(0,X.useMemo)(()=>K(n),[n])}function fn(e,n){let t=G(e,n),r={...t.color!==void 0?{color:t.color}:{},...t.pattern!==void 0?{pattern:t.pattern}:{},...t.width!==void 0?{width:t.width}:{},...t.cap!==void 0?{cap:t.cap}:{},...t.opacity!==void 0?{opacity:t.opacity}:{}};return{connector:t,style:T(n,{[n]:r})}}var O=m(w(),1);var x=m(R(),1);function de(e){let n=e?.hint;return typeof n=="string"&&n.length>0?n:void 0}function le(e){if(e instanceof Error&&e.message)return e.message;let n=String(e);return n==="[object Object]"?"The view threw without a message.":n}var Z='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), [contenteditable="true"]';function ee(){return document.activeElement===null||document.activeElement===document.body}var ne=class extends O.Component{static contextType=Q;state={};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,t){console.error(`[graview] the ${this.props.view??"view"} of ${this.props.kind} threw while rendering`,n,t.componentStack),this.context?.(n,{module:"@graview/react"}),this.props.onCaught?.(n)}panel=(0,O.createRef)();getSnapshotBeforeUpdate(){if(typeof document>"u")return null;let n=document.activeElement,t=this.panel.current;return t&&n===t?{onPanel:!0,focused:n,parent:t.parentNode,before:t.previousSibling}:{onPanel:!1,focused:n}}componentDidUpdate(n,t,r){if(r&&!t.error&&this.state.error&&r.focused&&r.focused!==document.body&&!r.focused.isConnected&&ee()&&this.panel.current?.focus(),r?.onPanel&&t.error&&!this.state.error&&ee()){let d=r.before?r.before.nextSibling:r.parent?.firstChild??null;if(d instanceof HTMLElement){let o=d.matches(Z)?d:d.querySelector(Z);o?o.focus():(d.hasAttribute("tabindex")||d.setAttribute("tabindex","-1"),d.focus())}}if(!this.state.error)return;let i=n.reset??[],c=this.props.reset??[];(i.length!==c.length||i.some((d,o)=>!Object.is(d,c[o])))&&this.setState({error:void 0})}render(){let{error:n}=this.state;if(!n)return this.props.children;let t=de(n);return(0,x.jsxs)("div",{ref:this.panel,role:"alert",tabIndex:-1,"data-graview-view-error":this.props.kind,style:{display:"flex",flexDirection:"column",gap:"0.375rem",padding:"var(--graview-pad, 12px)",height:"100%",overflow:"auto",boxSizing:"border-box",borderRadius:"var(--graview-radius-sm, 6px)",background:"var(--graview-panel-warning, #fdf3ec)",color:"var(--graview-ink, #1a1a1a)",font:"var(--graview-font-body, 13px/1.45 system-ui)",fontSize:"0.875rem",lineHeight:1.45},children:[(0,x.jsx)("strong",{style:{color:"var(--graview-warn, #b4462a)"},children:this.props.view?`${this.props.view} could not draw`:"This view could not draw"}),this.props.said===""?null:(0,x.jsx)("span",{style:{color:"var(--graview-ink-muted, #555)"},children:this.props.said??this.props.kind}),(0,x.jsx)("span",{children:le(n)}),t?(0,x.jsx)("span",{style:{color:"var(--graview-ink-muted, #555)"},children:t}):null]})}};var y=m(w(),1);var re=m(R(),1),V=(0,y.createContext)([]);function xn({sections:e,children:n}){let t=(0,y.useContext)(V),r=(0,y.useMemo)(()=>[...t,...e.filter(i=>!t.includes(i))],[t,e]);return(0,re.jsx)(V.Provider,{value:r,children:n})}function te(){let e=(0,y.useContext)(V),n=q()?.menuSections;return(0,y.useMemo)(()=>n?[...e,...n.filter(t=>!e.includes(t))]:e,[e,n])}function bn(){let e=te();return(0,y.useCallback)(n=>{for(let t of e)try{t(n)?.prepare?.()}catch{}},[e])}function wn(e){let n=te();if(e===null||n.length===0)return{start:[],end:[]};let t=n.flatMap(r=>{try{let i=r(e);return i&&((i.items?.length??0)>0||i.render||i.mode)?[i]:[]}catch{return[]}});return{start:t.filter(r=>r.at==="start"),end:t.filter(r=>r.at!=="start")}}var N=new WeakMap;function Sn(e,n){n?N.set(e,n):N.delete(e)}function En(e){return e?N.get(e):void 0}var P,ce,F=new Set;function Pn(e){F.add(e)}function kn(){return ce??=Promise.all([(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.Y7QDQ3WF.js")),...[...F].map(e=>e())]).then(([e])=>void(P=e.sectionUnder))}function Mn(e){return e&&P?P(e):void 0}var Rn=()=>P===void 0&&F.size>0,Cn=e=>P===void 0&&e?.getRootNode()?.host?.hasAttribute("data-worker-view")===!0;var ue=m(w(),1);function Tn(){return v().activity}var A=(e,n)=>e.length*n*.58;var pe=156,fe=2,k=pe-18,me=7.1,ye=16;function ge(e,n){let t=0,r=k;for(let i of e.split(" ")){let c=n(i),d=r+n(" ")+c;if(d<=k)r=d;else{let o=Math.ceil(c/k)||1;t+=o,r=c-(o-1)*k}}return t}var he=16.25,oe=27,xe=(e,n)=>{let t=Math.ceil(e.length*me/k);return n?Math.max(oe,Math.ceil(Math.max(t,ge(e,n))*he)+6):Math.max(oe,t*ye+6)};function Nn(e,n,t){return e.length===0?0:10+e.reduce((r,i)=>r+xe(i,t),0)+(e.length-1)*fe}var be=27,we=8,Fn=4,ve=64,Ln=e=>Math.max(1,Math.min(we,e)),_n=e=>e*be+ve;var f=m(w(),1);function jn(e,{units:n,target:t=0,legibleAt:r=260}){let[i,c]=(0,f.useState)(n);(0,f.useEffect)(()=>{let o=e.current;if(o===null||typeof ResizeObserver>"u")return;let a=new ResizeObserver(([l])=>{let s=l?.contentRect.width??0;s>0&&c(s)});return a.observe(o),()=>a.disconnect()},[e]);let d=i/n;return{scale:d,width:i,touchable:d*t>=24,legible:i>=r}}function In(e="--graview-font-body",n="sans-serif"){let t=(0,f.useRef)(void 0),r=(0,f.useMemo)(()=>{if(typeof getComputedStyle!="function"||typeof document>"u")return n;let i=getComputedStyle(document.documentElement).getPropertyValue(e).trim();return i.length>0?i:n},[e,n]);return(0,f.useMemo)(()=>{t.current===void 0&&(t.current=typeof document>"u"?null:document.createElement("canvas").getContext("2d")??null);let i=t.current;return i===null?A:(c,d)=>{i.font=`${d}px ${r}`;let o=i.measureText(c).width;return o>0?o:A(c,d)}},[r])}var Un=(0,f.createContext)(void 0);var L=3;function Se(e){let n=$(e),t=n.focusId;if(!t)return null;if(n.within?.view){let[i]=z(t);if(i)return{at:`screen:${i}`,audience:!0}}return{at:t,audience:!1}}var Ee=102,Pe=32;function $n(e,n,t){let r=[],i=new Map,c=new Map,d=0;for(let o of e){let a=Se(o.stop),l=a?n(a.at):null;if(!a||!l){o.name&&r.push({kind:"edge",presence:o,point:{x:t-8,y:Ee+d++*Pe}});continue}if(!o.name){let p=c.get(a.at);c.set(a.at,{n:(p?.n??0)+1,box:l});continue}let s=i.get(a.at)??[];if(s.push(o),i.set(a.at,s),s.length>L)continue;let u=l,b=s.length-1,h=a.audience?{x:u.x+u.width*.5+(b-1)*26,y:u.y+Math.min(u.height,24)}:{x:u.x+u.width*.5-26-b*26,y:u.y+u.height-4};r.push({kind:"person",presence:o,point:h,at:a.at,index:b,of:s.length,audience:a.audience})}for(let[o,a]of i){if(a.length<=L)continue;let l=n(o);l&&r.push({kind:"count",at:o,point:{x:l.x+l.width*.5+2*26+18,y:l.y+l.height-4},n:a.length-L})}for(let[o,{n:a,box:l}]of c)r.push({kind:"count",at:o,point:{x:l.x+l.width*.5+40,y:l.y+l.height-4},n:a});for(let o of e)if(o.name){if(o.robot?.at&&o.robot.mode!=="docked"){let a=n(o.robot.at);a&&r.push({kind:"robot",presence:o,point:{x:a.x+a.width/2+22,y:a.y+a.height-4},mode:o.robot.mode})}if(o.over){let a=n(o.over);a&&r.push({kind:"over",presence:o,box:a})}}return r}export{Tn as a,A as b,pe as c,fe as d,oe as e,Nn as f,be as g,Fn as h,ve as i,Ln as j,_n as k,jn as l,In as m,J as n,Ae as o,pn as p,fn as q,$n as r,ne as s,xn as t,bn as u,wn as v,Sn as w,En as x,Pn as y,kn as z,Mn as A,Rn as B,Cn as C};
@@ -1 +1 @@
1
- import{Bd as E,Cd as G,Ed as F,Fd as J,Lb as O,Sb as P,Ub as h,Vb as j,cc as x,fb as k}from"./chunk.6L6RUOSF.js";var W=(o,a)=>{let t=o.kindOf(a);return t===void 0?void 0:o.kept?.({id:a,kind:t})};function w(o,a){return o.flatMap(t=>{if(t.op==="splice-text")return W(a,t.id)?.(t.field)?[]:[t];if(t.op!=="patch-node")return[t];let i=W(a,t.id);if(!i||!Object.keys(t.after).some(i))return[t];let c=r=>Object.fromEntries(Object.entries(r).filter(([f])=>!i(f))),n=c(t.after);return Object.keys(n).length===0?[]:[{op:"patch-node",id:t.id,before:c(t.before),after:n}]})}function _(o,a,t){if(!G(o,a))return t;let i=F(o,a),c=r=>o.graph.getNode(r)!==void 0||x(o.log).kindOf(r)!==void 0,n={...t};if(t.diff){let r=t.diff,f=E(o.log),l=o.log.length??o.log.all().length,u=t.ops?.[0]?.seq??l,M=k(a).id,y=(e,s)=>d=>f.writerAt(e,d,s),m=(e,s)=>i.shows(e.id)?i.servedWith(e,s):void 0,b=(e,s)=>e.flatMap(d=>m(d,s(d.id))??[]),S=e=>i.shows(e.from)&&i.shows(e.to)&&!h(e,i.sees),v=(e,s)=>t.ops?y(e,l):d=>s===void 0||s.includes(d)?M:f.writerAt(e,d,l),D=r.changedNodes.flatMap(e=>{let s=m(e.before,y(e.before.id,u)),d=m(e.after,v(e.after.id,e.fields));return s&&d?[{before:s,after:d,fields:e.fields.filter(p=>p in s||p in d)}]:[]}),B=new Set(r.changedNodes.map(e=>e.after.id)),g=new Map;for(let e of t.ops?.flatMap(s=>s.primitives)??t.primitives??[])e.op!=="patch-node"&&e.op!=="splice-text"||B.has(e.id)||g.set(e.id,[...g.get(e.id)??[],...e.op==="splice-text"?[e.field]:Object.keys(e.after)]);let I=[...g].flatMap(([e,s])=>{let d=o.graph.getNode(e);if(!d)return[];let p=m(d,y(e,u)),N=m(d,v(e,s));return p&&N&&JSON.stringify(p)!==JSON.stringify(N)?[{before:p,after:N,fields:s}]:[]});n.diff={addedNodes:b(r.addedNodes,e=>v(e)),removedNodes:b(r.removedNodes,e=>y(e,u)),changedNodes:[...D,...I],addedEdges:r.addedEdges.filter(S),removedEdges:r.removedEdges.filter(S),touched:[...r.touched.filter(i.shows),...[...g.keys()].filter(e=>i.shows(e)&&!r.touched.includes(e))]}}if(t.ops&&(n.ops=j(t.ops,i)),t.primitives){let r=n.ops;n.primitives=r?r.flatMap(f=>f.primitives):i.timeline?O(t.primitives,i.timeline,{served:(f,l)=>i.servedWith(f,l),edgeClean:f=>!h(f,i.sees),sees:i.sees},k(a).id):j([{id:"",seq:0,batch:"",author:{kind:"system"},intent:"",mutation:null,primitives:t.primitives,reads:[],writes:[],at:""}],i)[0].primitives}return i.kept&&n.primitives&&(n.primitives=w(n.primitives,i)),t.reads&&(n.reads=t.reads.filter(r=>i.shows(r)&&c(r))),t.writes&&(n.writes=t.writes.filter(i.shows)),t.intent!==void 0&&h(t.intent,i.sees)&&(n.intent=P),t.violationsAfter&&Object.assign(n,A?A(o,J(o,a),!!t.ops,n.primitives??[]):{introduces:[],resolves:[],violationsAfter:[]}),n}var A,z=o=>void(A=o);export{_ as a,z as b};
1
+ import{Bd as E,Cd as G,Ed as F,Fd as J,Lb as O,Sb as P,Ub as h,Vb as j,cc as x,fb as k}from"./chunk.ZDUKVXBI.js";var W=(o,a)=>{let t=o.kindOf(a);return t===void 0?void 0:o.kept?.({id:a,kind:t})};function w(o,a){return o.flatMap(t=>{if(t.op==="splice-text")return W(a,t.id)?.(t.field)?[]:[t];if(t.op!=="patch-node")return[t];let i=W(a,t.id);if(!i||!Object.keys(t.after).some(i))return[t];let c=r=>Object.fromEntries(Object.entries(r).filter(([f])=>!i(f))),n=c(t.after);return Object.keys(n).length===0?[]:[{op:"patch-node",id:t.id,before:c(t.before),after:n}]})}function _(o,a,t){if(!G(o,a))return t;let i=F(o,a),c=r=>o.graph.getNode(r)!==void 0||x(o.log).kindOf(r)!==void 0,n={...t};if(t.diff){let r=t.diff,f=E(o.log),l=o.log.length??o.log.all().length,u=t.ops?.[0]?.seq??l,M=k(a).id,y=(e,s)=>d=>f.writerAt(e,d,s),m=(e,s)=>i.shows(e.id)?i.servedWith(e,s):void 0,b=(e,s)=>e.flatMap(d=>m(d,s(d.id))??[]),S=e=>i.shows(e.from)&&i.shows(e.to)&&!h(e,i.sees),v=(e,s)=>t.ops?y(e,l):d=>s===void 0||s.includes(d)?M:f.writerAt(e,d,l),D=r.changedNodes.flatMap(e=>{let s=m(e.before,y(e.before.id,u)),d=m(e.after,v(e.after.id,e.fields));return s&&d?[{before:s,after:d,fields:e.fields.filter(p=>p in s||p in d)}]:[]}),B=new Set(r.changedNodes.map(e=>e.after.id)),g=new Map;for(let e of t.ops?.flatMap(s=>s.primitives)??t.primitives??[])e.op!=="patch-node"&&e.op!=="splice-text"||B.has(e.id)||g.set(e.id,[...g.get(e.id)??[],...e.op==="splice-text"?[e.field]:Object.keys(e.after)]);let I=[...g].flatMap(([e,s])=>{let d=o.graph.getNode(e);if(!d)return[];let p=m(d,y(e,u)),N=m(d,v(e,s));return p&&N&&JSON.stringify(p)!==JSON.stringify(N)?[{before:p,after:N,fields:s}]:[]});n.diff={addedNodes:b(r.addedNodes,e=>v(e)),removedNodes:b(r.removedNodes,e=>y(e,u)),changedNodes:[...D,...I],addedEdges:r.addedEdges.filter(S),removedEdges:r.removedEdges.filter(S),touched:[...r.touched.filter(i.shows),...[...g.keys()].filter(e=>i.shows(e)&&!r.touched.includes(e))]}}if(t.ops&&(n.ops=j(t.ops,i)),t.primitives){let r=n.ops;n.primitives=r?r.flatMap(f=>f.primitives):i.timeline?O(t.primitives,i.timeline,{served:(f,l)=>i.servedWith(f,l),edgeClean:f=>!h(f,i.sees),sees:i.sees},k(a).id):j([{id:"",seq:0,batch:"",author:{kind:"system"},intent:"",mutation:null,primitives:t.primitives,reads:[],writes:[],at:""}],i)[0].primitives}return i.kept&&n.primitives&&(n.primitives=w(n.primitives,i)),t.reads&&(n.reads=t.reads.filter(r=>i.shows(r)&&c(r))),t.writes&&(n.writes=t.writes.filter(i.shows)),t.intent!==void 0&&h(t.intent,i.sees)&&(n.intent=P),t.violationsAfter&&Object.assign(n,A?A(o,J(o,a),!!t.ops,n.primitives??[]):{introduces:[],resolves:[],violationsAfter:[]}),n}var A,z=o=>void(A=o);export{_ as a,z as b};
@@ -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{F as g,G as T,Oa as C,Y as v,ha as S}from"./chunk.JCKIJSW7.js";import{a as m}from"./chunk.SDO3U72B.js";import"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as c}from"./chunk.AJZBJBMO.js";var n=c(T(),1),r=c(v(),1),s=null,u=null,f=new Set,a=()=>{for(let e of f)e()},y=e=>(f.add(e),()=>void f.delete(e)),E=300,d=()=>{u!==null&&clearTimeout(u),u=null};function q(e,t){d(),x.prefetch(),!(s?.element===t&&s.target.on===e.on)&&(s={target:e,element:t},a())}function M(e=!1){if(d(),s!==null){if(e){s=null,a();return}u=setTimeout(()=>{u=null,s=null,a()},E)}}var R=()=>d(),P=()=>s,b="graview:hover-chips",h;function A(e){if(h!==void 0)return h;try{return(e??localStorage).getItem(b)!=="off"}catch{return!0}}function I(e,t){h=e;try{(t??localStorage).setItem(b,e?"on":"off")}catch{}e||(s=null),a()}function w(){let e=S(),t=g(e?.ai),o=e?.memory,l=(0,n.useSyncExternalStore)(y,()=>A(o),()=>!1),i=(0,n.useCallback)(H=>I(H,o),[o]);return{offered:t,on:t&&l,set:i}}function z({legend:e,style:t,choice:o}){let l=w();return l.offered?(0,r.jsxs)("fieldset",{"data-testid":"setting-hover-chips",style:{border:0,margin:0,padding:0,display:"grid",gap:5,...t},children:[(0,r.jsx)("legend",{style:{...e,padding:0},children:"AI suggestions on hover"}),(0,r.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:"A quiet suggestion beside a record the pointer rests on, when the AI is sure of one."}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[!0,!1].map(i=>(0,r.jsx)("button",{type:"button","aria-pressed":l.on===i,"data-testid":`setting-hover-chips-${i?"on":"off"}`,onClick:()=>l.set(i),style:o(l.on===i),children:i?"On":"Off"},String(i)))})]}):null}var x=C(m(()=>(__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.7FI75ZVE.js")))),k=x.part((e,t)=>{let o=e.HoverChip;return(0,r.jsx)(o,{...t})},{quiet:!0}),p=null,O=()=>p;function L(){let{on:e}=w(),t=(0,n.useSyncExternalStore)(y,P,()=>null),[o]=(0,n.useState)(()=>Symbol("hover-chip")),l=(0,n.useSyncExternalStore)(y,O,()=>null);return(0,n.useEffect)(()=>{if(e)return p===null&&(p=o,a()),()=>{p===o&&(p=null,s=null,d(),a())}},[e,o,l]),!e||t===null||l!==o||!t.element.isConnected?null:(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(k,{rest:t,hold:R,leave:M})})}export{L as HoverChipDoor,z as HoverChipsSwitch,R as holdRest,A as hoverChipsWanted,M as leaveRest,q as restOn,I as setHoverChipsWanted,w as useHoverChipsSetting};
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{F as g,G as T,Qa as C,_ as v,ja as S}from"./chunk.ASNVH2G4.js";import{a as m}from"./chunk.SDO3U72B.js";import"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as c}from"./chunk.AJZBJBMO.js";var n=c(T(),1),r=c(v(),1),s=null,u=null,f=new Set,a=()=>{for(let e of f)e()},y=e=>(f.add(e),()=>void f.delete(e)),E=300,d=()=>{u!==null&&clearTimeout(u),u=null};function q(e,t){d(),x.prefetch(),!(s?.element===t&&s.target.on===e.on)&&(s={target:e,element:t},a())}function M(e=!1){if(d(),s!==null){if(e){s=null,a();return}u=setTimeout(()=>{u=null,s=null,a()},E)}}var R=()=>d(),P=()=>s,b="graview:hover-chips",h;function A(e){if(h!==void 0)return h;try{return(e??localStorage).getItem(b)!=="off"}catch{return!0}}function I(e,t){h=e;try{(t??localStorage).setItem(b,e?"on":"off")}catch{}e||(s=null),a()}function w(){let e=S(),t=g(e?.ai),o=e?.memory,l=(0,n.useSyncExternalStore)(y,()=>A(o),()=>!1),i=(0,n.useCallback)(H=>I(H,o),[o]);return{offered:t,on:t&&l,set:i}}function z({legend:e,style:t,choice:o}){let l=w();return l.offered?(0,r.jsxs)("fieldset",{"data-testid":"setting-hover-chips",style:{border:0,margin:0,padding:0,display:"grid",gap:5,...t},children:[(0,r.jsx)("legend",{style:{...e,padding:0},children:"AI suggestions on hover"}),(0,r.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:"A quiet suggestion beside a record the pointer rests on, when the AI is sure of one."}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:[!0,!1].map(i=>(0,r.jsx)("button",{type:"button","aria-pressed":l.on===i,"data-testid":`setting-hover-chips-${i?"on":"off"}`,onClick:()=>l.set(i),style:o(l.on===i),children:i?"On":"Off"},String(i)))})]}):null}var x=C(m(()=>(__graviewPreload(import.meta.url,["./chunk.GMHBAS45.js","./chunk.4VX7GPFS.js","./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.VGQDPEB5.js","./chunk.6YKKZI4H.js","./chunk.WIVNFOQR.js","./chunk.ONVYKLRX.js","./chunk.XOZU4OFA.js","./chunk.53GQQETN.js","./chunk.SMF5S4DQ.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.RJ6KEVZC.js")))),k=x.part((e,t)=>{let o=e.HoverChip;return(0,r.jsx)(o,{...t})},{quiet:!0}),p=null,O=()=>p;function L(){let{on:e}=w(),t=(0,n.useSyncExternalStore)(y,P,()=>null),[o]=(0,n.useState)(()=>Symbol("hover-chip")),l=(0,n.useSyncExternalStore)(y,O,()=>null);return(0,n.useEffect)(()=>{if(e)return p===null&&(p=o,a()),()=>{p===o&&(p=null,s=null,d(),a())}},[e,o,l]),!e||t===null||l!==o||!t.element.isConnected?null:(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(k,{rest:t,hold:R,leave:M})})}export{L as HoverChipDoor,z as HoverChipsSwitch,R as holdRest,A as hoverChipsWanted,M as leaveRest,q as restOn,I as setHoverChipsWanted,w as useHoverChipsSetting};
@@ -1,4 +1,4 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as U,b as X,c as Y}from"./chunk.6ZRVVRDQ.js";import"./chunk.DDSAFU3B.js";import{a as E,b as Q}from"./chunk.MB7LKKUD.js";import{a as J}from"./chunk.MEAUTBVM.js";import"./chunk.OKHXXIMN.js";import"./chunk.6IMRCKB4.js";import"./chunk.7KX36ENH.js";import"./chunk.QDDDKEBH.js";import"./chunk.QKRQPUCE.js";import"./chunk.KBJ3UUER.js";import"./chunk.NI4OPHTL.js";import"./chunk.U5KJQFAP.js";import"./chunk.FOHZPYUV.js";import"./chunk.IXYG65TM.js";import"./chunk.W6L2VAJG.js";import"./chunk.N3MXLORL.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{D as F,E as _,G as ne,Oa as G,Y as K,Ya as A,ha as W}from"./chunk.JCKIJSW7.js";import{a as D}from"./chunk.SDO3U72B.js";import{oa as H,zd as V}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as k}from"./chunk.AJZBJBMO.js";var r=k(ne(),1);var a=k(K(),1);function le(t){let n=[];return t.applied.length>0&&t.intent&&n.push(`${t.intent}.`),t.unchanged.length>0&&n.push(`${t.unchanged.length} already so.`),t.allOrNothing&&n.push("None of it was kept."),n.join(" ")}var ie=G(D(()=>(__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.JAPTTM6Y.js")))),oe=ie.part((t,n)=>(0,a.jsx)(t.SeveralAi,{...n}),{quiet:!0});function se(t){let n=W()?.ai;return!F(n)||!_(n)?null:(0,a.jsx)(r.Suspense,{fallback:null,children:(0,a.jsx)(oe,{...t})})}function we({store:t,chosen:n,principal:d,context:c,via:N,anchor:O,of:f,onChooseAll:P,onClear:w,onActed:Z}){let[L,ee]=(0,r.useState)(0);(0,r.useEffect)(()=>t.subscribe(()=>ee(e=>e+1)),[t]);let g=n.join(`
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 U,b as X,c as Y}from"./chunk.JOB3EKS6.js";import"./chunk.GYP3EF6Z.js";import{a as E,b as Q}from"./chunk.MB7LKKUD.js";import{a as J}from"./chunk.2TTKQAWQ.js";import"./chunk.CJHCUHVN.js";import"./chunk.DCIYOZYP.js";import"./chunk.O5P6LXHF.js";import"./chunk.VGQDPEB5.js";import"./chunk.WIVNFOQR.js";import"./chunk.53GQQETN.js";import"./chunk.J7GH2CGV.js";import"./chunk.SMF5S4DQ.js";import"./chunk.XP4IVKKR.js";import"./chunk.R5YGW5ZX.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{D as F,E as _,G as ne,Qa as G,_ as K,_a as A,ja as W}from"./chunk.ASNVH2G4.js";import{a as D}from"./chunk.SDO3U72B.js";import{oa as H,zd as V}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as k}from"./chunk.AJZBJBMO.js";var r=k(ne(),1);var a=k(K(),1);function le(t){let n=[];return t.applied.length>0&&t.intent&&n.push(`${t.intent}.`),t.unchanged.length>0&&n.push(`${t.unchanged.length} already so.`),t.allOrNothing&&n.push("None of it was kept."),n.join(" ")}var ie=G(D(()=>(__graviewPreload(import.meta.url,["./chunk.GMHBAS45.js","./chunk.4VX7GPFS.js","./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.VGQDPEB5.js","./chunk.6YKKZI4H.js","./chunk.WIVNFOQR.js","./chunk.ONVYKLRX.js","./chunk.XOZU4OFA.js","./chunk.53GQQETN.js","./chunk.SMF5S4DQ.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.YCYJHPWS.js")))),oe=ie.part((t,n)=>(0,a.jsx)(t.SeveralAi,{...n}),{quiet:!0});function se(t){let n=W()?.ai;return!F(n)||!_(n)?null:(0,a.jsx)(r.Suspense,{fallback:null,children:(0,a.jsx)(oe,{...t})})}function we({store:t,chosen:n,principal:d,context:c,via:N,anchor:O,of:f,onChooseAll:P,onClear:w,onActed:Z}){let[L,ee]=(0,r.useState)(0);(0,r.useEffect)(()=>t.subscribe(()=>ee(e=>e+1)),[t]);let g=n.join(`
2
2
  `),{acts:p,withheld:$}=(0,r.useMemo)(()=>U(t,n,{...d?{principal:d}:{},...c?{context:c}:{}}),[t,g,d,c,L]),[M,h]=(0,r.useState)(!1),[o,u]=(0,r.useState)(null),[v,C]=(0,r.useState)(null),y=(0,r.useRef)(null),R=(0,r.useId)(),b=(0,r.useMemo)(()=>[...new Set(n.map(e=>t.graph.getNode(e)?.kind))],[t,g]),s=(0,r.useMemo)(()=>n.filter(e=>t.graph.has(e)),[t,g,L]),ae=b.length===1&&b[0]?`${H(t.schema,b[0],n.length)} chosen`:`${n.length} chosen`,T=typeof matchMedia=="function"&&matchMedia("(pointer: coarse), (max-width: 599px)").matches?2:3,z=p.filter(e=>!e.more),te=z.slice(0,T),I=[...z.slice(T),...p.filter(e=>e.more)];(0,r.useEffect)(()=>{u(null),h(!1)},[g]),(0,r.useLayoutEffect)(()=>{let e=y.current;if(!e)return;if(typeof e.showPopover=="function"&&!A(e))try{e.showPopover()}catch{}let l=()=>{Q(e,O?.()??null),dispatchEvent(new Event(E))};l(),addEventListener("resize",l),addEventListener("scroll",l,!0);let i=typeof ResizeObserver=="function"?new ResizeObserver(l):null;return i?.observe(e),()=>{if(i?.disconnect(),removeEventListener("resize",l),removeEventListener("scroll",l,!0),e.isConnected&&A(e))try{e.hidePopover()}catch{}dispatchEvent(new Event(E))}},[O]);let x=(0,r.useRef)({asking:o,onClear:w});x.current={asking:o,onClear:w},(0,r.useEffect)(()=>{let e=l=>{if(l.key!=="Escape"||l.defaultPrevented)return;let i=document.activeElement;if(!(!(y.current?.contains(i)??!1)&&(i instanceof HTMLTextAreaElement||i instanceof HTMLInputElement&&i.type!=="checkbox"||i instanceof HTMLSelectElement))){if(l.preventDefault(),l.stopPropagation(),x.current.asking){u(null);return}x.current.onClear()}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let q=(e,l={})=>{let i={...e.args,...l},S=e.open.length>0?X(t,{...e,args:i,open:[]},s,d).applies:e.applies,m=Y(t,{mutation:e.mutation,subject:e.subject,args:i,label:e.label},S.length>0?S:s,{...d?{author:d}:{},...N?{via:N}:{},...c?{context:c}:{}});u(null),h(!1),C(m.refused.length>0||m.applied.length===0?m:null),Z(m.refused.map(re=>re.id))},B=e=>{C(null),h(!1),e.open.length>0?u(e):q(e)},j=e=>(0,a.jsxs)("button",{type:"button",className:"graview-several-act","data-testid":"several-act","data-act":e.id,"data-mutation":e.mutation,"data-applies":e.applies.length,...e.destructive?{"data-tone":"warn"}:{},"aria-pressed":o?.id===e.id?!0:void 0,onClick:()=>B(e),children:[e.label,e.open.length>0?"\u2026":"",e.applies.length<s.length?(0,a.jsx)("span",{className:"graview-several-act-count",children:` \u2014 ${e.applies.length} of ${s.length}`}):null]},e.id);return(0,a.jsxs)("div",{ref:y,popover:"manual",role:"region","aria-label":"The chosen records",className:"graview-several-bar","data-testid":"several-bar","data-graview-foot":"","data-graview-overlay":"","data-graview-popover":"","data-graview-offstage":"",style:de,children:[(0,a.jsx)("style",{children:ve}),(0,a.jsxs)("div",{className:"graview-several-line",children:[(0,a.jsx)("span",{role:"status","aria-live":"polite",className:"graview-several-count","data-testid":"several-count",children:ae}),(0,a.jsxs)("div",{role:"group","aria-label":`What to do with the ${n.length} chosen`,className:"graview-several-acts",children:[te.map(j),I.length>0?(0,a.jsx)("button",{type:"button",className:"graview-several-act","data-testid":"several-more","aria-expanded":M,"aria-controls":R,onClick:()=>h(e=>!e),children:"More"}):null,P&&f!==void 0&&f>n.length?(0,a.jsxs)("button",{type:"button",className:"graview-several-quiet","data-testid":"several-all",onClick:P,children:["Choose all ",f]}):null,(0,a.jsx)("button",{type:"button",className:"graview-several-quiet","data-testid":"several-clear","aria-keyshortcuts":"Escape",title:"Put the choice down \u2014 Escape",onClick:w,children:"Clear"})]})]}),p.length>0&&n.length>1?(0,a.jsx)(se,{chosen:n,acts:p,onAct:B}):null,M?(0,a.jsx)("div",{id:R,role:"group","aria-label":"More",className:"graview-several-acts","data-testid":"several-more-acts",children:I.map(j)}):null,p.length===0?(0,a.jsx)("p",{className:"graview-several-said","data-testid":"several-none",children:$.length>0?`Nothing here can be done to all of them by you: ${$[0].message}`:"Nothing can be done to all of these at once."}):null,o?(0,a.jsx)("div",{className:"graview-several-ask",role:"group","aria-label":o.applies.length<s.length?`${o.label}, for ${o.applies.length} of the ${s.length}`:`${o.label}, for all ${s.length}`,"data-testid":"several-ask",children:(0,a.jsx)(J,{store:t,affordance:o.affordance,onApply:e=>q(o,e),onCancel:()=>u(null)})}):null,v?(0,a.jsxs)("div",{role:"alert",className:"graview-several-said","data-testid":"several-outcome",children:[le(v),v.refused.length>0?(0,a.jsxs)(a.Fragment,{children:[" ",v.refused.length===1?"One was not changed, and is still chosen:":`${v.refused.length} were not changed, and are still chosen:`,(0,a.jsx)("ul",{"data-testid":"several-refused",children:v.refused.map(e=>(0,a.jsxs)("li",{"data-record":e.id,children:["\u201C",e.label,"\u201D \u2014 ",e.message]},e.id))})]}):null]}):null]})}var de={position:"fixed",inset:"auto",margin:0,zIndex:V("toast"),boxSizing:"border-box",width:"max-content",height:"auto",bottom:"calc(16px + env(safe-area-inset-bottom, 0px))",left:16,overflow:"visible"},ve=`
3
3
  .graview-several-bar{display:grid;gap:8px;padding:8px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-float);color:var(--graview-ink);box-shadow:var(--graview-lift-high);font-size:.875rem;line-height:1.4;max-height:70vh;overflow:auto}
4
4
  .graview-several-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}
@@ -0,0 +1,3 @@
1
+ import"./chunk.HIIYDKFC.js";import{a as _,b as me,c as he,e as fe}from"./chunk.F2BZ4SC4.js";import"./chunk.WAPY4RCS.js";import"./chunk.JMXBMLKH.js";import"./chunk.PVAYYFT2.js";import"./chunk.HJCQ6I3S.js";import{a as we,d as ve}from"./chunk.QNFX5VHW.js";import"./chunk.UXW43HNW.js";import{d as ye}from"./chunk.L3ST2YKI.js";import"./chunk.7VCYVCYM.js";import{a as ce}from"./chunk.MFNWHXGL.js";import"./chunk.DCIYOZYP.js";import"./chunk.JP33TNCH.js";import"./chunk.BIDL7GQD.js";import"./chunk.O5P6LXHF.js";import"./chunk.VGQDPEB5.js";import"./chunk.WIVNFOQR.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.7DCBIMOI.js";import"./chunk.GXK5PI7I.js";import"./chunk.DYPSFTRP.js";import"./chunk.WVUJXDXZ.js";import"./chunk.J7GH2CGV.js";import"./chunk.SMF5S4DQ.js";import"./chunk.XP4IVKKR.js";import"./chunk.R5YGW5ZX.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import"./chunk.MIE4TJRW.js";import{p as pe,s as K}from"./chunk.DEBW4FH6.js";import"./chunk.RD2FSSLV.js";import{a as ue}from"./chunk.OWHH7JDV.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import{b as de}from"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import{t as ge}from"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as Ee,K as L,Va as le,Wa as W,_ as ie,ba as se,ia as P,j as N,ka as $,l as ae,m as q,r as C,v as re,va as G,z as oe}from"./chunk.ASNVH2G4.js";import"./chunk.SDO3U72B.js";import{Z as V,la as I,ma as B,oa as F,qa as M,va as te,zd as ne}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as D}from"./chunk.AJZBJBMO.js";var p=D(Ee(),1);var e=D(ie(),1),Ae=ge.part((t,s)=>(0,e.jsx)(t.ProblemRows,{...s}),{what:"The problems",as:"li"}),R="var(--graview-gap, 8px)",Re=720;function je({showing:t}){return t.what==="lens"?(0,e.jsx)(Ne,{kind:t.kind},`lens:${t.kind}`):t.what==="record"?(0,e.jsx)(Ie,{id:t.id},`record:${t.id}`):(0,e.jsx)($e,{kind:t.kind},`district:${t.kind}`)}var U=[{height:"52%",share:.52,said:"Half of the screen"},{height:"66%",share:.66,said:"Two thirds of the screen"},{height:"calc(100% - 56px)",share:1,said:"Nearly all of the screen"}],xe=1,be=xe;function Ce(){let[t,s]=(0,p.useState)(be);return[t,n=>{be=n,s(n)}]}var Pe=t=>U.map(s=>s.share===1?t-56:t*s.share);function Te({region:t,rest:s,setRest:n,label:i}){let l=(0,p.useRef)(null),c=o=>n(Math.max(0,Math.min(2,o)));return(0,e.jsx)("div",{role:"separator","aria-orientation":"horizontal","aria-label":`How much of the screen ${i} takes`,"aria-valuemin":0,"aria-valuemax":2,"aria-valuenow":s,"aria-valuetext":U[s].said,tabIndex:0,"data-testid":"map-panel-handle","data-graview-rest":s,title:"Drag to see more or less of the map",onKeyDown:o=>{let r=o.key==="ArrowUp"?s+1:o.key==="ArrowDown"?s-1:o.key==="Home"?0:o.key==="End"?2:null;r!==null&&(o.preventDefault(),c(r))},onPointerDown:o=>{let r=t.current,u=r?.parentElement?.getBoundingClientRect().height??0;if(!(!r||u<=0||o.button!==0)){o.stopPropagation(),l.current={id:o.pointerId,from:o.clientY,height:r.getBoundingClientRect().height,rests:Pe(u)},r.style.transition="none";try{o.currentTarget.setPointerCapture(o.pointerId)}catch{}}},onPointerMove:o=>{let r=l.current,u=t.current;if(!r||!u||o.pointerId!==r.id)return;let g=r.rests;u.style.height=`${Math.round(Math.max(g[0]-24,Math.min(g[2],r.height+r.from-o.clientY)))}px`},onPointerUp:o=>{let r=l.current,u=t.current;if(l.current=null,!r||!u)return;let g=u.getBoundingClientRect().height;u.style.transition="",u.style.height="",Math.abs(o.clientY-r.from)<6?c(s===2?xe:s+1):c(r.rests.reduce((f,d,w)=>Math.abs(d-g)<Math.abs(r.rests[f]-g)?w:f,0))},onPointerCancel:()=>{let o=t.current;l.current=null,o&&(o.style.transition="",o.style.height="")},style:{flex:"0 0 auto",display:"flex",justifyContent:"center",alignItems:"center",height:22,cursor:"ns-resize",touchAction:"none"},children:(0,e.jsx)("span",{"aria-hidden":"true",style:{width:40,height:4,borderRadius:2,background:"var(--graview-edge-strong, var(--graview-edge))"}})})}function X({label:t,wide:s,testId:n,head:i,onClose:l,children:c}){let o=(0,p.useRef)(null),[r,u]=(0,p.useState)(!1),[g,f]=Ce(),d=U[g].height;(0,p.useLayoutEffect)(()=>{let v=o.current?.parentElement;if(!v)return;let S=()=>u(v.getBoundingClientRect().width<Re);if(S(),typeof ResizeObserver>"u")return;let h=new ResizeObserver(S);return h.observe(v),()=>h.disconnect()},[]);let w=(0,p.useRef)(l);return w.current=l,(0,p.useEffect)(()=>{let v=k=>{if(k.key!=="Escape"||k.defaultPrevented)return;let A=document.activeElement;A instanceof HTMLInputElement||A instanceof HTMLTextAreaElement||document.querySelector("[data-graview-popover]:popover-open")||S||w.current()},S=!1,h=()=>{S=document.querySelector('[data-testid="following-who"]')!==null};return window.addEventListener("keydown",h,!0),document.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",h,!0),document.removeEventListener("keydown",v)}},[]),(0,e.jsxs)("section",{ref:o,"aria-label":t,"data-testid":n,"data-graview-map-panel":r?"sheet":"dock","data-graview-overlay":"","data-graview-offstage":"",className:"graview-map-panel",style:{position:"absolute",zIndex:ne("rail"),boxSizing:"border-box",display:"flex",flexDirection:"column",background:"var(--graview-panel)",color:"var(--graview-ink)",overflow:"hidden",border:"1px solid var(--graview-edge)",borderRadius:"var(--graview-radius, 12px)",boxShadow:"var(--graview-lift-high)",...r?{left:R,right:R,bottom:`calc(${R} + env(safe-area-inset-bottom, 0px))`,height:d,transition:"height 180ms ease-out"}:{top:R,right:R,bottom:R,width:s}},children:[r?(0,e.jsx)("style",{children:`:has(> [data-graview-map-panel="sheet"]) { --graview-sheet: calc(${d} + 2 * ${R} + env(safe-area-inset-bottom, 0px)); }`}):(0,e.jsx)("style",{children:`:has(> [data-graview-map-panel="dock"]) { --graview-dock: calc(${s} + 2 * ${R}); }`}),r?(0,e.jsx)(Te,{region:o,rest:g,setRest:f,label:t}):null,(0,e.jsxs)("header",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:r?"4px 14px 10px 18px":"14px 14px 10px 18px",borderBottom:"1px solid var(--graview-edge)"},children:[(0,e.jsx)("div",{style:{flex:"1 1 auto",minWidth:0},children:i}),(0,e.jsx)("button",{type:"button","data-testid":"map-panel-close","aria-label":"Close",title:"Close (Escape)",onClick:l,style:{flex:"0 0 auto",minWidth:32,height:32,borderRadius:8,fontSize:"1.1rem",lineHeight:1},children:"\xD7"})]}),(0,e.jsx)("div",{style:{flex:"1 1 auto",minHeight:0,overflow:"auto"},children:c})]})}var J={fontSize:"0.75rem",letterSpacing:"0.09em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},Q={margin:"2px 0 0",fontSize:"1.125rem",fontWeight:600,lineHeight:1.3,overflowWrap:"anywhere"},Z={margin:"4px 0 0",fontSize:"0.875rem",color:"var(--graview-ink-muted)"},j={margin:"14px 18px 6px",fontSize:"0.8125rem",fontWeight:600,color:"var(--graview-ink-muted)"},z={listStyle:"none",margin:0,padding:"0 10px 6px"},Y={all:"unset",outline:"revert-layer",boxSizing:"border-box",display:"flex",alignItems:"baseline",gap:8,width:"100%",padding:"6px 8px",borderRadius:6,cursor:"pointer",fontSize:"0.875rem"},H={minHeight:30,padding:"0 12px",borderRadius:8,fontSize:"0.8125rem"};function ee(){let{setSelection:t,setMenuAt:s}=P();return(n,i)=>{n.preventDefault(),t([i]),s({x:n.clientX,y:n.clientY,on:i})}}function Se({on:t,about:s}){let{setSelection:n,setMenuAt:i}=P();return(0,e.jsx)("button",{type:"button","data-testid":"map-panel-acts","aria-label":`What can be done with ${s}`,"aria-haspopup":"menu",style:H,onClick:l=>{let c=l.currentTarget.getBoundingClientRect();n([t]),i({x:Math.round(c.left),y:Math.round(c.bottom+4),on:t})},children:"Acts\u2026"})}var ke=(t,s)=>({...N(q(t,!1),s),relation:null});function Me(t,s){let n=`[data-graview-stage] [data-graview-view="${CSS.escape(t)}"][tabindex]`,i=null;for(let r=s?.parentElement??null;r&&!i;r=r.parentElement)i=r.querySelector(".graview-ground");i??=document.querySelector(".graview-ground");let l=i!==null&&!i.hasAttribute("tabindex");i&&l&&(i.setAttribute("tabindex","-1"),i.addEventListener("focusout",r=>{r.target===i&&i.removeAttribute("tabindex")},{once:!0})),i?.focus({preventScroll:!0});let c=performance.now()+5e3,o=()=>{let r=document.activeElement;if(!(r===null||r===document.body||r===document.documentElement||r===s||r===i))return;let g=document.querySelector(n);if(g&&g.isConnected&&!g.closest("[inert]"))return g.focus({preventScroll:!0});performance.now()<c&&requestAnimationFrame(o)};requestAnimationFrame(o)}function Ne({kind:t}){let s=ee(),{store:n,views:i,view:l,selection:c,setSelection:o}=P(),{go:r}=W(),u=$(),g=l.within?.view,f=i.places().filter(b=>b.kind===t),d=(g!==void 0?f.find(b=>b.as===g):void 0)??f.at(-1),w=i.resolve(t,{cardinality:"many",fidelity:"full"},d?.as??g),v=w?.view,S=n.schema.tryDefinition(t),h=(0,p.useMemo)(()=>n.graph.nodesOfKind(t).filter(b=>l.past===!0||I(S,b)),[n,t,u,l.past,S]),k=w?.title??d?.title??M(n.schema,t),A=v!==void 0&&G(v),m=c.filter(b=>n.graph.getNode(b)!==void 0),y=ue();return(0,e.jsxs)(X,{label:k,testId:"lens-panel",wide:"min(max(440px, 46%), 760px)",onClose:()=>r(ae(N(l,null),"view",null)),head:A?null:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:J,children:M(n.schema,t)}),(0,e.jsx)("h2",{style:Q,"data-testid":"lens-panel-title",children:k}),(0,e.jsxs)("p",{style:Z,children:[F(n.schema,t,h.length),S?.description?` \xB7 ${S.description}`:""]}),d?(0,e.jsx)("div",{style:{marginTop:10},children:(0,e.jsx)("button",{type:"button","data-testid":"lens-panel-open",style:H,title:`Open ${k} on its own`,onClick:()=>r(oe(l,t,d.as)),children:"Open \u2197"})}):null]}),children:[(0,e.jsx)("style",{children:`.graview-ground[data-graview-altitude] .graview-plot:not([data-graview-plot="${C(t)}"]) { opacity: 0.35; }
2
+ .graview-ground[data-graview-altitude] [data-graview-view^="kind:"]:not([data-graview-view="${C(t)}"]) { opacity: 0.4; }`}),(0,e.jsx)("div",{"data-graview-lens":d?.as??"",style:{padding:"8px 12px 16px",minHeight:"100%",boxSizing:"border-box",display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:"minmax(0, 1fr)",alignItems:"start"},onClick:b=>{let a=L(b.target);if(!a||n.graph.getNode(a)===void 0)return;let x=b.target.closest("button, a, input, select, textarea, [contenteditable='true']");x&&!x.hasAttribute("data-graview-pick")||o([a])},onDoubleClick:b=>{let a=L(b.target);!a||n.graph.getNode(a)===void 0||r(ke(l,a))},onContextMenu:b=>{let a=L(b.target);!a||n.graph.getNode(a)===void 0||s(b,a)},children:v?(0,e.jsx)(ce.Provider,{value:k,children:(0,e.jsx)(se,{mode:"fullscreen",children:(0,e.jsx)(K,{kind:t,...w?.title?{view:w.title}:{},children:(0,e.jsx)(v,{nodes:h,label:k,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1,...m.length>0?{implicated:m}:{},...y.length>0?{flagged:y}:{}})})})}):null})]})}function He(t,s,n,i){let l=i(n),c=new Map;for(let o of s){let r=o.from===n;if(!r&&o.to!==n)continue;let u=r?o.to:o.from,g=i(u);if(g===void 0||l===void 0)continue;let f=`${o.kind}|${r?"out":"in"}|${g}`,d=c.get(f);if(d){d.others.includes(u)||d.others.push(u);continue}c.set(f,{key:f,edge:o.kind,words:de(t,r?l:g,o.kind,r?"out":"in"),kind:g,others:[u]})}return[...c.values()]}function Ie({id:t}){let s=ee(),{store:n,views:i,view:l,setSelection:c}=P(),{go:o}=W(),r=$(),u=n.graph.getNode(t),g=m=>n.graph.getNode(m)?.kind,f=(0,p.useMemo)(()=>He(n.schema,n.graph.allEdges(),t,g),[n,t,r]);if(!u)return null;let d=u.kind,w=m=>{let y=n.graph.getNode(m);return y?B(n.schema.tryDefinition(y.kind),y):m},v=te(n.schema.tryDefinition(d),d),h=i.resolve(d,{cardinality:"one",fidelity:"full"})?.view,k=h!==void 0&&!G(h),A=()=>l.focusId===t?o({...N(l,null),selection:[]}):c([]);return(0,e.jsxs)(X,{label:`${w(t)}: its links`,testId:"record-panel",wide:k?"min(max(440px, 46%), 760px)":"min(360px, 40%)",onClose:A,head:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:J,children:v}),(0,e.jsx)("h2",{style:Q,"data-testid":"record-panel-title",children:w(t)}),(0,e.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:10},children:[(0,e.jsx)("button",{type:"button","data-testid":"record-panel-go",style:H,onClick:m=>{o(ke(l,t)),Me(t,m.currentTarget)},children:"Go to it"}),(0,e.jsx)(Se,{on:t,about:w(t)}),(0,e.jsxs)("button",{type:"button","data-testid":"record-panel-district",style:H,onClick:()=>c([C(d)]),children:["All ",M(n.schema,d).toLowerCase()]})]})]}),children:[(0,e.jsx)("div",{"data-graview-record-card":t,style:{padding:"8px 18px 0"},children:k?(0,e.jsx)(K,{kind:d,children:(0,e.jsx)(h,{node:u,fidelity:"full",cardinality:"one",mode:"fullscreen",selected:!1})}):(0,e.jsx)(ye,{id:t,shown:[w(t)]})}),f.length===0?(0,e.jsx)("p",{style:{...Z,margin:"14px 18px"},children:"No links yet."}):null,f.map(m=>(0,e.jsxs)("section",{"aria-label":m.words,"data-graview-links":m.edge,children:[(0,e.jsxs)("h3",{style:j,children:[m.words.charAt(0).toUpperCase()+m.words.slice(1)," ",(0,e.jsxs)("span",{style:{fontWeight:400,color:"var(--graview-ink-faint)"},children:["\xB7 ",m.others.length]})]}),(0,e.jsx)("ul",{style:z,children:m.others.map(y=>(0,e.jsx)("li",{children:(0,e.jsxs)("button",{type:"button",className:"graview-map-panel-row","data-graview-record":y,style:Y,onClick:()=>c([y]),onContextMenu:T=>s(T,y),children:[(0,e.jsx)("span",{style:{flex:"1 1 auto",minWidth:0,overflowWrap:"anywhere"},children:w(y)}),m.kind!==d?null:(0,e.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:v})]})},y))})]},m.key))]})}var Le=24;function $e({kind:t}){let s=ee(),{store:n,view:i,setSelection:l,setEmphasis:c}=P(),{go:o}=W(),r=$(),[u,g]=(0,p.useState)(""),f=n.schema.tryDefinition(t),d=(0,p.useMemo)(()=>n.graph.nodesOfKind(t).filter(a=>i.past===!0||I(f,a)).map(a=>({id:a.id,name:B(f,a)})).sort((a,x)=>a.name.localeCompare(x.name)),[n,t,r,i.past,f]),w=(0,p.useMemo)(()=>{let a=E=>{let O=n.graph.getNode(E);return O!==void 0&&(i.past===!0||I(n.schema.tryDefinition(O.kind),O))},x=n.graph.allEdges().filter(E=>a(E.from)&&a(E.to));return we(x,E=>n.graph.getNode(E)?.kind).filter(E=>E.from===t||E.to===t)},[n,t,r,i.past]);(0,p.useEffect)(()=>()=>c(null),[c]);let v=le(),S=pe().marks.flag,h=(0,p.useMemo)(()=>{let a=new Set(d.map(x=>x.id));return v.filter(x=>x.nodeIds.some(E=>a.has(E)))},[v,d]),k=(0,p.useMemo)(()=>[...new Set(h.flatMap(a=>a.nodeIds))].filter(a=>n.graph.getNode(a)?.kind===t).slice(0,300),[h,n,t]),A=(0,p.useRef)(null),m=(0,p.useSyncExternalStore)(me,_,_);(0,p.useEffect)(()=>{m?.kind!==t||h.length===0||(A.current?.scrollIntoView?.({block:"start"}),A.current?.focus({preventScroll:!0}))},[m?.n,m?.kind,t,h.length>0]),(0,p.useEffect)(()=>()=>{he(),setTimeout(()=>{let a=document.activeElement;if(a&&a!==document.body)return;let x=CSS.escape(t);document.querySelector(`[data-testid="district-problems-${x}"]`)?.focus({preventScroll:!0})??document.querySelector(`[data-graview-view="${C(t).replace(/["\\]/g,"\\$&")}"]`)?.focus({preventScroll:!0})},0)},[t]);let y=M(n.schema,t),T=u.trim().toLowerCase(),b=T?d.filter(a=>a.name.toLowerCase().includes(T)):d;return(0,e.jsxs)(X,{label:y,testId:"district-panel",wide:"min(360px, 40%)",onClose:()=>l([]),head:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:J,children:"District"}),(0,e.jsx)("h2",{style:Q,"data-testid":"district-panel-title",children:y}),(0,e.jsxs)("p",{style:Z,children:[F(n.schema,t,d.length),f?.description?` \xB7 ${f.description}`:""]}),(0,e.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:10},children:[(0,e.jsx)("button",{type:"button","data-testid":"district-panel-go",style:H,onClick:()=>o({...N(q(i,!1),re(t)),relation:null}),children:"Go in"}),(0,e.jsx)(Se,{on:C(t),about:`the ${y.toLowerCase()}`})]})]}),children:[h.length>0?(0,e.jsxs)("section",{"aria-label":"Problems","data-testid":"district-problems","data-graview-problems":h.length,children:[(0,e.jsx)("style",{children:`${k.map(a=>`.graview-ground[data-graview-altitude] .graview-building[data-graview-building="${CSS.escape(a)}"] polygon`).join(`,
3
+ `)} { stroke: var(--graview-accent); stroke-width: 2.2; stroke-opacity: 1; }`}),(0,e.jsxs)("h3",{ref:A,tabIndex:-1,"data-testid":"district-problems-heading",style:{display:"flex",alignItems:"baseline",gap:8,margin:0,padding:"14px 18px 8px",fontSize:"0.9375rem",fontWeight:600,color:"var(--graview-warn)",borderTop:"1px solid var(--graview-edge)",scrollMarginTop:0,outlineOffset:-2},children:[(0,e.jsx)("span",{"aria-hidden":"true",children:S}),(0,e.jsx)("span",{style:{color:"var(--graview-ink)"},children:fe(h.length,y)})]}),(0,e.jsx)("ol",{style:z,"data-testid":"district-problem-rows",children:(0,e.jsx)(p.Suspense,{fallback:null,children:(0,e.jsx)(Ae,{violations:h,pick:a=>{let x=a.subjectId??a.nodeIds[0];x!==void 0&&l([x])}})})})]}):null,w.length>0?(0,e.jsxs)("section",{"aria-label":"Relations",children:[(0,e.jsx)("h3",{style:j,children:"Relations"}),(0,e.jsx)("ul",{style:z,children:w.map(a=>(0,e.jsx)("li",{children:(0,e.jsxs)("div",{"data-graview-relation-said":a.edge,tabIndex:0,style:{...Y,cursor:"default"},onPointerEnter:()=>c(a.edge),onPointerLeave:()=>c(null),onFocus:()=>c(a.edge),onBlur:()=>c(null),children:[(0,e.jsx)("span",{style:{flex:"1 1 auto",minWidth:0},children:ve(n.schema,a)}),(0,e.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",fontVariantNumeric:"tabular-nums"},title:`${V(a.links)} links`,children:V(a.links)})]})},a.key))})]}):null,(0,e.jsxs)("div",{role:"group","aria-label":y,children:[(0,e.jsxs)("h3",{style:j,children:[y," ",(0,e.jsxs)("span",{style:{fontWeight:400,color:"var(--graview-ink-faint)"},children:["\xB7 ",d.length]})]}),d.length>Le?(0,e.jsx)("div",{style:{padding:"0 18px 6px"},children:(0,e.jsx)("input",{type:"search","data-testid":"district-panel-narrow","aria-label":`Narrow the ${y.toLowerCase()} by name`,placeholder:"Narrow by name",value:u,onChange:a=>g(a.target.value),style:{width:"100%",boxSizing:"border-box",minHeight:32}})}):null,(0,e.jsx)("ul",{style:z,children:b.map(a=>(0,e.jsx)("li",{children:(0,e.jsx)("button",{type:"button",className:"graview-map-panel-row","data-graview-record":a.id,style:Y,onClick:()=>l([a.id]),onContextMenu:x=>s(x,a.id),children:(0,e.jsx)("span",{style:{flex:"1 1 auto",minWidth:0,overflowWrap:"anywhere"},children:a.name})})},a.id))})]})]})}export{je as MapPanelFor};
@@ -0,0 +1 @@
1
+ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as J,b as Q,d as I,e as X,f as q,g as K}from"./chunk.KAIZDIRK.js";import{a as A,b as R,c as _,f as D}from"./chunk.ONAH6MC4.js";import{a as ne,b as E,e as x}from"./chunk.AAPXF6NP.js";import{b as Y}from"./chunk.TBLOBXZ2.js";import{a as M}from"./chunk.SDO3U72B.js";import"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var ae=M(()=>(__graviewPreload(import.meta.url,["./chunk.OQ3FKUP2.js","./chunk.AJZBJBMO.js"]),import("./chunk.WRIBFLVG.js"))),oe=M(()=>(__graviewPreload(import.meta.url,["./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.AJZBJBMO.js"]),import("./chunk.HE7SAJKZ.js"))),Z=2e3;function ge(g,e){let b=g.ownerDocument,c=b.defaultView,t=b.createElement("iframe");t.setAttribute("sandbox",R),t.setAttribute("referrerpolicy","no-referrer"),t.setAttribute("allow",""),t.setAttribute("title",e.title??e.view),t.setAttribute("data-guest-view",e.view),t.setAttribute("aria-busy","true"),t.style.border="0",t.style.width="100%",t.style.display="block",t.src=e.url;let d={applied:0,refused:0,dropped:0},$=E(e.limits),n,y,p={applied:0,refused:0,dropped:0},S=()=>{if(!n)return;let s=n.stats;d.applied+=s.applied-p.applied,d.refused+=s.refused-p.refused,d.dropped+=s.dropped-p.dropped,p={...s}},F=K(c,()=>v(),"data"),P=()=>q(()=>e.theme?.()??I(g),e.brand,F),C="[[],null]",f=[],i,h,O=()=>y?.postMessage({type:"fonts",fonts:f}),W=()=>{let s=e.brand?.(),a=s?.views?.fonts??[],u=s?.typography,G=JSON.stringify([a,u??null]);if(G===C)return;if(C=G,i&&(i.stopped=!0),i=void 0,clearTimeout(h),a.length===0){f.length>0&&(f=[],O());return}let r={stopped:!1};i=r;let T=()=>{clearTimeout(h),i===r&&(i=void 0),m()};oe().then(({readFrameFonts:se})=>{if(r.stopped)return;let j=se(c,a,{...e.asset?{asset:e.asset}:{},...e.fonts?{origins:e.fonts.origins}:{},...u?{typography:u}:{}});return h=setTimeout(()=>{if(r.stopped||i!==r)return;let o=j.waiting();o.length>0&&e.onProblem?.(`The app's ${o.length===1?"face":"faces"} ${o.map(H=>`"${H}"`).join(", ")} for its views did not arrive in ${Z/1e3} seconds, so the frame is drawn without ${o.length===1?"it":"them"} and handed ${o.length===1?"it":"them"} once ${o.length===1?"it arrives":"they arrive"}.`),i=void 0,m()},Z),j.read.then(({fonts:o,said:H})=>{if(!r.stopped){for(let ie of H)e.onProblem?.(ie);f=o,O(),T()}})}).catch(()=>{r.stopped||T()})},k="",v=()=>{W(),n&&(k=JSON.stringify(P()),n.push())},ee=X(b,()=>{n&&JSON.stringify(P())!==k&&v()}),l,L=!1,te=e.pictures?Y(ae,({createGuestPictures:s})=>{l=s(c,{as:"data",view:`"${e.title??e.view}"`,pictures:e.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>{n?.push(),N&&U()}}),L&&z()}):()=>{},N=!1,w,m=()=>{!N||l?.waiting()||i||(clearTimeout(w),t.removeAttribute("data-guest-view-failed"),t.removeAttribute("aria-busy"),t.setAttribute("data-guest-view-drawn",""))},U=()=>{clearTimeout(w),w=setTimeout(m,250)},re=setTimeout(()=>{n||(t.removeAttribute("aria-busy"),t.setAttribute("data-guest-view-failed","silent"))},e.limits?.readyMs??8e3),V=()=>{S(),n?.dispose(),y?.close(),n=void 0,y=void 0,p={applied:0,refused:0,dropped:0}},B=s=>{if(!(s.source===null||s.source!==t.contentWindow)){if(s.origin!==_||!$.message()){d.dropped+=1;return}if(!D(s.data)||s.data.protocol!==1){d.dropped+=1;return}if(e.pictures&&!l){L=!0;return}z()}},z=()=>{L=!1,V();let s=J(),a=new MessageChannel;y=a.port1;let u=x({store:e.store,principal:e.principal,view:e.view,nonce:s,send:r=>a.port1.postMessage(r),...e.input?{input:e.input}:{},...e.reads?{reads:e.reads}:{},...l?{hand:l.hand}:{},theme:P,...e.places?{places:()=>[...new Set(e.places().map(r=>r.as))],placesShown:e.places}:{},...e.onNavigatePlace?{onNavigatePlace:e.onNavigatePlace}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},...e.onArrive?{onArrive:e.onArrive}:e.goTo?{onArrive:r=>Q(e.goTo(),r)}:{},...e.onLost?{onLost:e.onLost}:{},onSize:r=>{e.onSize?e.onSize(r):t.style.height=`${r}px`,m()},onHeld:(r,T)=>{t.setAttribute("data-guest-view-held",`${T}px`),e.onProblem?.(r),m()},...e.limits?{limits:e.limits}:{},limiter:$});n=u,a.port1.onmessage=r=>{u.receive(r.data),S()};let G={graview:"host-hello",protocol:1,nonce:s,view:e.view};t.contentWindow.postMessage(G,"*",[a.port2]),v(),f.length>0&&O(),N=!0,U()};return c.addEventListener("message",B),W(),g.appendChild(t),g.removeAttribute("aria-busy"),{iframe:t,update:v,get stats(){return S(),d},dispose(){V(),clearTimeout(re),clearTimeout(w),ee(),i&&(i.stopped=!0),clearTimeout(h),F.dispose(),te(),l?.dispose(),c.removeEventListener("message",B),t.remove()}}}export{Z as FACES_WAIT_MS,A as GUEST_PROTOCOL,R as GUEST_SANDBOX,_ as OPAQUE_ORIGIN,x as createGuestHost,E as createGuestLimiter,ge as mountGuestView,ne as readAcross,I as readTheme};
@@ -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.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
+ 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.6YKKZI4H.js";import{D as k,G as T,_ as b,ia as y}from"./chunk.ASNVH2G4.js";import{pb as w}from"./chunk.ZDUKVXBI.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.GMHBAS45.js","./chunk.4VX7GPFS.js","./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.VGQDPEB5.js","./chunk.6YKKZI4H.js","./chunk.WIVNFOQR.js","./chunk.ONVYKLRX.js","./chunk.XOZU4OFA.js","./chunk.53GQQETN.js","./chunk.SMF5S4DQ.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.QKNC5OUC.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};
@@ -0,0 +1 @@
1
+ import{i}from"./chunk.KMFH26SS.js";import"./chunk.YF5GCOSZ.js";import"./chunk.F2BZ4SC4.js";import"./chunk.WAPY4RCS.js";import"./chunk.JKX4J3KG.js";import"./chunk.JMXBMLKH.js";import"./chunk.PVAYYFT2.js";import"./chunk.LG2BQ5LB.js";import"./chunk.L3ST2YKI.js";import"./chunk.7VCYVCYM.js";import"./chunk.MFNWHXGL.js";import"./chunk.DCIYOZYP.js";import"./chunk.WVUJXDXZ.js";import{e as l}from"./chunk.J7GH2CGV.js";import"./chunk.SMF5S4DQ.js";import"./chunk.XP4IVKKR.js";import"./chunk.R5YGW5ZX.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import"./chunk.MIE4TJRW.js";import"./chunk.DEBW4FH6.js";import"./chunk.RD2FSSLV.js";import"./chunk.OWHH7JDV.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{_ as m}from"./chunk.ASNVH2G4.js";import"./chunk.SDO3U72B.js";import"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as g}from"./chunk.AJZBJBMO.js";var a=g(m(),1),r=new WeakMap;function c(n){let o=r.get(n);if(!o){let t=l(n);o=e=>e.mode==="fullscreen"?(0,a.jsx)(i,{blocks:t,slot:"home",heading:2,firstHeading:1,...e.flagged?{flagged:e.flagged}:{}}):(0,a.jsx)(i,{blocks:t,slot:"home",heading:3,firstHeading:2,...e.flagged?{flagged:e.flagged}:{}}),r.set(n,o)}return o}export{c as homeView};
@@ -1 +1 @@
1
- import{Sa as y,Ua as k,Y as w,j as c,l as h,m as b,r as f}from"./chunk.JCKIJSW7.js";import{Z as i}from"./chunk.6L6RUOSF.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
1
+ import{Ua as y,Wa as k,_ as w,j as c,l as h,m as b,r as f}from"./chunk.ASNVH2G4.js";import{Z as i}from"./chunk.ZDUKVXBI.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
@@ -0,0 +1 @@
1
+ import{a as b,b as c,c as d,d as e,e as f}from"./chunk.7DCBIMOI.js";import"./chunk.GXK5PI7I.js";import"./chunk.XP4IVKKR.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import{Xb as a}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";export{a as ActRefusal,e as compileDocumentWithoutCheck,d as effectsOf,f as inDocumentWords,c as kindShapes,b as readDocument};
@@ -1 +1 @@
1
- import"./chunk.KHRS2SKB.js";import"./chunk.T6PU3NKP.js";import"./chunk.U6V4KZF5.js";import"./chunk.6ZRVVRDQ.js";import{a as x,b as P,c as L}from"./chunk.MM7MLBGB.js";import{b as R}from"./chunk.V5JB5UJS.js";import"./chunk.EHLV3LND.js";import"./chunk.EPSYX2SF.js";import"./chunk.JLNTE5CH.js";import"./chunk.DDSAFU3B.js";import"./chunk.EOSN5DWW.js";import"./chunk.T6UJEXFL.js";import"./chunk.7THS3DLZ.js";import"./chunk.4QMAYVPU.js";import"./chunk.ARGEGV5T.js";import"./chunk.WS5ORRGS.js";import"./chunk.ZONRIOIA.js";import"./chunk.NXHEOHRR.js";import"./chunk.HJCQ6I3S.js";import"./chunk.DJGZOPAS.js";import"./chunk.GFOZVQBQ.js";import"./chunk.MQNW3O67.js";import"./chunk.67S2UWBT.js";import"./chunk.7PWLRRUS.js";import"./chunk.25VJPUDH.js";import"./chunk.G767NLBH.js";import"./chunk.MEAUTBVM.js";import"./chunk.OKHXXIMN.js";import"./chunk.NH3VXTGX.js";import"./chunk.6IMRCKB4.js";import"./chunk.RDUGUC7R.js";import"./chunk.TBY5IR7C.js";import"./chunk.PQTXM4VY.js";import"./chunk.BIDL7GQD.js";import"./chunk.7KX36ENH.js";import"./chunk.QDDDKEBH.js";import"./chunk.QKRQPUCE.js";import"./chunk.SPJ34VHA.js";import"./chunk.XOZU4OFA.js";import"./chunk.KBJ3UUER.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.4O64QV2Y.js";import"./chunk.OYMN3IFX.js";import"./chunk.YFVJUHAK.js";import"./chunk.UQZ2P6KD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.NI4OPHTL.js";import"./chunk.U5KJQFAP.js";import"./chunk.FOHZPYUV.js";import"./chunk.IXYG65TM.js";import"./chunk.W6L2VAJG.js";import"./chunk.N3MXLORL.js";import"./chunk.MIE4TJRW.js";import{s as T}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 S,I as $,Y as p,ga as C,ia as A}from"./chunk.JCKIJSW7.js";import"./chunk.SDO3U72B.js";import{la as v,zd as k}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as i}from"./chunk.AJZBJBMO.js";var r=i(S(),1);var l=i(S(),1);var g=i(p(),1);var m={font:"inherit",fontSize:"0.875rem",minHeight:24,padding:0,border:0,borderRadius:2,background:"transparent",boxShadow:"none",color:"var(--graview-accent)",textDecoration:"underline",textUnderlineOffset:3,textAlign:"start",cursor:"pointer"};var e=i(p(),1);function Q({page:n=!1,go:E,onPick:y,onDiscard:N}){let{store:d,seatTalk:c}=C(),u=$(c),D=L(),h=E??D,{keep:M}=x(h),[H,f]=(0,r.useState)(!1);A();let t=u.draft;(0,r.useEffect)(()=>f(!1),[t]),(0,r.useEffect)(()=>{n||P(!1)},[n]);let w=(0,r.useRef)(null),b=t!==null&&!n;if((0,r.useLayoutEffect)(()=>{let s=w.current;if(!b||!s?.parentElement)return;let o=[];for(let a=s.previousElementSibling;a;a=a.previousElementSibling)a instanceof HTMLElement&&!a.inert&&a.tagName!=="STYLE"&&(a.inert=!0,o.push(a));return()=>{for(let a of o)a.inert=!1}},[b]),!t)return null;let G=R(t.drawn),F=d.schema.tryDefinition(t.kind),O=d.graph.nodesOfKind(t.kind).filter(s=>v(F,s)),q=()=>{c.setDraft(null),N?.()};return(0,e.jsxs)("section",{ref:w,"data-testid":"draft-frame","data-graview-draft-frame":n?"page":"scene","aria-label":`Draft: ${t.title}`,style:n?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:12,zIndex:k("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:12,boxShadow:"var(--graview-lift-high)",overflow:"hidden",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...z,...n?{}:{padding:"10px 16px"}},children:[n?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:H,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{f(!0),M(t).finally(()=>f(!1))},style:m,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:q,style:m,children:"Discard"})]}),u.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:n?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:u.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,role:"group","aria-label":t.title,tabIndex:0,style:n?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:s=>{let o=s.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!o||!d.graph.getNode(o))return;s.preventDefault();let a=d.graph.getNode(o);y?(c.setDraft(null),y(o)):h({to:"record",id:o,kind:a.kind,label:o,address:"",said:""})},children:(0,e.jsx)(T,{kind:t.kind,view:t.title,children:(0,e.jsx)(G,{nodes:O,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var z={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{Q as DraftFrame};
1
+ import"./chunk.KHRS2SKB.js";import"./chunk.T6PU3NKP.js";import"./chunk.YRC6PKXP.js";import"./chunk.JOB3EKS6.js";import{a as x,b as P,c as L}from"./chunk.V4GSVXSV.js";import{b as R}from"./chunk.L6BLZJ6K.js";import"./chunk.VNI6HZEF.js";import"./chunk.THLT6NVO.js";import"./chunk.HIIYDKFC.js";import"./chunk.GYP3EF6Z.js";import"./chunk.KMFH26SS.js";import"./chunk.YF5GCOSZ.js";import"./chunk.F2BZ4SC4.js";import"./chunk.WAPY4RCS.js";import"./chunk.JJSZLCNU.js";import"./chunk.JKX4J3KG.js";import"./chunk.JMXBMLKH.js";import"./chunk.PVAYYFT2.js";import"./chunk.HJCQ6I3S.js";import"./chunk.QNFX5VHW.js";import"./chunk.UXW43HNW.js";import"./chunk.LG2BQ5LB.js";import"./chunk.L3ST2YKI.js";import"./chunk.7VCYVCYM.js";import"./chunk.25VJPUDH.js";import"./chunk.OXDCGGZV.js";import"./chunk.2TTKQAWQ.js";import"./chunk.CJHCUHVN.js";import"./chunk.MFNWHXGL.js";import"./chunk.DCIYOZYP.js";import"./chunk.7QGDWAHH.js";import"./chunk.TBY5IR7C.js";import"./chunk.JP33TNCH.js";import"./chunk.BIDL7GQD.js";import"./chunk.O5P6LXHF.js";import"./chunk.VGQDPEB5.js";import"./chunk.WIVNFOQR.js";import"./chunk.ONVYKLRX.js";import"./chunk.XOZU4OFA.js";import"./chunk.53GQQETN.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.7DCBIMOI.js";import"./chunk.GXK5PI7I.js";import"./chunk.YFVJUHAK.js";import"./chunk.DYPSFTRP.js";import"./chunk.WVUJXDXZ.js";import"./chunk.J7GH2CGV.js";import"./chunk.SMF5S4DQ.js";import"./chunk.XP4IVKKR.js";import"./chunk.R5YGW5ZX.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import"./chunk.MIE4TJRW.js";import{s as T}from"./chunk.DEBW4FH6.js";import"./chunk.RD2FSSLV.js";import"./chunk.OWHH7JDV.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as S,I as $,_ as p,ia as C,ka as A}from"./chunk.ASNVH2G4.js";import"./chunk.SDO3U72B.js";import{la as v,zd as k}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as i}from"./chunk.AJZBJBMO.js";var r=i(S(),1);var l=i(S(),1);var g=i(p(),1);var m={font:"inherit",fontSize:"0.875rem",minHeight:24,padding:0,border:0,borderRadius:2,background:"transparent",boxShadow:"none",color:"var(--graview-accent)",textDecoration:"underline",textUnderlineOffset:3,textAlign:"start",cursor:"pointer"};var e=i(p(),1);function Q({page:n=!1,go:E,onPick:y,onDiscard:N}){let{store:d,seatTalk:c}=C(),u=$(c),D=L(),h=E??D,{keep:M}=x(h),[H,f]=(0,r.useState)(!1);A();let t=u.draft;(0,r.useEffect)(()=>f(!1),[t]),(0,r.useEffect)(()=>{n||P(!1)},[n]);let w=(0,r.useRef)(null),b=t!==null&&!n;if((0,r.useLayoutEffect)(()=>{let s=w.current;if(!b||!s?.parentElement)return;let o=[];for(let a=s.previousElementSibling;a;a=a.previousElementSibling)a instanceof HTMLElement&&!a.inert&&a.tagName!=="STYLE"&&(a.inert=!0,o.push(a));return()=>{for(let a of o)a.inert=!1}},[b]),!t)return null;let G=R(t.drawn),F=d.schema.tryDefinition(t.kind),O=d.graph.nodesOfKind(t.kind).filter(s=>v(F,s)),q=()=>{c.setDraft(null),N?.()};return(0,e.jsxs)("section",{ref:w,"data-testid":"draft-frame","data-graview-draft-frame":n?"page":"scene","aria-label":`Draft: ${t.title}`,style:n?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:12,zIndex:k("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:12,boxShadow:"var(--graview-lift-high)",overflow:"hidden",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...z,...n?{}:{padding:"10px 16px"}},children:[n?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:H,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{f(!0),M(t).finally(()=>f(!1))},style:m,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:q,style:m,children:"Discard"})]}),u.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:n?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:u.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,role:"group","aria-label":t.title,tabIndex:0,style:n?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:s=>{let o=s.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!o||!d.graph.getNode(o))return;s.preventDefault();let a=d.graph.getNode(o);y?(c.setDraft(null),y(o)):h({to:"record",id:o,kind:a.kind,label:o,address:"",said:""})},children:(0,e.jsx)(T,{kind:t.kind,view:t.title,children:(0,e.jsx)(G,{nodes:O,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var z={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{Q as DraftFrame};
@@ -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.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
+ 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.X5MCAUFX.js";import"./chunk.SXGPRFA4.js";import{c as Q,d as Ge}from"./chunk.XMBGT6UT.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.NVPKYWMF.js";import"./chunk.PGT4ZQDG.js";import{a as Ee}from"./chunk.TBY5IR7C.js";import{d as De}from"./chunk.4VX7GPFS.js";import"./chunk.FQ2QUDZS.js";import"./chunk.BJUUSIQY.js";import"./chunk.ONVYKLRX.js";import"./chunk.XOZU4OFA.js";import"./chunk.53GQQETN.js";import"./chunk.SMF5S4DQ.js";import"./chunk.MIE4TJRW.js";import{x as $e}from"./chunk.DEBW4FH6.js";import"./chunk.RD2FSSLV.js";import"./chunk.OWHH7JDV.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as it,_ as xe,ia as Ce}from"./chunk.ASNVH2G4.js";import"./chunk.SDO3U72B.js";import{ma as Re}from"./chunk.ZDUKVXBI.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.YGGBGHZU.js","./chunk.TBY5IR7C.js","./chunk.BIDL7GQD.js","./chunk.Q5WEOX3Q.js","./chunk.7DCBIMOI.js","./chunk.GXK5PI7I.js","./chunk.XP4IVKKR.js","./chunk.R5YGW5ZX.js","./chunk.QMGBAKX6.js","./chunk.PS765ODQ.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.KHVW6Q3T.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
- 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 $,b as j,c as v,d as M,e as D,f as J}from"./chunk.LQ5J6YQW.js";import{a as q}from"./chunk.DOJCYXIJ.js";import{h as F,o as W}from"./chunk.W332P5T3.js";import"./chunk.PGT4ZQDG.js";import"./chunk.ZONRIOIA.js";import"./chunk.NXHEOHRR.js";import{a as G}from"./chunk.TBY5IR7C.js";import"./chunk.BIDL7GQD.js";import"./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.Q5WEOX3Q.js";import"./chunk.4O64QV2Y.js";import"./chunk.OYMN3IFX.js";import"./chunk.U5KJQFAP.js";import"./chunk.FOHZPYUV.js";import"./chunk.IXYG65TM.js";import"./chunk.W6L2VAJG.js";import"./chunk.N3MXLORL.js";import"./chunk.MIE4TJRW.js";import{x as _}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{B as K}from"./chunk.RJ7VSWTA.js";import"./chunk.P43LPXXJ.js";import{G as Q,Oa as E,Y as R,ga as V,qa as L}from"./chunk.JCKIJSW7.js";import{a as O}from"./chunk.SDO3U72B.js";import{la as N,qa as A}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as C}from"./chunk.AJZBJBMO.js";var p=C(Q(),1);var g=C(R(),1),Y=new WeakMap,x=new Set,z=e=>{let n=Y.get(e);return n||Y.set(e,n={ask:null,doors:[],heard:new Set}),n},P=e=>e.heard.forEach(n=>n()),X=0,k=null,Z=6e4;function S(e,n){let l=z(e);l.ask=n?{...n,at:++X}:null,P(l)}var T=E(O(()=>(__graviewPreload(import.meta.url,["./chunk.JNK5WBSU.js","./chunk.Q6GEPVQ7.js","./chunk.7LPHWJB4.js","./chunk.DOJCYXIJ.js","./chunk.W332P5T3.js","./chunk.PGT4ZQDG.js","./chunk.TBY5IR7C.js","./chunk.HXRHEPPJ.js","./chunk.QNWGDG2Z.js","./chunk.BJUUSIQY.js","./chunk.SPJ34VHA.js","./chunk.XOZU4OFA.js","./chunk.KBJ3UUER.js","./chunk.U5KJQFAP.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.ML4X7VVK.js")))),ee=T.part((e,n)=>{let l=e.SectionDrawn;return(0,g.jsx)(l,{...n})},{what:"Make this better"}),B=E(O(()=>(__graviewPreload(import.meta.url,["./chunk.LQ5J6YQW.js","./chunk.7LPHWJB4.js","./chunk.W332P5T3.js","./chunk.VDFQFLTU.js","./chunk.PGT4ZQDG.js","./chunk.D4F6QX5L.js","./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.64K5ELSQ.js","./chunk.G4JJXA63.js","./chunk.TBY5IR7C.js","./chunk.PQTXM4VY.js","./chunk.BIDL7GQD.js","./chunk.7KX36ENH.js","./chunk.HXRHEPPJ.js","./chunk.QNWGDG2Z.js","./chunk.BJUUSIQY.js","./chunk.QDDDKEBH.js","./chunk.QKRQPUCE.js","./chunk.SPJ34VHA.js","./chunk.XOZU4OFA.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.UJ7RTNT4.js")))),ne=B.part((e,n)=>(0,g.jsx)(e.DisplaySwitch,{...n}),{what:"Other ways to show this"}),H=(e,n,l,u,i)=>({id:"make-better",at:"start",mode:{id:"better",label:"Better UI",mark:"\u2728",claims:async t=>(await F(e.ai,t,n)).about==="look",open:l,nudges:u},prepare:i}),I="graview.better.from-scene",te=3e4;function oe(e,n){let l=n.store.schema,u=n.views.places?.()??[],i=s=>u.find(d=>d.as===s),t=e.on??(e.about.length===1?e.about[0]:void 0),a=t?.startsWith("aggregate:")?t.slice(10):void 0,f=t&&!a?n.store.graph.getNode(t):void 0,c=e.place!==void 0?i(e.place):a&&!a.includes("+")?u.find(s=>s.kind===a):void 0;if(c)return{name:c.title,to:{place:c.as},part:{name:c.title,slot:"place",kind:c.kind,place:c.as,elements:[],main:null}};let r=a&&!a.includes("+")&&l.tryDefinition(a)?a:f?.kind;if(!r)return;let o=A(l,r);return{name:o,to:{list:r},part:{name:o,slot:"list",kind:r,elements:[],main:null}}}function ge(e,n){let{aiDesk:l,keptViews:u}=n,i=e.section,t=e.element??null;if(!i&&e.face==="scene"){let c=typeof document>"u"?null:document.querySelector('[data-testid="app-menu-open"][data-pages]'),r=c?{click:()=>c.dispatchEvent(new CustomEvent(K,{detail:"pages"}))}:null,o=oe(e,n);if(!r||!o||!D(o.part,n))return null;let s=d=>{try{sessionStorage.setItem(I,JSON.stringify({to:o.to,mode:d?"describe":"choose",...d?{words:d}:{},at:Date.now()}))}catch{return}r.click()};return H(n,o.name,s,()=>[`Make \u201C${o.name}\u201D easier to read at a glance`],()=>T.prefetch())}if(i){if(!u?.revise||u.current().may.views!==!0||!_(q(i)))return null;let c=r=>S(l,r?{section:i,mode:"describe",words:r,returnTo:t}:{section:i,mode:"choose",returnTo:t});return H(n,i.name,c,()=>[`Make \u201C${i.name}\u201D easier to read at a glance`],()=>T.prefetch())}let a=e.page&&e.face==="pages"?M(e.page,n):void 0;if(!a||!D(a,n))return null;v.set(e.page.at,a);let f=c=>S(l,c?{part:a,mode:"describe",words:c,returnTo:t}:{part:a,mode:"choose",returnTo:t});return H(n,a.name,f,()=>J(a,n),()=>T.prefetch())}function ye(e,n,l,u){let{aiDesk:i,app:t,composeChange:a,onProposeChange:f,principal:c,store:r}=n;if(e.face!=="pages"||e.section||!e.page||f===void 0||a===void 0||!G(r,c))return null;let o=M(e.page,n);if(!o?.kind||o.slot!=="list"&&o.slot!=="group"&&o.slot!=="place"||o.slot!=="place"&&l?.(o.kind))return null;if(o.slot==="place"){let m=(t?.lenses??[]).find(y=>y.title===o.name);if(!m||$(m,o.kind))return null}let s=r.schema.tryDefinition(o.kind),d=r.graph.nodesOfKind(o.kind).filter(m=>N(s,m));if(d.length===0||u&&j(r.schema,r.graph,o.kind,d,u,new Set(r.violations().flatMap(m=>m.nodeIds))).length===0)return null;let h={...o.slot==="group"?{name:A(r.schema,o.kind),slot:"list",kind:o.kind,elements:o.main?[o.main]:[],main:o.main}:o,...u?{filter:u}:{}},w=e.element??null;return{id:"display-options",items:[{id:"other-ways",label:"Other ways to show this",run:()=>S(i,{part:h,mode:"options",returnTo:w})}],prepare:()=>B.prefetch()}}var re=e=>v.get(e.at)?.elements;function ke(){let e=V(),{aiDesk:n,menuAt:l}=e,u=L(),i=(0,p.useRef)({here:e,goTo:u});i.current={here:e,goTo:u},(0,p.useEffect)(()=>{let s=null;try{s=JSON.parse(sessionStorage.getItem(I)??"null")}catch{return}if(!s||Date.now()-s.at>te)return;let d=s.to;try{sessionStorage.removeItem(I)}catch{}"list"in d?i.current.goTo.list(d.list):i.current.goTo.place(d.place);let h=0,w=setInterval(()=>{h+=1;let m=document.querySelector("[data-graview-page-title]"),y=document.querySelector("[data-graview-page-main]")??m?.closest("main")??m?.parentElement?.parentElement??null;if(!y||h<4){h>150&&clearInterval(w);return}clearInterval(w);let U="place"in d?{at:y,place:d.place}:{at:y,about:[`aggregate:${d.list}`]},b=M(U,i.current.here);!b||!D(b,i.current.here)||(v.set(y,b),S(i.current.here.aiDesk,s.words?{part:b,mode:"describe",words:s.words,fromScene:!0}:{part:b,mode:s.mode,fromScene:!0}))},120);return()=>clearInterval(w)},[]);let t=z(n),a=(0,p.useId)(),f=(0,p.useMemo)(()=>s=>(t.heard.add(s),()=>void t.heard.delete(s)),[t]);(0,p.useEffect)(()=>(t.doors.push(a),x.add(t),!t.ask&&k&&k.ask.part&&Date.now()-k.at<Z&&(t.ask=k.ask),k=null,P(t),()=>{if(t.doors.splice(t.doors.indexOf(a),1),t.doors.length===0&&(x.delete(t),t.ask?.part)){let s=[...x].find(d=>!d.ask);s?(s.ask=t.ask,P(s)):k={ask:t.ask,at:Date.now()}}P(t)}),[t,a]);let c=(0,p.useSyncExternalStore)(f,()=>t.doors[0]===a,()=>!1),r=(0,p.useSyncExternalStore)(f,()=>t.ask,()=>null),o=l?.section?.elements??(l?.page?re(l.page):void 0);return!c||!r&&!o?null:r?r.mode==="options"&&r.part?(0,g.jsx)(p.Suspense,{fallback:null,children:(0,g.jsx)(ne,{ask:r,close:()=>S(n,null)})}):(0,g.jsx)(p.Suspense,{fallback:null,children:(0,g.jsx)(ee,{ask:r,close:()=>S(n,null)})}):(0,g.jsx)(W,{elements:o})}export{ke as SectionDoor,S as askSection,ye as displayOptionsSection,ge as sectionFor};
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 $,b as j,c as v,d as M,e as D,f as J}from"./chunk.SI5GGFQR.js";import{a as q}from"./chunk.DOJCYXIJ.js";import{h as F,o as W}from"./chunk.NVPKYWMF.js";import"./chunk.PGT4ZQDG.js";import"./chunk.JMXBMLKH.js";import"./chunk.PVAYYFT2.js";import{a as G}from"./chunk.TBY5IR7C.js";import"./chunk.BIDL7GQD.js";import"./chunk.4VX7GPFS.js";import"./chunk.FQ2QUDZS.js";import"./chunk.BJUUSIQY.js";import"./chunk.ONVYKLRX.js";import"./chunk.XOZU4OFA.js";import"./chunk.53GQQETN.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.7DCBIMOI.js";import"./chunk.GXK5PI7I.js";import"./chunk.SMF5S4DQ.js";import"./chunk.XP4IVKKR.js";import"./chunk.R5YGW5ZX.js";import"./chunk.QMGBAKX6.js";import"./chunk.PS765ODQ.js";import"./chunk.MIE4TJRW.js";import{x as _}from"./chunk.DEBW4FH6.js";import"./chunk.RD2FSSLV.js";import"./chunk.OWHH7JDV.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import{B as K}from"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as Q,Qa as E,_ as R,ia as V,sa as L}from"./chunk.ASNVH2G4.js";import{a as O}from"./chunk.SDO3U72B.js";import{la as N,qa as A}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as C}from"./chunk.AJZBJBMO.js";var p=C(Q(),1);var g=C(R(),1),Y=new WeakMap,x=new Set,z=e=>{let n=Y.get(e);return n||Y.set(e,n={ask:null,doors:[],heard:new Set}),n},P=e=>e.heard.forEach(n=>n()),X=0,k=null,Z=6e4;function S(e,n){let l=z(e);l.ask=n?{...n,at:++X}:null,P(l)}var T=E(O(()=>(__graviewPreload(import.meta.url,["./chunk.X5MCAUFX.js","./chunk.SXGPRFA4.js","./chunk.XMBGT6UT.js","./chunk.DOJCYXIJ.js","./chunk.NVPKYWMF.js","./chunk.PGT4ZQDG.js","./chunk.TBY5IR7C.js","./chunk.4VX7GPFS.js","./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.ONVYKLRX.js","./chunk.XOZU4OFA.js","./chunk.53GQQETN.js","./chunk.SMF5S4DQ.js","./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.6GUIFP2A.js")))),ee=T.part((e,n)=>{let l=e.SectionDrawn;return(0,g.jsx)(l,{...n})},{what:"Make this better"}),B=E(O(()=>(__graviewPreload(import.meta.url,["./chunk.SI5GGFQR.js","./chunk.XMBGT6UT.js","./chunk.NVPKYWMF.js","./chunk.YGGBGHZU.js","./chunk.PGT4ZQDG.js","./chunk.FKSI5522.js","./chunk.L6BLZJ6K.js","./chunk.VNI6HZEF.js","./chunk.THLT6NVO.js","./chunk.HIIYDKFC.js","./chunk.GYP3EF6Z.js","./chunk.KMFH26SS.js","./chunk.YF5GCOSZ.js","./chunk.F2BZ4SC4.js","./chunk.WAPY4RCS.js","./chunk.JJSZLCNU.js","./chunk.JKX4J3KG.js","./chunk.JMXBMLKH.js","./chunk.PVAYYFT2.js","./chunk.HJCQ6I3S.js","./chunk.QNFX5VHW.js","./chunk.UXW43HNW.js","./chunk.LG2BQ5LB.js","./chunk.L3ST2YKI.js","./chunk.7VCYVCYM.js","./chunk.MFNWHXGL.js","./chunk.DCIYOZYP.js","./chunk.IZKCTF2R.js","./chunk.G4JJXA63.js","./chunk.TBY5IR7C.js","./chunk.JP33TNCH.js","./chunk.BIDL7GQD.js","./chunk.O5P6LXHF.js","./chunk.4VX7GPFS.js","./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.VGQDPEB5.js","./chunk.WIVNFOQR.js","./chunk.ONVYKLRX.js","./chunk.XOZU4OFA.js","./chunk.53GQQETN.js","./chunk.Q5WEOX3Q.js","./chunk.7DCBIMOI.js","./chunk.GXK5PI7I.js","./chunk.DYPSFTRP.js","./chunk.WVUJXDXZ.js","./chunk.J7GH2CGV.js","./chunk.SMF5S4DQ.js","./chunk.XP4IVKKR.js","./chunk.R5YGW5ZX.js","./chunk.QMGBAKX6.js","./chunk.PS765ODQ.js","./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.APUICV5Z.js")))),ne=B.part((e,n)=>(0,g.jsx)(e.DisplaySwitch,{...n}),{what:"Other ways to show this"}),H=(e,n,l,u,i)=>({id:"make-better",at:"start",mode:{id:"better",label:"Better UI",mark:"\u2728",claims:async t=>(await F(e.ai,t,n)).about==="look",open:l,nudges:u},prepare:i}),I="graview.better.from-scene",te=3e4;function oe(e,n){let l=n.store.schema,u=n.views.places?.()??[],i=s=>u.find(d=>d.as===s),t=e.on??(e.about.length===1?e.about[0]:void 0),a=t?.startsWith("aggregate:")?t.slice(10):void 0,f=t&&!a?n.store.graph.getNode(t):void 0,c=e.place!==void 0?i(e.place):a&&!a.includes("+")?u.find(s=>s.kind===a):void 0;if(c)return{name:c.title,to:{place:c.as},part:{name:c.title,slot:"place",kind:c.kind,place:c.as,elements:[],main:null}};let r=a&&!a.includes("+")&&l.tryDefinition(a)?a:f?.kind;if(!r)return;let o=A(l,r);return{name:o,to:{list:r},part:{name:o,slot:"list",kind:r,elements:[],main:null}}}function ge(e,n){let{aiDesk:l,keptViews:u}=n,i=e.section,t=e.element??null;if(!i&&e.face==="scene"){let c=typeof document>"u"?null:document.querySelector('[data-testid="app-menu-open"][data-pages]'),r=c?{click:()=>c.dispatchEvent(new CustomEvent(K,{detail:"pages"}))}:null,o=oe(e,n);if(!r||!o||!D(o.part,n))return null;let s=d=>{try{sessionStorage.setItem(I,JSON.stringify({to:o.to,mode:d?"describe":"choose",...d?{words:d}:{},at:Date.now()}))}catch{return}r.click()};return H(n,o.name,s,()=>[`Make \u201C${o.name}\u201D easier to read at a glance`],()=>T.prefetch())}if(i){if(!u?.revise||u.current().may.views!==!0||!_(q(i)))return null;let c=r=>S(l,r?{section:i,mode:"describe",words:r,returnTo:t}:{section:i,mode:"choose",returnTo:t});return H(n,i.name,c,()=>[`Make \u201C${i.name}\u201D easier to read at a glance`],()=>T.prefetch())}let a=e.page&&e.face==="pages"?M(e.page,n):void 0;if(!a||!D(a,n))return null;v.set(e.page.at,a);let f=c=>S(l,c?{part:a,mode:"describe",words:c,returnTo:t}:{part:a,mode:"choose",returnTo:t});return H(n,a.name,f,()=>J(a,n),()=>T.prefetch())}function ye(e,n,l,u){let{aiDesk:i,app:t,composeChange:a,onProposeChange:f,principal:c,store:r}=n;if(e.face!=="pages"||e.section||!e.page||f===void 0||a===void 0||!G(r,c))return null;let o=M(e.page,n);if(!o?.kind||o.slot!=="list"&&o.slot!=="group"&&o.slot!=="place"||o.slot!=="place"&&l?.(o.kind))return null;if(o.slot==="place"){let m=(t?.lenses??[]).find(y=>y.title===o.name);if(!m||$(m,o.kind))return null}let s=r.schema.tryDefinition(o.kind),d=r.graph.nodesOfKind(o.kind).filter(m=>N(s,m));if(d.length===0||u&&j(r.schema,r.graph,o.kind,d,u,new Set(r.violations().flatMap(m=>m.nodeIds))).length===0)return null;let h={...o.slot==="group"?{name:A(r.schema,o.kind),slot:"list",kind:o.kind,elements:o.main?[o.main]:[],main:o.main}:o,...u?{filter:u}:{}},w=e.element??null;return{id:"display-options",items:[{id:"other-ways",label:"Other ways to show this",run:()=>S(i,{part:h,mode:"options",returnTo:w})}],prepare:()=>B.prefetch()}}var re=e=>v.get(e.at)?.elements;function ke(){let e=V(),{aiDesk:n,menuAt:l}=e,u=L(),i=(0,p.useRef)({here:e,goTo:u});i.current={here:e,goTo:u},(0,p.useEffect)(()=>{let s=null;try{s=JSON.parse(sessionStorage.getItem(I)??"null")}catch{return}if(!s||Date.now()-s.at>te)return;let d=s.to;try{sessionStorage.removeItem(I)}catch{}"list"in d?i.current.goTo.list(d.list):i.current.goTo.place(d.place);let h=0,w=setInterval(()=>{h+=1;let m=document.querySelector("[data-graview-page-title]"),y=document.querySelector("[data-graview-page-main]")??m?.closest("main")??m?.parentElement?.parentElement??null;if(!y||h<4){h>150&&clearInterval(w);return}clearInterval(w);let U="place"in d?{at:y,place:d.place}:{at:y,about:[`aggregate:${d.list}`]},b=M(U,i.current.here);!b||!D(b,i.current.here)||(v.set(y,b),S(i.current.here.aiDesk,s.words?{part:b,mode:"describe",words:s.words,fromScene:!0}:{part:b,mode:s.mode,fromScene:!0}))},120);return()=>clearInterval(w)},[]);let t=z(n),a=(0,p.useId)(),f=(0,p.useMemo)(()=>s=>(t.heard.add(s),()=>void t.heard.delete(s)),[t]);(0,p.useEffect)(()=>(t.doors.push(a),x.add(t),!t.ask&&k&&k.ask.part&&Date.now()-k.at<Z&&(t.ask=k.ask),k=null,P(t),()=>{if(t.doors.splice(t.doors.indexOf(a),1),t.doors.length===0&&(x.delete(t),t.ask?.part)){let s=[...x].find(d=>!d.ask);s?(s.ask=t.ask,P(s)):k={ask:t.ask,at:Date.now()}}P(t)}),[t,a]);let c=(0,p.useSyncExternalStore)(f,()=>t.doors[0]===a,()=>!1),r=(0,p.useSyncExternalStore)(f,()=>t.ask,()=>null),o=l?.section?.elements??(l?.page?re(l.page):void 0);return!c||!r&&!o?null:r?r.mode==="options"&&r.part?(0,g.jsx)(p.Suspense,{fallback:null,children:(0,g.jsx)(ne,{ask:r,close:()=>S(n,null)})}):(0,g.jsx)(p.Suspense,{fallback:null,children:(0,g.jsx)(ee,{ask:r,close:()=>S(n,null)})}):(0,g.jsx)(W,{elements:o})}export{ke as SectionDoor,S as askSection,ye as displayOptionsSection,ge as sectionFor};
@@ -1 +1 @@
1
- import{e as D}from"./chunk.GFOZVQBQ.js";import{a as T}from"./chunk.U5KJQFAP.js";import{d as A}from"./chunk.VVIQSFM4.js";import{b as O}from"./chunk.TQ3MNB6K.js";import{db as x,ma as S}from"./chunk.6L6RUOSF.js";var _=300,F=14,W=50,M=3,j=2;function N(t,e,d){let s=t.tryDefinition(e)?.fields?.shape;return(s?.[d]===void 0?void 0:T(s[d]))?.type}var C=(t,e)=>Object.keys(t.tryDefinition(e)?.fields?.shape??{}),I=t=>t==="date"||t==="datetime",R=/^(due|dueOn|dueAt|dueDate|deadline|by)$/i,L=/^(date|on|day|when|at|start|starts|startsOn|startsAt|begins|from|sown|scheduled|scheduledFor|planned|plannedFor)$/i,B=/^(done|finished|complete|completed|closed)$/i;function E(t,e){let d=t.tryDefinition(e),s=C(t,e),n=s.filter(l=>I(N(t,e,l)));if(n.length===0)return;let o=d?.fieldRoles??{},i=l=>o[l]!==void 0&&n.includes(o[l])?o[l]:void 0,a=i("start")??i("when")??n.find(l=>R.test(l))??n.find(l=>L.test(l));if(!a)return;let g=i("end")??n.find(l=>l!==a&&/^(end|ends|until|to|finish|finished|harvested|through)$/i.test(l)),u=s.find(l=>B.test(l)&&N(t,e,l)==="boolean");return{field:a,due:R.test(a),...g?{end:g}:{},...u?{done:u}:{}}}function w(t,e){return Math.round((Date.parse(`${e.slice(0,10)}T00:00:00Z`)-Date.parse(`${t.slice(0,10)}T00:00:00Z`))/864e5)}var h=t=>typeof t=="string"&&/^\d{4}-\d{2}-\d{2}/.test(t)?t.slice(0,10):void 0;function Y(t,e,d,s){let n=D(t,e);if(n&&d.length>0&&d.length<=_)return{shape:"board",field:n.field};let o=E(t,e);if(o&&!o.due){let i=r=>{let p=h(r[o.field]),y=h(x(r,o.field,s));return p&&y?w(p,y):0},a=d.map(r=>({from:h(x(r,o.field,s)),to:o.end&&h(r[o.end])?b(h(r[o.end]),i(r)):void 0})).filter(r=>r.from!==void 0).map(r=>({from:r.from,to:r.to&&r.to>r.from?r.to:r.from})),g=`${s.slice(0,7)}-01`,u=b(`${b(g,31).slice(0,7)}-01`,-1),l=a.filter(r=>r.from<=u&&r.to>=g),c=a.map(r=>w(r.from,r.to)).sort((r,p)=>r-p),f=c[Math.floor(c.length/2)]??0;if(l.length>0&&f<=F){let r=b(s,-((new Date(`${s}T00:00:00Z`).getUTCDay()+6)%7)),p=b(r,6),y=l.every(m=>m.from>=r&&m.to<=p);return{shape:"calendar",start:o.field,...o.end?{end:o.end}:{},...o.done?{done:o.done}:{},range:y?"week":"month"}}}return{shape:"table"}}function H(t,e){let d=E(t,e);return d?{by:d.field,direction:d.due?"asc":"desc"}:void 0}function q(t,e,d={}){switch(e.shape){case"board":return{lens:"columns",kind:t,column:e.field};case"calendar":return{lens:"calendar",kind:t,start:e.start,...e.end?{end:e.end}:{},...e.done?{done:e.done}:{},range:e.range};case"table":return{lens:"blocks",kind:t,as:"row",...d.group?.by?{group:d.group.by}:{},...d.sort?{sort:{by:d.sort.by,...d.sort.direction==="desc"?{direction:"desc"}:{}}}:{}}}}var G=60;function z(t,e,d,s){let n=t.tryDefinition(e),o=d.slice(0,G),i=new Map;o.forEach(c=>{let f=S(n,c);A(c,n,{glance:!0,said:[f]}).forEach((r,p)=>{if(r.long||r.files||r.app)return;let y=i.get(r.key);y?y.count++:i.set(r.key,{label:r.label,count:1,at:p})})});let a=Math.max(1,Math.ceil(o.length/3)),g=[...i.entries()].filter(([,c])=>c.count>=a).sort((c,f)=>c[1].at-f[1].at).slice(0,M).map(([c,f])=>({about:"field",key:c,label:f.label})),u=new Map;for(let c of o){let f=new Set;for(let[r,p]of[["out",s.outEdges(c.id)],["in",s.inEdges(c.id)]])for(let y of p){let m=s.getNode(r==="out"?y.to:y.from);if(!m||m.id===c.id)continue;let v=`${y.kind}|${r}`;if(f.has(v))continue;f.add(v);let k=u.get(v);k?k.count++:u.set(v,{edge:y.kind,direction:r,far:m.kind,count:1})}}let l=[...u.entries()].sort((c,f)=>f[1].count-c[1].count).slice(0,j).map(([c,f])=>{let r=O(t,f.direction==="out"?e:f.far,f.edge,f.direction);return{about:"edge",key:c,label:r.charAt(0).toUpperCase()+r.slice(1),edge:f.edge,direction:f.direction}});return[...g,...l]}function J(t,e,d,s){if(d.about==="field"){let i=t.tryDefinition(e.kind);return{text:A(e,i,{excerpt:!0}).find(g=>g.key===d.key)?.value??""}}let o=(d.direction==="out"?s.outEdges(e.id):s.inEdges(e.id)).filter(i=>i.kind===d.edge).map(i=>s.getNode(d.direction==="out"?i.to:i.from)).filter(i=>i!==void 0).map(i=>S(t.tryDefinition(i.kind),i));return o.length===0?{text:""}:o.length===1?{text:o[0]}:{text:`${o[0]} +${o.length-1}`,title:o.join(", ")}}function Q(t,e,d=()=>{}){let s=new Map;for(let n of t){let o=n.nodeIds.filter(a=>e.has(a));if(o.length===0&&!(n.subjectId!==void 0&&e.has(n.subjectId)))continue;let i=s.get(n.invariant)??{invariant:n.invariant,label:d(n.invariant)||n.label||n.message,violations:[],records:new Set};i.violations.push(n);for(let a of o)i.records.add(a);n.subjectId!==void 0&&e.has(n.subjectId)&&i.records.add(n.subjectId),s.set(n.invariant,i)}return[...s.values()].sort((n,o)=>o.violations.length-n.violations.length).map(n=>({invariant:n.invariant,label:n.label,violations:n.violations,records:[...n.records]}))}var $=6;function X(t,e,d,s){let n=E(t,e);if(!n)return;let o=D(t,e),i=u=>{if(n.done!==void 0&&u[n.done]===!0)return!0;if(!o)return!1;let l=o.values.indexOf(String(u[o.field]));return l>=0&&o.tiers[l]==="done"},a=0,g=0;for(let u of d){let l=h(x(u,n.field,s));if(!l||i(u))continue;let c=w(s,l);n.due&&c<0?a++:c>=0&&c<=$&&g++}if(!(a===0&&g===0))return{field:n.field,due:n.due,overdue:a,soon:g}}function b(t,e){return new Date(Date.parse(`${t.slice(0,10)}T00:00:00Z`)+e*864e5).toISOString().slice(0,10)}function ee(t,e,d){return e==="overdue"?[{key:t.field,value:`before:${d}`}]:[{key:t.field,value:`after:${b(d,-1)}`},{key:t.field,value:`before:${b(d,$+1)}`}]}function ne(t,e,d,s){let n=new Set,o=new Set;for(let i of t)if(!(i.at<=d))for(let a of i.primitives)a.op==="add-node"&&a.node?.kind===e?n.add(a.node.id):(a.op==="patch-node"||a.op==="splice-text")&&a.id!==void 0&&s(a.id)===e&&o.add(a.id);for(let i of n)o.delete(i);return{added:[...n].filter(i=>s(i)===e).length,changed:[...o].filter(i=>s(i)===e).length}}export{_ as a,W as b,N as c,E as d,Y as e,H as f,q as g,z as h,J as i,Q as j,X as k,ee as l,ne as m};
1
+ import{e as D}from"./chunk.UXW43HNW.js";import{a as T}from"./chunk.SMF5S4DQ.js";import{d as A}from"./chunk.P3Z4ZCL3.js";import{b as O}from"./chunk.45OLF6BK.js";import{db as x,ma as S}from"./chunk.ZDUKVXBI.js";var _=300,F=14,W=50,M=3,j=2;function N(t,e,d){let s=t.tryDefinition(e)?.fields?.shape;return(s?.[d]===void 0?void 0:T(s[d]))?.type}var C=(t,e)=>Object.keys(t.tryDefinition(e)?.fields?.shape??{}),I=t=>t==="date"||t==="datetime",R=/^(due|dueOn|dueAt|dueDate|deadline|by)$/i,L=/^(date|on|day|when|at|start|starts|startsOn|startsAt|begins|from|sown|scheduled|scheduledFor|planned|plannedFor)$/i,B=/^(done|finished|complete|completed|closed)$/i;function E(t,e){let d=t.tryDefinition(e),s=C(t,e),n=s.filter(l=>I(N(t,e,l)));if(n.length===0)return;let o=d?.fieldRoles??{},i=l=>o[l]!==void 0&&n.includes(o[l])?o[l]:void 0,a=i("start")??i("when")??n.find(l=>R.test(l))??n.find(l=>L.test(l));if(!a)return;let g=i("end")??n.find(l=>l!==a&&/^(end|ends|until|to|finish|finished|harvested|through)$/i.test(l)),u=s.find(l=>B.test(l)&&N(t,e,l)==="boolean");return{field:a,due:R.test(a),...g?{end:g}:{},...u?{done:u}:{}}}function w(t,e){return Math.round((Date.parse(`${e.slice(0,10)}T00:00:00Z`)-Date.parse(`${t.slice(0,10)}T00:00:00Z`))/864e5)}var h=t=>typeof t=="string"&&/^\d{4}-\d{2}-\d{2}/.test(t)?t.slice(0,10):void 0;function Y(t,e,d,s){let n=D(t,e);if(n&&d.length>0&&d.length<=_)return{shape:"board",field:n.field};let o=E(t,e);if(o&&!o.due){let i=r=>{let p=h(r[o.field]),y=h(x(r,o.field,s));return p&&y?w(p,y):0},a=d.map(r=>({from:h(x(r,o.field,s)),to:o.end&&h(r[o.end])?b(h(r[o.end]),i(r)):void 0})).filter(r=>r.from!==void 0).map(r=>({from:r.from,to:r.to&&r.to>r.from?r.to:r.from})),g=`${s.slice(0,7)}-01`,u=b(`${b(g,31).slice(0,7)}-01`,-1),l=a.filter(r=>r.from<=u&&r.to>=g),c=a.map(r=>w(r.from,r.to)).sort((r,p)=>r-p),f=c[Math.floor(c.length/2)]??0;if(l.length>0&&f<=F){let r=b(s,-((new Date(`${s}T00:00:00Z`).getUTCDay()+6)%7)),p=b(r,6),y=l.every(m=>m.from>=r&&m.to<=p);return{shape:"calendar",start:o.field,...o.end?{end:o.end}:{},...o.done?{done:o.done}:{},range:y?"week":"month"}}}return{shape:"table"}}function H(t,e){let d=E(t,e);return d?{by:d.field,direction:d.due?"asc":"desc"}:void 0}function q(t,e,d={}){switch(e.shape){case"board":return{lens:"columns",kind:t,column:e.field};case"calendar":return{lens:"calendar",kind:t,start:e.start,...e.end?{end:e.end}:{},...e.done?{done:e.done}:{},range:e.range};case"table":return{lens:"blocks",kind:t,as:"row",...d.group?.by?{group:d.group.by}:{},...d.sort?{sort:{by:d.sort.by,...d.sort.direction==="desc"?{direction:"desc"}:{}}}:{}}}}var G=60;function z(t,e,d,s){let n=t.tryDefinition(e),o=d.slice(0,G),i=new Map;o.forEach(c=>{let f=S(n,c);A(c,n,{glance:!0,said:[f]}).forEach((r,p)=>{if(r.long||r.files||r.app)return;let y=i.get(r.key);y?y.count++:i.set(r.key,{label:r.label,count:1,at:p})})});let a=Math.max(1,Math.ceil(o.length/3)),g=[...i.entries()].filter(([,c])=>c.count>=a).sort((c,f)=>c[1].at-f[1].at).slice(0,M).map(([c,f])=>({about:"field",key:c,label:f.label})),u=new Map;for(let c of o){let f=new Set;for(let[r,p]of[["out",s.outEdges(c.id)],["in",s.inEdges(c.id)]])for(let y of p){let m=s.getNode(r==="out"?y.to:y.from);if(!m||m.id===c.id)continue;let v=`${y.kind}|${r}`;if(f.has(v))continue;f.add(v);let k=u.get(v);k?k.count++:u.set(v,{edge:y.kind,direction:r,far:m.kind,count:1})}}let l=[...u.entries()].sort((c,f)=>f[1].count-c[1].count).slice(0,j).map(([c,f])=>{let r=O(t,f.direction==="out"?e:f.far,f.edge,f.direction);return{about:"edge",key:c,label:r.charAt(0).toUpperCase()+r.slice(1),edge:f.edge,direction:f.direction}});return[...g,...l]}function J(t,e,d,s){if(d.about==="field"){let i=t.tryDefinition(e.kind);return{text:A(e,i,{excerpt:!0}).find(g=>g.key===d.key)?.value??""}}let o=(d.direction==="out"?s.outEdges(e.id):s.inEdges(e.id)).filter(i=>i.kind===d.edge).map(i=>s.getNode(d.direction==="out"?i.to:i.from)).filter(i=>i!==void 0).map(i=>S(t.tryDefinition(i.kind),i));return o.length===0?{text:""}:o.length===1?{text:o[0]}:{text:`${o[0]} +${o.length-1}`,title:o.join(", ")}}function Q(t,e,d=()=>{}){let s=new Map;for(let n of t){let o=n.nodeIds.filter(a=>e.has(a));if(o.length===0&&!(n.subjectId!==void 0&&e.has(n.subjectId)))continue;let i=s.get(n.invariant)??{invariant:n.invariant,label:d(n.invariant)||n.label||n.message,violations:[],records:new Set};i.violations.push(n);for(let a of o)i.records.add(a);n.subjectId!==void 0&&e.has(n.subjectId)&&i.records.add(n.subjectId),s.set(n.invariant,i)}return[...s.values()].sort((n,o)=>o.violations.length-n.violations.length).map(n=>({invariant:n.invariant,label:n.label,violations:n.violations,records:[...n.records]}))}var $=6;function X(t,e,d,s){let n=E(t,e);if(!n)return;let o=D(t,e),i=u=>{if(n.done!==void 0&&u[n.done]===!0)return!0;if(!o)return!1;let l=o.values.indexOf(String(u[o.field]));return l>=0&&o.tiers[l]==="done"},a=0,g=0;for(let u of d){let l=h(x(u,n.field,s));if(!l||i(u))continue;let c=w(s,l);n.due&&c<0?a++:c>=0&&c<=$&&g++}if(!(a===0&&g===0))return{field:n.field,due:n.due,overdue:a,soon:g}}function b(t,e){return new Date(Date.parse(`${t.slice(0,10)}T00:00:00Z`)+e*864e5).toISOString().slice(0,10)}function ee(t,e,d){return e==="overdue"?[{key:t.field,value:`before:${d}`}]:[{key:t.field,value:`after:${b(d,-1)}`},{key:t.field,value:`before:${b(d,$+1)}`}]}function ne(t,e,d,s){let n=new Set,o=new Set;for(let i of t)if(!(i.at<=d))for(let a of i.primitives)a.op==="add-node"&&a.node?.kind===e?n.add(a.node.id):(a.op==="patch-node"||a.op==="splice-text")&&a.id!==void 0&&s(a.id)===e&&o.add(a.id);for(let i of n)o.delete(i);return{added:[...n].filter(i=>s(i)===e).length,changed:[...o].filter(i=>s(i)===e).length}}export{_ as a,W as b,N as c,E as d,Y as e,H as f,q as g,z as h,J as i,Q as j,X as k,ee as l,ne as m};