graview 0.1.49 → 0.1.51

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 (205) hide show
  1. package/dist/preview/{chunk.THENABJU.js → chunk.2534FLZZ.js} +1 -1
  2. package/dist/preview/chunk.25VJPUDH.js +1 -0
  3. package/dist/preview/{chunk.AGVFW6WC.js → chunk.2VJ52LGS.js} +1 -1
  4. package/dist/preview/{chunk.KDTNKKOY.js → chunk.2W2YVB6X.js} +1 -1
  5. package/dist/preview/chunk.2W45NM7Q.js +9 -0
  6. package/dist/preview/chunk.32BOL7OL.js +1 -0
  7. package/dist/preview/chunk.34HGT7HQ.js +1 -0
  8. package/dist/preview/{chunk.CXIIRL67.js → chunk.353CGK6C.js} +1 -1
  9. package/dist/preview/{chunk.NQ7SRWXA.js → chunk.3H7YIKKC.js} +1 -1
  10. package/dist/preview/{chunk.PBCT33FF.js → chunk.3MU37W5D.js} +1 -1
  11. package/dist/preview/chunk.3SBTQ66X.js +1 -0
  12. package/dist/preview/{chunk.3NEALGMI.js → chunk.3TVAE7LE.js} +1 -1
  13. package/dist/preview/{chunk.6RLFO5GA.js → chunk.4EZFOZBA.js} +1 -1
  14. package/dist/preview/chunk.4N5R4K6O.js +1 -0
  15. package/dist/preview/{chunk.NUUT37ER.js → chunk.4T67XS2D.js} +1 -1
  16. package/dist/preview/chunk.5ON3JSAK.js +1 -0
  17. package/dist/preview/{chunk.RMWLV3PR.js → chunk.5ZAK57JA.js} +2 -2
  18. package/dist/preview/chunk.6KYWJXZR.js +1 -0
  19. package/dist/preview/chunk.76QSPWSJ.js +1 -0
  20. package/dist/preview/{chunk.VSWEKNKS.js → chunk.7G4M2PX3.js} +2 -2
  21. package/dist/preview/{chunk.DFGXNFFE.js → chunk.7GAC7U34.js} +1 -1
  22. package/dist/preview/chunk.7NQROWHU.js +1 -0
  23. package/dist/preview/{chunk.7SGQ3HFG.js → chunk.7RIFDWDF.js} +1 -1
  24. package/dist/preview/chunk.ACB4TD4W.js +1 -0
  25. package/dist/preview/chunk.AJAMTRZ3.js +1 -0
  26. package/dist/preview/chunk.AL45OI4A.js +1 -0
  27. package/dist/preview/{chunk.7JLYEZW4.js → chunk.AL7LFNOS.js} +1 -1
  28. package/dist/preview/{chunk.OS75HEZP.js → chunk.ALCH5H7U.js} +1 -1
  29. package/dist/preview/chunk.APFRPN5S.js +1 -0
  30. package/dist/preview/{chunk.MUHFZXPS.js → chunk.AZOW57MT.js} +1 -1
  31. package/dist/preview/chunk.B4PUI3GO.js +1 -0
  32. package/dist/preview/chunk.B6LKLV32.js +1 -0
  33. package/dist/preview/{chunk.QWX2N2VD.js → chunk.B7LBG4UP.js} +1 -1
  34. package/dist/preview/{chunk.B2BLZDBD.js → chunk.BV6HKTHK.js} +1 -1
  35. package/dist/preview/{chunk.2QKSWK4U.js → chunk.BYY7YXBI.js} +1 -1
  36. package/dist/preview/{chunk.REANMQ6K.js → chunk.CI4DEKPX.js} +1 -1
  37. package/dist/preview/{chunk.DSNHE4MZ.js → chunk.CMEETACI.js} +1 -1
  38. package/dist/preview/{chunk.EJAVIZ7Y.js → chunk.CQPNDJAC.js} +1 -1
  39. package/dist/preview/{chunk.4SEY7VWZ.js → chunk.CTOBNZLM.js} +1 -1
  40. package/dist/preview/chunk.CUB4IAUJ.js +1 -0
  41. package/dist/preview/chunk.CUN4VN42.js +1 -0
  42. package/dist/preview/chunk.CV55N3Y6.js +1 -0
  43. package/dist/preview/{chunk.4OTESF7W.js → chunk.CXC5FOIO.js} +1 -1
  44. package/dist/preview/{chunk.BNU3KXKL.js → chunk.DEH6O3K4.js} +1 -1
  45. package/dist/preview/chunk.DQNN5FE5.js +1 -0
  46. package/dist/preview/chunk.DUY27OJV.js +1 -0
  47. package/dist/preview/chunk.E2R6VFZX.js +1 -0
  48. package/dist/preview/{chunk.GEY4MA4D.js → chunk.EA2NMVRE.js} +1 -1
  49. package/dist/preview/chunk.ESK3UZRC.js +1 -0
  50. package/dist/preview/{chunk.KJBXNMIU.js → chunk.ESSENNHM.js} +2 -2
  51. package/dist/preview/{chunk.AOEXSQDG.js → chunk.ET3XJDPX.js} +1 -1
  52. package/dist/preview/chunk.FEIJ7ETK.js +1 -0
  53. package/dist/preview/{chunk.FUMQLGNM.js → chunk.FFCUZPTC.js} +1 -1
  54. package/dist/preview/chunk.FG5ZFYYL.js +1 -0
  55. package/dist/preview/{chunk.TABIRLQS.js → chunk.FKJ3HIA5.js} +1 -1
  56. package/dist/preview/chunk.FTBH7CPZ.js +1 -0
  57. package/dist/preview/chunk.FU4YSVWX.js +1 -0
  58. package/dist/preview/{chunk.XMOIMPUC.js → chunk.FYDDFOSD.js} +1 -1
  59. package/dist/preview/{chunk.N2S3TMBC.js → chunk.GJQF7I22.js} +1 -1
  60. package/dist/preview/{chunk.NQDGUIUQ.js → chunk.GLTWLQ6L.js} +1 -1
  61. package/dist/preview/chunk.GMAXA5GV.js +1 -0
  62. package/dist/preview/{chunk.BTORFVKO.js → chunk.GRYS6VSF.js} +1 -1
  63. package/dist/preview/{chunk.423SZS7C.js → chunk.GYTVL6GR.js} +3 -3
  64. package/dist/preview/chunk.HASVT7IC.js +1 -0
  65. package/dist/preview/{chunk.IQHVVQEA.js → chunk.HFKGND5Q.js} +1 -1
  66. package/dist/preview/chunk.HVX7LFWR.js +1 -0
  67. package/dist/preview/chunk.IBJBCZKG.js +1 -0
  68. package/dist/preview/{chunk.7MJGZHTS.js → chunk.IE4ZJQV3.js} +1 -1
  69. package/dist/preview/chunk.IFL2MYTQ.js +1 -0
  70. package/dist/preview/{chunk.2N6RQ427.js → chunk.IUIDDNN3.js} +1 -1
  71. package/dist/preview/chunk.JBR66TUP.js +1 -0
  72. package/dist/preview/chunk.JG2FGZF2.js +18 -0
  73. package/dist/preview/{chunk.SIVMZNHZ.js → chunk.JI2UVZUU.js} +1 -1
  74. package/dist/preview/{chunk.D25QV6DK.js → chunk.JMDKAP23.js} +1 -1
  75. package/dist/preview/chunk.JX2C3HVD.js +1 -0
  76. package/dist/preview/{chunk.MU5WUTVF.js → chunk.K7ECYKZL.js} +1 -1
  77. package/dist/preview/{chunk.X4MTZKL3.js → chunk.K7RKWB2K.js} +1 -1
  78. package/dist/preview/chunk.KK46XLGU.js +1 -0
  79. package/dist/preview/chunk.KOBCLWPC.js +1 -0
  80. package/dist/preview/chunk.KRODTMGR.js +1 -0
  81. package/dist/preview/chunk.KYKHZZT7.js +1 -0
  82. package/dist/preview/chunk.LYIHPVDZ.js +1 -0
  83. package/dist/preview/{chunk.BVXOLZQ3.js → chunk.MG3DMURZ.js} +1 -1
  84. package/dist/preview/{chunk.ERWBI2NK.js → chunk.MMVCZOEX.js} +1 -1
  85. package/dist/preview/{chunk.FIS27KW4.js → chunk.MN6WHE4B.js} +1 -1
  86. package/dist/preview/{chunk.4D26JY5U.js → chunk.MRXQBEPQ.js} +1 -1
  87. package/dist/preview/{chunk.NB6WN4DO.js → chunk.MX3Y3LPH.js} +1 -1
  88. package/dist/preview/{chunk.AVDXG57A.js → chunk.MY5OXSS7.js} +1 -1
  89. package/dist/preview/chunk.N5XONWU2.js +1 -0
  90. package/dist/preview/chunk.NNUUD26E.js +1 -0
  91. package/dist/preview/{chunk.6EHE26ZS.js → chunk.NQ26KMSQ.js} +1 -1
  92. package/dist/preview/{chunk.LD6S2FL5.js → chunk.NVRK6A7T.js} +1 -1
  93. package/dist/preview/{chunk.MJ4XTNTL.js → chunk.NZDHXREL.js} +1 -1
  94. package/dist/preview/chunk.OHDJYGH7.js +2 -0
  95. package/dist/preview/{chunk.2OXXGN7C.js → chunk.OJ64WTLW.js} +2 -2
  96. package/dist/preview/{chunk.EM5CGFNB.js → chunk.OPCBZNKF.js} +1 -1
  97. package/dist/preview/{chunk.GRLPNTUW.js → chunk.OU5TRY4N.js} +1 -1
  98. package/dist/preview/chunk.OW72XZF4.js +1 -0
  99. package/dist/preview/chunk.P4CLT32V.js +5 -0
  100. package/dist/preview/chunk.PFXGWY3P.js +1 -0
  101. package/dist/preview/{chunk.QQE7N7LB.js → chunk.PMV6XVVZ.js} +1 -1
  102. package/dist/preview/{chunk.PCVU3LY3.js → chunk.PPZ2TOB5.js} +1 -1
  103. package/dist/preview/{chunk.QBHVBL42.js → chunk.PYRJDTVS.js} +1 -1
  104. package/dist/preview/chunk.QEQQXWYU.js +1 -0
  105. package/dist/preview/chunk.QPAJCRFB.js +1 -0
  106. package/dist/preview/chunk.R5R7CLOU.js +1 -0
  107. package/dist/preview/{chunk.TBA4GF34.js → chunk.RMMJQYJJ.js} +1 -1
  108. package/dist/preview/{chunk.2CO2EJQA.js → chunk.RNOBACJ6.js} +1 -1
  109. package/dist/preview/{chunk.ZILULTJJ.js → chunk.S32AGJ3W.js} +1 -1
  110. package/dist/preview/chunk.S4CKKT3C.js +1 -0
  111. package/dist/preview/{chunk.4Q5KWYVY.js → chunk.SJKHVIHA.js} +2 -2
  112. package/dist/preview/chunk.SJYQ72EC.js +1 -0
  113. package/dist/preview/chunk.SKG4IHT5.js +88 -0
  114. package/dist/preview/chunk.SLBWPVIY.js +1 -0
  115. package/dist/preview/{chunk.7JW5SHRR.js → chunk.SPU3BVAO.js} +1 -1
  116. package/dist/preview/chunk.SRFZKDQ6.js +1 -0
  117. package/dist/preview/{chunk.RSR2M7ZO.js → chunk.SSAY4ITS.js} +2 -2
  118. package/dist/preview/{chunk.XN7PIWVC.js → chunk.T3RTFTOZ.js} +1 -1
  119. package/dist/preview/{chunk.AP22NNIM.js → chunk.TBSPEO2L.js} +1 -1
  120. package/dist/preview/chunk.TMYGLXR6.js +25 -0
  121. package/dist/preview/{chunk.D53IGR45.js → chunk.TNL2BVCH.js} +1 -1
  122. package/dist/preview/{chunk.BJR6E2CT.js → chunk.TVWN5I4M.js} +1 -1
  123. package/dist/preview/{chunk.RI624PFK.js → chunk.U7SNDY3F.js} +1 -1
  124. package/dist/preview/chunk.UCUWEYKM.js +1 -0
  125. package/dist/preview/{chunk.ON35FJ5H.js → chunk.UIWI4GKW.js} +1 -1
  126. package/dist/preview/{chunk.N2S45SSL.js → chunk.UK5F3S2N.js} +1 -1
  127. package/dist/preview/{chunk.H42WBU5C.js → chunk.UVAWWCFW.js} +1 -1
  128. package/dist/preview/{chunk.UL43GFVC.js → chunk.UWFEXEY3.js} +1 -1
  129. package/dist/preview/chunk.V4GAOZAW.js +1 -0
  130. package/dist/preview/{chunk.A7HMVWMG.js → chunk.VICCAWAN.js} +1 -1
  131. package/dist/preview/{chunk.EYSQPXVE.js → chunk.W2DKFQ6R.js} +1 -1
  132. package/dist/preview/{chunk.TSHBXCMU.js → chunk.WESWDXRW.js} +1 -1
  133. package/dist/preview/{chunk.O3ONLQUF.js → chunk.WFHFWJ6E.js} +1 -1
  134. package/dist/preview/{chunk.YECMUK4X.js → chunk.WQLAIEWJ.js} +1 -1
  135. package/dist/preview/{chunk.G3Q5CYEM.js → chunk.XCCBUWMC.js} +1 -1
  136. package/dist/preview/{chunk.3EW6L5DY.js → chunk.XCQ7ZPR5.js} +1 -1
  137. package/dist/preview/chunk.XWXYC3BJ.js +1 -0
  138. package/dist/preview/chunk.XZVPVAIS.js +1 -0
  139. package/dist/preview/chunk.Y2ZBVWII.js +1 -0
  140. package/dist/preview/chunk.Y3LTHEN7.js +1 -0
  141. package/dist/preview/{chunk.WQN7EFW3.js → chunk.Y5AMZBHA.js} +2 -2
  142. package/dist/preview/{chunk.35FUGOSG.js → chunk.Z7N3MJ36.js} +1 -1
  143. package/dist/preview/chunk.ZJXUWOG3.js +1 -0
  144. package/dist/preview/{chunk.OFBESPHJ.js → chunk.ZZODDJYK.js} +1 -1
  145. package/dist/preview/index.html +51 -51
  146. package/dist/preview/page.js +2 -2
  147. package/package.json +6 -6
  148. package/dist/preview/chunk.2AZTW66C.js +0 -1
  149. package/dist/preview/chunk.2OLZ6BYI.js +0 -1
  150. package/dist/preview/chunk.4K7I7WYF.js +0 -1
  151. package/dist/preview/chunk.4QINLTDZ.js +0 -1
  152. package/dist/preview/chunk.4XKACWLT.js +0 -1
  153. package/dist/preview/chunk.52QB4YW2.js +0 -1
  154. package/dist/preview/chunk.54PZWX23.js +0 -1
  155. package/dist/preview/chunk.5YFO6D7J.js +0 -1
  156. package/dist/preview/chunk.6EGHJCEM.js +0 -1
  157. package/dist/preview/chunk.6WRA3Y7D.js +0 -1
  158. package/dist/preview/chunk.7C4IR4S7.js +0 -1
  159. package/dist/preview/chunk.7MWLDDFL.js +0 -1
  160. package/dist/preview/chunk.B445DZOY.js +0 -1
  161. package/dist/preview/chunk.BH365UJ5.js +0 -1
  162. package/dist/preview/chunk.BU6V76EF.js +0 -1
  163. package/dist/preview/chunk.C75I24Z5.js +0 -1
  164. package/dist/preview/chunk.D4IKO5YA.js +0 -18
  165. package/dist/preview/chunk.D4K23FUB.js +0 -1
  166. package/dist/preview/chunk.D66RI4QS.js +0 -1
  167. package/dist/preview/chunk.DTRNDSMS.js +0 -1
  168. package/dist/preview/chunk.DV4GSLGX.js +0 -9
  169. package/dist/preview/chunk.E2AJ7U5Z.js +0 -1
  170. package/dist/preview/chunk.EPTUOPPC.js +0 -1
  171. package/dist/preview/chunk.FNK2ZZ5E.js +0 -1
  172. package/dist/preview/chunk.FOYVTN5B.js +0 -1
  173. package/dist/preview/chunk.G25JEYCC.js +0 -1
  174. package/dist/preview/chunk.IVHPJUFM.js +0 -1
  175. package/dist/preview/chunk.IWEPDTVG.js +0 -1
  176. package/dist/preview/chunk.IYLOA3MV.js +0 -1
  177. package/dist/preview/chunk.JBG5UQLM.js +0 -1
  178. package/dist/preview/chunk.KLAEKRCA.js +0 -1
  179. package/dist/preview/chunk.LUL6PFIQ.js +0 -1
  180. package/dist/preview/chunk.NBJ4C33P.js +0 -1
  181. package/dist/preview/chunk.OKHEZJBX.js +0 -1
  182. package/dist/preview/chunk.OL5D7YTW.js +0 -1
  183. package/dist/preview/chunk.OTF3NNTI.js +0 -1
  184. package/dist/preview/chunk.P2AC6JRL.js +0 -88
  185. package/dist/preview/chunk.PFEKS3KO.js +0 -5
  186. package/dist/preview/chunk.PFR3FQBR.js +0 -1
  187. package/dist/preview/chunk.Q4KNNJFL.js +0 -1
  188. package/dist/preview/chunk.QPNFWP4Z.js +0 -1
  189. package/dist/preview/chunk.QQRLUBWQ.js +0 -1
  190. package/dist/preview/chunk.R5IRHCLZ.js +0 -1
  191. package/dist/preview/chunk.SGJSJGSR.js +0 -1
  192. package/dist/preview/chunk.SPZVEQC5.js +0 -1
  193. package/dist/preview/chunk.SR2345SW.js +0 -1
  194. package/dist/preview/chunk.ST4JHXPS.js +0 -1
  195. package/dist/preview/chunk.TM6JVVGW.js +0 -25
  196. package/dist/preview/chunk.UT6642FC.js +0 -1
  197. package/dist/preview/chunk.UTRIPGW6.js +0 -1
  198. package/dist/preview/chunk.VV3PNZPI.js +0 -1
  199. package/dist/preview/chunk.W6CGAPNQ.js +0 -1
  200. package/dist/preview/chunk.XJ7YGW6Y.js +0 -1
  201. package/dist/preview/chunk.XXZFWZ4C.js +0 -1
  202. package/dist/preview/chunk.YSFNPYCD.js +0 -2
  203. package/dist/preview/chunk.YXOJKGRC.js +0 -1
  204. package/dist/preview/chunk.ZBL47SFK.js +0 -1
  205. /package/dist/preview/{chunk.4HUB3N7I.js → chunk.KHRS2SKB.js} +0 -0
@@ -0,0 +1,88 @@
1
+ import{a as qe,c as Be}from"./chunk.ESK3UZRC.js";import{b as Ve}from"./chunk.MMVCZOEX.js";import{a as Ie,b as Ke,c as Fe,d as j}from"./chunk.OJ64WTLW.js";import"./chunk.GMAXA5GV.js";import{j as Me,k as Le}from"./chunk.Y5AMZBHA.js";import"./chunk.IBJBCZKG.js";import"./chunk.NQ26KMSQ.js";import"./chunk.GJQF7I22.js";import{e as Ee}from"./chunk.SPU3BVAO.js";import{m as Pe}from"./chunk.OPCBZNKF.js";import{a as Te,b as Oe}from"./chunk.UK5F3S2N.js";import{h as $e}from"./chunk.2VJ52LGS.js";import{e as Re,f as De}from"./chunk.JI2UVZUU.js";import"./chunk.HJCQ6I3S.js";import"./chunk.7GAC7U34.js";import{e as ne}from"./chunk.T3RTFTOZ.js";import"./chunk.W2DKFQ6R.js";import{a as xe}from"./chunk.FU4YSVWX.js";import"./chunk.TNL2BVCH.js";import"./chunk.NZDHXREL.js";import"./chunk.TBSPEO2L.js";import"./chunk.5ON3JSAK.js";import"./chunk.3SBTQ66X.js";import"./chunk.SSAY4ITS.js";import{a as Se,b as Ne,j as Ae}from"./chunk.EA2NMVRE.js";import"./chunk.G4JJXA63.js";import"./chunk.3H7YIKKC.js";import"./chunk.ET3XJDPX.js";import"./chunk.3TVAE7LE.js";import"./chunk.JX2C3HVD.js";import"./chunk.3MU37W5D.js";import"./chunk.XOZU4OFA.js";import"./chunk.Z7N3MJ36.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.JBR66TUP.js";import"./chunk.76QSPWSJ.js";import"./chunk.HVX7LFWR.js";import"./chunk.WVUJXDXZ.js";import"./chunk.GLTWLQ6L.js";import{a as ye}from"./chunk.ACB4TD4W.js";import"./chunk.XCQ7ZPR5.js";import"./chunk.MY5OXSS7.js";import"./chunk.NVRK6A7T.js";import"./chunk.FKJ3HIA5.js";import"./chunk.GZHZLJBF.js";import{r as ke}from"./chunk.OW72XZF4.js";import"./chunk.OJGHDWI6.js";import"./chunk.KRODTMGR.js";import"./chunk.VICCAWAN.js";import{d as te,l as be}from"./chunk.OU5TRY4N.js";import{c as me}from"./chunk.CQPNDJAC.js";import{C as Ce,r as J}from"./chunk.GYTVL6GR.js";import{G as tt,Ma as ee,Na as Y,T as we,V as ve,aa as V,ca as X,j as ge,l as ue,la as he,m as fe,r as U}from"./chunk.TMYGLXR6.js";import"./chunk.SDO3U72B.js";import{I as se,O as de,U as D,Wa as Z,da as G,ga as le,ia as pe,ka as ce}from"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import{b as Q}from"./chunk.AJZBJBMO.js";var f=Q(tt(),1);var nt=300,it=14,z=50,at=3,ot=2;function _e(e,n,o){let p=e.tryDefinition(n)?.fields?.shape;return(p?.[o]===void 0?void 0:ye(p[o]))?.type}var rt=(e,n)=>Object.keys(e.tryDefinition(n)?.fields?.shape??{}),st=e=>e==="date"||e==="datetime",Ge=/^(due|dueOn|dueAt|dueDate|deadline|by)$/i,dt=/^(date|on|day|when|at|start|starts|startsOn|startsAt|begins|from|sown|scheduled|scheduledFor|planned|plannedFor)$/i,lt=/^(done|finished|complete|completed|closed)$/i;function ae(e,n){let o=e.tryDefinition(n),p=rt(e,n),a=p.filter(u=>st(_e(e,n,u)));if(a.length===0)return;let i=o?.fieldRoles??{},s=u=>i[u]!==void 0&&a.includes(i[u])?i[u]:void 0,c=s("start")??s("when")??a.find(u=>Ge.test(u))??a.find(u=>dt.test(u));if(!c)return;let S=s("end")??a.find(u=>u!==c&&/^(end|ends|until|to|finish|finished|harvested|through)$/i.test(u)),g=p.find(u=>lt.test(u)&&_e(e,n,u)==="boolean");return{field:c,due:Ge.test(c),...S?{end:S}:{},...g?{done:g}:{}}}function ie(e,n){return Math.round((Date.parse(`${n.slice(0,10)}T00:00:00Z`)-Date.parse(`${e.slice(0,10)}T00:00:00Z`))/864e5)}var q=e=>typeof e=="string"&&/^\d{4}-\d{2}-\d{2}/.test(e)?e.slice(0,10):void 0;function je(e,n,o,p){let a=ne(e,n);if(a&&o.length>0&&o.length<=nt)return{shape:"board",field:a.field};let i=ae(e,n);if(i&&!i.due){let s=r=>{let y=q(r[i.field]),h=q(Z(r,i.field,p));return y&&h?ie(y,h):0},c=o.map(r=>({from:q(Z(r,i.field,p)),to:i.end&&q(r[i.end])?L(q(r[i.end]),s(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})),S=`${p.slice(0,7)}-01`,g=L(`${L(S,31).slice(0,7)}-01`,-1),u=c.filter(r=>r.from<=g&&r.to>=S),w=c.map(r=>ie(r.from,r.to)).sort((r,y)=>r-y),l=w[Math.floor(w.length/2)]??0;if(u.length>0&&l<=it){let r=L(p,-((new Date(`${p}T00:00:00Z`).getUTCDay()+6)%7)),y=L(r,6),h=u.every(m=>m.from>=r&&m.to<=y);return{shape:"calendar",start:i.field,...i.end?{end:i.end}:{},...i.done?{done:i.done}:{},range:h?"week":"month"}}}return{shape:"table"}}function ze(e,n){let o=ae(e,n);return o?{by:o.field,direction:o.due?"asc":"desc"}:void 0}function He(e,n,o={}){switch(n.shape){case"board":return{lens:"columns",kind:e,column:n.field};case"calendar":return{lens:"calendar",kind:e,start:n.start,...n.end?{end:n.end}:{},...n.done?{done:n.done}:{},range:n.range};case"table":return{lens:"blocks",kind:e,as:"row",...o.group?.by?{group:o.group.by}:{},...o.sort?{sort:{by:o.sort.by,...o.sort.direction==="desc"?{direction:"desc"}:{}}}:{}}}}var pt=60;function We(e,n,o,p){let a=e.tryDefinition(n),i=o.slice(0,pt),s=new Map;i.forEach(w=>{let l=G(a,w);te(w,a,{glance:!0,said:[l]}).forEach((r,y)=>{if(r.long||r.files||r.app)return;let h=s.get(r.key);h?h.count++:s.set(r.key,{label:r.label,count:1,at:y})})});let c=Math.max(1,Math.ceil(i.length/3)),S=[...s.entries()].filter(([,w])=>w.count>=c).sort((w,l)=>w[1].at-l[1].at).slice(0,at).map(([w,l])=>({about:"field",key:w,label:l.label})),g=new Map;for(let w of i){let l=new Set;for(let[r,y]of[["out",p.outEdges(w.id)],["in",p.inEdges(w.id)]])for(let h of y){let m=p.getNode(r==="out"?h.to:h.from);if(!m||m.id===w.id)continue;let b=`${h.kind}|${r}`;if(l.has(b))continue;l.add(b);let A=g.get(b);A?A.count++:g.set(b,{edge:h.kind,direction:r,far:m.kind,count:1})}}let u=[...g.entries()].sort((w,l)=>l[1].count-w[1].count).slice(0,ot).map(([w,l])=>{let r=me(e,l.direction==="out"?n:l.far,l.edge,l.direction);return{about:"edge",key:w,label:r.charAt(0).toUpperCase()+r.slice(1),edge:l.edge,direction:l.direction}});return[...S,...u]}function Ze(e,n,o,p){if(o.about==="field"){let s=e.tryDefinition(n.kind);return{text:te(n,s,{excerpt:!0}).find(S=>S.key===o.key)?.value??""}}let i=(o.direction==="out"?p.outEdges(n.id):p.inEdges(n.id)).filter(s=>s.kind===o.edge).map(s=>p.getNode(o.direction==="out"?s.to:s.from)).filter(s=>s!==void 0).map(s=>G(e.tryDefinition(s.kind),s));return i.length===0?{text:""}:i.length===1?{text:i[0]}:{text:`${i[0]} +${i.length-1}`,title:i.join(", ")}}function Ue(e,n,o=()=>{}){let p=new Map;for(let a of e){let i=a.nodeIds.filter(c=>n.has(c));if(i.length===0&&!(a.subjectId!==void 0&&n.has(a.subjectId)))continue;let s=p.get(a.invariant)??{invariant:a.invariant,label:o(a.invariant)||a.label||a.message,violations:[],records:new Set};s.violations.push(a);for(let c of i)s.records.add(c);a.subjectId!==void 0&&n.has(a.subjectId)&&s.records.add(a.subjectId),p.set(a.invariant,s)}return[...p.values()].sort((a,i)=>i.violations.length-a.violations.length).map(a=>({invariant:a.invariant,label:a.label,violations:a.violations,records:[...a.records]}))}var Ye=6;function Je(e,n,o,p){let a=ae(e,n);if(!a)return;let i=ne(e,n),s=g=>{if(a.done!==void 0&&g[a.done]===!0)return!0;if(!i)return!1;let u=i.values.indexOf(String(g[i.field]));return u>=0&&i.tiers[u]==="done"},c=0,S=0;for(let g of o){let u=q(Z(g,a.field,p));if(!u||s(g))continue;let w=ie(p,u);a.due&&w<0?c++:w>=0&&w<=Ye&&S++}if(!(c===0&&S===0))return{field:a.field,due:a.due,overdue:c,soon:S}}function L(e,n){return new Date(Date.parse(`${e.slice(0,10)}T00:00:00Z`)+n*864e5).toISOString().slice(0,10)}function oe(e,n,o){return n==="overdue"?[{key:e.field,value:`before:${o}`}]:[{key:e.field,value:`after:${L(o,-1)}`},{key:e.field,value:`before:${L(o,Ye+1)}`}]}function Qe(e,n,o,p){let a=new Set,i=new Set;for(let s of e)if(!(s.at<=o))for(let c of s.primitives)c.op==="add-node"&&c.node?.kind===n?a.add(c.node.id):(c.op==="patch-node"||c.op==="splice-text")&&c.id!==void 0&&p(c.id)===n&&i.add(c.id);for(let s of a)i.delete(s);return{added:[...a].filter(s=>p(s)===n).length,changed:[...i].filter(s=>p(s)===n).length}}var t=Q(we(),1),Xe="as",ct=(e,n)=>`graview:kind-seen:${e}:${n}`;function gt(e){try{return localStorage.getItem(e)}catch{return null}}function ut(e,n){try{localStorage.setItem(e,n)}catch{}}var ft=(e,n)=>({...ge(fe(e,!1),n),relation:null});function Jt({kind:e,members:n,flagged:o=[],label:p,retired:a=0}){let{store:i,brand:s,principal:c,views:S,view:g}=V(),{go:u}=Y(),w=X(),l=i.schema,r=l.tryDefinition(e),y=p??pe(l,e),h=i.today()??se(),m=n,b=(0,f.useId)(),A=(0,f.useMemo)(()=>je(l,e,m,h),[l,e,m,h]),x=g.within?.[Xe]==="table"?{shape:"table"}:A,k=Te(g),C=x.shape==="table"&&!k.sort?ze(l,e):void 0,v=C?{...k,sort:C}:k,R=(0,f.useMemo)(()=>new Set(o),[o]),T=(0,f.useMemo)(()=>$e(m,v,{schema:l,graph:i.graph,flagged:R,today:h}),[m,v,l,i,R,h,w]),I=(0,f.useMemo)(()=>De(l,Re(l,e)),[l,e]),M=S.arrangement?.()?.lists?.[e]?.filters,K=$=>u(Oe(g,$)),B=(0,f.useMemo)(()=>({name:s?.name??"app",schema:l,...i.policy?{policy:i.policy}:{}}),[s,l,i]),H=JSON.stringify(He(e,x,v)),P=(0,f.useMemo)(()=>{let $=Ae(JSON.parse(H),{app:B,sight:Ne(B,c)});return Se($)?void 0:$},[H,B,c]),W=x.shape!=="table"&&P!==void 0;return(0,t.jsxs)("section",{"aria-labelledby":b,className:"graview-kind-stop","data-testid":"kind-stop","data-graview-kind-stop":e,"data-graview-shape":x.shape,children:[(0,t.jsx)("style",{children:St}),(0,t.jsx)(wt,{kind:e,plural:y,count:m.length,headingId:b,description:r?.description}),(0,t.jsx)(ht,{kind:e,plural:y,members:m,today:h,arrangement:v,onArrange:K}),(m.length>1||a>0)&&!W?(0,t.jsx)(Pe,{schema:l,graph:i.graph,kind:e,arrangement:v,onChange:K,offers:I,...M?{filters:M}:{},kept:{shown:T.nodes.length,of:m.length},testId:"kind-arrange",chips:{nodes:m,flagged:R,today:h},...a>0?{past:{count:a,widen:()=>u(Ee(g,!0))}}:{}}):null,m.length>0?(0,t.jsx)(yt,{derived:A,shape:x,draft:P}):null,(0,t.jsx)("div",{className:"graview-kind-stop-body","data-testid":"kind-stop-body",children:m.length===0?(0,t.jsx)("p",{className:"graview-kind-stop-empty","data-testid":"kind-stop-empty",children:"Nothing here yet."}):W?(0,t.jsx)(kt,{draft:P,nodes:m}):T.nodes.length===0?(0,t.jsxs)("p",{className:"graview-kind-stop-empty","data-testid":"kind-stop-none-kept",children:["None of the ",D(m.length)," ",y.toLowerCase()," ",v.query?`says \u201C${v.query}\u201D`:"is kept by these filters","."," ",(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-link",onClick:()=>K({}),children:"Show them all"})]}):(0,t.jsx)(xt,{kind:e,nodes:T.nodes,groups:T.grouped?T.groups.map($=>({key:$.key,label:$.label,nodes:$.nodes})):void 0,flagged:R,plural:y,arrangement:v})})]})}function wt({kind:e,plural:n,count:o,headingId:p,description:a}){let{store:i,setSelection:s,setMenuAt:c}=V(),S=(0,f.useMemo)(()=>({about:[U(e)]}),[e]),{affordances:g}=Me(S),{apply:u,preview:w}=Le(),l=(0,f.useMemo)(()=>{let x=k=>i.allMutations().find(C=>C.name===k.mutation)?.creates?.includes(e)??!1;return g.find(k=>!k.destructive&&!k.setsAside&&x(k))},[g,i,e]),[r,y]=(0,f.useState)(!1),[h,m]=(0,f.useState)(null),b=(0,f.useRef)(null),A=(0,f.useRef)(null);(0,f.useEffect)(()=>{let x=A.current;!x||x.closest('[data-testid="kind-stop"]')?.contains(document.activeElement)||x.focus({preventScroll:!0})},[e]);let O=(x,k)=>{try{w(x,k),u(x,k),m(null),y(!1),requestAnimationFrame(()=>b.current?.focus())}catch(C){return m(be(i.schema,i.allMutations(),C)),[]}};return(0,t.jsxs)("header",{className:"graview-kind-stop-head",children:[(0,t.jsxs)("div",{className:"graview-kind-stop-title",children:[(0,t.jsx)("h2",{id:p,ref:A,tabIndex:-1,"data-testid":"kind-stop-title",children:n}),(0,t.jsxs)("p",{"data-testid":"kind-stop-count",children:[le(i.schema,e,o),a?` \xB7 ${a}`:""]})]}),(0,t.jsxs)("div",{className:"graview-kind-stop-acts",children:[l?(0,t.jsx)("button",{ref:b,type:"button",className:"graview-kind-stop-primary","data-testid":"kind-stop-primary","data-affordance":l.id,"aria-expanded":l.open.length>0?r:void 0,onClick:()=>{m(null),l.open.length===0?O(l):y(x=>!x)},children:l.label}):null,(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-quiet","data-testid":"kind-stop-acts","aria-haspopup":"menu","aria-label":`What can be done with the ${n.toLowerCase()}`,onClick:x=>{let k=x.currentTarget.getBoundingClientRect();s([U(e)]),c({x:Math.round(k.left),y:Math.round(k.bottom+4),on:U(e)})},children:"Acts\u2026"})]}),r&&l?(0,t.jsx)("div",{className:"graview-kind-stop-ask","data-testid":"kind-stop-ask","aria-label":l.label,role:"group",children:(0,t.jsx)(xe,{affordance:l,onApply:x=>O(l,x),onCancel:()=>{y(!1),b.current?.focus()}})}):null,h?(0,t.jsx)("p",{role:"alert",className:"graview-kind-stop-failed","data-testid":"kind-stop-failed",children:h}):null]})}var vt=J.part((e,n)=>(0,t.jsx)(e.ProblemRows,{...n}),{what:"The problems",as:"li"});function ht({kind:e,plural:n,members:o,today:p,arrangement:a,onArrange:i}){let{store:s,brand:c,setSelection:S}=V(),g=s.schema,u=ee(),w=(0,f.useMemo)(()=>new Set(o.map(v=>v.id)),[o]),l=(0,f.useMemo)(()=>Ue(u,w,v=>s.allInvariants().find(R=>R.name===v)?.label),[u,w,s]),r=(0,f.useMemo)(()=>Je(g,e,o,p),[g,e,o,p]),y=ct(Ce(c,g),e),[h]=(0,f.useState)(()=>gt(y));(0,f.useEffect)(()=>()=>ut(y,new Date().toISOString()),[y]);let m=X(),b=(0,f.useMemo)(()=>h?Qe(s.log.all(),e,h,v=>s.graph.getNode(v)?.kind):null,[h,s,e,m]),[A,O]=(0,f.useState)(null),x=v=>i({...a,filter:[...(a.filter??[]).filter(R=>!v?.some(T=>T.key===R.key)),...v??[]]}),k=l.reduce((v,R)=>v+R.violations.length,0),C=[];if(r&&(r.overdue>0||r.soon>0)){let v=r.field;C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-dates",children:[r.overdue>0?(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-fact","data-tone":"warn",onClick:()=>x(oe(r,"overdue",p)),"aria-label":`${D(r.overdue)} overdue \u2014 show only these`,children:[D(r.overdue)," overdue"]}):null,r.soon>0?(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-fact",onClick:()=>x(oe(r,"soon",p)),"aria-label":`${D(r.soon)} in the next 7 days \u2014 show only these`,children:[D(r.soon)," ",r.due?"due":""," in the next 7 days"]}):null,(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:[" by ",ce(g.tryDefinition(e),v).toLowerCase()]})]},"dates"))}if(l.length>0&&C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-problems","data-graview-problems":k,children:[(0,t.jsxs)("span",{className:"graview-kind-stop-warn",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0 "}),k===1?"1 problem":`${D(k)} problems`]}),(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:[" in ",n.toLowerCase(),":"]}),(0,t.jsx)("ul",{className:"graview-kind-stop-rules",children:l.map(v=>(0,t.jsx)(mt,{group:v,open:A===v.invariant,onToggle:()=>O(R=>R===v.invariant?null:v.invariant),onPick:R=>S([R])},v.invariant))}),(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-only-problems",onClick:()=>x([{key:"is",value:"flagged"}]),children:["Show only the ",n.toLowerCase()," with a problem"]})]},"problems")),b&&(b.added>0||b.changed>0)){let v=[b.added>0?`${D(b.added)} added`:"",b.changed>0?`${D(b.changed)} changed`:""].filter(Boolean);C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-since",children:[(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["Since you last looked (",de(h.slice(0,10)),"):"]})," ",v.join(", ")]},"since"))}return C.length===0?null:(0,t.jsx)("ul",{className:"graview-kind-stop-going-on","aria-label":`What is going on in the ${n.toLowerCase()}`,"data-testid":"kind-stop-going-on",children:C})}function mt({group:e,open:n,onToggle:o,onPick:p}){let a=(0,f.useId)();return(0,t.jsxs)("li",{"data-graview-rule":e.invariant,children:[(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-rule","aria-expanded":n,"aria-controls":a,onClick:o,onPointerEnter:J.prefetch,onFocus:J.prefetch,children:[(0,t.jsx)("span",{"aria-hidden":"true",className:"graview-kind-stop-chevron","data-open":n||void 0,children:"\u203A"}),e.label," ",(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["\xB7 ",D(e.violations.length)]})]}),n?(0,t.jsx)("ol",{id:a,className:"graview-kind-stop-problem-rows","data-testid":"kind-stop-problem-rows",children:(0,t.jsx)(f.Suspense,{fallback:null,children:(0,t.jsx)(vt,{violations:e.violations,pick:i=>{let s=i.subjectId??e.records[0]??i.nodeIds[0];s!==void 0&&p(s)}})})}):null]})}var bt={board:"Board",calendar:"Calendar",table:"Table"};function yt({derived:e,shape:n,draft:o}){let{view:p}=V(),{go:a}=Y(),{keep:i}=qe(Be()),[s,c]=(0,f.useState)(!1),S=e.shape==="table"?[]:[e.shape,"table"];return(0,t.jsxs)("div",{className:"graview-kind-stop-shape","data-testid":"kind-stop-shape",children:[S.length>0?(0,t.jsx)("span",{role:"group","aria-label":"Show as",className:"graview-kind-stop-switch",children:S.map(g=>(0,t.jsx)("button",{type:"button","aria-pressed":n.shape===g,"data-testid":`kind-stop-as-${g}`,onClick:()=>a(ue(p,Xe,g===e.shape?null:g)),children:bt[g]},g))}):null,(0,t.jsx)("span",{className:"graview-kind-stop-quiet-text","data-testid":"kind-stop-derived",children:o?`${o.said.replace(/\.$/,"")}, derived from the declaration`:"Derived from the declaration"}),o?(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-keep",disabled:s,title:`Keep \u201C${o.title}\u201D as a lens: a place of its own`,onClick:()=>{c(!0),i(o).finally(()=>c(!1))},children:"Keep as a lens"}):null]})}function kt({draft:e,nodes:n}){let o=Ve(e.drawn);return(0,t.jsx)("div",{className:"graview-kind-stop-lens","data-graview-draft":e.lens.name,children:(0,t.jsx)(ve,{mode:"scene",children:(0,t.jsx)(ke,{kind:e.kind,view:e.title,children:(0,t.jsx)(o,{nodes:n,label:e.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})})}function xt({kind:e,nodes:n,groups:o,flagged:p,plural:a,arrangement:i}){let{store:s,views:c,view:S,selection:g,setSelection:u,setMenuAt:w,principal:l}=V(),{go:r}=Y(),y=s.schema,h=s.graph,m=(0,f.useMemo)(()=>(o?o.flatMap(d=>d.nodes):n).map(d=>d.id),[n,o]),b=Ie(m),A=(0,f.useMemo)(()=>s.permittedMutations(l).some(d=>{let N=d.subject?.kinds;return N!==void 0&&(N==="*"||N.includes(e))}),[s,l,e]),O=(0,f.useRef)(null),x=d=>{b.choose(d),requestAnimationFrame(()=>{let N=b.list.current;((d[0]===void 0?null:N?.querySelector(`[data-graview-choose-box="${CSS.escape(d[0])}"]`))??N)?.focus({preventScroll:!0})})},k=b.chosen.length,C=c.lookup(e,{cardinality:"one",fidelity:"glyph"}),v=C!==void 0&&!he(C)?C:void 0,R=d=>g.includes(d),T=ee(),I=(0,f.useMemo)(()=>We(y,e,n,h),[y,e,n,h]),[M,K]=(0,f.useState)(z);(0,f.useEffect)(()=>K(z),[i.query,i.filter?.length,i.sort?.by,i.group?.by]);let B=y.tryDefinition(e),H=d=>T.filter(N=>N.nodeIds.includes(d)||N.subjectId===d).map(N=>N.message),P=i.sort?.by,W=`${a}${i.sort?`, in order of ${I.find(d=>d.key===P)?.label.toLowerCase()??P}`:""}`,$=M,et=d=>{let N=G(B,d),F=p.has(d.id)?H(d.id):[];return(0,t.jsxs)("tr",{"data-graview-pick":d.id,tabIndex:-1,"data-graview-record":d.id,"data-flagged":F.length>0||void 0,...A?{"data-graview-choose":d.id}:{},children:[A?(0,t.jsx)("td",{className:"graview-choose-at",children:(0,t.jsx)("input",{...b.boxProps(d.id,N),onPointerEnter:j,onFocus:j})}):null,(0,t.jsxs)("th",{scope:"row",className:"graview-kind-stop-name",children:[v?(0,t.jsx)("div",{"data-graview-pick":d.id,className:"graview-kind-stop-own-row",children:(0,t.jsx)(v,{node:d,cardinality:"one",fidelity:"glyph",mode:"scene",selected:R(d.id),...F.length>0?{flagged:[d.id]}:{}})}):(0,t.jsx)("button",{type:"button","data-testid":"kind-stop-row-go",title:`Go to ${N}`,onClick:()=>r(ft(S,d.id)),children:N}),F.length>0?(0,t.jsxs)("span",{className:"graview-kind-stop-flag",title:F.join(" \xB7 "),children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,t.jsx)("span",{className:"graview-kind-stop-hidden",children:`Problem: ${F.join(". ")}`})]}):null]}),I.map(_=>{let E=Ze(y,d,_,h);return(0,t.jsx)("td",{"data-label":_.label,"data-short":E.text.length>0&&E.text.length<=14||void 0,"data-empty":E.text?void 0:"",...E.title?{title:E.title}:{},children:E.text?(0,t.jsx)("span",{children:E.text}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("b",{"aria-hidden":"true",children:"\u2014"}),(0,t.jsx)("i",{className:"graview-kind-stop-hidden",children:"none"})]})},_.key)}),(0,t.jsx)("td",{className:"graview-kind-stop-row-acts",children:(0,t.jsx)("button",{type:"button","data-testid":"kind-stop-row-acts","aria-haspopup":"menu","aria-label":`What can be done with ${N}`,onClick:_=>{let E=_.currentTarget.getBoundingClientRect();u([d.id]),w({x:Math.round(E.left),y:Math.round(E.bottom+4),on:d.id})},children:(0,t.jsx)("span",{"aria-hidden":"true",children:"\u22EF"})})})]},d.id)},re=d=>{let N=d.slice(0,Math.max(0,$));return $-=N.length,N.map(et)};return(0,t.jsxs)("div",{className:"graview-kind-stop-table-at",...A?{...b.listProps,ref:d=>{O.current=d,b.list.current=d},tabIndex:-1,role:"group","aria-label":k>0?`${a}, ${k} chosen`:a,"data-graview-choosable":""}:{},children:[A?(0,t.jsx)("style",{children:Ke}):null,(0,t.jsxs)("table",{className:"graview-kind-stop-table","data-testid":"kind-stop-table",children:[(0,t.jsx)("caption",{className:"graview-kind-stop-hidden",children:W}),(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[A?(0,t.jsx)("td",{className:"graview-choose-at graview-choose-all",children:(0,t.jsx)("input",{type:"checkbox",className:"graview-choose-box","data-testid":"kind-stop-choose-all","aria-label":`Choose all ${D(n.length)} ${a.toLowerCase()}`,checked:k>0&&k===n.length,ref:d=>{d&&(d.indeterminate=k>0&&k<n.length)},onPointerEnter:j,onFocus:j,onChange:()=>k===n.length?b.clear():b.choose(m)})}):null,(0,t.jsx)("th",{scope:"col","aria-sort":P==="label"?i.sort?.direction==="desc"?"descending":"ascending":void 0,children:"Name"}),I.map(d=>(0,t.jsx)("th",{scope:"col","aria-sort":d.about==="field"&&d.key===P?i.sort?.direction==="desc"?"descending":"ascending":void 0,children:d.label},d.key)),(0,t.jsx)("th",{scope:"col",children:(0,t.jsx)("span",{className:"graview-kind-stop-hidden",children:"Acts"})})]})}),o?o.map(d=>$<=0?null:(0,t.jsxs)("tbody",{"data-graview-group":d.key,children:[(0,t.jsx)("tr",{className:"graview-kind-stop-group",children:(0,t.jsxs)("th",{scope:"rowgroup",colSpan:I.length+(A?3:2),children:[d.label," ",(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["\xB7 ",D(d.nodes.length)]})]})}),re(d.nodes)]},d.key||"-")):(0,t.jsx)("tbody",{children:re(n)})]}),A?(0,t.jsx)(Fe,{store:s,chosen:b.chosen,principal:l,anchor:()=>O.current?.closest('[data-testid="kind-stop"]')??null,of:m.length,onChooseAll:()=>b.choose(m),onClear:b.clear,onActed:x}):null,n.length>M?(0,t.jsxs)("p",{className:"graview-kind-stop-more",children:[(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text","data-testid":"kind-stop-shown",children:[D(M)," of ",D(n.length)," shown"]})," ",(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-more",onClick:()=>K(d=>d+z),children:["Show ",D(Math.min(z,n.length-M))," more"]})]}):null]})}var St=`
2
+ .graview-kind-stop{container-type:inline-size;box-sizing:border-box;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 18px 12px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-panel);color:var(--graview-ink);box-shadow:var(--graview-lift-low);overflow:auto;overscroll-behavior:contain}
3
+ [data-graview-map-panel] .graview-kind-stop{height:auto;padding:4px 6px 12px;border:0;box-shadow:none;background:none;overflow:visible}
4
+ .graview-kind-stop :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
5
+ .graview-kind-stop button{font:inherit;cursor:pointer}
6
+ .graview-kind-stop :is(.graview-kind-stop-link,.graview-kind-stop-rule,.graview-kind-stop-name button,.graview-kind-stop-row-acts button,.graview-kind-stop-fact,.graview-kind-stop-switch button){box-shadow:none}
7
+ .graview-kind-stop-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px}
8
+ .graview-kind-stop-title{flex:1 1 16rem;min-width:0}
9
+ .graview-kind-stop-title h2{margin:0;outline-offset:2px;font-size:var(--graview-text-heading);line-height:1.3;overflow-wrap:anywhere}
10
+ .graview-kind-stop-title p{margin:2px 0 0;font-size:.875rem;color:var(--graview-ink-muted);overflow-wrap:anywhere}
11
+ .graview-kind-stop-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
12
+ .graview-kind-stop-primary,.graview-kind-stop-quiet{min-height:32px;padding:0 14px;border-radius:8px;font-size:.875rem}
13
+ .graview-kind-stop-primary{border:1px solid var(--graview-accent);background:var(--graview-accent);color:var(--graview-accent-ink);font-weight:600}
14
+ .graview-kind-stop-quiet{border:1px solid var(--graview-edge);background:transparent;color:var(--graview-ink)}
15
+ .graview-kind-stop-ask{flex:1 1 100%;min-width:0;padding:10px 12px;border:1px solid var(--graview-edge);border-radius:10px}
16
+ .graview-kind-stop-failed{flex:1 1 100%;margin:0;font-size:var(--graview-text-small);color:var(--graview-warn)}
17
+ .graview-kind-stop-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
18
+ .graview-kind-stop-going-on{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.875rem}
19
+ .graview-kind-stop-going-on>li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
20
+ .graview-kind-stop-fact{min-height:28px;padding:0 10px;border:1px solid var(--graview-edge);border-radius:999px;background:transparent;color:var(--graview-ink)}
21
+ .graview-kind-stop-fact[data-tone=warn],.graview-kind-stop-warn{color:var(--graview-warn);font-weight:600}
22
+ .graview-kind-stop-quiet-text{color:var(--graview-ink-muted)}
23
+ .graview-kind-stop-rules{list-style:none;margin:0;padding:0;flex:1 1 100%;display:grid;gap:2px}
24
+ .graview-kind-stop-rule{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:100%;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;color:var(--graview-ink);text-align:left;overflow-wrap:anywhere}
25
+ .graview-kind-stop-rule:hover{border-color:var(--graview-edge)}
26
+ .graview-kind-stop-chevron{display:inline-block;width:.8em}
27
+ .graview-kind-stop-chevron[data-open]{transform:rotate(90deg)}
28
+ .graview-kind-stop-problem-rows{list-style:none;margin:2px 0 6px 18px;padding:0;max-width:44rem}
29
+ .graview-kind-stop-link{min-height:28px;padding:0 4px;border:0;background:none;color:var(--graview-accent);text-decoration:underline;text-underline-offset:2px}
30
+ .graview-kind-stop-link:disabled{opacity:.6;cursor:default}
31
+ .graview-kind-stop-shape{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--graview-text-small)}
32
+ .graview-kind-stop-switch{display:inline-flex;border:1px solid var(--graview-edge);border-radius:8px;overflow:hidden}
33
+ .graview-kind-stop-switch button{min-height:28px;padding:0 12px;border:0;background:transparent;color:var(--graview-ink-muted)}
34
+ .graview-kind-stop-switch button+button{border-left:1px solid var(--graview-edge)}
35
+ .graview-kind-stop-switch button[aria-pressed=true]{background:color-mix(in srgb,var(--graview-accent) 16%,transparent);color:var(--graview-ink);font-weight:600}
36
+ .graview-kind-stop-body{flex:1 0 auto;min-width:0}
37
+ .graview-kind-stop-empty{margin:24px 0;color:var(--graview-ink-muted)}
38
+ .graview-kind-stop-lens{min-width:0}
39
+
40
+ .graview-kind-stop-table-at{min-width:0}
41
+ .graview-kind-stop-table{width:100%;border-collapse:collapse;font-size:.875rem}
42
+ .graview-kind-stop-table th,.graview-kind-stop-table td{padding:7px 8px;text-align:left;vertical-align:top;border-top:1px solid var(--graview-edge);overflow-wrap:break-word}
43
+ .graview-kind-stop-table td{color:var(--graview-ink)}
44
+ .graview-kind-stop-table td>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
45
+ .graview-kind-stop-table td[data-short]{white-space:nowrap;font-variant-numeric:tabular-nums}
46
+ .graview-kind-stop-table thead th{border-top:0;font-size:var(--graview-text-small);font-weight:600;letter-spacing:.04em;color:var(--graview-ink-muted)}
47
+ .graview-kind-stop-name{font-weight:500;min-width:8rem;max-width:22rem}
48
+ .graview-kind-stop-name button{display:inline-block;min-width:24px;min-height:24px;padding:0;border:0;background:none;color:var(--graview-ink);font-weight:500;text-align:left;text-decoration:underline;text-decoration-color:var(--graview-edge);text-underline-offset:3px}
49
+ .graview-kind-stop-name button:hover{text-decoration-color:currentColor}
50
+ .graview-kind-stop-own-row{display:inline-block;max-width:100%;cursor:pointer}
51
+ .graview-kind-stop-flag{margin-left:6px;color:var(--graview-warn)}
52
+ .graview-kind-stop-group th{padding-top:12px;font-weight:600;color:var(--graview-ink)}
53
+ .graview-kind-stop-row-acts{width:1%;white-space:nowrap;text-align:right}
54
+ .graview-kind-stop-row-acts button{min-width:32px;min-height:28px;border:1px solid var(--graview-edge-bright,var(--graview-edge));border-radius:7px;background:none;color:var(--graview-ink);font-size:1.125rem;font-weight:700;line-height:1}
55
+ .graview-kind-stop-row-acts button:hover{background:color-mix(in srgb,var(--graview-ink) 8%,transparent)}
56
+ .graview-kind-stop-table td[data-empty] b{font-weight:400;color:var(--graview-ink-faint)}
57
+ .graview-kind-stop-table tr[data-graview-pick]{cursor:default}
58
+ .graview-kind-stop-more{margin:10px 0 0;font-size:.875rem}
59
+ .graview-kind-stop-table-at[data-graview-choosable]{outline:none}
60
+ [data-graview-choosable]:hover .graview-choose-all .graview-choose-box{opacity:1}
61
+ .graview-kind-stop-table .graview-choose-at{width:1%;padding-right:0;vertical-align:middle}
62
+ @container (max-width: 559px){
63
+ .graview-kind-stop{padding:12px}
64
+ .graview-kind-stop-acts{flex:1 1 100%}
65
+ .graview-kind-stop-primary{flex:1 1 auto}
66
+ .graview-kind-stop-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
67
+ .graview-kind-stop-table,.graview-kind-stop-table tbody,.graview-kind-stop-table tr{display:block}
68
+ .graview-kind-stop-table tr{position:relative;padding:8px 40px 8px 0;border-top:1px solid var(--graview-edge)}
69
+ .graview-kind-stop-table th,.graview-kind-stop-table td{display:block;padding:1px 0;border:0}
70
+ .graview-kind-stop-table td>span{display:inline}
71
+ .graview-kind-stop-table td[data-short]{white-space:normal}
72
+ .graview-kind-stop-table td[data-label]::before{content:attr(data-label) " \xB7 ";color:var(--graview-ink-muted)}
73
+ .graview-kind-stop-row-acts{position:absolute;top:6px;right:0;width:auto}
74
+ .graview-kind-stop-table [data-graview-choose]{padding-left:34px}
75
+ .graview-kind-stop-table td.graview-choose-at{position:absolute;left:0;top:8px;width:auto;padding:0}
76
+ .graview-kind-stop-table thead .graview-choose-at{position:static}
77
+ }
78
+ @media (pointer: coarse){
79
+ .graview-kind-stop-table-at:not([data-graview-choosing]) .graview-choose-at{display:none}
80
+ .graview-kind-stop-table-at:not([data-graview-choosing]) [data-graview-choose]{padding-left:0}
81
+ }
82
+ @media (pointer: coarse){
83
+ .graview-kind-stop-primary,.graview-kind-stop-quiet,.graview-kind-stop-fact,.graview-kind-stop-rule,.graview-kind-stop-link,.graview-kind-stop-switch button,.graview-kind-stop-row-acts button{min-height:44px}
84
+ .graview-kind-stop-row-acts button{min-width:44px}
85
+ .graview-kind-stop-name button{min-height:44px}
86
+ }
87
+ @media (prefers-reduced-motion: reduce){.graview-kind-stop *{transition:none!important;animation:none!important}}
88
+ `;export{Jt as KindStop};
@@ -0,0 +1 @@
1
+ var a=e=>e.at+e.removed.length;function i(e,r){if(!Number.isInteger(r.at)||r.at<0||r.at>e.length||e.slice(r.at,a(r))!==r.removed)throw new RangeError(`The text does not hold ${JSON.stringify(r.removed)} at ${r.at}.`);return e.slice(0,r.at)+r.inserted+e.slice(a(r))}var s="\0graview:unset",m=e=>e===void 0||e===s;function f(e){if(e.op!=="patch-node")return e;let r=n=>Object.fromEntries(Object.entries(n).map(([t,d])=>[t,d===void 0?s:d]));return{...e,before:r(e.before),after:r(e.after)}}function o(e){switch(e.op){case"add-node":return{op:"remove-node",node:e.node};case"remove-node":return{op:"add-node",node:e.node};case"patch-node":return{op:"patch-node",id:e.id,before:e.after,after:e.before};case"add-edge":return{op:"remove-edge",edge:e.edge};case"remove-edge":return{op:"add-edge",edge:e.edge};case"splice-text":return{...e,removed:e.inserted,inserted:e.removed}}}function p(e){switch(e.op){case"add-node":case"remove-node":return[e.node.id];case"patch-node":case"splice-text":return[e.id];case"add-edge":case"remove-edge":return[e.edge.from,e.edge.to]}}function v(e,r,n=!1){let t=e[r.field];if(typeof t!="string")return e;try{return{...e,[r.field]:i(t,n?o(r):r)}}catch{return e}}var u=new WeakMap;function g(e){return[...e].reverse().map(f).map(o)}function P(e){if(e.inverse)return e.inverse;let r=u.get(e);return r||u.set(e,r=g(e.primitives)),r}function l(e,r){if(e.length!==r.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==r[n]&&JSON.stringify(e[n])!==JSON.stringify(r[n]))return!1;return!0}function b(e){if(e.inverse===void 0||!l(e.inverse,g(e.primitives)))return e;let{inverse:r,...n}=e;return n}export{i as a,s as b,m as c,f as d,o as e,p as f,v as g,P as h,b as i};
@@ -1 +1 @@
1
- import{g as o,l as u}from"./chunk.TM6JVVGW.js";function c(t,n,i){let e=r=>encodeURIComponent(r);return`${o}${e(t)}:${e(n)}:${e(i)}`}function S(t,n,i){let e=new Set(t.shown??[]);if(i?e.add(n):e.delete(n),e.size===0){let{shown:r,...w}=t;return w}return{...t,shown:[...e].sort()}}function l(t,n){if(n===null||n.trim().length===0){let{q:i,...e}=t;return e}return{...t,q:n}}function p(t){let n=t.q!==void 0&&t.within?.q===t.q;return l(n?u(t,"q",null):t,null)}function h(t,n){if(!n){let{past:i,...e}=t;return e}return{...t,past:!0}}function f(t,n){if(n===null||n.x===0&&n.y===0){let{pan:i,...e}=t;return e}return{...t,pan:n}}function d(t,n,i){let e={...t.pins};return i===null?delete e[n]:e[n]=i,{...t,pins:e}}export{c as a,S as b,l as c,p as d,h as e,f,d as g};
1
+ import{g as o,l as u}from"./chunk.TMYGLXR6.js";function c(t,n,i){let e=r=>encodeURIComponent(r);return`${o}${e(t)}:${e(n)}:${e(i)}`}function S(t,n,i){let e=new Set(t.shown??[]);if(i?e.add(n):e.delete(n),e.size===0){let{shown:r,...w}=t;return w}return{...t,shown:[...e].sort()}}function l(t,n){if(n===null||n.trim().length===0){let{q:i,...e}=t;return e}return{...t,q:n}}function p(t){let n=t.q!==void 0&&t.within?.q===t.q;return l(n?u(t,"q",null):t,null)}function h(t,n){if(!n){let{past:i,...e}=t;return e}return{...t,past:!0}}function f(t,n){if(n===null||n.x===0&&n.y===0){let{pan:i,...e}=t;return e}return{...t,pan:n}}function d(t,n,i){let e={...t.pins};return i===null?delete e[n]:e[n]=i,{...t,pins:e}}export{c as a,S as b,l as c,p as d,h as e,f,d as g};
@@ -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{F as g,Fa as C,G as T,T as v,ba as S}from"./chunk.TMYGLXR6.js";import{a as m}from"./chunk.SDO3U72B.js";import"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.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.R5R7CLOU.js","./chunk.3TVAE7LE.js","./chunk.JX2C3HVD.js","./chunk.3MU37W5D.js","./chunk.XOZU4OFA.js","./chunk.Z7N3MJ36.js","./chunk.6KYWJXZR.js","./chunk.TI4OSTQV.js","./chunk.ACB4TD4W.js","./chunk.VICCAWAN.js","./chunk.OU5TRY4N.js","./chunk.CQPNDJAC.js","./chunk.GYTVL6GR.js","./chunk.TMYGLXR6.js","./chunk.SDO3U72B.js","./chunk.P4CLT32V.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.GRYS6VSF.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,3 +1,3 @@
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 f,R as m,ya as u}from"./chunk.TM6JVVGW.js";import{b as d}from"./chunk.AJZBJBMO.js";var g=d(f(),1),n=d(m(),1),c=/^\s*(\d{1,6})[.)]\s+(.*)$/s,S=/^\s*[-*•]\s+(.*)$/s;function h(o){let s=[];for(let p of o.replace(/\r\n?/g,`
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{Aa as u,G as f,T as m}from"./chunk.TMYGLXR6.js";import{b as d}from"./chunk.AJZBJBMO.js";var g=d(f(),1),n=d(m(),1),c=/^\s*(\d{1,6})[.)]\s+(.*)$/s,S=/^\s*[-*•]\s+(.*)$/s;function h(o){let s=[];for(let p of o.replace(/\r\n?/g,`
2
2
  `).split(/\n[ \t]*\n+/)){let t=null,a=()=>{t&&(t.t==="p"?t.lines.length>0:t.items.length>0)&&s.push(t),t=null};for(let e of p.split(`
3
- `)){let i=c.exec(e),l=i?null:S.exec(e);if(i)t?.t!=="ol"&&(a(),t={t:"ol",start:Number(i[1]),items:[]}),t.items.push(i[2]);else if(l)t?.t!=="ul"&&(a(),t={t:"ul",items:[]}),t.items.push(l[1]);else if(t&&t.t!=="p"&&/^\s+\S/.test(e)){let r=t.items;r[r.length-1]=`${r[r.length-1]} ${e.trim()}`}else e.trim().length>0&&(t?.t!=="p"&&(a(),t={t:"p",lines:[]}),t.lines.push(e.trim()))}a()}return s}function P(o){return/[\r\n]/.test(o)}var k={display:"grid",gap:"0.7em",minWidth:0,overflowWrap:"anywhere"},x={margin:0},y={margin:0,paddingInlineStart:"1.6em",display:"grid",gap:"0.3em"},B=u(()=>(__graviewPreload(import.meta.url,["./chunk.423SZS7C.js","./chunk.TM6JVVGW.js","./chunk.SDO3U72B.js","./chunk.PFEKS3KO.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.6RLFO5GA.js")));function b({text:o,className:s,style:p,markdown:t,headingsFrom:a}){return t?(0,n.jsx)(g.Suspense,{fallback:(0,n.jsx)(b,{text:o,...s?{className:s}:{},...p?{style:p}:{}}),children:(0,n.jsx)(B,{text:o,...s?{className:s}:{},...p?{style:p}:{},...a?{headingsFrom:a}:{}})}):(0,n.jsx)("div",{"data-graview-text-body":"",...s?{className:s}:{},style:{...k,...p},children:h(o).map((e,i)=>e.t==="p"?(0,n.jsx)("p",{style:x,children:e.lines.map((l,r)=>(0,n.jsxs)("span",{children:[r>0?(0,n.jsx)("br",{}):null,l]},r))},i):e.t==="ol"?(0,n.jsx)("ol",{start:e.start,style:y,children:e.items.map((l,r)=>(0,n.jsx)("li",{children:l},r))},i):(0,n.jsx)("ul",{style:y,children:e.items.map((l,r)=>(0,n.jsx)("li",{children:l},r))},i))})}export{P as a,b};
3
+ `)){let i=c.exec(e),l=i?null:S.exec(e);if(i)t?.t!=="ol"&&(a(),t={t:"ol",start:Number(i[1]),items:[]}),t.items.push(i[2]);else if(l)t?.t!=="ul"&&(a(),t={t:"ul",items:[]}),t.items.push(l[1]);else if(t&&t.t!=="p"&&/^\s+\S/.test(e)){let r=t.items;r[r.length-1]=`${r[r.length-1]} ${e.trim()}`}else e.trim().length>0&&(t?.t!=="p"&&(a(),t={t:"p",lines:[]}),t.lines.push(e.trim()))}a()}return s}function P(o){return/[\r\n]/.test(o)}var k={display:"grid",gap:"0.7em",minWidth:0,overflowWrap:"anywhere"},x={margin:0},y={margin:0,paddingInlineStart:"1.6em",display:"grid",gap:"0.3em"},B=u(()=>(__graviewPreload(import.meta.url,["./chunk.GYTVL6GR.js","./chunk.TMYGLXR6.js","./chunk.SDO3U72B.js","./chunk.P4CLT32V.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.4EZFOZBA.js")));function b({text:o,className:s,style:p,markdown:t,headingsFrom:a}){return t?(0,n.jsx)(g.Suspense,{fallback:(0,n.jsx)(b,{text:o,...s?{className:s}:{},...p?{style:p}:{}}),children:(0,n.jsx)(B,{text:o,...s?{className:s}:{},...p?{style:p}:{},...a?{headingsFrom:a}:{}})}):(0,n.jsx)("div",{"data-graview-text-body":"",...s?{className:s}:{},style:{...k,...p},children:h(o).map((e,i)=>e.t==="p"?(0,n.jsx)("p",{style:x,children:e.lines.map((l,r)=>(0,n.jsxs)("span",{children:[r>0?(0,n.jsx)("br",{}):null,l]},r))},i):e.t==="ol"?(0,n.jsx)("ol",{start:e.start,style:y,children:e.items.map((l,r)=>(0,n.jsx)("li",{children:l},r))},i):(0,n.jsx)("ul",{style:y,children:e.items.map((l,r)=>(0,n.jsx)("li",{children:l},r))},i))})}export{P as a,b};
@@ -1 +1 @@
1
- import{C as O}from"./chunk.PFEKS3KO.js";var k=3,A=k+1,P=A+1,z=(o,r)=>o<r?-1:o>r?1:0;function L(o){return(o??0)>4?k:2}function N(o,r,a){let n=[];for(let d of Object.values(o.tryDefinition(r)?.edges??{}))if(d.to!=="*")for(let i of d.to)i!==r&&a.includes(i)&&!n.includes(i)&&n.push(i);return n}function W(o,r={}){let a=[...o.kinds],n=[...(r.order??[]).filter(e=>a.includes(e)),...a.filter(e=>!(r.order??[]).includes(e)).sort(z)].filter((e,t,s)=>s.indexOf(e)===t),d=e=>n.indexOf(e),i=new Map,g=[],h=(e,t,s)=>{i.set(e,{col:t,row:s,side:L(r.counts?.[e])}),g.push({col:t,row:s})};for(let e of n){let t=o.tryDefinition(e)?.plot??r.plots?.[e];t&&h(e,t.col,t.row)}let l=new Map(n.map(e=>[e,N(o,e,a)])),b=new Set(n.filter(e=>l.get(e).length>0||n.some(t=>l.get(t).includes(e)))),v=new Map,C=new Set,D=e=>{let t=v.get(e);if(t!==void 0)return t;if(C.has(e))return-1;C.add(e);let s=0;for(let c of l.get(e))s=Math.max(s,D(c)+1);return C.delete(e),v.set(e,s),s};for(let e of n)b.has(e)&&D(e);let f=[];for(let e of n)b.has(e)&&(f[v.get(e)]??=[]).push(e);let I=new Map,T=Math.max(1,Math.ceil(Math.sqrt(f.length))),H=Math.max(1,...f.map(e=>e?.length??0)),w=Math.max(P,Math.round(r.pitch??P)),R=(e,t)=>r.upright?{col:e%T*w,row:(Math.floor(e/T)*(H+1)+t)*w}:{col:t*w,row:e===0?0:-e*w},$=e=>!g.some(t=>V(t,e)),S=(e,t,s)=>{let c=s;for(;!$(R(t,c))&&c<s+64;)c++;return i.has(e)||h(e,R(t,c).col,R(t,c).row),c},x=0;f.forEach((e=[],t)=>{let s=u=>{let m=l.get(u).map(p=>I.get(p)).filter(p=>p!==void 0);return m.length>0?m.reduce((p,q)=>p+q,0)/m.length:1/0},c=[...e].sort((u,m)=>s(u)-s(m)||d(u)-d(m)),y=0;for(let u of c)i.has(u)||(y=S(u,t,y),I.set(u,y),x=Math.max(x,y+1),y++)});let j=n.filter(e=>!b.has(e)&&!i.has(e)),M=Math.max(r.upright?x:f.length,Math.ceil(Math.sqrt(j.length*2)),1),E=b.size>0?1:0;return j.forEach((e,t)=>{r.upright?S(e,f.length+E+Math.floor(t/M),t%M):S(e,t%M,x+E+Math.floor(t/M))}),i}function V(o,r){return Math.abs(o.col-r.col)<A&&Math.abs(o.row-r.row)<A}function X(o,r,a,n=.5){return{x:(o-r)*a/2,y:(o+r)*a*n/2}}var G=1,B=/^(done|completed?|closed|finished|shipped|sent|won|lost|passed|declined|dropped|answered|resolved|fixed|archived|cancell?ed|retired|released|published|delivered|paid|merged|rejected|written[-_ ]?up|out)$/i,F=/^(doing|in[-_ ]?progress|active|building|started|working|in[-_ ]?review|review(ing)?|fixing|ongoing|underway|testing|drafting|writing|running)$/i;function _(o,r,a){let n=O(o.tryDefinition(r)?.fields.shape?.[a]);for(;n&&n.innerType!==void 0&&n.type!=="enum";)n=O(n.innerType);if(n?.type!=="enum")return;let d=(n.entries?Object.values(n.entries):n.values??[]).filter(i=>typeof i=="string");return d.length>0?d:void 0}function J(o,r){let a=o.tryDefinition(r);if(!a)return;let n=a.lifecycle,d=Object.keys(a.fields.shape??{}),i=[n?.field,...d.filter(l=>/^(status|stage|state|phase)$/i.test(l))].find(l=>l!==void 0&&_(o,r,l)!==void 0);if(!i)return;let g=_(o,r,i),h=n?.field===i&&Array.isArray(n.retired)?n.retired:[];return{field:i,values:g,tiers:g.map(l=>h.includes(l)||B.test(l)?"done":F.test(l)?"active":"waiting")}}export{P as a,W as b,X as c,G as d,J as e};
1
+ import{C as O}from"./chunk.P4CLT32V.js";var k=3,A=k+1,P=A+1,z=(o,r)=>o<r?-1:o>r?1:0;function L(o){return(o??0)>4?k:2}function N(o,r,a){let n=[];for(let d of Object.values(o.tryDefinition(r)?.edges??{}))if(d.to!=="*")for(let i of d.to)i!==r&&a.includes(i)&&!n.includes(i)&&n.push(i);return n}function W(o,r={}){let a=[...o.kinds],n=[...(r.order??[]).filter(e=>a.includes(e)),...a.filter(e=>!(r.order??[]).includes(e)).sort(z)].filter((e,t,s)=>s.indexOf(e)===t),d=e=>n.indexOf(e),i=new Map,g=[],h=(e,t,s)=>{i.set(e,{col:t,row:s,side:L(r.counts?.[e])}),g.push({col:t,row:s})};for(let e of n){let t=o.tryDefinition(e)?.plot??r.plots?.[e];t&&h(e,t.col,t.row)}let l=new Map(n.map(e=>[e,N(o,e,a)])),b=new Set(n.filter(e=>l.get(e).length>0||n.some(t=>l.get(t).includes(e)))),v=new Map,C=new Set,D=e=>{let t=v.get(e);if(t!==void 0)return t;if(C.has(e))return-1;C.add(e);let s=0;for(let c of l.get(e))s=Math.max(s,D(c)+1);return C.delete(e),v.set(e,s),s};for(let e of n)b.has(e)&&D(e);let f=[];for(let e of n)b.has(e)&&(f[v.get(e)]??=[]).push(e);let I=new Map,T=Math.max(1,Math.ceil(Math.sqrt(f.length))),H=Math.max(1,...f.map(e=>e?.length??0)),w=Math.max(P,Math.round(r.pitch??P)),R=(e,t)=>r.upright?{col:e%T*w,row:(Math.floor(e/T)*(H+1)+t)*w}:{col:t*w,row:e===0?0:-e*w},$=e=>!g.some(t=>V(t,e)),S=(e,t,s)=>{let c=s;for(;!$(R(t,c))&&c<s+64;)c++;return i.has(e)||h(e,R(t,c).col,R(t,c).row),c},x=0;f.forEach((e=[],t)=>{let s=u=>{let m=l.get(u).map(p=>I.get(p)).filter(p=>p!==void 0);return m.length>0?m.reduce((p,q)=>p+q,0)/m.length:1/0},c=[...e].sort((u,m)=>s(u)-s(m)||d(u)-d(m)),y=0;for(let u of c)i.has(u)||(y=S(u,t,y),I.set(u,y),x=Math.max(x,y+1),y++)});let j=n.filter(e=>!b.has(e)&&!i.has(e)),M=Math.max(r.upright?x:f.length,Math.ceil(Math.sqrt(j.length*2)),1),E=b.size>0?1:0;return j.forEach((e,t)=>{r.upright?S(e,f.length+E+Math.floor(t/M),t%M):S(e,t%M,x+E+Math.floor(t/M))}),i}function V(o,r){return Math.abs(o.col-r.col)<A&&Math.abs(o.row-r.row)<A}function X(o,r,a,n=.5){return{x:(o-r)*a/2,y:(o+r)*a*n/2}}var G=1,B=/^(done|completed?|closed|finished|shipped|sent|won|lost|passed|declined|dropped|answered|resolved|fixed|archived|cancell?ed|retired|released|published|delivered|paid|merged|rejected|written[-_ ]?up|out)$/i,F=/^(doing|in[-_ ]?progress|active|building|started|working|in[-_ ]?review|review(ing)?|fixing|ongoing|underway|testing|drafting|writing|running)$/i;function _(o,r,a){let n=O(o.tryDefinition(r)?.fields.shape?.[a]);for(;n&&n.innerType!==void 0&&n.type!=="enum";)n=O(n.innerType);if(n?.type!=="enum")return;let d=(n.entries?Object.values(n.entries):n.values??[]).filter(i=>typeof i=="string");return d.length>0?d:void 0}function J(o,r){let a=o.tryDefinition(r);if(!a)return;let n=a.lifecycle,d=Object.keys(a.fields.shape??{}),i=[n?.field,...d.filter(l=>/^(status|stage|state|phase)$/i.test(l))].find(l=>l!==void 0&&_(o,r,l)!==void 0);if(!i)return;let g=_(o,r,i),h=n?.field===i&&Array.isArray(n.retired)?n.retired:[];return{field:i,values:g,tiers:g.map(l=>h.includes(l)||B.test(l)?"done":F.test(l)?"active":"waiting")}}export{P as a,W as b,X as c,G as d,J as e};
@@ -1 +1 @@
1
- import{m}from"./chunk.423SZS7C.js";import{G as N,R as f,U as y}from"./chunk.TM6JVVGW.js";import{b as g}from"./chunk.AJZBJBMO.js";var p=g(N(),1);var a=g(f(),1);var R={default:{background:"var(--graview-panel, #ffffff)",color:"var(--graview-ink, #1a1a1a)"},muted:{background:"var(--graview-panel-muted, #f7f5f1)",color:"var(--graview-ink, #1a1a1a)"},warning:{background:"var(--graview-panel-warning, #fdf3ec)",color:"var(--graview-ink, #1a1a1a)"}},T={color:"var(--graview-ink-muted, #55514a)"},C={color:"var(--graview-ink-faint, #625d55)"};function H(e){let[l,o]=(0,p.useState)(z);return(0,p.useEffect)(()=>{let r=e.current;if(!r||typeof ResizeObserver>"u")return;let t=()=>{let i=W(r,parseFloat(getComputedStyle(r).paddingBottom)||0);o(s=>s.overflowing===i.overflowing&&s.above===i.above&&s.below===i.below?s:i)};t();let d=new ResizeObserver(t);d.observe(r);for(let i of r.children)d.observe(i);return r.addEventListener("scroll",t,{passive:!0}),()=>{d.disconnect(),r.removeEventListener("scroll",t)}}),l}var z={overflowing:!1,above:!1,below:!1};function W(e,l=0){let o=e.scrollHeight>e.clientHeight+1,r=e.scrollWidth>e.clientWidth+1;return{overflowing:o||r,above:o&&e.scrollTop>1,below:o&&e.scrollTop+e.clientHeight<e.scrollHeight-l-1}}var A=(0,p.createContext)(null),I=(0,p.createContext)(null);function O({level:e,said:l=!0,style:o,children:r}){if(e===void 0)return(0,a.jsx)("strong",{style:o,...l?{}:{"aria-hidden":!0},children:r});let t=`h${e}`;return(0,a.jsx)(t,{style:{margin:0,...o},children:r})}function E({title:e,subtitle:l,meta:o,selected:r,tone:t="default",children:d,style:i,fit:s=!1,variant:w,heading:b}){let c=(0,p.useRef)(null),{overflowing:v,above:x,below:S}=H(c),P=y(),n=(w??(P==="fullscreen"?"page":"card"))==="page",k=(0,p.useContext)(A),u=(0,p.useContext)(I);return(0,a.jsxs)("div",{"data-graview-primitive":"panel","data-graview-variant":n?"page":"card","data-selected":r||void 0,style:{display:"flex",flexDirection:"column",gap:n?12:"var(--graview-gap, 7px)",height:n||s?"auto":"100%",maxHeight:n?"none":"100%",padding:n?0:"var(--graview-pad, 15px)",boxSizing:"border-box",borderRadius:n?0:"var(--graview-radius, 12px)",border:n?"none":`1px solid ${r?"var(--graview-accent, #2f6f5e)":"var(--graview-edge, #e4e0d8)"}`,boxShadow:n?"none":r?"0 0 0 1px var(--graview-accent-dim), var(--graview-lift-low)":"var(--graview-lift-low)",overflow:n?"visible":"hidden",...R[t],...n?{background:"transparent"}:{},...i},children:[t==="warning"?(0,a.jsx)("span",{"data-graview-broken":"",style:m,children:"Implicated in a problem."}):null,e===void 0||e===k?null:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",flexWrap:"wrap",gap:8,minWidth:0},children:[t==="warning"?(0,a.jsx)("span",{"aria-hidden":"true",title:"Implicated in a problem",style:{color:"var(--graview-warn)",flex:"0 0 auto"},children:"\u26A0"}):null,(0,a.jsx)(O,{level:b,said:u===null||e!==u,style:{fontFamily:"var(--graview-font-display, inherit)",fontSize:n?"1.5625rem":"0.9375rem",lineHeight:n?1.15:1.25,fontWeight:n?600:560,letterSpacing:n?"-0.012em":"0.005em",minWidth:0,overflowWrap:"anywhere"},children:e}),o===void 0?null:(0,a.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",letterSpacing:"0.08em",textTransform:"uppercase",minWidth:0,overflowWrap:"anywhere",...C},children:o})]}),l===void 0?null:(0,a.jsx)("div",{style:{fontSize:n?"0.90625rem":"0.8125rem",lineHeight:1.5,...T},children:l}),(0,a.jsx)("div",{ref:c,className:n?void 0:"graview-scroll",...v&&!n?{tabIndex:0,role:"region",...typeof e=="string"?{"aria-label":e}:{}}:{},style:{display:"flex",flexDirection:"column",gap:n?22:"var(--graview-gap, 7px)",flex:"1 1 auto",...n?{overflow:"visible"}:{marginBottom:"calc(-1 * var(--graview-pad, 15px))",paddingBottom:"var(--graview-pad, 15px)"},...!n&&!v?{overflow:"hidden"}:{}},"data-graview-more-above":x&&!n?"":void 0,"data-graview-more-below":S&&!n?"":void 0,children:d})]})}function h({label:e,hue:l,selected:o,title:r,pickId:t,emphasis:d}){let i=typeof e=="string"?e:void 0,s=l===void 0?void 0:Math.round(l);return(0,a.jsxs)("span",{"data-graview-primitive":"chip","data-selected":o||void 0,"data-graview-pick":t,"data-graview-emphasis":d,title:r??i,style:{cursor:t?"pointer":void 0,display:"inline-flex",alignItems:"center",alignSelf:"flex-start",minHeight:24,boxSizing:"border-box",padding:"3px 9px",borderRadius:6,fontSize:"0.8125rem",lineHeight:1.5,whiteSpace:"nowrap",maxWidth:"min(28ch, 100%)",overflow:"hidden",letterSpacing:"0.01em",border:`1px solid ${o?"var(--graview-accent)":s===void 0?"var(--graview-edge)":`hsl(${s} 55% var(--graview-tint-lightness) / 0.45)`}`,background:s===void 0?"var(--graview-panel-muted)":`hsl(${s} 55% var(--graview-tint-lightness) / calc(var(--graview-tint-alpha) * 0.65))`,color:"var(--graview-ink, #1a1a1a)",boxShadow:o?"0 0 14px -4px var(--graview-accent)":void 0},children:[s===void 0?null:(0,a.jsx)("span",{"aria-hidden":"true",style:{width:9,height:6,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",flex:"0 0 auto",marginRight:6,background:`hsl(${s} 55% var(--graview-tint-lightness) / 0.9)`}}),(0,a.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]})}function L({items:e,max:l=8,selectedIds:o=[],pick:r=!1}){let t=e.slice(0,l),d=e.length-t.length;return(0,a.jsxs)("div",{"data-graview-primitive":"roster",style:{display:"flex",flexWrap:"wrap",gap:6,alignContent:"flex-start"},children:[t.map(i=>(0,a.jsx)(h,{label:i.label,...i.hue===void 0?{}:{hue:i.hue},...r?{pickId:i.id}:{},...i.emphasis===void 0?{}:{emphasis:i.emphasis},selected:o.includes(i.id)},i.id)),d>0?(0,a.jsx)(h,{label:`+${d} more`}):null]})}function F({label:e,count:l,items:o,onExpand:r,flagged:t,problems:d}){return(0,a.jsx)(E,{title:e,meta:d?(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,a.jsx)("span",{children:l})]}):l,tone:t?"warning":"muted",style:r?{cursor:"zoom-in"}:void 0,children:o&&o.length>0?(0,a.jsx)(L,{items:o,max:6,pick:!0}):null})}export{A as a,I as b,E as c,h as d,L as e,F as f};
1
+ import{m}from"./chunk.GYTVL6GR.js";import{G as N,T as f,W as y}from"./chunk.TMYGLXR6.js";import{b as g}from"./chunk.AJZBJBMO.js";var p=g(N(),1);var a=g(f(),1);var R={default:{background:"var(--graview-panel, #ffffff)",color:"var(--graview-ink, #1a1a1a)"},muted:{background:"var(--graview-panel-muted, #f7f5f1)",color:"var(--graview-ink, #1a1a1a)"},warning:{background:"var(--graview-panel-warning, #fdf3ec)",color:"var(--graview-ink, #1a1a1a)"}},T={color:"var(--graview-ink-muted, #55514a)"},C={color:"var(--graview-ink-faint, #625d55)"};function H(e){let[l,o]=(0,p.useState)(z);return(0,p.useEffect)(()=>{let r=e.current;if(!r||typeof ResizeObserver>"u")return;let t=()=>{let i=W(r,parseFloat(getComputedStyle(r).paddingBottom)||0);o(s=>s.overflowing===i.overflowing&&s.above===i.above&&s.below===i.below?s:i)};t();let d=new ResizeObserver(t);d.observe(r);for(let i of r.children)d.observe(i);return r.addEventListener("scroll",t,{passive:!0}),()=>{d.disconnect(),r.removeEventListener("scroll",t)}}),l}var z={overflowing:!1,above:!1,below:!1};function W(e,l=0){let o=e.scrollHeight>e.clientHeight+1,r=e.scrollWidth>e.clientWidth+1;return{overflowing:o||r,above:o&&e.scrollTop>1,below:o&&e.scrollTop+e.clientHeight<e.scrollHeight-l-1}}var A=(0,p.createContext)(null),I=(0,p.createContext)(null);function O({level:e,said:l=!0,style:o,children:r}){if(e===void 0)return(0,a.jsx)("strong",{style:o,...l?{}:{"aria-hidden":!0},children:r});let t=`h${e}`;return(0,a.jsx)(t,{style:{margin:0,...o},children:r})}function E({title:e,subtitle:l,meta:o,selected:r,tone:t="default",children:d,style:i,fit:s=!1,variant:w,heading:b}){let c=(0,p.useRef)(null),{overflowing:v,above:x,below:S}=H(c),P=y(),n=(w??(P==="fullscreen"?"page":"card"))==="page",k=(0,p.useContext)(A),u=(0,p.useContext)(I);return(0,a.jsxs)("div",{"data-graview-primitive":"panel","data-graview-variant":n?"page":"card","data-selected":r||void 0,style:{display:"flex",flexDirection:"column",gap:n?12:"var(--graview-gap, 7px)",height:n||s?"auto":"100%",maxHeight:n?"none":"100%",padding:n?0:"var(--graview-pad, 15px)",boxSizing:"border-box",borderRadius:n?0:"var(--graview-radius, 12px)",border:n?"none":`1px solid ${r?"var(--graview-accent, #2f6f5e)":"var(--graview-edge, #e4e0d8)"}`,boxShadow:n?"none":r?"0 0 0 1px var(--graview-accent-dim), var(--graview-lift-low)":"var(--graview-lift-low)",overflow:n?"visible":"hidden",...R[t],...n?{background:"transparent"}:{},...i},children:[t==="warning"?(0,a.jsx)("span",{"data-graview-broken":"",style:m,children:"Implicated in a problem."}):null,e===void 0||e===k?null:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",flexWrap:"wrap",gap:8,minWidth:0},children:[t==="warning"?(0,a.jsx)("span",{"aria-hidden":"true",title:"Implicated in a problem",style:{color:"var(--graview-warn)",flex:"0 0 auto"},children:"\u26A0"}):null,(0,a.jsx)(O,{level:b,said:u===null||e!==u,style:{fontFamily:"var(--graview-font-display, inherit)",fontSize:n?"1.5625rem":"0.9375rem",lineHeight:n?1.15:1.25,fontWeight:n?600:560,letterSpacing:n?"-0.012em":"0.005em",minWidth:0,overflowWrap:"anywhere"},children:e}),o===void 0?null:(0,a.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",letterSpacing:"0.08em",textTransform:"uppercase",minWidth:0,overflowWrap:"anywhere",...C},children:o})]}),l===void 0?null:(0,a.jsx)("div",{style:{fontSize:n?"0.90625rem":"0.8125rem",lineHeight:1.5,...T},children:l}),(0,a.jsx)("div",{ref:c,className:n?void 0:"graview-scroll",...v&&!n?{tabIndex:0,role:"region",...typeof e=="string"?{"aria-label":e}:{}}:{},style:{display:"flex",flexDirection:"column",gap:n?22:"var(--graview-gap, 7px)",flex:"1 1 auto",...n?{overflow:"visible"}:{marginBottom:"calc(-1 * var(--graview-pad, 15px))",paddingBottom:"var(--graview-pad, 15px)"},...!n&&!v?{overflow:"hidden"}:{}},"data-graview-more-above":x&&!n?"":void 0,"data-graview-more-below":S&&!n?"":void 0,children:d})]})}function h({label:e,hue:l,selected:o,title:r,pickId:t,emphasis:d}){let i=typeof e=="string"?e:void 0,s=l===void 0?void 0:Math.round(l);return(0,a.jsxs)("span",{"data-graview-primitive":"chip","data-selected":o||void 0,"data-graview-pick":t,"data-graview-emphasis":d,title:r??i,style:{cursor:t?"pointer":void 0,display:"inline-flex",alignItems:"center",alignSelf:"flex-start",minHeight:24,boxSizing:"border-box",padding:"3px 9px",borderRadius:6,fontSize:"0.8125rem",lineHeight:1.5,whiteSpace:"nowrap",maxWidth:"min(28ch, 100%)",overflow:"hidden",letterSpacing:"0.01em",border:`1px solid ${o?"var(--graview-accent)":s===void 0?"var(--graview-edge)":`hsl(${s} 55% var(--graview-tint-lightness) / 0.45)`}`,background:s===void 0?"var(--graview-panel-muted)":`hsl(${s} 55% var(--graview-tint-lightness) / calc(var(--graview-tint-alpha) * 0.65))`,color:"var(--graview-ink, #1a1a1a)",boxShadow:o?"0 0 14px -4px var(--graview-accent)":void 0},children:[s===void 0?null:(0,a.jsx)("span",{"aria-hidden":"true",style:{width:9,height:6,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",flex:"0 0 auto",marginRight:6,background:`hsl(${s} 55% var(--graview-tint-lightness) / 0.9)`}}),(0,a.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]})}function L({items:e,max:l=8,selectedIds:o=[],pick:r=!1}){let t=e.slice(0,l),d=e.length-t.length;return(0,a.jsxs)("div",{"data-graview-primitive":"roster",style:{display:"flex",flexWrap:"wrap",gap:6,alignContent:"flex-start"},children:[t.map(i=>(0,a.jsx)(h,{label:i.label,...i.hue===void 0?{}:{hue:i.hue},...r?{pickId:i.id}:{},...i.emphasis===void 0?{}:{emphasis:i.emphasis},selected:o.includes(i.id)},i.id)),d>0?(0,a.jsx)(h,{label:`+${d} more`}):null]})}function F({label:e,count:l,items:o,onExpand:r,flagged:t,problems:d}){return(0,a.jsx)(E,{title:e,meta:d?(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[d,(0,a.jsx)("span",{children:l})]}):l,tone:t?"warning":"muted",style:r?{cursor:"zoom-in"}:void 0,children:o&&o.length>0?(0,a.jsx)(L,{items:o,max:6,pick:!0}):null})}export{A as a,I as b,E as c,h as d,L as e,F as f};
@@ -0,0 +1,25 @@
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 $e}from"./chunk.SDO3U72B.js";import{Ga as Yn,J as Un,Jd as ir,Ka as Pt,Ma as Zn,Nd as ar,Oc as Qn,Pd as ze,Qd as At,Ya as Xn,Yc as er,_c as tr,bd as nr,ed as rr,rc as Jn,td as or}from"./chunk.P4CLT32V.js";import{a as qe,b as L}from"./chunk.AJZBJBMO.js";var Ar=qe(w=>{"use strict";var It=Symbol.for("react.transitional.element"),Qo=Symbol.for("react.portal"),ei=Symbol.for("react.fragment"),ti=Symbol.for("react.strict_mode"),ni=Symbol.for("react.profiler"),ri=Symbol.for("react.consumer"),oi=Symbol.for("react.context"),ii=Symbol.for("react.forward_ref"),ai=Symbol.for("react.suspense"),si=Symbol.for("react.memo"),wr=Symbol.for("react.lazy"),li=Symbol.for("react.activity"),mr=Symbol.iterator;function di(e){return e===null||typeof e!="object"?null:(e=mr&&e[mr]||e["@@iterator"],typeof e=="function"?e:null)}var vr={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},br=Object.assign,xr={};function ge(e,t,n){this.props=e,this.context=t,this.refs=xr,this.updater=n||vr}ge.prototype.isReactComponent={};ge.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ge.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Er(){}Er.prototype=ge.prototype;function Lt(e,t,n){this.props=e,this.context=t,this.refs=xr,this.updater=n||vr}var _t=Lt.prototype=new Er;_t.constructor=Lt;br(_t,ge.prototype);_t.isPureReactComponent=!0;var gr=Array.isArray;function Vt(){}var O={H:null,A:null,T:null,S:null},Pr=Object.prototype.hasOwnProperty;function Ht(e,t,n){var r=n.ref;return{$$typeof:It,type:e,key:t,ref:r!==void 0?r:null,props:n}}function ui(e,t){return Ht(e.type,t,e.props)}function Dt(e){return typeof e=="object"&&e!==null&&e.$$typeof===It}function ci(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var hr=/\/+/g;function Ot(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ci(""+e.key):t.toString(36)}function fi(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Vt,Vt):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function me(e,t,n,r,o){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(i){case"bigint":case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case It:case Qo:a=!0;break;case wr:return a=e._init,me(a(e._payload),t,n,r,o)}}if(a)return o=o(e),a=r===""?"."+Ot(e,0):r,gr(o)?(n="",a!=null&&(n=a.replace(hr,"$&/")+"/"),me(o,t,n,"",function(c){return c})):o!=null&&(Dt(o)&&(o=ui(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(hr,"$&/")+"/")+a)),t.push(o)),1;a=0;var s=r===""?".":r+":";if(gr(e))for(var l=0;l<e.length;l++)r=e[l],i=s+Ot(r,l),a+=me(r,t,n,i,o);else if(l=di(e),typeof l=="function")for(e=l.call(e),l=0;!(r=e.next()).done;)r=r.value,i=s+Ot(r,l++),a+=me(r,t,n,i,o);else if(i==="object"){if(typeof e.then=="function")return me(fi(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return a}function tt(e,t,n){if(e==null)return e;var r=[],o=0;return me(e,r,"","",function(i){return t.call(n,i,o++)}),r}function pi(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Sr=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},yi={map:tt,forEach:function(e,t,n){tt(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return tt(e,function(){t++}),t},toArray:function(e){return tt(e,function(t){return t})||[]},only:function(e){if(!Dt(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};w.Activity=li;w.Children=yi;w.Component=ge;w.Fragment=ei;w.Profiler=ni;w.PureComponent=Lt;w.StrictMode=ti;w.Suspense=ai;w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=O;w.__COMPILER_RUNTIME={__proto__:null,c:function(e){return O.H.useMemoCache(e)}};w.cache=function(e){return function(){return e.apply(null,arguments)}};w.cacheSignal=function(){return null};w.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=br({},e.props),o=e.key;if(t!=null)for(i in t.key!==void 0&&(o=""+t.key),t)!Pr.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(r[i]=t[i]);var i=arguments.length-2;if(i===1)r.children=n;else if(1<i){for(var a=Array(i),s=0;s<i;s++)a[s]=arguments[s+2];r.children=a}return Ht(e.type,o,r)};w.createContext=function(e){return e={$$typeof:oi,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:ri,_context:e},e};w.createElement=function(e,t,n){var r,o={},i=null;if(t!=null)for(r in t.key!==void 0&&(i=""+t.key),t)Pr.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var a=arguments.length-2;if(a===1)o.children=n;else if(1<a){for(var s=Array(a),l=0;l<a;l++)s[l]=arguments[l+2];o.children=s}if(e&&e.defaultProps)for(r in a=e.defaultProps,a)o[r]===void 0&&(o[r]=a[r]);return Ht(e,i,o)};w.createRef=function(){return{current:null}};w.forwardRef=function(e){return{$$typeof:ii,render:e}};w.isValidElement=Dt;w.lazy=function(e){return{$$typeof:wr,_payload:{_status:-1,_result:e},_init:pi}};w.memo=function(e,t){return{$$typeof:si,type:e,compare:t===void 0?null:t}};w.startTransition=function(e){var t=O.T,n={};O.T=n;try{var r=e(),o=O.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(Vt,Sr)}catch(i){Sr(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),O.T=t}};w.unstable_useCacheRefresh=function(){return O.H.useCacheRefresh()};w.use=function(e){return O.H.use(e)};w.useActionState=function(e,t,n){return O.H.useActionState(e,t,n)};w.useCallback=function(e,t){return O.H.useCallback(e,t)};w.useContext=function(e){return O.H.useContext(e)};w.useDebugValue=function(){};w.useDeferredValue=function(e,t){return O.H.useDeferredValue(e,t)};w.useEffect=function(e,t){return O.H.useEffect(e,t)};w.useEffectEvent=function(e){return O.H.useEffectEvent(e)};w.useId=function(){return O.H.useId()};w.useImperativeHandle=function(e,t,n){return O.H.useImperativeHandle(e,t,n)};w.useInsertionEffect=function(e,t){return O.H.useInsertionEffect(e,t)};w.useLayoutEffect=function(e,t){return O.H.useLayoutEffect(e,t)};w.useMemo=function(e,t){return O.H.useMemo(e,t)};w.useOptimistic=function(e,t){return O.H.useOptimistic(e,t)};w.useReducer=function(e,t,n){return O.H.useReducer(e,t,n)};w.useRef=function(e){return O.H.useRef(e)};w.useState=function(e){return O.H.useState(e)};w.useSyncExternalStore=function(e,t,n){return O.H.useSyncExternalStore(e,t,n)};w.useTransition=function(){return O.H.useTransition()};w.version="19.2.8"});var N=qe((Ja,kr)=>{"use strict";kr.exports=Ar()});var Dr=qe(ot=>{"use strict";var Pi=Symbol.for("react.transitional.element"),Ai=Symbol.for("react.fragment");function Hr(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:Pi,type:e,key:r,ref:t!==void 0?t:null,props:n}}ot.Fragment=Ai;ot.jsx=Hr;ot.jsxs=Hr});var Le=qe((ls,Nr)=>{"use strict";Nr.exports=Dr()});var fe={focusId:null,relation:null,expanded:[],pins:{}},Ue=e=>{let t=Number(e);return Number.isFinite(t)?t:null};function Q(e){let t=new URLSearchParams;e.focusId&&t.set("focus",e.focusId),e.relation&&t.set("relation",e.relation),e.overview&&t.set("overview","1"),e.zoom&&t.set("zoom","1"),e.past&&t.set("past","1"),e.shown&&e.shown.length>0&&t.set("show",[...e.shown].sort().join(",")),e.selection!==void 0&&e.selection.length>0&&t.set("sel",[...e.selection].sort().join(",")),e.expanded.length>0&&t.set("expand",[...e.expanded].sort().join(","));for(let r of Object.keys(e.pins).sort()){let o=e.pins[r];t.set(`pin.${r}`,`${Ye(o.x)},${Ye(o.y)}`)}e.pan&&(e.pan.x!==0||e.pan.y!==0)&&t.set("pan",`${Ye(e.pan.x)},${Ye(e.pan.y)}`);for(let r of Object.keys(e.within??{}).sort()){let o=e.within[r];o.length>0&&t.set(`in.${r}`,o)}e.q&&e.q.trim().length>0&&t.set("q",e.q);let n=t.toString();return n?`#${n}`:"#"}function $o(e){return e&&e.startsWith("agg:")?`aggregate:${e.slice(4)}`:e}function Ze(e){let t=e.includes("#")?e.slice(e.indexOf("#")+1):e,n=new URLSearchParams(t),r=Object.create(null);for(let[m,p]of n){if(!m.startsWith("pin."))continue;let[g,x]=p.split(","),R=g===void 0?null:Ue(g),y=x===void 0?null:Ue(x);R===null||y===null||(r[m.slice(4)]={x:R,y})}let o=Object.create(null);for(let[m,p]of n)!m.startsWith("in.")||p.length===0||(o[m.slice(3)]=p);let i=n.get("view");i&&i.length>0&&o.view===void 0&&(o.view=i);let a=n.get("pan")?.split(",")??[],s=a[0]===void 0?null:Ue(a[0]),l=a[1]===void 0?null:Ue(a[1]),c=(n.get("sel")??"").split(",").filter(m=>m.length>0).sort(),u=n.get("overview")==="1";return{...c.length>0?{selection:c}:{},...u?{overview:!0}:{},...n.get("zoom")==="1"?{zoom:!0}:{},...n.get("past")==="1"?{past:!0}:{},...n.get("show")?{shown:[...new Set(n.get("show").split(",").filter(Boolean))].sort()}:{},...s!==null&&l!==null?{pan:{x:s,y:l}}:{},...Object.keys(o).length>0?{within:o}:{},...n.get("q")?.trim()?{q:n.get("q")}:{},focusId:$o(n.get("focus")),relation:n.get("relation"),expanded:(n.get("expand")??"").split(",").filter(m=>m.length>0&&(u||!m.startsWith("kind:"))).sort(),pins:r}}function _a(e){let t=Ze(e);return Q(t)==="#"?{...t,overview:!0}:t}function Ha(e){let t=Q(e);return t==="#overview=1"?"":t}function Ye(e){return Math.round(e*100)/100}function lr(e,t){return Q(e)===Q(t)}var sr="edge:";function dr(e){if(!e.startsWith(sr))return null;let t=e.slice(sr.length).split(":");if(t.length!==3)return null;let[n,r,o]=t;if(!n||!r||!o)return null;try{return{kind:decodeURIComponent(n),from:decodeURIComponent(r),to:decodeURIComponent(o)}}catch{return null}}function kt(e){let{pan:t,...n}=e;return{...n,pins:{}}}function $(e,t){if(t===e.focusId)return{...e,focusId:t};let n=kt(e);return{...n.within?.q!==void 0?se(n,"q",null):n,focusId:t}}function ur(e,t){return{...e,relation:t}}function se(e,t,n){let r={...e.within??{}};if(n===null?delete r[t]:r[t]=n,Object.keys(r).length===0){let{within:o,...i}=e;return i}return{...e,within:r}}function pe(e,t){if(t!==e.overview&&(e=kt(e)),!t){let n=e.expanded.filter(r=>!r.startsWith("kind:"));return{...e,overview:!1,expanded:n}}return{...e,overview:t}}function Xe(e,t){if(t.length===0){let{selection:n,...r}=e;return r}return{...e,selection:[...t]}}function Ve(e,t){if(t!==(e.zoom===!0)&&(e=kt(e)),!t){let{zoom:n,...r}=e;return r}return{...e,zoom:!0}}function Je(e,t){let n=new Set(e.expanded);return n.has(t)?n.delete(t):n.add(t),{...e,expanded:[...n].sort()}}var et="aggregate:",Qe="kind:";function Rt(e){return`${Qe}${e}`}function ye(e){return e.startsWith(Qe)?e.slice(Qe.length):null}var ja="kinds:beyond";function Uo(e){let t=ye(e);return t?[t]:le(e)}function ee(...e){return`${et}${[...e].sort().join("+")}`}function cr(e){return e.startsWith(et)}function le(e){return!cr(e)||e.includes("|")?[]:e.slice(et.length).split("+").filter(Boolean)}function fr(e,t,n={}){let r=ye(t);if(r!==null&&e.overview&&n.ownPicture!==!0)return Je(e,t);let o=r!==null?ee(r):t;if(e.zoom&&e.focusId===o&&!(r!==null&&n.carry))return Ve(e,!1);if(r!==null&&n.carry){let i=pe({...$(e,o),relation:null},!1);return se(Ve(i,!0),"q",n.carry)}return Ve({...$(e,o),relation:null},!0)}function Yo(e,t,n){return se(pe($(e,ee(t)),!1),"view",n)}function Wa(e,t){return e.id<t.id?-1:e.id>t.id?1:0}var pr="aggregate:";function Tt(e){return e.startsWith(pr)&&e.includes("|")}var Mt=e=>e?.off===!0,Zo=e=>e!==void 0&&!Mt(e)&&(e.fast!==void 0||e.thinking!==void 0||e.answer!==void 0||e.decide!==void 0||e.complete!==void 0||e.turn!==void 0),yr=e=>e!==void 0&&!Mt(e)&&(e.fast!==void 0||e.decide!==void 0),Xo=e=>e?.suggestOnOpen!==!1&&yr(e),Jo=e=>e?.hoverChips===!0&&yr(e);var Ct={};var Rr=L(N(),1),mi={turns:[],outcomes:new Map,busy:!1,pending:null,draft:null,draftNote:null},Tr=e=>`graview:seat:${e}`;function gi(e){if(!e)return{};try{let t=sessionStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return{...Array.isArray(n.turns)?{turns:n.turns}:{},...Array.isArray(n.outcomes)?{outcomes:new Map(n.outcomes)}:{},...n.draft?.drawn?{draft:n.draft}:{}}}catch{return{}}}function hi(e,t){if(e)try{sessionStorage.setItem(e,JSON.stringify({turns:t.turns.slice(-40),outcomes:[...t.outcomes],draft:t.draft}))}catch{}}function Nt(e){let t=e===null?null:Tr(e),n={...mi,...gi(t)},r=new Set,o=(i,a=!0)=>{n=i,a&&hi(t,n);for(let s of[...r])s()};return{get:()=>n,subscribe(i){return r.add(i),()=>void r.delete(i)},setTurns:i=>o({...n,turns:i(n.turns)}),settle:(i,a)=>o({...n,outcomes:new Map(n.outcomes).set(i,a)}),setBusy:i=>o({...n,busy:i},!1),ask:i=>o({...n,pending:i.trim()||null}),takePending(){let i=n.pending;return i!==null&&o({...n,pending:null},!1),i},setDraft:(i,a=null)=>o({...n,draft:i,draftNote:a})}}function Si(e){return(0,Rr.useSyncExternalStore)(e.subscribe,e.get,e.get)}var Cr=L(N(),1),wi={entries:[],ghost:null,loaded:!1};function Mr(e,t){let n=new Map(e.map(r=>[r.id,r]));for(let r of t)n.set(r.id,{...n.get(r.id),...r});return[...n.values()].sort((r,o)=>r.at<o.at?1:r.at>o.at?-1:0)}function jt(e){let t=wi,n=new Set,r=o=>{t=o;for(let i of[...n])i()};return{get:()=>t,subscribe:o=>(n.add(o),()=>n.delete(o)),record:o=>{r({...t,entries:Mr(t.entries,[o])}),Promise.resolve(e()?.keep?.(o)).catch(i=>{console.warn("The host did not keep an AI interaction:",i)})},setGhost:o=>r({...t,ghost:o}),load:()=>{if(t.loaded)return;r({...t,loaded:!0});let o=e()?.load;o&&Promise.resolve(o()).then(i=>r({...t,entries:Mr(t.entries,i)})).catch(i=>{console.warn("The host's AI interactions could not be read:",i)})}}}function vi(e){return(0,Cr.useSyncExternalStore)(e.subscribe,e.get,e.get)}function Or(e){return e?.closest?.("[data-graview-pick]")?.getAttribute("data-graview-pick")??null}var nt=L(N(),1),rt=(0,nt.createContext)(void 0),bi=()=>(0,nt.useContext)(rt);var P=L(N(),1),Ie=(0,P.createContext)(null);function Ir(){return(0,P.useContext)(Ie)}function xi(e,t){let n=Ir(),r=(0,P.useMemo)(()=>n?n.live.seenBy(t):e,[n,e,t]),o=(0,P.useRef)(0),i=(0,P.useCallback)(a=>r.subscribe(()=>{o.current+=1,a()}),[r]);return(0,P.useSyncExternalStore)(i,()=>o.current,()=>0),r}var Lr=$e(()=>(__graviewPreload(import.meta.url,["./chunk.ZJXUWOG3.js","./chunk.TI4OSTQV.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.PFXGWY3P.js")));function Wt(e){let[,t]=(0,P.useReducer)(r=>r+1,0),n=e.publishing?.mode==="on-publish"&&!er();return(0,P.useEffect)(()=>{n&&Lr().then(t,()=>{})},[n]),!n}var Vr,Ei=400;function Gt(e,t,n){let r=(0,P.useContext)(Ie),o=r!==null&&r.owns(e,t),[i,a]=(0,P.useState)(null),[s,l]=(0,P.useState)(Vr);(0,P.useEffect)(()=>{if(s||o||i===null)return;let b=!0;return Lr().then(V=>{Vr=V,b&&l(V)},()=>{}),()=>{b=!1}},[s,o,i]);let[c,u]=(0,P.useState)(0),m=(0,P.useMemo)(()=>o||i===null||i>=e.log.length||!s?void 0:s.askArchived(e,i,n)??s.askDeclaration(n,i),[o,e,i,n,s,c]),p=m&&"waiting"in m?m.waiting:void 0,g=m&&"seq"in m?m:null,[x,R]=(0,P.useState)(void 0);(0,P.useEffect)(()=>{if(!p)return;let b=!0,V=setTimeout(()=>b&&R(p),Ei);return p.then(()=>b&&u(I=>I+1)),()=>{b=!1,clearTimeout(V)}},[p]);let y=p!==void 0&&x!==p||g!==null,v=(0,P.useMemo)(()=>{if(o||i===null||i>=e.log.length||!s||y)return null;try{let b=s.pastAt(e,i,n);return{seq:i,at:b.past?.at,store:b}}catch{return null}},[o,e,i,n,s,y,c]),S=(0,P.useRef)(null),E=y?S.current:v;(0,P.useEffect)(()=>{S.current=E},[E]);let A=(0,P.useCallback)(b=>a(b===null?null:b>=e.log.length?Number.POSITIVE_INFINITY:b),[e]),F=(0,P.useCallback)((b,V)=>[e,E?.store].some(I=>I!==void 0&&(I===b||I.seenBy(V)===b)),[e,E]),H=i!==null,j=(0,P.useMemo)(()=>({past:E,open:H,show:A,live:e,host:n,owns:F,archive:g}),[E,H,A,e,n,F,g]);return o?r:j}var _r=L(N(),1),Ft=(0,_r.createContext)(null);var jr=e=>`graview:setting:${e}`;function Wr(){return localStorage}function Gr(e,t){try{let n=(t??Wr()).getItem(jr(e.name));if(n!==null&&e.options.some(r=>r.value===n))return n}catch{}return e.initial}function Fr(e,t,n){try{(n??Wr()).setItem(jr(e.name),t)}catch{}}function Kr(e,t){if(typeof document>"u")return;let n=document.documentElement;if(e.honored==="root-font-size"){n.style.fontSize=t===e.initial?"":t;return}let r=`graview${e.name.replace(/-([a-z0-9])/g,(o,i)=>i.toUpperCase()).replace(/^[a-z]/,o=>o.toUpperCase())}`;t===e.initial?delete n.dataset[r]:n.dataset[r]=t}var _=L(N(),1);function Kt(e){return ze(e)}var ki=12,Ri=4;function Ti(e,t,n){let r=Kt(t);return e.get(r)??{participant:r,who:t.id??t.kind,at:null,mode:"docked",since:n,trail:[]}}var it=(e,t)=>t===null||e[e.length-1]===t?e:[...e,t].slice(-ki);function Br(e,t){let n=e.filter(o=>o.length>0);if(n.length===0)return null;if(n.length<=Ri)return n[0];let r=new Set(n.map(o=>t(o)).filter(o=>o!==void 0));return r.size===1?Rt([...r][0]):n[0]}function Bt(e,t,n){let r=new Map(e);if(t.type==="rest"){for(let[a,s]of e)s.mode!=="asking"&&s.mode!=="docked"&&t.at-s.since>=t.holdMs&&r.set(a,{...s,mode:"docked",at:null,trail:[],say:void 0,confidence:void 0});return r}if(t.author.kind!=="agent")return r;let o=Ti(e,t.author,t.at),i=a=>r.set(o.participant,{...o,...a,since:t.at});switch(t.type){case"read":{let a=Br(t.ids,n);return i({at:a,mode:"reading",trail:it(o.trail,a)}),r}case"about-to-write":case"write":{let a=Br(t.ids,n);return i({at:a,mode:"writing",trail:it(o.trail,a),say:void 0,confidence:void 0}),r}case"refused":return i({at:t.where,mode:"refused",say:t.say,confidence:void 0,trail:it(o.trail,t.where)}),r;case"asking":return i({at:t.where??o.at,mode:"asking",say:t.say,...t.confidence!==void 0?{confidence:t.confidence}:{confidence:void 0},trail:it(o.trail,t.where)}),r;case"said":return i({say:t.say,...t.confidence!==void 0?{confidence:t.confidence}:{confidence:void 0},...t.caption?{caption:t.caption}:{}}),r;case"over":return i({over:t.over}),r;case"home":return i({at:null,mode:"docked",trail:[],say:void 0,confidence:void 0,over:null}),r;default:return r}}var qr="graview:session";function zr(e){let t=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID().slice(0,8):Math.random().toString(36).slice(2,10);try{let n=e??sessionStorage,r=n.getItem(qr);if(r)return r;let o=t();return n.setItem(qr,o),o}catch{return t()}}var qt={name:"share-where",title:"Where you are",description:"Whether the others here see which stop you are on.",honored:"root-attribute",options:[{value:"shared",label:"Shown"},{value:"private",label:"Hidden"}],initial:"shared"},zt={name:"share-over",title:"What you point at",description:"Whether the others see the thing under your pointer, outlined in your color.",honored:"root-attribute",options:[{value:"private",label:"Kept to yourself"},{value:"shared",label:"Outlined for others"}],initial:"private"},$r=[qt,zt],Mi=800;function Ur(e){let{channel:t,store:n,view:r,principal:o,session:i,robots:a,seatWho:s,settingValues:l,setView:c,ttlMs:u=ar,people:m,seats:p}=e,[g,x]=(0,_.useState)(()=>new Map),[R,y]=(0,_.useState)(null),[v,S]=(0,_.useState)(null),[E,A]=(0,_.useState)(null),F=typeof o.id=="string"&&o.id.length>0,H=F&&(l[qt.name]??qt.initial)==="shared",j=H&&(l[zt.name]??zt.initial)==="shared",b=Kt({kind:o.kind,...o.id?{id:o.id}:{},session:i}),V=F?Xn(o,{graph:n.graph,schema:n.schema,...p?{seats:p}:{},...m?{people:m}:{}}):"",I=s?a.get(`agent:${s}:${i}`):void 0,W=(0,_.useMemo)(()=>!t||!H?null:{participant:b,kind:o.kind,name:V,...o.onBehalfOf?.id?{onBehalfOf:o.onBehalfOf.id,...o.onBehalfOf.name?{onBehalfOfName:o.onBehalfOf.name}:{}}:{},hue:Jn(o.id??"nobody"),stop:E??Q(r),...j?{over:R}:{},...I?{robot:{at:I.at,mode:I.mode}}:{},at:new Date().toISOString()},[t,H,j,b,V,o.id,o.kind,o.onBehalfOf?.id,o.onBehalfOf?.name,r,E,R,I?.at,I?.mode]),De=(0,_.useRef)(null),de=k=>k&&t?.here({...k,caret:De.current??void 0,at:new Date().toISOString()}),Ee=(0,_.useCallback)(k=>{De.current=k,de(W)},[t,W]);(0,_.useEffect)(()=>{if(!W)return;de(W);let k=setInterval(()=>de(W),Mi);return()=>clearInterval(k)},[t,W]),(0,_.useEffect)(()=>t?t.onWho(K=>x(At(new Map,K,Date.now(),u))):void 0,[t,u]);let Ne=g.size>0;(0,_.useEffect)(()=>{if(!Ne)return;let k=setInterval(()=>{x(K=>{let re=At(K,[],Date.now(),u);return re.size===K.size?K:re})},Math.max(250,Math.min(1e3,u/4)));return()=>clearInterval(k)},[Ne,u]),(0,_.useEffect)(()=>{if(!t||typeof window>"u")return;let k=()=>t.leave();return window.addEventListener("pagehide",k),()=>window.removeEventListener("pagehide",k)},[t]),(0,_.useEffect)(()=>{if(!j||typeof document>"u")return;let k=null,K=re=>{let oe=Or(re.target);oe!==k&&(k=oe,y(oe))};return document.addEventListener("pointermove",K,{passive:!0}),()=>document.removeEventListener("pointermove",K)},[j]);let q=(0,_.useRef)(null),B=v?g.get(v)??null:null,Pe=(0,_.useCallback)(k=>{q.current=null,S(k)},[]);return(0,_.useEffect)(()=>{if(v){if(!B){S(null);return}B.stop!==q.current?.stop&&(q.current={stop:B.stop,at:Date.now()},c(Ze(B.stop)))}},[v,B,c]),(0,_.useEffect)(()=>{let k=q.current;!v||k===null||Date.now()-k.at<400||lr(r,Ze(k.stop))||S(null)},[r,v]),(0,_.useEffect)(()=>{if(!v||typeof document>"u")return;let k=K=>{K.key==="Escape"&&S(null)};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[v]),(0,_.useMemo)(()=>({who:g,sharing:W?{participant:b,name:V}:null,following:B,follow:Pe,sayWhere:A,sayCaret:Ee}),[g,W,b,V,B,Pe,Ee])}var Y=L(N(),1);function Yr(e){return ze(e.author)}function Ci(e,t){return e.length>1?"co-edited":t==="rule"?"rule":t==="agent"?"autonomous":"directed"}function Zr(e,t,n,r,o){let i=new Map;for(let[l,c]of e)r-c.at<o&&i.set(l,c);let a=new Set(n.flatMap(l=>l.nodeIds)),s=(l,c,u)=>{let m=i.get(l),p=m?.participants.includes(Yr(c))?m.participants:[...m?.participants??[],Yr(c)];i.set(l,{at:r,manner:Ci(p,c.author.kind),intent:c.intent,wrote:(m?.wrote??!1)||(u.wrote??!1),read:(m?.read??!1)||(u.read??!1),broke:(m?.broke??!1)||a.has(l),participants:p})};for(let l of t){for(let c of l.writes)s(c,l,{wrote:!0});for(let c of l.reads)l.writes.includes(c)||s(c,l,{read:!0})}for(let l of n)for(let c of l.nodeIds){let u=i.get(c);i.set(c,{at:r,manner:u?.manner??"rule",intent:u?.intent??l.message,wrote:u?.wrote??!1,read:u?.read??!1,broke:!0,participants:u?.participants??["rule::"]})}return i}var Oi=2600;function Xr(e,t=Oi){let[n,r]=(0,Y.useState)(()=>new Map),o=(0,Y.useRef)(n);o.current=n;let i=(0,Y.useRef)(null),a=(0,Y.useCallback)(l=>{o.current=l,r(l),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{o.current=new Map,r(new Map)},t)},[t]);(0,Y.useEffect)(()=>{let l=e.violations(),c=e.subscribe((u,m)=>{let p=e.violations(),g=rr(e.allInvariants(),l,p).introduces;l=p,a(Zr(o.current,m,g.map(x=>({nodeIds:x.nodeIds,message:x.message})),Date.now(),t))});return()=>{c(),i.current&&clearTimeout(i.current)}},[e,t,a]);let s=(0,Y.useCallback)(l=>{l.reads.length!==0&&a(Zr(o.current,[Vi(l)],[],Date.now(),t))},[t,a]);return{activity:n,noteAttention:s}}function Vi(e){return{id:`attention:${e.intent}`,seq:-1,batch:"attention",author:e.author,intent:e.intent,mutation:null,primitives:[],reads:e.reads,writes:[],at:new Date().toISOString()}}var d=L(N(),1);function Jr(){let e=null,t=new Set,n=new Set,r=o=>{for(let i of n)i(o)};return{subscribe(o){return t.add(o),t.size===1&&r(!0),()=>{t.delete(o),t.size===0&&(e=null,r(!1))}},snapshot:()=>e,set(o){if(!(e===o||e&&o&&e.x===o.x&&e.y===o.y)){e=o;for(let i of t)i()}},get listeners(){return t.size},onActive(o){return n.add(o),()=>void n.delete(o)}}}var at=L(N(),1),Ii=e=>e.definitions.some(t=>Yn(t).size>0);function Qr(e,t,n){let[r,o]=(0,at.useState)(void 0),i=(n.roles??[]).join("\0");return(0,at.useEffect)(()=>{if(!t||!Ii(e.schema)){o(void 0);return}let a=!0,s=!1,l=e.graph,c=()=>{s||(s=!0,queueMicrotask(()=>{s=!1,a&&e.reread()}))},u=Zn(t,{kind:n.kind,...n.id===void 0?{}:{id:n.id},...n.roles?{roles:n.roles}:{}},c);return Pt(l,u.read),o(u),e.reread(),()=>{a=!1,Pt(l,void 0)}},[e,t,n.kind,n.id,i]),r}function eo(){let e=!1,t=new Set;return{moving:()=>e,set(n){if(n!==e){e=n;for(let r of t)r()}},subscribe(n){return t.add(n),()=>t.delete(n)}}}var te=L(Le(),1),Li="graview:place-menu",_e=(0,d.createContext)(null),oo=(0,d.createContext)("scene");function _i({mode:e,children:t}){return(0,te.jsx)(oo.Provider,{value:e,children:t})}function Hi(){return(0,d.useContext)(oo)}var io={kind:"human"},Di=[],Ni=[],ji=[],$t=[];function ao(e,t){let n=(0,d.useId)();(0,d.useEffect)(()=>{if(!globalThis.__graviewWatch)return;let r=t??io,o=()=>nr(e,r,n);o();let i,a=e.subscribe(()=>{clearTimeout(i),i=setTimeout(o,250)});return()=>{clearTimeout(i),a(),globalThis.__graviewWatch?.unseen?.({words:[],from:n,gone:!0})}},[e,t,n])}var Wi=()=>{try{return typeof location<"u"&&new URLSearchParams(location.search).get("as")==="published"?"published":void 0}catch{return}},Gi={off:!0};function Fi({store:e,views:t,initialView:n,scheme:r="dark",initialSelection:o,principal:i,as:a,seats:s=Di,onSeat:l,people:c=Ni,memory:u,presenceTtlMs:m,app:p,settings:g=p?.settings??ji,presence:x,typing:R,brand:y,locale:v,timeZone:S,onKeepLens:E,providers:A,ai:F,files:H,resolveApp:j,history:b,linkedRecords:V,menuSections:I,keptViews:W,subscriptions:De,dismissals:de,whileAway:Ee,signIn:Ne,view:q,onViewChange:B,children:Pe}){let k=(0,d.useContext)(_e),K=I??k?.menuSections,re=Ne??k?.signIn,oe=W??k?.keptViews,[Io,Lo]=(0,d.useState)(null),ue=Io??i??s[0]?.principal??io,je=Gt(e,ue,b),cn=je.past&&je.live===e?je.past.store:e,ht=a??Wi(),St=!Wt(e),D=(0,d.useMemo)(()=>St?e:cn.seenBy(ue,ht?{as:ht}:void 0),[St,e,cn,ue,ht]);ao(e,ue);let[ie]=(0,d.useState)(()=>zr(u)),[fn,_o]=(0,d.useState)(!1),pn=(0,d.useCallback)(()=>_o(!0),[]),ae=(0,d.useMemo)(()=>x?[...g,...$r]:g,[g,x]),[wt]=(0,d.useState)(()=>n??Xt(t,e.schema)),[Ho,yn]=(0,d.useState)(()=>Xe(wt??fe,o??wt?.selection??[])),Ae=(0,d.useRef)(wt??fe).current,[mn,Do]=(0,d.useState)(null),[gn,No]=(0,d.useState)(null),X=(0,d.useContext)(_e),[hn]=(0,d.useState)(()=>X?.seatTalk??Nt(y?.name??e.schema.kinds.join(","))),vt=F??X?.ai??Ct,We=(0,d.useMemo)(()=>vt.off?Gi:vt,[vt]),Sn=(0,d.useRef)(We.interactions);Sn.current=We.interactions;let[wn]=(0,d.useState)(()=>X?.aiDesk??jt(()=>Sn.current)),[jo]=(0,d.useState)(()=>X?.subscriptions??tr()),vn=De??X?.subscriptions??jo,bt=E??X?.onKeepLens,Ge=p??X?.app,Fe=v??X?.locale,Wo=y?.locale??Ge?.brand?.locale,Ke=S??X?.timeZone;Un({reader:Fe,app:Wo,readerTimeZone:Ke,appTimeZone:y?.timeZone??Ge?.brand?.timeZone});let bn=(0,d.useRef)(null),xn=(0,d.useCallback)(f=>{bn.current=f},[]),En=(0,d.useCallback)(f=>bn.current?.whereIs(f)??null,[]),[Pn]=(0,d.useState)(()=>Jr()),[An]=(0,d.useState)(()=>eo()),[xt,Go]=(0,d.useState)(null),[ke,kn]=(0,d.useState)(()=>new Map),Re=(0,d.useRef)(ke);Re.current=ke;let Te=(0,d.useRef)(null),Et=(0,d.useCallback)(f=>D.graph.getNode(f)?.kind,[D]),J=(0,d.useCallback)(f=>{let h=Bt(Re.current,f,Et);Re.current=h,kn(h),Te.current&&clearTimeout(Te.current),[...h.values()].some(C=>C.mode!=="docked"&&C.mode!=="asking")&&(Te.current=setTimeout(()=>{let C=Bt(Re.current,{type:"rest",at:Date.now(),holdMs:Zt},Et);Re.current=C,kn(C)},Zt+20))},[Et]),Rn=(0,d.useCallback)(f=>J({...f,at:f.at??Date.now()}),[J]),Tn=(0,d.useCallback)(f=>{Go(f),f&&J({type:"home",author:{kind:"agent",id:f,session:ie},at:Date.now()})},[J,ie]);(0,d.useEffect)(()=>D.subscribe((f,h)=>{for(let T of h)T.author.kind==="agent"&&J({type:"write",author:T.author,ids:T.writes,at:Date.now()})}),[D,J]),(0,d.useEffect)(()=>()=>{Te.current&&clearTimeout(Te.current)},[]);let U=(0,d.useMemo)(()=>({...ue,session:ie}),[ue,ie]),Mn=Qr(D,V,U),Cn=(0,d.useCallback)(f=>{Lo(f),l?.(f)},[l]),[Me,Fo]=(0,d.useState)(()=>Object.fromEntries(ae.map(f=>[f.name,Gr(f,u)])));(0,d.useEffect)(()=>{for(let f of ae)Kr(f,Me[f.name]??f.initial)},[ae,Me]);let On=(0,d.useCallback)((f,h)=>{let T=ae.find(C=>C.name===f);!T||!T.options.some(C=>C.value===h)||(Fr(T,h,u),Fo(C=>({...C,[f]:h})))},[ae,u]),[Vn,Ko]=(0,d.useState)(null),{activity:In,noteAttention:Ln}=Xr(D),_n=(0,d.useCallback)(f=>{Ln(f),J({type:"read",author:f.author,ids:f.reads,at:Date.now()})},[Ln,J]),ce=(0,d.useCallback)(f=>{if(ye(f)!==null||le(f).length>0||Tt(f))return!0;let h=dr(f);return h?D.graph.allEdges().some(T=>T.kind===h.kind&&T.from===h.from&&T.to===h.to):D.graph.getNode(f)!==void 0},[D]),Hn=(0,d.useCallback)(f=>{let h=f.selection??$t,T=h.filter(ce),C=T.length===h.length?f:Xe(f,T);return C.focusId!==null&&!ce(C.focusId)&&(C=$(C,null)),C},[ce]),Ce=(0,d.useCallback)(f=>{let h=Hn(f),T=ro(D,U,h.shown);if(h.focusId!==null&&T.size>0){let C=le(h.focusId),$n=D.graph.getNode(h.focusId);(C.length>0?C.every(zo=>T.has(zo)):$n?T.has($n.kind):!1)&&(h={...h,focusId:null})}if(!h.overview&&h.focusId===null){let C=Ae.focusId!==null&&!ce(Ae.focusId)?Xt(t,e.schema)??{...fe,overview:!0}:Ae;C.focusId!==null&&ce(C.focusId)?h={...h,focusId:C.focusId}:C.overview===!0&&(h={...h,overview:!0})}return h},[Hn,ce,D,Ae,U,t,e.schema]),z=Ce(q??Ho),Dn=(0,d.useMemo)(()=>ro(D,U,z.shown),[D,U,z.shown]),Nn=(0,d.useMemo)(()=>[...D.modules.administered.entries()].map(([f,h])=>{let T=D.mayAdminister(f,U);return{name:f,...h.description?{description:h.description}:{},kinds:h.kinds??[],canShow:T,shown:T&&(z.shown??[]).includes(f)}}),[D,U,z.shown]),Oe=(0,d.useCallback)(f=>{let h=T=>Ce(typeof f=="function"?f(T):f);if(q!==void 0){B?.(h(q));return}B&&B(h(z)),yn(T=>h(T))},[z,B,q,Ce]);(0,d.useEffect)(()=>{q===void 0&&yn(f=>{let h=Ce(f);return h===f?f:h})},[z,q,Ce]);let jn=z.selection??$t,Wn=(0,d.useCallback)(f=>{Oe(h=>Xe(h,typeof f=="function"?f(h.selection??$t):f))},[Oe]),{who:Be,following:Gn,follow:Fn,sayWhere:Bo,sayCaret:Kn,sharing:Bn}=Ur({channel:x,store:D,view:z,principal:U,session:ie,robots:ke,seatWho:xt,settingValues:Me,setView:Oe,seats:s,people:c,...m!==void 0?{ttlMs:m}:{}}),qo=(0,d.useMemo)(()=>({store:D,scheme:r,views:t,view:z,setView:Oe,homeView:Ae,selection:jn,setSelection:Wn,menuAt:mn,setMenuAt:Do,whereIs:En,pointer:Pn,motion:An,registerScene:xn,robots:ke,noteSeat:Rn,seatWho:xt,registerSeatWho:Tn,actsDoor:gn,registerActsDoor:No,seatTalk:hn,aiDesk:wn,...u?{memory:u}:{},who:Be,following:Gn,follow:Fn,sayWhere:Bo,sharing:Bn,session:ie,ai:We,resolveApp:j,linkedRecords:V,menuSections:K,...oe?{keptViews:oe}:{},subscriptions:vn,dismissals:de,whileAway:Ee,signIn:re,linkedReads:Mn,movedByHand:fn,noteMoved:pn,emphasis:Vn,setEmphasis:Ko,activity:In,noteAttention:_n,principal:U,seats:s,people:c,takeSeat:Cn,settings:ae,settingValues:Me,chooseSetting:On,hiddenKinds:Dn,administered:Nn,...A?{providers:A}:{},...y?{brand:y}:{},...bt?{onKeepLens:bt}:{},app:Ge,...Fe?{locale:Fe}:{},...Ke?{timeZone:Ke}:{}}),[D,r,t,z,Oe,jn,Wn,mn,En,Pn,An,xn,ke,Rn,xt,Tn,gn,hn,wn,u,Be,Gn,Fn,Bn,ie,We,j,V,K,oe,vn,de,Ee,re,Mn,fn,pn,Vn,In,_n,U,s,c,Cn,ae,Me,On,Dn,Nn,A,y,bt,Ge,Fe,Ke]),qn=(0,d.useMemo)(()=>R?{typing:R,sayCaret:Kn,who:Be}:null,[R,Kn,Be]),zn=H?(0,te.jsx)(rt.Provider,{value:H,children:Pe}):Pe;return(0,te.jsx)(_e.Provider,{value:qo,children:(0,te.jsx)(Ie.Provider,{value:je,children:(0,te.jsx)($i,{children:St?null:qn?(0,te.jsx)(Ft.Provider,{value:qn,children:zn}):zn})})})}var so=(0,d.createContext)(null),Ut,Yt=new Set,Ki=e=>(Yt.add(e),()=>void Yt.delete(e)),to=()=>Ut;function Bi(e){if(!Ut){Ut=e;for(let t of[...Yt])t()}}var qi=300;function zi(e){let t=0;return async(n,r)=>{let o=++t;return await new Promise(i=>setTimeout(i,qi)),o===t?e(n,r):[]}}function $i({children:e}){let{store:t,view:n,views:r,principal:o,hiddenKinds:i,selection:a,ai:s}=ne(),l=st(),c=n.q,u=n.focusId,m=!!(c&&c.trim().length>0),p=(0,d.useSyncExternalStore)(Ki,to,to),g=(0,d.useMemo)(()=>m&&p?{flagged:new Set(t.violations().flatMap(E=>E.nodeIds)),touched:p.touchWeights(t.log.all())}:null,[t,l,m,p]),x=u?t.graph.getNode(u)?.kind??ye(u)??(le(u).length===1?le(u)[0]:void 0):void 0,R=(0,d.useMemo)(()=>s.near&&zi(s.near),[s.near]),y=(0,d.useMemo)(()=>!c||!g||!p?null:p.search(t,c,{...x?{inKind:x}:{},principal:o,places:r.places(),kinds:t.schema.kinds.filter(E=>!i.has(E)),from:[...a,...u&&t.graph.has(u)?[u]:[]],flagged:g.flagged,touched:g.touched,limit:200,rank:R}),[t,c,o,r,i,a,u,x,g,R]),[v,S]=(0,d.useState)();return(0,d.useEffect)(()=>void y?.later?.then(E=>S([y,E])),[y]),(0,te.jsx)(so.Provider,{value:v?.[0]===y?v[1]:y,children:e})}var no=new WeakMap;function js(e){let t=no.get(e);return t||no.set(e,t=new Set(e.matched)),t}function Ui(){return(0,d.useContext)(so)}function ne(){let e=(0,d.useContext)(_e);if(!e)throw new Error("useGraview must be used inside a <GraviewProvider>.");return e}function Jt(){return(0,d.useContext)(_e)??null}function st(){let{store:e}=ne(),t=(0,d.useRef)(null),n=(0,d.useRef)(null),r=(0,d.useCallback)(()=>(n.current!==e&&(n.current=e,t.current=null),t.current??=e.graph.allNodes(),t.current),[e]),o=(0,d.useCallback)(i=>e.subscribe(()=>{t.current=null,i()}),[e]);return(0,d.useSyncExternalStore)(o,r,r)}function Yi(e){let{store:t}=ne(),n=(0,d.useCallback)(o=>t.subscribe(o),[t]),r=(0,d.useCallback)(()=>e===null?void 0:t.graph.getNode(e),[t,e]);return(0,d.useSyncExternalStore)(n,r,r)}function ro(e,t,n){let r=new Set(e.modules.disabledKinds);for(let o of e.kindsKeptFrom(t))r.add(o);for(let[o,i]of e.modules.administered)if(!(e.mayAdminister(o,t)&&(n??[]).includes(o)))for(let a of i.kinds??[])r.add(a);return r}var Zt=2600;var lo=new WeakSet,Zi=e=>lo.has(e),Xi=e=>void lo.add(e);function Xt(e,t){let n=ir(e.arrangement?.()?.first,t,e.places());if(!(!n||n.to==="home"))return n.to==="place"?{...fe,focusId:ee(n.place.kind),within:{view:n.place.as}}:{...fe,focusId:ee(n.kind)}}var uo=L(N(),1),Ji=(0,uo.createContext)(!1);var lt=Symbol.for("graview.default-view");function co(e){return Object.defineProperty(e,lt,{value:!0,enumerable:!1}),e}function fo(e){return typeof e=="function"&&e[lt]===!0}var dt=Symbol.for("graview.replaces-page");function po(e){return Object.defineProperty(e,dt,{value:!0,enumerable:!1}),e}function yo(e){return typeof e=="function"&&e[dt]===!0}var ut=Symbol.for("graview.bleeds");function mo(e){return Object.defineProperty(e,ut,{value:!0,enumerable:!1}),e}function go(e){return typeof e=="function"&&e[ut]===!0}var ct=Symbol.for("graview.previews");function ho(e,t={}){return Object.defineProperty(e,ct,{value:t,enumerable:!1}),e}function So(e){return typeof e=="function"?e[ct]:void 0}function Qi(e){return or(e)}function ea(e,t){if(t===e)return e;for(let o of t.registrations())e.register(o.kind,o,o.view,o);let n=t.arrangement?.();n&&e.arrange?.(n);let r=t.homeView?.();return r&&e.home?.(r),e}var M=L(N(),1),Z=L(Le(),1),Qt=new Set,ft=0;function en(e){return()=>{ft+=1;let t=e();return t.then(()=>void(ft-=1),()=>void(ft-=1)),t}}var ta=()=>ft,yt=(0,M.createContext)(null);function na(){return{waiting:new Map,at:0}}function ra(e){for(let[t,n]of e.waiting)n<e.at&&e.waiting.delete(t);e.at+=1}var oa=e=>e?.waiting.size??0;function bo(e,t){e?.waiting.set(t,e.at)}function xo(e){let t=(0,M.useContext)(yt);(0,M.useLayoutEffect)(()=>{t?.waiting.delete(e)},[t,e])}function ia(e){let t={},n=!1,r=new Set,o=(0,M.lazy)(en(()=>e().then(a=>{n=!0;let s=a.default;function l(c){return xo(t),(0,M.createElement)(s,c)}return{default:l}},a=>{for(let s of r)s.waiting.delete(t);throw a})));function i(a){let s=(0,M.useContext)(yt);return!n&&s&&(r.add(s),bo(s,t)),(0,M.createElement)(o,a)}return i}var Eo=!1,Po=!1,pt=new Set;function aa(){Eo=!0}function sa(){Po=!0;for(let e of[...pt])e();pt.clear()}var Ao=()=>Po||!Eo;function la(e){return Ao()?(e(),()=>{}):(pt.add(e),()=>void pt.delete(e))}var wo=!1;function tn(){for(let e of[...Qt])e()}function da(){wo||typeof window>"u"||(wo=!0,window.addEventListener("online",tn))}function nn(e){let t,n=!1,r=!1,o,i=0,a=new Set,s=()=>{i+=1;for(let p of[...a])p()},l=p=>(a.add(p),()=>void a.delete(p)),c=()=>i,u=()=>void m().catch(()=>{});function m(){if(n)return Promise.resolve(t);if(o)return o;let p=e().then(g=>(t=g,n=!0,r=!1,o=void 0,Qt.delete(u),s(),g),g=>{throw o=void 0,r=!0,Qt.add(u),da(),s(),g});return p.catch(()=>{}),o=p,p}return{load:m,prefetch:u,get current(){return t},get failed(){return r},part(p,g={}){let x=g.what??"This part",R={};function y(E){(0,M.useSyncExternalStore)(l,c,c),xo(R);let A=(0,M.useRef)(null),F=(0,M.useRef)(null),H=(0,M.useRef)(!1);return(0,M.useEffect)(()=>{r&&o===void 0&&u()},[]),n&&typeof document<"u"&&A.current!==null&&document.activeElement===A.current&&(H.current=!0),(0,M.useLayoutEffect)(()=>{if(!(!n||!H.current)){H.current=!1;for(let j=F.current?.nextElementSibling??null;j!==null;j=j.nextElementSibling){let b=j.matches(vo)?j:j.querySelector(vo);if(b instanceof HTMLElement){b.focus();return}}}}),n?(0,Z.jsxs)(Z.Fragment,{children:[H.current?(0,Z.jsx)("span",{ref:F,hidden:!0}):null,p(t,E)]}):g.quiet?null:(0,Z.jsx)(ua,{what:x,button:A,...g.as?{as:g.as}:{}})}let v=(0,M.lazy)(en(()=>m().then(()=>({default:y}),()=>({default:y}))));function S(E){let A=(0,M.useContext)(yt),[F]=(0,M.useState)(()=>n||r);return!n&&!r&&bo(A,R),(0,M.createElement)(F?y:v,E)}return S}}}var vo="button,a[href],input,select,textarea,[tabindex]:not([tabindex='-1'])";function ua({what:e,button:t,as:n="p"}){let o=typeof navigator<"u"&&navigator.onLine===!1?`${e} will load when you're back online.`:`${e} didn't load.`;return(0,Z.jsxs)(n,{"data-testid":"lazy-part-missing",style:{margin:0,fontSize:"0.875rem",color:"var(--graview-ink-muted)"},children:[(0,Z.jsx)("span",{role:"status",children:o})," ",(0,Z.jsx)("button",{ref:t,type:"button","data-testid":"lazy-part-retry",onClick:tn,style:{font:"inherit",fontWeight:600,color:"var(--graview-ink)",background:"none",border:"1px solid var(--graview-edge)",borderRadius:6,padding:"2px 10px"},children:"Try again"})]})}var Se=L(N(),1);function ca(){let{selection:e,setSelection:t}=ne();return(0,Se.useMemo)(()=>({selection:e,set:n=>t(n),clear:()=>t([]),toggle:n=>t(r=>r.includes(n)?r.filter(o=>o!==n):[...r,n]),isSelected:n=>e.includes(n)}),[e,t])}function fa(){let{store:e}=ne(),t=st();return(0,Se.useMemo)(()=>pa(e),[e,t])}var ko=new WeakMap;function pa(e){let t=ko.get(e);if(!t){let n={violations:null};e.subscribe(()=>{n.violations=null}),ko.set(e,n),t=n}return t.violations??=e.violations(),t.violations}function ya(){let{view:e,setView:t}=ne();return(0,Se.useMemo)(()=>({view:e,url:Q(e),focus:n=>t(r=>$(r,n)),show:n=>t(r=>ur(r,n)),toggle:n=>t(r=>Je(r,n)),go:n=>t(n)}),[e,t])}var he={at:0,depth:0,listeners:new Set,tell(){for(let e of this.listeners)e()}};typeof window<"u"&&window.addEventListener("popstate",e=>{let t=e.state;he.at=typeof t?.graview=="number"?t.graview:0,he.at>he.depth&&(he.depth=he.at),he.tell()});var G=L(N(),1),on={profile:{trigger:"profile-button",pane:"profile",opens:"press",focus:"into",drawn:["shell","embed"]},problems:{trigger:"standing",pane:"problems",opens:"press",focus:"into",drawn:["shell","embed"]},places:{trigger:"app-places-open",pane:"app-places",opens:"press",focus:"into",drawn:["embed"]},here:{trigger:"here-open",pane:"here-list",opens:"press",focus:"into",drawn:["shell","embed","pages"]},suggested:{trigger:"suggested-button",pane:"suggested",opens:"press",focus:"into",drawn:["shell","embed","pages"]},activity:{trigger:"activity-button",pane:"activity",opens:"press",focus:"into",drawn:["shell","embed","pages"]},find:{trigger:"find-box",pane:"find-strip",opens:"typing",focus:"stays",drawn:["shell"]},districts:{trigger:"beyond-more",pane:"beyond-list",opens:"press",focus:"into",drawn:["shell","embed"]},acts:{trigger:null,pane:"context-menu",opens:"context-menu",focus:"into",drawn:["shell","embed","pages"]},arrange:{trigger:"arrange-add",pane:"arrange-list",opens:"press",focus:"into",drawn:["pages"]},"studio-ask":{trigger:"studio-agent",pane:"studio-agent-panel",opens:"press",focus:"into",drawn:["studio"]}},ma={position:"fixed",inset:"auto",margin:0,zIndex:Qn("popover"),boxSizing:"border-box"},mt=6,we=8,ga=e=>typeof e.showPopover=="function";function gt(e){try{return e.matches(":popover-open")}catch{return!1}}function ha(e){if(typeof e=="function"){let r=e();return r?{left:r.x,right:r.x,top:r.y,bottom:r.y}:null}let t=e.current;if(!t||!t.isConnected)return null;let n=t.getBoundingClientRect();return{left:n.left,right:n.right,top:n.top,bottom:n.bottom}}function an(e,t,n={}){let r=ha(t);if(!r)return;let o={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},i=e.dataset.graviewDesignedHeight??=e.style.maxHeight;e.style.maxHeight=i;let a=e.getBoundingClientRect(),s=o.height-r.bottom-mt-we,l=r.top-mt-we,c=a.height<=s||s>=l,u=Math.max(96,Math.floor(c?s:l)),m=Math.min(a.height,u);a.height>u&&(e.style.maxHeight=i?`min(${i}, ${u}px)`:`${u}px`);let p=a.width,g=n.align==="start"?r.left:r.right-p,x=typeof t=="function"?null:t.current?.closest("[data-graview-embed]")?.getBoundingClientRect();x&&p<=x.right-x.left&&(g<x.left?g=r.left+p<=x.right?r.left:x.left:g+p>x.right&&(g=r.right-p>=x.left?r.right-p:x.right-p));let R=p>=o.width-2*we?Math.max(0,(o.width-p)/2):Math.max(we,Math.min(g,o.width-we-p)),y=c?r.bottom+mt:Math.max(we,r.top-mt-m);e.style.left=`${Math.round(R)}px`,e.style.top=`${Math.round(y)}px`}function Ro(e,t,n,r={}){let o=r.align??"end";(0,G.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;if(ga(i)&&!gt(i))try{i.showPopover(),wa()}catch{}let a=0,s=c=>{c?.target instanceof Node&&i.contains(c.target)||(cancelAnimationFrame(a),a=requestAnimationFrame(()=>an(i,n,{align:o})))};an(i,n,{align:o}),addEventListener("resize",s),addEventListener("scroll",s,!0);let l=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>s());return l?.observe(i),()=>{if(cancelAnimationFrame(a),removeEventListener("resize",s),removeEventListener("scroll",s,!0),l?.disconnect(),i.isConnected&&gt(i))try{i.hidePopover()}catch{}}},[t,e,o])}var sn=new Set;function Sa(e){return sn.add(e),()=>sn.delete(e)}function wa(){for(let e of sn)if(!(!e.isConnected||!gt(e)))try{e.hidePopover(),e.showPopover()}catch{}}var ve=null,va='button:not([disabled]), [href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])';function ba(e){for(let t of e.querySelectorAll(va))if(t.closest("[hidden]")===null&&getComputedStyle(t).visibility!=="hidden")return t;return e}var rn=()=>{let e=document.activeElement;return e===null||e===document.body};function xa(e,t={}){let{at:n,returnTo:r,onOpenChange:o}=t,i=t.popover!==!1,[a,s]=(0,G.useState)(!1),l=t.open??a,c=(0,G.useRef)(null),u=(0,G.useRef)(null),m=(0,G.useCallback)(S=>{c.current=S},[]),p=(0,G.useCallback)(S=>{u.current=S},[]),g=`graview-popover-${(0,G.useId)().replace(/:/g,"")}`,x=(0,G.useRef)({onOpenChange:o,returnTo:r,controlled:t.open!==void 0});x.current={onOpenChange:o,returnTo:r,controlled:t.open!==void 0};let R=(0,G.useCallback)(S=>{x.current.controlled||s(S),x.current.onOpenChange?.(S)},[]),y=(0,G.useCallback)(()=>{(document.querySelector(`[aria-controls="${g}"]`)??c.current??x.current.returnTo?.()??null)?.focus({preventScroll:!0})},[g]),v=(0,G.useCallback)(S=>{let E=u.current,A=typeof document>"u"?null:document.activeElement,F=A===null||A===document.body||E!==null&&E.contains(A);R(!1),!(!S||!F)&&(y(),requestAnimationFrame(()=>{rn()&&y()}))},[R,y]);return Ro(u,i&&l,n??c,t.align?{align:t.align}:{}),(0,G.useEffect)(()=>{if(!i||!l)return;let S={name:e,close:()=>v(!1)};if(ve&&ve.close!==S.close&&ve.close(),ve=S,on[e].focus==="into"){let b=u.current;b&&!b.contains(document.activeElement)&&ba(b).focus({preventScroll:!0})}let E=b=>{b.key==="Escape"&&v(!0)},A=b=>{let V=b.target;if(!(V instanceof Node))return;let I=u.current;if(I?.contains(V)||c.current?.contains(V))return;let W=V instanceof Element?V.closest('[role="dialog"], [role="alertdialog"]'):null;W&&!(I&&W.contains(I))||(v(!1),on[e].focus==="into"&&requestAnimationFrame(()=>{(rn()||I!==null&&I.contains(document.activeElement))&&y()}))},F=null,H=null,j=b=>{let V=b.target;if(!(V instanceof Element))return;let I=u.current,W=V.closest('[role="dialog"], [role="alertdialog"]');!W||I&&(I.contains(W)||W.contains(I))||(F=W,v(!1))};return document.addEventListener("keydown",E),document.addEventListener("pointerdown",A,!0),document.addEventListener("focusin",j),()=>{document.removeEventListener("keydown",E),document.removeEventListener("pointerdown",A,!0),document.removeEventListener("focusin",j);let b=F;b&&typeof MutationObserver<"u"&&(H?.disconnect(),H=new MutationObserver(()=>{b.isConnected||(H?.disconnect(),requestAnimationFrame(()=>{(rn()||document.activeElement.closest("[hidden]")!==null)&&y()}))}),H.observe(document.body,{childList:!0,subtree:!0}),setTimeout(()=>H?.disconnect(),10*6e4)),ve?.close===S.close&&(ve=null)}},[i,l,e,v,y]),{open:l,setOpen:S=>S?R(!0):v(!0),toggle:()=>l?v(!0):R(!0),trigger:{ref:m,"aria-expanded":l,"aria-controls":g,"data-graview-popover-trigger":e},pane:{ref:p,id:g,popover:"manual",tabIndex:-1,"data-graview-popover":e,"data-graview-overlay":""}}}var be=L(N(),1);var To=(0,be.createContext)(null);function Ea(){let e=(0,be.useContext)(To),t=Jt(),n=(r,o,i)=>t?.setView(a=>se(se(pe($(a,ee(r)),!1),"view",o),"filter",i?.filter??null));return(0,be.useMemo)(()=>e??{record:r=>{t&&(t.setView(o=>$(pe(o,!1),r)),t.setSelection([r]))},place:(r,o)=>{let i=t?.views.places().find(a=>a.as===r);i&&n(i.kind,i.as,o)},list:(r,o)=>n(r,null,o)},[e,t])}var xe=L(N(),1);var Pa=nn($e(()=>(__graviewPreload(import.meta.url,["./chunk.TMYGLXR6.js","./chunk.SDO3U72B.js","./chunk.P4CLT32V.js","./chunk.SLBWPVIY.js","./chunk.AJZBJBMO.js"]),import("./chunk.AZOW57MT.js"))));function Aa(e,t,n){let r,o=!1,i=()=>{let{hidden:s,removed:l}=t.current();r||o||s.length+l.length===0||(r=()=>{},Pa.load().then(c=>{o||(r=c.watchTidied(e,t,n))},String))};i();let a=t.onChange?.(i);return()=>{o=!0,a?.(),r?.()}}function ka(e,t){let[n,r]=(0,xe.useState)();return(0,xe.useEffect)(()=>t?Aa(e,t,o=>r([e,o])):void 0,[e,t]),n?.[0]===e?n[1]:e}var Mo=L(N(),1),Ra=(0,Mo.createContext)(!1);var ln=L(N(),1),Ta=(0,ln.createContext)(null),Ma=(0,ln.createContext)(null);var Co=L(N(),1),Ca=(0,Co.createContext)(null);var Oo=L(N(),1),dn='button:not([disabled]), a[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])',un=e=>e instanceof HTMLElement&&(e.matches(dn)||e.hasAttribute("tabindex")),He=e=>typeof e.checkVisibility=="function"?e.checkVisibility():e.getClientRects().length>0;function Oa(e,t){let n=l=>l.replace(/["\\]/g,"\\$&"),r=t.getAttribute("data-testid"),o=t.getAttribute("data-graview-pick"),i=t.getAttribute("aria-label"),a=r?`[data-testid="${n(r)}"]`:o?`[data-graview-pick="${n(o)}"]`:i?`${t.tagName.toLowerCase()}[aria-label="${n(i)}"]`:null;if(!a)return null;let s=e.querySelector(a);return s&&un(s)&&He(s)?s:null}var Va=e=>e.isConnected&&un(e)&&!e.matches(":disabled")&&e instanceof HTMLElement&&He(e);function Vo(e,t){let n=t?Oa(e,t):null;if(n)return n;let r=e.querySelector("[data-graview-view][tabindex]");if(r&&He(r))return r;for(let o of e.querySelectorAll(dn))if(He(o))return o;return un(e)&&He(e)?e:null}function Ia(e){(0,Oo.useEffect)(()=>{let t=e.current;if(!t||typeof MutationObserver>"u")return;let n=[],r=y=>{let v=y.target;if(v instanceof Element){n=[];for(let S=v;S&&S!==t.parentElement;S=S.parentElement)n.push(S)}},o=!1,i=!1,a=t.ownerDocument,s=()=>!i&&a.defaultView!==null,l=(y,v)=>void setTimeout(()=>s()&&v(),y),c=y=>void requestAnimationFrame(()=>s()&&y()),u=y=>{if(o=!1,i)return;let v=a.activeElement;if(!(!(v===null||v===a.body||v===a.documentElement)||n.length===0)){if(Va(n[0])){y&&n[0]instanceof HTMLElement&&n[0].focus({preventScroll:!0});return}for(let E of n.slice(1)){if(!E.isConnected)continue;let A=Vo(E,n[0]);if(A){A.focus({preventScroll:!0}),n=[];return}}}},m=(y,v=Date.now()+2500)=>{l(100,()=>{u(y);let S=a.activeElement;(S===null||S===a.body||S===a.documentElement)&&n.length>0&&Date.now()<v&&m(y,v)})},p=()=>{o||n.length===0||(o=!0,l(60,()=>c(()=>{u(!1),m(!1)})))},g=y=>{if(!(y instanceof KeyboardEvent&&!["Enter"," ","Escape"].includes(y.key))){if(!(y instanceof KeyboardEvent)){let v=y.target instanceof Element?y.target.closest(dn):null,S=a.activeElement,E=S===null||S===a.body||S===a.documentElement;if(v&&E&&t.contains(v)){n=[];for(let A=v;A&&A!==t.parentElement;A=A.parentElement)n.push(A);l(150,()=>c(()=>{u(!1),m(!1)}));return}}!(y instanceof KeyboardEvent)&&!(y.target instanceof Node&&n[0]?.contains(y.target))||l(150,()=>c(()=>{u(!0),m(!0)}))}},x=new MutationObserver(()=>{n.length>0&&!n[0].isConnected&&p()}),R=y=>{y.relatedTarget===null&&p()};return t.addEventListener("focusin",r),t.addEventListener("focusout",R),t.addEventListener("click",g),t.addEventListener("keydown",g),x.observe(t,{childList:!0,subtree:!0}),()=>{i=!0,t.removeEventListener("focusin",r),t.removeEventListener("focusout",R),t.removeEventListener("click",g),t.removeEventListener("keydown",g),x.disconnect()}},[e])}export{fe as a,Q as b,Ze as c,_a as d,Ha as e,lr as f,sr as g,dr as h,kt as i,$ as j,ur as k,se as l,pe as m,Xe as n,Ve as o,Je as p,et as q,Rt as r,ye as s,ja as t,Uo as u,ee as v,cr as w,le as x,fr as y,Yo as z,Wa as A,pr as B,Tt as C,Zo as D,Xo as E,Jo as F,N as G,Nt as H,Si as I,vi as J,Or as K,rt as L,bi as M,Ie as N,Ir as O,xi as P,Wt as Q,Gt as R,Ft as S,Le as T,Li as U,_i as V,Hi as W,ao as X,Fi as Y,Bi as Z,js as _,Ui as $,ne as aa,Jt as ba,st as ca,Yi as da,Zi as ea,Xi as fa,Xt as ga,To as ha,Ea as ia,Ji as ja,co as ka,fo as la,po as ma,yo as na,mo as oa,go as pa,ho as qa,So as ra,Qi as sa,ea as ta,en as ua,ta as va,yt as wa,na as xa,ra as ya,oa as za,ia as Aa,aa as Ba,sa as Ca,Ao as Da,la as Ea,nn as Fa,ka as Ga,Ra as Ha,Ta as Ia,Ma as Ja,Ca as Ka,ca as La,fa as Ma,ya as Na,he as Oa,Ia as Pa,ma as Qa,gt as Ra,Ro as Sa,Sa as Ta,xa as Ua};
2
+ /*! Bundled license information:
3
+
4
+ react/cjs/react.production.js:
5
+ (**
6
+ * @license React
7
+ * react.production.js
8
+ *
9
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
10
+ *
11
+ * This source code is licensed under the MIT license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *)
14
+
15
+ react/cjs/react-jsx-runtime.production.js:
16
+ (**
17
+ * @license React
18
+ * react-jsx-runtime.production.js
19
+ *
20
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ *)
25
+ */
@@ -1 +1 @@
1
- import{G as T}from"./chunk.TM6JVVGW.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=g(T(),1),m="data-graview-roving",E="data-graview-roving-item",L={ArrowDown:{column:1,both:1},ArrowUp:{column:-1,both:-1},ArrowRight:{column:0,both:1},ArrowLeft:{column:0,both:-1}},w=e=>e instanceof HTMLElement&&(e.isContentEditable||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLInputElement&&!["button","checkbox","radio","submit"].includes(e.type));function p(e){return[...e.querySelectorAll(`[${E}]`)].filter(c=>c.closest(`[${m}]`)===e&&!c.disabled&&c.getAttribute("aria-hidden")!=="true")}var M=e=>(e.textContent?.trim()||e.getAttribute("aria-label")||"").toLowerCase();function H({flow:e="column",letters:c=!1}={}){let a=(0,s.useRef)(null),i=(0,s.useRef)(null),f=(0,s.useCallback)(()=>{let t=a.current;if(!t)return;let n=p(t);if(n.length===0)return;let o=typeof document>"u"?null:document.activeElement,u=n.find(r=>r===o)??(i.current&&n.includes(i.current)?i.current:n[0]);for(let r of n){let l=r===u?"0":"-1";r.getAttribute("tabindex")!==l&&r.setAttribute("tabindex",l)}},[]);(0,s.useLayoutEffect)(f);let d=t=>{t&&(i.current=t,t.focus(),f())};return{ref:a,[m]:c?"letters":"",onFocus:t=>{let n=t.target.closest?.(`[${E}]`);n&&n.closest(`[${m}]`)===a.current&&i.current!==n&&(i.current=n,f())},onKeyDown:t=>{let n=a.current;if(!n||t.metaKey||t.ctrlKey||t.altKey||w(t.target))return;let o=p(n),u=o.findIndex(l=>l===t.target||l.contains(t.target));if(u<0)return;let r=L[t.key]?.[e];if(r){t.preventDefault(),t.stopPropagation(),d(o[Math.max(0,Math.min(o.length-1,u+r))]);return}if(t.key==="Home"||t.key==="End"){t.preventDefault(),t.stopPropagation(),d(t.key==="Home"?o[0]:o[o.length-1]);return}if(c&&t.key.length===1&&t.key.trim()!==""){let l=t.key.toLowerCase(),y=[...o.slice(u+1),...o.slice(0,u+1)].find(b=>M(b).startsWith(l));if(!y)return;t.preventDefault(),t.stopPropagation(),d(y)}}}}export{E as a,H as b};
1
+ import{G as T}from"./chunk.TMYGLXR6.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=g(T(),1),m="data-graview-roving",E="data-graview-roving-item",L={ArrowDown:{column:1,both:1},ArrowUp:{column:-1,both:-1},ArrowRight:{column:0,both:1},ArrowLeft:{column:0,both:-1}},w=e=>e instanceof HTMLElement&&(e.isContentEditable||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLInputElement&&!["button","checkbox","radio","submit"].includes(e.type));function p(e){return[...e.querySelectorAll(`[${E}]`)].filter(c=>c.closest(`[${m}]`)===e&&!c.disabled&&c.getAttribute("aria-hidden")!=="true")}var M=e=>(e.textContent?.trim()||e.getAttribute("aria-label")||"").toLowerCase();function H({flow:e="column",letters:c=!1}={}){let a=(0,s.useRef)(null),i=(0,s.useRef)(null),f=(0,s.useCallback)(()=>{let t=a.current;if(!t)return;let n=p(t);if(n.length===0)return;let o=typeof document>"u"?null:document.activeElement,u=n.find(r=>r===o)??(i.current&&n.includes(i.current)?i.current:n[0]);for(let r of n){let l=r===u?"0":"-1";r.getAttribute("tabindex")!==l&&r.setAttribute("tabindex",l)}},[]);(0,s.useLayoutEffect)(f);let d=t=>{t&&(i.current=t,t.focus(),f())};return{ref:a,[m]:c?"letters":"",onFocus:t=>{let n=t.target.closest?.(`[${E}]`);n&&n.closest(`[${m}]`)===a.current&&i.current!==n&&(i.current=n,f())},onKeyDown:t=>{let n=a.current;if(!n||t.metaKey||t.ctrlKey||t.altKey||w(t.target))return;let o=p(n),u=o.findIndex(l=>l===t.target||l.contains(t.target));if(u<0)return;let r=L[t.key]?.[e];if(r){t.preventDefault(),t.stopPropagation(),d(o[Math.max(0,Math.min(o.length-1,u+r))]);return}if(t.key==="Home"||t.key==="End"){t.preventDefault(),t.stopPropagation(),d(t.key==="Home"?o[0]:o[o.length-1]);return}if(c&&t.key.length===1&&t.key.trim()!==""){let l=t.key.toLowerCase(),y=[...o.slice(u+1),...o.slice(0,u+1)].find(b=>M(b).startsWith(l));if(!y)return;t.preventDefault(),t.stopPropagation(),d(y)}}}}export{E as a,H as b};
@@ -1 +1 @@
1
- import{G as b,R as d}from"./chunk.TM6JVVGW.js";import{xd as f}from"./chunk.PFEKS3KO.js";import{b as i}from"./chunk.AJZBJBMO.js";var a=i(b(),1);var t=i(d(),1),w={textDecorationLine:"underline",textDecorationColor:"color-mix(in srgb, currentColor 50%, transparent)",textDecorationThickness:1,textUnderlineOffset:"0.2em"};function g({children:e,mark:r="\u2192"}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:w,children:e}),(0,t.jsx)("span",{"aria-hidden":"true",children:r})]})}var n=i(d(),1);function P({context:e,stop:r,title:o,label:s,style:p,className:l,children:m,...y}){let c=f(e.views?.arrangement?.()),S=m??(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(g,{mark:"\u2197",children:["In ",c==="Scene"?"the scene":c.replace(/^The /,"the ")]})}),u=s?{"aria-label":s}:{};if(e.overview){let h=e.overview;return(0,n.jsx)("a",{href:r,...y,...u,...o?{title:o}:{},style:p,...l?{className:l}:{},onClick:v=>{v.preventDefault(),h(r)},children:S})}return e.embedded?null:(0,n.jsx)("a",{href:`${e.sceneHref??"/"}${r}`,...y,...u,...o?{title:o}:{},style:p,...l?{className:l}:{},children:S})}function k(){return(0,n.jsx)("a",{href:"#fresh","data-testid":"start-fresh",title:"Forget every edit made in this browser and return to the example",onClick:e=>{e.preventDefault();let r=new URL(window.location.href);r.searchParams.set("fresh","1"),window.location.assign(r.toString())},style:{color:"inherit",display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24},children:"Start fresh"})}function A(e){let r=(0,a.useRef)(0),o=(0,a.useCallback)(s=>e.subscribe(()=>{r.current+=1,s()}),[e]);return(0,a.useSyncExternalStore)(o,()=>r.current,()=>0)}function L(e){return e===void 0?{}:e==="sm"||e==="md"?{"data-size":e}:{style:{"--graview-control-height":typeof e=="number"?`${e}px`:e}}}var D=(e,r)=>r?`${e} ${r}`:e;export{g as a,P as b,k as c,A as d,L as e,D as f};
1
+ import{G as w,T as d}from"./chunk.TMYGLXR6.js";import{Fd as m}from"./chunk.P4CLT32V.js";import{b as i}from"./chunk.AJZBJBMO.js";var a=i(w(),1);var t=i(d(),1),b={textDecorationLine:"underline",textDecorationColor:"color-mix(in srgb, currentColor 50%, transparent)",textDecorationThickness:1,textUnderlineOffset:"0.2em"};function f({children:e,mark:r="\u2192"}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{style:b,children:e}),(0,t.jsx)("span",{"aria-hidden":"true",children:r})]})}var n=i(d(),1);function R({context:e,stop:r,title:o,label:s,style:y,className:l,children:g,...p}){let c=m(e.views?.arrangement?.()),S=g??(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(f,{mark:"\u2197",children:["In ",c==="Scene"?"the scene":c.replace(/^The /,"the ")]})}),u=s?{"aria-label":s}:{};if(e.overview){let h=e.overview;return(0,n.jsx)("a",{href:r,...p,...u,...o?{title:o}:{},style:y,...l?{className:l}:{},onClick:v=>{v.preventDefault(),h(r)},children:S})}return e.embedded?null:(0,n.jsx)("a",{href:`${e.sceneHref??"/"}${r}`,...p,...u,...o?{title:o}:{},style:y,...l?{className:l}:{},children:S})}function P(){return(0,n.jsx)("a",{href:"#fresh","data-testid":"start-fresh",title:"Forget every edit made in this browser and return to the example",onClick:e=>{e.preventDefault();let r=new URL(window.location.href);r.searchParams.set("fresh","1"),window.location.assign(r.toString())},style:{color:"inherit",display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24},children:"Start fresh"})}function k(e){let r=(0,a.useRef)(0),o=(0,a.useCallback)(s=>e.subscribe(()=>{r.current+=1,s()}),[e]);return(0,a.useSyncExternalStore)(o,()=>r.current,()=>0)}function L(e){return e===void 0?{}:e==="sm"||e==="md"?{"data-size":e}:{style:{"--graview-control-height":typeof e=="number"?`${e}px`:e}}}var D=(e,r)=>r?`${e} ${r}`:e;export{f as a,R as b,P as c,k as d,L as e,D as f};
@@ -1 +1 @@
1
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk.H42WBU5C.js";import"./chunk.PXQVXBNG.js";import"./chunk.G446PWV6.js";import"./chunk.PFEKS3KO.js";import"./chunk.2AZTW66C.js";import"./chunk.AJZBJBMO.js";export{g as createLinks,f as judgeDestination,e as listsOf,c as nowhere,a as placesSaid,b as quoted,d as whereOfWords};
1
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk.UVAWWCFW.js";import"./chunk.PXQVXBNG.js";import"./chunk.G446PWV6.js";import"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import"./chunk.AJZBJBMO.js";export{g as createLinks,f as judgeDestination,e as listsOf,c as nowhere,a as placesSaid,b as quoted,d as whereOfWords};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk.EA2NMVRE.js";import"./chunk.G4JJXA63.js";import"./chunk.3H7YIKKC.js";import"./chunk.ET3XJDPX.js";import"./chunk.3MU37W5D.js";import"./chunk.XOZU4OFA.js";import"./chunk.Z7N3MJ36.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.JBR66TUP.js";import"./chunk.76QSPWSJ.js";import"./chunk.HVX7LFWR.js";import"./chunk.WVUJXDXZ.js";import"./chunk.GLTWLQ6L.js";import"./chunk.ACB4TD4W.js";import"./chunk.XCQ7ZPR5.js";import"./chunk.MY5OXSS7.js";import"./chunk.NVRK6A7T.js";import"./chunk.FKJ3HIA5.js";import"./chunk.VICCAWAN.js";import"./chunk.OU5TRY4N.js";import"./chunk.CQPNDJAC.js";import"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import"./chunk.AJZBJBMO.js";export{i as draftAnswer,h as draftFromLens,b as draftSight,l as draftView,a as isDraftFailure,c as judgeLens,d as lensEditOf,f as lensFromSpec,j as recipeDraft,g as recipeOfLens,m as refineDraft,o as runDraftTool,e as takeBackEditOf,k as templateDraft,n as withReaderLenses};
@@ -1 +1 @@
1
- import"./chunk.A7HMVWMG.js";import"./chunk.GRLPNTUW.js";import{b as m}from"./chunk.EJAVIZ7Y.js";import"./chunk.423SZS7C.js";import{R as p}from"./chunk.TM6JVVGW.js";import"./chunk.SDO3U72B.js";import{U as l}from"./chunk.PFEKS3KO.js";import"./chunk.2AZTW66C.js";import{b as f}from"./chunk.AJZBJBMO.js";var a=f(p(),1);function N({states:e,definition:v}){let s=e.values.reduce((t,n)=>t+n.count,0),u=t=>t===null?"with none":m(v,e.field,t).toLowerCase(),c=e.values.filter(t=>t.count>0).map(t=>`${l(t.count)} ${u(t.value)}`).join(", ");return s===0?null:(0,a.jsx)("div",{className:"graview-district-states",role:"img","aria-label":c,title:c,children:e.values.map((t,n)=>{if(t.count===0)return null;let y=e.values.filter(r=>r.count>0).length,w=t.count/s*(168-(y-1)),o=l(t.count),i=`${o} ${u(t.value)}`,d=r=>r.length*6.2+8<=w;return(0,a.jsx)("span",{"data-graview-tier":t.tier,style:{flexGrow:t.count},title:i,children:d(i)?i:d(o)?o:""},n)})})}export{N as StatesBar};
1
+ import"./chunk.VICCAWAN.js";import"./chunk.OU5TRY4N.js";import{b as m}from"./chunk.CQPNDJAC.js";import"./chunk.GYTVL6GR.js";import{T as p}from"./chunk.TMYGLXR6.js";import"./chunk.SDO3U72B.js";import{U as l}from"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import{b as f}from"./chunk.AJZBJBMO.js";var a=f(p(),1);function N({states:e,definition:v}){let s=e.values.reduce((t,n)=>t+n.count,0),u=t=>t===null?"with none":m(v,e.field,t).toLowerCase(),c=e.values.filter(t=>t.count>0).map(t=>`${l(t.count)} ${u(t.value)}`).join(", ");return s===0?null:(0,a.jsx)("div",{className:"graview-district-states",role:"img","aria-label":c,title:c,children:e.values.map((t,n)=>{if(t.count===0)return null;let y=e.values.filter(r=>r.count>0).length,w=t.count/s*(168-(y-1)),o=l(t.count),i=`${o} ${u(t.value)}`,d=r=>r.length*6.2+8<=w;return(0,a.jsx)("span",{"data-graview-tier":t.tier,style:{flexGrow:t.count},title:i,children:d(i)?i:d(o)?o:""},n)})})}export{N as StatesBar};
@@ -1 +1 @@
1
- import{e as a}from"./chunk.AGVFW6WC.js";import{l as i}from"./chunk.TM6JVVGW.js";import{md as o}from"./chunk.PFEKS3KO.js";function p(t){let r=t.within??{};return o({...r.sort?{sort:r.sort}:{},...r.filter?{filter:r.filter}:{},...r.group?{group:r.group}:{},...r.q?{q:r.q}:{},...r.archived?{archived:r.archived}:{}})}function c(t,r){let m=a(r),e=t;for(let n of["sort","filter","group","q","archived"])e=i(e,n,m[n]??null);return e}export{p as a,c as b};
1
+ import{e as a}from"./chunk.2VJ52LGS.js";import{l as i}from"./chunk.TMYGLXR6.js";import{ud as o}from"./chunk.P4CLT32V.js";function p(t){let r=t.within??{};return o({...r.sort?{sort:r.sort}:{},...r.filter?{filter:r.filter}:{},...r.group?{group:r.group}:{},...r.q?{q:r.q}:{},...r.archived?{archived:r.archived}:{}})}function c(t,r){let m=a(r),e=t;for(let n of["sort","filter","group","q","archived"])e=i(e,n,m[n]??null);return e}export{p as a,c as b};
@@ -1 +1 @@
1
- import{a as D}from"./chunk.PXQVXBNG.js";import{a as L,f as P,g as N,h as R}from"./chunk.G446PWV6.js";import{gd as E}from"./chunk.PFEKS3KO.js";var z=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),T=e=>e?._zod?.def;function W(e){let n=T(e);for(;n&&(n.type==="optional"||n.type==="default"||n.type==="nullable"||n.type==="prefault");)n=T(n.innerType);return n}function K(e){if(e?.type==="boolean")return["true","false"];if(e?.type==="enum")return(e.entries?Object.values(e.entries):e.values??[]).filter(n=>typeof n=="string")}var v=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]/g," ").replace(/^./,n=>n.toUpperCase());function J(e,n,i){let a=e.tryDefinition(n);if(!a)return[];let c=new Set(a.display?.hide??[]),r=[];for(let[s,l]of Object.entries(a.fields.shape??{})){if(s==="id"||s==="kind"||s==="label"||c.has(s))continue;let o=W(l);if(o?.type==="array"||o?.type==="object"||o?.type==="record")continue;let u=K(o);r.push({key:s,label:v(s),...u?{options:u}:{}})}let y=new Map;for(let[s,l]of Object.entries(a.edges??{}))y.set(s,l.to==="*"?[]:[...l.to]);for(let s of e.definitions)if(s.kind!==n)for(let[l,o]of Object.entries(s.edges??{}))!y.has(l)&&(o.to==="*"||o.to.includes(n))&&y.set(l,[s.kind]);let g=[];for(let[s,l]of y){r.push({key:s,label:v(s)});let o=i&&l.length===1&&l[0]!==n?e.tryDefinition(l[0]):void 0;for(let[u,f]of Object.entries(o?.fields.shape??{})){let p=W(f);p?.type==="enum"&&!o?.display?.hide?.includes(u)&&g.push({key:`${s}.${u}`,label:`${v(s)} \xB7 ${v(u)}`,options:K(p)})}}return r.push(...g),r.push({key:"is",label:"Is",options:a.lifecycle?["current","past","any","flagged","clear"]:["flagged","clear"]}),r}var I=e=>e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;function G(e,n,i,a={}){if(i==null)return{ok:!0};if(!z(i))return{ok:!1,says:'A filter is an object of a field and the value it keeps, like { where: { stage: "building" } }.'};let c=Object.entries(i);if(c.length===0)return{ok:!0};let r=[];for(let l of n)for(let o of J(e,l,a.through===!0))r.some(u=>u.key===o.key)||r.push(o);let y=n[0]?e.tryDefinition(n[0]):void 0,g=y?y.plural??`${v(y.kind)}s`:"These",s=[];for(let[l,o]of c){let u=r.find(p=>p.key===l);if(!u)return{ok:!1,says:`${g.replace(/^./,p=>p.toUpperCase())} have no field "${l}" to filter by${r.length>0?`; they filter by ${I(r.map(p=>p.key))}`:""}.`};if(typeof o!="string"&&typeof o!="number"&&typeof o!="boolean")return{ok:!1,says:`The filter on "${l}" is ${Array.isArray(o)?"a list":o===null?"null":`a ${typeof o}`}; it keeps one value: a word, a number, or true or false.`};let f=String(o);if(f.trim().length===0)return{ok:!1,says:`The filter on "${l}" keeps nothing; give it a value, or leave "${l}" out.`};if(f.includes(","))return{ok:!1,says:`The filter on "${l}" holds a comma, which an address reads as a second filter; keep one value.`};if(u.options&&u.options.length>0&&!u.options.includes(f))return{ok:!1,says:`${u.label} has no choice "${f}"; its choices are ${I(u.options.map(p=>`"${p}"`))}.`};s.push(`${l}:${f}`)}return{ok:!0,filter:s.join(",")}}var C=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");function q(e,n){let i=e.find(r=>r.as===n);if(i)return i;let a=n.trim().toLowerCase(),c=C(n);return e.find(r=>r.title!==void 0&&r.title.trim().toLowerCase()===a)??(c?e.find(r=>r.as===c||r.title!==void 0&&C(r.title)===c):void 0)}function Z(e){let n=[];for(let i of e){if(typeof i!="object"||i===null)continue;let{as:a,slug:c,title:r,kind:y}=i,g=typeof a=="string"&&a.length>0?a:typeof c=="string"&&c.length>0?c:void 0;!g||n.some(s=>s.as===g)||n.push({as:g,title:typeof r=="string"?r:g,kind:typeof y=="string"?y:""})}return n}var F=e=>` Its places: ${e.map(n=>typeof n=="string"?`"${n}"`:n.title&&n.title!==n.as?`"${n.as}" (${n.title})`:`"${n.as}"`).join(", ")||"none"}.`;var b=e=>`"${e.length>80?`${e.slice(0,79)}\u2026`:e}"`,O=(e,n)=>`${"place"in e?`The place ${b(e.place)}`:`${b(e.record)} is no record this viewer may see and`} is no place of this app: it goes nowhere.${F(n)}`;function S(e){let n={};for(let i of e.split(",")){let a=i.indexOf(":");a>0&&(n[i.slice(0,a).trim()]=i.slice(a+1).trim())}return n}function ne(e,n=new Set){return e.kinds.filter(i=>!n.has(i)).map(i=>({slug:E(e,i).slice(1),kind:i}))}function U(e,n){let i=[...new Set(n.places.map(f=>f.as))],a=n.lists.map(f=>f.slug).filter(f=>!i.includes(f)),c;if(e.section!==void 0&&e.section!==null){if(typeof e.section!="string"||D(e.section).length===0||e.section.length>120)return{ok:!1,says:`The section ${typeof e.section=="string"?b(e.section):"asked for"} names nothing on a page: a section is a heading's words or an element's id, like "shipping-soon". It goes nowhere.`};c=e.section}let r=c!==void 0?{section:c}:{};if("record"in e&&n.sees(e.record))return e.where!==void 0&&e.where!==null?{ok:!1,says:`${b(e.record)} is one record, and a filter narrows a list or a place: it goes nowhere. Go to { place, where } for a list narrowed.`}:{ok:!0,arrival:{record:e.record,...r}};let y="place"in e?e.place:e.record,g=q(n.places,y),s=g?void 0:n.lists.find(f=>f.slug===y||f.kind===y);if(!g&&!s)return{ok:!1,says:`${O(e,n.places.filter((f,p,m)=>m.findIndex(t=>t.as===f.as)===p))}${_(a)}`};let l=g?[g.kind]:[s.kind],o;if(e.where!==void 0&&e.where!==null){if(!n.schema)return{ok:!1,says:`The place ${b(y)} cannot be narrowed here: it goes nowhere.`};let f=G(n.schema,l,e.where,{through:s!==void 0});if(!f.ok)return{ok:!1,says:`The filter on ${b(y)} goes nowhere: ${f.says}`};o=f.filter}let u=o?{filter:o}:{};return{ok:!0,arrival:g?{place:g.as,...u,...r}:{list:s.kind,...u,...r}}}var _=e=>e.length===0?"":` Its lists: ${e.slice(0,8).map(n=>`"${n}"`).join(", ")}${e.length>8?` and ${e.length-8} more`:""}.`,M="http://www.w3.org/1999/xhtml",V=e=>{let n=e;return n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||e.type==="click"&&typeof n.button=="number"&&n.button!==0};function re(e){let n=new WeakSet,i=new WeakSet,a=new WeakMap,c=new WeakMap,r=t=>U(t,{sees:e.sees,places:e.places(),lists:e.lists?.()??[],...e.schema?{schema:e.schema}:{}}),y=t=>{let d=r(t);return d.ok?e.onNavigate?.(d.arrival):e.onLost?.(d.says),d.ok},g=t=>{let d=t.getAttribute("data-record"),h=t.getAttribute("data-place"),k=t.getAttribute("data-filter"),w=t.getAttribute("data-section"),$={...k?{where:S(k)}:{},...w?{section:w}:{}};if(d)return{record:d,...$};if(h)return{place:h,...$}},s=t=>{if(!e.hrefOf)return;let d=g(t),h=d?r(d):void 0;return h?.ok?e.hrefOf(h.arrival):void 0},l=t=>t.hasAttribute("tabindex")?!1:(t.setAttribute("tabindex","0"),n.add(t),!0),o=t=>{n.delete(t)&&t.removeAttribute("tabindex")},u=t=>{i.delete(t)&&t.getAttribute("role")==="link"&&t.removeAttribute("role")},f=t=>{let d=a.get(t);d&&(a.delete(t),t.getAttribute("href")===d.href&&t.removeAttribute("href"),d.target!==null&&!t.hasAttribute("target")&&t.setAttribute("target",d.target))},p=t=>{let d=c.get(t);d&&(c.delete(t),o(d))},m={link(t){if(!N(t,[...t.querySelectorAll("input, select, textarea")].some(L))){if(!t.hasAttribute("data-graview-link"))return;t.removeAttribute("data-graview-link"),u(t),o(t),f(t),p(t);return}t.hasAttribute("data-graview-link")||t.setAttribute("data-graview-link","");let h=t.localName==="a"&&t.namespaceURI===M,k=t.getAttribute("href"),w=a.get(t),$=k!==null&&w?.href!==k,A=h&&!$?s(t):void 0;if(A!==void 0){k!==A&&t.setAttribute("href",A),a.set(t,{href:A,target:w?w.target:t.getAttribute("target")}),t.removeAttribute("target"),u(t),o(t);return}if($?a.delete(t):f(t),!t.hasAttribute("role")&&(h||P(t))&&(t.setAttribute("role","link"),i.add(t)),t.localName==="tr"&&t.namespaceURI===M){o(t);let x=[...t.children].find(j=>j.localName==="td"||j.localName==="th");c.get(t)!==x&&p(t),x&&!c.has(t)&&l(x)&&c.set(t,x);return}t.localName!=="button"&&l(t)},refresh(t){for(let d of t.querySelectorAll("[data-record], [data-place], [data-graview-link]"))m.link(d)},pressed(t,d,h){if(t.type!=="click"&&!(t.type==="keydown"&&t.key==="Enter"))return!1;let k=R(d,h,w=>w.hasAttribute("data-graview-link"));return k?(t.stopPropagation(),a.has(k)&&V(t)||(t.preventDefault(),m.follow(k)),!0):!1},follow(t){let d=g(t);d&&y(d)},go:y};return m}export{Z as a,F as b,b as c,O as d,S as e,ne as f,U as g,re as h};
1
+ import{a as D}from"./chunk.PXQVXBNG.js";import{a as L,f as P,g as N,h as R}from"./chunk.G446PWV6.js";import{od as E}from"./chunk.P4CLT32V.js";var z=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),T=e=>e?._zod?.def;function W(e){let n=T(e);for(;n&&(n.type==="optional"||n.type==="default"||n.type==="nullable"||n.type==="prefault");)n=T(n.innerType);return n}function K(e){if(e?.type==="boolean")return["true","false"];if(e?.type==="enum")return(e.entries?Object.values(e.entries):e.values??[]).filter(n=>typeof n=="string")}var v=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]/g," ").replace(/^./,n=>n.toUpperCase());function J(e,n,i){let a=e.tryDefinition(n);if(!a)return[];let c=new Set(a.display?.hide??[]),r=[];for(let[s,l]of Object.entries(a.fields.shape??{})){if(s==="id"||s==="kind"||s==="label"||c.has(s))continue;let o=W(l);if(o?.type==="array"||o?.type==="object"||o?.type==="record")continue;let u=K(o);r.push({key:s,label:v(s),...u?{options:u}:{}})}let y=new Map;for(let[s,l]of Object.entries(a.edges??{}))y.set(s,l.to==="*"?[]:[...l.to]);for(let s of e.definitions)if(s.kind!==n)for(let[l,o]of Object.entries(s.edges??{}))!y.has(l)&&(o.to==="*"||o.to.includes(n))&&y.set(l,[s.kind]);let g=[];for(let[s,l]of y){r.push({key:s,label:v(s)});let o=i&&l.length===1&&l[0]!==n?e.tryDefinition(l[0]):void 0;for(let[u,f]of Object.entries(o?.fields.shape??{})){let p=W(f);p?.type==="enum"&&!o?.display?.hide?.includes(u)&&g.push({key:`${s}.${u}`,label:`${v(s)} \xB7 ${v(u)}`,options:K(p)})}}return r.push(...g),r.push({key:"is",label:"Is",options:a.lifecycle?["current","past","any","flagged","clear"]:["flagged","clear"]}),r}var I=e=>e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;function G(e,n,i,a={}){if(i==null)return{ok:!0};if(!z(i))return{ok:!1,says:'A filter is an object of a field and the value it keeps, like { where: { stage: "building" } }.'};let c=Object.entries(i);if(c.length===0)return{ok:!0};let r=[];for(let l of n)for(let o of J(e,l,a.through===!0))r.some(u=>u.key===o.key)||r.push(o);let y=n[0]?e.tryDefinition(n[0]):void 0,g=y?y.plural??`${v(y.kind)}s`:"These",s=[];for(let[l,o]of c){let u=r.find(p=>p.key===l);if(!u)return{ok:!1,says:`${g.replace(/^./,p=>p.toUpperCase())} have no field "${l}" to filter by${r.length>0?`; they filter by ${I(r.map(p=>p.key))}`:""}.`};if(typeof o!="string"&&typeof o!="number"&&typeof o!="boolean")return{ok:!1,says:`The filter on "${l}" is ${Array.isArray(o)?"a list":o===null?"null":`a ${typeof o}`}; it keeps one value: a word, a number, or true or false.`};let f=String(o);if(f.trim().length===0)return{ok:!1,says:`The filter on "${l}" keeps nothing; give it a value, or leave "${l}" out.`};if(f.includes(","))return{ok:!1,says:`The filter on "${l}" holds a comma, which an address reads as a second filter; keep one value.`};if(u.options&&u.options.length>0&&!u.options.includes(f))return{ok:!1,says:`${u.label} has no choice "${f}"; its choices are ${I(u.options.map(p=>`"${p}"`))}.`};s.push(`${l}:${f}`)}return{ok:!0,filter:s.join(",")}}var C=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");function q(e,n){let i=e.find(r=>r.as===n);if(i)return i;let a=n.trim().toLowerCase(),c=C(n);return e.find(r=>r.title!==void 0&&r.title.trim().toLowerCase()===a)??(c?e.find(r=>r.as===c||r.title!==void 0&&C(r.title)===c):void 0)}function Z(e){let n=[];for(let i of e){if(typeof i!="object"||i===null)continue;let{as:a,slug:c,title:r,kind:y}=i,g=typeof a=="string"&&a.length>0?a:typeof c=="string"&&c.length>0?c:void 0;!g||n.some(s=>s.as===g)||n.push({as:g,title:typeof r=="string"?r:g,kind:typeof y=="string"?y:""})}return n}var F=e=>` Its places: ${e.map(n=>typeof n=="string"?`"${n}"`:n.title&&n.title!==n.as?`"${n.as}" (${n.title})`:`"${n.as}"`).join(", ")||"none"}.`;var b=e=>`"${e.length>80?`${e.slice(0,79)}\u2026`:e}"`,O=(e,n)=>`${"place"in e?`The place ${b(e.place)}`:`${b(e.record)} is no record this viewer may see and`} is no place of this app: it goes nowhere.${F(n)}`;function S(e){let n={};for(let i of e.split(",")){let a=i.indexOf(":");a>0&&(n[i.slice(0,a).trim()]=i.slice(a+1).trim())}return n}function ne(e,n=new Set){return e.kinds.filter(i=>!n.has(i)).map(i=>({slug:E(e,i).slice(1),kind:i}))}function U(e,n){let i=[...new Set(n.places.map(f=>f.as))],a=n.lists.map(f=>f.slug).filter(f=>!i.includes(f)),c;if(e.section!==void 0&&e.section!==null){if(typeof e.section!="string"||D(e.section).length===0||e.section.length>120)return{ok:!1,says:`The section ${typeof e.section=="string"?b(e.section):"asked for"} names nothing on a page: a section is a heading's words or an element's id, like "shipping-soon". It goes nowhere.`};c=e.section}let r=c!==void 0?{section:c}:{};if("record"in e&&n.sees(e.record))return e.where!==void 0&&e.where!==null?{ok:!1,says:`${b(e.record)} is one record, and a filter narrows a list or a place: it goes nowhere. Go to { place, where } for a list narrowed.`}:{ok:!0,arrival:{record:e.record,...r}};let y="place"in e?e.place:e.record,g=q(n.places,y),s=g?void 0:n.lists.find(f=>f.slug===y||f.kind===y);if(!g&&!s)return{ok:!1,says:`${O(e,n.places.filter((f,p,m)=>m.findIndex(t=>t.as===f.as)===p))}${_(a)}`};let l=g?[g.kind]:[s.kind],o;if(e.where!==void 0&&e.where!==null){if(!n.schema)return{ok:!1,says:`The place ${b(y)} cannot be narrowed here: it goes nowhere.`};let f=G(n.schema,l,e.where,{through:s!==void 0});if(!f.ok)return{ok:!1,says:`The filter on ${b(y)} goes nowhere: ${f.says}`};o=f.filter}let u=o?{filter:o}:{};return{ok:!0,arrival:g?{place:g.as,...u,...r}:{list:s.kind,...u,...r}}}var _=e=>e.length===0?"":` Its lists: ${e.slice(0,8).map(n=>`"${n}"`).join(", ")}${e.length>8?` and ${e.length-8} more`:""}.`,M="http://www.w3.org/1999/xhtml",V=e=>{let n=e;return n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||e.type==="click"&&typeof n.button=="number"&&n.button!==0};function re(e){let n=new WeakSet,i=new WeakSet,a=new WeakMap,c=new WeakMap,r=t=>U(t,{sees:e.sees,places:e.places(),lists:e.lists?.()??[],...e.schema?{schema:e.schema}:{}}),y=t=>{let d=r(t);return d.ok?e.onNavigate?.(d.arrival):e.onLost?.(d.says),d.ok},g=t=>{let d=t.getAttribute("data-record"),h=t.getAttribute("data-place"),k=t.getAttribute("data-filter"),w=t.getAttribute("data-section"),$={...k?{where:S(k)}:{},...w?{section:w}:{}};if(d)return{record:d,...$};if(h)return{place:h,...$}},s=t=>{if(!e.hrefOf)return;let d=g(t),h=d?r(d):void 0;return h?.ok?e.hrefOf(h.arrival):void 0},l=t=>t.hasAttribute("tabindex")?!1:(t.setAttribute("tabindex","0"),n.add(t),!0),o=t=>{n.delete(t)&&t.removeAttribute("tabindex")},u=t=>{i.delete(t)&&t.getAttribute("role")==="link"&&t.removeAttribute("role")},f=t=>{let d=a.get(t);d&&(a.delete(t),t.getAttribute("href")===d.href&&t.removeAttribute("href"),d.target!==null&&!t.hasAttribute("target")&&t.setAttribute("target",d.target))},p=t=>{let d=c.get(t);d&&(c.delete(t),o(d))},m={link(t){if(!N(t,[...t.querySelectorAll("input, select, textarea")].some(L))){if(!t.hasAttribute("data-graview-link"))return;t.removeAttribute("data-graview-link"),u(t),o(t),f(t),p(t);return}t.hasAttribute("data-graview-link")||t.setAttribute("data-graview-link","");let h=t.localName==="a"&&t.namespaceURI===M,k=t.getAttribute("href"),w=a.get(t),$=k!==null&&w?.href!==k,A=h&&!$?s(t):void 0;if(A!==void 0){k!==A&&t.setAttribute("href",A),a.set(t,{href:A,target:w?w.target:t.getAttribute("target")}),t.removeAttribute("target"),u(t),o(t);return}if($?a.delete(t):f(t),!t.hasAttribute("role")&&(h||P(t))&&(t.setAttribute("role","link"),i.add(t)),t.localName==="tr"&&t.namespaceURI===M){o(t);let x=[...t.children].find(j=>j.localName==="td"||j.localName==="th");c.get(t)!==x&&p(t),x&&!c.has(t)&&l(x)&&c.set(t,x);return}t.localName!=="button"&&l(t)},refresh(t){for(let d of t.querySelectorAll("[data-record], [data-place], [data-graview-link]"))m.link(d)},pressed(t,d,h){if(t.type!=="click"&&!(t.type==="keydown"&&t.key==="Enter"))return!1;let k=R(d,h,w=>w.hasAttribute("data-graview-link"));return k?(t.stopPropagation(),a.has(k)&&V(t)||(t.preventDefault(),m.follow(k)),!0):!1},follow(t){let d=g(t);d&&y(d)},go:y};return m}export{Z as a,F as b,b as c,O as d,S as e,ne as f,U as g,re as h};
@@ -1,4 +1,4 @@
1
- import{a as z,b as Y,d as ee}from"./chunk.BVXOLZQ3.js";import"./chunk.KDTNKKOY.js";import{Yb as J,da as Q,ha as U,ma as X,qa as _}from"./chunk.PFEKS3KO.js";import"./chunk.2AZTW66C.js";import"./chunk.AJZBJBMO.js";function ce(t){let r=t?.indexOf(":")??-1;if(!(!t||r<=0||r===t.length-1))return{relation:t.slice(0,r),record:t.slice(r+1)}}function ne(t,r){if(t.length===0)return!0;let d=`${r.split("/")[0]}/*`;return t.some(a=>a==="*"||a==="*/*"||a===r||a===d)}function re(t,r){let d=r.startsWith("image/")?"image":r.startsWith("video/")?"video":"file";return t.find(a=>a.as===d)??t.find(a=>a.as==="file")}function fe(t,r){let d=new Set(t.map(k=>k.as==="image"?"image/":k.as==="video"?"video/":""));if(d.has("")||r.kinds.length===0)return r.kinds.join(",");let a=[];for(let k of d){let m=r.kinds.filter(l=>l.startsWith(k));a.push(...m.length>0?m:[`${k}*`])}return a.join(",")}var T=t=>t.input?.shape??{},ie=(t,r)=>T(t)[r]?.safeParse(void 0).success===!1;function ae(t,r){let d=new Set(z(t.input).map(a=>a.name));return Object.keys(T(t)).filter(a=>!r.has(a)&&!d.has(a)&&ie(t,a)&&T(t)[a].safeParse("a name").success&&!T(t)[a].safeParse(1).success)}var ue=t=>t.replace(/\.[a-z0-9]{1,5}$/i,"")||t,se=(t,r)=>{let d=Number.isFinite(Date.parse(r))?new Date(Date.parse(r)).toISOString():r;return[r,d,d.replace(/\.\d{3}Z$/,"Z"),r.slice(0,10)].find(a=>t.safeParse(a).success)},pe="2026-01-01T00:00:00.000Z";function te(t,r){let d=T(t),a=new Set(ae(t,r)),k=Object.keys(d).filter(l=>!r.has(l)&&!a.has(l)&&ie(t,l)),m=k.filter(l=>se(d[l],pe)!==void 0);return{timed:m,left:k.filter(l=>!m.includes(l))}}function oe(t,r,d,a,k){let m=e=>({ok:!1,says:e}),{kind:l}=a,R=(d.accepts??[]).filter(e=>e.kind===l&&(a.field===void 0||e.field===a.field));if(R.length===0)return m(a.field===void 0?`The view's accepts names no field of "${l}", so nothing dropped there can become one.`:`The view's accepts does not name ${l}'s "${a.field}".`);let A=k.files;if(!A||!(A.maxBytes>0))return m("This host takes no files.");let j=R.flatMap(e=>{let n=ee(t,e.kind,e.field);return n?[{field:e.field,...n}]:[]}),w=j.filter(e=>e.as==="file"||A.kinds.length===0||A.kinds.some(n=>n==="*"||n==="*/*"||n.startsWith(e.as==="image"?"image/":"video/")));if(w.length===0)return m(`This host takes none of what ${l}'s ${j.map(e=>`"${e.field}"`).join(" or ")} holds.`);let c=a.connect===void 0?void 0:ce(a.connect);if(a.connect!==void 0&&(!c||k.shown.has(a.connect)))return m(`data-drop-connect is "<relation>:<record id>", not "${a.connect}".`);if(c&&!k.shown.has(c.record))return m(`data-drop-connect names "${c.record}", which this view was not shown.`);let g=c?t.seenBy(r).graph.getNode(c.record):void 0;if(c&&!g)return m(`data-drop-connect names "${c.record}", which this seat does not see.`);let $=e=>Object.hasOwn(t.schema.tryDefinition(e)?.edges??{},c.relation),E=c?$(l):!1;if(c&&!E&&!$(g.kind))return m(`Neither a "${l}" nor a "${g.kind}" has the relation "${c.relation}".`);let H=t.allMutations(),F=e=>t.permits(e,r).ok,Z=e=>w.every(n=>Object.hasOwn(T(e),n.field)),V=H.filter(e=>(e.creates??[]).includes(l)&&Z(e)),x=X(t.schema.tryDefinition(l),l),O=U(t.schema,l).toLowerCase(),S=g?Q(t.schema.tryDefinition(g.kind),g):void 0,G=e=>`${e===1?`a ${x}`:`${e} ${O}`}${S?` to ${S}`:""}`,K=e=>`Add ${G(e)}`,L=e=>`Added ${G(e)}.`,B=`Drop to add ${O}${S?` to ${S}`:""}.`,N=(e,n,u,v)=>{let I=new Set(Object.keys(n)),D=_(u.at)??v??new Date().toISOString();for(let C of te(e,I).timed)n[C]=se(T(e)[C],D);for(let C of ae(e,I))n[C]=ue(u.name);return n},q=(e,...n)=>new Set([...w.map(u=>u.field),...n,...z(e.input).map(u=>u.name)]),P=(e,...n)=>te(e,q(e,...n)).left,i=(e,n)=>m(`"${e.title??e.name}" asks for ${n.map(u=>`"${u}"`).join(" and ")}, which no dropped file says, so nothing dropped here can become a ${x}.`),o=(e,n)=>e.list?[n]:n,f={ok:!0,kind:l,fields:w,accept:fe(w,A),...c?{connect:c}:{},intent:K,invite:B,added:L};if(!c){let e=V.find(n=>!n.subject&&F({name:n.name,args:{}}));return e?P(e).length>0?i(e,P(e)):{...f,calls:n=>[{name:e.name,args:N(e,{[n.field]:o(w.find(u=>u.field===n.field),n.value)},n.value,n.at)}]}:m(`This seat may not make a "${l}" here.`)}let s=V.find(e=>e.subject&&(e.subject.kinds==="*"||e.subject.kinds.includes(g.kind))&&(e.connects??[]).includes(c.relation)&&F({name:e.name,args:{[e.subject.arg]:c.record}}));if(s){let e=s.subject.arg;return P(s,e).length>0?i(s,P(s,e)):{...f,calls:n=>[{name:s.name,args:N(s,{[e]:c.record,[n.field]:o(w.find(u=>u.field===n.field),n.value)},n.value,n.at)}]}}let p=V.find(e=>!e.subject&&F({name:e.name,args:{}}));if(!p)return m(`This seat may not make a "${l}" here.`);if(P(p).length>0)return i(p,P(p));let y=E?l:g.kind,W=E?g.kind:l,M=H.find(e=>{if(!(e.connects??[]).includes(c.relation)||!e.subject)return!1;let n=e.subject.kinds;if(n!=="*"&&!n.includes(y))return!1;let u=z(e.input).find(v=>v.name!==e.subject.arg&&(v.kinds.includes("*")||v.kinds.includes(W)));return u?F({name:e.name,args:E?{[u.name]:c.record}:{[e.subject.arg]:c.record}}):!1});if(!M)return m(`This seat may not link a "${l}" to ${c.record} by "${c.relation}".`);let h=M.subject.arg,b=z(M.input).find(e=>e.name!==h&&(e.kinds.includes("*")||e.kinds.includes(W))).name;return{...f,calls:(e,n)=>[{name:p.name,args:N(p,{[e.field]:o(w.find(u=>u.field===e.field),e.value)},e.value,e.at)},{name:M.name,args:E?{[h]:J(n*2),[b]:c.record}:{[h]:c.record,[b]:J(n*2)}}]}}var de=t=>t.type.startsWith("image/"),me=t=>t.type.startsWith("video/"),ge=`
1
+ import{a as z,b as Y,d as ee}from"./chunk.MG3DMURZ.js";import"./chunk.2W2YVB6X.js";import{bc as J,da as Q,ha as U,ma as X,qa as _}from"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import"./chunk.AJZBJBMO.js";function ce(t){let r=t?.indexOf(":")??-1;if(!(!t||r<=0||r===t.length-1))return{relation:t.slice(0,r),record:t.slice(r+1)}}function ne(t,r){if(t.length===0)return!0;let d=`${r.split("/")[0]}/*`;return t.some(a=>a==="*"||a==="*/*"||a===r||a===d)}function re(t,r){let d=r.startsWith("image/")?"image":r.startsWith("video/")?"video":"file";return t.find(a=>a.as===d)??t.find(a=>a.as==="file")}function fe(t,r){let d=new Set(t.map(k=>k.as==="image"?"image/":k.as==="video"?"video/":""));if(d.has("")||r.kinds.length===0)return r.kinds.join(",");let a=[];for(let k of d){let m=r.kinds.filter(l=>l.startsWith(k));a.push(...m.length>0?m:[`${k}*`])}return a.join(",")}var T=t=>t.input?.shape??{},ie=(t,r)=>T(t)[r]?.safeParse(void 0).success===!1;function ae(t,r){let d=new Set(z(t.input).map(a=>a.name));return Object.keys(T(t)).filter(a=>!r.has(a)&&!d.has(a)&&ie(t,a)&&T(t)[a].safeParse("a name").success&&!T(t)[a].safeParse(1).success)}var ue=t=>t.replace(/\.[a-z0-9]{1,5}$/i,"")||t,se=(t,r)=>{let d=Number.isFinite(Date.parse(r))?new Date(Date.parse(r)).toISOString():r;return[r,d,d.replace(/\.\d{3}Z$/,"Z"),r.slice(0,10)].find(a=>t.safeParse(a).success)},pe="2026-01-01T00:00:00.000Z";function te(t,r){let d=T(t),a=new Set(ae(t,r)),k=Object.keys(d).filter(l=>!r.has(l)&&!a.has(l)&&ie(t,l)),m=k.filter(l=>se(d[l],pe)!==void 0);return{timed:m,left:k.filter(l=>!m.includes(l))}}function oe(t,r,d,a,k){let m=e=>({ok:!1,says:e}),{kind:l}=a,R=(d.accepts??[]).filter(e=>e.kind===l&&(a.field===void 0||e.field===a.field));if(R.length===0)return m(a.field===void 0?`The view's accepts names no field of "${l}", so nothing dropped there can become one.`:`The view's accepts does not name ${l}'s "${a.field}".`);let A=k.files;if(!A||!(A.maxBytes>0))return m("This host takes no files.");let j=R.flatMap(e=>{let n=ee(t,e.kind,e.field);return n?[{field:e.field,...n}]:[]}),w=j.filter(e=>e.as==="file"||A.kinds.length===0||A.kinds.some(n=>n==="*"||n==="*/*"||n.startsWith(e.as==="image"?"image/":"video/")));if(w.length===0)return m(`This host takes none of what ${l}'s ${j.map(e=>`"${e.field}"`).join(" or ")} holds.`);let c=a.connect===void 0?void 0:ce(a.connect);if(a.connect!==void 0&&(!c||k.shown.has(a.connect)))return m(`data-drop-connect is "<relation>:<record id>", not "${a.connect}".`);if(c&&!k.shown.has(c.record))return m(`data-drop-connect names "${c.record}", which this view was not shown.`);let g=c?t.seenBy(r).graph.getNode(c.record):void 0;if(c&&!g)return m(`data-drop-connect names "${c.record}", which this seat does not see.`);let $=e=>Object.hasOwn(t.schema.tryDefinition(e)?.edges??{},c.relation),E=c?$(l):!1;if(c&&!E&&!$(g.kind))return m(`Neither a "${l}" nor a "${g.kind}" has the relation "${c.relation}".`);let H=t.allMutations(),F=e=>t.permits(e,r).ok,Z=e=>w.every(n=>Object.hasOwn(T(e),n.field)),V=H.filter(e=>(e.creates??[]).includes(l)&&Z(e)),x=X(t.schema.tryDefinition(l),l),O=U(t.schema,l).toLowerCase(),S=g?Q(t.schema.tryDefinition(g.kind),g):void 0,G=e=>`${e===1?`a ${x}`:`${e} ${O}`}${S?` to ${S}`:""}`,K=e=>`Add ${G(e)}`,L=e=>`Added ${G(e)}.`,B=`Drop to add ${O}${S?` to ${S}`:""}.`,N=(e,n,u,v)=>{let I=new Set(Object.keys(n)),D=_(u.at)??v??new Date().toISOString();for(let C of te(e,I).timed)n[C]=se(T(e)[C],D);for(let C of ae(e,I))n[C]=ue(u.name);return n},q=(e,...n)=>new Set([...w.map(u=>u.field),...n,...z(e.input).map(u=>u.name)]),P=(e,...n)=>te(e,q(e,...n)).left,i=(e,n)=>m(`"${e.title??e.name}" asks for ${n.map(u=>`"${u}"`).join(" and ")}, which no dropped file says, so nothing dropped here can become a ${x}.`),o=(e,n)=>e.list?[n]:n,f={ok:!0,kind:l,fields:w,accept:fe(w,A),...c?{connect:c}:{},intent:K,invite:B,added:L};if(!c){let e=V.find(n=>!n.subject&&F({name:n.name,args:{}}));return e?P(e).length>0?i(e,P(e)):{...f,calls:n=>[{name:e.name,args:N(e,{[n.field]:o(w.find(u=>u.field===n.field),n.value)},n.value,n.at)}]}:m(`This seat may not make a "${l}" here.`)}let s=V.find(e=>e.subject&&(e.subject.kinds==="*"||e.subject.kinds.includes(g.kind))&&(e.connects??[]).includes(c.relation)&&F({name:e.name,args:{[e.subject.arg]:c.record}}));if(s){let e=s.subject.arg;return P(s,e).length>0?i(s,P(s,e)):{...f,calls:n=>[{name:s.name,args:N(s,{[e]:c.record,[n.field]:o(w.find(u=>u.field===n.field),n.value)},n.value,n.at)}]}}let p=V.find(e=>!e.subject&&F({name:e.name,args:{}}));if(!p)return m(`This seat may not make a "${l}" here.`);if(P(p).length>0)return i(p,P(p));let y=E?l:g.kind,W=E?g.kind:l,M=H.find(e=>{if(!(e.connects??[]).includes(c.relation)||!e.subject)return!1;let n=e.subject.kinds;if(n!=="*"&&!n.includes(y))return!1;let u=z(e.input).find(v=>v.name!==e.subject.arg&&(v.kinds.includes("*")||v.kinds.includes(W)));return u?F({name:e.name,args:E?{[u.name]:c.record}:{[e.subject.arg]:c.record}}):!1});if(!M)return m(`This seat may not link a "${l}" to ${c.record} by "${c.relation}".`);let h=M.subject.arg,b=z(M.input).find(e=>e.name!==h&&(e.kinds.includes("*")||e.kinds.includes(W))).name;return{...f,calls:(e,n)=>[{name:p.name,args:N(p,{[e.field]:o(w.find(u=>u.field===e.field),e.value)},e.value,e.at)},{name:M.name,args:E?{[h]:J(n*2),[b]:c.record}:{[h]:c.record,[b]:J(n*2)}}]}}var de=t=>t.type.startsWith("image/"),me=t=>t.type.startsWith("video/"),ge=`
2
2
  [data-graview-drop-over] { outline: 2px dashed var(--graview-accent, Highlight) !important; outline-offset: 2px !important; background-color: color-mix(in srgb, var(--graview-accent, Highlight) 10%, transparent) !important; }
3
3
  [data-graview-drop-status], [data-graview-drop-refused] { margin: 4px 0 0; font: 0.8125rem/1.4 var(--graview-font-body, system-ui, sans-serif); color: var(--graview-ink-muted, GrayText); }
4
4
  [data-graview-drop-refused] { color: var(--graview-warn, var(--graview-ink, CanvasText)); }
@@ -0,0 +1 @@
1
+ import{b as U}from"./chunk.SSAY4ITS.js";import"./chunk.GYTVL6GR.js";import{G as ne,T as z,aa as R,da as $}from"./chunk.TMYGLXR6.js";import"./chunk.SDO3U72B.js";import{Od as K,ob as W}from"./chunk.P4CLT32V.js";import"./chunk.SLBWPVIY.js";import{b as L}from"./chunk.AJZBJBMO.js";var p=L(ne(),1);function b(e,t,a=!1){if(e<t.at||e===t.at&&a)return e;let o=t.at+t.removed.length;return e>=o?e+t.inserted.length-t.removed.length:a?t.at:t.at+t.inserted.length}var F=e=>e>=55296&&e<=56319,_=e=>e>=56320&&e<=57343;function X(e,t,a){let o=Math.min(e.length,t.length),n=0,l=Math.max(0,Math.min(o,t.length-a));for(;n<l&&e.charCodeAt(e.length-1-n)===t.charCodeAt(t.length-1-n);)n++;let r=0;for(;r<o-n&&e.charCodeAt(r)===t.charCodeAt(r);)r++;return r>0&&F(e.charCodeAt(r-1))&&r--,n>0&&_(e.charCodeAt(e.length-n))&&n--,{at:r,removed:e.slice(r,e.length-n),inserted:t.slice(r,t.length-n)}}function A(e,t){let a=Math.min(e.length,t.length),o=0;for(;o<a&&e.charCodeAt(o)===t.charCodeAt(o);)o++;o>0&&F(e.charCodeAt(o-1))&&o--;let n=0;for(;n<a-o&&e.charCodeAt(e.length-1-n)===t.charCodeAt(t.length-1-n);)n++;return n>0&&_(e.charCodeAt(e.length-n))&&n--,{at:o,removed:e.slice(o,e.length-n),inserted:t.slice(o,t.length-n)}}function Y(e,t){let a=s=>s.at+s.removed.length;if(a(e)<t.at)return e;if(e.at>a(t))return{...e,at:e.at+t.inserted.length-t.removed.length};let o=Math.min(e.at,t.at),n=a(e)-a(t),l=e.removed.slice(0,t.at-o)+t.inserted+(n>0?e.removed.slice(e.removed.length-n):""),r=t.at<=e.at?t.inserted+e.inserted:e.inserted+t.inserted,d=A(l,r);return{...d,at:o+d.at}}function V(e,t){let a=b(e.start,t,!0),o=e.end===e.start?a:b(e.end,t);return{start:a,end:Math.max(a,o)}}function re(e,t){let{kind:a,id:o,session:n}=e.author,l=`${a}:${o??""}:`;return t.startsWith(l)&&(!n||t.slice(l.length)===n)}function q(e,t,a,o){let n=e.anchor,l=e.head;for(let d of a)if(!(d.seq<e.rev||re(d,t)))for(let s of d.primitives)s.op!=="splice-text"||s.id!==e.node||s.field!==e.field||(n=b(n,s),l=b(l,s));let r=d=>Math.max(0,Math.min(o,d));return{start:r(n),end:r(l)}}var M=(e,t,a)=>e.ops.length>0&&e.ops.every(o=>{let n=o.mutation?.args;return o.mutation?.name===W&&n?.node===t&&n.field===a}),oe=(e,t,a,o)=>t.ops.length>0&&t.ops.every(n=>n.undoes!==void 0)&&e.batches().some(n=>t.ops.some(l=>l.undoes===n.id||l.undoes===n.ops[0]?.id)&&M(n,a,o)),G=(e,t)=>e.author.kind==="human"&&(t?.id===void 0||e.author.id===void 0||e.author.id===t.id);function I(e,t,a,o){let n=e.batches();for(let l=n.length-1;l>=0;l--){let r=n[l];if(!(!G(r,t)||r.undone||!M(r,a,o))&&e.canUndo(r.id).ok)return r.id}}function Z(e,t,a,o){let n=e.batches();for(let l=n.length-1;l>=0;l--){let r=n[l];if(G(r,t)){if(M(r,a,o))return;if(oe(e,r,a,o))return r.undone?void 0:r.id}}}var u=L(z(),1);function ie(e){let{store:t}=R(),{live:a,nodeId:o,field:n}=e,[l,r]=(0,p.useState)(null);return(0,p.useEffect)(()=>{let d=!0;return a.typing(o,n).then(s=>d&&r(s)),()=>{d=!1}},[o,n]),l&&!t.collaborative(o,n)?(0,u.jsx)(u.Fragment,{children:e.writtenWhole}):(0,u.jsx)(ae,{...e,typing:l})}function ae({nodeId:e,field:t,label:a,markdown:o,live:n,onDone:l,typing:r}){let{store:d,principal:s}=R(),f=$(e),h=J(f?.[t]),[v,ee]=(0,p.useState)(!1),y=(0,p.useRef)(null),E=(0,p.useRef)(h),w=(0,p.useRef)(!1),P=(0,p.useRef)(n);P.current=n;let B=()=>J(d.graph.getNode(e)?.[t]);(0,p.useEffect)(()=>y.current?.focus(),[v,r]);let x=(0,p.useRef)(void 0),T=()=>{x.current===void 0&&(x.current=setTimeout(()=>{x.current=void 0;let i=y.current;if(!i||i.ownerDocument.activeElement!==i)return;let c=i.selectionDirection==="backward";P.current.sayCaret({node:e,field:t,anchor:c?i.selectionEnd:i.selectionStart,head:c?i.selectionStart:i.selectionEnd,rev:d.log.length})},le))};(0,p.useEffect)(()=>()=>{clearTimeout(x.current),P.current.sayCaret(null)},[]);let D=i=>{let c=y.current;if(c){if(c.value!==i){let g=V({start:c.selectionStart,end:c.selectionEnd},A(c.value,i)),m=c.selectionDirection??"none";c.value=i,c.setSelectionRange(g.start,g.end,m)}E.current=i}},H=()=>{let i=y.current;if(!i||!r||w.current)return;let c=E.current,g=B(),m=X(c,i.value,i.selectionEnd);if(m.removed===""&&m.inserted==="")return D(g);let S=c===g?m:Y(m,A(c,g));try{r.splice(S.at,S.removed.length,S.inserted)}catch{}let k=B();if(i.value!==k){i.value=k;let N=Math.min(k.length,S.at+S.inserted.length);i.setSelectionRange(N,N)}E.current=k,T()};(0,p.useLayoutEffect)(()=>{w.current||D(h)},[h]);let te=async i=>{if(!r)return;r.flush();for(let g=0;r.waiting()>0&&g<100;g++)await new Promise(m=>setTimeout(m,30));let c=i?Z(d,s,e,t):I(d,s,e,t);if(c)try{i?d.redo(c,{author:s}):d.undo(c,{author:s})}catch{}},C=i=>{r?.flush(),n.sayCaret(null),l(i)},O=[...n.who.values()].filter(i=>i.caret?.node===e&&i.caret.field===t);return(0,u.jsxs)("div",{style:{display:"grid",gap:8,minWidth:0},"data-graview-live":t,children:[v?(0,u.jsx)("div",{"data-graview-preview":t,"aria-label":`${a}, as it will read`,role:"region",style:de,children:(0,u.jsx)(U,{text:h,markdown:!0})}):(0,u.jsxs)("div",{style:{position:"relative",minWidth:0},children:[(0,u.jsx)("textarea",{ref:y,"aria-label":a,"data-graview-field":t,defaultValue:h,readOnly:!r,rows:3,onInput:H,onCompositionStart:()=>{w.current=!0},onCompositionEnd:()=>{w.current=!1,H()},onSelect:T,onFocus:T,onPointerDown:()=>r?.flush(),onKeyDown:i=>{let c=i.key;c==="Escape"?(i.preventDefault(),C(!1)):(i.metaKey||i.ctrlKey)&&!i.altKey&&c.toLowerCase()==="z"?(i.preventDefault(),te(i.shiftKey)):(i.metaKey||i.ctrlKey)&&c==="Enter"?(i.preventDefault(),C(!1)):(c==="Enter"||ce.has(c))&&r?.flush()},onKeyUp:T,onBlur:i=>{r?.flush(),n.sayCaret(null);let c=i.relatedTarget;c instanceof Node&&i.currentTarget.closest("[data-graview-live]")?.contains(c)||C(!0)},style:ue}),O.length>0?(0,u.jsx)(se,{text:h,others:O,area:y,log:d.log.all()}):null]}),(0,u.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8},children:[(0,u.jsx)("button",{type:"button",onClick:()=>C(!1),style:Q,children:"Done"}),o?(0,u.jsx)("button",{type:"button","aria-pressed":v,onClick:()=>ee(!v),style:Q,children:v?"Write":"Preview"}):null,(0,u.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"Saved as you type \xB7 Ctrl or \u2318 Z takes back your typing"})]})]})}function se({text:e,others:t,area:a,log:o}){let n=(0,p.useRef)(null);(0,p.useLayoutEffect)(()=>{let s=a.current,f=n.current;if(!s||!f)return;let h=()=>{f.scrollTop=s.scrollTop};return h(),s.addEventListener("scroll",h),()=>s.removeEventListener("scroll",h)});let l=t.map(s=>({one:s,at:q(s.caret,s.participant,o,e.length).end})).sort((s,f)=>s.at-f.at),r=[],d=0;for(let{one:s,at:f}of l){r.push(e.slice(d,f)),d=f;let h=K(s)||"Somebody";r.push((0,u.jsx)("span",{"data-graview-caret":s.participant,title:`${h} is typing here`,style:{borderLeft:`2px solid hsl(${Math.round(s.hue)} 55% 52%)`,marginLeft:-1,marginRight:-1,pointerEvents:"auto"}},s.participant))}return r.push(`${e.slice(d)}\u200B`),(0,u.jsx)("div",{ref:n,"aria-hidden":"true",style:pe,children:r})}var le=120,J=e=>typeof e=="string"?e:"",ce=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]),de={minHeight:"7.5em",padding:"8px 10px",border:"1px dashed var(--graview-edge-bright)",borderRadius:6,lineHeight:1.6,minWidth:0},Q={font:"inherit",fontSize:"0.8125rem",minHeight:28,padding:"2px 12px"},j={font:"inherit",lineHeight:1.5,width:"100%",boxSizing:"border-box",minHeight:"7.5em",padding:"8px 10px",borderRadius:6},ue={...j,resize:"vertical",fieldSizing:"content",color:"var(--graview-ink)",background:"var(--graview-panel, transparent)",border:"1px solid var(--graview-edge-bright)"},pe={...j,position:"absolute",inset:0,height:"100%",border:"1px solid transparent",color:"transparent",whiteSpace:"pre-wrap",overflowWrap:"break-word",overflow:"hidden",pointerEvents:"none"};export{ie as default};