graview 0.1.43 → 0.1.45

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 (184) hide show
  1. package/dist/preview/{chunk.6AYTF53S.js → chunk.2EFH63WS.js} +1 -1
  2. package/dist/preview/{chunk.YPEZZLOY.js → chunk.2JJYGYT2.js} +1 -1
  3. package/dist/preview/chunk.2LKMNEWZ.js +1 -0
  4. package/dist/preview/{chunk.X5WB4GJ4.js → chunk.2YABX3SC.js} +1 -1
  5. package/dist/preview/{chunk.OIJP6PQV.js → chunk.3HSPWSAI.js} +1 -1
  6. package/dist/preview/chunk.3NMINX5Z.js +1 -0
  7. package/dist/preview/{chunk.SKB4XSDG.js → chunk.4HYJHGI4.js} +1 -1
  8. package/dist/preview/{chunk.F6CPM7SL.js → chunk.4KNEBLB7.js} +1 -1
  9. package/dist/preview/{chunk.3GQL4K3Q.js → chunk.4RJZVTW7.js} +1 -1
  10. package/dist/preview/{chunk.N3FONYEP.js → chunk.4XOWRYRU.js} +2 -2
  11. package/dist/preview/{chunk.4P3LS2OE.js → chunk.55D33E5A.js} +1 -1
  12. package/dist/preview/{chunk.FTF67QE2.js → chunk.5B2LH2SR.js} +1 -1
  13. package/dist/preview/chunk.5EDA3JHU.js +1 -0
  14. package/dist/preview/{chunk.TX65ZO27.js → chunk.5O5IJVLN.js} +1 -1
  15. package/dist/preview/chunk.5R2R364Q.js +1 -0
  16. package/dist/preview/{chunk.6BU3GCHK.js → chunk.63JLXGYX.js} +1 -1
  17. package/dist/preview/{chunk.XGRMQUFB.js → chunk.64WM4IBI.js} +1 -1
  18. package/dist/preview/chunk.66JF3UMG.js +1 -0
  19. package/dist/preview/chunk.6BJBPDF3.js +349 -0
  20. package/dist/preview/{chunk.T4M4MLOS.js → chunk.6KWFTSK4.js} +1 -1
  21. package/dist/preview/{chunk.EBTYR5CZ.js → chunk.6MADC6DM.js} +1 -1
  22. package/dist/preview/{chunk.WH2RYGXR.js → chunk.6RY6OSE6.js} +1 -1
  23. package/dist/preview/{chunk.4YLBGGWT.js → chunk.6SJA4FSW.js} +1 -1
  24. package/dist/preview/chunk.6SWW6KEV.js +1 -0
  25. package/dist/preview/chunk.6UIW664O.js +6 -0
  26. package/dist/preview/chunk.6USUVORO.js +1 -0
  27. package/dist/preview/{chunk.B2KDYES6.js → chunk.6X3G3PWL.js} +1 -1
  28. package/dist/preview/chunk.7KVWV577.js +1 -0
  29. package/dist/preview/{chunk.DZN26GKS.js → chunk.7ZRFXI73.js} +1 -1
  30. package/dist/preview/chunk.AS4CQBOQ.js +5 -0
  31. package/dist/preview/{chunk.C3DX4LWD.js → chunk.B6KT6BTG.js} +4 -4
  32. package/dist/preview/{chunk.RDXDEFOC.js → chunk.BGYY55VO.js} +1 -1
  33. package/dist/preview/{chunk.A3WOUDOG.js → chunk.BNPQUI3F.js} +1 -1
  34. package/dist/preview/chunk.BRDAO2OF.js +4 -0
  35. package/dist/preview/{chunk.C3X3R7LP.js → chunk.BS2SJC2P.js} +2 -2
  36. package/dist/preview/{chunk.RQBX7M7Q.js → chunk.C2UFMFJ3.js} +2 -2
  37. package/dist/preview/{chunk.S2MP53RO.js → chunk.CBUSFM3E.js} +1 -1
  38. package/dist/preview/chunk.CSDERNQV.js +1 -0
  39. package/dist/preview/chunk.DLFWBG33.js +1 -0
  40. package/dist/preview/{chunk.5TBK44MK.js → chunk.DQHPEKWK.js} +1 -1
  41. package/dist/preview/{chunk.5J2HETUO.js → chunk.DQOCBKC3.js} +1 -1
  42. package/dist/preview/{chunk.R7F6UJVG.js → chunk.DX357TZ3.js} +1 -1
  43. package/dist/preview/{chunk.T4QT5SZY.js → chunk.E37V2EJM.js} +1 -1
  44. package/dist/preview/{chunk.XAXZCOZK.js → chunk.E4G6DXSB.js} +1 -1
  45. package/dist/preview/chunk.EAUVEVVO.js +1 -0
  46. package/dist/preview/chunk.EVW5YY3W.js +1 -0
  47. package/dist/preview/chunk.F6HMZL65.js +1 -0
  48. package/dist/preview/{chunk.IJ2AF3AW.js → chunk.FCAYURB4.js} +1 -1
  49. package/dist/preview/{chunk.LDU25CCL.js → chunk.FF6DBQMB.js} +1 -1
  50. package/dist/preview/chunk.FHZBXMXR.js +33 -0
  51. package/dist/preview/{chunk.26SI4K3P.js → chunk.FOFLD64U.js} +1 -1
  52. package/dist/preview/{chunk.BYVE2NQY.js → chunk.FPASZ4RD.js} +1 -1
  53. package/dist/preview/{chunk.KR3J27IA.js → chunk.FTM64IDI.js} +1 -1
  54. package/dist/preview/chunk.GEPNIMXW.js +1 -0
  55. package/dist/preview/{chunk.25VAWLKJ.js → chunk.GER2XRD4.js} +1 -1
  56. package/dist/preview/chunk.GFLAGZSB.js +1 -0
  57. package/dist/preview/{chunk.JNCSGUO3.js → chunk.GIYFEGAP.js} +1 -1
  58. package/dist/preview/chunk.GVY5UQTJ.js +1 -0
  59. package/dist/preview/{chunk.DYW4D74X.js → chunk.H7KCWCB4.js} +1 -1
  60. package/dist/preview/{chunk.RSYFIL2Z.js → chunk.HDRD33II.js} +1 -1
  61. package/dist/preview/{chunk.3B47UX2J.js → chunk.HGTPTRMM.js} +1 -1
  62. package/dist/preview/chunk.HWCHFQ7O.js +6 -0
  63. package/dist/preview/{chunk.4ZHUGSJL.js → chunk.HZGVEHEN.js} +1 -1
  64. package/dist/preview/{chunk.I4HUBO22.js → chunk.ICCIZDTQ.js} +1 -1
  65. package/dist/preview/{chunk.YKN2VWWQ.js → chunk.ICGNIK3Z.js} +2 -2
  66. package/dist/preview/chunk.II7VTGNC.js +1 -0
  67. package/dist/preview/{chunk.R2B2ZAWI.js → chunk.IKX4VDTW.js} +1 -1
  68. package/dist/preview/chunk.IW7YFPGG.js +1 -0
  69. package/dist/preview/chunk.J7G3AATY.js +14 -0
  70. package/dist/preview/{chunk.DJ3BD7AZ.js → chunk.JBW3DI7E.js} +1 -1
  71. package/dist/preview/{chunk.6IEDQHKI.js → chunk.JDMXZFSG.js} +1 -1
  72. package/dist/preview/{chunk.4IDXQVSW.js → chunk.JHIUG25Q.js} +1 -1
  73. package/dist/preview/{chunk.OWL5GZ6U.js → chunk.JLEC3USG.js} +1 -1
  74. package/dist/preview/{chunk.ZRICIE6T.js → chunk.JLYNMAME.js} +1 -1
  75. package/dist/preview/{chunk.C5NOO4CC.js → chunk.JR7RDOEP.js} +1 -1
  76. package/dist/preview/{chunk.KWQ67UK2.js → chunk.JSSFA3FC.js} +1 -1
  77. package/dist/preview/chunk.K46YRA65.js +1 -0
  78. package/dist/preview/chunk.K6KMLD2B.js +21 -0
  79. package/dist/preview/{chunk.ONSG3OIL.js → chunk.KBHU54NM.js} +1 -1
  80. package/dist/preview/{chunk.6ROYIMQ2.js → chunk.KRGM25HF.js} +1 -1
  81. package/dist/preview/chunk.KUUDW7VR.js +1 -0
  82. package/dist/preview/{chunk.TMBFLZNH.js → chunk.KWQ7QOHD.js} +1 -1
  83. package/dist/preview/chunk.L24FCXZ7.js +1 -0
  84. package/dist/preview/{chunk.7TU2PDYW.js → chunk.L2PI7V4R.js} +1 -1
  85. package/dist/preview/{chunk.NH6D6TWY.js → chunk.L3FOLN3K.js} +1 -1
  86. package/dist/preview/{chunk.PWYMZWAN.js → chunk.L3FQZCWI.js} +1 -1
  87. package/dist/preview/{chunk.IJU322EP.js → chunk.LEO2KWLZ.js} +1 -1
  88. package/dist/preview/{chunk.3HLNRVFY.js → chunk.LNG3CQNI.js} +1 -1
  89. package/dist/preview/{chunk.27QYTMXP.js → chunk.LSLLKICK.js} +1 -1
  90. package/dist/preview/{chunk.QXTLZSBL.js → chunk.M5GJHVWZ.js} +1 -1
  91. package/dist/preview/{chunk.GZA5ZNLJ.js → chunk.MGWMGLWE.js} +1 -1
  92. package/dist/preview/{chunk.7MXQRSNR.js → chunk.NIVTK2W5.js} +1 -1
  93. package/dist/preview/chunk.NMIXBH37.js +1 -0
  94. package/dist/preview/{chunk.6PF5LWRK.js → chunk.OF34OZ4V.js} +1 -1
  95. package/dist/preview/chunk.OMZ3LDDN.js +1 -0
  96. package/dist/preview/{chunk.QWY54AVN.js → chunk.OYHQSXNC.js} +1 -1
  97. package/dist/preview/{chunk.BT6FUNQI.js → chunk.PKUDIWIF.js} +1 -1
  98. package/dist/preview/chunk.PRD3UNJX.js +7 -0
  99. package/dist/preview/{chunk.FKLEIR4Y.js → chunk.Q7RQC3F7.js} +1 -1
  100. package/dist/preview/{chunk.BYVLGDVJ.js → chunk.QGVLJTZS.js} +1 -1
  101. package/dist/preview/chunk.QPCSS322.js +1 -0
  102. package/dist/preview/{chunk.ZEC64CK6.js → chunk.R2AG4NHQ.js} +1 -1
  103. package/dist/preview/{chunk.7XCBIID7.js → chunk.RNEJYIQ7.js} +1 -1
  104. package/dist/preview/chunk.RPX35VYU.js +1 -0
  105. package/dist/preview/{chunk.CO2ZPX3D.js → chunk.RYRTKIKB.js} +2 -2
  106. package/dist/preview/chunk.S5MQVPLF.js +1 -0
  107. package/dist/preview/{chunk.Z56L6V6Z.js → chunk.S6WHA4CW.js} +1 -1
  108. package/dist/preview/{chunk.XBV4WO7D.js → chunk.SDU76JU6.js} +1 -1
  109. package/dist/preview/{chunk.GSZYT6GF.js → chunk.SGKPGVBB.js} +1 -1
  110. package/dist/preview/chunk.SZ34UAQ3.js +2 -0
  111. package/dist/preview/chunk.T7XH7FVJ.js +1 -0
  112. package/dist/preview/{chunk.MI2HL3LQ.js → chunk.TBQOSI4J.js} +1 -1
  113. package/dist/preview/{chunk.WWR7Y2KE.js → chunk.TBSNNOQU.js} +1 -1
  114. package/dist/preview/{chunk.CW6IPHRR.js → chunk.TOXWNEOQ.js} +2 -2
  115. package/dist/preview/{chunk.T4Q6OLZU.js → chunk.UHX4WTM7.js} +1 -1
  116. package/dist/preview/chunk.UJKT2G6M.js +5 -0
  117. package/dist/preview/{chunk.Q5XICUDZ.js → chunk.UKAPFIPJ.js} +1 -1
  118. package/dist/preview/{chunk.7ROWZZN5.js → chunk.UM7GWXEW.js} +1 -1
  119. package/dist/preview/{chunk.OH2N3SX7.js → chunk.UNCS63AM.js} +1 -1
  120. package/dist/preview/{chunk.PEXPTDX7.js → chunk.URXSZQSF.js} +1 -1
  121. package/dist/preview/{chunk.7IXLH7PR.js → chunk.UY7IOVR6.js} +1 -1
  122. package/dist/preview/{chunk.6XEATXZC.js → chunk.V5FIZIX2.js} +1 -1
  123. package/dist/preview/chunk.VC3BX2ZF.js +1 -0
  124. package/dist/preview/{chunk.FCPH4YZN.js → chunk.VSAPJAT3.js} +1 -1
  125. package/dist/preview/{chunk.MBOOUJOE.js → chunk.VW2VCPJX.js} +1 -1
  126. package/dist/preview/chunk.W2RCWPLK.js +1 -0
  127. package/dist/preview/{chunk.ZE4U4JBF.js → chunk.W44VRHKS.js} +2 -2
  128. package/dist/preview/{chunk.SGRKCQ2X.js → chunk.WAB7UDHU.js} +1 -1
  129. package/dist/preview/chunk.WBHM5I3I.js +1 -0
  130. package/dist/preview/chunk.WM2LWHTJ.js +1 -0
  131. package/dist/preview/{chunk.ZE6LJVVN.js → chunk.WPOTEXJZ.js} +1 -1
  132. package/dist/preview/{chunk.RPDTWQKA.js → chunk.WSTBCWW7.js} +3 -3
  133. package/dist/preview/{chunk.XFQUVMRI.js → chunk.XMCFZD3A.js} +1 -1
  134. package/dist/preview/chunk.XWAMQPUM.js +25 -0
  135. package/dist/preview/{chunk.IQ3LUSD6.js → chunk.XXEYRHRG.js} +1 -1
  136. package/dist/preview/{chunk.CTSPNTDX.js → chunk.Y5ARSVH4.js} +1 -1
  137. package/dist/preview/{chunk.DQR45N7V.js → chunk.Z6TMIAAB.js} +1 -1
  138. package/dist/preview/chunk.ZBR2QY67.js +104 -0
  139. package/dist/preview/chunk.ZEAH57AZ.js +1 -0
  140. package/dist/preview/{chunk.FLMNHV6A.js → chunk.ZJ2VS4M4.js} +1 -1
  141. package/dist/preview/chunk.ZTIF23VF.js +1 -0
  142. package/dist/preview/index.html +49 -45
  143. package/dist/preview/page.js +2 -34
  144. package/package.json +6 -6
  145. package/dist/preview/chunk.22E4GKYU.js +0 -1
  146. package/dist/preview/chunk.2JMJTREH.js +0 -1
  147. package/dist/preview/chunk.3JATXDSP.js +0 -1
  148. package/dist/preview/chunk.4C65DXZB.js +0 -1
  149. package/dist/preview/chunk.4HAGPMY6.js +0 -117
  150. package/dist/preview/chunk.4ZSHTUNK.js +0 -1
  151. package/dist/preview/chunk.5BJW4IPW.js +0 -1
  152. package/dist/preview/chunk.63DI7XNE.js +0 -21
  153. package/dist/preview/chunk.64MP7636.js +0 -1
  154. package/dist/preview/chunk.6K4JBLOP.js +0 -1
  155. package/dist/preview/chunk.7L6LYXCV.js +0 -25
  156. package/dist/preview/chunk.7MQ7UWVW.js +0 -5
  157. package/dist/preview/chunk.AXJJUCWT.js +0 -1
  158. package/dist/preview/chunk.CXJXVBGF.js +0 -1
  159. package/dist/preview/chunk.E5PHLNXR.js +0 -1
  160. package/dist/preview/chunk.EPPAFWP7.js +0 -5
  161. package/dist/preview/chunk.GAFYE37S.js +0 -3
  162. package/dist/preview/chunk.GNPYSMHA.js +0 -1
  163. package/dist/preview/chunk.HMABYAZR.js +0 -1
  164. package/dist/preview/chunk.IWUSCCZN.js +0 -1
  165. package/dist/preview/chunk.K6SPN4D6.js +0 -7
  166. package/dist/preview/chunk.KBMVUIWR.js +0 -6
  167. package/dist/preview/chunk.KG5R4GTK.js +0 -1
  168. package/dist/preview/chunk.LBIDNJ6G.js +0 -1
  169. package/dist/preview/chunk.MXU3VQSQ.js +0 -1
  170. package/dist/preview/chunk.NQTCOBOQ.js +0 -1
  171. package/dist/preview/chunk.O4X5WJIC.js +0 -1
  172. package/dist/preview/chunk.ORKXXLWD.js +0 -1
  173. package/dist/preview/chunk.OUN2H3TR.js +0 -1
  174. package/dist/preview/chunk.QJUFVEAU.js +0 -1
  175. package/dist/preview/chunk.RY4E4JRI.js +0 -1
  176. package/dist/preview/chunk.S6BZXNMV.js +0 -1
  177. package/dist/preview/chunk.U3ETEQDO.js +0 -1
  178. package/dist/preview/chunk.VCOIFBUE.js +0 -1
  179. package/dist/preview/chunk.VP35BUUZ.js +0 -349
  180. package/dist/preview/chunk.XVWJD2DG.js +0 -2
  181. package/dist/preview/chunk.YQDIVHCH.js +0 -1
  182. package/dist/preview/chunk.YWVOACSX.js +0 -5
  183. package/dist/preview/chunk.ZHRW2UF4.js +0 -1
  184. package/dist/preview/chunk.ZUJZVK2X.js +0 -1
@@ -0,0 +1,14 @@
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 lt,B as ce,C as In,D as We,E as Ge,F as _r,G as Fn,H as Re,I as Yr,J as Qr,K as H,L as dt,M as yt,N as Zr,O as ht,P as Yt,Q as Xr,R as J,S as Qt,T as ae,U as Wn,a as j,b as we,c as z,d as Ut,e as On,f as Hn,g as st,h as Z,i as ye,j as ne,k as C,l as X,m as K,n as ve,o as Vt,p as Se,q as ie,r as Vr,s as ft,t as jt,u as _,v as Fe,w as jr,x as zt,y as Ae,z as zr}from"./chunk.B6KT6BTG.js";import{a as Ie}from"./chunk.ZBR2QY67.js";import{a as _t,c as Y}from"./chunk.K46YRA65.js";import{b as Nn,c as Gr,d as Ur}from"./chunk.UJKT2G6M.js";import{a as Kr,d as Br,e as qr}from"./chunk.UGFDSE37.js";import{a as Or,c as Hr,f as Ir,g as Fr,i as Wr,j as Dr}from"./chunk.DLFWBG33.js";import{a as Cr,b as Ar,c as Rr,d as $n}from"./chunk.RYRTKIKB.js";import{b as Pr}from"./chunk.M5GJHVWZ.js";import{a as Lr,b as Tr,d as Kt,e as Mr,f as Er,i as Bt}from"./chunk.HZGVEHEN.js";import{a as qt,b as Gt}from"./chunk.PXQVXBNG.js";import{a as Nt,b as Ga,c as Ua,d as Ot,e as Va}from"./chunk.FPASZ4RD.js";import{b as Xa,c as or,e as ir,f as Ln}from"./chunk.2YABX3SC.js";import{a as Rn,b as rr}from"./chunk.DQOCBKC3.js";import{a as Wt,b as Dt,c as kr,e as br}from"./chunk.LSLLKICK.js";import{a as it,b as nr,e as ar}from"./chunk.EAUVEVVO.js";import{m as xr}from"./chunk.ZJ2VS4M4.js";import{a as lr,b as dr,c as cr,e as Sr,f as En,h as Ft}from"./chunk.PKUDIWIF.js";import{d as gr,e as mr,f as fr,g as yr,n as hr,o as wr,q as vr,s as It}from"./chunk.VW2VCPJX.js";import{a as Tn}from"./chunk.UKAPFIPJ.js";import{a as Cn,b as Qa,c as Za}from"./chunk.UT6642FC.js";import{a as sr}from"./chunk.IW7YFPGG.js";import{c as Ja,d as er,j as mt}from"./chunk.OYHQSXNC.js";import{r as An,s as tr}from"./chunk.6MADC6DM.js";import{g as Ht}from"./chunk.HDRD33II.js";import{b as ja,c as za,d as _a,e as Ya}from"./chunk.DX357TZ3.js";import{C as Mn,K as $r,N as Nr,e as Ba,f as qa,j as Ko,u as pr,v as ur}from"./chunk.6BJBPDF3.js";import{$ as oe,Ea as Ka,G as He,L as Ma,N as Ea,Q as $a,R as U,S as Pn,V as Na,W as Oa,_ as Ha,ca as Ia,da as Fa,fa as Wa,ja as ot,la as Da,na as Et,qa as $t,r as Ta,v as Oe}from"./chunk.XWAMQPUM.js";import{a as La}from"./chunk.SDO3U72B.js";import{$c as Ca,J as ga,U as gt,Vc as bn,Wb as ka,Xa as wa,Za as va,Zb as ba,_b as xa,_c as Tt,ba as rt,bd as Mt,ca as de,ea as ze,fa as Rt,gb as kn,ha as qe,hb as Sa,ja as ma,ka as fa,kd as xn,la as _e,ld as Aa,qb as Lt,qd as Ra,vc as Pa,wa as ya,xa as ha}from"./chunk.AS4CQBOQ.js";import{b as F}from"./chunk.AJZBJBMO.js";function Jr(e,t,n={}){let a=e.graph.getNode(t);if(!a)return;let r=e.schema.tryDefinition(a.kind),o=s=>de(e.schema.tryDefinition(s.kind),s),l=new Map;for(let s of e.graph.allEdges()){let d=s.from===t?"out":s.to===t?"in":null;if(!d)continue;let c=d==="out"?s.to:s.from,p=e.graph.getNode(c);if(!p)continue;let w=(d==="out"?r:e.schema.tryDefinition(p.kind))?.edges?.[s.kind],g=d==="in"?w?.inverse??w?.description:w?.description,L=`${s.kind}|${d}|${g??""}`;(l.get(L)??(()=>{let b={edgeKind:s.kind,direction:d,...g?{description:g}:{},targets:[]};return l.set(L,b),b})()).targets.push({id:p.id,kind:p.kind,label:o(p)})}return{id:t,kind:a.kind,label:o(a),fields:_a(mt(e.schema,e.graph,a),r),violations:kn(e.violations(n.context),[t]),actions:Tn(e,[t],{focus:t,...n.principal?{principal:n.principal}:{},...n.context?{context:n.context}:{}}),links:[...l.values()].map(s=>{let d=ja(s.targets.flatMap(c=>{let p=e.graph.getNode(c.id);return p?[p]:[]}),c=>e.schema.tryDefinition(c));return{...s,targets:[...s.targets].map(c=>d.has(c.id)?{...c,apart:d.get(c.id)}:c).sort((c,p)=>c.label.localeCompare(p.label))}})}}function Ye(e,t,n={}){return{kind:t,members:e.graph.nodesOfKind(t),actions:Tn(e,[],{kindSelection:[t],...n.principal?{principal:n.principal}:{},...n.context?{context:n.context}:{}})}}function eo(e,t){let n=(o,l)=>`${o}|${JSON.stringify(l)}`,a=new Map;for(let o of[...e.affordances,...e.withheld]){if(o.provider!=="invariant")continue;let l=n(o.mutation,o.args);a.has(l)||a.set(l,o.rank??Number.MAX_SAFE_INTEGER)}let r=Number.MAX_SAFE_INTEGER;return[...t].map((o,l)=>({repair:o,declared:l})).sort((o,l)=>(a.get(n(o.repair.mutation,o.repair.args??{}))??r)-(a.get(n(l.repair.mutation,l.repair.args??{}))??r)||o.declared-l.declared).map(o=>o.repair)}function Qe(e){let t=e.schema.kinds.map(r=>({kind:r,plural:qe(e.schema,r),count:e.graph.nodesOfKind(r).length})),n=new Map;for(let r of e.graph.allEdges()){let o=e.graph.getNode(r.from),l=e.graph.getNode(r.to);if(!o||!l)continue;let s=`${r.kind}|${o.kind}|${l.kind}`;n.set(s,(n.get(s)??0)+1)}let a=[];for(let{kind:r}of t){let o=e.schema.tryDefinition(r)?.edges??{};for(let[l,s]of Object.entries(o)){let d=s.to==="*"||s.to===void 0?(()=>{let c=[...n.keys()].filter(p=>p.startsWith(`${l}|${r}|`)).map(p=>p.split("|")[2]);return c.length>0?c:["*"]})():s.to;for(let c of d)a.push({edgeKind:l,from:r,to:c,...s.description?{description:s.description}:{},...s.inverse?{inverse:s.inverse}:{},count:n.get(`${l}|${r}|${c}`)??0})}}return{kinds:t,relations:a}}var De=F(He(),1);var wt=F(He(),1);var Le=F(U(),1),qo={problems:"Problems",search:"Search",map:"Connections",places:"Pictures","~draft":"A view drawn"},Go=e=>{try{return decodeURIComponent(e)}catch{return e}};function Uo(e,t,n={}){let{store:a}=e,r=a.schema,o=(n.base??"").replace(/\/$/,""),[l="/",s=""]=t.split("#")[0].split("?"),d=(x,$,T)=>({label:x,href:`${o}${$}`,path:$,...T?{current:T}:{}}),c=x=>{let $=n.registry?.sectionOf(x);return $?[$.path===void 0?{label:$.label}:d($.label,$.path)]:[]},p=x=>n.registry?.sectionOf(x)?.label,S=x=>{let $=p(x);return $===void 0?{}:{section:$}},[w,g,...L]=l.split("/").filter(Boolean).map(Go);if(w===void 0)return{as:"home",label:"Home",trail:[d("Home","/",!0)]};if(w==="places"&&g!==void 0&&L.length===0){let x=new URLSearchParams(s).get("of"),$=new Set(Fe(a,e.principal)),T=e.views?.places()??[],M=T.find(V=>$.has(V.kind)&&V.as===g&&(!x||j(r,V.kind)===x));if(M){let V=Ut(M.as,Tt(M,T)?j(r,M.kind):void 0);return{as:"place",kind:M.kind,label:M.title,...S(M.kind),trail:[...c(M.kind),d(M.title,V,!0)]}}}let I=L.length===0?we(r,w):void 0;if(I!==void 0){let x=d(qe(r,I),`/${j(r,I)}`);if(g===void 0)return{as:"list",kind:I,label:x.label,...S(I),trail:[...c(I),{...x,current:!0}]};let $=a.graph.getNode(g),T=$&&$.kind===I?de(r.tryDefinition(I),$):"Nothing lives here";return{as:"record",kind:I,id:g,label:T,...S(I),trail:[...c(I),x,d(T,z(r,I,g),!0)]}}let b=qo[w]??Vo((L.at(-1)??g??w).replace(/[-_]+/g," "));return{as:"page",label:b,trail:[d(b,l,!0)]}}var Vo=e=>e.charAt(0).toUpperCase()+e.slice(1),Dn=(0,wt.createContext)(null);function jo(e){let t=ce(),n=lt("/");return Y(e.context.store),Uo(e.context,`${t.pathname}${t.search}`,{registry:e.registry,base:n})}var zo={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",border:0},to={display:"flex",alignItems:"center",gap:6,minWidth:0},no={display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,lineHeight:"24px"};function ct({context:e,style:t}){let n=(0,wt.useContext)(Dn),a=(0,wt.useContext)(yt);return ht(a??Yo,"trail")||n?.registry?.without().has("trail")?null:(0,Le.jsx)(_o,{root:n??{context:e,registry:void 0},context:e,...t?{style:t}:{}})}function _o({root:e,context:t,style:n}){let a=jo(e);return a.trail.length<2?null:(0,Le.jsx)(Qo,{here:a,mark:a.as==="record"?{kind:a.kind,context:t}:void 0,...n?{style:n}:{},"data-testid":"page-trail"})}var Yo={count:()=>0,place:()=>()=>{},subscribe:()=>()=>{}};function Qo({here:e,mark:t,style:n,...a}){let r=e.as==="record"?e.trail.length-2:-1;return(0,Le.jsx)("nav",{"aria-label":"You are here","data-graview-trail":"",style:{minWidth:0,...n},...a,children:(0,Le.jsx)("ol",{style:{...ye,listStyle:"none",padding:0,display:"flex",alignItems:"center",gap:6,minWidth:0,overflow:"hidden"},children:e.trail.map((o,l)=>(0,Le.jsxs)("li",{style:o.current?zo:{...to,flexShrink:l===e.trail.length-2?0:1,maxWidth:"100%"},...o.current?{"aria-current":"page"}:{},children:[l>0&&!o.current?(0,Le.jsx)("span",{"aria-hidden":"true",children:"\u203A"}):null,o.current?o.label:o.path!==void 0?(0,Le.jsxs)(H,{to:o.path,style:{...ve,...to},...l===r?{"data-testid":"trail-list"}:{},children:[l===r&&t?(0,Le.jsx)(ie,{kind:t.kind,brand:t.context.brand,schema:t.context.store.schema,size:8}):null,(0,Le.jsx)("span",{style:no,children:o.label})]}):(0,Le.jsx)("span",{style:no,children:o.label})]},`${l}:${o.label}`))})})}var A=F(U(),1);function Te(e){let t=e.views;if(!t)return[];let n=new Set(Fe(e.store,e.principal));return t.places().filter(a=>n.has(a.kind))}function Zt(e,t){if(!t.over)return[t.kind];let n=new Set(Fe(e.store,e.principal));return t.over.filter(a=>a===t.kind||n.has(a))}var Ze=e=>`place:${e.kind}:${e.as}`;function pe(e,t){return Ut(t.as,Tt(t,e.views?.places()??[])?j(e.store.schema,t.kind):void 0)}function vt(e,t){let n=e.schema.tryDefinition(t);return e.graph.nodesOfKind(t).filter(a=>rt(n,a))}function Kn(e,t,n){let a=(o,l)=>Rt(e.schema,l,o),r=(typeof t=="string"?[t]:t).map(o=>a(vt(e,o).length,o)).join(" and ");return n?`${r} across ${a(vt(e,n).length,n)}`:r}function Bn({context:e,place:t,chosen:n,filter:a}){let{store:r,views:o,invariantContext:l}=e,d=o?.resolve(t.kind,{cardinality:"many",fidelity:"full"},t.as)?.view,c=[...new Set(r.violations(l).flatMap(w=>w.nodeIds))],p=Zt(e,t).flatMap(w=>vt(r,w));if(!d)return null;let S=Zo(r,p,a,c);return(0,A.jsx)(An,{kind:t.kind,view:t.title,children:(0,A.jsx)(d,{nodes:S,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1,...n&&n.length>0?{implicated:n}:{},...c.length>0?{flagged:c}:{}})})}function Zo(e,t,n,a){let r=n?Mt({filter:n}).filter??[]:[];return r.length===0?t:Ft(t,{filter:r},{schema:e.schema,graph:e.graph,flagged:new Set(a)}).nodes}function Xo({store:e,views:t,as:n,invariantContext:a}){Y(e);let r={store:e,views:t,...a?{invariantContext:a}:{}},o=t.places().find(l=>l.as===n);return o?(0,A.jsx)(Bn,{context:r,place:o}):null}function Jo({context:e,kind:t}){let{store:n,views:a,invariantContext:r}=e,o=vt(n,t),l=n.schema.tryDefinition(t),s=_(n,t),c=a?.resolve(t,{cardinality:"many",fidelity:"full"})?.view,p=[...new Set(n.violations(r).flatMap(L=>L.nodeIds))];if(c&&!ot(c))return(0,A.jsx)(An,{kind:t,children:(0,A.jsx)(c,{nodes:o,label:s,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1,...p.length>0?{flagged:p}:{}})});let S=a?.resolve(t,{cardinality:"one",fidelity:"summary"})?.view,w=8,g=o.slice(0,w);return(0,A.jsxs)("div",{"data-testid":"kind-sheet",style:S?{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(200px, 1fr))",gridAutoRows:"max-content",alignContent:"center",gap:12,padding:24}:{display:"flex",flexWrap:"wrap",alignContent:"center",justifyContent:"center",gap:10,padding:24},children:[g.map(L=>S?(0,A.jsx)(S,{node:L,fidelity:"summary",cardinality:"one",mode:"fullscreen",selected:!1,...p.includes(L.id)?{flagged:[L.id]}:{}},L.id):(0,A.jsx)("span",{style:{padding:"8px 14px",borderRadius:8,border:"1px solid var(--graview-edge-bright)",background:"var(--graview-ground)",color:"var(--graview-ink)"},children:de(l,L)},L.id)),o.length>w?(0,A.jsxs)("span",{style:{...C,alignSelf:"center",padding:"0 6px"},children:["+",o.length-w," more ",s.toLowerCase()]}):null]})}function qn(e){let{store:t}=e,n=jr(e),a=Te(e),r=e.views?.arrangement?.()?.order??[],o=d=>{let c=d.name===void 0?-1:r.indexOf(`view:${d.name}`);return c>=0?c-r.length:n.indexOf(d.kind)},l=bn([...a].sort((d,c)=>o(d)-o(c))).filter(d=>!d.hidden),s=new Set(l.flatMap(d=>d.over??[d.kind]));return[...l.map(d=>({key:Ze(d),kind:d.kind,title:Ca(d,a,t.schema),to:pe(e,d),place:d})),...zt(e).filter(d=>!s.has(d)).map(d=>({key:`kind:${d}`,kind:d,title:_(t,d),to:`/${j(t.schema,d)}`}))]}var ao=.72,ei=540,ro=16/10;function ti(e){let t=(0,De.useRef)(null),[n,a]=(0,De.useState)(e);return(0,De.useLayoutEffect)(()=>{let r=t.current;if(!r||typeof ResizeObserver>"u")return;let o=()=>{let s=r.getBoundingClientRect().width;s>0&&a(d=>Math.abs(d-s)<.5?d:s)};o();let l=new ResizeObserver(o);return l.observe(r),()=>l.disconnect()},[]),{ref:t,width:n}}function ni(e){for(let t=e.parentElement;t;t=t.parentElement)if(/(auto|scroll)/.test(getComputedStyle(t).overflowY))return t;return null}function ai(e){let[t,n]=(0,De.useState)(()=>typeof IntersectionObserver>"u");return(0,De.useLayoutEffect)(()=>{let a=e.current;if(t||!a)return;let r=new IntersectionObserver(o=>{o.some(l=>l.isIntersecting)&&(r.disconnect(),n(!0))},{root:ni(a),rootMargin:"50% 0px"});return r.observe(a),()=>r.disconnect()},[t,e]),t}function Gn({context:e,entry:t}){let{store:n,brand:a,principal:r}=e,{ref:o,width:l}=ti(ei),s=ai(o),d=l/ao,c=vt(n,t.kind),p=n.schema.tryDefinition(t.kind),S=c.length===0?Ye(n,t.kind,{...r?{principal:r}:{},...e.invariantContext?{context:e.invariantContext}:{}}).actions.affordances[0]:void 0,w=t.place!==void 0;return(0,A.jsxs)(H,{to:t.to,"data-testid":w?"place-card":"kind-card",className:"graview-gallery-card",style:{...ve,display:"grid",gap:10,alignContent:"start",minWidth:0},children:[(0,A.jsxs)("span",{ref:o,"data-testid":w?"place-picture":"kind-picture","aria-hidden":"true",inert:!0,style:{display:"block",position:"relative",width:"100%",aspectRatio:`${ro}`,overflow:"hidden",borderRadius:12,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",pointerEvents:"none"},children:[(0,A.jsx)("span",{style:{position:"absolute",left:0,top:0,width:d,height:d/ro,display:"grid",gridTemplateRows:"minmax(0, 1fr)",transform:`scale(${ao})`,transformOrigin:"0 0"},children:s?(0,A.jsx)(Kt.Provider,{value:null,children:t.place?(0,A.jsx)(Bn,{context:e,place:t.place}):(0,A.jsx)(Jo,{context:e,kind:t.kind})}):null}),c.length===0?(0,A.jsx)("span",{"data-testid":"picture-empty",style:{position:"absolute",inset:0,display:"grid",placeContent:"center",justifyItems:"center",gap:2,padding:20,textAlign:"center"},children:(0,A.jsxs)("span",{style:{display:"grid",gap:2,padding:"10px 16px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-ground)",color:"var(--graview-ink)"},children:[(0,A.jsxs)("span",{style:{fontFamily:Hn,fontWeight:"var(--graview-weight-display)"},children:["No ",_(n,t.kind).toLowerCase()," yet"]}),S?(0,A.jsxs)("span",{style:C,children:["Begin with \u201C",S.label,"\u201D"]}):null]})}):null]}),(0,A.jsxs)("span",{style:{display:"grid",gap:2,minWidth:0},children:[(0,A.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,minWidth:0},children:[w?null:(0,A.jsx)(ie,{kind:t.kind,brand:a,schema:n.schema,size:8}),(0,A.jsx)("span",{style:{fontFamily:Hn,fontSize:"var(--graview-text-heading)",fontWeight:"var(--graview-weight-display)",lineHeight:1.3,overflowWrap:"anywhere",textWrap:"balance"},children:t.title})]}),(0,A.jsxs)("span",{style:C,children:[t.place?Kn(n,Zt(e,t.place),t.place.across):Kn(n,t.kind),!w&&p?.description?` \xB7 ${p.description}`:null]})]})]})}var oo={display:"grid",gap:"32px 28px",gridTemplateColumns:"repeat(auto-fill, minmax(min(420px, 100%), 1fr))"},ri=`
2
+ .graview-gallery-card > span:first-child { transition: border-color 160ms ease, box-shadow 160ms ease; }
3
+ .graview-gallery-card:hover > span:first-child,
4
+ .graview-gallery-card:focus-visible > span:first-child { border-color: var(--graview-edge-bright); box-shadow: 0 1px 0 var(--graview-edge), 0 10px 30px -18px var(--graview-ink); }
5
+ `;function Un({context:e}){Y(e.store);let t=qn(e);return t.length===0?null:(0,A.jsxs)("section",{style:oo,"data-testid":"gallery",children:[(0,A.jsx)("style",{children:ri}),t.map(n=>(0,A.jsx)(Gn,{context:e,entry:n},n.key))]})}function Vn({context:e}){let{store:t}=e;Y(t);let n=bn(Te(e)).filter(r=>!r.hidden),a=qn(e);return(0,A.jsxs)(J,{context:e,style:st,children:[(0,A.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,A.jsx)("p",{style:ye,children:n.length===0?"None of its own yet":`${n.length} ${n.length===1?"picture":"pictures"}`}),(0,A.jsx)(ae,{context:e,children:"Pictures"}),(0,A.jsx)("p",{style:ne,children:n.length===0?"Nothing here has a picture of its own yet, so each kind is drawn as the scene draws it. Title a group view and it appears here by name.":"The ways this installation looks at what it holds \u2014 each one the same picture the scene shows, here as a page."})]}),a.length>0?(0,A.jsx)("div",{style:oo,"data-testid":"places",children:a.map(r=>(0,A.jsx)(Gn,{context:e,entry:r},r.key))}):null]})}function jn({context:e}){let{store:t,principal:n}=e;Y(t);let a=Ge(),r=We(),[o]=dt(),l=decodeURIComponent(a.as??""),[s,d]=(0,De.useState)(null),c=o.get("of"),p=o.get("filter"),w=Te(e).find(T=>T.as===l&&(!c||j(t.schema,T.kind)===c));if(!w)return(0,A.jsxs)(J,{context:e,children:[(0,A.jsx)(ae,{context:e,children:"No picture is called that."}),(0,A.jsx)("p",{style:ne,children:(0,A.jsxs)(H,{to:"/places",style:K,children:["The pictures there are ",(0,A.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]})})]});let g=_(t,w.kind),L=e.views?.resolve(w.kind,{cardinality:"many",fidelity:"full"},w.as)?.view,I=L?.flows===!0,b=L?.creates!==!1,x=Ye(t,w.kind,{...n?{principal:n}:{},...e.invariantContext?{context:e.invariantContext}:{}}),$=b?x.actions.affordances.map(T=>({affordance:T,mutation:t.allMutations().find(M=>M.name===T.mutation)})).filter(T=>T.mutation!==void 0):[];return(0,A.jsxs)(J,{context:e,style:st,children:[(0,A.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,A.jsx)(ct,{context:e}),(0,A.jsx)(ae,{context:e,children:w.title}),(0,A.jsxs)("p",{style:ne,"data-testid":"place-lede",children:[Kn(t,Zt(e,w),w.across),"."]}),p&&!I?(0,A.jsxs)("p",{style:{...C,margin:0},"data-testid":"place-narrowed",children:[`Only those where ${p.split(",").map(T=>T.replace(":"," is ")).join(" and ")}. `,(0,A.jsx)(H,{to:`?${(()=>{let T=new URLSearchParams(o);return T.delete("filter"),T.toString()})()}`,style:{...K,...C},children:"Show all"})]}):null,(0,A.jsx)("p",{style:{...C,margin:0,display:"flex",flexWrap:"wrap",gap:"4px 16px"},children:Zt(e,w).map((T,M)=>(0,A.jsxs)(H,{to:`/${j(t.schema,T)}`,style:{...K,...C},...M===0?{"data-testid":"place-as-list"}:{},children:["All ",(T===w.kind?g:_(t,T)).toLowerCase()," as a list ",(0,A.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]},T))})]}),(0,A.jsx)("div",{"data-testid":"place-lens","data-flows":I?"":void 0,style:I?{display:"grid",gridTemplateColumns:"minmax(0, 1fr)",maxWidth:"100%"}:{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",maxWidth:"100%",borderRadius:12,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)"},onClick:T=>{let M=T.target?.closest("[data-graview-pick]"),V=M?.getAttribute("data-graview-pick"),me=M?.getAttribute("data-graview-joins");if(me)try{let le=JSON.parse(me);if(Array.isArray(le)&&le.every(te=>typeof te=="string")){T.preventDefault(),d({at:Ze(w),ids:le});return}}catch{}if(!V)return;let be=t.graph.getNode(V);be&&(T.preventDefault(),r(z(t.schema,be.kind,V)))},children:(0,A.jsx)(Bn,{context:e,place:w,filter:p,...s?.at===Ze(w)?{chosen:s.ids}:{}})}),$.length>0?(0,A.jsx)("div",{style:{maxWidth:760,display:"grid",gap:40},"data-testid":"place-creators",children:$.map(({affordance:T,mutation:M})=>(0,A.jsxs)("section",{style:{...X,display:"grid",gap:14},children:[(0,A.jsx)("h2",{style:Z,children:M.title??M.name}),M.description?(0,A.jsx)("p",{style:{...C,margin:0,maxWidth:"58ch"},children:M.description}):null,(0,A.jsx)(Ie,{store:t,mutation:M,prefilled:T.args,open:T.open,label:T.label,...n?{principal:n}:{}})]},T.id))}):null]})}function oi(e,t=document){let n=qt(e);if(!n)return null;let a=[t,...[...t.querySelectorAll("[data-worker-view]")].flatMap(r=>r.shadowRoot?[r.shadowRoot]:[])];for(let r of a)for(let o of r.querySelectorAll("[id], [data-section]")){let l=o.getAttribute("data-section")??o.id;if(l===e||qt(l)===n)return o}for(let r of a)for(let o of r.querySelectorAll("h1, h2, h3, h4, h5, h6, [role=heading]"))if(qt(o.textContent??"")===n)return o;return null}function io(e,t={}){if(typeof document>"u"||typeof requestAnimationFrame>"u")return()=>{};let n=t.frames??120,a=0,r=()=>{let o=oi(e,t.root??document);if(o){o.hasAttribute("tabindex")||o.setAttribute("tabindex","-1"),o.scrollIntoView?.({block:"start"}),o.focus({preventScroll:!0});return}n-=1,n>0&&(a=requestAnimationFrame(r))};return a=requestAnimationFrame(()=>{a=requestAnimationFrame(r)}),()=>cancelAnimationFrame(a)}var G=F(He(),1);var Xt=F(He(),1);var Xe=F(U(),1);function so({context:e}){return oe()?(0,Xe.jsxs)(Xe.Fragment,{children:[(0,Xe.jsx)(ii,{context:e}),(0,Xe.jsx)(Hr,{face:"pages",on:e.quickAsk??!0})]}):null}function ii({context:e}){let{store:t}=e,n=oe(),{pathname:a}=ce(),r=(0,Xt.useRef)(n?.setSelection);return r.current=n?.setSelection,(0,Xt.useEffect)(()=>{let o=r.current;if(!o)return;let[,l,s]=a.split("/"),d=(()=>{if(l==="places"){let p=e.views?.places().find(S=>S.as===decodeURIComponent(s??""));return p?[Oe(p.kind)]:[]}let c=l?we(t.schema,l):void 0;return c&&s?[decodeURIComponent(s)]:c?[Ta(c)]:[]})();o(c=>c.length===d.length&&c.every((p,S)=>p===d[S])?c:d)},[a]),null}var ue=F(He(),1);var co=F(Ko(),1);var se=F(U(),1);var si=(0,ue.lazy)($t(La(()=>(__graviewPreload(import.meta.url,["./chunk.K46YRA65.js","./chunk.UJKT2G6M.js","./chunk.UGFDSE37.js","./chunk.DLFWBG33.js","./chunk.RYRTKIKB.js","./chunk.M5GJHVWZ.js","./chunk.HZGVEHEN.js","./chunk.JBW3DI7E.js","./chunk.CBUSFM3E.js","./chunk.NIVTK2W5.js","./chunk.FPASZ4RD.js","./chunk.2YABX3SC.js","./chunk.DQOCBKC3.js","./chunk.V5FIZIX2.js","./chunk.DQHPEKWK.js","./chunk.LSLLKICK.js","./chunk.EAUVEVVO.js","./chunk.C2UFMFJ3.js","./chunk.ZJ2VS4M4.js","./chunk.Y5ARSVH4.js","./chunk.PKUDIWIF.js","./chunk.VW2VCPJX.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.OYHQSXNC.js","./chunk.UHX4WTM7.js","./chunk.IKX4VDTW.js","./chunk.RNEJYIQ7.js","./chunk.TBQOSI4J.js","./chunk.KWQ7QOHD.js","./chunk.GZHZLJBF.js","./chunk.6MADC6DM.js","./chunk.OJGHDWI6.js","./chunk.JLEC3USG.js","./chunk.HDRD33II.js","./chunk.DX357TZ3.js","./chunk.H7KCWCB4.js","./chunk.6BJBPDF3.js","./chunk.XWAMQPUM.js","./chunk.SDO3U72B.js","./chunk.AS4CQBOQ.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.HWCHFQ7O.js")).then(e=>({default:e.TakeBack})))));function li({context:e,docked:t,at:n,...a}){let{store:r}=e,o=Y(r),[l]=(0,ue.useState)(()=>r.batches().length),s=(0,ue.useRef)(!1);return s.current||=o>0||!t&&l>0,s.current?(0,se.jsx)(ue.Suspense,{fallback:null,children:(0,se.jsx)(si,{context:e,docked:t,at:n,since:l,...a})}):null}function di(e,t,n){let{store:a,principal:r,embedded:o}=e;(0,ue.useEffect)(()=>{if(!n)return;let l=s=>{if(!qr(s))return;let d=s.target,c=d instanceof Node&&t.current?.contains(d),p=d===document.body||d===document.documentElement||d===document;if(!(!c&&!(p&&!o))&&Kr(a,r)){s.preventDefault();try{Br(a,r)}catch{}}};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[a,r,o,t,n])}function po({context:e,registry:t,root:n,children:a}){let r=(0,ue.useMemo)(Zr,[]),o=t?.without()??new Set;return di(e,n,!o.has("undo")),(0,se.jsxs)(yt.Provider,{value:r,children:[(0,se.jsx)(ci,{context:e,placed:r,without:o}),a]})}function ci({context:e,placed:t,without:n}){let[a,r]=(0,ue.useState)(!1);(0,ue.useLayoutEffect)(()=>r(!0),[]);let o=ht(t,"find"),l=ht(t,"undo"),s=ce(),d=ur();if(!a)return null;let c=s.pathname.split("/").filter(Boolean),S=(c.length===1?we(e.store.schema,c[0]):void 0)!==void 0;return(0,se.jsxs)(se.Fragment,{children:[!o&&!n.has("find")&&d?(0,co.createPortal)((0,se.jsx)(lo,{context:e,narrowsLists:S}),d.slot):null,!o&&!n.has("find")&&!d?(0,se.jsx)("div",{"data-testid":"face-find-bar",style:{display:"flex",alignItems:"center",padding:"8px 16px",borderBottom:"1px solid var(--graview-edge)",background:"var(--graview-bar)",minWidth:0},children:(0,se.jsx)(lo,{context:e,narrowsLists:S})}):null,!l&&!n.has("undo")?(0,se.jsx)(li,{context:e,docked:!0,at:s.pathname+s.search}):null,d?.own&&!n.has("undo")?(0,se.jsx)(zr,{context:e,own:d.own}):null]})}function lo({context:e,narrowsLists:t}){return(0,se.jsx)(yt.Provider,{value:null,children:(0,se.jsx)(Wn,{context:e,narrowsLists:t})})}var Q=F(He(),1);var ke=F(U(),1),pi=500,ui=10;function Jt(e){return e instanceof HTMLElement?e.isContentEditable||e.tagName==="TEXTAREA"||e.tagName==="SELECT"?!0:e.tagName==="INPUT"&&!["button","submit","reset","checkbox","radio","image","file","color","range"].includes(e.type):!1}function gi(e){let t=typeof getSelection=="function"?getSelection():null;return t!==null&&!t.isCollapsed&&t.containsNode(e,!0)}function uo(e){let t=e.closest('a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])');if(t)return t;let n=document.activeElement;return n instanceof HTMLElement&&n!==document.body?n:null}function go({context:e,root:t,children:n}){return oe()===null?(0,ke.jsx)(ke.Fragment,{children:n}):(0,ke.jsx)(mi,{context:e,root:t,children:n})}function mi({context:e,root:t,children:n}){let{setMenuAt:a}=Ha(),{store:r}=e,o=r.schema,l=We(),{pathname:s,search:d}=ce(),c=lt("/").replace(/\/$/,""),p=(0,Q.useCallback)((h,m)=>e.views?.places().find(R=>R.as===h&&(m===null||R.kind===m)),[e.views]),S=(0,Q.useCallback)((h,m)=>{let[R="",N,ee]=h.split("/").filter(Boolean).map(P=>{try{return decodeURIComponent(P)}catch{return P}});if(ee!==void 0)return null;if(R==="places"&&N!==void 0){let P=p(N,new URLSearchParams(m).get("of"));return P?{face:"pages",place:P.as,about:[Oe(P.kind)],title:P.title}:null}let u=we(o,R);return u?N===void 0?{face:"pages",about:[Oe(u)],title:qe(o,u)}:r.graph.getNode(N)?{face:"pages",on:N,about:[N]}:null:null},[o,r,p]),w=(0,Q.useCallback)(h=>{let m=h.href;try{let R=new URL(m,location.href);if(R.origin===location.origin&&(c===""||R.pathname===c||R.pathname.startsWith(`${c}/`))){let N=S(R.pathname.slice(c.length),R.search);if(N)return{...N,href:m}}}catch{}return{face:"pages",about:[],href:m}},[c,S]),g=(0,Q.useCallback)(()=>S(s,d)??{face:"pages",about:[]},[S,s,d]),L=(0,Q.useCallback)(h=>{let m=g(),R=h.closest("[data-graview-field]")?.getAttribute("data-graview-field");if(R&&m.on!==void 0&&h.closest("[data-graview-pick], a[href]")===null)return{...m,field:R};let N=h.closest("[data-graview-act]")?.getAttribute("data-graview-act");if(N)return{...m,act:N};let ee=h.closest("a[href]"),u=h.closest("[data-graview-listed]"),P=[h.closest("[data-graview-pick]")?.getAttribute("data-graview-pick"),u&&(!ee||u.contains(ee)&&ee.classList.contains("graview-spec-item-link"))?u.getAttribute("data-graview-listed"):null].map(fe=>fe?r.graph.getNode(fe):void 0).find(Boolean);if(P)return{face:"pages",on:P.id,about:[P.id],href:`${c}${z(o,P.kind,P.id)}`};if(ee)return w(ee);let q=h.closest("[data-graview-record]")?.getAttribute("data-graview-record");return q&&r.graph.getNode(q)?{face:"pages",on:q,about:[q]}:m},[g,w,r,o,c]),I=(0,Q.useCallback)(h=>{let m=t.current;if(m===null||!m.contains(h)||Jt(h)||h.closest("[data-graview-popover]"))return null;let R=L(h);return{face:"pages",on:R.on,about:R.about??[],field:R.field,place:R.place,href:R.href,act:R.act,element:uo(h)}},[L,t]),b=(0,Q.useCallback)((h,m,R)=>{let N=L(h);a({...N,x:Math.round(m),y:Math.round(R),returnTo:uo(h)})},[L,a]),x=(0,Q.useCallback)(h=>{let m=h.getBoundingClientRect();b(h,m.left+Math.min(16,m.width/2),Math.min(m.bottom,m.top+36))},[b]),$=(0,Q.useRef)(0),T=(0,Q.useRef)(null),M=(0,Q.useRef)(!1),V=()=>{T.current&&clearTimeout(T.current.timer),T.current=null};(0,Q.useEffect)(()=>V,[]),(0,Q.useEffect)(()=>{let h=m=>{if(m.defaultPrevented||!(m.key==="ContextMenu"||m.key==="F10"&&m.shiftKey))return;let R=t.current,N=m.target instanceof Element?m.target:null,ee=N===null||N===document.body||N===document.documentElement,u=R!==null&&N!==null&&R.contains(N);if(!u&&!(ee&&document.querySelector("[data-graview-face='pages']")===R)||Jt(N)||N?.closest("[data-graview-popover]"))return;m.preventDefault(),$.current=Date.now();let P=u&&N instanceof HTMLElement?N:R?.querySelector("[data-graview-page-title], main h1, main")??null;P&&x(P)};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[t,x]),(0,Q.useEffect)(()=>{let h=t.current;if(!h)return;let m=R=>{let N=R.detail;N&&a({...N,face:"pages"})};return h.addEventListener(Pn,m),()=>h.removeEventListener(Pn,m)},[t,a]);let me=(0,Q.useMemo)(()=>h=>{if(h.face!=="pages")return null;let m=[],R=h.on===void 0?void 0:r.graph.getNode(h.on),N=h.place===void 0?void 0:e.views?.places().find(Ee=>Ee.as===h.place),ee=R?void 0:h.about.length===1&&h.about[0].startsWith("aggregate:")&&!N?fi(h.about[0]):void 0,u=R?z(o,R.kind,R.id):N?pe(e,N):ee?`/${j(o,ee)}`:void 0,P=u!==void 0&&s===u.split("?")[0];u!==void 0&&!P&&m.push({id:"open",label:"Open",run:()=>l(u)});let q=u!==void 0?`${c}${u}`:h.href;q!==void 0&&m.push({id:"open-in-a-new-tab",label:"Open in a new tab",run:()=>void window.open(q,"_blank","noopener")});let fe=R?`#focus=${encodeURIComponent(R.id)}`:N?`#focus=${encodeURIComponent(Oe(N.kind))}&view=${encodeURIComponent(N.as)}`:ee?`#focus=${encodeURIComponent(Oe(ee))}`:void 0;if(fe!==void 0&&(e.overview||!e.embedded)){let Ee=e.overview;m.push({id:"in-the-scene",label:"Show in the scene",run:()=>Ee?Ee(fe):location.assign(`${e.sceneHref??"/"}${fe}`)})}return R===void 0&&h.href===void 0&&m.push({id:"find",label:"Find\u2026",run:()=>{let Ee=t.current?.querySelector('[data-testid="nav-find"]')??document.querySelector('[data-testid="nav-find"]');Ee&&Ee.offsetParent!==null?Ee.focus():l("/search")}}),m.length>0?{id:"pages",items:m}:null},[r,o,e,s,c,l,t]),be=(0,Q.useMemo)(()=>h=>{if(h.face!=="pages"||h.field===void 0||h.on===void 0)return null;let m=r.graph.getNode(h.on),R=h.element?.closest("[data-graview-field]")??t.current?.querySelector(`[data-graview-field="${CSS.escape(h.field)}"]`);return!m||!(R instanceof HTMLElement)||!R.hasAttribute("data-graview-editable")?null:{id:"field",at:"start",items:[{id:"change-field",label:`Change \u201C${ma(o.tryDefinition(m.kind),h.field)}\u201D`,run:()=>R.click()}]}},[r,o,t]),le=Fr(),te=or(),he=Pr(),Ke=(0,Q.useCallback)((h,m)=>{s===pe(e,h).split("?")[0]&&l(m?pe(e,m):"/")},[s,e,l]),xe=Dr(Ke),Pe=(0,Q.useMemo)(()=>[be,he,me,...xe?[xe]:[],...te?[te]:[],...le?[le]:[]],[be,he,me,xe,te,le]);return(0,ke.jsxs)(tr,{sections:Pe,children:[(0,ke.jsx)("div",{"data-graview-menu-ground":"",style:{display:"contents"},onContextMenu:h=>{let m=h.target;h.shiftKey||Jt(m)||gi(m)||(h.preventDefault(),!m.closest("[data-graview-popover]")&&(Date.now()-$.current<700||(h.clientX===0&&h.clientY===0&&m instanceof HTMLElement?x(m):b(m,h.clientX,h.clientY))))},onPointerDown:h=>{if(M.current=!1,h.pointerType==="mouse"||!h.isPrimary)return;let m=h.target;if(Jt(m)||m.closest("[data-graview-choose], [data-graview-popover]"))return;V();let{clientX:R,clientY:N}=h;T.current={x:R,y:N,timer:setTimeout(()=>{T.current=null,M.current=!0,$.current=Date.now(),b(m,R,N)},pi)}},onPointerMove:h=>{let m=T.current;m&&Math.hypot(h.clientX-m.x,h.clientY-m.y)>ui&&V()},onPointerUp:V,onPointerCancel:V,onClickCapture:h=>{M.current&&(M.current=!1,h.preventDefault(),h.stopPropagation())},children:n}),(0,ke.jsx)(yi,{openAt:x,readyAt:I}),(0,ke.jsx)(Wr,{placement:"page"}),(0,ke.jsx)(ir,{})]})}function fi(e){let t=e.slice(10).split("+");return t.length===1&&t[0]?t[0]:void 0}function yi({openAt:e,readyAt:t}){return(0,ke.jsx)("span",{"data-graview-menu-home":"",tabIndex:-1,onFocus:n=>{if(n.target!==n.currentTarget)return;let a=n.currentTarget.closest("[data-graview-face]"),r=a?.querySelector("[data-graview-page-title]")??a?.querySelector("main h1, main")??null;r&&(r.hasAttribute("tabindex")||r.setAttribute("tabindex","-1"),r.focus({preventScroll:!0}))},style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:(0,ke.jsx)(Or,{placement:"menu",openActs:e,aimAt:t})})}var D=F(U(),1);function mo(e,t){return t==="*"?{label:"anything",path:null}:{label:_(e,t),path:`/${j(e.schema,t)}`}}function hi({context:e,relation:t}){let{store:n}=e,a=mo(n,t.from),r=mo(n,t.to),o=l=>l.path?(0,D.jsx)(H,{to:l.path,style:{...ve,fontWeight:550},children:l.label}):(0,D.jsx)("span",{children:l.label});return(0,D.jsxs)("li",{"data-testid":"relation","data-relation":t.edgeKind,style:{display:"grid",gridTemplateColumns:"30px minmax(0, 1fr) auto",gap:12,alignItems:"baseline"},children:[(0,D.jsx)(Ir,{edgeKind:t.edgeKind,...e.brand?.kit?{kit:e.brand.kit}:{}}),(0,D.jsxs)("span",{style:{display:"grid",gap:1},children:[(0,D.jsxs)("span",{children:[o(a)," ",(0,D.jsxs)("span",{style:C,"data-graview-speaks-ids":"",children:[ze(t.edgeKind)," \u2192"]})," ",o(r)]}),t.description||t.inverse?(0,D.jsxs)("span",{style:C,children:[t.description?Ae(t.description):null,t.description&&t.inverse?" \xB7 ":null,t.inverse?`from the other end, ${t.inverse}`:null]}):null]}),r.path?(0,D.jsx)(H,{to:`${r.path}?with=${encodeURIComponent(t.edgeKind)}`,style:{...K,...C,fontVariantNumeric:"tabular-nums",display:"inline-block",minWidth:24,minHeight:24,textAlign:"center"},title:`The ${r.label.toLowerCase()} that have this`,children:t.count}):(0,D.jsx)("span",{style:{...C,fontVariantNumeric:"tabular-nums"},children:t.count})]})}function fo({context:e,heading:t=!0}){let{store:n}=e,a=new Set(Fe(n,e.principal)),r=Qe(n).relations.filter(o=>a.has(o.from)&&(o.to==="*"||a.has(o.to)));return r.length===0?null:(0,D.jsxs)("section",{style:{...X,display:"grid",gap:12},"data-testid":"kind-map",children:[t?(0,D.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,D.jsx)("h2",{style:Z,children:(0,D.jsx)(H,{to:"/map",style:ve,children:"Connections"})}),(0,D.jsx)("span",{style:C,children:r.length===1?"1 relation":`${r.length} relations`})]}):null,(0,D.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:10},children:r.map(o=>(0,D.jsx)(hi,{context:e,relation:o},`${o.edgeKind}|${o.from}|${o.to}`))})]})}function zn({context:e}){let{store:t}=e;Y(t);let n=new Set(Fe(t,e.principal)),a=Qe(t),r=a.relations.filter(o=>n.has(o.from));return(0,D.jsxs)(J,{context:e,children:[(0,D.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,D.jsx)("p",{style:ye,children:r.length===0?"No relations":`${r.length} ${r.length===1?"relation":"relations"}`}),(0,D.jsx)(ae,{context:e,children:"Connections"}),(0,D.jsx)("p",{style:ne,children:r.length===0?"Nothing here is declared to relate to anything else yet.":"The kinds this installation holds, and the relations declared between them \u2014 each in the declaration's own words, with how many of it there are."})]}),(0,D.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:"6px 18px"},"data-testid":"map-kinds",children:a.kinds.filter(o=>n.has(o.kind)).map(o=>(0,D.jsxs)("li",{style:{display:"inline-flex",alignItems:"center",gap:8},children:[(0,D.jsx)(ie,{kind:o.kind,brand:e.brand,schema:t.schema,size:7}),(0,D.jsx)(H,{to:`/${j(t.schema,o.kind)}`,style:K,children:o.plural}),(0,D.jsx)("span",{style:C,children:o.count})]},o.kind))}),(0,D.jsx)(fo,{context:e,heading:!1})]})}function yo({context:e}){let n=[...oe()?.robots.values()??[]].filter(r=>r.mode==="asking"&&r.say);if(n.length===0)return null;let{store:a}=e;return(0,D.jsxs)("section",{style:{...X,display:"grid",gap:10},"data-testid":"seat-questions",children:[(0,D.jsx)("h2",{style:Z,children:n.length===1?"The seat asked something":`The seat asked ${n.length} things`}),(0,D.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:8},children:n.map(r=>{let o=r.at?a.graph.getNode(r.at):void 0;return(0,D.jsxs)("li",{style:{display:"grid",gap:2},children:[(0,D.jsx)("span",{children:r.say}),o?(0,D.jsxs)(H,{to:z(a.schema,o.kind,o.id),style:{...K,...C},children:[de(a.schema.tryDefinition(o.kind),o)," \u2192"]}):null]},r.participant)})})]})}var B=F(U(),1);function _n({context:e}){let{principal:t}=e,{store:n,brand:a,invariantContext:r}=e;Y(n);let o=n.violations(r),l=`${o.length===1?"A rule is broken":"Rules are broken"} \u2014 see what, and what would fix it`,s=[...n.log.all()].slice(-5).reverse(),c=zt(e).map(x=>({kind:x,members:n.graph.nodesOfKind(x).filter($=>rt(n.schema.tryDefinition(x),$))})),p=c.filter(x=>x.members.length>0),S=c.map(x=>({entry:x,creator:n.allMutations().find($=>($.creates??[]).includes(x.kind)&&n.permits({name:$.name,args:{}},e.principal).ok)})).find(x=>x.creator!==void 0),w=p.length===0?"Nothing here yet.":`${p.map(x=>Rt(n.schema,x.kind,x.members.length)).join(", ").replace(/, ([^,]*)$/," and $1")}.`,g=e.views?.homeView?.(),L=n.schema.kinds.some(x=>n.graph.nodesOfKind(x).length>0);if(g&&L){let x=a?.subtitle?(0,B.jsx)("p",{style:{...C,margin:0},"data-testid":"app-subtitle",children:a.subtitle}):null,$=g[Symbol.for("graview.home-blocks")]===!0;return(0,B.jsx)(J,{context:e,style:st,children:(0,B.jsxs)("div",{style:{display:"grid",gap:12},"data-testid":"home-view",children:[$?null:x,o.length>0?(0,B.jsx)(H,{to:"/problems",style:{...K,color:"var(--graview-warn)"},children:l}):null,(0,B.jsx)(Er.Provider,{value:$?x:null,children:(0,B.jsx)(Qt,{when:Et(g),children:(0,B.jsx)(g,{cardinality:"many",fidelity:"full",mode:"fullscreen",selected:!1})})})]})})}let I=new Set(Fe(n,e.principal)),b=Qe(n).relations.filter(x=>I.has(x.from)&&(x.to==="*"||I.has(x.to)));return(0,B.jsxs)(J,{context:e,style:st,children:[(0,B.jsxs)("header",{style:{display:"grid",gap:12},children:[a?.subtitle?(0,B.jsx)("p",{style:{...C,margin:0},"data-testid":"app-subtitle",children:a.subtitle}):null,(0,B.jsx)(ae,{context:e,"data-testid":"standing",children:w}),(0,B.jsxs)("p",{style:{...ne,display:"grid",gap:4},"data-testid":"standing-card",children:[p.length===0&&S?(0,B.jsxs)("span",{children:["Begin with \u201C",S.creator?.title??S.creator?.name,"\u201D, under"," ",(0,B.jsx)(H,{to:`/${j(n.schema,S.entry.kind)}`,style:K,children:_(n,S.entry.kind)}),"."]}):null,o.length===0?(0,B.jsx)("span",{children:"All rules hold."}):(0,B.jsx)(H,{to:"/problems",style:{...K,color:"var(--graview-warn)"},children:l})]})]}),(0,B.jsx)(Un,{context:e}),(0,B.jsxs)("section",{style:{...X,display:"grid",gap:14},"data-testid":"kinds",children:[(0,B.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[(0,B.jsx)("h2",{style:Z,children:"What is here"}),b.length>0?(0,B.jsxs)(H,{to:"/map",style:{...K,...C,marginLeft:"auto"},"data-testid":"map-link",children:["Connections \xB7 ",b.length===1?"1 relation":`${b.length} relations`," ",(0,B.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]}):null]}),(0,B.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:"8px 10px"},children:c.map(({kind:x,members:$})=>(0,B.jsx)("li",{style:{maxWidth:"100%"},children:(0,B.jsxs)(H,{to:`/${j(n.schema,x)}`,style:{...ve,flexWrap:"wrap",gap:8,padding:"6px 14px 6px 10px",borderRadius:8,border:"1px solid var(--graview-edge-bright)",background:"var(--graview-panel)"},children:[(0,B.jsx)(ie,{kind:x,brand:a,schema:n.schema,size:7}),(0,B.jsx)("span",{style:{fontWeight:550,overflowWrap:"anywhere"},children:_(n,x)}),(0,B.jsx)("span",{style:{...C,fontVariantNumeric:"tabular-nums"},children:$.length===0?"none yet":gt($.length)})]})},x))})]}),s.length>0?(0,B.jsxs)("section",{style:{...X,display:"grid",gap:10},children:[(0,B.jsx)("h2",{style:Z,children:"Recently"}),(0,B.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:6},children:s.map(x=>(0,B.jsxs)("li",{style:C,children:[(0,B.jsx)("span",{style:{color:"var(--graview-ink)"},children:x.intent})," \u2014 ",ft(x,t,{graph:n.graph,schema:n.schema,...e.seats?{seats:e.seats}:{},...e.people?{people:e.people}:{}})]},x.id))})]}):null]})}var Me=F(He(),1);var Je=F(U(),1);function en({context:e,withheld:t,style:n,testId:a}){let r=oe(),o=xa(t,e.signIn??r?.signIn);return o?(0,Je.jsx)("p",{style:{...n,margin:0},children:(0,Je.jsx)("button",{type:"button","data-testid":"sign-in",onClick:()=>o.run(),style:Se,children:o.label})}):t.length===0?null:(0,Je.jsx)("ul",{style:{...n,margin:0,padding:0,listStyle:"none",display:"grid",gap:4},...a?{"data-testid":a}:{},children:t.map(l=>(0,Je.jsxs)("li",{style:C,children:[(0,Je.jsx)("s",{children:l.label})," \u2014 ",l.refusal.message]},l.id))})}var E=F(U(),1);function Yn({context:e}){let{store:t,brand:n,principal:a,invariantContext:r}=e;Y(t);let[o]=dt(),l=o.get("q")??"",s=typeof r?.today=="string"?r.today:void 0,d=vr(t,l,{...a?{principal:a}:{},places:Te(e),flagged:new Set(t.violations(r).flatMap(g=>g.nodeIds)),...s?{today:s}:{},limit:200}),c=d.hits.filter(g=>g.about==="node"),p=d.hits.filter(g=>g.about==="kind"||g.about==="place"||g.about==="rule"),S=[...new Set(c.map(g=>g.kind))],w=l.trim();return(0,E.jsxs)(J,{context:e,children:[(0,E.jsx)("style",{children:Vt}),(0,E.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,E.jsx)("p",{style:ye,children:"Search"}),(0,E.jsx)(ae,{context:e,"data-testid":"search-heading",children:w.length===0?"Find anything by its name":d.hits.length===0?(0,E.jsxs)(E.Fragment,{children:["Nothing here is called \u201C",w,"\u201D."]}):(0,E.jsxs)(E.Fragment,{children:[wi(t,d.byKind)," for \u201C",w,"\u201D"]})}),w.length>0?(0,E.jsxs)("p",{style:{...C,margin:0},"data-testid":"search-searched",children:[It(t.schema,d.searched),d.conditions.filter(g=>g.key!=="is"&&g.admittedBy.length<d.searched.kinds.length).map(g=>(0,E.jsxs)("span",{children:[" ",g.key,":",g.value," narrows"," ",g.admittedBy.length===0?"nothing here":g.admittedBy.map(L=>_(t,L).toLowerCase()).join(" and "),"."]},`${g.key}:${g.value}`))]}):(0,E.jsxs)("p",{style:ne,children:["Type in the box above. Words find the start of words in names and in what each record says;"," ",(0,E.jsx)("code",{children:"done:false"})," and the like narrow as a list does, and ",(0,E.jsx)("code",{children:"is:any"})," includes what is past."]})]}),p.length>0?(0,E.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:6},"data-testid":"search-named",children:p.map(g=>(0,E.jsx)("li",{"data-testid":"search-hit","data-about":g.about,children:g.about==="kind"?(0,E.jsxs)(H,{to:`/${j(t.schema,g.kind)}`,style:K,children:[g.label,g.count>0?(0,E.jsxs)("span",{style:C,children:[" \xB7 ",g.count," match"]}):null]}):g.about==="place"?(0,E.jsxs)(H,{to:pe(e,g),style:K,children:["Go to ",g.title]}):g.about==="rule"?(0,E.jsxs)(H,{to:"/problems",style:K,children:["The rule \u201C",g.label,"\u201D"]}):null},`${g.about}:${g.about==="rule"?g.name:g.about==="place"?g.as:g.kind}`))}):null,S.map(g=>(0,E.jsxs)("section",{className:"graview-list",style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr)",minWidth:0},"data-testid":"search-group","data-kind":g,children:[(0,E.jsxs)("h2",{className:"graview-group-head",style:{alignItems:"center"},children:[(0,E.jsx)(ie,{kind:g,brand:n,schema:t.schema,size:8}),(0,E.jsx)(H,{to:`/${j(t.schema,g)}?${new URLSearchParams({q:w}).toString()}`,style:K,"data-testid":"search-kind-link",children:_(t,g)}),(0,E.jsx)("span",{children:d.byKind[g]})]}),(0,E.jsx)("ul",{className:"graview-rows",children:c.filter(L=>L.kind===g).map(L=>(0,E.jsxs)("li",{"data-testid":"search-hit","data-about":"node",className:"graview-row",children:[(0,E.jsxs)(H,{to:z(t.schema,g,L.id),className:"graview-row-title",...L.label.length>60?{title:L.label}:{},children:[L.flagged?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("span",{role:"img","aria-label":"Breaks a rule:",style:{color:"var(--graview-warn)"},children:"\u26A0"})," "]}):null,L.label]}),L.apart||!L.current?(0,E.jsx)("span",{className:"graview-row-glance",children:[L.apart,L.current?"":"past"].filter(Boolean).join(" \xB7 ")}):null,(0,E.jsx)(tn,{why:L.why})]},L.id))})]},g)),w.length>0?(0,E.jsx)(vi,{asked:w}):null,w.length>0&&d.hits.length===0?(0,E.jsx)(wo,{store:t,kinds:d.searched.kinds,words:d.words,...a?{principal:a}:{},...r?{invariantContext:r}:{}}):null]})}function tn({why:e}){return e.strength==="near"?(0,E.jsxs)("span",{style:C,"data-testid":"search-why","data-near":"",children:["Near \u201C",e.asked,"\u201D",e.field==="label"?"":` \u2014 ${e.reading}: ${e.fragment}`]}):e.field==="label"?null:(0,E.jsxs)("span",{style:C,"data-testid":"search-why",children:[e.reading,": ",e.fragment]})}function wi(e,t){let n=Object.entries(t).map(([a,r])=>`${r} ${r===1?_e(e.schema.tryDefinition(a),a):_(e,a).toLowerCase()}`);return n.length===0?"Found":n.length===1?Ae(n[0]):Ae(`${n.slice(0,-1).join(", ")} and ${n[n.length-1]}`)}function ho(e,t,n={}){let a=[];for(let r of t){let o=Ye(e,r,{...n.principal?{principal:n.principal}:{},...n.invariantContext?{context:n.invariantContext}:{}});for(let l of nn(e,r,o.actions.affordances))a.some(s=>s.mutation.name===l.mutation.name)||a.push(l)}return a}function nn(e,t,n){let a=e.schema.tryDefinition(t)?.fieldRoles?.label,r=[];for(let o of n){let l=e.allMutations().find(c=>c.name===o.mutation);if(!l||!l.creates?.includes(t)||r.some(c=>c.mutation.name===l.name))continue;let s=sr(l.input).map(c=>c.name),d=s.includes("label")?"label":a&&s.includes(a)?a:void 0;!d||o.args[d]!==void 0||r.push({kind:t,affordance:o,mutation:l,arg:d})}return r}function wo({store:e,kinds:t,words:n,principal:a,invariantContext:r}){let o=ho(e,t,{...a?{principal:a}:{},...r?{invariantContext:r}:{}});return o.length===0||n.trim().length===0?null:(0,E.jsx)("div",{style:{display:"grid",gap:24},"data-testid":"search-to-create",children:o.map(({kind:l,affordance:s,mutation:d,arg:c})=>(0,E.jsxs)("section",{style:{...X,display:"grid",gap:14},children:[(0,E.jsxs)("h2",{style:Z,children:[Ae(fa(_e(e.schema.tryDefinition(l),l)))," called \u201C",n,"\u201D"]}),(0,E.jsx)(Ie,{store:e,mutation:d,prefilled:s.args,open:s.open,initial:{[c]:n},...a?{principal:a}:{}})]},`${s.id}|${n}`))})}function vi({asked:e}){let t=oe();return t?(0,E.jsx)(Si,{asked:e,desk:t.aiDesk}):null}function Si({asked:e,desk:t}){return qa(t)?(0,E.jsx)("p",{style:{margin:0},children:(0,E.jsxs)("button",{type:"button","data-testid":"search-ask",onClick:a=>Ba(t,{pointed:{about:[]},asked:e,returnTo:a.currentTarget}),style:{...K,font:"inherit",padding:0,border:0,background:"transparent",cursor:"pointer",textAlign:"start"},children:["Ask: \u2018",e,"\u2019"]})}):null}var y=F(U(),1),So=8,ko=40;function ki(e,t){let n=t?.fields?.shape??{},a=Object.keys(n).find(r=>ha(n[r])&&ya(e[r]));return a===void 0?void 0:e[a]}function Qn({context:e}){let t=Ge(),n=we(e.store.schema,t.slug??"");return n?(0,y.jsx)(bo,{context:e,kind:n}):(0,y.jsx)(J,{context:e,children:(0,y.jsx)(ae,{context:e,children:"No such kind of thing here."})})}function bo({context:e,kind:t,opening:n,row:a,layout:r="list",description:o,bare:l}){let{store:s,brand:d,invariantContext:c}=e;Y(s);let[p,S]=dt(),w=`list-${(0,Me.useId)().replace(/:/g,"")}`,g=s.schema.tryDefinition(t),L=va(p.get("archived")),I=s.graph.nodesOfKind(t,{archived:L}),b=Qe(s).relations.filter(i=>i.from===t||i.to===t),x=new Set(s.violations(c).flatMap(i=>i.nodeIds)),$=yr(s.schema,fr(s.schema,mr(s.schema,t))),T=b.map(i=>i.edgeKind),M=Ri(p,$,T),V=["sort","filter","group","q","by","with","past","archived",...T].some(i=>p.has(i)),me=I.length>=ko,be=g?.fieldRoles?.when,le=e.views?.arrangement?.()?.lists?.[t],te=dr(le),he=lr(le?.group),Ke=Ai(me,be),xe=n??(te?{...Ke,...te}:Ke),Pe=V?M.arrangement:En(xe,$).arrangement,h=te?.sort,m=Pe.sort&&h?.then&&Pe.sort.by===h.by&&Pe.sort.direction===h.direction?{...Pe,sort:h}:Pe,R=hr(m.query??""),N=[...m.filter??[],...R.conditions].some(i=>i.key==="is"&&(i.value==="past"||i.value==="any"))||gr(g,[...m.filter??[],...R.conditions]),ee=N||!g?.lifecycle?m:{...m,filter:[...m.filter??[],{key:"is",value:"current"}]},u=new Map,P=Ft(I,ee,{schema:s.schema,graph:s.graph,flagged:x,...typeof c?.today=="string"?{today:c.today}:{},read:(i,f)=>{let O=u.get(i.id);return O||u.set(i.id,O=mt(s.schema,s.graph,i)),O[f]}}),q=he&&m.group?.by===he.by&&!m.group.bucket?$.groups.find(i=>i.key===he.by):void 0,fe=he&&q&&(q.type==="choice"||q.type==="boolean")?cr(P.groups,he,{type:q.type,...q.options?{options:q.options}:{}}):P.groups.map(i=>({...i,closed:!1})),Ee=new Set((p.get("open")??"").split(",").filter(Boolean)),Lo=!!m.query||(m.filter??[]).some(i=>i.key===he?.by),ea=i=>q?.type==="boolean"?i==="1"?"true":"false":i,ta=i=>i.closed&&!Lo&&!Ee.has(ea(i.key)),To=i=>{let f=new URLSearchParams(p),O=new Set(Ee);O.has(i)?O.delete(i):O.add(i),O.size>0?f.set("open",[...O].join(",")):f.delete("open"),S(f,{replace:!0})},Ce=P.nodes,tt=g?.lifecycle&&!N?I.filter(i=>rt(g,i)):I,na=I.length-tt.length,on=m.group?.by??null,Mo=i=>{let f=new URLSearchParams(p);for(let re of["sort","filter","group","q","by","with","past","archived",...b.map(Ct=>Ct.edgeKind)])f.delete(re);let O=Sr(i);for(let re of["sort","filter","group","q","archived"])O[re]&&f.set(re,O[re]);![...f.keys()].some(re=>["sort","filter","group","q"].includes(re))&&(n||te||me||be)&&f.set("sort",""),S(f)},{principal:nt}=e,sn=Ye(s,t,{...nt?{principal:nt}:{},...e.invariantContext?{context:e.invariantContext}:{}}),Be=sn.actions.affordances.map(i=>({affordance:i,mutation:s.allMutations().find(f=>f.name===i.mutation)})).filter(i=>i.mutation!==void 0),Eo=sn.actions.withheld,ln=()=>new Set(Ce.length===0?Be.map(({mutation:i})=>i.name):[]),[dn,aa]=(0,Me.useState)(()=>({kind:t,open:ln()}));dn.kind!==t&&aa({kind:t,open:ln()});let ra=i=>(dn.kind===t?dn.open:ln()).has(i),oa=(i,f)=>aa(O=>{let re=new Set(O.open);return f?re.add(i):re.delete(i),{kind:O.kind,open:re}}),ia=`begin-${(0,Me.useId)().replace(/:/g,"")}`,sa=R.words&&Ce.length===0?Object.fromEntries(nn(s,t,sn.actions.affordances).map(i=>[i.mutation.name,i.arg])):{},Ve=_(s,t),kt=e.views?.lookup(t,{cardinality:"one",fidelity:"glyph"}),cn=kt!==void 0&&!ot(kt)?kt:void 0,pn=(m.group?.bucket??"day")==="day"?m.group?.by:void 0,un=(m.filter??[]).map(i=>i.key),$o=un.filter(i=>un.indexOf(i)===un.lastIndexOf(i)&&/choice|boolean/.test($.filters.find(f=>f.key===i)?.type??"")),gn=i=>{let f={...g?.computed?mt(s.schema,s.graph,i):i};pn&&!String(f[pn]).includes("T")&&delete f[pn];for(let O of $o)delete f[O];return f},bt=i=>{let f=de(g,i);if(a)return(0,y.jsxs)("li",{"data-testid":"record-row","data-graview-record":i.id,style:{minWidth:0},...vn(i.id),children:[wn(i,f),a(i,{label:f,href:z(s.schema,t,i.id),flagged:x.has(i.id),glance:jt(gn(i),g,f)})]},i.id);if(cn){let Sn=Bt(kt,i,s.graph),Wo=Object.fromEntries(Object.entries(gn(i)).filter(([Do])=>!Sn?.fields.has(Do))),ua=Sn?jt(Wo,g,Sn.title??f):"";return(0,y.jsxs)("li",{"data-testid":"record-row","data-graview-record":i.id,style:{position:"relative",display:"flex",flexWrap:"wrap",alignItems:"baseline",columnGap:16,rowGap:2,paddingBlock:10,borderTop:"1px solid var(--graview-edge)"},...vn(i.id),children:[wn(i,f),(0,y.jsx)("div",{style:{flex:"1 1 14rem",minWidth:0},children:(0,y.jsx)(cn,{node:i,cardinality:"one",fidelity:"glyph",mode:"fullscreen",selected:!1,...x.has(i.id)?{flagged:[i.id]}:{}})}),ua?(0,y.jsx)("span",{style:{...C,flex:"0 1 auto",minWidth:0,overflowWrap:"anywhere"},"data-testid":"record-glance",children:ua}):null,(0,y.jsx)(Mi,{to:z(s.schema,t,i.id),label:x.has(i.id)?`${f} \u2014 implicated in a problem`:f})]},i.id)}let O=jt(gn(i),g,f),re=R.words?wr(g,i,R.words):void 0,Ct=me?void 0:er(i,g),At=ki(i,g),pa=(0,y.jsxs)(H,{to:z(s.schema,t,i.id),className:"graview-row-title",...f.length>60?{title:f}:{},children:[x.has(i.id)?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{role:"img","aria-label":"Breaks a rule:",style:{color:"var(--graview-warn)"},children:"\u26A0"})," "]}):null,f]});return(0,y.jsxs)("li",{className:"graview-row","data-graview-record":i.id,...vn(i.id),children:[wn(i,f),Ct?(0,y.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:14,minWidth:0},children:[(0,y.jsx)(it,{as:"thumb",file:Ct}),pa]}):pa,O||At?(0,y.jsxs)("span",{className:"graview-row-glance",children:[O,O&&At?" \xB7 ":null,At?(0,y.jsx)(Wt,{address:At}):null]}):null,re?(0,y.jsx)(tn,{why:re}):null]},i.id)},mn=Te(e).filter(i=>i.kind===t),la=le?.filters,No=(m.filter??[]).some(i=>i.key!=="is"||i.value!=="any"),Oo=!!(m.sort||m.group||m.query||No),Ho=tt.length>=So||V&&Oo,Ne=m.sort?$.sorts.find(i=>i.key===m.sort.by):void 0,fn=Ne?.type==="date"||Ne!==void 0&&Ne.key===be,da=me&&!P.grouped&&Ne&&(Ne.about==="label"||Ne.type==="text"||fn)?i=>{let f=Ne.about==="label"?de(g,i):i[Ne.key];if(typeof f!="string"||f.length===0)return fn?"No date":"#";if(fn)return f.slice(0,4);let O=f.trim().charAt(0).toLocaleUpperCase();return/\p{L}/u.test(O)?O:"#"}:void 0,je=da?Ce.reduce((i,f)=>{let O=da(f);return i.at(-1)?.key===O?i.at(-1).nodes.push(f):i.push({key:O,nodes:[f]}),i},[]):void 0,ca=P.grouped&&on?fe.flatMap(i=>ta(i)?[]:i.nodes):je&&je.length>1?je.flatMap(i=>i.nodes):Ce,yn=(0,Me.useMemo)(()=>ca.map(i=>i.id),[ca.map(i=>i.id).join(`
6
+ `)]),$e=Cr(yn),hn=(0,Me.useId)(),pt=(nt?s.permittedMutations(nt):s.permittedMutations()).some(i=>{let f=i.subject?.kinds;return f!==void 0&&(f==="*"||f.includes(t))}),wn=(i,f)=>pt?(0,y.jsx)("span",{className:"graview-choose-at",children:(0,y.jsx)("input",{...$e.boxProps(i.id,f),onPointerEnter:$n,onFocus:$n})}):null,vn=i=>pt?{"data-graview-choose":i}:{},Io=(0,Me.useCallback)(i=>{$e.choose(i),requestAnimationFrame(()=>{let f=$e.list.current;((i[0]===void 0?null:f?.querySelector(`[data-graview-choose-box="${CSS.escape(i[0])}"]`))??f)?.focus({preventScroll:!0})})},[$e]),at=r==="grid"?{margin:0,padding:0,listStyle:"none",display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 15rem), 1fr))",alignItems:"start",gap:12}:a||cn?{margin:0,padding:0,listStyle:"none",display:"grid",gap:a&&r==="list"?6:0}:void 0,xt=at?void 0:"graview-rows",ut=i=>`list-at-${i.replace(/[^\p{L}\p{N}]/gu,"_")}`,Pt=b.map(i=>{let f=i.from===t?i.to:i.from,O=i.from===t?i.description:i.inverse??i.description;return{relation:i,far:f,words:O}}),Fo=new Set(Pt.map(i=>(i.words??"").toLowerCase()).filter((i,f,O)=>i&&O.indexOf(i)!==f));return(0,y.jsxs)(l?Ci:J,{context:e,children:[(0,y.jsxs)("div",{style:{display:"grid",gap:12},children:[(0,y.jsxs)("header",{style:{display:"grid",gap:4},children:[l?null:(0,y.jsx)(ct,{context:e}),(0,y.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",columnGap:10,rowGap:4,minWidth:0},children:[(0,y.jsx)(ie,{kind:t,brand:d,schema:s.schema,size:8}),(0,y.jsx)(ae,{context:e,children:Ve}),Be.length>0?(0,y.jsx)("span",{style:{marginLeft:"auto",display:"flex",flexWrap:"wrap",columnGap:14,rowGap:8},"data-testid":"beginnings-open",children:Be.map(({affordance:i,mutation:f})=>(0,y.jsx)(Li,{name:f.name,title:f.title??f.name,panel:`${ia}-${f.name}`,open:ra(f.name),onOpen:O=>oa(f.name,O)},i.id))}):null]}),Ce.length>0?(0,y.jsx)(Gr,{place:"here",to:[{label:`Skip to the ${Ce.length===1?_e(g,t):`${Ce.length} ${Ve.toLowerCase()}`}`,testid:"records",go:()=>{let i=document.querySelector(`[data-graview-skip-target="${CSS.escape(hn)}"]`);Nn(i?.querySelector('[data-graview-choose-box][tabindex="0"]')??i)}},...tt.length>0?[{label:"Skip to arranging them",testid:"arranging",go:()=>{let i=document.querySelector(`[data-graview-skip-target="${CSS.escape(hn)}"]`)?.parentElement?.querySelector('[role="group"][aria-label="Arrange"]');Nn(i?.querySelector('button[data-testid$="-add"], button[data-testid$="-all"]')??i)}}]:[]]}):null,o??g?.description?(0,y.jsx)("p",{style:ne,children:o??g?.description}):null,Pt.length>0||mn.length>0?(0,y.jsxs)("p",{style:{...C,margin:0,display:"flex",flexWrap:"wrap",columnGap:18,rowGap:2},"data-testid":"kind-related",children:[Pt.length>0?(0,y.jsxs)("span",{"data-testid":"kind-relations",children:["Related:"," ",Pt.map(({relation:i,far:f,words:O},re)=>(0,y.jsxs)("span",{"data-relation":i.edgeKind,children:[re>0?(0,y.jsx)("span",{"aria-hidden":"true",children:" \xB7 "}):null,f==="*"?Ae(O??ze(i.edgeKind)):(0,y.jsx)(H,{to:`/${j(s.schema,f)}`,style:K,title:_(s,f),children:O&&Fo.has(O.toLowerCase())?`${Ae(O)}: ${_(s,f).toLowerCase()}`:Ae(O??_(s,f))})]},`${i.edgeKind}|${i.from}|${i.to}`))]}):null,mn.length>0?(0,y.jsxs)("span",{"data-testid":"kind-pictures",children:["Also as:"," ",mn.map((i,f)=>(0,y.jsxs)("span",{children:[f>0?(0,y.jsx)("span",{"aria-hidden":"true",children:" \xB7 "}):null,(0,y.jsx)(H,{to:pe(e,i),style:K,children:i.title})]},Ze(i)))]}):null]}):null]}),Be.length>0?(0,y.jsx)("div",{style:{display:"contents"},"data-testid":"beginnings",children:Be.map(({affordance:i,mutation:f})=>{let O=!!(sa[f.name]&&Ce.length===0);return(0,y.jsx)(Ti,{name:f.name,id:`${ia}-${f.name}`,description:f.description,open:ra(f.name),onClose:()=>oa(f.name,!1),children:(0,y.jsx)(Ie,{store:s,mutation:f,prefilled:i.args,open:i.open,...O?{initial:{[sa[f.name]]:R.words}}:{},...e.principal?{principal:e.principal}:{}},O?`${f.name}|${R.words}`:f.name)},i.id)})}):null,M.dropped.length>0?(0,y.jsxs)("p",{style:{...C,margin:0},"data-testid":"list-dropped",children:["This link asked for ",M.dropped.join(", "),", which ",Ve.toLowerCase()," cannot be arranged by; the rest is shown."]}):null,tt.length>0?(0,y.jsx)(xr,{schema:s.schema,graph:s.graph,kind:t,arrangement:m,onChange:Mo,kept:{shown:Ce.length,of:tt.length},noun:{one:_e(g,t),many:Ve.toLowerCase()},...Ho?{}:{allow:!1},...la?{filters:la}:{},offers:$,chips:{nodes:tt,flagged:x,...typeof c?.today=="string"?{today:c.today}:{}},query:e.framed===!0&&e.barAbove!==!0}):null,(0,y.jsx)("style",{children:Vt}),pt?(0,y.jsx)("style",{children:Ar+Pi}):null,(0,y.jsx)("div",{className:"graview-list","data-graview-skip-target":hn,...pt?{...$e.listProps,ref:$e.list,tabIndex:-1,"data-graview-choosable":"","aria-label":$e.chosen.length>0?`${Ve}, ${$e.chosen.length} chosen`:Ve,role:"group"}:{},children:Ce.length===0&&R.words?(0,y.jsxs)("p",{style:ne,"data-testid":"none-yet",children:["Nothing here is called \u201C",R.words,"\u201D."," ",(0,y.jsx)("span",{style:C,"data-testid":"list-searched",children:It(s.schema,{kinds:[t],past:N})})," ",(0,y.jsx)(H,{to:"?",style:K,children:"Show every one"})]}):Ce.length===0?(0,y.jsxs)("p",{style:ne,"data-testid":"none-yet",children:[m.filter?.length||m.query?"None of them.":"None yet",!m.filter?.length&&!m.query&&Be.length>0?` \u2014 the first one starts above, with \u201C${Be[0]?.mutation.title??Be[0]?.mutation.name}\u201D.`:!m.filter?.length&&!m.query?".":"",m.filter?.length||m.query?(0,y.jsxs)(y.Fragment,{children:[" ",(0,y.jsx)(H,{to:"?",style:K,children:"Show every one"})]}):null]}):P.grouped&&on?(0,y.jsx)("div",{style:{display:"grid",gap:"1rem"},"data-testid":"records","data-grouped":on,children:fe.map(i=>{if(!i.closed)return(0,y.jsxs)("section",{style:{display:"grid",gap:0},"data-testid":"list-group",children:[(0,y.jsxs)("h2",{className:"graview-group-head",children:[i.label," ",(0,y.jsx)("span",{children:i.nodes.length})]}),(0,y.jsx)("ul",{style:at,className:xt,"data-graview-rows":"",children:i.nodes.map(bt)})]},i.key||"-");let f=ta(i),O=`${w}-${ut(i.key||"none")}`;return(0,y.jsxs)("section",{style:{display:"grid",gap:0},"data-testid":"list-group","data-closed":f?"shut":"open",children:[(0,y.jsx)("h2",{className:"graview-group-head",children:(0,y.jsxs)("button",{type:"button",className:"graview-group-toggle","aria-expanded":!f,"aria-controls":O,"data-testid":"list-group-toggle",onClick:()=>To(ea(i.key)),children:[(0,y.jsx)("span",{"aria-hidden":"true",children:f?"\u25B8":"\u25BE"}),i.label," ",(0,y.jsxs)("span",{children:["\xB7 ",i.nodes.length]}),(0,y.jsxs)("span",{style:bi,children:[" ",i.nodes.length===1?_e(g,t):Ve.toLowerCase()]})]})}),(0,y.jsx)("ul",{id:O,style:f?{...at,display:"none"}:at,className:xt,"data-graview-rows":"",hidden:f,children:f?null:i.nodes.map(bt)})]},i.key||"-")})}):je&&je.length>1?(0,y.jsxs)("div",{style:{display:"grid",gap:14},"data-testid":"records","data-sectioned":Ne?.type==="date"?"year":"letter",children:[(0,y.jsx)("nav",{"aria-label":"Jump to","data-testid":"list-index",style:{...C,display:"flex",flexWrap:"wrap",gap:Ne?.type==="date"?"0 10px":"0 4px",lineHeight:1.3},children:je.map(i=>(0,y.jsx)("a",{href:`#${ut(i.key)}`,onClick:f=>{f.preventDefault(),document.getElementById(ut(i.key))?.scrollIntoView({block:"start"})},style:{...ve,minWidth:24,justifyContent:"center"},children:i.key},i.key))}),je.map(i=>(0,y.jsxs)("section",{"data-testid":"list-section","aria-labelledby":ut(i.key),style:{display:"grid",gap:0},children:[(0,y.jsx)("h2",{id:ut(i.key),className:"graview-group-head",children:i.key}),(0,y.jsx)("ul",{style:at,className:xt,"data-graview-rows":"",children:i.nodes.map(bt)})]},i.key))]}):(0,y.jsx)("ul",{style:at,className:xt,"data-testid":"records","data-graview-rows":"",children:Ce.map(bt)})}),pt?(0,y.jsx)(Rr,{store:s,chosen:$e.chosen,...nt?{principal:nt}:{},...c?{context:c}:{},anchor:xi,of:yn.length,onChooseAll:()=>$e.choose(yn),onClear:$e.clear,onActed:Io}):null,na>0?(0,y.jsxs)(H,{to:vo(p,"filter","is:any"),style:{...K,...C,justifySelf:"start"},"data-testid":"past-link",children:["+",na," past"]}):null,L===!1&&s.graph.count(t,{archived:!0})>0?(0,y.jsxs)(H,{to:vo(p,"archived","true"),style:{...K,...C,justifySelf:"start"},"data-testid":"archived-link",children:["+",s.graph.count(t,{archived:!0})," archived"]}):null]}),(0,y.jsx)(en,{context:e,withheld:Eo,style:X,testId:"withheld"})]})}var bi={position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap",border:0},xi=()=>document.querySelector("[data-graview-choosable]")?.closest("[data-embed-content]")??null,Pi=`
7
+ .graview-list[data-graview-choosable]{outline:none}
8
+ .graview-list [data-graview-choose]{position:relative;padding-left:34px}
9
+ .graview-choose-at{position:absolute;left:2px;top:0;bottom:0;z-index:${Pa.raised};display:flex;align-items:center}
10
+ @media (pointer: coarse){
11
+ .graview-list:not([data-graview-choosing]) [data-graview-choose]{padding-left:0}
12
+ .graview-list:not([data-graview-choosing]) .graview-choose-at{display:none}
13
+ }
14
+ `;function Ci({children:e}){return(0,y.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gap:40,minWidth:0},children:e})}var Ai=(e,t)=>t?{sort:{by:t,direction:"desc"}}:e?{sort:{by:"label",direction:"asc"}}:{};function Ri(e,t,n){let a=Mt({...e.get("sort")?{sort:e.get("sort")}:{},...e.get("filter")?{filter:e.get("filter")}:{},...e.get("group")?{group:e.get("group")}:{},...e.get("q")?{q:e.get("q")}:{},...e.get("archived")?{archived:e.get("archived")}:{}}),r=[...a.filter??[]],o=e.get("by"),l=a.group??(o?{by:o}:void 0);for(let d of n){let c=e.get(d);c&&r.push({key:d,value:c})}let s=e.get("with");return s&&r.push({key:s,value:"*"}),e.get("past")==="1"&&!r.some(d=>d.key==="is")&&r.push({key:"is",value:"any"}),En({...a.sort?{sort:a.sort}:{},...a.query?{query:a.query}:{},...r.length>0?{filter:r}:{},...l?{group:l}:{},...a.archived!==void 0?{archived:a.archived}:{}},t)}function vo(e,t,n){let a=new URLSearchParams(e);return a.set(t,n),a.delete("past"),`?${a.toString()}`}function Li({name:e,title:t,panel:n,open:a,onOpen:r}){return(0,y.jsxs)("button",{type:"button","data-testid":`act-open-${e}`,"data-graview-act":e,"aria-expanded":a,"aria-controls":n,onClick:()=>{r(!a),a||requestAnimationFrame(()=>document.getElementById(n)?.querySelector("input, select, textarea, button")?.focus())},style:{...ve,minHeight:28,margin:"-4px 0",padding:"0 2px",border:0,background:"none",font:"inherit",fontWeight:600,color:"var(--graview-ink)",cursor:"pointer"},children:[(0,y.jsx)("span",{"aria-hidden":"true",style:{marginRight:6},children:a?"\u2212":"+"}),t]})}function Ti({name:e,id:t,description:n,open:a,onClose:r,children:o}){return(0,y.jsxs)("div",{"data-testid":`act-${e}`,id:t,hidden:!a,onKeyDown:l=>{l.key==="Escape"&&(l.preventDefault(),r(),document.querySelector(`[aria-controls="${t}"]`)?.focus())},style:a?{display:"grid",gap:12,padding:"4px 0 12px"}:void 0,children:[n?(0,y.jsx)("p",{style:{...C,margin:0,maxWidth:"58ch"},children:n}):null,o]})}function Mi({to:e,label:t}){let n=(0,Me.useRef)(null);return Lr(n),(0,y.jsx)(H,{ref:n,to:e,"aria-label":t,style:{position:"absolute",inset:0,borderRadius:6}})}var et=F(He(),1);var St=F(He(),1);var W=F(U(),1);function Zn({context:e}){let{store:t,brand:n,invariantContext:a,principal:r}=e;Y(t);let o=t.violations(a),l=t.allInvariants(),s=Nt(t,o),d=Ga(t.schema,l);return(0,W.jsxs)(J,{context:e,children:[(0,W.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,W.jsx)(ae,{context:e,children:o.length===0?"All rules hold":"What is broken"}),(0,W.jsx)("p",{style:ne,"data-testid":"problems-count",children:o.length===0?"Every declared rule is satisfied by what is here.":Sa(o)})]}),(0,W.jsx)(yo,{context:e}),s.map((c,p)=>{let S=c.nodeIds[0],w=S?t.graph.getNode(S):void 0;return(0,W.jsxs)("section",{style:{display:"grid",gap:10,padding:"16px 18px",borderLeft:"3px solid var(--graview-warn)",background:"var(--graview-panel-warning)",borderRadius:"0 var(--graview-radius, 12px) var(--graview-radius, 12px) 0"},children:[c.line?null:(0,W.jsx)(an,{violation:c,schema:t.schema,...n?{brand:n}:{}}),w?(0,W.jsxs)("p",{style:{margin:0,display:"inline-flex",alignItems:"center",gap:8},children:[(0,W.jsx)(ie,{kind:w.kind,brand:n,schema:t.schema,size:7}),(0,W.jsx)(H,{to:z(t.schema,w.kind,w.id),style:K,children:de(t.schema.tryDefinition(w.kind),w)})]}):null,c.line?(0,W.jsx)(an,{violation:c,schema:t.schema,...n?{brand:n}:{}}):null,(0,W.jsx)(rn,{store:t,repairs:c.repairs,...r?{principal:r}:{}})]},p)}),l.length>0?(0,W.jsxs)("section",{style:{...X,display:"grid",gap:12},"data-testid":"rules",children:[(0,W.jsx)("h2",{style:Z,children:"The rules"}),(0,W.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:10},children:l.map(c=>{let p=o.filter(g=>g.invariant===c.name).length,S=d.get(c.name),w=c.label??c.name;return(0,W.jsxs)("li",{"data-graview-rule":c.name,style:{display:"grid",gap:2},children:[(0,W.jsxs)("span",{style:{display:"flex",flexWrap:"wrap",alignItems:"baseline",columnGap:12,rowGap:2},children:[S?(0,W.jsx)(Ot,{line:S,schema:t.schema,...n?{brand:n}:{},style:{flex:"1 1 18rem"}}):(0,W.jsx)("span",{style:{flex:"1 1 18rem",fontWeight:550},children:w}),(0,W.jsx)("span",{style:{...C,color:p>0?"var(--graview-warn)":"var(--graview-ink-faint)"},children:p===0?"holds":`broken in ${p} ${p===1?"place":"places"}`})]}),S&&w.trim().length>0?(0,W.jsx)("span",{style:C,children:w}):null]},c.name)})})]}):null]})}function an({violation:e,schema:t,brand:n}){if(!e.line)return(0,W.jsx)("p",{style:{margin:0,color:"var(--graview-warn)",fontWeight:550},children:e.message});let a=Va(e),r=Ua(e);return r?(0,W.jsxs)("div",{style:{display:"grid",gap:4},"data-testid":"problem-line",children:[(0,W.jsx)("p",{style:{margin:0,color:"var(--graview-warn)",fontWeight:550},"data-testid":"problem-says",children:r}),a?(0,W.jsx)("span",{style:C,children:a}):null,(0,W.jsxs)("details",{"data-testid":"problem-judged",style:C,children:[(0,W.jsx)("summary",{style:{cursor:"pointer",width:"fit-content",minHeight:24},children:"How it is judged"}),(0,W.jsx)(Ot,{line:e.line,schema:t,...n?{brand:n}:{},lead:"none"})]})]}):(0,W.jsxs)("div",{style:{display:"grid",gap:2},"data-testid":"problem-line",children:[(0,W.jsx)(Ot,{line:e.line,schema:t,...n?{brand:n}:{},lead:"none",style:{color:"var(--graview-warn)"}}),a?(0,W.jsx)("span",{style:C,children:a}):null]})}function rn({store:e,repairs:t,principal:n}){let[a,r]=(0,St.useState)(null),[o,l]=(0,St.useState)(null),s=(0,St.useRef)([]);if(t.length===0)return null;let d=a===null?null:t[a],c=d&&(d.missing??[]).length>0?e.allMutations().find(p=>p.name===d.mutation):void 0;return(0,W.jsxs)("div",{style:{display:"grid",gap:10},"data-testid":"repairs",children:[(0,W.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:t.map((p,S)=>{let w=(p.missing??[]).length>0,g=e.permits({name:p.mutation,args:{...p.args}},n);return g.ok?(0,W.jsx)("button",{ref:L=>{s.current[S]=L},type:"button","data-graview-repair":p.mutation,"data-graview-asks":w||void 0,"aria-expanded":w?a===S:void 0,onClick:()=>{if(l(null),w){r(a===S?null:S);return}r(null);try{e.apply({name:p.mutation,args:{...p.args}},n?{author:n}:{})}catch(L){l(Ht(e.schema,e.allMutations(),L))}},style:Se,children:w?`${p.label} \u2026`:p.label},S):(0,W.jsxs)("p",{"data-testid":"withheld","data-withheld":g.refusal.wouldNeed.join(",")||"nobody",style:{...C,margin:0},children:[(0,W.jsx)("s",{children:p.label})," \u2014 ",g.refusal.message]},S)})}),c&&d?(0,W.jsx)(Ie,{store:e,mutation:c,prefilled:{...d.args},only:d.missing??[],label:d.label,autoFocus:!0,onDone:()=>{let p=a;r(null),requestAnimationFrame(()=>{let S=p===null?null:s.current[p];if(S?.isConnected){S.focus();return}let w=document.querySelector("[data-graview-page-title]")??document.querySelector("main h1, main h2");w&&(w.hasAttribute("tabindex")||(w.tabIndex=-1),w.focus())})},...n?{principal:n}:{}}):null,d&&!c&&(d.missing??[]).length>0?(0,W.jsxs)("p",{"data-testid":"refused",role:"alert",style:{margin:0,color:"var(--graview-warn)",fontSize:On},children:["\u201C",d.label,"\u201D names ",d.mutation,", which this app does not declare."]}):null,o?(0,W.jsx)("p",{"data-testid":"refused",role:"alert",style:{margin:0,color:"var(--graview-warn)",fontSize:On},children:o}):null]})}var Xn=F(He(),1);var Ue=F(U(),1);function xo({store:e,link:t,principal:n}){let[a,r]=(0,Xn.useState)(!1),[o,l]=(0,Xn.useState)(null),s=Qa(t);return(0,Ue.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,Ue.jsx)("button",{type:"button","data-graview-provisional":"",title:s,"aria-label":`Unsure link: ${s}`,"aria-expanded":a,onClick:()=>r(!a),style:{border:"1px dashed var(--graview-ink-muted)",borderRadius:999,background:"transparent",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"0.75rem",lineHeight:1,padding:"2px 6px",cursor:"pointer"},children:"unsure"}),a?(0,Ue.jsxs)("span",{style:{...C,display:"inline-flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,Ue.jsx)("span",{children:s}),(0,Ue.jsx)("button",{type:"button",style:{...Se,padding:"4px 10px"},onClick:()=>{try{e.apply({name:ka,args:{kind:t.edge.kind,from:t.edge.from,to:t.edge.to}},n?{author:n}:{}),r(!1)}catch(d){l(Ht(e.schema,e.allMutations(),d))}},children:"Keep this link"}),o?(0,Ue.jsx)("span",{role:"alert",children:o}):null]}):null]})}var ge=F(U(),1);function Po({nodeId:e,node:t,field:n,inPlace:a,labelStyle:r=ye}){return n.files?(0,ge.jsx)(it,{as:"field",read:!a,nodeId:e,field:n.key,label:n.label,files:n.files,labelStyle:r,style:{gap:4}}):n.long?(0,ge.jsx)(br,{nodeId:e,field:n.key,label:n.label,value:n.value,markdown:n.markdown,style:{gridColumn:"1 / -1",gap:4},labelStyle:r,valueStyle:{lineHeight:1.6}}):(0,ge.jsxs)("div",{style:{display:"grid",gap:2,minWidth:0,alignContent:"start"},children:[(0,ge.jsx)("dt",{style:r,children:n.label}),(0,ge.jsx)("dd",{style:{margin:0,overflowWrap:"anywhere",minWidth:0},children:n.linked?(0,ge.jsx)(nr,{relation:n.linked.relation,refs:n.linked.refs,...a?{nodeId:e,field:n.key}:{}}):n.app?(0,ge.jsx)(Wt,{address:n.app,as:"record",...a?{nodeId:e,field:n.key}:{}}):n.href?(0,ge.jsx)(kr,{href:n.href,field:n.key,value:n.value,stored:n.stored,...a?{nodeId:e}:{}}):a?(0,ge.jsxs)(ge.Fragment,{children:[(0,ge.jsx)(Dt,{nodeId:e,field:n.key,value:n.value,stored:n.stored}),n.repeats?(0,ge.jsx)(ar,{nodeId:e,field:n.key,start:t?.[n.key],value:t?.[`${n.key}Repeat`],label:`${n.label} repeats`}):null]}):n.value})]})}var v=F(U(),1),Ei=[];function Jn({context:e}){let{store:t,brand:n,principal:a,invariantContext:r}=e;Y(t);let o=oe()!==null,l=Ge(),s=decodeURIComponent(l.id??""),d=Jr(t,s,{...a?{principal:a}:{},...r?{context:r}:{}}),c=Nt(t,d?.violations??Ei),[p,S]=(0,et.useState)(null),[w,g]=(0,et.useState)(!1),[L,I]=(0,et.useState)(null),b=(0,et.useRef)(null),x=(0,et.useRef)(null),$=rr({flow:"both",letters:!0}),T=u=>{(b.current?.parentElement?.querySelector(`[data-affordance="${u.replace(/["\\]/g,"\\$&")}"]`)??b.current)?.focus()};if(!d)return(0,v.jsx)(J,{context:e,children:(0,v.jsx)(ae,{context:e,children:"Nothing lives at this address."})});let M=t.graph.getNode(s),V=t.schema.tryDefinition(d.kind),me=V?.describe&&M?za(V,M):null,be=[...t.log.all()].filter(u=>!Lt(u)&&(u.writes.includes(s)||u.reads.includes(s))).slice(-8).reverse(),le=t.log.all().find(u=>!Lt(u)&&u.undoes===void 0&&u.primitives.some(P=>P.op==="add-node"&&P.node.id===s)),te=d.actions.affordances.filter(u=>u.provider!=="invariant"),he=te.filter(u=>u.destructive||u.setsAside),Ke=w||he.length<2?te:te.filter(u=>!he.includes(u)),xe=e.views?.lookup(d.kind,{cardinality:"one",fidelity:"full"}),Pe=xe!==void 0&&!ot(xe)?xe:void 0,h=Pe&&M?Bt(xe,M,t.graph):void 0,m=h?d.fields.filter(u=>!h.fields.has(u.key)):d.fields,R=h?d.links.flatMap(u=>{let P=u.targets.filter(q=>!h.records.has(q.id));return P.length>0?[{...u,targets:P}]:[]}):d.links,N=Pe!==void 0&&Da(xe),ee=o&&Ja(V).length>0;return(0,v.jsxs)(J,{context:e,children:[(0,v.jsxs)("header",{style:{display:"grid",gap:12},children:[(0,v.jsx)(ct,{context:e}),(0,v.jsx)(ae,{context:e,children:o&&M?.label===d.label?(0,v.jsx)(Dt,{nodeId:s,field:"label",value:d.label,said:d.label}):d.label}),me&&me!==d.label?(0,v.jsx)("p",{style:ne,children:me}):null,le?.lineage?(0,v.jsxs)("p",{style:{...C,margin:0},"data-testid":"record-lineage",children:["Made by ",ft(le,a,{graph:t.graph,schema:t.schema,...e.seats?{seats:e.seats}:{},...e.people?{people:e.people}:{}}),", ",Cn(le.lineage)]}):null,(0,v.jsx)(_t,{context:e,stop:`#focus=${encodeURIComponent(s)}`,style:{...K,...C},"data-testid":"spatial-link"}),o&&M?(0,v.jsx)(Ln,{choices:[{on:"changed",record:s},{on:"act",record:s},{on:"reaches",kind:d.kind,condition:"",record:s}],label:"Notify me when this changes",testId:"record-notify",style:{...Se,...C,justifySelf:"start"}}):null,Te(e).some(u=>u.kind===d.kind||u.across===d.kind)?(0,v.jsxs)("p",{style:{...C,margin:0},"data-testid":"seen-in",children:["Seen in:"," ",Te(e).filter(u=>u.kind===d.kind||u.across===d.kind).map((u,P)=>(0,v.jsxs)("span",{children:[P>0?(0,v.jsx)("span",{"aria-hidden":"true",children:" \xB7 "}):null,(0,v.jsx)(H,{to:pe(e,u),style:K,children:u.title})," ",(0,v.jsx)(_t,{context:e,stop:`#view=${encodeURIComponent(u.as)}`,style:{...K,...C,display:"inline-block",minWidth:24,textAlign:"center"},title:`${u.title}, in the scene`,label:`${u.title}, in the scene`,children:(0,v.jsx)("span",{"aria-hidden":"true",children:"\u2197"})})]},Ze(u)))]}):null]}),M&&wa(M)?(0,v.jsx)(Ni,{context:e,id:s,kind:d.kind}):null,M&&ba(t,s)?(0,v.jsx)($i,{context:e,id:s,kind:d.kind}):null,Pe&&M?(0,v.jsx)("section",{"data-testid":"record-view",style:{display:"grid",minWidth:0},children:(0,v.jsx)(Tr,{children:(0,v.jsx)(Qt,{when:Et(xe),children:(0,v.jsx)(Pe,{node:M,cardinality:"one",fidelity:"full",mode:"fullscreen",selected:!1,...d.violations.length>0?{flagged:[s]}:{}})})})}):null,d.violations.length>0?(0,v.jsx)("section",{"data-testid":"record-violations",style:{display:"grid",gap:12,padding:"16px 18px",borderLeft:"3px solid var(--graview-warn)",background:"var(--graview-panel-warning)",borderRadius:"0 var(--graview-radius, 12px) var(--graview-radius, 12px) 0"},children:c.map((u,P)=>(0,v.jsxs)("div",{style:{display:"grid",gap:8},children:[(0,v.jsx)(an,{violation:u,schema:t.schema,...n?{brand:n}:{}}),(0,v.jsx)(rn,{store:t,repairs:eo(d.actions,u.repairs),...a?{principal:a}:{}})]},P))}):null,!N&&(m.length>0||ee)?(0,v.jsxs)("section",{style:{...X,display:"grid",gap:14},"data-testid":"record-fields",children:[(0,v.jsx)("h2",{style:Z,children:"The facts"}),Ya(V,m).map((u,P)=>{let q=(0,v.jsx)("dl",{style:{margin:0,display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(200px, 1fr))",gap:"14px 24px"},children:u.fields.map(fe=>(0,v.jsx)(Po,{nodeId:s,node:M,field:fe,inPlace:o},fe.key))});return u.title?(0,v.jsxs)("section",{style:{display:"grid",gap:10,minWidth:0},children:[(0,v.jsx)("h3",{"data-graview-field-group":u.title,style:{...Z,fontSize:"inherit"},children:u.title}),q]},P):(0,v.jsx)("div",{children:q},P)}),ee?(0,v.jsx)(it,{as:"unfilled",nodeId:s,skip:[...h?.fields??[]],labelStyle:ye,style:{gap:4}}):null]}):null,(N?[]:R).map(u=>(0,v.jsxs)("section",{style:{...X,display:"grid",gap:10},children:[(0,v.jsx)("p",{style:ye,children:Vr(t,u)}),u.description?(0,v.jsx)("h2",{style:Z,children:Ae(u.description)}):(0,v.jsxs)("h2",{style:Z,"aria-label":ze(u.edgeKind),children:[u.direction==="in"?"\u2190 ":"\u2192 ",ze(u.edgeKind)]}),(0,v.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:"6px 18px"},children:u.targets.map(P=>{let q=Za(t,u.direction==="in"?{kind:u.edgeKind,from:P.id,to:s}:{kind:u.edgeKind,from:s,to:P.id});return(0,v.jsxs)("li",{style:{display:"inline-flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[(0,v.jsx)(ie,{kind:P.kind,brand:n,schema:t.schema,size:7}),(0,v.jsxs)(H,{to:z(t.schema,P.kind,P.id),style:K,children:[P.label,P.apart?(0,v.jsxs)("span",{style:C,children:[" \xB7 ",P.apart]}):null]}),q?.provisional?(0,v.jsx)(xo,{store:t,link:q,...a?{principal:a}:{}}):null]},P.id)})}),(u.direction==="out"&&t.schema.edge(u.edgeKind)?.cardinality==="one"?[]:[...new Set(u.targets.map(P=>P.kind))]).map(P=>(0,v.jsxs)(H,{to:`/${j(t.schema,P)}?${encodeURIComponent(u.edgeKind)}=${encodeURIComponent(s)}`,style:{...K,...C},"data-testid":"related-all",children:["Sort and filter ",u.description??`these ${_(t,P).toLowerCase()}`,u.targets.some(q=>q.kind!==P)?` (${_(t,P).toLowerCase()})`:""," ",(0,v.jsx)("span",{"aria-hidden":"true",children:"\u2192"})]},P))]},`${u.edgeKind}|${u.direction}|${u.description??""}`)),!N&&(te.length>0||d.actions.withheld.length>0)?(0,v.jsxs)("section",{style:{...X,display:"grid",gap:14},"data-testid":"record-actions",children:[(0,v.jsx)("h2",{style:Z,ref:b,tabIndex:-1,children:"What can be done"}),(0,v.jsxs)("div",{role:"toolbar","aria-label":"What can be done",...$,style:{display:"flex",flexWrap:"wrap",gap:8},children:[Ke.map(u=>{let P=p===u.id;return(0,v.jsx)("button",{type:"button","data-affordance":u.id,"data-rank":u.rank,"data-graview-act":u.mutation,[Rn]:"",autoFocus:w&&u===he[0],"aria-expanded":P,onClick:()=>S(P?null:u.id),style:{...Se,...P?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)"}:{}},children:u.label},u.id)}),Ke.length<te.length?(0,v.jsxs)("button",{type:"button","aria-expanded":!1,onClick:()=>g(!0),style:{...Se,...C},"data-testid":"record-actions-more",[Rn]:"",children:["Show ",te.length-Ke.length," more"]}):null]}),te.map(u=>{if(p!==u.id)return null;let P=t.allMutations().find(q=>q.name===u.mutation);return P?(0,v.jsxs)("div",{ref:x,onKeyDown:q=>{if(q.key!=="Escape"||q.defaultPrevented)return;q.preventDefault(),S(null);let fe=u.id;requestAnimationFrame(()=>T(fe))},style:{display:"grid",gap:10,padding:18,border:"1px solid var(--graview-edge)",borderRadius:"var(--graview-radius, 12px)",background:"var(--graview-panel)"},children:[(0,v.jsx)("h3",{style:Z,children:u.label}),P.description?(0,v.jsx)("p",{style:{...C,margin:0},children:P.description}):null,(0,v.jsx)(Ie,{store:t,mutation:P,prefilled:u.args,open:u.open,label:u.label,autoFocus:!0,onDone:()=>{S(null),I(u.mutation);let q=u.id;requestAnimationFrame(()=>T(q))},...a?{principal:a}:{}})]},u.id):null}),o&&L!==null&&p===null?(0,v.jsx)(Ln,{choices:[{on:"act",act:L,record:s},{on:"act",act:L}],label:"Notify me when someone else does this",testId:"notify-after-act",style:{...Se,...C,justifySelf:"start"}}):null,(0,v.jsx)(en,{context:e,withheld:d.actions.withheld})]}):null,o?(0,v.jsx)(Ur,{id:s,style:X,headingStyle:Z}):null,be.length>0?(0,v.jsxs)("section",{style:{...X,display:"grid",gap:10},"data-testid":"record-history",children:[(0,v.jsx)("h2",{style:Z,children:"What has happened"}),(0,v.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:6},children:be.map(u=>(0,v.jsxs)("li",{style:C,children:[(0,v.jsx)("span",{style:{color:"var(--graview-ink)"},children:u.intent}),u.lineage?(0,v.jsxs)("span",{"data-graview-lineage":"",children:[" \xB7 ",Cn(u.lineage)]}):null," \u2014 ",ft(u,a,{graph:t.graph,schema:t.schema,...e.seats?{seats:e.seats}:{},...e.people?{people:e.people}:{}})]},u.id))})]}):null]})}function $i({context:e,id:t,kind:n}){let{store:a,principal:r}=e,o={name:`allow-tidying-${n}`,args:{id:t}},l=a.allMutations().some(s=>s.name===o.name)&&a.permits(o,r).ok;return(0,v.jsxs)("section",{"data-testid":"record-left-alone",style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:12,padding:"12px 16px",border:"1px solid var(--graview-edge)",borderRadius:"var(--graview-radius, 12px)",background:"var(--graview-panel)"},children:[(0,v.jsxs)("p",{style:{margin:0,flex:"1 1 16rem"},children:[(0,v.jsx)("strong",{children:"Left alone."})," Nothing automated changes it; tidying passes it by."]}),l?(0,v.jsx)("button",{type:"button",style:Se,"data-testid":"allow-tidying",onClick:()=>a.apply(o,r?{author:r}:{}),children:"Allow tidying again"}):null]})}function Ni({context:e,id:t,kind:n}){let{store:a,principal:r}=e,o={name:`unarchive-${n}`,args:{id:t}},l=a.allMutations().some(c=>c.name===o.name)&&a.permits(o,r).ok,s=[...a.log.all()].reverse().find(c=>!Lt(c)&&c.mergedInto!==void 0&&c.writes.includes(t)),d=s?.mergedInto!==void 0?a.graph.getNode(s.mergedInto):void 0;return(0,v.jsxs)("section",{"data-testid":"record-archived",style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:12,padding:"12px 16px",border:"1px solid var(--graview-edge)",borderRadius:"var(--graview-radius, 12px)",background:"var(--graview-panel)"},children:[(0,v.jsxs)("p",{style:{margin:0,flex:"1 1 16rem"},children:[(0,v.jsx)("strong",{children:"Archived."})," Kept with its ties and history, and out of lists, counts and rules.",d?(0,v.jsxs)(v.Fragment,{children:[" ","Merged into ",(0,v.jsx)(H,{to:z(a.schema,d.kind,d.id),style:K,children:de(a.schema.tryDefinition(d.kind),d)}),"."]}):null]}),l?(0,v.jsx)("button",{type:"button",style:Se,"data-testid":"bring-it-back",onClick:()=>a.apply(o,r?{author:r}:{}),children:"Bring it back"}):null]})}var k=F(U(),1),Oi=(0,G.lazy)($t(()=>(__graviewPreload(import.meta.url,["./chunk.B6KT6BTG.js","./chunk.K46YRA65.js","./chunk.UJKT2G6M.js","./chunk.UGFDSE37.js","./chunk.DLFWBG33.js","./chunk.RYRTKIKB.js","./chunk.M5GJHVWZ.js","./chunk.HZGVEHEN.js","./chunk.JBW3DI7E.js","./chunk.CBUSFM3E.js","./chunk.NIVTK2W5.js","./chunk.FPASZ4RD.js","./chunk.2YABX3SC.js","./chunk.DQOCBKC3.js","./chunk.V5FIZIX2.js","./chunk.DQHPEKWK.js","./chunk.LSLLKICK.js","./chunk.EAUVEVVO.js","./chunk.C2UFMFJ3.js","./chunk.ZJ2VS4M4.js","./chunk.Y5ARSVH4.js","./chunk.PKUDIWIF.js","./chunk.VW2VCPJX.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.OYHQSXNC.js","./chunk.UHX4WTM7.js","./chunk.IKX4VDTW.js","./chunk.RNEJYIQ7.js","./chunk.TBQOSI4J.js","./chunk.KWQ7QOHD.js","./chunk.GZHZLJBF.js","./chunk.6MADC6DM.js","./chunk.OJGHDWI6.js","./chunk.JLEC3USG.js","./chunk.HDRD33II.js","./chunk.DX357TZ3.js","./chunk.H7KCWCB4.js","./chunk.6BJBPDF3.js","./chunk.XWAMQPUM.js","./chunk.SDO3U72B.js","./chunk.AS4CQBOQ.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.KUUDW7VR.js")).then(e=>({default:e.DraftPage})))),Hi={kind:"human"};function Ii({list:e,store:t}){let n=new Set(e.members.map(l=>l.kind)),a=e.total-e.members.length,r=n.size===1?[...n][0]:void 0;if(!r)return(0,k.jsx)("p",{className:"graview-spec-text graview-spec-more",children:`and ${a} more`});let o=qe(t.schema,r).toLowerCase();return(0,k.jsx)("p",{className:"graview-spec-text graview-spec-more",children:(0,k.jsx)(H,{to:`/${j(t.schema,r)}`,className:"graview-spec-link graview-spec-see-all","data-testid":"see-all",children:e.total===t.graph.nodesOfKind(r).length?`See all ${gt(e.total)} ${o}`:`${gt(a)} more \xB7 all ${o}`})})}function Fi({context:e,children:t}){let n=We(),a=e.store.schema,r=lt("/").replace(/\/$/,""),o=(0,G.useMemo)(()=>({href:l=>`${r}${z(a,l.kind,l.id)}`,go:l=>n(z(a,l.kind,l.id)),more:l=>(0,k.jsx)(Ii,{list:l,store:e.store})}),[r,a,n,e.store]);return(0,k.jsx)(Kt.Provider,{value:o,children:(0,k.jsx)(Mr.Provider,{value:(e.titleLevel??(e.framed&&!e.barAbove?1:2))-1,children:t})})}function Wi({steering:e}){let t=ce(),n=We(),a=`${t.pathname}${t.search}`;return(0,G.useLayoutEffect)(()=>e.at(a),[a,e]),(0,G.useLayoutEffect)(()=>{let r=l=>{l!==a&&n(l)};e.go.current=r;let o=e.pending?.current;return o!==void 0&&(e.pending.current=void 0,r(o)),()=>{e.go.current===r&&(e.go.current=void 0)}},[a,n,e]),null}function Di({context:e,to:t}){let{pathname:n}=ce(),a=oe(),r=(t??a)?.sayWhere,o=Ki(e,n);return(0,G.useEffect)(()=>(r?.(o),()=>r?.(null)),[r,o]),null}function Ki(e,t){let[n="",a,r]=t.split("/").filter(Boolean).map(l=>{try{return decodeURIComponent(l)}catch{return l}});if(r!==void 0)return"#";if(n==="places"&&a!==void 0){if(a===xn)return"#overview=1";let l=e.views?.places().find(s=>s.as===a);return l?`#focus=${encodeURIComponent(Oe(l.kind))}&view=${encodeURIComponent(l.as)}`:"#"}let o=we(e.store.schema,n);return o?`#focus=${encodeURIComponent(a??Oe(o))}`:"#"}function Bi({onNavigate:e,path:t}){let n=ce(),a=In(),r=We(),o=n.hash&&!n.hash.includes("=")?n.hash:"",l=`${n.pathname}${n.search}${o}`,s=(0,G.useRef)(e);s.current=e;let d=(0,G.useRef)(null);(0,G.useEffect)(()=>{let p=d.current;d.current=l,p!==null&&(l===p&&a!=="PUSH"||s.current?.(l,a==="POP"?"pop":a==="REPLACE"?"replace":"push"))},[n.key]);let c=(0,G.useRef)(t);return(0,G.useEffect)(()=>{t===void 0||t===c.current||(c.current=t,t!==l&&r(t))},[t]),null}function Co({context:e,registry:t,page:n}){let a=Ge(),r=we(e.store.schema,a.slug??""),o=n==="list"?Qn:Jn,s=(r?t?.lookup(r,n):void 0)??o;return(0,k.jsx)(s,{context:e})}function qi({context:e,registry:t,children:n}){let a=(0,G.useRef)(null);return Ka(a),(0,k.jsx)("div",{ref:a,"data-graview-face":"pages",style:{display:"contents"},children:(0,k.jsx)(po,{context:e,registry:t,root:a,children:(0,k.jsx)(go,{context:e,root:a,children:n})})})}function Gi(e){return e instanceof HTMLElement?e.isContentEditable||e.tagName==="TEXTAREA"||e.tagName==="SELECT"?!0:e.tagName==="INPUT"&&!["button","submit","reset","checkbox","radio","image","file","color","range"].includes(e.type):!1}function Ui(){let{pathname:e}=ce(),t=In(),n=(0,G.useRef)(null);(0,G.useLayoutEffect)(()=>{if(t!=="POP"){for(let o=n.current?.parentElement;o;o=o.parentElement){let{overflowY:l}=getComputedStyle(o);if((l==="auto"||l==="scroll")&&o.scrollHeight>o.clientHeight){o.scrollTop=0;return}}window.scrollTo(0,0)}},[e]);let a=(0,G.useRef)(e),r=(0,G.useRef)(!1);return(0,G.useEffect)(()=>{if(!r.current&&e===a.current)return;r.current=!0;let o=document.activeElement;if(Gi(o))return;let l=n.current?.closest("main")??document.querySelector("main"),d=n.current?.closest("[data-graview-face]")?.querySelector("[data-graview-page-title]")??l?.querySelector("h1, h2")??null??l??null;d&&(d.hasAttribute("tabindex")||d.setAttribute("tabindex","-1"),d.focus({preventScroll:!0}))},[e]),(0,k.jsx)("span",{ref:n,hidden:!0,"data-graview-scroll-reset":""})}function Ao({context:e,children:t}){let n=We(),a=(0,G.useMemo)(()=>({record:(r,o)=>{let l=e.store.graph.getNode(r);l&&n(Gt(z(e.store.schema,l.kind,r),{section:o?.section}))},place:(r,o)=>{let l=e.views?.places().find(s=>s.as===r);l&&n(Gt(pe(e,l),o))},list:(r,o)=>{e.store.schema.tryDefinition(r)&&n(Gt(`/${j(e.store.schema,r)}`,o))},draft:()=>n("/~draft")}),[e,n]);return(0,k.jsx)(Wa.Provider,{value:a,children:t})}function Vi(){let{pathname:e,search:t,hash:n}=ce();return(0,G.useEffect)(()=>{let a=decodeURIComponent(n.replace(/^#/,""));if(!(!a||a.includes("=")))return io(a)},[e,t,n]),null}function ji({context:e,Home:t}){let n=ce(),a=e.views,r=n.key==="default"&&!(a&&Ia(a));(0,G.useEffect)(()=>{a&&Fa(a)},[a]);let o=r?Ra(e.views?.arrangement?.()?.first,e.store.schema,e.views?.places()??[]):void 0,l=o?.to==="place"?pe(e,o.place):o?.to==="kind"?`/${j(e.store.schema,o.kind)}`:void 0;return l?(0,k.jsx)(Fn,{to:l,replace:!0}):(0,k.jsx)(t,{context:e})}function Ro({context:e,registry:t}){let n=t?.lookupSurface("shell"),a=n!==void 0,r=a&&(t?.without().has("bar")??!1),o=a&&!r&&!e.embedded?{...e,barAbove:!0}:e,l=I=>n===void 0?(0,k.jsx)(Yt,{context:e,children:I}):r?(0,k.jsx)(n,{context:e,children:I}):(0,k.jsx)(Yt,{context:e,children:(0,k.jsx)(n,{context:o,children:I})}),s=t?.lookupSurface("home")??_n,d=t?.lookupSurface("problems")??Zn,c=a?{...o,framed:!0}:e,[p,S]=(0,G.useState)(null),w=(0,G.useMemo)(()=>({context:c,registry:t}),[c,t]),g=(0,G.useMemo)(()=>({onFind:S,find:!(t?.without().has("find")??!1),places:!(t?.without().has("places")??!1)}),[t]),L=(0,k.jsx)(Dn.Provider,{value:w,children:(0,k.jsx)(Ao,{context:e,children:(0,k.jsx)(qi,{context:e,registry:t,children:l((0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Xa,{face:"pages"}),(0,k.jsxs)(Fi,{context:c,children:[(0,k.jsx)(Ui,{}),(0,k.jsx)(Vi,{}),(0,k.jsxs)(Yr,{children:[(t?.routes()??[]).map(({path:I,component:b})=>(0,k.jsx)(Re,{path:I,element:(0,k.jsx)(b,{context:c})},I)),(0,k.jsx)(Re,{path:"/",element:(0,k.jsx)(ji,{context:c,Home:s})}),(0,k.jsx)(Re,{path:"/problems",element:(0,k.jsx)(d,{context:c})}),(0,k.jsx)(Re,{path:"/~draft",element:(0,k.jsx)(G.Suspense,{fallback:null,children:(0,k.jsx)(Oi,{context:c})})}),(0,k.jsx)(Re,{path:"/search",element:(0,k.jsx)(Yn,{context:c})}),(0,k.jsx)(Re,{path:"/map",element:(0,k.jsx)(zn,{context:c})}),(0,k.jsx)(Re,{path:"/places",element:(0,k.jsx)(Vn,{context:c})}),Te(c).some(I=>I.as===xn)?null:(0,k.jsx)(Re,{path:Aa,element:(0,k.jsx)(Fn,{to:"/",replace:!0})}),(0,k.jsx)(Re,{path:"/places/:as",element:(0,k.jsx)(jn,{context:c})}),(0,k.jsx)(Re,{path:"/:slug",element:(0,k.jsx)(Co,{context:c,registry:t,page:"list"})}),(0,k.jsx)(Re,{path:"/:slug/:id",element:(0,k.jsx)(Co,{context:c,registry:t,page:"record"})})]})]})]}))})})});return e.embedded||!a||r?L:(0,k.jsx)(Xr.Provider,{value:g,children:(0,k.jsx)(pr.Provider,{value:p,children:L})})}var zi=()=>typeof document>"u"?null:document.body;function _i({context:e,registry:t,basename:n,initialPath:a,onNavigate:r,path:o,steering:l,firstLook:s}){let[d,c]=(0,G.useState)(void 0),p=d!==void 0&&d.from===e.principal?{...e,principal:d.seat}:e;(0,G.useState)(()=>p.views?$r(p.views,p.store.schema,Mn(p.brand,p.store.schema)):void 0);let S=oe();ga({reader:p.locale??S?.locale,app:p.brand?.locale??p.app?.brand?.locale,readerTimeZone:p.timeZone??S?.timeZone,appTimeZone:p.brand?.timeZone??p.app?.brand?.timeZone});let w=p.principal??Hi,g=$a(p.store,w,p.history),I=(g.past&&g.live===p.store?g.past.store:p.store).seenBy(w),b=I===p.store?p:{...p,store:I};Na(p.store,p.principal);let x=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Bi,{onNavigate:r,path:o}),l?(0,k.jsx)(Wi,{steering:l}):null,b.presence||S?(0,k.jsx)(Di,{context:b,to:S}):null,(0,k.jsx)(Ro,{context:b,...t?{registry:t}:{}}),s?(0,k.jsx)(Nr,{firstLook:s,root:zi,app:Mn(p.brand,p.store.schema)}):null]}),$=b.views?(0,k.jsxs)(Oa,{store:b.store,views:b.views,...b.principal?{principal:b.principal}:{},...b.brand?{brand:b.brand}:{},...b.locale?{locale:b.locale}:{},...b.timeZone?{timeZone:b.timeZone}:{},...b.settings?{settings:b.settings}:{},...b.presence&&!S?{presence:b.presence}:{},...b.people?{people:b.people}:{},...b.seats?{seats:b.seats}:{},onSeat:V=>S?S.takeSeat(V):c({from:e.principal,seat:V}),...b.onKeepLens?{onKeepLens:b.onKeepLens}:{},...b.ai?{ai:b.ai}:{},...b.subscriptions?{subscriptions:b.subscriptions}:{},...b.signIn?{signIn:b.signIn}:{},resolveApp:b.resolveApp??S?.resolveApp,linkedRecords:b.linkedRecords??S?.linkedRecords,...b.app?{app:b.app}:{},...b.menuSections?{menuSections:b.menuSections}:{},children:[x,(0,k.jsx)(Ao,{context:b,children:(0,k.jsx)(so,{context:b})})]}):x,T=(0,k.jsx)(Ea.Provider,{value:g,children:$}),M=b.files?(0,k.jsx)(Ma.Provider,{value:b.files,children:T}):T;if(a!==void 0){let V=n===void 0?a:`${n.replace(/\/$/,"")}${a}`;return(0,k.jsx)(_r,{initialEntries:[V],...n===void 0?{}:{basename:n},children:M})}return(0,k.jsx)(Qr,{...n===void 0?{}:{basename:n},children:M})}export{Xo as a,_i as b};
@@ -1 +1 @@
1
- import{Aa as k,R as w,j as c,l as h,m as b,r as f,ya as y}from"./chunk.7L6LYXCV.js";import{U as i}from"./chunk.7MQ7UWVW.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
1
+ import{Aa as y,Ca as k,R as w,j as c,l as h,m as b,r as f}from"./chunk.XWAMQPUM.js";import{U as i}from"./chunk.AS4CQBOQ.js";import{b as g}from"./chunk.AJZBJBMO.js";var s=null,a=new Set,v=e=>{s={kind:e,n:(s?.n??0)+1};for(let t of a)t()},A=()=>s,C=e=>(a.add(e),()=>a.delete(e)),V=()=>{s=null};var d=g(w(),1);function T(e,t){if(e.length===0||t.length===0)return[];let o=new Set(t.map(n=>n.id));return e.filter(n=>n.nodeIds.some(l=>o.has(l)))}var x=(e,t)=>`${i(e)} ${e===1?"problem":"problems"} in ${t}`;function q({kind:e,plural:t,problems:o,flag:n,listed:l=!1}){let{view:p,go:P}=k(),{set:$}=y();if(o.length===0)return null;let u=x(o.length,t),m=o.length===1?"it":"them";return(0,d.jsx)("button",{type:"button",className:"graview-district-problems","data-testid":`district-problems-${e}`,"data-graview-problems":o.length,"aria-expanded":l,"aria-label":u,title:`${u} \u2014 ${o[0].message}${o.length>1?` (and ${i(o.length-1)} more)`:""}. Press to see ${m} and how to fix ${m}.`,onClick:r=>{r.stopPropagation(),p.overview||P(h(c(b(p,!0),null),"view",null)),$([f(e)]),v(e)},onDoubleClick:r=>r.stopPropagation(),onPointerDown:r=>r.stopPropagation(),children:(0,d.jsx)("span",{"aria-hidden":"true",children:`${n} ${i(o.length)}`})})}export{A as a,C as b,V as c,T as d,x as e,q as f};
@@ -1 +1 @@
1
- import{a as B,b as ve}from"./chunk.5J2HETUO.js";import{a as ye,c as he,d as be,f as we}from"./chunk.VCOIFBUE.js";import{f as q,i as S,j as fe,k as me,q as ce,r as ge}from"./chunk.RSYFIL2Z.js";import{b as pe}from"./chunk.R7F6UJVG.js";import{c as de,f as ue}from"./chunk.DYW4D74X.js";import{$ as le,G as Re,R as se,h as ae,u as ie}from"./chunk.7L6LYXCV.js";import{Ea as te,Pa as re,Qa as oe,ca as Z,ea as ee,la as ne}from"./chunk.7MQ7UWVW.js";import{b as W}from"./chunk.AJZBJBMO.js";var l=W(Re(),1);var i=W(se(),1);function qe({affordance:n,onApply:a,onCancel:u,store:w}){let y=le(),s=w??y?.store,[x,_]=(0,l.useState)({}),[p,D]=(0,l.useState)(""),[I,F]=(0,l.useState)(G),[J,V]=(0,l.useState)(void 0),U=(0,l.useId)(),L=(0,l.useRef)(null),A=n.open.filter(e=>!(e.name in x)),o=A[0],v=s.allMutations().find(e=>e.name===n.mutation),P=(0,l.useMemo)(()=>De(v,s,n.args??{}),[v,s,n.args]),d=o?P[o.name]:void 0,E=ge(n.open.filter(e=>e.shape?.type==="date").map(e=>e.name)),Se=(()=>{if(!E||o?.name!==E.end||o.shape?.type!=="date")return;let e=x[E.start];if(typeof e!="string")return;let r=P[E.start];return ce(typeof r=="string"?r:void 0,e,typeof d=="string"?d:void 0,{time:o.shape.time===!0,instant:o.shape.instant===!0})})();(0,l.useEffect)(()=>{D(Se??ke(d,o?.shape)),F(Array.isArray(d)?d:G),V(d)},[o?.name]),(0,l.useEffect)(()=>{L.current?.scrollIntoView?.({block:"nearest",inline:"nearest"})},[o?.name]),(0,l.useLayoutEffect)(()=>{let e=L.current,r=typeof document>"u"?null:document.activeElement,f=r instanceof HTMLElement&&r.getAttribute("data-affordance")===n.id;if(!e||r&&r!==document.body&&!e.contains(r)&&!f)return;let b=e.querySelector('[data-testid="ask-filter"], form input, [role=group] button:not([disabled])');b&&b!==r&&b.focus()},[o?.name]);let Y=ve({flow:"both",letters:!0});if(!o)return null;let h=e=>{let r=d!==void 0&&JSON.stringify(e)===JSON.stringify(d)?void 0:e,f={...x,[o.name]:r};if(n.open.filter(R=>!(R.name in f)).length===0){let R=a(Object.fromEntries(Object.entries(f).filter(([,M])=>M!==void 0)));R&&R.length>0&&_(Object.fromEntries(Object.entries(f).filter(([M])=>!R.includes(M))))}else _(f)},O=o.optional?(0,i.jsx)("button",{type:"button",onClick:()=>h(void 0),style:{fontSize:"0.8125rem"},children:"Skip"}):null,t=o.shape??{type:"unknown"},c=t.type==="number"?t.amount:void 0,g=Ee(o,t),m=q(s.schema,v,o.name),Q=te((v?.input?.shape??{})[o.name]),xe=oe((v?.input?.shape??{})[o.name]),N=re(o.name),Ae=typeof d=="boolean"?d?"yes":"no":d,[T,Oe]=(0,l.useState)(""),X=(0,l.useMemo)(()=>{let e=g.map(r=>s.graph.getNode(r)).filter(r=>r!==void 0);return pe(e,r=>s.schema.tryDefinition(r))},[g,s]),j=e=>{let r=Ce(s,t,e),f=t.type==="choice"||t.type==="several"&&t.of.type==="choice"?m.option(e):r,b=X.get(e);return b?`${f} \xB7 ${b}`:f},$=(0,l.useMemo)(()=>{let e=T.trim().toLowerCase();return e===""?g:g.filter(r=>j(r).toLowerCase().includes(e))},[g,T,s,t,X]),k=t.type==="several",H=t.type==="file"?t:t.type==="several"&&t.of.type==="file"?t.of:void 0,K=k&&g.length===0,C=o.kinds&&o.kinds.length>0&&!o.kinds.includes("*")?o.kinds.map(e=>ee(ne(s.schema.tryDefinition(e),e))).join(" or "):m.label,Ne=n.open.length>1?`${C} \xB7 ${n.open.length-A.length+1} of ${n.open.length}`:C;return(0,i.jsxs)("div",{ref:L,"data-graview-asking":n.id,style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gap:4,padding:"5px 0 2px"},children:[n.open.length>1||g.length>0?(0,i.jsx)("span",{id:U,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:Ne}):null,g.length>z?(0,i.jsx)("input",{type:"search",value:T,onChange:e=>Oe(e.target.value),placeholder:`Filter ${g.length}\u2026`,"aria-label":`Filter ${C}`,"data-testid":"ask-filter",onKeyDown:e=>{if(e.key!=="ArrowDown"||e.metaKey||e.ctrlKey||e.altKey)return;let r=Y.ref.current?.querySelector(`[${B}][tabindex="0"]`);r&&(e.preventDefault(),r.focus())},style:{font:"inherit",fontSize:"0.8125rem",minWidth:0,padding:"3px 7px"}}):null,xe?(0,i.jsxs)("form",{style:{display:"grid",gap:4},onSubmit:e=>{e.preventDefault(),h(J??(d===void 0?void 0:null))},children:[(0,i.jsx)(be,{value:J,onChange:V,start:N?x[N]??P[N]:void 0,label:`${N?q(s.schema,v,N).label:m.label} repeats`,name:o.name}),(0,i.jsxs)("span",{style:{display:"flex",gap:4},children:[(0,i.jsx)("button",{type:"submit",style:{fontSize:"0.8125rem"},children:A.length>1?"Next":"Apply"}),O]})]}):Q?(0,i.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,i.jsx)(he,{relation:Q,value:d,onChange:h,label:m.label}),O]}):H?(0,i.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,i.jsx)(ye,{as:"control",value:d,onChange:h,several:k,image:H.image===!0,video:H.video===!0,label:m.label}),O]}):g.length>0?(0,i.jsxs)("div",{...Y,role:"group","aria-labelledby":U,style:{display:"flex",flexWrap:"wrap",gap:4},children:[$.slice(0,z).map(e=>{let r=k?I.includes(e):e===Ae;return(0,i.jsx)("button",{type:"button",[B]:"","aria-label":`${C}: ${j(e)}`,...k?{"aria-pressed":r}:r?{"aria-current":!0}:{},style:{padding:"3px 9px",fontSize:"0.8125rem",...r?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)"}:{}},onClick:()=>k?F(f=>f.includes(e)?f.filter(b=>b!==e):[...f,e]):h(t.type==="boolean"?e==="yes":e),children:j(e)},e)}),$.length>z?(0,i.jsxs)("span",{"data-testid":"ask-more",style:{alignSelf:"center",fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:[$.length-z," more \u2014 type to narrow"]}):null,$.length===0?(0,i.jsxs)("span",{"data-testid":"ask-none",style:{alignSelf:"center",fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:["None of the ",g.length," match that."]}):null,k?(0,i.jsx)("button",{type:"button",disabled:I.length===0,style:{fontSize:"0.8125rem"},onClick:()=>{let e=I;F(G),h(e)},children:A.length>1?"Next":"Apply"}):null,O]}):(0,i.jsxs)("form",{style:{display:"flex",flexWrap:"wrap",gap:4},onSubmit:e=>{if(e.preventDefault(),d!==void 0&&p===ke(d,t)){h(void 0);return}if(K){h(p.split(/[,\n]/).map(r=>r.trim()).filter(Boolean));return}if(p.trim().length!==0){if(c){let r=me(p,c);r!==void 0&&h(r);return}h(t.type==="number"?t.duration?ue(p)??p:Number(p):p)}},children:[t.type==="text"&&t.long?(0,i.jsx)("textarea",{autoFocus:!0,name:o.name,"aria-label":m.label,placeholder:m.label,value:p,rows:4,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key==="Escape"?u():e.key==="Enter"&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},style:{flex:"1 1 100%",minWidth:0,font:"inherit",fontSize:"0.875rem",lineHeight:1.45,padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)",resize:"vertical",fieldSizing:"content",minHeight:"5.5em",maxHeight:"40vh"}}):t.type==="date"?(0,i.jsx)(we,{autoFocus:!0,name:o.name,label:m.label,value:p===""?void 0:p,time:t.time===!0,instant:t.instant===!0,onChange:e=>D(e??""),onCancel:u,boxStyle:{fontSize:"0.875rem",padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)"}}):(0,i.jsx)("input",{autoFocus:!0,type:t.type==="number"&&!t.duration&&!c?"number":t.type==="text"&&t.holds==="phone"?"tel":"text",...c?{inputMode:"decimal","data-graview-amount":c.format??"unit"}:{},name:o.name,"aria-label":m.label,placeholder:K?`${m.label}, separated by commas`:c?`${m.label}, ${S(c).hint} \u2014 ${S(c).prefix??""}${S(c).placeholder}${S(c).suffix?` ${S(c).suffix}`:""}`:m.label,value:p,...t.type==="number"&&t.min!==void 0?{min:t.min}:{},...t.type==="number"&&t.max!==void 0?{max:t.max}:{},...t.type==="number"&&t.step!==void 0?{step:t.step}:{},onChange:e=>D(e.target.value),onKeyDown:e=>{e.key==="Escape"&&u()},style:{flex:1,minWidth:0,font:"inherit",fontSize:"0.875rem",padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)"}}),(0,i.jsx)("button",{type:"submit",disabled:!K&&p.trim().length===0,style:{fontSize:"0.8125rem"},children:A.length>1?"Next":"Apply"}),O]})]})}var G=[];function De(n,a,u){let w=n?.derived?.act==="edit"&&n.subject?u[n.subject.arg]:void 0,y=typeof w=="string"?a.graph.getNode(w):void 0;return y?Object.fromEntries((n.writes??[]).filter(s=>y[s]!==void 0&&y[s]!==null).map(s=>[s,y[s]])):{}}function ke(n,a){return typeof n=="number"?a?.type==="number"&&a.amount?fe(n,a.amount):String(n):Array.isArray(n)?n.every(u=>typeof u=="string")?n.join(", "):"":typeof n!="string"?"":n}var z=10;function Ee(n,a){return n.candidates&&n.candidates.length>0?n.candidates:a.type==="choice"?a.options:a.type==="several"&&a.of.type==="choice"?a.of.options:a.type==="boolean"?$e:[]}var $e=["yes","no"];function Ce(n,a,u){return a.type==="boolean"||a.type==="choice"||a.type==="several"&&a.of.type==="choice"?u:ze(n,u)}function ze(n,a){let u=ae(a);if(u){let s=de(n.schema,n.graph.getNode(u.from)?.kind??"",u.kind,"out");return s.charAt(0).toUpperCase()+s.slice(1)}let w=ie(a);if(w.length>0)return w.map(s=>n.schema.tryDefinition(s)?.plural??`${s}s`).join(" + ");let y=n.graph.getNode(a);return y?Z(n.schema.tryDefinition(y.kind),y):a}export{qe as a,ze as b};
1
+ import{a as B,b as ve}from"./chunk.DQOCBKC3.js";import{a as ye,c as he,d as be,f as we}from"./chunk.EAUVEVVO.js";import{f as q,i as S,j as fe,k as me,q as ce,r as ge}from"./chunk.HDRD33II.js";import{b as pe}from"./chunk.DX357TZ3.js";import{c as de,f as ue}from"./chunk.H7KCWCB4.js";import{$ as le,G as Re,R as se,h as ae,u as ie}from"./chunk.XWAMQPUM.js";import{Ea as te,Pa as re,Qa as oe,ca as Z,ea as ee,la as ne}from"./chunk.AS4CQBOQ.js";import{b as W}from"./chunk.AJZBJBMO.js";var l=W(Re(),1);var i=W(se(),1);function qe({affordance:n,onApply:a,onCancel:u,store:w}){let y=le(),s=w??y?.store,[x,_]=(0,l.useState)({}),[p,D]=(0,l.useState)(""),[I,F]=(0,l.useState)(G),[J,V]=(0,l.useState)(void 0),U=(0,l.useId)(),L=(0,l.useRef)(null),A=n.open.filter(e=>!(e.name in x)),o=A[0],v=s.allMutations().find(e=>e.name===n.mutation),P=(0,l.useMemo)(()=>De(v,s,n.args??{}),[v,s,n.args]),d=o?P[o.name]:void 0,E=ge(n.open.filter(e=>e.shape?.type==="date").map(e=>e.name)),Se=(()=>{if(!E||o?.name!==E.end||o.shape?.type!=="date")return;let e=x[E.start];if(typeof e!="string")return;let r=P[E.start];return ce(typeof r=="string"?r:void 0,e,typeof d=="string"?d:void 0,{time:o.shape.time===!0,instant:o.shape.instant===!0})})();(0,l.useEffect)(()=>{D(Se??ke(d,o?.shape)),F(Array.isArray(d)?d:G),V(d)},[o?.name]),(0,l.useEffect)(()=>{L.current?.scrollIntoView?.({block:"nearest",inline:"nearest"})},[o?.name]),(0,l.useLayoutEffect)(()=>{let e=L.current,r=typeof document>"u"?null:document.activeElement,f=r instanceof HTMLElement&&r.getAttribute("data-affordance")===n.id;if(!e||r&&r!==document.body&&!e.contains(r)&&!f)return;let b=e.querySelector('[data-testid="ask-filter"], form input, [role=group] button:not([disabled])');b&&b!==r&&b.focus()},[o?.name]);let Y=ve({flow:"both",letters:!0});if(!o)return null;let h=e=>{let r=d!==void 0&&JSON.stringify(e)===JSON.stringify(d)?void 0:e,f={...x,[o.name]:r};if(n.open.filter(R=>!(R.name in f)).length===0){let R=a(Object.fromEntries(Object.entries(f).filter(([,M])=>M!==void 0)));R&&R.length>0&&_(Object.fromEntries(Object.entries(f).filter(([M])=>!R.includes(M))))}else _(f)},O=o.optional?(0,i.jsx)("button",{type:"button",onClick:()=>h(void 0),style:{fontSize:"0.8125rem"},children:"Skip"}):null,t=o.shape??{type:"unknown"},c=t.type==="number"?t.amount:void 0,g=Ee(o,t),m=q(s.schema,v,o.name),Q=te((v?.input?.shape??{})[o.name]),xe=oe((v?.input?.shape??{})[o.name]),N=re(o.name),Ae=typeof d=="boolean"?d?"yes":"no":d,[T,Oe]=(0,l.useState)(""),X=(0,l.useMemo)(()=>{let e=g.map(r=>s.graph.getNode(r)).filter(r=>r!==void 0);return pe(e,r=>s.schema.tryDefinition(r))},[g,s]),j=e=>{let r=Ce(s,t,e),f=t.type==="choice"||t.type==="several"&&t.of.type==="choice"?m.option(e):r,b=X.get(e);return b?`${f} \xB7 ${b}`:f},$=(0,l.useMemo)(()=>{let e=T.trim().toLowerCase();return e===""?g:g.filter(r=>j(r).toLowerCase().includes(e))},[g,T,s,t,X]),k=t.type==="several",H=t.type==="file"?t:t.type==="several"&&t.of.type==="file"?t.of:void 0,K=k&&g.length===0,C=o.kinds&&o.kinds.length>0&&!o.kinds.includes("*")?o.kinds.map(e=>ee(ne(s.schema.tryDefinition(e),e))).join(" or "):m.label,Ne=n.open.length>1?`${C} \xB7 ${n.open.length-A.length+1} of ${n.open.length}`:C;return(0,i.jsxs)("div",{ref:L,"data-graview-asking":n.id,style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr)",gap:4,padding:"5px 0 2px"},children:[n.open.length>1||g.length>0?(0,i.jsx)("span",{id:U,style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:Ne}):null,g.length>z?(0,i.jsx)("input",{type:"search",value:T,onChange:e=>Oe(e.target.value),placeholder:`Filter ${g.length}\u2026`,"aria-label":`Filter ${C}`,"data-testid":"ask-filter",onKeyDown:e=>{if(e.key!=="ArrowDown"||e.metaKey||e.ctrlKey||e.altKey)return;let r=Y.ref.current?.querySelector(`[${B}][tabindex="0"]`);r&&(e.preventDefault(),r.focus())},style:{font:"inherit",fontSize:"0.8125rem",minWidth:0,padding:"3px 7px"}}):null,xe?(0,i.jsxs)("form",{style:{display:"grid",gap:4},onSubmit:e=>{e.preventDefault(),h(J??(d===void 0?void 0:null))},children:[(0,i.jsx)(be,{value:J,onChange:V,start:N?x[N]??P[N]:void 0,label:`${N?q(s.schema,v,N).label:m.label} repeats`,name:o.name}),(0,i.jsxs)("span",{style:{display:"flex",gap:4},children:[(0,i.jsx)("button",{type:"submit",style:{fontSize:"0.8125rem"},children:A.length>1?"Next":"Apply"}),O]})]}):Q?(0,i.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,i.jsx)(he,{relation:Q,value:d,onChange:h,label:m.label}),O]}):H?(0,i.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,i.jsx)(ye,{as:"control",value:d,onChange:h,several:k,image:H.image===!0,video:H.video===!0,label:m.label}),O]}):g.length>0?(0,i.jsxs)("div",{...Y,role:"group","aria-labelledby":U,style:{display:"flex",flexWrap:"wrap",gap:4},children:[$.slice(0,z).map(e=>{let r=k?I.includes(e):e===Ae;return(0,i.jsx)("button",{type:"button",[B]:"","aria-label":`${C}: ${j(e)}`,...k?{"aria-pressed":r}:r?{"aria-current":!0}:{},style:{padding:"3px 9px",fontSize:"0.8125rem",...r?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)"}:{}},onClick:()=>k?F(f=>f.includes(e)?f.filter(b=>b!==e):[...f,e]):h(t.type==="boolean"?e==="yes":e),children:j(e)},e)}),$.length>z?(0,i.jsxs)("span",{"data-testid":"ask-more",style:{alignSelf:"center",fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:[$.length-z," more \u2014 type to narrow"]}):null,$.length===0?(0,i.jsxs)("span",{"data-testid":"ask-none",style:{alignSelf:"center",fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:["None of the ",g.length," match that."]}):null,k?(0,i.jsx)("button",{type:"button",disabled:I.length===0,style:{fontSize:"0.8125rem"},onClick:()=>{let e=I;F(G),h(e)},children:A.length>1?"Next":"Apply"}):null,O]}):(0,i.jsxs)("form",{style:{display:"flex",flexWrap:"wrap",gap:4},onSubmit:e=>{if(e.preventDefault(),d!==void 0&&p===ke(d,t)){h(void 0);return}if(K){h(p.split(/[,\n]/).map(r=>r.trim()).filter(Boolean));return}if(p.trim().length!==0){if(c){let r=me(p,c);r!==void 0&&h(r);return}h(t.type==="number"?t.duration?ue(p)??p:Number(p):p)}},children:[t.type==="text"&&t.long?(0,i.jsx)("textarea",{autoFocus:!0,name:o.name,"aria-label":m.label,placeholder:m.label,value:p,rows:4,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key==="Escape"?u():e.key==="Enter"&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.currentTarget.form?.requestSubmit())},style:{flex:"1 1 100%",minWidth:0,font:"inherit",fontSize:"0.875rem",lineHeight:1.45,padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)",resize:"vertical",fieldSizing:"content",minHeight:"5.5em",maxHeight:"40vh"}}):t.type==="date"?(0,i.jsx)(we,{autoFocus:!0,name:o.name,label:m.label,value:p===""?void 0:p,time:t.time===!0,instant:t.instant===!0,onChange:e=>D(e??""),onCancel:u,boxStyle:{fontSize:"0.875rem",padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)"}}):(0,i.jsx)("input",{autoFocus:!0,type:t.type==="number"&&!t.duration&&!c?"number":t.type==="text"&&t.holds==="phone"?"tel":"text",...c?{inputMode:"decimal","data-graview-amount":c.format??"unit"}:{},name:o.name,"aria-label":m.label,placeholder:K?`${m.label}, separated by commas`:c?`${m.label}, ${S(c).hint} \u2014 ${S(c).prefix??""}${S(c).placeholder}${S(c).suffix?` ${S(c).suffix}`:""}`:m.label,value:p,...t.type==="number"&&t.min!==void 0?{min:t.min}:{},...t.type==="number"&&t.max!==void 0?{max:t.max}:{},...t.type==="number"&&t.step!==void 0?{step:t.step}:{},onChange:e=>D(e.target.value),onKeyDown:e=>{e.key==="Escape"&&u()},style:{flex:1,minWidth:0,font:"inherit",fontSize:"0.875rem",padding:"5px 8px",borderRadius:7,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)"}}),(0,i.jsx)("button",{type:"submit",disabled:!K&&p.trim().length===0,style:{fontSize:"0.8125rem"},children:A.length>1?"Next":"Apply"}),O]})]})}var G=[];function De(n,a,u){let w=n?.derived?.act==="edit"&&n.subject?u[n.subject.arg]:void 0,y=typeof w=="string"?a.graph.getNode(w):void 0;return y?Object.fromEntries((n.writes??[]).filter(s=>y[s]!==void 0&&y[s]!==null).map(s=>[s,y[s]])):{}}function ke(n,a){return typeof n=="number"?a?.type==="number"&&a.amount?fe(n,a.amount):String(n):Array.isArray(n)?n.every(u=>typeof u=="string")?n.join(", "):"":typeof n!="string"?"":n}var z=10;function Ee(n,a){return n.candidates&&n.candidates.length>0?n.candidates:a.type==="choice"?a.options:a.type==="several"&&a.of.type==="choice"?a.of.options:a.type==="boolean"?$e:[]}var $e=["yes","no"];function Ce(n,a,u){return a.type==="boolean"||a.type==="choice"||a.type==="several"&&a.of.type==="choice"?u:ze(n,u)}function ze(n,a){let u=ae(a);if(u){let s=de(n.schema,n.graph.getNode(u.from)?.kind??"",u.kind,"out");return s.charAt(0).toUpperCase()+s.slice(1)}let w=ie(a);if(w.length>0)return w.map(s=>n.schema.tryDefinition(s)?.plural??`${s}s`).join(" + ");let y=n.graph.getNode(a);return y?Z(n.schema.tryDefinition(y.kind),y):a}export{qe as a,ze as b};
@@ -1 +1 @@
1
- import{hc as g}from"./chunk.7MQ7UWVW.js";function v(){let e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),Array.from(e,n=>n.toString(16).padStart(2,"0")).join("")}function k(e,n){if(!e)return;let i={..."filter"in n&&n.filter?{filter:n.filter}:{},...n.section?{section:n.section}:{}};"record"in n?e.record(n.record,i):"list"in n?e.list(n.list,i):e.place(n.place,i)}var b=[["accent","--graview-accent"],["ground","--graview-ground"],["panel","--graview-panel"],["ink","--graview-ink"],["inkMuted","--graview-ink-muted"],["edge","--graview-edge"],["fontBody","--graview-font-body"],["fontDisplay","--graview-font-display"],["fontMono","--graview-font-mono"],["radius","--graview-radius"]];function G(e){let n=e.ownerDocument.defaultView,i=n.getComputedStyle(e),s=e.closest("[data-graview-scheme]")?.getAttribute("data-graview-scheme"),d={scheme:s==="dark"||s==="light"?s:/\bdark\b/.test(i.colorScheme??"")?"dark":/\blight\b/.test(i.colorScheme??"")?"light":n.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"};for(let[u,l]of b)d[u]=i.getPropertyValue(l).trim();return d}function R(e,n){let i=e.defaultView;if(!i||typeof i.MutationObserver!="function")return()=>{};let s=new i.MutationObserver(n);s.observe(e.documentElement,{attributes:!0,subtree:!0,attributeFilter:["data-graview-scheme","data-theme"]});let o=i.matchMedia?.("(prefers-color-scheme: dark)");return o?.addEventListener?.("change",n),()=>{s.disconnect(),o?.removeEventListener?.("change",n)}}function T(e,n,i){let s=n?.(),o=e(),d=s?.logo,u=i.url(typeof d=="string"||d===void 0?d:o.scheme==="dark"&&d.dark?d.dark:d.light);return{...o,...s?.name?{name:s.name}:{},...u?{logo:u}:{}}}function B(e,n,i){let s,o,d=r=>{r?.startsWith("blob:")&&e.URL.revokeObjectURL(r)},u=async r=>{if(r.startsWith("<"))return g(r)===null?new e.Blob([r],{type:"image/svg+xml"}):void 0;if(/\\|%2e/i.test(r)||r.split(/[?#]/)[0].split("/").some(m=>m==="."||m===".."))return;let t=new e.URL(r,e.document.baseURI);if(t.origin!==e.location.origin||!/^https?:$/.test(t.protocol))return;let a=await e.fetch(t.href,{credentials:"same-origin"}),c=(a.headers.get("content-type")??"").split(";")[0].trim();return a.ok&&c.startsWith("image/")?new e.Blob([await a.arrayBuffer()],{type:c}):void 0},l=r=>new Promise(t=>{let a=new e.Image;a.onload=()=>t(!0),a.onerror=()=>t(!1),e.setTimeout(()=>t(!1),2e3),a.src=r}),h=r=>new Promise((t,a)=>{let c=new e.FileReader;c.onload=()=>t(String(c.result)),c.onerror=a,c.readAsDataURL(r)}),p=async r=>{if(/^data:image\//i.test(r))return r;let t=await u(r);if(!(!t||s!==r)){if(i==="blob"){let a=e.URL.createObjectURL(t);if(await l(a))return a;e.URL.revokeObjectURL(a)}return h(t)}},f=(r,t)=>{if(s!==r)return d(t);t!==o&&(d(o),o=t,n())};return{url(r){let t=r?.trim()||void 0;return t!==s&&(s=t,t?p(t).then(a=>f(t,a),()=>f(t,void 0)):(d(o),o=void 0)),o},dispose(){s=void 0,d(o),o=void 0}}}export{v as a,k as b,G as c,R as d,T as e,B as f};
1
+ import{hc as g}from"./chunk.AS4CQBOQ.js";function v(){let e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),Array.from(e,n=>n.toString(16).padStart(2,"0")).join("")}function k(e,n){if(!e)return;let i={..."filter"in n&&n.filter?{filter:n.filter}:{},...n.section?{section:n.section}:{}};"record"in n?e.record(n.record,i):"list"in n?e.list(n.list,i):e.place(n.place,i)}var b=[["accent","--graview-accent"],["ground","--graview-ground"],["panel","--graview-panel"],["ink","--graview-ink"],["inkMuted","--graview-ink-muted"],["edge","--graview-edge"],["fontBody","--graview-font-body"],["fontDisplay","--graview-font-display"],["fontMono","--graview-font-mono"],["radius","--graview-radius"]];function G(e){let n=e.ownerDocument.defaultView,i=n.getComputedStyle(e),s=e.closest("[data-graview-scheme]")?.getAttribute("data-graview-scheme"),d={scheme:s==="dark"||s==="light"?s:/\bdark\b/.test(i.colorScheme??"")?"dark":/\blight\b/.test(i.colorScheme??"")?"light":n.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"};for(let[u,l]of b)d[u]=i.getPropertyValue(l).trim();return d}function R(e,n){let i=e.defaultView;if(!i||typeof i.MutationObserver!="function")return()=>{};let s=new i.MutationObserver(n);s.observe(e.documentElement,{attributes:!0,subtree:!0,attributeFilter:["data-graview-scheme","data-theme"]});let o=i.matchMedia?.("(prefers-color-scheme: dark)");return o?.addEventListener?.("change",n),()=>{s.disconnect(),o?.removeEventListener?.("change",n)}}function T(e,n,i){let s=n?.(),o=e(),d=s?.logo,u=i.url(typeof d=="string"||d===void 0?d:o.scheme==="dark"&&d.dark?d.dark:d.light);return{...o,...s?.name?{name:s.name}:{},...u?{logo:u}:{}}}function B(e,n,i){let s,o,d=r=>{r?.startsWith("blob:")&&e.URL.revokeObjectURL(r)},u=async r=>{if(r.startsWith("<"))return g(r)===null?new e.Blob([r],{type:"image/svg+xml"}):void 0;if(/\\|%2e/i.test(r)||r.split(/[?#]/)[0].split("/").some(m=>m==="."||m===".."))return;let t=new e.URL(r,e.document.baseURI);if(t.origin!==e.location.origin||!/^https?:$/.test(t.protocol))return;let a=await e.fetch(t.href,{credentials:"same-origin"}),c=(a.headers.get("content-type")??"").split(";")[0].trim();return a.ok&&c.startsWith("image/")?new e.Blob([await a.arrayBuffer()],{type:c}):void 0},l=r=>new Promise(t=>{let a=new e.Image;a.onload=()=>t(!0),a.onerror=()=>t(!1),e.setTimeout(()=>t(!1),2e3),a.src=r}),h=r=>new Promise((t,a)=>{let c=new e.FileReader;c.onload=()=>t(String(c.result)),c.onerror=a,c.readAsDataURL(r)}),p=async r=>{if(/^data:image\//i.test(r))return r;let t=await u(r);if(!(!t||s!==r)){if(i==="blob"){let a=e.URL.createObjectURL(t);if(await l(a))return a;e.URL.revokeObjectURL(a)}return h(t)}},f=(r,t)=>{if(s!==r)return d(t);t!==o&&(d(o),o=t,n())};return{url(r){let t=r?.trim()||void 0;return t!==s&&(s=t,t?p(t).then(a=>f(t,a),()=>f(t,void 0)):(d(o),o=void 0)),o},dispose(){s=void 0,d(o),o=void 0}}}export{v as a,k as b,G as c,R as d,T as e,B as f};
@@ -1 +1 @@
1
- import{G as h,Z as d,_ as a,aa as c,za as u}from"./chunk.7L6LYXCV.js";import{b as l}from"./chunk.AJZBJBMO.js";var i=l(h(),1);function w(){let e=u();return(0,i.useMemo)(()=>[...new Set(e.flatMap(o=>o.nodeIds))],[e])}function S(){let e=g(),o=d();return(0,i.useMemo)(()=>{if(!o)return e;let n=o.matched;return n.length===0&&e.length===0?[m]:[...new Set([...e,...n])]},[o,e])}function g(){let{store:e,selection:o}=a(),n=c();return(0,i.useMemo)(()=>{if(o.length===0)return[];let r=new Set(o),s=new Set(r);for(let t of e.graph.allEdges())r.has(t.from)&&s.add(t.to),r.has(t.to)&&s.add(t.from);for(let t of e.violations())if(t.subjectId!==void 0&&r.has(t.subjectId))for(let f of t.nodeIds)s.add(f);return[...s]},[e,o,n])}var m="search:nothing";export{w as a,S as b,g as c};
1
+ import{Ba as u,G as h,Z as d,_ as a,aa as c}from"./chunk.XWAMQPUM.js";import{b as l}from"./chunk.AJZBJBMO.js";var i=l(h(),1);function w(){let e=u();return(0,i.useMemo)(()=>[...new Set(e.flatMap(o=>o.nodeIds))],[e])}function S(){let e=g(),o=d();return(0,i.useMemo)(()=>{if(!o)return e;let n=o.matched;return n.length===0&&e.length===0?[m]:[...new Set([...e,...n])]},[o,e])}function g(){let{store:e,selection:o}=a(),n=c();return(0,i.useMemo)(()=>{if(o.length===0)return[];let r=new Set(o),s=new Set(r);for(let t of e.graph.allEdges())r.has(t.from)&&s.add(t.to),r.has(t.to)&&s.add(t.from);for(let t of e.violations())if(t.subjectId!==void 0&&r.has(t.subjectId))for(let f of t.nodeIds)s.add(f);return[...s]},[e,o,n])}var m="search:nothing";export{w as a,S as b,g as c};
@@ -1,4 +1,4 @@
1
- import{a as z,b as Y,d as ee}from"./chunk.YPEZZLOY.js";import"./chunk.ZUJZVK2X.js";import{Rb as J,ca as Q,ga as U,la as X,pa as _}from"./chunk.7MQ7UWVW.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.2JJYGYT2.js";import"./chunk.NMIXBH37.js";import{Rb as J,ca as Q,ga as U,la as X,pa as _}from"./chunk.AS4CQBOQ.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=`
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)); }
@@ -1 +1 @@
1
- import{e as $}from"./chunk.XVWJD2DG.js";import{a as C}from"./chunk.Q5XICUDZ.js";import{g as M}from"./chunk.RSYFIL2Z.js";import{ca as k,da as v,fa as j,vb as x}from"./chunk.7MQ7UWVW.js";function N(a,s){let c=a.tryDefinition(s),r=Object.keys(c?.fields?.shape??{}),m=[c?.lifecycle?.field,...r.filter(l=>/^(status|stage|state|phase)$/i.test(l))].filter(l=>l!==void 0&&r.includes(l));return[...new Set(m)].slice(0,1)}function P(a,s){return a.tryDefinition(s)?.fieldRoles?.title??"label"}function V(a,s,c={}){let r=s.map(e=>a.graph.getNode(e)).filter(e=>e!==void 0);if(r.length===0)return{acts:[],withheld:[]};let u=c.principal??{kind:"human"},m=C(a,r.map(e=>e.id),{...c.derive,principal:u,...c.context?{context:c.context}:{}}),l=new Map(a.allMutations().map(e=>[e.name,e])),g=[...new Set(r.map(e=>e.kind))],p=new Set(g.map(e=>P(a.schema,e))),h=new Set(m.affordances.filter(e=>e.provider==="schema").map(e=>e.mutation)),o=e=>{let n=l.get(e.mutation);if(!n?.subject)return;let t=r.length===1&&e.provider==="invariant"&&!h.has(e.mutation)&&e.args[n.subject.arg]===r[0].id;if(!(e.provider!=="schema"&&!t)&&!(r.length>1&&e.batch?.length!==r.length)&&n.derived?.act!=="edit"&&!e.open.some(i=>p.has(i.name)))return n},y=[],b=new Set;for(let e of m.affordances){let n=o(e);if(!n||b.has(n.name))continue;b.add(n.name);let{[n.subject.arg]:t,...i}=e.args;y.push({id:e.id,label:v(n),mutation:n.name,subject:n.subject.arg,args:i,open:e.open,...e.destructive||e.setsAside?{more:!0}:{},...e.destructive?{destructive:!0}:{},affordance:{...e,label:v(n)}})}if(g.length===1){let e=g[0];for(let n of N(a.schema,e))for(let t of $(a.schema,[...l.values()],e,n)){if(t.by==="none"||r.every(d=>d[n]===t.value))continue;let i=r.find(d=>d[n]!==t.value),f=t.acts.find(d=>{let D=t.by==="step"?{[d.subject.arg]:i.id}:{[d.subject.arg]:i.id,[n]:t.value};return a.permits({name:d.name,args:D},u).ok});if(!f)continue;let w=t.by==="step"?{}:{[n]:t.value};if(t.by==="step"&&y.some(d=>d.mutation===f.name))continue;let R=t.by==="step"?v(f):`Move to ${t.label}`,O=`set:${n}:${t.value}`;y.push({id:O,label:R,mutation:f.name,subject:f.subject.arg,args:w,open:[],affordance:{id:O,label:R,provider:"schema",mutation:f.name,args:{[f.subject.arg]:i.id,...w},open:[],score:0,why:`every one is ${e}`,nodeIds:r.map(d=>d.id)}})}}let S=[...y.filter(e=>!e.more),...y.filter(e=>e.more)],A=m.withheld.filter(e=>{let n=l.get(e.mutation);return n?.subject!==void 0&&n.derived?.act!=="edit"&&(r.length===1||e.batch?.length===r.length)}).map(e=>({label:v(l.get(e.mutation)),message:e.refusal.message}));return{acts:S,withheld:A}}function _(a,s,c,r={}){let u=r.author,m=a.allMutations().find(e=>e.name===s.mutation),l=e=>M(a.schema,a.allMutations(),e),g=e=>{let n=a.graph.getNode(e);return n?k(a.schema.tryDefinition(n.kind),n):e},p=[],h=[],o=[];for(let e of[...new Set(c)]){let n={name:s.mutation,args:{...s.args,[s.subject]:e}};if(!m){p.push({id:e,label:g(e),message:`There is no act \u201C${s.mutation}\u201D.`,reason:"invalid"});continue}let t=a.permits(n,u);if(!t.ok){p.push({id:e,label:g(e),message:t.refusal.message,reason:"forbidden"});continue}if(!a.wouldChange(n,u)){h.push(e);continue}o.push({id:e,call:n})}let y=e=>a.previewAll(e,{...u?{author:u}:{},...r.context?{context:r.context}:{}});for(let e=0;o.length>0;e+=1)try{y(o.map(n=>n.call));break}catch(n){let t=[];for(let i of o)try{y([i.call]),t.push(i)}catch(f){p.push({id:i.id,label:g(i.id),message:l(f),reason:x(f).reason})}if(t.length===o.length||e>o.length){for(let i of t)p.push({id:i.id,label:g(i.id),message:l(n),reason:x(n).reason});o=[];break}o=t}if(o.length===0)return{applied:[],unchanged:h,refused:p};let b=s.label??(m?v(m):s.mutation),S=[...new Set(o.map(e=>a.graph.getNode(e.id)?.kind))],A=`${b} \u2014 ${S.length===1&&S[0]?j(a.schema,S[0],o.length):`${o.length} records`}`;try{let e=a.applyAll(o.map(n=>n.call),{intent:A,...u?{author:u}:{},...r.via?{via:r.via}:{}});return{batch:e.batch,intent:A,applied:o.map(n=>n.id),unchanged:h,refused:p,result:e}}catch(e){let n=l(e),t=x(e).reason;return{applied:[],unchanged:h,refused:[...p,...o.map(i=>({id:i.id,label:g(i.id),message:n,reason:t}))],allOrNothing:!0}}}export{V as a,_ as b};
1
+ import{e as $}from"./chunk.SZ34UAQ3.js";import{a as C}from"./chunk.UKAPFIPJ.js";import{g as M}from"./chunk.HDRD33II.js";import{ca as k,da as v,fa as j,vb as x}from"./chunk.AS4CQBOQ.js";function N(a,s){let c=a.tryDefinition(s),r=Object.keys(c?.fields?.shape??{}),m=[c?.lifecycle?.field,...r.filter(l=>/^(status|stage|state|phase)$/i.test(l))].filter(l=>l!==void 0&&r.includes(l));return[...new Set(m)].slice(0,1)}function P(a,s){return a.tryDefinition(s)?.fieldRoles?.title??"label"}function V(a,s,c={}){let r=s.map(e=>a.graph.getNode(e)).filter(e=>e!==void 0);if(r.length===0)return{acts:[],withheld:[]};let u=c.principal??{kind:"human"},m=C(a,r.map(e=>e.id),{...c.derive,principal:u,...c.context?{context:c.context}:{}}),l=new Map(a.allMutations().map(e=>[e.name,e])),g=[...new Set(r.map(e=>e.kind))],p=new Set(g.map(e=>P(a.schema,e))),h=new Set(m.affordances.filter(e=>e.provider==="schema").map(e=>e.mutation)),o=e=>{let n=l.get(e.mutation);if(!n?.subject)return;let t=r.length===1&&e.provider==="invariant"&&!h.has(e.mutation)&&e.args[n.subject.arg]===r[0].id;if(!(e.provider!=="schema"&&!t)&&!(r.length>1&&e.batch?.length!==r.length)&&n.derived?.act!=="edit"&&!e.open.some(i=>p.has(i.name)))return n},y=[],b=new Set;for(let e of m.affordances){let n=o(e);if(!n||b.has(n.name))continue;b.add(n.name);let{[n.subject.arg]:t,...i}=e.args;y.push({id:e.id,label:v(n),mutation:n.name,subject:n.subject.arg,args:i,open:e.open,...e.destructive||e.setsAside?{more:!0}:{},...e.destructive?{destructive:!0}:{},affordance:{...e,label:v(n)}})}if(g.length===1){let e=g[0];for(let n of N(a.schema,e))for(let t of $(a.schema,[...l.values()],e,n)){if(t.by==="none"||r.every(d=>d[n]===t.value))continue;let i=r.find(d=>d[n]!==t.value),f=t.acts.find(d=>{let D=t.by==="step"?{[d.subject.arg]:i.id}:{[d.subject.arg]:i.id,[n]:t.value};return a.permits({name:d.name,args:D},u).ok});if(!f)continue;let w=t.by==="step"?{}:{[n]:t.value};if(t.by==="step"&&y.some(d=>d.mutation===f.name))continue;let R=t.by==="step"?v(f):`Move to ${t.label}`,O=`set:${n}:${t.value}`;y.push({id:O,label:R,mutation:f.name,subject:f.subject.arg,args:w,open:[],affordance:{id:O,label:R,provider:"schema",mutation:f.name,args:{[f.subject.arg]:i.id,...w},open:[],score:0,why:`every one is ${e}`,nodeIds:r.map(d=>d.id)}})}}let S=[...y.filter(e=>!e.more),...y.filter(e=>e.more)],A=m.withheld.filter(e=>{let n=l.get(e.mutation);return n?.subject!==void 0&&n.derived?.act!=="edit"&&(r.length===1||e.batch?.length===r.length)}).map(e=>({label:v(l.get(e.mutation)),message:e.refusal.message}));return{acts:S,withheld:A}}function _(a,s,c,r={}){let u=r.author,m=a.allMutations().find(e=>e.name===s.mutation),l=e=>M(a.schema,a.allMutations(),e),g=e=>{let n=a.graph.getNode(e);return n?k(a.schema.tryDefinition(n.kind),n):e},p=[],h=[],o=[];for(let e of[...new Set(c)]){let n={name:s.mutation,args:{...s.args,[s.subject]:e}};if(!m){p.push({id:e,label:g(e),message:`There is no act \u201C${s.mutation}\u201D.`,reason:"invalid"});continue}let t=a.permits(n,u);if(!t.ok){p.push({id:e,label:g(e),message:t.refusal.message,reason:"forbidden"});continue}if(!a.wouldChange(n,u)){h.push(e);continue}o.push({id:e,call:n})}let y=e=>a.previewAll(e,{...u?{author:u}:{},...r.context?{context:r.context}:{}});for(let e=0;o.length>0;e+=1)try{y(o.map(n=>n.call));break}catch(n){let t=[];for(let i of o)try{y([i.call]),t.push(i)}catch(f){p.push({id:i.id,label:g(i.id),message:l(f),reason:x(f).reason})}if(t.length===o.length||e>o.length){for(let i of t)p.push({id:i.id,label:g(i.id),message:l(n),reason:x(n).reason});o=[];break}o=t}if(o.length===0)return{applied:[],unchanged:h,refused:p};let b=s.label??(m?v(m):s.mutation),S=[...new Set(o.map(e=>a.graph.getNode(e.id)?.kind))],A=`${b} \u2014 ${S.length===1&&S[0]?j(a.schema,S[0],o.length):`${o.length} records`}`;try{let e=a.applyAll(o.map(n=>n.call),{intent:A,...u?{author:u}:{},...r.via?{via:r.via}:{}});return{batch:e.batch,intent:A,applied:o.map(n=>n.id),unchanged:h,refused:p,result:e}}catch(e){let n=l(e),t=x(e).reason;return{applied:[],unchanged:h,refused:[...p,...o.map(i=>({id:i.id,label:g(i.id),message:n,reason:t}))],allOrNothing:!0}}}export{V as a,_ as b};
@@ -1 +1 @@
1
- import"./chunk.WVUJXDXZ.js";import{i as x}from"./chunk.QWY54AVN.js";import"./chunk.T4Q6OLZU.js";import"./chunk.R2B2ZAWI.js";import"./chunk.7XCBIID7.js";import"./chunk.MI2HL3LQ.js";import"./chunk.TMBFLZNH.js";import"./chunk.DYW4D74X.js";import{Xa as f,Za as N,ca as S}from"./chunk.7MQ7UWVW.js";import"./chunk.2AZTW66C.js";import"./chunk.AJZBJBMO.js";var k=(n,r,t)=>({untrusted:!0,authoredBy:t.say(r),text:n});function O(n,r){let t;for(let[a,e]of Object.entries(n)){if(typeof e!="string"||a==="id"||a==="kind")continue;let o=r.fieldBy(n.id,a);o&&(t??={...n},t[a]=k(e,o,r))}return t??n}function L(n,r,t){let a=e=>{if(Array.isArray(e))return e.map(a);if(e!==null&&typeof e=="object"&&"id"in e&&"label"in e){let o=e,i=t.recordBy(o.id);return i?{...o,label:k(o.label,i,t)}:o}if(typeof e=="string"){let o=t.recordBy(n);return o?k(e,o,t):e}return e};return Object.fromEntries(Object.entries(r).map(([e,o])=>[e,a(o)]))}function $(n,r){return n.map(t=>{let a=r.recordBy(t.id);return a?{...t,label:k(t.label,a,r)}:t})}function D(n,r){return{...n,nodes:n.nodes.map(t=>O(t,r))}}var E=n=>(JSON.stringify(n)??"null").length,R=n=>typeof n=="number"&&Number.isFinite(n)&&n>0?Math.floor(n):0;function w(n,r,t,a,e,o=""){let i=n-r-t;return i>0?`and ${i} more ${e}: call ${a} with ${o}offset ${r+t} for the next page.`:void 0}var j=({line:n,...r})=>r;function T(n){let r;for(let[t,a]of Object.entries(n))typeof a!="string"||a.length<=600||(r??={...n},r[t]=`${a.slice(0,600)}\u2026 (cut at ${600} of ${a.length} characters)`);return r??n}function B(n,r,t,a){let e=Math.min(t,Math.max(0,n.length-r)),o=n.slice(r,r+e),i=a(o);for(;e>1&&E(i)>8e3;)e=Math.max(1,Math.floor(e*.75)),o=n.slice(r,r+e),i=a(o);return{page:o,answer:i}}function C(n,r){let t=JSON.stringify(r)??"null";if(t.length<=8e3)return r;let a=`This answer was ${t.length} characters, more than the ${8e3} one read answers, so it is cut. Ask ${n} for less, or use search_graph and get_node to read one thing.`;for(let e=8e3-a.length-40;;){let o={cut:a,partial:t.slice(0,e)},i=E(o)-8e3;if(i<=0)return o;e=Math.max(0,e-i-8)}}function I(n,r){let{matched:t,later:a,...e}=r,o=n.hits.filter(i=>i.about==="node").length;return n.total>o?{...e,more:`and ${n.total-o} more records match: narrow the words, or add kind:<kind>.`}:e}function P(n,r,t){let a=N(t.archived),e={nodes:n.graph.allNodes({archived:a}),edges:n.graph.allEdges({archived:"all"})},o=R(t.offset),i=e.nodes.length,{page:h,answer:u}=B(e.nodes,o,25,d=>{let g=new Set(d.map(s=>s.id)),l=new Set(d.map(s=>s.id)),c=w(i,o,d.length,"get_graph","nodes"),p=s=>l.has(s)||(a==="all"?n.graph.has(s):n.graph.has(s)&&f(n.graph.getNode(s))===a);return{...D({nodes:d.map(T),edges:e.edges.filter(s=>g.has(s.from)&&p(s.to))},r),total:i,...c?{more:c}:{}}});return{data:u,reads:h.map(d=>d.id)}}function U(n,r,t,a){let e=n.graph.getNode(t),o=R(a.offset),i=n.graph.outEdges(t),h=n.graph.inEdges(t),u=i.slice(o,o+20),d=h.slice(o,o+20),g=(s,A)=>{let m=n.graph.getNode(A);return{kind:s,id:A,label:m?S(n.schema.tryDefinition(m.kind),m):A,...f(m)?{archived:!0}:{}}},l=x(n.schema,n.graph,e),c=n.violations().filter(s=>s.nodeIds.includes(t)),p=[w(i.length,o,u.length,"get_node","links out",`id "${t}" and `),w(h.length,o,d.length,"get_node","links in",`id "${t}" and `),c.length>20?`and ${c.length-20} more problems: get_violations lists them.`:void 0].filter(Boolean);return{data:{node:O(T(e),r),...f(e)?{archived:!0}:{},...Object.keys(l.values).length>0?{computed:L(t,l.values,r)}:{},...Object.keys(l.refused).length>0?{uncomputed:l.refused}:{},out:$(u.map(s=>g(s.kind,s.to)),r),in:$(d.map(s=>g(s.kind,s.from)),r),violations:c.slice(0,20).map(j),...p.length>0?{more:p.join(" ")}:{}},reads:[t,...u.map(s=>s.to),...d.map(s=>s.from)]}}function F(n,r){let t=R(r.offset),{page:a,answer:e}=B(n,t,20,o=>{let i=w(n.length,t,o.length,"get_violations","problems");return{violations:o.map(j),total:n.length,...i?{more:i}:{}}});return{data:e,reads:[...new Set(a.flatMap(o=>o.nodeIds))]}}export{P as graphRead,U as nodeRead,I as searchRead,F as violationsRead,C as withinReadChars};
1
+ import"./chunk.WVUJXDXZ.js";import{i as x}from"./chunk.OYHQSXNC.js";import"./chunk.UHX4WTM7.js";import"./chunk.IKX4VDTW.js";import"./chunk.RNEJYIQ7.js";import"./chunk.TBQOSI4J.js";import"./chunk.KWQ7QOHD.js";import"./chunk.H7KCWCB4.js";import{Xa as f,Za as N,ca as S}from"./chunk.AS4CQBOQ.js";import"./chunk.2AZTW66C.js";import"./chunk.AJZBJBMO.js";var k=(n,r,t)=>({untrusted:!0,authoredBy:t.say(r),text:n});function O(n,r){let t;for(let[a,e]of Object.entries(n)){if(typeof e!="string"||a==="id"||a==="kind")continue;let o=r.fieldBy(n.id,a);o&&(t??={...n},t[a]=k(e,o,r))}return t??n}function L(n,r,t){let a=e=>{if(Array.isArray(e))return e.map(a);if(e!==null&&typeof e=="object"&&"id"in e&&"label"in e){let o=e,i=t.recordBy(o.id);return i?{...o,label:k(o.label,i,t)}:o}if(typeof e=="string"){let o=t.recordBy(n);return o?k(e,o,t):e}return e};return Object.fromEntries(Object.entries(r).map(([e,o])=>[e,a(o)]))}function $(n,r){return n.map(t=>{let a=r.recordBy(t.id);return a?{...t,label:k(t.label,a,r)}:t})}function D(n,r){return{...n,nodes:n.nodes.map(t=>O(t,r))}}var E=n=>(JSON.stringify(n)??"null").length,R=n=>typeof n=="number"&&Number.isFinite(n)&&n>0?Math.floor(n):0;function w(n,r,t,a,e,o=""){let i=n-r-t;return i>0?`and ${i} more ${e}: call ${a} with ${o}offset ${r+t} for the next page.`:void 0}var j=({line:n,...r})=>r;function T(n){let r;for(let[t,a]of Object.entries(n))typeof a!="string"||a.length<=600||(r??={...n},r[t]=`${a.slice(0,600)}\u2026 (cut at ${600} of ${a.length} characters)`);return r??n}function B(n,r,t,a){let e=Math.min(t,Math.max(0,n.length-r)),o=n.slice(r,r+e),i=a(o);for(;e>1&&E(i)>8e3;)e=Math.max(1,Math.floor(e*.75)),o=n.slice(r,r+e),i=a(o);return{page:o,answer:i}}function C(n,r){let t=JSON.stringify(r)??"null";if(t.length<=8e3)return r;let a=`This answer was ${t.length} characters, more than the ${8e3} one read answers, so it is cut. Ask ${n} for less, or use search_graph and get_node to read one thing.`;for(let e=8e3-a.length-40;;){let o={cut:a,partial:t.slice(0,e)},i=E(o)-8e3;if(i<=0)return o;e=Math.max(0,e-i-8)}}function I(n,r){let{matched:t,later:a,...e}=r,o=n.hits.filter(i=>i.about==="node").length;return n.total>o?{...e,more:`and ${n.total-o} more records match: narrow the words, or add kind:<kind>.`}:e}function P(n,r,t){let a=N(t.archived),e={nodes:n.graph.allNodes({archived:a}),edges:n.graph.allEdges({archived:"all"})},o=R(t.offset),i=e.nodes.length,{page:h,answer:u}=B(e.nodes,o,25,d=>{let g=new Set(d.map(s=>s.id)),l=new Set(d.map(s=>s.id)),c=w(i,o,d.length,"get_graph","nodes"),p=s=>l.has(s)||(a==="all"?n.graph.has(s):n.graph.has(s)&&f(n.graph.getNode(s))===a);return{...D({nodes:d.map(T),edges:e.edges.filter(s=>g.has(s.from)&&p(s.to))},r),total:i,...c?{more:c}:{}}});return{data:u,reads:h.map(d=>d.id)}}function U(n,r,t,a){let e=n.graph.getNode(t),o=R(a.offset),i=n.graph.outEdges(t),h=n.graph.inEdges(t),u=i.slice(o,o+20),d=h.slice(o,o+20),g=(s,A)=>{let m=n.graph.getNode(A);return{kind:s,id:A,label:m?S(n.schema.tryDefinition(m.kind),m):A,...f(m)?{archived:!0}:{}}},l=x(n.schema,n.graph,e),c=n.violations().filter(s=>s.nodeIds.includes(t)),p=[w(i.length,o,u.length,"get_node","links out",`id "${t}" and `),w(h.length,o,d.length,"get_node","links in",`id "${t}" and `),c.length>20?`and ${c.length-20} more problems: get_violations lists them.`:void 0].filter(Boolean);return{data:{node:O(T(e),r),...f(e)?{archived:!0}:{},...Object.keys(l.values).length>0?{computed:L(t,l.values,r)}:{},...Object.keys(l.refused).length>0?{uncomputed:l.refused}:{},out:$(u.map(s=>g(s.kind,s.to)),r),in:$(d.map(s=>g(s.kind,s.from)),r),violations:c.slice(0,20).map(j),...p.length>0?{more:p.join(" ")}:{}},reads:[t,...u.map(s=>s.to),...d.map(s=>s.from)]}}function F(n,r){let t=R(r.offset),{page:a,answer:e}=B(n,t,20,o=>{let i=w(n.length,t,o.length,"get_violations","problems");return{violations:o.map(j),total:n.length,...i?{more:i}:{}}});return{data:e,reads:[...new Set(a.flatMap(o=>o.nodeIds))]}}export{P as graphRead,U as nodeRead,I as searchRead,F as violationsRead,C as withinReadChars};
@@ -0,0 +1 @@
1
+ import{G as m,R as u}from"./chunk.XWAMQPUM.js";import{md as S}from"./chunk.AS4CQBOQ.js";import{b as s}from"./chunk.AJZBJBMO.js";var o=s(m(),1),n=s(u(),1);function b({context:e,stop:r,title:t,label:a,style:l,className:i,children:f,...d}){let y=S(e.views?.arrangement?.()),p=f??(0,n.jsxs)(n.Fragment,{children:["In ",y==="Scene"?"the scene":y.replace(/^The /,"the ")," ",(0,n.jsx)("span",{"aria-hidden":"true",children:"\u2197"})]}),c=a?{"aria-label":a}:{};if(e.overview){let g=e.overview;return(0,n.jsx)("a",{href:r,...d,...c,...t?{title:t}:{},style:l,...i?{className:i}:{},onClick:h=>{h.preventDefault(),g(r)},children:p})}return e.embedded?null:(0,n.jsx)("a",{href:`${e.sceneHref??"/"}${r}`,...d,...c,...t?{title:t}:{},style:l,...i?{className:i}:{},children:p})}function w(){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 x(e){let r=(0,o.useRef)(0),t=(0,o.useCallback)(a=>e.subscribe(()=>{r.current+=1,a()}),[e]);return(0,o.useSyncExternalStore)(t,()=>r.current,()=>0)}function A(e){return e===void 0?{}:e==="sm"||e==="md"?{"data-size":e}:{style:{"--graview-control-height":typeof e=="number"?`${e}px`:e}}}var C=(e,r)=>r?`${e} ${r}`:e;export{b as a,w as b,x as c,A as d,C as e};
@@ -0,0 +1,21 @@
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 st,b as ut,c as ct,d as pt,e as ft,f as mt}from"./chunk.JHIUG25Q.js";import{a as lt,b as xe,c as gt}from"./chunk.XXEYRHRG.js";import{g as ot}from"./chunk.BRDAO2OF.js";import{e as dt}from"./chunk.55D33E5A.js";import{c as it,f as at,g as be}from"./chunk.2JJYGYT2.js";import{b as oe,d as ie}from"./chunk.NMIXBH37.js";import{a as ke,e as nt}from"./chunk.BBLIT7S7.js";import{a as se,f as tt,h as rt}from"./chunk.WM2LWHTJ.js";import"./chunk.PXQVXBNG.js";import"./chunk.GVY5UQTJ.js";import{a as H}from"./chunk.SDO3U72B.js";import"./chunk.AS4CQBOQ.js";import"./chunk.2AZTW66C.js";import"./chunk.AJZBJBMO.js";var yt=["good","warn","bad","neutral","accent"],ht=["value","max","aria-label","placeholder","disabled"],wt=["click","change"],Se=["_blank","_self"],vt=["section","div","span","strong","p","hr","a","button","input","progress"],ae={type:{oneOf:yt}},Te={"gv-card":{host:"section",properties:{tone:ae},events:{},children:"any"},"gv-group":{host:"div",properties:{direction:{type:{oneOf:["row","column"]}}},events:{},children:"any"},"gv-title":{host:"strong",properties:{},events:{},children:"text"},"gv-text":{host:"p",properties:{tone:ae},events:{},children:"text"},"gv-badge":{host:"span",properties:{tone:ae},events:{},children:"text"},"gv-field":{host:"div",properties:{label:{type:"string"}},events:{},children:"text"},"gv-progress":{host:"progress",properties:{value:{type:"number",as:"value"},max:{type:"number",as:"max"},label:{type:"string",as:"aria-label"}},events:{},children:"none"},"gv-divider":{host:"hr",properties:{},events:{},children:"none"},"gv-link":{host:"a",properties:{href:{type:"url"}},events:{},children:"text"},"gv-button":{host:"button",properties:{tone:ae,disabled:{type:"boolean",as:"disabled"}},events:{press:{from:"click"}},children:"text"},"gv-input":{host:"input",properties:{label:{type:"string",as:"aria-label"},value:{type:"string",as:"value"},placeholder:{type:"string",as:"placeholder"}},events:{change:{from:"change",detail:"value"}},children:"none"}},Me=1e4;var It=0,Nt=1,Pt=2,Vt=3,kt=1,Dt=2,Ct=3,Ht=1,jt=3,Ut=8,Ee="~",Ke=(s,e)=>Object.prototype.hasOwnProperty.call(s,e),Y=s=>typeof s=="object"&&s!==null&&!Array.isArray(s);function bt(s,e){return e.type==="url"?"href":e.as??`data-gv-${s.toLowerCase()}`}var Bt=2e3;function xt(s,e){if(e==null)return{ok:!0,value:null};let a=s.type;if(a==="boolean")return typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,reason:"value"};if(a==="number")return typeof e=="number"&&Number.isFinite(e)?{ok:!0,value:String(e)}:{ok:!1,reason:"value"};if(typeof e!="string"||e.length>Bt)return{ok:!1,reason:a==="url"?"url":"value"};if(typeof a=="object")return a.oneOf.includes(e)?{ok:!0,value:e}:{ok:!1,reason:"value"};if(a==="url"){let f;try{f=new URL(e)}catch{return{ok:!1,reason:"url"}}return f.protocol!=="https:"||f.hostname===""||!/^https:\/\//i.test(e)?{ok:!1,reason:"url"}:{ok:!0,value:f.href}}return{ok:!0,value:e}}function $t(s){let e=s.host==="a";return vt.includes(s.host)&&(s.target===void 0||e&&Se.includes(s.target))&&Object.values(s.properties).every(a=>a.type!=="url"||e)&&Object.values(s.properties).every(a=>a.as===void 0||a.type!=="url"&&ht.includes(a.as))&&Object.values(s.events).every(a=>wt.includes(a.from))}function Re(s,e){let a=e.kit??Te,f=e.maxNodes??2e3,o=s.ownerDocument,g=[],w=new Map,W={dom:s,name:Ee,component:{host:"div",properties:{},events:{},children:"any"},children:[],listeners:new Map,id:Ee};w.set(Ee,W);let R=e.links?new Set(e.links.origins.flatMap(r=>{try{let l=new URL(r);return l.protocol==="https:"&&l.hostname!==""?[l.origin]:[]}catch{return[]}})):void 0,O=0,M=0,A=!1,c=r=>{g.push(r),g.length>200&&g.shift()},E=()=>({dom:o.createComment(""),children:[],refused:!0,listeners:new Map}),T=(r,l,y)=>{let d=r.component;if(!Ke(d.properties,l))return c({reason:"property",element:r.name,name:l});let n=d.properties[l],m=xt(n,y),b=m.ok&&n.type==="url"&&R&&typeof m.value=="string"&&!R.has(new URL(m.value).origin)?{ok:!1,reason:"url"}:m,S=r.dom,h=bt(l,n);if(!b.ok)return S.removeAttribute(h),c({reason:b.reason,element:r.name,name:l});let L=b.value;L===null||L===!1?S.removeAttribute(h):S.setAttribute(h,L===!0?"":L),h==="value"&&"value"in S&&(S.value=typeof L=="string"?L:""),h==="disabled"&&"disabled"in S&&(S.disabled=L!==null&&L!==!1)},v=(r,l,y)=>{let d=r.component;if(!Ke(d.events,l))return c({reason:"event",element:r.name,name:l});let n=r.listeners.get(l);if(n&&(n(),r.listeners.delete(l),M-=1),y==null)return;if(!Y(y)||typeof y.listener!="number")return c({reason:"value",element:r.name,name:l});let m=y.listener,b=d.events[l],S=r.dom,h=()=>e.onEvent(m,b.detail==="value"?String(S.value??""):void 0);S.addEventListener(b.from,h),r.listeners.set(l,()=>S.removeEventListener(b.from,h)),M+=1},k=r=>{if(!r.refused){O-=1,r.id!==void 0&&w.delete(r.id);for(let l of r.listeners.values())l();M-=r.listeners.size,r.listeners.clear();for(let l of r.children)k(l)}},_=(r,l)=>{if(!Y(r)||typeof r.id!="string"||w.has(r.id))return c({reason:"record"}),E();if(O>=f)return c({reason:"budget"}),A||(A=!0,e.onOverBudget?.()),E();let y=r.id,d=l.component.children;if(r.type===Ut)return E();if(r.type===jt){if(d==="none")return c({reason:"child",element:l.name}),E();let h={dom:o.createTextNode(String(r.data??"").slice(0,Me)),children:[],text:!0,listeners:new Map,id:y};return w.set(y,h),O+=1,h}if(r.type!==Ht)return c({reason:"record"}),E();let n=String(r.element);if(!Ke(a,n)||!$t(a[n]))return c({reason:"element",element:n}),E();if(d!=="any")return c({reason:"child",element:n}),E();let m=a[n],b=o.createElement(m.host);b.setAttribute("data-gv",n.replace(/^gv-/,"")),b.className=`graview-guest-${n.replace(/^gv-/,"")}`,m.host==="a"&&(b.setAttribute("rel","noopener noreferrer"),b.setAttribute("target",m.target??"_blank"),b.setAttribute("referrerpolicy","no-referrer")),m.host==="button"&&b.setAttribute("type","button");let S={dom:b,name:n,component:m,children:[],listeners:new Map,id:y};if(w.set(y,S),O+=1,Y(r.properties))for(let[h,L]of Object.entries(r.properties))T(S,h,L);if(Y(r.attributes))for(let h of Object.keys(r.attributes))c({reason:"attribute",element:n,name:h});if(Y(r.eventListeners))for(let[h,L]of Object.entries(r.eventListeners))v(S,h,L);if(Array.isArray(r.children))for(let h of r.children){let L=_(h,S);S.children.push(L),b.appendChild(L.dom)}return S},N=r=>{if(!Array.isArray(r))return c({reason:"record"});let[l,y]=r,d=typeof y=="string"?w.get(y):void 0;if(!d)return c({reason:"record"});switch(l){case It:{if(d.text)return c({reason:"record"});let n=Number(r[3]),m=Number.isInteger(n)&&n>=0&&n<=d.children.length?n:d.children.length,b=_(r[2],d);d.dom.insertBefore(b.dom,d.children[m]?.dom??null),d.children.splice(m,0,b);return}case Nt:{let n=Number(r[2]),m=d.children[n];if(!m)return c({reason:"record"});d.children.splice(n,1),m.dom.parentNode?.removeChild(m.dom),k(m);return}case Pt:if(!d.text)return c({reason:"record"});d.dom.data=String(r[2]??"").slice(0,Me);return;case Vt:{if(d===W||d.text)return c({reason:"record"});let n=String(r[2]),m=r[4]??kt;return m===kt?T(d,n,r[3]):m===Ct?v(d,n,r[3]):c(m===Dt?{reason:"attribute",element:d.name,name:n}:{reason:"record"})}default:return c({reason:"record"})}};return{apply(r,l){if(!Array.isArray(r))return c({reason:"record"}),!0;for(let y=0;y<r.length;y+=1){if(l&&y%32===0&&l())return!1;N(r[y])}return!0},get refused(){return g},get size(){return O},get listening(){return M},dispose(){for(let r of W.children)k(r);W.children.length=0,s.replaceChildren()}}}var Ge=`
2
+ .graview-guest { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--graview-ink, inherit); font: inherit; }
3
+ .graview-guest-card { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--graview-edge, #d0d0d0); border-radius: 10px; background: var(--graview-panel, transparent); }
4
+ .graview-guest-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
5
+ .graview-guest-group[data-gv-direction="row"] { flex-direction: row; flex-wrap: wrap; align-items: center; }
6
+ .graview-guest-title { font-weight: 600; font-size: 1rem; overflow-wrap: anywhere; }
7
+ .graview-guest-text { margin: 0; font-size: 0.875rem; line-height: 1.45; overflow-wrap: anywhere; }
8
+ .graview-guest-badge { align-self: flex-start; padding: 1px 8px; border: 1px solid currentColor; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; }
9
+ .graview-guest-field { font-size: 0.875rem; overflow-wrap: anywhere; }
10
+ .graview-guest-field[data-gv-label]::before { content: attr(data-gv-label) " "; color: var(--graview-ink-muted, inherit); }
11
+ .graview-guest-progress { width: 100%; }
12
+ .graview-guest-divider { width: 100%; margin: 2px 0; border: 0; border-top: 1px solid var(--graview-edge, #d0d0d0); }
13
+ .graview-guest-link { color: var(--graview-accent, inherit); text-decoration: underline; }
14
+ .graview-guest-button { align-self: flex-start; font: inherit; padding: 4px 12px; border-radius: 8px; border: 1px solid var(--graview-edge, #d0d0d0); background: var(--graview-panel, transparent); color: inherit; cursor: pointer; }
15
+ .graview-guest-input { font: inherit; padding: 4px 8px; border-radius: 6px; border: 1px solid var(--graview-edge, #d0d0d0); }
16
+ .graview-guest [data-gv-tone="good"] { color: var(--graview-good, inherit); }
17
+ .graview-guest [data-gv-tone="bad"] { color: var(--graview-bad, inherit); }
18
+ .graview-guest [data-gv-tone="warn"] { color: var(--graview-warn, inherit); }
19
+ .graview-guest [data-gv-tone="accent"] { color: var(--graview-accent, inherit); }
20
+ .graview-guest [data-gv-tone="neutral"] { color: var(--graview-ink-muted, inherit); }
21
+ `;var St=new WeakSet;function Ft(s,e){if(s.startsWith("blob:"))return"blob:";try{return new URL(s,e.location.href).origin}catch{return s}}function Tt(s,e,a){let f=Ft(e,s),o=`this page's Content-Security-Policy${a?` (${a})`:""} does not allow a worker from ${f}: it needs worker-src ${f}`;return St.has(s)||(St.add(s),s.console?.warn?.(`Graview: worker views cannot start on this page, because ${o}. A host that will not allow ${f} serves each view's whole script from its own origin and passes worker: { url } (the @graview/guest README, "What the host page allows").`)),o}function zt(s,e){return s===""?!0:e.startsWith("blob:")?s.startsWith("blob"):e.startsWith(s)||s.startsWith(e)}function de(s,e){let a="script"in e.source?s.URL.createObjectURL(new s.Blob([e.source.script],{type:"text/javascript"})):void 0,f="script"in e.source?a:e.source.url,o,g,w=!1,W=!1,R=0,O=0,M="",A=0,c=0,E=s.performance,T=E.now(),v,k=d=>{let n=d,m=String(n.effectiveDirective||n.violatedDirective||"").split(" ")[0];/^(worker-src|script-src|script-src-elem|child-src|default-src)$/.test(m)&&zt(String(n.blockedURI??""),f)&&(v=m)},_=s.document;_?.addEventListener("securitypolicyviolation",k);let N=()=>_?.removeEventListener("securitypolicyviolation",k),r=()=>{W||(W=!0,g?.close(),o?.terminate(),o=void 0,s.clearTimeout(R),s.clearInterval(O),N(),a&&s.URL.revokeObjectURL(a))},l=(d,n)=>{W||(r(),e.onStop(d,n))},y=()=>{s.clearTimeout(R),N(),M=st();let d=new s.MessageChannel;g=d.port1;let n=Math.max(1,e.silentMs),m=Math.max(10,Math.min(1e3,Math.floor(n/4)));T=E.now();let b=T;O=s.setInterval(()=>{let h=E.now();if(h-b>m*2&&(T+=h-b-m),b=h,h-T>=n)return l("silent");A+=1,d.port1.postMessage({type:"heartbeat",beat:A})},m);let S={graview:"host-hello",protocol:1,nonce:M,view:e.name};o.postMessage(S,[d.port2]),e.onReady(M,d.port1)};try{o=new s.Worker(f,{name:e.name})}catch(d){o=void 0;let n=d,m=n?.name==="SecurityError"?Tt(s,f,v):`the worker could not be made: ${String(n?.message??d)}`;queueMicrotask(()=>l("start",m))}return o&&(R=s.setTimeout(()=>l("start",`it never said it was ready in ${e.readyMs.toLocaleString("en-US")} ms`),e.readyMs),o.onerror=d=>{let n=typeof d.message=="string"&&d.message!==""?d.message:void 0;if(w)return void e.onError?.(n??"an error");s.clearTimeout(R),s.setTimeout(()=>!w&&l("start",v?Tt(s,f,v):n?`it failed before it said ready: ${n}`:"it failed before it said ready, and the engine gave no reason (a page policy that refuses it, or a script that does not load)"),0)},o.onmessage=d=>{if(!e.limiter.message()||w||!nt(d.data)||d.data.protocol!==1){e.onDropped();return}w=!0,y()}),{get worker(){return o},answer(d){let n=d;return typeof n!="object"||n===null||n.type!=="heartbeat"||n.nonce!==M?!1:(typeof n.beat=="number"&&n.beat>c&&n.beat<=A&&(c=n.beat,T=E.now()),!0)},stop:r}}function le(s,e){let a=e(),f=0;return{draw(o){let g=e();g-a>=1e3&&(a=g,f=0);let w=o(()=>f+(e()-g)>=s);return f+=e()-g,w&&f<s}}}var Xt=H(()=>(__graviewPreload(import.meta.url,["./chunk.BRDAO2OF.js","./chunk.AJZBJBMO.js"]),import("./chunk.6UIW664O.js"))),qt=H(()=>(__graviewPreload(import.meta.url,["./chunk.55D33E5A.js","./chunk.2JJYGYT2.js","./chunk.NMIXBH37.js","./chunk.GVY5UQTJ.js","./chunk.AS4CQBOQ.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.ZTIF23VF.js"))),Yt=H(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.SHNYYBNW.js"))),Jt=H(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.OYHQSXNC.js","./chunk.UHX4WTM7.js","./chunk.IKX4VDTW.js","./chunk.RNEJYIQ7.js","./chunk.TBQOSI4J.js","./chunk.KWQ7QOHD.js","./chunk.H7KCWCB4.js","./chunk.AS4CQBOQ.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.FCAYURB4.js"))),Qt=H(()=>(__graviewPreload(import.meta.url,["./chunk.2JJYGYT2.js","./chunk.NMIXBH37.js","./chunk.AS4CQBOQ.js","./chunk.2AZTW66C.js","./chunk.AJZBJBMO.js"]),import("./chunk.JLYNMAME.js"))),Zt=H(()=>(__graviewPreload(import.meta.url,["./chunk.BBLIT7S7.js","./chunk.AJZBJBMO.js"]),import("./chunk.RRCPEHM4.js")));function er(s,e,a){switch(s){case"manifest":return a??"Its manifest names something this app does not have.";case"source":return a??`Its code is longer than the ${e.maxSourceBytes.toLocaleString("en-US")} bytes a view may be.`;case"start":return`It could not start${a?`: ${a}.`:"."}`;case"error":return`It failed before it drew anything${a?`: ${a}`:"."}`;case"silent":return`It stopped answering for ${e.silentMs.toLocaleString("en-US")} ms.`;case"nodes":return`It drew more than the ${e.maxNodes.toLocaleString("en-US")} things a view may draw.`;case"flood":return`It sent more than ${e.messages} messages in ${e.messageWindowMs.toLocaleString("en-US")} ms.`;case"slow":return`It took longer than ${e.pushMs.toLocaleString("en-US")} ms to draw what it was shown.`}}function tr(s,e){let a=s.ownerDocument,f=a.defaultView,{manifest:o}=e,g=a.createElement("div");g.className="graview-worker-view",g.setAttribute("role","region"),g.setAttribute("aria-label",o.title??o.name),g.setAttribute("data-worker-view",o.name),g.style.cssText="display:block;position:relative;contain:layout paint style;isolation:isolate;overflow:clip;min-width:0",s.appendChild(g);let w=g.attachShadow({mode:"open"}),W=e.author?a.createElement("p"):void 0;W&&(W.className="graview-worker-view-author",W.setAttribute("data-worker-view-author",o.name),W.style.cssText="margin:4px 0 0;font-size:0.75rem;color:var(--graview-ink-muted, inherit)",W.textContent=e.author,s.appendChild(W));let R={applied:0,refused:0,dropped:0},O=oe(e.limits),M={maxSourceBytes:e.limits?.maxSourceBytes??256e3,maxNodes:e.limits?.maxNodes??5e3,messages:e.limits?.messages??120,messageWindowMs:e.limits?.messageWindowMs??1e3,pushMs:e.limits?.pushMs??1e3,silentMs:e.limits?.silentMs??5e3,drawMs:e.limits?.drawMs??100},A,c,E,T,v=!1,k={applied:0,refused:0,dropped:0},_=[],N=()=>{if(!c)return;let t=c.stats;R.applied+=t.applied-k.applied,R.refused+=t.refused-k.refused,R.dropped+=t.dropped-k.dropped,k={...t}},r=()=>{},l=0,y=()=>{},d=()=>{y(),y=()=>{},N(),c?.dispose(),c=void 0,E?.stop(),r(),f.clearInterval(l)},n=(t,p)=>{if(v)return;v=!0,d(),T?.dispose();let x=er(t,M,p);g.removeAttribute("data-worker-view-drawn"),g.setAttribute("data-worker-view-failed",t),e.fallback!==!1&&(e.fallback??m)(g,t,x),e.onFailure?.(t,x)},m=(t,p,x)=>{let K=A??(()=>{try{return be(e.store,e.principal,{manifest:o,...e.input?{input:e.input()}:{}})}catch{return}})(),u=a.createElement("div");u.setAttribute("data-graview-fallback",p),u.style.cssText="padding:12px;display:grid;gap:6px;color:var(--graview-ink, inherit);font-family:var(--graview-font-body, inherit)";let I=a.createElement("strong");I.textContent=o.title??o.name;let V=a.createElement("ul");V.style.cssText="margin:0;padding-left:1.2em";for(let te of[...K?.node?[K.node]:[],...K?.nodes??[]]){let re=a.createElement("li");re.textContent=te.label??te.id,V.appendChild(re)}let B=a.createElement("p");B.style.cssText="margin:0;font-size:0.8125rem;color:var(--graview-ink-muted, inherit)",B.textContent=`This view was stopped. ${x}`,u.append(I,V,B),w.replaceChildren(u)},b=at(o,e.store);if(b.length>0)return queueMicrotask(()=>n("manifest",b.join(" "))),ye();let S=t=>{if(("source"in t?new TextEncoder().encode(t.source).length:"script"in t?new TextEncoder().encode(t.script).length:0)>M.maxSourceBytes)return["source"];let x="source"in t?lt(t.source):[];return x.length>0?["source",x.join(" ")]:void 0},h=e.worker,L=typeof h=="function"?void 0:S(h);if(L)return queueMicrotask(()=>n(...L)),ye();let We=mt(f,()=>Ae(),"blob"),ue=()=>ft(()=>e.theme?.()??ct(g),e.brand,We),Le="",ce=()=>{Le=JSON.stringify(ue()),c?.push()},Ae=()=>{c&&JSON.stringify(ue())!==Le&&ce()},Et=pt(a,Ae),j,U,_e=o.pictures?Yt().then(({createGuestPictures:t})=>{v||(j=t(f,{as:"blob",view:`"${o.title??o.name}"`,pictures:o.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>c?.push(),onLeft:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)}}))}):Promise.resolve();r=()=>{Et(),We.dispose(),j?.dispose(),X?.dispose(),U?.dispose(),ee?.dispose()};let D,J=t=>D?.postMessage(t),Oe=!1,Ie=!1,Q=()=>g.toggleAttribute("data-worker-view-drawn",!v&&Ie&&T!==void 0&&_.length===0&&F.size===0&&!j?.waiting()&&!(U?.waiting??0)),$=f.performance,F=new Map,Z=$.now(),pe=Math.max(10,Math.min(250,Math.floor(M.pushMs/4))),Kt=()=>{l||(Z=$.now(),l=f.setInterval(()=>{let t=$.now(),p=t-Z>pe*2?t-Z-pe:0;Z=t;for(let[x,K]of F){let u=K+p;if(F.set(x,u),t-u>=M.pushMs)return n("slow")}},pe))},Rt=le(M.drawMs,()=>$.now()),Ne=()=>{},fe=t=>{if(v)return;if(!T)return void _.push(t);let p=T;if(!Rt.draw(K=>t[0]==="render"?p.apply(t[1],K):(p.style(t[1]),!0)))return n("slow");t[0]==="render"&&Ne()},Pe=()=>tt(e.store.schema,new Set([...e.store.kindsKeptFrom(e.principal),...e.store.modules.disabledKinds])),z=rt({sees:t=>e.store.seenBy(e.principal).graph.has(t),places:()=>se(e.places?.()??[]),lists:Pe,schema:e.store.schema,...e.onNavigate?{onNavigate:e.onNavigate}:e.goTo?{onNavigate:t=>ut(e.goTo(),t)}:{},onLost:t=>{D?.postMessage({type:"notice",text:t}),e.onProblem?.(t)}}),C=new Set,Ve=new Set,X,De=!1,Ce=()=>{De||(De=!0,Jt().then(({createGuestMedia:t})=>{v||(X=t(f,{view:`"${o.title??o.name}"`,pictures:o.pictures!==void 0,shown:()=>A,...e.file?{file:e.file}:{},onProblem:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)}}),X.refresh(w))},()=>e.onProblem?.(`The view "${o.title??o.name}" places a video or a full-screen viewer, and the host's player could not be loaded.`)))},He=!1,je=!1,me=new Map,Ue=()=>{He||!o.accepts?.length||(He=!0,Qt().then(({createGuestDrops:t})=>{v||(U=t(f,{shadow:w,manifest:o,store:e.store,principal:e.principal,files:()=>e.files?.(),shown:()=>C,hears:()=>je,idOf:p=>T?.renderer.idOf(p),send:J,change:(p,x)=>{if(!c)return{ok:!1,reason:"refused",message:"The view has gone."};let K=c.change(p,x);return N(),K},handed:p=>me.set(p.href,p),onProblem:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)},onBusy:()=>Q()}),U.refresh())},()=>e.onProblem?.(`The view "${o.title??o.name}" takes files, and the host's drop could not be loaded.`)))},ee,Be=[],$e=!1,Gt=t=>{Be=t,ee?.bind(t),!($e||t.length===0)&&($e=!0,Zt().then(({createGuestGestures:p,unheardWords:x})=>{if(!v){if(o.gestures!==!0){let K=x(o.title??o.name);return D?.postMessage({type:"notice",text:K}),e.onProblem?.(K)}ee=p(w,{root:()=>w.querySelector("[data-graview-view-root]")??void 0,idOf:K=>T?.renderer.idOf(K),send:J}),ee.bind(Be)}},()=>{}))},Wt=t=>{let p=e.store.seenBy(e.principal).graph;for(let x of C){let K=p.getNode(x);for(let u of Object.values(K??{}))for(let I of it(u))if(I.href===t)return I}},Fe=t=>{if(t.localName==="graview-video")return Ce();t.hasAttribute("data-lightbox")&&(t.setAttribute("aria-haspopup","dialog"),Ce())};Promise.all([Xt(),qt()]).then(([{createOpenDrawing:t,handedLinks:p,judgeLink:x,linkRefusedWords:K},{createPressReader:u,createSaver:I,fillPrefills:V,judgePress:B,markPresses:te,prefillOf:re}])=>{if(v)return;let q=u(),Xe=(i,G)=>{let P=T?.renderer.idOf(i);P!==void 0&&J({type:"dom-event",target:P,event:"acted",pressed:G})},he=I({reader:q,save:(i,G)=>{if(!c)return;let P=c.pressed(B(e.store,o,C,i));N(),Xe(G,{as:i.as,...P})}}),qe=()=>he.flush();f.addEventListener("pagehide",qe),y=()=>{f.removeEventListener("pagehide",qe),he.flush()};let Lt=new WeakSet;Ne=()=>{z.refresh(w),te(w),V(w,q,Lt,i=>re(e.store,e.principal,o,C,i)),X?.refresh(w),U?.refresh()};let Ye,Je=new Set,At=()=>(Ye!==A&&([Ye,Je]=[A,p(A)]),Je),Qe=new Set;T=t(w,{origin:e.origin??f.location.origin,link:i=>x(i,{handed:At(),...e.links?{origins:e.links.origins}:{}}),...e.asset?{asset:e.asset}:{},...e.images?{imageOrigins:e.images.origins}:{},...o.pictures?{picture:i=>j?.drawn(i)}:{},onRefused:i=>{if(i.reason==="url"&&i.element==="a"&&i.address!==void 0&&!Qe.has(i.address)){Qe.add(i.address);let P=K(i.address,e.links?.origins);return D?.postMessage({type:"notice",text:P}),e.onProblem?.(P)}if(i.reason!=="url"||i.element!=="img"||i.address===void 0||Ve.has(i.address))return;Ve.add(i.address);let G=ot(i.address,{...e.images?{origins:e.images.origins}:{},assets:e.asset!==void 0},i.length);D?.postMessage({type:"notice",text:G}),e.onProblem?.(G)},...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>n("nodes"),send:J,onFieldSet:i=>q.filled(i),onAttribute:(i,G)=>{(G==="data-record"||G==="data-place")&&z.link(i),G==="data-lightbox"&&Fe(i),G==="data-drop"&&Ue()},decorate:i=>{(i.hasAttribute("data-record")||i.hasAttribute("data-place"))&&z.link(i),Fe(i),i.hasAttribute("data-drop")&&Ue()},before:(i,G,P)=>{q.heard(i,G),he.heard(i,G,P),z.pressed(i,G,P);let we=G.closest("a[href]");we&&P.contains(we)&&!we.hasAttribute("data-graview-link")&&i.type==="click"&&i.stopPropagation();let ne=G.closest("[data-lightbox]"),Ze=i.type==="keydown"?i.key:void 0;if(ne&&P.contains(ne)&&i.isTrusted&&(i.type==="click"||(Ze==="Enter"||Ze===" ")&&ne.localName!=="button")&&(i.preventDefault(),i.stopPropagation(),X?.open(ne)),U?.before(i,G,P))return!1;let ve=q.press(i,G,P);if(!ve||!c)return;i.stopPropagation(),i.type==="keydown"&&i.preventDefault();let _t=c.pressed(B(e.store,o,C,ve));N();let et={as:ve.as,..._t},Ot=G.closest("[data-act]");return queueMicrotask(()=>Xe(Ot,et)),{pressed:et}}});for(let i of _.splice(0))fe(i);Q()},()=>n("start","the view's drawing could not be loaded"));let ge=t=>E=de(f,{source:t,name:o.name,limiter:O,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>R.dropped+=1,onStop:(p,x)=>n(p,x),onError:p=>{Oe||n("error",p)},onReady:(p,x)=>{D=x,Kt();let K=ie({store:e.store,principal:e.principal,view:o.name,nonce:p,send:u=>{u.type==="props"&&typeof u.push=="number"&&(F.set(u.push,$.now()),Q()),x.postMessage(u)},props:()=>{let u=be(e.store,e.principal,{manifest:o,...e.input?{input:e.input()}:{},theme:ue(),...e.places?{places:se(e.places())}:{}});return C=new Set([...u.node?[u.node.id]:[],...(u.nodes??[]).map(I=>I.id)]),A=u,u},...j?{hand:j.hand}:{},judgeAct:(u,I)=>dt(e.store,o,u,I,{shown:C,file:V=>me.get(V)??Wt(V),dropped:V=>me.has(V)}),onHears:u=>{u.includes("drop")&&(je=!0)},onGestures:Gt,onRender:u=>{Oe=!0,fe(["render",u])},onPushed:(u,I)=>{if(F.delete(u),I>=M.pushMs)return n("slow");Ie=!0,Q()},onFlood:()=>n("flood"),onStyle:u=>fe(["style",u]),places:()=>[...new Set([...se(e.places?.()??[]).map(u=>u.as),...Pe().map(u=>u.slug)])],...e.limits?{limits:e.limits}:{},limiter:O});c=K,x.onmessage=({data:u})=>{if(!E?.answer(u)&&(K.receive(u),N(),!v&&u?.nonce===p&&u.type==="navigate")){let I={...u.where!==void 0?{where:u.where}:{},...u.section!==void 0?{section:u.section}:{}},V=typeof u.place=="string"?{place:u.place,...I}:typeof u.to=="string"&&{record:u.to,...I};V&&z.go(V)}},ce()}}),ze=t=>{"source"in t?(o.pictures?Promise.all([xe(t.source),_e]).then(([p])=>p):xe(t.source)).then(p=>{v||ge({script:p})},()=>n("start","the view's runtime could not be loaded")):o.pictures?_e.then(()=>{v||ge(t)},()=>n("start","the view's pictures could not be loaded")):ge(t)};return typeof h=="function"?gt(h).then(t=>{if(v)return;let p=S(t);p?n(...p):ze(t)},t=>n("source",`Its code did not arrive${t instanceof Error&&t.message?`: ${t.message}`:""}.`)):ze(h),ye();function ye(){return{element:g,shadow:w,get worker(){return E?.worker},update:()=>{c&&ce()},get stats(){return N(),R},get refused(){return T?.refused??[]},dispose(){v=!0,d(),T?.dispose(),g.remove(),W?.remove()}}}}var Mt="graview-guest-kit";function Gr(s,e){let a=s.ownerDocument,f=a.defaultView;if(!a.getElementById(Mt)){let k=a.createElement("style");k.id=Mt,k.textContent=Ge,a.head.appendChild(k)}let o=a.createElement("div");o.className="graview-guest",o.setAttribute("role","group"),o.setAttribute("aria-label",e.title??e.view),o.setAttribute("data-guest-view",e.view),s.appendChild(o);let g={applied:0,refused:0,dropped:0},w=oe(e.limits),W=le(e.limits?.drawMs??100,()=>f.performance.now()),R,O,M,A=!1,c={applied:0,refused:0,dropped:0},E=()=>{if(!R)return;let k=R.stats;g.applied+=k.applied-c.applied,g.refused+=k.refused-c.refused,g.dropped+=k.dropped-c.dropped,c={...k}},T=()=>{E(),R?.dispose(),R=void 0,M?.stop()},v=(k,_)=>{A||(A=!0,T(),O?.dispose(),e.onFailure?.(k,_))};return M=de(f,{source:e.worker,name:e.view,limiter:w,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>g.dropped+=1,onStop:(k,_)=>v(k,_),onReady:(k,_)=>{let N=Re(o,{...e.kit?{kit:e.kit}:{},...e.links?{links:e.links}:{},onEvent:(l,y)=>_.postMessage({type:"event",listener:l,...y!==void 0?{detail:y}:{}}),...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>v("budget")});O=N;let r=ie({store:e.store,principal:e.principal,view:e.view,nonce:k,send:l=>_.postMessage(l),onRender:l=>{W.draw(y=>N.apply(l,y))||v("slow")},...e.input?{input:e.input}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},onSize:e.onSize??(l=>o.style.minHeight=`${l}px`),...e.limits?{limits:e.limits}:{},limiter:w});R=r,_.onmessage=l=>{M?.answer(l.data)||(r.receive(l.data),E())},r.push()}}),{element:o,get worker(){return M?.worker},update:()=>R?.push(),get stats(){return E(),g},get refused(){return O?.refused??[]},dispose(){A=!0,T(),O?.dispose(),o.remove()}}}export{Te as GUEST_KIT,Ge as GUEST_KIT_CSS,Se as KIT_LINK_TARGETS,yt as KIT_TONES,Re as createKitRenderer,bt as hostAttribute,xt as kitValue,Gr as mountGuestWorker,tr as mountWorkerView};