graview 0.1.66 → 0.1.67

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 (197) hide show
  1. package/dist/preview/{chunk.LSN2IPAI.js → chunk.25QFDTCU.js} +1 -1
  2. package/dist/preview/{chunk.BFAFCVL4.js → chunk.264PB572.js} +1 -1
  3. package/dist/preview/chunk.2FHIINXG.js +2 -0
  4. package/dist/preview/{chunk.HSSIMVVM.js → chunk.2VUX54XH.js} +1 -1
  5. package/dist/preview/{chunk.CTASTRQN.js → chunk.35KMZHB7.js} +1 -1
  6. package/dist/preview/{chunk.OWFS2YDQ.js → chunk.37RFCHSS.js} +1 -1
  7. package/dist/preview/chunk.3ENPWZBG.js +1 -0
  8. package/dist/preview/{chunk.XMQG2PSM.js → chunk.3GNT5MKP.js} +1 -1
  9. package/dist/preview/{chunk.BXBEGMPO.js → chunk.3NSV3WKM.js} +2 -2
  10. package/dist/preview/chunk.3ZODN6BW.js +1 -0
  11. package/dist/preview/{chunk.OPTYYIGC.js → chunk.47XEJZ3O.js} +1 -1
  12. package/dist/preview/{chunk.5FNFRVTL.js → chunk.4EMKCKDB.js} +1 -1
  13. package/dist/preview/{chunk.B6JRTW3A.js → chunk.4UUJHLHR.js} +1 -1
  14. package/dist/preview/{chunk.FBILPNGH.js → chunk.4W57E7AX.js} +1 -1
  15. package/dist/preview/chunk.55G4IPOO.js +1 -0
  16. package/dist/preview/{chunk.72XP2ARZ.js → chunk.5AKZROMR.js} +1 -1
  17. package/dist/preview/chunk.5J6DVR7S.js +1 -0
  18. package/dist/preview/{chunk.FXT5CN32.js → chunk.5R744JGZ.js} +1 -1
  19. package/dist/preview/{chunk.NJRLJEJY.js → chunk.6KJGRM7A.js} +1 -1
  20. package/dist/preview/{chunk.4AC2QM7T.js → chunk.6N4PE3U5.js} +1 -1
  21. package/dist/preview/{chunk.LGRVEHXT.js → chunk.6NG76MDA.js} +2 -2
  22. package/dist/preview/{chunk.4FCFNAA4.js → chunk.6SJEZWH3.js} +1 -1
  23. package/dist/preview/{chunk.7VADSNPZ.js → chunk.6UQFV53C.js} +1 -1
  24. package/dist/preview/{chunk.WAB3L3ZI.js → chunk.6W6XMLSF.js} +1 -1
  25. package/dist/preview/{chunk.4JULYKGD.js → chunk.77C556NM.js} +1 -1
  26. package/dist/preview/{chunk.IGK7EZCX.js → chunk.7ARRVNUR.js} +1 -1
  27. package/dist/preview/{chunk.CBXS23YH.js → chunk.7BJRHPE3.js} +2 -2
  28. package/dist/preview/{chunk.ZQR2SN65.js → chunk.7S6ZRMW4.js} +1 -1
  29. package/dist/preview/{chunk.IAEHUSQQ.js → chunk.7UHPHEH5.js} +1 -1
  30. package/dist/preview/chunk.7WHQWLL6.js +1 -0
  31. package/dist/preview/{chunk.KACSYPEV.js → chunk.A4EZAGG7.js} +1 -1
  32. package/dist/preview/chunk.A5PSEU3W.js +25 -0
  33. package/dist/preview/{chunk.VKZIEZ5C.js → chunk.A7GVTE5Y.js} +2 -2
  34. package/dist/preview/{chunk.45JP6VGJ.js → chunk.AJMVRFYX.js} +2 -2
  35. package/dist/preview/{chunk.6P6NGZ6D.js → chunk.AKJS2NUM.js} +1 -1
  36. package/dist/preview/{chunk.CU2WCYMK.js → chunk.ARWO4WOV.js} +1 -1
  37. package/dist/preview/chunk.B5SJMCTT.js +7 -0
  38. package/dist/preview/{chunk.JXNVNFV4.js → chunk.B7KZBT27.js} +1 -1
  39. package/dist/preview/{chunk.E3UL4MCD.js → chunk.BDNQMKDG.js} +1 -1
  40. package/dist/preview/{chunk.YNEHJWJV.js → chunk.BKYZSV2Y.js} +1 -1
  41. package/dist/preview/{chunk.5BX66FBP.js → chunk.CKDCTFLU.js} +1 -1
  42. package/dist/preview/chunk.CTUJZ3IV.js +1 -0
  43. package/dist/preview/chunk.CY7FFKEZ.js +1 -0
  44. package/dist/preview/{chunk.3PBTN7RO.js → chunk.D4WJ7OM5.js} +1 -1
  45. package/dist/preview/{chunk.C2C3AXGI.js → chunk.D7NWMXSX.js} +3 -3
  46. package/dist/preview/chunk.DEKRFTRN.js +4 -0
  47. package/dist/preview/{chunk.E7EWNWAN.js → chunk.DKEIEH2D.js} +1 -1
  48. package/dist/preview/{chunk.I2737CPF.js → chunk.DWM7AR5Y.js} +1 -1
  49. package/dist/preview/{chunk.ANS2IEEV.js → chunk.DZMIYEHQ.js} +1 -1
  50. package/dist/preview/{chunk.BMENTGDC.js → chunk.E5PYNAYT.js} +2 -2
  51. package/dist/preview/chunk.EBKH3ILT.js +1 -0
  52. package/dist/preview/{chunk.DTCAUPLC.js → chunk.EFVSZKB5.js} +1 -1
  53. package/dist/preview/{chunk.QOS5T46W.js → chunk.EGPCVMDU.js} +1 -1
  54. package/dist/preview/{chunk.7ZKBYXUM.js → chunk.EJ2EZL2G.js} +1 -1
  55. package/dist/preview/{chunk.7VP6Y6D2.js → chunk.EP6Q32WT.js} +1 -1
  56. package/dist/preview/{chunk.OOSIKCOS.js → chunk.F464JKHZ.js} +1 -1
  57. package/dist/preview/{chunk.VGHO3VCB.js → chunk.FLJXYESX.js} +1 -1
  58. package/dist/preview/chunk.FOUBDGL3.js +1 -0
  59. package/dist/preview/chunk.FPHRAO3R.js +1 -0
  60. package/dist/preview/{chunk.4FDVINRJ.js → chunk.FRQSLWP4.js} +1 -1
  61. package/dist/preview/{chunk.2MHNPBHC.js → chunk.FVQKSN33.js} +1 -1
  62. package/dist/preview/{chunk.PDDIQ6PK.js → chunk.G3GFDVO2.js} +1 -1
  63. package/dist/preview/{chunk.ZD7T234N.js → chunk.G5GVT6JY.js} +1 -1
  64. package/dist/preview/{chunk.3L4JMM3P.js → chunk.GFLH7RCI.js} +1 -1
  65. package/dist/preview/{chunk.OO2OP76C.js → chunk.GMLONS5L.js} +1 -1
  66. package/dist/preview/{chunk.FK722SHI.js → chunk.GRFD42WM.js} +1 -1
  67. package/dist/preview/{chunk.2VR7YEJ6.js → chunk.GVT4UUQA.js} +1 -1
  68. package/dist/preview/{chunk.GME63ZHI.js → chunk.H3EGBDW2.js} +1 -1
  69. package/dist/preview/{chunk.DQFHIJFN.js → chunk.H6KIEDZN.js} +1 -1
  70. package/dist/preview/{chunk.5B5SRTUK.js → chunk.HAOB6O72.js} +1 -1
  71. package/dist/preview/chunk.HB5NWHFP.js +3 -0
  72. package/dist/preview/{chunk.6EHHMWPP.js → chunk.HJUZMOW2.js} +1 -1
  73. package/dist/preview/{chunk.6MQ5NT7S.js → chunk.HN4ZJ4B4.js} +1 -1
  74. package/dist/preview/chunk.HVBKI5ZO.js +1 -0
  75. package/dist/preview/chunk.I3SDKMQS.js +1 -0
  76. package/dist/preview/{chunk.QQAZQDRW.js → chunk.IAEGJDF3.js} +1 -1
  77. package/dist/preview/{chunk.QWNSHISU.js → chunk.IDALEKIW.js} +1 -1
  78. package/dist/preview/{chunk.QFHWG4LN.js → chunk.ILJDLBPJ.js} +1 -1
  79. package/dist/preview/{chunk.ZR2TP3BF.js → chunk.J2OPIS3H.js} +1 -1
  80. package/dist/preview/chunk.J5OLYVZ4.js +1 -0
  81. package/dist/preview/{chunk.LETAQTLJ.js → chunk.J6HF7IRQ.js} +1 -1
  82. package/dist/preview/{chunk.RWIN3POV.js → chunk.JEC5FDKX.js} +1 -1
  83. package/dist/preview/chunk.JKFVNQY7.js +1 -0
  84. package/dist/preview/{chunk.LLIURXFP.js → chunk.JQ2WNKDW.js} +1 -1
  85. package/dist/preview/{chunk.Z7Y3R3YR.js → chunk.JQ63N4MZ.js} +1 -1
  86. package/dist/preview/{chunk.DZFM6GSY.js → chunk.JU6UFWS3.js} +1 -1
  87. package/dist/preview/{chunk.INHS3KTK.js → chunk.JVB5KDSG.js} +1 -1
  88. package/dist/preview/{chunk.4U4D7WOI.js → chunk.KFT7JIEH.js} +1 -1
  89. package/dist/preview/chunk.KGMSSXZL.js +1 -0
  90. package/dist/preview/{chunk.5CXIEYHY.js → chunk.KX5ZBHMA.js} +2 -2
  91. package/dist/preview/{chunk.V7W5AQKL.js → chunk.LP2ZMAT2.js} +1 -1
  92. package/dist/preview/{chunk.BUVTUAB5.js → chunk.LRNFE3UK.js} +1 -1
  93. package/dist/preview/{chunk.PAGEGBUD.js → chunk.LVOTLGJB.js} +1 -1
  94. package/dist/preview/{chunk.QHMHUL6B.js → chunk.LYEGRY77.js} +1 -1
  95. package/dist/preview/{chunk.PPSYUOH7.js → chunk.M7KXQGQL.js} +1 -1
  96. package/dist/preview/{chunk.7BIPZTJB.js → chunk.MAKCZ6B6.js} +1 -1
  97. package/dist/preview/{chunk.EQ4OODGO.js → chunk.MJY4SLWA.js} +1 -1
  98. package/dist/preview/{chunk.EMFOMSMI.js → chunk.MSAYU25L.js} +1 -1
  99. package/dist/preview/{chunk.F4VB6Q2W.js → chunk.MUSMNKE4.js} +1 -1
  100. package/dist/preview/{chunk.BGAC3B7X.js → chunk.MW7R5G3C.js} +1 -1
  101. package/dist/preview/{chunk.AK7NGFEX.js → chunk.N4ZKZ4GM.js} +1 -1
  102. package/dist/preview/{chunk.TXHYGFIZ.js → chunk.NAXOXBOF.js} +1 -1
  103. package/dist/preview/{chunk.IWYMKGZZ.js → chunk.NKLPL7QD.js} +1 -1
  104. package/dist/preview/{chunk.QU52E5RG.js → chunk.NKYWIGC7.js} +1 -1
  105. package/dist/preview/{chunk.KSIEO5W7.js → chunk.NRURQGXV.js} +1 -1
  106. package/dist/preview/{chunk.FV72U33M.js → chunk.NSOPYIT4.js} +1 -1
  107. package/dist/preview/chunk.NXZL5CA2.js +1 -0
  108. package/dist/preview/{chunk.WVLEGCRI.js → chunk.O2OL6RQQ.js} +1 -1
  109. package/dist/preview/{chunk.TGEL6EUA.js → chunk.O5VFKVZS.js} +1 -1
  110. package/dist/preview/{chunk.CEVGND3Y.js → chunk.OCXY5DCD.js} +3 -3
  111. package/dist/preview/chunk.OHAO6KKH.js +1 -0
  112. package/dist/preview/{chunk.DSYP43NN.js → chunk.P2EKKKK2.js} +1 -1
  113. package/dist/preview/chunk.PSNMZBVS.js +1 -0
  114. package/dist/preview/{chunk.W53YNBSM.js → chunk.PZ7KY6XH.js} +1 -1
  115. package/dist/preview/{chunk.WSO7JOW5.js → chunk.QAM76AXV.js} +1 -1
  116. package/dist/preview/{chunk.PSQYDCVM.js → chunk.QF5QB5YR.js} +1 -1
  117. package/dist/preview/chunk.QNP5OR3P.js +93 -0
  118. package/dist/preview/{chunk.5LJVOLKR.js → chunk.QRQ5WPZI.js} +1 -1
  119. package/dist/preview/chunk.QWGWOEBZ.js +90 -0
  120. package/dist/preview/{chunk.OMT4QUZY.js → chunk.QXLJGHMC.js} +4 -4
  121. package/dist/preview/{chunk.J2MM6BUW.js → chunk.QZQCQWQG.js} +1 -1
  122. package/dist/preview/{chunk.6FQW6FNL.js → chunk.R6JBA7UK.js} +1 -1
  123. package/dist/preview/chunk.R7CRBRD4.js +1 -0
  124. package/dist/preview/chunk.RD2FSSLV.js +1 -0
  125. package/dist/preview/{chunk.OEIWIZCP.js → chunk.RG5G6YQD.js} +1 -1
  126. package/dist/preview/{chunk.PFQBCHQA.js → chunk.RJY7VJBH.js} +1 -1
  127. package/dist/preview/chunk.RR25BGWP.js +1 -0
  128. package/dist/preview/{chunk.BZ7QWHAE.js → chunk.RSQ432QN.js} +1 -1
  129. package/dist/preview/{chunk.MWGZKZD6.js → chunk.SFBHPYRD.js} +1 -1
  130. package/dist/preview/{chunk.FFOD5B4B.js → chunk.SJQPTDAT.js} +1 -1
  131. package/dist/preview/{chunk.OTV5XTBB.js → chunk.SNHKYH72.js} +1 -1
  132. package/dist/preview/{chunk.WSDJPXJD.js → chunk.SO6NT5K7.js} +1 -1
  133. package/dist/preview/{chunk.FDZE5LTJ.js → chunk.STPA7HBK.js} +2 -2
  134. package/dist/preview/{chunk.ONYBW45K.js → chunk.SY5ID44D.js} +1 -1
  135. package/dist/preview/chunk.T27QKVKP.js +1 -0
  136. package/dist/preview/{chunk.U6TEW6YD.js → chunk.T2OUHRAA.js} +1 -1
  137. package/dist/preview/chunk.T3WCRS6M.js +1 -0
  138. package/dist/preview/{chunk.QGIM2WAY.js → chunk.TI5FR2QQ.js} +1 -1
  139. package/dist/preview/{chunk.HOCD7KIR.js → chunk.TTSGCNPT.js} +1 -1
  140. package/dist/preview/{chunk.ES63XSIM.js → chunk.TXZQEJ5T.js} +1 -1
  141. package/dist/preview/{chunk.6LXIEM6B.js → chunk.UDHPMVC4.js} +1 -1
  142. package/dist/preview/{chunk.KBPJ7X7W.js → chunk.UGQYMN4J.js} +1 -1
  143. package/dist/preview/{chunk.M6ZN2KUO.js → chunk.UQIPEMJ5.js} +1 -1
  144. package/dist/preview/{chunk.FIFUMX5X.js → chunk.URQTF5SY.js} +1 -1
  145. package/dist/preview/{chunk.J7W2OFHY.js → chunk.UW52CMGJ.js} +1 -1
  146. package/dist/preview/{chunk.LINSO5PN.js → chunk.UWS4RMM3.js} +1 -1
  147. package/dist/preview/{chunk.QPF4KSAW.js → chunk.V7H4BUEB.js} +1 -1
  148. package/dist/preview/{chunk.KHRS2SKB.js → chunk.VBHV4TLG.js} +1 -1
  149. package/dist/preview/{chunk.U3ED7W2U.js → chunk.VBLQJVQ5.js} +1 -1
  150. package/dist/preview/{chunk.CVPMSPCH.js → chunk.WALVW3KJ.js} +1 -1
  151. package/dist/preview/{chunk.2KFZHUAC.js → chunk.WEMUKZKH.js} +1 -1
  152. package/dist/preview/{chunk.YIPXZUTT.js → chunk.X226YATK.js} +1 -1
  153. package/dist/preview/{chunk.GNEOSHQ6.js → chunk.XFLGSUYO.js} +1 -1
  154. package/dist/preview/{chunk.W4YDPHCQ.js → chunk.XSWSBTUO.js} +1 -1
  155. package/dist/preview/{chunk.OJY7VJ7D.js → chunk.YCD4JSXD.js} +1 -1
  156. package/dist/preview/{chunk.72ZCLEQC.js → chunk.YZPESGCP.js} +1 -1
  157. package/dist/preview/{chunk.XOE4KNP2.js → chunk.Z27NSSYL.js} +2 -2
  158. package/dist/preview/{chunk.DEHIR4EG.js → chunk.Z2XUVJAL.js} +1 -1
  159. package/dist/preview/{chunk.YXEO3Y65.js → chunk.Z3O2VZAJ.js} +1 -1
  160. package/dist/preview/{chunk.M2JCFNHJ.js → chunk.Z4TY44CD.js} +1 -1
  161. package/dist/preview/{chunk.EXYCN4WI.js → chunk.ZAPS4J6G.js} +1 -1
  162. package/dist/preview/{chunk.6TLXFMX2.js → chunk.ZAQ4IDX6.js} +1 -1
  163. package/dist/preview/{chunk.6HY6ZGEE.js → chunk.ZEZUKRC6.js} +1 -1
  164. package/dist/preview/{chunk.GEFXU4VO.js → chunk.ZG5VGP5U.js} +1 -1
  165. package/dist/preview/index.html +56 -56
  166. package/dist/preview/page.js +2 -2
  167. package/package.json +6 -6
  168. package/dist/preview/chunk.4WGYUYWU.js +0 -2
  169. package/dist/preview/chunk.5EMIWORS.js +0 -1
  170. package/dist/preview/chunk.6EVMXBNB.js +0 -1
  171. package/dist/preview/chunk.BCQWAFGD.js +0 -1
  172. package/dist/preview/chunk.BOCVLC7X.js +0 -1
  173. package/dist/preview/chunk.DPJNGFEZ.js +0 -4
  174. package/dist/preview/chunk.E4VRRWFP.js +0 -1
  175. package/dist/preview/chunk.EUAO4QNV.js +0 -1
  176. package/dist/preview/chunk.F7672TKJ.js +0 -1
  177. package/dist/preview/chunk.FA42HCPW.js +0 -1
  178. package/dist/preview/chunk.FBJAQPZ6.js +0 -1
  179. package/dist/preview/chunk.GAFMWOME.js +0 -1
  180. package/dist/preview/chunk.I4Z7HVRT.js +0 -1
  181. package/dist/preview/chunk.JMXXA4YG.js +0 -1
  182. package/dist/preview/chunk.JMYUQNXN.js +0 -6
  183. package/dist/preview/chunk.K6DFXDPZ.js +0 -1
  184. package/dist/preview/chunk.KF27ME27.js +0 -1
  185. package/dist/preview/chunk.L25DCT5S.js +0 -1
  186. package/dist/preview/chunk.MODLZJD4.js +0 -25
  187. package/dist/preview/chunk.OJGHDWI6.js +0 -1
  188. package/dist/preview/chunk.SSF47GUY.js +0 -1
  189. package/dist/preview/chunk.T6DPWW2K.js +0 -3
  190. package/dist/preview/chunk.TA36WBHK.js +0 -1
  191. package/dist/preview/chunk.TTGKX7LT.js +0 -1
  192. package/dist/preview/chunk.U3HERHAI.js +0 -88
  193. package/dist/preview/chunk.V5I4GZEY.js +0 -1
  194. package/dist/preview/chunk.VT2YGDK2.js +0 -1
  195. package/dist/preview/chunk.XK65Y2KX.js +0 -1
  196. package/dist/preview/chunk.Z274CL7J.js +0 -1
  197. package/dist/preview/chunk.ZBVYD4OX.js +0 -90
@@ -1 +1 @@
1
- import{C as O}from"./chunk.6HY6ZGEE.js";var k=3,A=k+1,P=A+1,z=(o,r)=>o<r?-1:o>r?1:0;function L(o){return(o??0)>4?k:2}function N(o,r,a){let n=[];for(let d of Object.values(o.tryDefinition(r)?.edges??{}))if(d.to!=="*")for(let i of d.to)i!==r&&a.includes(i)&&!n.includes(i)&&n.push(i);return n}function W(o,r={}){let a=[...o.kinds],n=[...(r.order??[]).filter(e=>a.includes(e)),...a.filter(e=>!(r.order??[]).includes(e)).sort(z)].filter((e,t,s)=>s.indexOf(e)===t),d=e=>n.indexOf(e),i=new Map,g=[],h=(e,t,s)=>{i.set(e,{col:t,row:s,side:L(r.counts?.[e])}),g.push({col:t,row:s})};for(let e of n){let t=o.tryDefinition(e)?.plot??r.plots?.[e];t&&h(e,t.col,t.row)}let l=new Map(n.map(e=>[e,N(o,e,a)])),b=new Set(n.filter(e=>l.get(e).length>0||n.some(t=>l.get(t).includes(e)))),v=new Map,C=new Set,D=e=>{let t=v.get(e);if(t!==void 0)return t;if(C.has(e))return-1;C.add(e);let s=0;for(let c of l.get(e))s=Math.max(s,D(c)+1);return C.delete(e),v.set(e,s),s};for(let e of n)b.has(e)&&D(e);let f=[];for(let e of n)b.has(e)&&(f[v.get(e)]??=[]).push(e);let I=new Map,T=Math.max(1,Math.ceil(Math.sqrt(f.length))),H=Math.max(1,...f.map(e=>e?.length??0)),w=Math.max(P,Math.round(r.pitch??P)),R=(e,t)=>r.upright?{col:e%T*w,row:(Math.floor(e/T)*(H+1)+t)*w}:{col:t*w,row:e===0?0:-e*w},$=e=>!g.some(t=>V(t,e)),S=(e,t,s)=>{let c=s;for(;!$(R(t,c))&&c<s+64;)c++;return i.has(e)||h(e,R(t,c).col,R(t,c).row),c},x=0;f.forEach((e=[],t)=>{let s=u=>{let m=l.get(u).map(p=>I.get(p)).filter(p=>p!==void 0);return m.length>0?m.reduce((p,q)=>p+q,0)/m.length:1/0},c=[...e].sort((u,m)=>s(u)-s(m)||d(u)-d(m)),y=0;for(let u of c)i.has(u)||(y=S(u,t,y),I.set(u,y),x=Math.max(x,y+1),y++)});let j=n.filter(e=>!b.has(e)&&!i.has(e)),M=Math.max(r.upright?x:f.length,Math.ceil(Math.sqrt(j.length*2)),1),E=b.size>0?1:0;return j.forEach((e,t)=>{r.upright?S(e,f.length+E+Math.floor(t/M),t%M):S(e,t%M,x+E+Math.floor(t/M))}),i}function V(o,r){return Math.abs(o.col-r.col)<A&&Math.abs(o.row-r.row)<A}function X(o,r,a,n=.5){return{x:(o-r)*a/2,y:(o+r)*a*n/2}}var G=1,B=/^(done|completed?|closed|finished|shipped|sent|won|lost|passed|declined|dropped|answered|resolved|fixed|archived|cancell?ed|retired|released|published|delivered|paid|merged|rejected|written[-_ ]?up|out)$/i,F=/^(doing|in[-_ ]?progress|active|building|started|working|in[-_ ]?review|review(ing)?|fixing|ongoing|underway|testing|drafting|writing|running)$/i;function _(o,r,a){let n=O(o.tryDefinition(r)?.fields.shape?.[a]);for(;n&&n.innerType!==void 0&&n.type!=="enum";)n=O(n.innerType);if(n?.type!=="enum")return;let d=(n.entries?Object.values(n.entries):n.values??[]).filter(i=>typeof i=="string");return d.length>0?d:void 0}function J(o,r){let a=o.tryDefinition(r);if(!a)return;let n=a.lifecycle,d=Object.keys(a.fields.shape??{}),i=[n?.field,...d.filter(l=>/^(status|stage|state|phase)$/i.test(l))].find(l=>l!==void 0&&_(o,r,l)!==void 0);if(!i)return;let g=_(o,r,i),h=n?.field===i&&Array.isArray(n.retired)?n.retired:[];return{field:i,values:g,tiers:g.map(l=>h.includes(l)||B.test(l)?"done":F.test(l)?"active":"waiting")}}export{P as a,W as b,X as c,G as d,J as e};
1
+ import{C as O}from"./chunk.ZEZUKRC6.js";var k=3,A=k+1,P=A+1,z=(o,r)=>o<r?-1:o>r?1:0;function L(o){return(o??0)>4?k:2}function N(o,r,a){let n=[];for(let d of Object.values(o.tryDefinition(r)?.edges??{}))if(d.to!=="*")for(let i of d.to)i!==r&&a.includes(i)&&!n.includes(i)&&n.push(i);return n}function W(o,r={}){let a=[...o.kinds],n=[...(r.order??[]).filter(e=>a.includes(e)),...a.filter(e=>!(r.order??[]).includes(e)).sort(z)].filter((e,t,s)=>s.indexOf(e)===t),d=e=>n.indexOf(e),i=new Map,g=[],h=(e,t,s)=>{i.set(e,{col:t,row:s,side:L(r.counts?.[e])}),g.push({col:t,row:s})};for(let e of n){let t=o.tryDefinition(e)?.plot??r.plots?.[e];t&&h(e,t.col,t.row)}let l=new Map(n.map(e=>[e,N(o,e,a)])),b=new Set(n.filter(e=>l.get(e).length>0||n.some(t=>l.get(t).includes(e)))),v=new Map,C=new Set,D=e=>{let t=v.get(e);if(t!==void 0)return t;if(C.has(e))return-1;C.add(e);let s=0;for(let c of l.get(e))s=Math.max(s,D(c)+1);return C.delete(e),v.set(e,s),s};for(let e of n)b.has(e)&&D(e);let f=[];for(let e of n)b.has(e)&&(f[v.get(e)]??=[]).push(e);let I=new Map,T=Math.max(1,Math.ceil(Math.sqrt(f.length))),H=Math.max(1,...f.map(e=>e?.length??0)),w=Math.max(P,Math.round(r.pitch??P)),R=(e,t)=>r.upright?{col:e%T*w,row:(Math.floor(e/T)*(H+1)+t)*w}:{col:t*w,row:e===0?0:-e*w},$=e=>!g.some(t=>V(t,e)),S=(e,t,s)=>{let c=s;for(;!$(R(t,c))&&c<s+64;)c++;return i.has(e)||h(e,R(t,c).col,R(t,c).row),c},x=0;f.forEach((e=[],t)=>{let s=u=>{let m=l.get(u).map(p=>I.get(p)).filter(p=>p!==void 0);return m.length>0?m.reduce((p,q)=>p+q,0)/m.length:1/0},c=[...e].sort((u,m)=>s(u)-s(m)||d(u)-d(m)),y=0;for(let u of c)i.has(u)||(y=S(u,t,y),I.set(u,y),x=Math.max(x,y+1),y++)});let j=n.filter(e=>!b.has(e)&&!i.has(e)),M=Math.max(r.upright?x:f.length,Math.ceil(Math.sqrt(j.length*2)),1),E=b.size>0?1:0;return j.forEach((e,t)=>{r.upright?S(e,f.length+E+Math.floor(t/M),t%M):S(e,t%M,x+E+Math.floor(t/M))}),i}function V(o,r){return Math.abs(o.col-r.col)<A&&Math.abs(o.row-r.row)<A}function X(o,r,a,n=.5){return{x:(o-r)*a/2,y:(o+r)*a*n/2}}var G=1,B=/^(done|completed?|closed|finished|shipped|sent|won|lost|passed|declined|dropped|answered|resolved|fixed|archived|cancell?ed|retired|released|published|delivered|paid|merged|rejected|written[-_ ]?up|out)$/i,F=/^(doing|in[-_ ]?progress|active|building|started|working|in[-_ ]?review|review(ing)?|fixing|ongoing|underway|testing|drafting|writing|running)$/i;function _(o,r,a){let n=O(o.tryDefinition(r)?.fields.shape?.[a]);for(;n&&n.innerType!==void 0&&n.type!=="enum";)n=O(n.innerType);if(n?.type!=="enum")return;let d=(n.entries?Object.values(n.entries):n.values??[]).filter(i=>typeof i=="string");return d.length>0?d:void 0}function J(o,r){let a=o.tryDefinition(r);if(!a)return;let n=a.lifecycle,d=Object.keys(a.fields.shape??{}),i=[n?.field,...d.filter(l=>/^(status|stage|state|phase)$/i.test(l))].find(l=>l!==void 0&&_(o,r,l)!==void 0);if(!i)return;let g=_(o,r,i),h=n?.field===i&&Array.isArray(n.retired)?n.retired:[];return{field:i,values:g,tiers:g.map(l=>h.includes(l)||B.test(l)?"done":F.test(l)?"active":"waiting")}}export{P as a,W as b,X as c,G as d,J as e};
@@ -5,72 +5,72 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Graview preview</title>
7
7
  <link rel="preload" href="/graview/document" as="fetch" crossorigin="anonymous">
8
- <link rel="modulepreload" href="/chunk.6LXIEM6B.js">
9
- <link rel="modulepreload" href="/chunk.LLIURXFP.js">
10
- <link rel="modulepreload" href="/chunk.SSF47GUY.js">
11
- <link rel="modulepreload" href="/chunk.PAGEGBUD.js">
12
- <link rel="modulepreload" href="/chunk.72XP2ARZ.js">
8
+ <link rel="modulepreload" href="/chunk.UDHPMVC4.js">
9
+ <link rel="modulepreload" href="/chunk.JQ2WNKDW.js">
10
+ <link rel="modulepreload" href="/chunk.FPHRAO3R.js">
11
+ <link rel="modulepreload" href="/chunk.LVOTLGJB.js">
12
+ <link rel="modulepreload" href="/chunk.5AKZROMR.js">
13
13
  <link rel="modulepreload" href="/chunk.Q5WEOX3Q.js">
14
- <link rel="modulepreload" href="/chunk.4AC2QM7T.js">
15
- <link rel="modulepreload" href="/chunk.OEIWIZCP.js">
16
- <link rel="modulepreload" href="/chunk.U3HERHAI.js">
17
- <link rel="modulepreload" href="/chunk.FBILPNGH.js">
18
- <link rel="modulepreload" href="/chunk.MODLZJD4.js">
14
+ <link rel="modulepreload" href="/chunk.6N4PE3U5.js">
15
+ <link rel="modulepreload" href="/chunk.RG5G6YQD.js">
16
+ <link rel="modulepreload" href="/chunk.QNP5OR3P.js">
17
+ <link rel="modulepreload" href="/chunk.4W57E7AX.js">
18
+ <link rel="modulepreload" href="/chunk.A5PSEU3W.js">
19
19
  <link rel="modulepreload" href="/chunk.SDO3U72B.js">
20
- <link rel="modulepreload" href="/chunk.6HY6ZGEE.js">
20
+ <link rel="modulepreload" href="/chunk.ZEZUKRC6.js">
21
21
  <link rel="modulepreload" href="/chunk.FQLNBIQ5.js">
22
22
  <link rel="modulepreload" href="/chunk.AJZBJBMO.js">
23
- <link rel="modulepreload" href="/chunk.VT2YGDK2.js">
24
- <link rel="modulepreload" href="/chunk.OMT4QUZY.js">
25
- <link rel="modulepreload" href="/chunk.ANS2IEEV.js">
26
- <link rel="modulepreload" href="/chunk.XMQG2PSM.js">
27
- <link rel="modulepreload" href="/chunk.45JP6VGJ.js">
23
+ <link rel="modulepreload" href="/chunk.I3SDKMQS.js">
24
+ <link rel="modulepreload" href="/chunk.QXLJGHMC.js">
25
+ <link rel="modulepreload" href="/chunk.DZMIYEHQ.js">
26
+ <link rel="modulepreload" href="/chunk.3GNT5MKP.js">
27
+ <link rel="modulepreload" href="/chunk.AJMVRFYX.js">
28
28
  <link rel="modulepreload" href="/chunk.Q355UPFG.js">
29
- <link rel="modulepreload" href="/chunk.OO2OP76C.js">
30
- <link rel="modulepreload" href="/chunk.BFAFCVL4.js">
31
- <link rel="modulepreload" href="/chunk.LGRVEHXT.js">
32
- <link rel="modulepreload" href="/chunk.CTASTRQN.js">
33
- <link rel="modulepreload" href="/chunk.QQAZQDRW.js">
34
- <link rel="modulepreload" href="/chunk.72ZCLEQC.js">
35
- <link rel="modulepreload" href="/chunk.ONYBW45K.js">
36
- <link rel="modulepreload" href="/chunk.2VR7YEJ6.js">
37
- <link rel="modulepreload" href="/chunk.FXT5CN32.js">
38
- <link rel="modulepreload" href="/chunk.WVLEGCRI.js">
39
- <link rel="modulepreload" href="/chunk.LETAQTLJ.js">
40
- <link rel="modulepreload" href="/chunk.BUVTUAB5.js">
29
+ <link rel="modulepreload" href="/chunk.GMLONS5L.js">
30
+ <link rel="modulepreload" href="/chunk.264PB572.js">
31
+ <link rel="modulepreload" href="/chunk.6NG76MDA.js">
32
+ <link rel="modulepreload" href="/chunk.35KMZHB7.js">
33
+ <link rel="modulepreload" href="/chunk.IAEGJDF3.js">
34
+ <link rel="modulepreload" href="/chunk.YZPESGCP.js">
35
+ <link rel="modulepreload" href="/chunk.SY5ID44D.js">
36
+ <link rel="modulepreload" href="/chunk.GVT4UUQA.js">
37
+ <link rel="modulepreload" href="/chunk.5R744JGZ.js">
38
+ <link rel="modulepreload" href="/chunk.O2OL6RQQ.js">
39
+ <link rel="modulepreload" href="/chunk.J6HF7IRQ.js">
40
+ <link rel="modulepreload" href="/chunk.LRNFE3UK.js">
41
41
  <link rel="modulepreload" href="/chunk.MB7LKKUD.js">
42
- <link rel="modulepreload" href="/chunk.U6TEW6YD.js">
43
- <link rel="modulepreload" href="/chunk.FK722SHI.js">
44
- <link rel="modulepreload" href="/chunk.7VP6Y6D2.js">
45
- <link rel="modulepreload" href="/chunk.WSO7JOW5.js">
46
- <link rel="modulepreload" href="/chunk.XOE4KNP2.js">
47
- <link rel="modulepreload" href="/chunk.W53YNBSM.js">
48
- <link rel="modulepreload" href="/chunk.2KFZHUAC.js">
49
- <link rel="modulepreload" href="/chunk.V5I4GZEY.js">
50
- <link rel="modulepreload" href="/chunk.V7W5AQKL.js">
42
+ <link rel="modulepreload" href="/chunk.T2OUHRAA.js">
43
+ <link rel="modulepreload" href="/chunk.GRFD42WM.js">
44
+ <link rel="modulepreload" href="/chunk.EP6Q32WT.js">
45
+ <link rel="modulepreload" href="/chunk.QAM76AXV.js">
46
+ <link rel="modulepreload" href="/chunk.Z27NSSYL.js">
47
+ <link rel="modulepreload" href="/chunk.PZ7KY6XH.js">
48
+ <link rel="modulepreload" href="/chunk.WEMUKZKH.js">
49
+ <link rel="modulepreload" href="/chunk.T27QKVKP.js">
50
+ <link rel="modulepreload" href="/chunk.LP2ZMAT2.js">
51
51
  <link rel="modulepreload" href="/chunk.BJUUSIQY.js">
52
- <link rel="modulepreload" href="/chunk.EMFOMSMI.js">
53
- <link rel="modulepreload" href="/chunk.QOS5T46W.js">
52
+ <link rel="modulepreload" href="/chunk.MSAYU25L.js">
53
+ <link rel="modulepreload" href="/chunk.EGPCVMDU.js">
54
54
  <link rel="modulepreload" href="/chunk.XOZU4OFA.js">
55
- <link rel="modulepreload" href="/chunk.GME63ZHI.js">
55
+ <link rel="modulepreload" href="/chunk.H3EGBDW2.js">
56
56
  <link rel="modulepreload" href="/chunk.WVUJXDXZ.js">
57
- <link rel="modulepreload" href="/chunk.I2737CPF.js">
58
- <link rel="modulepreload" href="/chunk.NJRLJEJY.js">
59
- <link rel="modulepreload" href="/chunk.CVPMSPCH.js">
60
- <link rel="modulepreload" href="/chunk.OTV5XTBB.js">
61
- <link rel="modulepreload" href="/chunk.KBPJ7X7W.js">
57
+ <link rel="modulepreload" href="/chunk.DWM7AR5Y.js">
58
+ <link rel="modulepreload" href="/chunk.6KJGRM7A.js">
59
+ <link rel="modulepreload" href="/chunk.WALVW3KJ.js">
60
+ <link rel="modulepreload" href="/chunk.SNHKYH72.js">
61
+ <link rel="modulepreload" href="/chunk.UGQYMN4J.js">
62
62
  <link rel="modulepreload" href="/chunk.MIE4TJRW.js">
63
- <link rel="modulepreload" href="/chunk.5LJVOLKR.js">
64
- <link rel="modulepreload" href="/chunk.OJGHDWI6.js">
65
- <link rel="modulepreload" href="/chunk.OWFS2YDQ.js">
66
- <link rel="modulepreload" href="/chunk.WSDJPXJD.js">
67
- <link rel="modulepreload" href="/chunk.F4VB6Q2W.js">
68
- <link rel="modulepreload" href="/chunk.FFOD5B4B.js">
69
- <link rel="modulepreload" href="/chunk.Z7Y3R3YR.js">
70
- <link rel="modulepreload" href="/chunk.YXEO3Y65.js">
71
- <link rel="modulepreload" href="/chunk.E4VRRWFP.js">
72
- <link rel="modulepreload" href="/chunk.DZFM6GSY.js">
73
- <script>(()=>{const later=["/chunk.GAFMWOME.js","/chunk.FDZE5LTJ.js","/chunk.DPJNGFEZ.js","/chunk.YNEHJWJV.js","/chunk.HJCQ6I3S.js","/chunk.OJY7VJ7D.js","/chunk.GEFXU4VO.js","/chunk.FIFUMX5X.js","/chunk.BIDL7GQD.js","/chunk.4FCFNAA4.js","/chunk.JXNVNFV4.js","/chunk.K6DFXDPZ.js","/chunk.E3UL4MCD.js","/chunk.CBXS23YH.js","/chunk.QU52E5RG.js","/chunk.7VADSNPZ.js","/chunk.U5P23GO7.js","/chunk.6EHHMWPP.js","/chunk.TXHYGFIZ.js","/chunk.WAB3L3ZI.js","/chunk.CU2WCYMK.js"],first=[...document.querySelectorAll('link[rel="modulepreload"]')];let left=first.length;const go=()=>{for(const href of later){const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};if(left===0)return go();const one=()=>{if(--left===0)go()};for(const link of first){link.addEventListener("load",one,{once:true});link.addEventListener("error",one,{once:true})}})()</script>
63
+ <link rel="modulepreload" href="/chunk.QRQ5WPZI.js">
64
+ <link rel="modulepreload" href="/chunk.RD2FSSLV.js">
65
+ <link rel="modulepreload" href="/chunk.37RFCHSS.js">
66
+ <link rel="modulepreload" href="/chunk.SO6NT5K7.js">
67
+ <link rel="modulepreload" href="/chunk.MUSMNKE4.js">
68
+ <link rel="modulepreload" href="/chunk.SJQPTDAT.js">
69
+ <link rel="modulepreload" href="/chunk.JQ63N4MZ.js">
70
+ <link rel="modulepreload" href="/chunk.Z3O2VZAJ.js">
71
+ <link rel="modulepreload" href="/chunk.JKFVNQY7.js">
72
+ <link rel="modulepreload" href="/chunk.JU6UFWS3.js">
73
+ <script>(()=>{const later=["/chunk.NXZL5CA2.js","/chunk.STPA7HBK.js","/chunk.DEKRFTRN.js","/chunk.BKYZSV2Y.js","/chunk.HJCQ6I3S.js","/chunk.YCD4JSXD.js","/chunk.ZG5VGP5U.js","/chunk.URQTF5SY.js","/chunk.BIDL7GQD.js","/chunk.6SJEZWH3.js","/chunk.B7KZBT27.js","/chunk.3ZODN6BW.js","/chunk.BDNQMKDG.js","/chunk.7BJRHPE3.js","/chunk.NKYWIGC7.js","/chunk.6UQFV53C.js","/chunk.U5P23GO7.js","/chunk.HJUZMOW2.js","/chunk.NAXOXBOF.js","/chunk.6W6XMLSF.js","/chunk.ARWO4WOV.js"],first=[...document.querySelectorAll('link[rel="modulepreload"]')];let left=first.length;const go=()=>{for(const href of later){const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};if(left===0)return go();const one=()=>{if(--left===0)go()};for(const link of first){link.addEventListener("load",one,{once:true});link.addEventListener("error",one,{once:true})}})()</script>
74
74
  <style>html,body{margin:0;height:100%}#graview-app{min-height:100dvh}</style>
75
75
  </head>
76
76
  <body>
@@ -1,2 +1,2 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as _t,b as sr,c as cr,d as dr,e as lr,f as Wt,g as ur,h as Dt}from"./chunk.6LXIEM6B.js";import{a as lo}from"./chunk.LLIURXFP.js";import{a as fr,b as pr,c as qt,d as mr,e as zt,f as yr,g as gr,h as wr,i as Gt,j as vr,k as br,l as Sr,m as Ar,n as Pr,o as Rr,p as Er,q as kr,r as Tr,s as xr,t as Fr,u as Ye}from"./chunk.SSF47GUY.js";import{b as hr}from"./chunk.PAGEGBUD.js";import{c as jt}from"./chunk.72XP2ARZ.js";import{a as Ft}from"./chunk.Q5WEOX3Q.js";import{b as Ot,i as Mn}from"./chunk.4AC2QM7T.js";import{k as ct}from"./chunk.OEIWIZCP.js";import{C as It,F as rr,K as or,O as ar,P as ir,k as Qn,n as Zn,o as Xn,p as $t,q as er,s as tr,w as nr}from"./chunk.U3HERHAI.js";import{c as co}from"./chunk.FBILPNGH.js";import{Ba as Dn,Ca as jn,Da as qn,Ea as zn,Fa as Gn,G as Nn,Ha as Un,Ia as Kn,Ka as Jn,La as Vt,Oa as Yn,Ra as ut,W as Vn,a as Bn,aa as $n,b as dt,c as lt,j as Hn,ja as In,ka as _n,m as Nt,ma as Wn}from"./chunk.MODLZJD4.js";import{a as Be}from"./chunk.SDO3U72B.js";import{Ae as Ln,Be as Ht,Ed as En,Fb as Sn,Fd as kn,Nd as Tn,Ob as An,Pd as xn,Qb as Pn,Qd as Fn,Sd as st,mb as qe,oe as Te,pe as On,qe as Cn,ve as Lt,we as Mt,xb as it,xc as Ct,xe as Bt,yc as Rn}from"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import{b as je}from"./chunk.AJZBJBMO.js";async function ft(t,r={}){let o=t.compiled===void 0||!fo(t.compiled,t.document)?void 0:Mn(t.compiled,r);if(o?.ok)return o;let{compileDocumentWithoutCheck:i}=await uo();return i(t.document,r)}var Or,uo=()=>Or??=(__graviewPreload(import.meta.url,["./chunk.4FCFNAA4.js","./chunk.4AC2QM7T.js","./chunk.CVPMSPCH.js","./chunk.KBPJ7X7W.js","./chunk.OEIWIZCP.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.TA36WBHK.js")).catch(t=>{throw Or=void 0,t});function fo(t,r){let o=typeof t=="object"&&t!==null?t.document:void 0,i=r;if(typeof i=="string")try{i=JSON.parse(i)}catch{return!1}return o!==void 0&&Ft(Ot(o).document)===Ft(Ot(i).document)}var d=je(Nn(),1);var mt=je(Nn(),1),Ut="data-graview-drawn",po=200,Cr=50,mo=1e4,pt=()=>typeof performance<"u"?performance.now():Date.now();function ho(t){let r=[...t.querySelectorAll("img")];for(let o of t.querySelectorAll("[data-worker-view]"))o.shadowRoot&&r.push(...o.shadowRoot.querySelectorAll("img"));return r}function yo(t,r){if(t.ownerDocument.fonts?.status==="loading"||Dn()>0||Gn(r)>0||t.querySelector('[aria-busy="true"]')||ho(t).some(i=>!i.complete&&i.loading!=="lazy"))return!1;for(let i of t.querySelectorAll("[data-worker-view-place]"))if(!i.querySelector("[data-worker-view][data-worker-view-drawn], [data-worker-view][data-worker-view-failed]"))return!1;return!0}function Lr(t){let r=t.querySelector("[data-embed-content]"),o=[...t.querySelectorAll("[data-worker-view]")].map(i=>`${i.offsetWidth}x${i.offsetHeight}`);return`${t.scrollWidth}x${t.scrollHeight}|${r?`${r.scrollWidth}x${r.scrollHeight}`:""}|${o.join(",")}`}function go(t,r,o,i){t.removeAttribute(Ut);let l=t.ownerDocument.defaultView;if(!l)return()=>{};let p=pt(),c=p,b=Lr(t),h=!1,k,F=typeof MutationObserver>"u"?void 0:new MutationObserver(x=>{x.some(O=>!(O.target===t&&O.attributeName===Ut))&&(c=pt())});F?.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0});let I=()=>{h=!0,F?.disconnect(),k!==void 0&&clearTimeout(k)},S=x=>{let O=!1,re=()=>{O||(O=!0,x())};typeof l.requestAnimationFrame=="function"&&l.requestAnimationFrame(()=>setTimeout(re,0)),setTimeout(re,100)},T=()=>{if(h)return;let x=Lr(t);x!==b&&(b=x,c=pt());let O=pt();if(yo(t,i)&&O-c>=po||O-p>=mo){S(()=>{h||(I(),t.setAttribute(Ut,r),Kn(),o())});return}k=setTimeout(T,Cr)};return k=setTimeout(T,Cr),I}function Mr(t,r,o,i,l){Un();let p=(0,mt.useRef)({place:o,onDrawn:i});p.current={place:o,onDrawn:i},(0,mt.useLayoutEffect)(()=>{l&&zn(l);let c=k=>go(k,p.current.place.path,()=>p.current.onDrawn?.(p.current.place),l);if(t.current)return c(t.current);let b,h=!1;return queueMicrotask(()=>{!h&&t.current&&(b=c(t.current))}),()=>{h=!0,b?.()}},[r,t,l])}var Nr=je(lo(),1);var C=je(co(),1);var w=je(Vn(),1);function ht(t,r={}){let o=Vt(t);return{Face:o.part((l,p)=>(0,d.createElement)(l,p),r),fetch:()=>o.load().then(()=>{}),here:()=>o.current!==void 0||o.failed}}var Yt=t=>Promise.all([t,ar()]).then(([r])=>r),Vr=Be(()=>(__graviewPreload(import.meta.url,["./chunk.OO2OP76C.js","./chunk.CTASTRQN.js","./chunk.DPJNGFEZ.js","./chunk.72ZCLEQC.js","./chunk.2VR7YEJ6.js","./chunk.LETAQTLJ.js","./chunk.BUVTUAB5.js","./chunk.HJCQ6I3S.js","./chunk.OJY7VJ7D.js","./chunk.GEFXU4VO.js","./chunk.QU52E5RG.js","./chunk.7VADSNPZ.js","./chunk.FK722SHI.js","./chunk.U5P23GO7.js","./chunk.6EHHMWPP.js","./chunk.TXHYGFIZ.js","./chunk.WAB3L3ZI.js","./chunk.W53YNBSM.js","./chunk.2KFZHUAC.js","./chunk.V5I4GZEY.js","./chunk.FIFUMX5X.js","./chunk.BIDL7GQD.js","./chunk.V7W5AQKL.js","./chunk.EMFOMSMI.js","./chunk.QOS5T46W.js","./chunk.SSF47GUY.js","./chunk.PAGEGBUD.js","./chunk.Q5WEOX3Q.js","./chunk.4FCFNAA4.js","./chunk.4AC2QM7T.js","./chunk.JXNVNFV4.js","./chunk.CVPMSPCH.js","./chunk.OTV5XTBB.js","./chunk.KBPJ7X7W.js","./chunk.OEIWIZCP.js","./chunk.MIE4TJRW.js","./chunk.5LJVOLKR.js","./chunk.OJGHDWI6.js","./chunk.OWFS2YDQ.js","./chunk.WSDJPXJD.js","./chunk.F4VB6Q2W.js","./chunk.FFOD5B4B.js","./chunk.Z7Y3R3YR.js","./chunk.YXEO3Y65.js","./chunk.U3HERHAI.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.C2C3AXGI.js"))),wo=Be(()=>(__graviewPreload(import.meta.url,["./chunk.OMT4QUZY.js","./chunk.ANS2IEEV.js","./chunk.XMQG2PSM.js","./chunk.45JP6VGJ.js","./chunk.Q355UPFG.js","./chunk.OO2OP76C.js","./chunk.BFAFCVL4.js","./chunk.LGRVEHXT.js","./chunk.CTASTRQN.js","./chunk.QQAZQDRW.js","./chunk.72ZCLEQC.js","./chunk.ONYBW45K.js","./chunk.2VR7YEJ6.js","./chunk.FXT5CN32.js","./chunk.WVLEGCRI.js","./chunk.LETAQTLJ.js","./chunk.BUVTUAB5.js","./chunk.MB7LKKUD.js","./chunk.U6TEW6YD.js","./chunk.FK722SHI.js","./chunk.7VP6Y6D2.js","./chunk.WSO7JOW5.js","./chunk.XOE4KNP2.js","./chunk.W53YNBSM.js","./chunk.2KFZHUAC.js","./chunk.V5I4GZEY.js","./chunk.V7W5AQKL.js","./chunk.BJUUSIQY.js","./chunk.EMFOMSMI.js","./chunk.QOS5T46W.js","./chunk.XOZU4OFA.js","./chunk.GME63ZHI.js","./chunk.WVUJXDXZ.js","./chunk.I2737CPF.js","./chunk.NJRLJEJY.js","./chunk.CVPMSPCH.js","./chunk.OTV5XTBB.js","./chunk.KBPJ7X7W.js","./chunk.OEIWIZCP.js","./chunk.MIE4TJRW.js","./chunk.5LJVOLKR.js","./chunk.OJGHDWI6.js","./chunk.OWFS2YDQ.js","./chunk.WSDJPXJD.js","./chunk.F4VB6Q2W.js","./chunk.FFOD5B4B.js","./chunk.Z7Y3R3YR.js","./chunk.YXEO3Y65.js","./chunk.U3HERHAI.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.VT2YGDK2.js"))),vo=Be(()=>(__graviewPreload(import.meta.url,["./chunk.OMT4QUZY.js","./chunk.ANS2IEEV.js","./chunk.XMQG2PSM.js","./chunk.45JP6VGJ.js","./chunk.Q355UPFG.js","./chunk.OO2OP76C.js","./chunk.BFAFCVL4.js","./chunk.LGRVEHXT.js","./chunk.CTASTRQN.js","./chunk.QQAZQDRW.js","./chunk.72ZCLEQC.js","./chunk.ONYBW45K.js","./chunk.2VR7YEJ6.js","./chunk.FXT5CN32.js","./chunk.WVLEGCRI.js","./chunk.LETAQTLJ.js","./chunk.BUVTUAB5.js","./chunk.MB7LKKUD.js","./chunk.U6TEW6YD.js","./chunk.FK722SHI.js","./chunk.7VP6Y6D2.js","./chunk.WSO7JOW5.js","./chunk.XOE4KNP2.js","./chunk.W53YNBSM.js","./chunk.2KFZHUAC.js","./chunk.V5I4GZEY.js","./chunk.V7W5AQKL.js","./chunk.BJUUSIQY.js","./chunk.EMFOMSMI.js","./chunk.QOS5T46W.js","./chunk.XOZU4OFA.js","./chunk.GME63ZHI.js","./chunk.WVUJXDXZ.js","./chunk.I2737CPF.js","./chunk.NJRLJEJY.js","./chunk.CVPMSPCH.js","./chunk.OTV5XTBB.js","./chunk.KBPJ7X7W.js","./chunk.OEIWIZCP.js","./chunk.MIE4TJRW.js","./chunk.5LJVOLKR.js","./chunk.OJGHDWI6.js","./chunk.OWFS2YDQ.js","./chunk.WSDJPXJD.js","./chunk.F4VB6Q2W.js","./chunk.FFOD5B4B.js","./chunk.Z7Y3R3YR.js","./chunk.YXEO3Y65.js","./chunk.U3HERHAI.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.EUAO4QNV.js"))),$r=ht(()=>Yt(Vr().then(t=>t.SceneFace)),{what:"This view"}),Ir=ht(()=>Vr().then(t=>t.SceneKeeping),{quiet:!0}),_r=ht(()=>Yt(wo().then(t=>t.PagesContent)),{what:"This page"}),Wr=ht(()=>Yt(vo().then(t=>t.PictureFace)),{what:"This picture"}),bo=$r.Face,So=Ir.Face,Ao=_r.Face,Po=Wr.Face;jt(Be(()=>(__graviewPreload(import.meta.url,["./chunk.CEVGND3Y.js","./chunk.CEQQIW7Z.js","./chunk.DQFHIJFN.js","./chunk.BFAFCVL4.js","./chunk.32SHA3EY.js","./chunk.GG47EIKO.js","./chunk.NYLKG25K.js","./chunk.DTCAUPLC.js","./chunk.PDDIQ6PK.js","./chunk.3PBTN7RO.js","./chunk.QDVGHI7R.js","./chunk.6P6NGZ6D.js","./chunk.M5FP4Y4Q.js","./chunk.RSMCTI2N.js","./chunk.FIFUMX5X.js","./chunk.V7W5AQKL.js","./chunk.JXNVNFV4.js","./chunk.F4VB6Q2W.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.BXBEGMPO.js"))));function He(...t){let r=t.length>0?t:["scene","pages","picture"],o=new Set(r.flatMap(Dr));return Promise.all([...[...o].map(i=>i.fetch()),tr()]).then(()=>{},()=>{})}var Dr=t=>t==="pages"?[_r]:t==="picture"?[Wr]:[$r,Ir],jr=t=>Dr(t).every(r=>r.here()),Ro=150,Kt=0;function Br(t,r){if(jr(t))return r();let o=++Kt,i=()=>{o===Kt&&(Kt+=1,r())};He(t).then(i),setTimeout(i,Ro)}var Eo=768;function ko(t,r){let o=r!==null&&r>=Eo;(0,d.useEffect)(()=>{if(!o||t==="picture")return;let i=t==="pages"?"scene":"pages";if(jr(i))return;let l=globalThis,p=()=>void He(i),c=()=>{},b=Jn(()=>{if(l.requestIdleCallback&&l.cancelIdleCallback){let h=l.requestIdleCallback(p,{timeout:4e3});c=()=>l.cancelIdleCallback?.(h)}else{let h=setTimeout(p,1500);c=()=>clearTimeout(h)}});return()=>(b(),c())},[t,o])}function To({asked:t,shown:r,onDrawn:o}){return(0,d.useLayoutEffect)(()=>o(t,r),[t,r,o]),null}function xo({auto:t,scene:r}){return(0,w.jsx)("div",{"data-embed-content":"","aria-busy":"true",style:{flex:t?r?`0 0 ${Gt}px`:"0 0 auto":"1 1 auto",minHeight:0,background:"var(--graview-ground)"}})}var Fo=Vt(Be(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.5JNXQHN4.js")))).part((t,r)=>(0,w.jsx)(t.StudioPlace,{...r}),{quiet:!0});function qr(t,r,o,i,l){return Wt(t,lr(r?lt(r):l??Bn,i),o)}function Qt(t){return t&&lt(t).overview?"graview":"scene"}function Hr(t,r){if(r.homeView?.()===void 0)return!1;let o=t.pages?.first?.trim();return o===void 0||o===""||o==="/"||o.toLowerCase()==="home"}function zr(t){let[,r]=(0,d.useState)(!1),o=(0,d.useCallback)(()=>r(!0),[]),i=(0,d.useRef)(!1);return t.at&&!yt?(0,w.jsx)(qt,{onReady:o,fetch:Zt}):!i.current&&pr(t.draftView)?(0,w.jsx)(qt,{onReady:o,fetch:fr}):(i.current=!0,(0,w.jsx)(Oo,{...t}))}function Oo(t){let{app:r,stop:o,bar:i=!0,standing:l="Everything is in order",principal:p,heading:c=2}=t,{rootRef:b,scope:h,css:k,scheme:F,store:I,presence:S,brand:T,auto:x,height:O}=vr(t),re=mr(t.draftView),E=gr(t,ir,re.over),[de]=(0,d.useState)(qn),u=t.basePath===void 0?{}:{basePath:t.basePath},[V]=(0,d.useState)($t),$=t.notices??V,z=g=>Lt(g,u),ae={...t.routing?{routing:t.routing}:{},...u},[ie]=(0,d.useState)(()=>{let g=t.at?.face;if(g)return g;let Z=o===void 0&&Hr(r,E)?"pages":Qt(o),J=_t({...ae,face:Z});return t.face===void 0&&t.onOpening?.(J),J}),[ve,H]=(0,d.useState)(()=>t.face!==void 0&&t.face!=="pages"&&!t.at&&o===void 0&&sr(ae)&&Hr(r,E)),be=(0,d.useRef)(t.onFace);be.current=t.onFace,(0,d.useLayoutEffect)(()=>{ve&&(be.current?.("pages"),H(!1))},[ve]);let P=ve?"pages":t.face??ie,R=r.schema.kinds,N=t.routing==="address",Se=(0,d.useMemo)(()=>t.at?yt.settleAt(t,I.seenBy(p??{kind:"human"}),E.places()):void 0,[]),L=(0,d.useMemo)(()=>_n(E,r.schema),[E,r.schema]),pe=(0,d.useMemo)(()=>{let g=Se?.stop??(N?cr(t.basePath):void 0)??o;return P==="scene"&&g===void 0&&L===void 0&&(t.path===void 0||Jt(t.path))?Dt(void 0):qr(P,g,R,E.places(),L)},[]),[_]=(0,d.useState)(P);(0,d.useEffect)(()=>{_!=="pages"&&In(E)},[_,E]);let M=(0,d.useRef)(void 0),j=g=>g===void 0||Jt(g)?"/":g;M.current??={path:j(Se?.path??(N?P==="pages"?(Mt(window.location.pathname,t.basePath)??"/")+window.location.search:"/":t.path)),asked:t.path},t.path!==M.current.asked&&(M.current={path:j(t.path),asked:t.path});let X=(0,d.useRef)(t.onNavigate);X.current=t.onNavigate;let Fe=(0,d.useCallback)((g,Z)=>{M.current.path=g,X.current?.(g,Z)},[]),{at:me,setAt:D,steering:G,steer:oe}=Tr(M.current.path),B=(0,d.useContext)(Gr);B&&(B.pages=()=>M.current.path);let[Ne]=(0,d.useState)(()=>({})),Y=B??Ne,se=(0,d.useMemo)(()=>Zn($),[$]),q=(0,d.useRef)(void 0),Ae=(0,d.useCallback)(g=>void(M.current.path=g),[]),U=Qn(b),[Oe,Pe]=(0,d.useState)(!1),Ve=t.pagesBelow!==void 0&&U!==null&&U<t.pagesBelow&&(P==="scene"||P==="graview")&&!Oe,v=Ve?"pages":P,he=(0,d.useRef)(!1);he.current=Oe&&t.pagesBelow!==void 0&&U!==null&&U<t.pagesBelow&&(P==="scene"||P==="graview"),B&&(B.shown=v);let Ce=(0,d.useRef)(P==="graview"?"graview":"scene");(v==="scene"||v==="graview")&&(Ce.current=v),(0,d.useState)(()=>{if(!N||typeof window>"u"||v==="pages"||v==="picture")return;let{pathname:g,search:Z,hash:J}=window.location;Mt(g,t.basePath)==="/"&&window.history.replaceState(window.history.state,"",`${z(Te)}${Z}${J}`)}),wr(b,v,t.onIntrinsicHeight),ko(v,U);let ee=xr(t.onError,v),Le=Fr(t.onReady,v),Re=(0,d.useRef)(t.onFaceDrawn);Re.current=t.onFaceDrawn;let Ze=(0,d.useCallback)((g,Z)=>{Le(Z),Re.current?.(g)},[Le]),[$e,St]=(0,d.useState)(null),Xe=E.places(),Ie=(0,d.useRef)({shown:v,onFace:t.onFace});Ie.current={shown:v,onFace:t.onFace};let W=(0,d.useCallback)((g,Z,J)=>{if(N){q.current?.(g,Z,J);return}Ie.current.onFace?.(g),X.current?.(g==="pages"?Z??M.current.path:Te,"push")},[N]),[ye,K]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{v==="pages"&&K(void 0)},[v]);let _e=(0,d.useRef)(o);(0,d.useEffect)(()=>{_e.current!==o&&(_e.current=o,K(void 0))},[o]);let Ee=(0,d.useCallback)(g=>{if(Ie.current.shown==="pages"){if(Pe(!0),K(g),P==="scene"||P==="graview"){Br(P,()=>{N?window.history.pushState(null,"",`${z(Te)}${g??""}`):X.current?.(Te,"push")});return}Br(Ce.current,()=>W(Ce.current,void 0,g))}},[N,P,t.basePath,W]),Me=(0,d.useCallback)(g=>{if(Ie.current.shown==="pages"){G.go.current||(M.current.path=g),oe(g);return}if(M.current.path=g,D(g),he.current){Pe(!1),N?window.history.pushState(null,"",z(g)):X.current?.(g,"push");return}W("pages",g)},[G,oe,D,W,N,t.basePath]),Ke=E.arrangement?.(),le=v==="pages",ke=t.hrefOf,We=ke??(N?z:void 0),Q=(0,d.useMemo)(()=>({open:Me,...ke?{href:ke}:N?{href:g=>Lt(g,t.basePath===void 0?{}:{basePath:t.basePath})}:{}}),[Me,N,t.basePath,ke]);return(0,w.jsxs)("section",{ref:b,className:h,"aria-label":t.label??r.name,"data-graview-embed":v,"data-graview-scheme":F,...Ve?{"data-graview-embed-narrow":""}:{},style:{position:"relative",isolation:"isolate",height:O,minHeight:x?0:320,display:"flex",flexDirection:"column",overflow:"hidden",borderRadius:"var(--graview-radius, 12px)"},children:[(0,w.jsx)("style",{children:k}),(0,w.jsxs)(Yn.Provider,{value:ee,children:[(0,w.jsx)(br,{rootRef:b,board:$,onReport:t.onReport,where:()=>v==="pages"?Sr(me):v==="picture"?{place:"picture"}:Xn(Y.view?.focusId)}),(0,w.jsx)(yr,{rootRef:b,firstLook:t.firstLook,app:rr(T??{name:r.name},r.schema)}),(0,w.jsx)(Ye,{module:"@graview/react",report:ee,content:!0,children:(0,w.jsx)(jn.Provider,{value:de,children:(0,w.jsx)($n,{store:I,views:E,initialView:pe,scheme:F,...Ar(t,S,T),...t.onSeat?{onSeat:t.onSeat}:{},children:(0,w.jsxs)(er.Provider,{value:se,children:[(0,w.jsx)(Bo,{face:v,stop:ye??o,kinds:R,places:Xe,opens:L}),(0,w.jsx)(Co,{into:Y}),(0,w.jsx)(Lo,{rootRef:b,face:P,shown:v,path:me,stop:o,draft:re.n,onDrawn:t.onDrawn,parts:de}),N?(0,w.jsx)(dr,{pagesWere:Se?.path,basePath:t.basePath,shown:v,onFace:t.onFace,toggle:q,kinds:R,places:Xe,opens:L,landed:Ae}):null,i&&v!=="picture"?(0,w.jsx)(Ye,{module:"@graview/embed",report:ee,children:(0,w.jsx)(Pr,{name:T?.name??r.name,heading:c,named:zt(i).name!==!1,faces:zt(i).faces===!1?void 0:{scene:{label:On(Ke),current:!le,go:()=>Ee(),reach:()=>void He(Ce.current)},pages:{label:Cn(Ke),current:le,go:()=>Me(M.current.path),reach:()=>void He("pages")}},at:le?me:null,without:t.pages?.without(),home:{...We?.("/")!==void 0?{href:We("/")}:{},go:()=>Me("/"),current:le&&me.split("?")[0]==="/"},reach:{...We?{href:We}:{},go:g=>Me(g.path)},standing:l,hostActions:t.hostActions,barActions:t.barActions,appMenu:t.appMenu,schemeChoice:t.schemeChoice,share:t.share,keeping:le?void 0:(0,w.jsx)(Ho,{app:r,studio:t.studio,report:ee}),onFind:St})}):null,(0,w.jsx)(nr.Provider,{value:$e,children:(0,w.jsx)(Ye,{module:v==="pages"||v==="picture"?"@graview/pages":"@graview/react",report:ee,content:!0,children:(0,w.jsxs)(d.Suspense,{fallback:(0,w.jsx)(xo,{auto:x,scene:v!=="pages"&&v!=="picture"}),children:[v==="picture"?(0,w.jsx)(Po,{scope:h,store:I,views:E,as:(o?lt(o).within?.view:void 0)??""}):v==="pages"?(0,w.jsx)(Ao,{store:I,views:E,presence:S,auto:x,brand:T,steering:G,overview:Ee,scope:h,titleLevel:kr(c),quickAsk:It(t.quickAsk),props:{...t,onNavigate:Fe,...N?{}:{path:M.current.path}}}):(0,w.jsx)(Wn.Provider,{value:Q,children:(0,w.jsx)(bo,{address:N,auto:x,scheme:F,scope:h,quickAsk:It(t.quickAsk)})}),(0,w.jsx)(To,{asked:P,shown:v,onDrawn:Ze})]})},v)})]})})})})]})]})}var Jt=t=>t.split(/[?#]/)[0]===Te,Gr=(0,d.createContext)(null);function Co({into:t}){return t.view=ut().view,null}function Lo({rootRef:t,face:r,shown:o,path:i,stop:l,draft:p,onDrawn:c,parts:b}){let{view:h}=ut(),k=o==="scene"||o==="graview",F=dt(h),{pan:I,...S}=h,T=h.pan?dt(S):F,x={face:r,path:k?Te:o==="picture"?l??"#":i,stop:F};return Mr(t,`${o} ${k?T:x.path} ${p}`,x,c,b),null}var yt,Mo=Be(()=>(__graviewPreload(import.meta.url,["./chunk.6LXIEM6B.js","./chunk.U3HERHAI.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.IWYMKGZZ.js"))),Zt=()=>Mo().then(t=>void(yt=t),()=>new Promise(t=>{let r=()=>{window.removeEventListener("online",r),clearTimeout(o),t()},o=setTimeout(r,1e4);window.addEventListener("online",r)}).then(Zt));function Bo({face:t,stop:r,kinds:o,places:i,opens:l}){let{view:p,go:c}=ut(),b=(0,d.useRef)({face:t,stop:r});return(0,d.useLayoutEffect)(()=>{let h=b.current.stop!==r,k=b.current.face!==t,F=b.current.face==="pages";if(b.current={face:t,stop:r},!h&&!k||t==="pages"||t==="picture")return;let I=(h||F)&&r!==void 0?qr(t,r,o,i):F&&ur(p)?Wt(t,Dt(l),o):t==="graview"?Nt(p,!0):p.overview?Hn(Nt(p,!1),or(p,o)):p;c(I)},[t,r,o,p,c,l]),null}function Ho({app:t,studio:r,report:o}){return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(d.Suspense,{fallback:null,children:(0,w.jsx)(So,{})}),r!==!1?(0,w.jsx)(Ye,{module:"@graview/studio",report:o,children:(0,w.jsx)(No,{app:t,studio:r})}):null]})}function No({app:t,studio:r}){let o={app:t,within:"box",...r?{onApply:r.onApply}:{},...r?.landmark?{landmark:r.landmark}:{},...r?.offered!==void 0?{offered:r.offered}:{}},i=r?.place;return i?(0,w.jsx)(i,{...o}):(0,w.jsx)(d.Suspense,{fallback:null,children:(0,w.jsx)(Fo,{...o})})}function Vo({path:t,stop:r,...o},i){return{...o,app:i.app,at:i.at,remote:i.remote,...i.remote.presence?{presence:i.remote.presence}:{}}}function Xt(t,r){let o=r.store??r.remote?.store??hr(r.app,r.seed),i=r.notices??$t(),l=null,p={},c=0,b=r.label,h=r.app,k=Promise.resolve(),F=r.at?.face??r.face,I=F===void 0?void 0:_t({...r,face:F}),S=I??Qt(r.stop),T=null,x=[],O=u=>{if(T=u,u!==S)return;let V=x;x=[];for(let $ of V)$()};function re(){let[u,V]=(0,d.useState)(I),[$,z]=(0,d.useState)(r.stop),[ae,ie]=(0,d.useState)(r.path),[ve,H]=(0,d.useState)(r.scheme??"auto"),[be,P]=(0,d.useState)(r.principal),[R,N]=(0,d.useState)(r.seats),[Se,L]=(0,d.useState)(r.quickAsk),[pe,_]=(0,d.useState)(r.people),[M,j]=(0,d.useState)(r.hostContext),[X,Fe]=(0,d.useState)(r.brand),[me,D]=(0,d.useState)(r.whileAway),[G,oe]=(0,d.useState)(r.label),[B,Ne]=(0,d.useState)(r.hostActions),[Y,se]=(0,d.useState)(r.barActions),[q,Ae]=(0,d.useState)(()=>Rr(r)),[U,Oe]=(0,d.useState)(void 0),[Pe,Ve]=(0,d.useState)(r.draftView);return l={app:v=>{Oe(v),ie(void 0),z(void 0)},face:V,stop:z,path:ie,scheme:H,seat:P,seats:N,quickAsk:L,people:_,hostContext:j,brand:Fe,whileAway:D,label:oe,hostActions:Ne,barActions:se,hostBar:v=>Ae(he=>({...he,...v})),draft:Ve},(0,w.jsx)(Gr.Provider,{value:p,children:(0,w.jsx)(zr,{...U?Vo(r,U):r,store:o,notices:i,...u!==void 0?{face:u}:{},onOpening:v=>{S=v},...$!==void 0?{stop:$}:{},...ae!==void 0?{path:ae}:{},...be?{principal:be}:{},...R?{seats:R}:{},...Se!==void 0?{quickAsk:Se}:{},...pe?{people:pe}:{},...M?{hostContext:M}:{},...X?{brand:X}:{},whileAway:me,label:G,hostActions:B,barActions:Y,...Er(q),draftView:Pe,scheme:ve,onFace:v=>{S=v,V(v)},onSeat:P,onFaceDrawn:O},U?.n??0)})}let E=()=>{let u=p.view?.focusId,V=u?o.graph.getNode(u)?.kind:void 0,$=(p.shown??S)==="scene"||(p.shown??S)==="graview";return{face:S,path:$?Te:p.pages?.()??r.path??"/",stop:p.view?dt(p.view):r.stop??"#",...V?{kind:V}:{}}},de=(0,Nr.createRoot)(t);return(0,C.flushSync)(()=>de.render((0,w.jsx)(re,{}))),{get store(){return o},where:E,setApp:(u,V,$)=>{let z="graph"in V?{store:V}:V,ae=()=>{let ie=E();o=z.store,b=$?.label??(b===h.name?u.name:b),h=u,(0,C.flushSync)(()=>{l?.label(b),l?.app({app:u,remote:z,at:ie,n:++c})})};yt?ae():k=k.then(Zt).then(ae)},setFace:u=>{S=u,(0,C.flushSync)(()=>l?.face(u))},setStop:u=>(0,C.flushSync)(()=>l?.stop(u)),setPath:u=>(0,C.flushSync)(()=>{if(Jt(u)){(S==="pages"||S==="picture")&&(S="scene",l?.face("scene"));return}l?.path(u),S!=="pages"&&(S="pages",l?.face("pages"))}),setScheme:u=>(0,C.flushSync)(()=>l?.scheme(u)),setSeat:u=>(0,C.flushSync)(()=>l?.seat(u)),setSeats:u=>(0,C.flushSync)(()=>l?.seats(u)),setQuickAsk:u=>(0,C.flushSync)(()=>l?.quickAsk(u)),setPeople:u=>(0,C.flushSync)(()=>l?.people(u)),setHostContext:u=>(0,C.flushSync)(()=>l?.hostContext(u)),setBrand:u=>(0,C.flushSync)(()=>l?.brand(u)),setWhileAway:u=>(0,C.flushSync)(()=>l?.whileAway(u)),setDraftView:u=>(0,C.flushSync)(()=>l?.draft(u)),setLabel:u=>{b=u,(0,C.flushSync)(()=>l?.label(u))},setHostActions:u=>(0,C.flushSync)(()=>l?.hostActions(u)),setBarActions:u=>(0,C.flushSync)(()=>l?.barActions(u)),setAppMenu:u=>(0,C.flushSync)(()=>l?.hostBar({appMenu:u})),setShare:u=>(0,C.flushSync)(()=>l?.hostBar({share:u})),setSchemeChoice:u=>(0,C.flushSync)(()=>l?.hostBar({schemeChoice:u})),setNotifications:u=>(0,C.flushSync)(()=>l?.hostBar({notifications:u})),drawn:()=>k.then(()=>T===S?void 0:new Promise(u=>x.push(u))),notify:u=>{let V;return(0,C.flushSync)(()=>{V=i.notify(u)}),V},unmount:()=>de.unmount()}}var gt=t=>`s${(t+1).toString(36)}`;var we={seat:"x-graview-seat",roles:"x-graview-roles",kind:"x-graview-kind",name:"x-graview-name",for:"x-graview-for",forRoles:"x-graview-for-roles",forName:"x-graview-for-name",via:"x-graview-via"},ze={header:"x-graview-key",param:"graview_key",cookie:"graview_key"};function wt(t,r={}){try{let o=new URL(t),i=o.searchParams.get(ze.param);if(i)return o.searchParams.delete(ze.param),{url:o.origin+o.pathname.replace(/\/$/,"")+o.search,key:i,headers:{[ze.header]:i,...r}}}catch{}return{url:t.replace(/\/$/,""),headers:r}}var Ur="/graview/friction";var Kr="/graview/live",en="graview.ship",tn=`${en}.${it}`;var Ge=class extends Error{constructor(r){super(r),this.name="Superseded"}},xe=t=>t?.lineage?{lineage:t.lineage}:{},$o=(t,r)=>`${t.calls.map(o=>o.name.replace(/-/g," ")).join(", ")} (${r instanceof Error?r.message.split(`
2
- `)[0]??"":String(r)})`;function Io(t){if(!t)return[];try{let r=t.storage.getItem(t.key);if(r===null)return[];t.storage.removeItem(t.key);let o=JSON.parse(r);return Array.isArray(o)?o.filter(i=>!!i&&Array.isArray(i.calls)):[]}catch{return[]}}var Ue=class extends Error{constructor(o){super(o.sentence);this.refusal=o;this.name="RemoteRefusedError"}},_o={401:"forbidden",403:"forbidden",404:"missing",413:"limit"},fe=class extends Error{constructor(o,i){super(o);this.conflicts=i;this.name="StaleWrite"}},Qe=class extends Error{constructor(r){super(r),this.name="Unreached"}},Wo=new Set([502,503,504]);async function Do(t){try{return(await t.clone().json()).reason==="unavailable"}catch{return!1}}function jo(){let t=Math.random().toString(36).slice(2,8),r=0;return()=>`local-${t}-${++r}`}var qo=1,zo=()=>({refusals:new Set,conflicts:new Set,statuses:new Set,helds:new Set,builds:new Set,who:new Set,declarations:new Set,tally:{reconnects:0,rebases:0,conflicts:0,resyncs:0}});async function vt(t){return(await Jr(t,Io(t.carry),"This app was updated while your changes were on the way.",zo())).remote}async function Jr(t,r,o,i){let{key:l,...p}=wt(t.url,t.headers),c={...t,...p},b=c.fetch??fetch,h={"content-type":"application/json",...c.headers??{}},k={...bt(c.principal),[we.via]:c.via??"web"};Object.assign(h,k);let F=c.live===!0,I=c.presenceEveryMs,S=c.visible??Ko,T="connecting",x=i.statuses,O=i.tally,re=[],E,de=[],u=()=>T==="online"&&E!==void 0?"held":T,V=()=>{let e=u();if(i.told!==e){i.told=e;for(let n of[...x])n(e)}},$=e=>{if(!(e===T||ce)&&(T==="offline"&&e==="online"&&O.reconnects++,T=e,V(),e==="online"))for(let n of re.splice(0))n.again()},z=e=>{if(ce)return;let n=typeof e=="string"&&e.length>0?e:void 0,s=n!==E;if(E=n,ae(),!!s&&(V(),n===void 0)){for(let a of de.splice(0))a();te&&clearTimeout(te),sn()}},ae=()=>{if(i.toldHeld!==E){i.toldHeld=E;for(let e of[...i.helds])e(E??null)}},ie=async(e,n)=>{let s;try{s=await b(e,n)}catch(a){throw Q()||$("offline"),new Qe(a instanceof Error?a.message:String(a))}if(s.status===503&&await Do(s))return $("online"),s;if(Wo.has(s.status))throw Q()||$("offline"),new Qe(`The server is away (${s.status})`);return $("online"),s},ve=async(e=!1)=>{let n=`${c.url}/graview/state?opFormat=${qe.op}`,s=e?await b(n,{headers:h}):await ie(n,{headers:h});if(!s.ok)throw new Error((await s.json().catch(()=>({}))).error??`The server refused (${s.status})`);return await s.json()},H=c.state??await ve(!0);F||(T="online"),E=typeof H.held=="string"&&H.held.length>0?H.held:void 0,ae();let be=H.enabledModules??c.enabledModules,P=c.localApp?c.localApp(c.app):c.app,R=new Fn({schema:P.schema,mutations:P.mutations??[],invariants:P.invariants??[],...P.policy?{policy:P.policy}:{},...P.publishing?{publishing:P.publishing}:{},...P.tidying?{tidying:P.tidying}:{},...P.modules?{modules:P.modules}:{},...be?{enabledModules:be}:{},...P.intelligence?{intelligence:P.intelligence}:{},...P.brand?.timeZone?{timeZone:P.brand.timeZone}:{},snapshot:H.snapshot,log:H.log,...H.horizon!==void 0?{horizon:H.horizon}:{},ids:jo(),...c.storeOptions??{}});Pn.served.add(R);let N=c.friction!==!1&&c.principal?.kind!=="visitor";N&&En(R,e=>{N&&b(`${c.url}${Ur}`,{method:"POST",headers:h,body:JSON.stringify({event:e})}).then(n=>void(N=n.status!==404&&n.status!==410),()=>{})});let Se=Tn(R),L=H.log.at(-1)?.seq??(H.horizon??0)-1,pe=Ct.of(H.log,{horizon:H.horizon??0}),_=null,M,j=new Map,X=i.who,Fe=!1,me=e=>{if(ce)return;Fe=!0;let n=Ln(new Map,e,Date.now(),Bt,_?.participant);M!==void 0&&n.delete(M);let s=n.size!==j.size;if(!s)for(let[a,f]of n)Ht(f,j.get(a))||(s=!0);if(j=n,!!s)for(let a of[...X])a([...j.values()])},D=[],G=new Set,oe=e=>{let n=D.indexOf(e);n>=0&&D.splice(n,1)},B=new Map,Ne=(e,n)=>{let s=B.get(e);s&&(B.delete(e),s.resolve({ops:n.filter(a=>a.batch===e),batch:e}))},Y,se=[],q=(e,n=[])=>{if(e.length===0&&n.length===0)return[];if(Y)return se.push({ops:e,drop:n}),[];let s=Math.min(...e.filter(m=>m.seq>L).map(m=>m.seq));if(Number.isFinite(s)&&s>L+1)return se.push({ops:e,drop:n}),Ae(),[];let a=D.filter(m=>e.some(ne=>ne.batch===m)),f=[...new Set([...n,...a])].filter(m=>G.has(m)),y,A=D.filter(m=>!a.includes(m));try{y=R.rebase({confirmed:e,pending:A,drop:f}).confirmed}catch(m){if(!(m instanceof xn))throw m;return se.push({ops:e,drop:n}),Ae(),[]}for(let m of a)oe(m);e.some(m=>m.seq>L)&&A.some(m=>!f.includes(m))&&O.rebases++,e.length>0&&(L=Math.max(L,...e.map(m=>m.seq)),pe.note(e));for(let m of f)G.delete(m);for(let m of a)Ne(m,e);return y},Ae=()=>{Y||(Y=Re(ve().then(e=>{if(U(e)){se=[];return}let n=new Set(e.log.map(f=>f.batch)),s=D.filter(f=>n.has(f));for(let f of s)oe(f);let a=R.adopt({snapshot:e.snapshot,log:e.log,...e.horizon!==void 0?{horizon:e.horizon}:{},pending:[...D],drop:[...G].filter(f=>!D.includes(f))});G.clear();for(let f of a.pending)G.add(f.batch);L=e.log.at(-1)?.seq??(e.horizon??0)-1,pe=Ct.of(e.log,{horizon:e.horizon??0}),O.resyncs++;for(let f of s)Ne(f,e.log)}).then(()=>{Y=void 0;let e=se;se=[];for(let{ops:n,drop:s}of e)q(n,s)},()=>{Y=void 0,se=[]})))},U=e=>(typeof e.build=="string"&&dn(e.build),typeof e.version=="number"&&z(e.held),typeof e.version!="number"||e.version===H.version?!1:(Rt(e.version),!0)),Oe=async e=>{let s=await(await ie(`${c.url}/graview/since?seq=${gt(e)}&opFormat=${qe.op}`,{headers:h})).json();return U(s)?[]:s.reset===!0?(Ae(),[]):s.ops??[]},Pe=async()=>{let e=await Ve();return Y&&await Y,e},Ve=async()=>{if(_&&!Q()&&S()){let n=await(await ie(`${c.url}/graview/here?opFormat=${qe.op}`,{method:"POST",headers:h,body:JSON.stringify({presence:_,seq:gt(L)})})).json();return U(n)?[]:(typeof n.participant=="string"&&(M=n.participant),me(n.who??[]),q(n.ops??[]))}return q(await Oe(L))},v=new Map,he=new Map,Ce=new Set,ee=new Map,Le=new Set,Re=e=>(Le.add(e),e.finally(()=>Le.delete(e)).catch(()=>{}),e),Ze=Promise.resolve(),$e=0,St=(e,n)=>{let s=Ze.then(()=>Ie(e,n));return Ze=s.catch(()=>{}),s},Xe=()=>new Promise((e,n)=>re.push({again:e,give:n})),Ie=async(e,n)=>{let s,a;for(;;){try{s=await ie(`${c.url}/graview/ops`,{method:"POST",headers:h,body:JSON.stringify({...e,opFormat:qe.op})})}catch(m){if(!(m instanceof Qe)||K)throw m;if(await Xe(),Q())return et(e,n);continue}if(a=await s.json().catch(()=>({})),s.status===503&&a.reason==="unavailable"&&typeof a.held=="string"&&!K){if(typeof a.version=="number"?U(a):(z(a.held),!1))break;if(E!==void 0&&(xt>0||F)){if(await new Promise(m=>de.push(m)),K)throw new Ge("The client closed.");if(Q())return et(e,n);continue}}let A;if(s.status===503&&a.reason==="unavailable"&&!K)A=nn(c.backoff,$e++);else{if($e=0,s.status!==429||K)break;A=Go(s.headers.get("retry-after"),a.retryAfter)}if(await new Promise(m=>setTimeout(m,A)),Q())return et(e,n)}if(ce||U(a))throw new Ge("The app was changed.");if(!s.ok){let A=a.error??`The server refused (${s.status})`;throw a.conflict?new fe(A,a.conflicts??[]):new Ue({reason:a.reason??_o[s.status]??"invalid",sentence:A,...a.wouldNeed?.length?{wouldNeed:a.wouldNeed}:{}})}let f=a.ops??[],y=f[0]?.seq;return y!==void 0&&y>L+1&&(f=await Oe(L)),n!==void 0&&(a.batch&&v.set(n,a.batch),oe(n)),q(f,n!==void 0?[n]:[]),{ops:a.ops??[],...a.batch?{batch:a.batch}:{}}},W,ye=!1,K=!1,_e=0,Ee,Me=0,Ke=0,le=null,ke=()=>{},We=new Promise(e=>{ke=e}),Q=()=>F&&ye&&W?.readyState===qo,g=e=>{if(!Q())return!1;try{return W.send(JSON.stringify(e)),!0}catch{return!1}},Z=(e=!1)=>{!_||!Q()||!S()||!e&&le&&Ht(_,le)&&(I===void 0||Date.now()-Ke<I)||g({t:"here",presence:_})&&(le=_,Ke=Date.now())},J=new Set,te,sn=()=>{if(te=void 0,E!==void 0)return;let e=[...B.entries()].filter(([n])=>J.has(n));J.clear();for(let[,n]of e)g(n.message)},cn=(e,n)=>{B.has(e)&&(J.add(e),te&&clearTimeout(te),te=setTimeout(sn,Math.max(0,n)))},Zr=e=>{B.has(e)&&J.add(e)},et=(e,n)=>new Promise((s,a)=>{let f=n??`send-${++Me}`,y=e.undo?{t:"undo",cid:f,batches:e.undo,...e.intent?{intent:e.intent}:{},...e.batch?{batch:e.batch}:{},...e.via?{via:e.via}:{},...xe(e)}:{t:"call",cid:f,calls:e.calls??[],...e.intent?{intent:e.intent}:{},...e.batch?{batch:e.batch}:{},...e.base?.length?{base:e.base}:{},...e.via?{via:e.via}:{},...xe(e)};if(B.set(f,{message:y,...n!==void 0?{mine:n}:{},resolve:s,reject:a}),J.size>0||E!==void 0){J.add(f);return}g(y)}),tt=(e,n)=>Q()?et(e,n):St(e,n),Xr=e=>{switch(e.t){case"welcome":{if(dn(e.build),typeof e.version=="number"&&e.version!==H.version){Rt(e.version);return}if(ye=!0,_e=0,typeof e.participant=="string"&&(M=e.participant),z(e.held),e.state?Ae():q(e.ops??[]),J.clear(),te&&clearTimeout(te),te=void 0,E!==void 0)for(let n of B.keys())J.add(n);else for(let n of B.values())g(n.message);Z(!0),$("online"),ke();return}case"ops":q(e.ops??[]);return;case"ack":{let n=B.get(e.cid);if(!n){q(e.ops??[]);return}B.delete(e.cid),$e=0,n.mine!==void 0&&(v.set(n.mine,e.batch),oe(n.mine)),q(e.ops??[],n.mine!==void 0?[n.mine]:[]),n.resolve({ops:e.ops??[],batch:e.batch});return}case"refused":case"conflict":{let n=B.get(e.cid);if(!n)return;if(e.t==="refused"&&e.reason==="unavailable"){E!==void 0?Zr(e.cid):cn(e.cid,nn(c.backoff,$e++));return}B.delete(e.cid),n.reject(e.t==="conflict"?new fe(e.sentence,e.conflicts??[]):new Ue({reason:e.reason??"invalid",sentence:e.sentence,...e.wouldNeed?.length?{wouldNeed:[...e.wouldNeed]}:{}}));return}case"busy":typeof e.cid=="string"&&cn(e.cid,typeof e.retryAfter=="number"?e.retryAfter:1e3);return;case"presence":me(e.who??[]);return;case"held":z(e.sentence);return;case"declaration":typeof e.version=="number"&&e.version!==H.version&&Rt(e.version);return;case"reload":pn(typeof e.reason=="string"?e.reason:"This app was updated.");return;case"error":if(e.reopen===!0&&W){let n=W;hn(n);try{n.close(1e3,"Opening again.")}catch{}}return;default:return}},ce=!1,At=i.declarations,Pt=i.builds,dn=e=>{if(!(ce||i.otherBuild!==void 0||!c.build||typeof e!="string"||e.length===0||e===c.build)){i.otherBuild=e;for(let n of[...Pt])n(e)}},ln=()=>{let e=[],n=0;for(let s of D){let a=ee.get(s);a?e.push({calls:a.calls,...a.intent?{intent:a.intent}:{},...a.via?{via:a.via}:{},...xe(a),batch:s}):n++}return{carried:e,undos:n}},un=(e,n)=>`${n} while ${e===1?"an undo of yours was":"undos of yours were"} on the way; ${e===1?"it was":"they were"} not made.`,fn=e=>{ce=!0,_=null;let n=new Ge(e);for(let a of B.values())a.reject(n);B.clear(),ot&&clearInterval(ot),K=!0,Ee&&clearTimeout(Ee),te&&clearTimeout(te),ge&&clearTimeout(ge);for(let a of re.splice(0))a.give(n);for(let a of de.splice(0))a();let s=W;W=void 0,ye=!1;try{s?.close(1e3,e)}catch{}ke()};async function Rt(e){if(ce)return;if(!c.resolveApp){pn(`This app was changed on its server (version ${e}); reload the page to carry on.`);return}let{carried:n,undos:s}=ln(),a=c.resolveApp,f=_;fn("The app was changed.");try{let y=await a(e),{state:A,...m}=c,ne=await Jr({...m,app:y},n,"The app was changed while your changes were on the way.",i);f&&ne.remote.presence.here(f);for(let at of[...At])at(ne.remote,e);let ue=[...s>0?[nt(un(s,"The app was changed"))]:[],...ne.unheard()];for(let at of ue)for(let so of De)so(at.sentence,at)}catch(y){let A=`The app was changed, but the new version could not be opened: ${y instanceof Error?y.message:String(y)}`;for(let m of De)m(A,nt(A))}}function pn(e){if(ce)return;let{carried:n,undos:s}=ln();fn(e);let a=!1;if(c.carry&&n.length>0)try{c.carry.storage.setItem(c.carry.key,JSON.stringify(n)),a=!0}catch{}let f=[];!a&&n.length>0&&f.push(`${e} ${n.length===1?"A change of yours was":`${n.length} changes of yours were`} not sent; make ${n.length===1?"it":"them"} again after the page reloads.`),s>0&&f.push(un(s,"This app was updated"));for(let y of f)for(let A of De)A(y,nt(y));(c.reloadPage??Uo)()}let mn=()=>{if(K||!F)return;let e=`${c.url.replace(/^http/,"ws").replace(/\/$/,"")}${Kr}`,{"content-type":n,...s}=h,a;try{a=c.socket?c.socket(e,s,[tn]):io(e,s)}catch{return yn()}W=a,ye=!1,a.onopen=()=>{W===a&&a.send(JSON.stringify({t:"hello",seq:gt(L),protocol:it,wire:en,opFormat:qe.op,...c.build?{build:c.build.slice(0,64)}:{},...c.hostProtocol!==void 0?{hostProtocol:c.hostProtocol}:{}}))},a.onmessage=f=>{if(W!==a)return;let y;try{y=JSON.parse(String(f.data))}catch{return}Xr(y)},a.onclose=()=>hn(a),a.onerror=()=>{}},ge,eo=()=>{Fe=!1,ge&&clearTimeout(ge),ge=setTimeout(()=>{if(ge=void 0,Fe||K)return;let e=new Map([...j].filter(([,n])=>n.held!=="socket"));if(e.size!==j.size){j=e;for(let n of X)n([...j.values()])}},Bt),ge.unref?.()};function hn(e){if(W!==e)return;let n=ye;W=void 0,ye=!1,le=null,n&&($("offline"),eo()),yn()}let yn=()=>{if(K)return;let e=nn(c.backoff,_e);_e++,Ee=setTimeout(mn,e)},gn=R.applyAll.bind(R),to=R.undo.bind(R),no=R.previewAll.bind(R);R.previewAll=(e,n)=>no(e,{...c.principal?{author:c.principal}:{},...n});let De=i.refusals,Je=[],nt=e=>({reason:"invalid",sentence:e}),rt=i.conflicts,Et=!1,wn,kt=async(e,n)=>{if(n instanceof Ge||ce)return;let s=n instanceof Ue?n.refusal:An(n),a=s.sentence,f=n instanceof fe?wn?.yoursOf(R,ee.get(e)?.calls??[]):void 0;oe(e);try{q([],[e])}catch{}let y=ee.get(e);ee.delete(e);let A=y?.calls[0];if(A&&!(n instanceof fe)){let m=R.allMutations().find(ue=>ue.name===A.name)?.subject?.arg,ne=m&&R.graph.getNode(A.args[m])?.kind;kn(R,{type:"refused",act:A.name,code:s.reason,...ne?{kind:ne}:{}},c.principal)}if(n instanceof fe&&O.conflicts++,n instanceof fe&&!Q()&&await Pe().catch(()=>[]),n instanceof fe&&Y&&await Y,n instanceof fe&&rt.size>0){let m=!1,ne={sentence:a,conflicts:f?n.conflicts.map(ue=>ue.node===f.node&&ue.field===f.field?{...ue,yours:f.yours}:ue):n.conflicts,keepTheirs(){m=!0},useMine(){if(!(m||!y)){m=!0,Et=!0;try{R.applyAll(f?[f.over(L)]:y.calls,{...y.intent?{intent:y.intent}:{},...y.via?{via:y.via}:{},...xe(y)})}finally{Et=!1}}}};for(let ue of rt)ue(ne);return}for(let m of De)m(a,s)},ro=(e,n)=>e.flatMap(s=>s.mutation?.name===Sn?[]:s.primitives.flatMap(a=>a.op==="splice-text"&&!n.has(a.id)&&!n.has(`${a.id}\0${a.field}`)?[{node:a.id,field:a.field,rev:L}]:[]));R.applyAll=(e,n)=>{let s=Rn(R.log.all().filter(A=>G.has(A.batch))),a=gn(e,{...c.principal?{author:c.principal}:{},...n}),f=e.map((A,m)=>{let ne=a.minted?.[m];return ne===void 0||A.args?.id!==void 0?A:{...A,mintedHint:ne}});D.push(a.batch),G.add(a.batch),ee.set(a.batch,{calls:f,...n?.intent?{intent:n.intent}:{},...n?.via?{via:n.via}:{},...xe(n)});let y=Et?[]:[...pe.baseFor(a.ops,s,(A,m)=>R.collaborative(A,m)),...ro(a.ops,s)];return he.set(a.batch,Re(tt({calls:f,...n?.intent?{intent:n.intent}:{},batch:a.batch,...y.length>0?{base:y}:{},...n?.via?{via:n.via}:{},...xe(n)},a.batch).catch(A=>kt(a.batch,A)))),a},R.apply=(e,n)=>R.applyAll([e],n),R.undo=(e,n)=>{let s=typeof e=="string"?[e]:e,a=to(s.map(y=>v.get(y)??y),{...c.principal?{author:c.principal}:{},...n});D.push(a.batch),G.add(a.batch);let f=Promise.allSettled(s.map(y=>he.get(y)));return he.set(a.batch,Re(f.then(()=>{let y=s.filter(A=>!Ce.has(A));if(y.length===0){oe(a.batch),ee.delete(a.batch),q([],[a.batch]);return}return tt({undo:y.map(A=>v.get(A)??A),...n?.intent?{intent:n.intent}:{},batch:a.batch,...n?.via?{via:n.via}:{},...xe(n)},a.batch)}).catch(y=>kt(a.batch,y)))),a};let oo=async(e,n={})=>{Tt++;try{return(await Re(tt({calls:e,...n}))).ops}finally{Tt--}},Tt=0,vn={here(e){_=e,Z()},onWho(e){return X.add(e),j.size>0&&e([...j.values()]),()=>{X.delete(e)}},leave(){if(!_)return;let e=JSON.stringify({participant:M??_.participant});if(_=null,g({t:"bye"}))return;let n=globalThis.navigator?.sendBeacon;n?n.call(globalThis.navigator,`${c.url}/graview/leave${l!==void 0?`?${ze.param}=${encodeURIComponent(l)}`:""}`,e):b(`${c.url}/graview/leave`,{method:"POST",headers:h,body:e}).catch(()=>{})}},xt=c.pollMs??800,ot=xt>0&&typeof setInterval=="function"?setInterval(()=>{Q()||Pe().catch(()=>{})},xt):null;if(F){mn();let e;await Promise.race([We,new Promise(n=>e=setTimeout(n,c.openTimeoutMs??3e3))]),clearTimeout(e)}if(r.length>0&&!ce){let e=[],n=new Set(R.log.all().map(s=>s.batch));for(let s of r)if(!(s.batch!==void 0&&n.has(s.batch)))try{R.applyAll(s.calls,{...s.intent?{intent:s.intent}:{},...s.batch?{batch:s.batch}:{},...s.via?{via:s.via}:{},...xe(s)})}catch(a){e.push($o(s,a))}e.length>0&&Je.push(nt(`${o} ${e.length===1?"One no longer fits and was not made":`${e.length} no longer fit and were not made`}: ${e.join("; ")}.`))}let bn=new Map,ao=()=>({store:R,author:c.principal,appliedAll:gn,pending:D,provisional:G,asked:ee,answers:he,letGo:Ce,sent:(e,n)=>Re(tt({calls:n,batch:e},e).catch(s=>kt(e,s))),settle:oe,land:q,seen:()=>L,gone:()=>K||ce});return{remote:{store:R,typing(e,n){let s=`${e}\0${n}`,a=bn.get(s);return a||(a=(__graviewPreload(import.meta.url,["./chunk.B6JRTW3A.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.LSN2IPAI.js")).then(f=>(wn=f,f.typingOf(e,n,f.wireOf(ao())))),bn.set(s,a)),a},version:H.version,migrated:H.migrated??[],send:oo,pull:Pe,onRefusal(e){De.add(e);let n=Je;Je=[];for(let s of n)e(s.sentence,s);return()=>De.delete(e)},onDeclaration(e){return At.add(e),()=>At.delete(e)},onBuild(e){return Pt.add(e),i.otherBuild!==void 0&&e(i.otherBuild),()=>Pt.delete(e)},onConflict(e){return rt.add(e),()=>rt.delete(e)},revision:(e,n)=>pe.of(e,n),seq:()=>L,participant:()=>M,transport:()=>Q()?"socket":"poll",status:u,onStatus(e){return x.add(e),()=>x.delete(e)},held:()=>E,onHeld(e){return i.helds.add(e),E!==void 0&&e(E),()=>i.helds.delete(e)},counters:()=>({...O}),who:()=>[...j.values()],pending:()=>D.length+Tt,async settled(){for(;Le.size>0;)await Promise.allSettled([...Le])},presence:vn,close(){ot&&clearInterval(ot),Se(),vn.leave(),K=!0,Ee&&clearTimeout(Ee),te&&clearTimeout(te),ge&&clearTimeout(ge);for(let n of re.splice(0))n.give(new Error("The client closed before the server could be reached."));for(let n of de.splice(0))n();let e=W;W=void 0,ye=!1;try{e?.close(1e3,"Closed.")}catch{}}},unheard(){let e=Je;return Je=[],e}};function io(e,n){let s=globalThis.WebSocket;if(!s)throw new Error("This runtime has no WebSocket; the client polls instead.");let a=typeof globalThis.document<"u",f=c.subprotocol?[tn]:[];if(!a)try{return new s(e,{headers:n,...f.length>0?{protocols:f}:{}})}catch{}let y=new URL(e);for(let[A,m]of Object.entries(k))y.searchParams.set(A,m);return l!==void 0&&y.searchParams.set(ze.param,l),f.length>0?new s(y.toString(),f):new s(y.toString())}}function Go(t,r,o=Date.now()){let i,l=t?.trim();if(l)if(/^\d+(\.\d+)?$/.test(l))i=Number(l)*1e3;else{let b=Date.parse(l);Number.isFinite(b)&&(i=Math.max(0,b-o))}let p=typeof r=="number"&&Number.isFinite(r)&&r>=0?r:void 0,c=p!==void 0&&p<50&&i!==void 0&&Math.abs(p*1e3-i)<1e3;return p!==void 0&&!c?p:i??1e3}function Uo(){globalThis.location?.reload?.()}function Ko(){return globalThis.document?.visibilityState!=="hidden"}function nn(t,r){if(typeof t=="function")return Math.max(0,t(r));let{min:o=250,max:i=1e4,factor:l=2}=t??{};return Math.min(i,o*l**r)*(.75+Math.random()*.5)}function bt(t){let r={};if(!t)return r;t.id&&(r[we.seat]=t.id),t.roles?.length&&(r[we.roles]=t.roles.join(",")),t.kind!=="human"&&(r[we.kind]=t.kind),t.name&&(r[we.name]=encodeURIComponent(t.name));let o=t.onBehalfOf;return o?.id&&(r[we.for]=o.id),o?.roles?.length&&(r[we.forRoles]=o.roles.join(",")),o?.name&&(r[we.forName]=encodeURIComponent(o.name)),r}var Yr="/graview/views";function rn(t){let r=t.fetch??fetch,o=wt(t.url,t.headers),i=o.url,l={"content-type":"application/json",...t.principal?bt(t.principal):{},...o.headers},p=t.state?{hidden:t.state.hidden??[],removed:t.state.removed??[],may:t.state.may??st.may}:st,c=new Set,b=S=>{if(JSON.stringify(S)!==JSON.stringify(p)){p=S;for(let T of c)T()}},h=async(S,T)=>{let x=await r(`${i}${t.path??Yr}`,{method:S,headers:l,...T!==void 0?{body:JSON.stringify(T)}:{}}),O=await x.json();if(!x.ok)throw new Error(O.error??`The store answered ${x.status}.`);b({hidden:O.hidden??[],removed:O.removed??[],may:O.may??st.may})},k=()=>h("GET"),F=t.state?Promise.resolve():k().catch(()=>{}),I=t.pollMs?setInterval(()=>void k().catch(()=>{}),t.pollMs):void 0;return{ready:F,refresh:k,close:()=>clearInterval(I),current:()=>p,onChange(S){return c.add(S),()=>void c.delete(S)},hide:S=>h("POST",{hide:S}),show:S=>h("POST",{show:S}),remove:(S,T)=>h("POST",{remove:S,...T?{about:T}:{}}),async restore(S){let T=p.removed.find(x=>x.name===S)?.lens;await h("POST",{restore:S}),T&&await t.onDeclaration?.()},async lens(S){await h("POST",{lens:S}),await t.onDeclaration?.()}}}var an=document.getElementById("graview-app"),on=/^\/forms\/([^/]+)\/?$/.exec(location.pathname),Qr=on?(__graviewPreload(import.meta.url,["./chunk.ANS2IEEV.js","./chunk.V5I4GZEY.js","./chunk.XOZU4OFA.js","./chunk.GME63ZHI.js","./chunk.LLIURXFP.js","./chunk.PAGEGBUD.js","./chunk.WSDJPXJD.js","./chunk.F4VB6Q2W.js","./chunk.FFOD5B4B.js","./chunk.Z7Y3R3YR.js","./chunk.YXEO3Y65.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.2MHNPBHC.js")):He("pages");try{on?await Jo(decodeURIComponent(on[1])):await Yo()}catch(t){let r=document.createElement("pre");r.setAttribute("role","alert"),r.style.cssText="margin:2rem;font:14px/1.5 ui-monospace,monospace;white-space:pre-wrap",r.textContent=t instanceof Error?t.message:String(t),an.replaceChildren(r),window.__graviewFailed=r.textContent}async function Jo(t){let r=await fetch(`/graview/document?form=${encodeURIComponent(t)}`),o=await r.json();if(!r.ok)throw new Error(o.error??`The preview server did not hand over the form (${r.status}).`);let i=await ft(o);if(!i.ok)throw new Error(ct(i.findings));let l=i.app,p=o.principal,c=await vt({app:l,url:location.origin,principal:p,...o.state?{state:o.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=l.forms?.[t]?.title??l.name;let{mount:b}=await Qr;window.__graview=b(an,{app:l,form:t,principal:p,remote:c,height:"100dvh",onSubmitted:()=>window.__graviewSubmitted=!0}),window.__graviewReady=!0}async function Yo(){let t=await fetch("/graview/document");if(!t.ok)throw new Error(`The preview server did not hand over the document (${t.status}).`);let r=await t.json(),i=await(async h=>{if(typeof h.module=="string")return(await import(h.module)).app;let k=await ft(h);if(!k.ok)throw new Error(ct(k.findings));return k.app})(r);if(!i||typeof i!="object"||!("schema"in i))throw new Error("The app module the preview server handed does not export an app.");let l=r.principal,p=await vt({app:i,url:location.origin,principal:l,live:!0,subprotocol:!0,pollMs:1200,...r.state?{state:r.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=i.name;let c,b=rn({url:location.origin,principal:l,...r.views?{state:r.views}:{},onDeclaration:async()=>{let h=await(await fetch("/graview/document")).json();if(typeof h.module=="string")return;let k=await ft(h);k.ok&&c?.setApp(k.app,p)}});await Promise.all([Qr,b.ready]),c=Xt(an,{app:i,remote:p,principal:l,studio:!1,face:"pages",routing:"address",bar:!0,height:"100dvh",label:i.name,heading:1,keptViews:b,...r.draftView?{draftView:r.draftView}:{}}),window.__graview=c,c.drawn().then(()=>{window.__graviewReady=!0})}
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 _t,b as sr,c as cr,d as dr,e as lr,f as Wt,g as ur,h as Dt}from"./chunk.UDHPMVC4.js";import{a as lo}from"./chunk.JQ2WNKDW.js";import{a as fr,b as pr,c as qt,d as mr,e as zt,f as yr,g as gr,h as wr,i as Gt,j as vr,k as br,l as Sr,m as Ar,n as Pr,o as Rr,p as Er,q as kr,r as Tr,s as xr,t as Fr,u as Ye}from"./chunk.FPHRAO3R.js";import{b as hr}from"./chunk.LVOTLGJB.js";import{c as jt}from"./chunk.5AKZROMR.js";import{a as Ft}from"./chunk.Q5WEOX3Q.js";import{b as Ot,i as Bn}from"./chunk.6N4PE3U5.js";import{k as ct}from"./chunk.RG5G6YQD.js";import{C as It,F as rr,K as or,O as ar,P as ir,k as Qn,n as Zn,o as Xn,p as $t,q as er,s as tr,w as nr}from"./chunk.QNP5OR3P.js";import{c as co}from"./chunk.4W57E7AX.js";import{Ba as Dn,Ca as jn,Da as qn,Ea as zn,Fa as Gn,G as Nn,Ha as Un,Ia as Kn,Ka as Jn,La as Vt,Oa as Yn,Ra as ut,W as Vn,a as Mn,aa as $n,b as dt,c as lt,j as Hn,ja as In,ka as _n,m as Nt,ma as Wn}from"./chunk.A5PSEU3W.js";import{a as Me}from"./chunk.SDO3U72B.js";import{Ae as Ln,Be as Ht,Ed as En,Fb as Sn,Fd as kn,Nd as Tn,Ob as An,Pd as xn,Qb as Pn,Qd as Fn,Sd as st,mb as qe,oe as Te,pe as On,qe as Cn,ve as Lt,we as Bt,xb as it,xc as Ct,xe as Mt,yc as Rn}from"./chunk.ZEZUKRC6.js";import"./chunk.FQLNBIQ5.js";import{b as je}from"./chunk.AJZBJBMO.js";async function ft(t,r={}){let o=t.compiled===void 0||!fo(t.compiled,t.document)?void 0:Bn(t.compiled,r);if(o?.ok)return o;let{compileDocumentWithoutCheck:i}=await uo();return i(t.document,r)}var Or,uo=()=>Or??=(__graviewPreload(import.meta.url,["./chunk.6SJEZWH3.js","./chunk.6N4PE3U5.js","./chunk.WALVW3KJ.js","./chunk.UGQYMN4J.js","./chunk.RG5G6YQD.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.RR25BGWP.js")).catch(t=>{throw Or=void 0,t});function fo(t,r){let o=typeof t=="object"&&t!==null?t.document:void 0,i=r;if(typeof i=="string")try{i=JSON.parse(i)}catch{return!1}return o!==void 0&&Ft(Ot(o).document)===Ft(Ot(i).document)}var d=je(Nn(),1);var mt=je(Nn(),1),Ut="data-graview-drawn",po=200,Cr=50,mo=1e4,pt=()=>typeof performance<"u"?performance.now():Date.now();function ho(t){let r=[...t.querySelectorAll("img")];for(let o of t.querySelectorAll("[data-worker-view]"))o.shadowRoot&&r.push(...o.shadowRoot.querySelectorAll("img"));return r}function yo(t,r){if(t.ownerDocument.fonts?.status==="loading"||Dn()>0||Gn(r)>0||t.querySelector('[aria-busy="true"]')||ho(t).some(i=>!i.complete&&i.loading!=="lazy"))return!1;for(let i of t.querySelectorAll("[data-worker-view-place]"))if(!i.querySelector("[data-worker-view][data-worker-view-drawn], [data-worker-view][data-worker-view-failed]"))return!1;return!0}function Lr(t){let r=t.querySelector("[data-embed-content]"),o=[...t.querySelectorAll("[data-worker-view]")].map(i=>`${i.offsetWidth}x${i.offsetHeight}`);return`${t.scrollWidth}x${t.scrollHeight}|${r?`${r.scrollWidth}x${r.scrollHeight}`:""}|${o.join(",")}`}function go(t,r,o,i){t.removeAttribute(Ut);let l=t.ownerDocument.defaultView;if(!l)return()=>{};let p=pt(),c=p,b=Lr(t),h=!1,k,O=typeof MutationObserver>"u"?void 0:new MutationObserver(x=>{x.some(C=>!(C.target===t&&C.attributeName===Ut))&&(c=pt())});O?.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0});let I=()=>{h=!0,O?.disconnect(),k!==void 0&&clearTimeout(k)},S=x=>{let C=!1,re=()=>{C||(C=!0,x())};typeof l.requestAnimationFrame=="function"&&l.requestAnimationFrame(()=>setTimeout(re,0)),setTimeout(re,100)},T=()=>{if(h)return;let x=Lr(t);x!==b&&(b=x,c=pt());let C=pt();if(yo(t,i)&&C-c>=po||C-p>=mo){S(()=>{h||(I(),t.setAttribute(Ut,r),Kn(),o())});return}k=setTimeout(T,Cr)};return k=setTimeout(T,Cr),I}function Br(t,r,o,i,l){Un();let p=(0,mt.useRef)({place:o,onDrawn:i});p.current={place:o,onDrawn:i},(0,mt.useLayoutEffect)(()=>{l&&zn(l);let c=k=>go(k,p.current.place.path,()=>p.current.onDrawn?.(p.current.place),l);if(t.current)return c(t.current);let b,h=!1;return queueMicrotask(()=>{!h&&t.current&&(b=c(t.current))}),()=>{h=!0,b?.()}},[r,t,l])}var Nr=je(lo(),1);var F=je(co(),1);var w=je(Vn(),1);function ht(t,r={}){let o=Vt(t);return{Face:o.part((l,p)=>(0,d.createElement)(l,p),r),fetch:()=>o.load().then(()=>{}),here:()=>o.current!==void 0||o.failed}}var Yt=t=>Promise.all([t,ar()]).then(([r])=>r),Vr=Me(()=>(__graviewPreload(import.meta.url,["./chunk.GMLONS5L.js","./chunk.35KMZHB7.js","./chunk.DEKRFTRN.js","./chunk.YZPESGCP.js","./chunk.GVT4UUQA.js","./chunk.J6HF7IRQ.js","./chunk.LRNFE3UK.js","./chunk.HJCQ6I3S.js","./chunk.YCD4JSXD.js","./chunk.ZG5VGP5U.js","./chunk.NKYWIGC7.js","./chunk.6UQFV53C.js","./chunk.GRFD42WM.js","./chunk.U5P23GO7.js","./chunk.HJUZMOW2.js","./chunk.NAXOXBOF.js","./chunk.6W6XMLSF.js","./chunk.PZ7KY6XH.js","./chunk.WEMUKZKH.js","./chunk.T27QKVKP.js","./chunk.URQTF5SY.js","./chunk.BIDL7GQD.js","./chunk.LP2ZMAT2.js","./chunk.MSAYU25L.js","./chunk.EGPCVMDU.js","./chunk.FPHRAO3R.js","./chunk.LVOTLGJB.js","./chunk.Q5WEOX3Q.js","./chunk.6SJEZWH3.js","./chunk.6N4PE3U5.js","./chunk.B7KZBT27.js","./chunk.WALVW3KJ.js","./chunk.SNHKYH72.js","./chunk.UGQYMN4J.js","./chunk.RG5G6YQD.js","./chunk.MIE4TJRW.js","./chunk.QRQ5WPZI.js","./chunk.RD2FSSLV.js","./chunk.37RFCHSS.js","./chunk.SO6NT5K7.js","./chunk.MUSMNKE4.js","./chunk.SJQPTDAT.js","./chunk.JQ63N4MZ.js","./chunk.Z3O2VZAJ.js","./chunk.QNP5OR3P.js","./chunk.4W57E7AX.js","./chunk.A5PSEU3W.js","./chunk.SDO3U72B.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.D7NWMXSX.js"))),wo=Me(()=>(__graviewPreload(import.meta.url,["./chunk.QXLJGHMC.js","./chunk.DZMIYEHQ.js","./chunk.3GNT5MKP.js","./chunk.AJMVRFYX.js","./chunk.Q355UPFG.js","./chunk.GMLONS5L.js","./chunk.264PB572.js","./chunk.6NG76MDA.js","./chunk.35KMZHB7.js","./chunk.IAEGJDF3.js","./chunk.YZPESGCP.js","./chunk.SY5ID44D.js","./chunk.GVT4UUQA.js","./chunk.5R744JGZ.js","./chunk.O2OL6RQQ.js","./chunk.J6HF7IRQ.js","./chunk.LRNFE3UK.js","./chunk.MB7LKKUD.js","./chunk.T2OUHRAA.js","./chunk.GRFD42WM.js","./chunk.EP6Q32WT.js","./chunk.QAM76AXV.js","./chunk.Z27NSSYL.js","./chunk.PZ7KY6XH.js","./chunk.WEMUKZKH.js","./chunk.T27QKVKP.js","./chunk.LP2ZMAT2.js","./chunk.BJUUSIQY.js","./chunk.MSAYU25L.js","./chunk.EGPCVMDU.js","./chunk.XOZU4OFA.js","./chunk.H3EGBDW2.js","./chunk.WVUJXDXZ.js","./chunk.DWM7AR5Y.js","./chunk.6KJGRM7A.js","./chunk.WALVW3KJ.js","./chunk.SNHKYH72.js","./chunk.UGQYMN4J.js","./chunk.RG5G6YQD.js","./chunk.MIE4TJRW.js","./chunk.QRQ5WPZI.js","./chunk.RD2FSSLV.js","./chunk.37RFCHSS.js","./chunk.SO6NT5K7.js","./chunk.MUSMNKE4.js","./chunk.SJQPTDAT.js","./chunk.JQ63N4MZ.js","./chunk.Z3O2VZAJ.js","./chunk.QNP5OR3P.js","./chunk.4W57E7AX.js","./chunk.A5PSEU3W.js","./chunk.SDO3U72B.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.I3SDKMQS.js"))),vo=Me(()=>(__graviewPreload(import.meta.url,["./chunk.QXLJGHMC.js","./chunk.DZMIYEHQ.js","./chunk.3GNT5MKP.js","./chunk.AJMVRFYX.js","./chunk.Q355UPFG.js","./chunk.GMLONS5L.js","./chunk.264PB572.js","./chunk.6NG76MDA.js","./chunk.35KMZHB7.js","./chunk.IAEGJDF3.js","./chunk.YZPESGCP.js","./chunk.SY5ID44D.js","./chunk.GVT4UUQA.js","./chunk.5R744JGZ.js","./chunk.O2OL6RQQ.js","./chunk.J6HF7IRQ.js","./chunk.LRNFE3UK.js","./chunk.MB7LKKUD.js","./chunk.T2OUHRAA.js","./chunk.GRFD42WM.js","./chunk.EP6Q32WT.js","./chunk.QAM76AXV.js","./chunk.Z27NSSYL.js","./chunk.PZ7KY6XH.js","./chunk.WEMUKZKH.js","./chunk.T27QKVKP.js","./chunk.LP2ZMAT2.js","./chunk.BJUUSIQY.js","./chunk.MSAYU25L.js","./chunk.EGPCVMDU.js","./chunk.XOZU4OFA.js","./chunk.H3EGBDW2.js","./chunk.WVUJXDXZ.js","./chunk.DWM7AR5Y.js","./chunk.6KJGRM7A.js","./chunk.WALVW3KJ.js","./chunk.SNHKYH72.js","./chunk.UGQYMN4J.js","./chunk.RG5G6YQD.js","./chunk.MIE4TJRW.js","./chunk.QRQ5WPZI.js","./chunk.RD2FSSLV.js","./chunk.37RFCHSS.js","./chunk.SO6NT5K7.js","./chunk.MUSMNKE4.js","./chunk.SJQPTDAT.js","./chunk.JQ63N4MZ.js","./chunk.Z3O2VZAJ.js","./chunk.QNP5OR3P.js","./chunk.4W57E7AX.js","./chunk.A5PSEU3W.js","./chunk.SDO3U72B.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.EBKH3ILT.js"))),$r=ht(()=>Yt(Vr().then(t=>t.SceneFace)),{what:"This view"}),Ir=ht(()=>Vr().then(t=>t.SceneKeeping),{quiet:!0}),_r=ht(()=>Yt(wo().then(t=>t.PagesContent)),{what:"This page"}),Wr=ht(()=>Yt(vo().then(t=>t.PictureFace)),{what:"This picture"}),bo=$r.Face,So=Ir.Face,Ao=_r.Face,Po=Wr.Face;jt(Me(()=>(__graviewPreload(import.meta.url,["./chunk.OCXY5DCD.js","./chunk.CEQQIW7Z.js","./chunk.H6KIEDZN.js","./chunk.264PB572.js","./chunk.32SHA3EY.js","./chunk.GG47EIKO.js","./chunk.NYLKG25K.js","./chunk.EFVSZKB5.js","./chunk.G3GFDVO2.js","./chunk.D4WJ7OM5.js","./chunk.QDVGHI7R.js","./chunk.AKJS2NUM.js","./chunk.M5FP4Y4Q.js","./chunk.RSMCTI2N.js","./chunk.URQTF5SY.js","./chunk.LP2ZMAT2.js","./chunk.B7KZBT27.js","./chunk.MUSMNKE4.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.3NSV3WKM.js"))));function He(...t){let r=t.length>0?t:["scene","pages","picture"],o=new Set(r.flatMap(Dr));return Promise.all([...[...o].map(i=>i.fetch()),tr()]).then(()=>{},()=>{})}var Dr=t=>t==="pages"?[_r]:t==="picture"?[Wr]:[$r,Ir],jr=t=>Dr(t).every(r=>r.here()),Ro=150,Kt=0;function Mr(t,r){if(jr(t))return r();let o=++Kt,i=()=>{o===Kt&&(Kt+=1,r())};He(t).then(i),setTimeout(i,Ro)}var Eo=768;function ko(t,r){let o=r!==null&&r>=Eo;(0,d.useEffect)(()=>{if(!o||t==="picture")return;let i=t==="pages"?"scene":"pages";if(jr(i))return;let l=globalThis,p=()=>void He(i),c=()=>{},b=Jn(()=>{if(l.requestIdleCallback&&l.cancelIdleCallback){let h=l.requestIdleCallback(p,{timeout:4e3});c=()=>l.cancelIdleCallback?.(h)}else{let h=setTimeout(p,1500);c=()=>clearTimeout(h)}});return()=>(b(),c())},[t,o])}function To({asked:t,shown:r,onDrawn:o}){return(0,d.useLayoutEffect)(()=>o(t,r),[t,r,o]),null}function xo({auto:t,scene:r}){return(0,w.jsx)("div",{"data-embed-content":"","aria-busy":"true",style:{flex:t?r?`0 0 ${Gt}px`:"0 0 auto":"1 1 auto",minHeight:0,background:"var(--graview-ground)"}})}var Fo=Vt(Me(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.5JNXQHN4.js")))).part((t,r)=>(0,w.jsx)(t.StudioPlace,{...r}),{quiet:!0});function qr(t,r,o,i,l){return Wt(t,lr(r?lt(r):l??Mn,i),o)}function Qt(t){return t&&lt(t).overview?"graview":"scene"}function Hr(t,r){if(r.homeView?.()===void 0)return!1;let o=t.pages?.first?.trim();return o===void 0||o===""||o==="/"||o.toLowerCase()==="home"}function zr(t){let[,r]=(0,d.useState)(!1),o=(0,d.useCallback)(()=>r(!0),[]),i=(0,d.useRef)(!1);return t.at&&!yt?(0,w.jsx)(qt,{onReady:o,fetch:Zt}):!i.current&&pr(t.draftView)?(0,w.jsx)(qt,{onReady:o,fetch:fr}):(i.current=!0,(0,w.jsx)(Oo,{...t}))}function Oo(t){let{app:r,stop:o,bar:i=!0,standing:l="Everything is in order",principal:p,heading:c=2}=t,{rootRef:b,scope:h,css:k,scheme:O,store:I,presence:S,brand:T,auto:x,height:C}=vr(t),re=mr(t.draftView),E=gr(t,ir,re.over),[de]=(0,d.useState)(qn),u=t.basePath===void 0?{}:{basePath:t.basePath},[V]=(0,d.useState)($t),$=t.notices??V,z=g=>Lt(g,u),ae={...t.routing?{routing:t.routing}:{},...u},[ie]=(0,d.useState)(()=>{let g=t.at?.face;if(g)return g;let Z=o===void 0&&Hr(r,E)?"pages":Qt(o),J=_t({...ae,face:Z});return t.face===void 0&&t.onOpening?.(J),J}),[ve,H]=(0,d.useState)(()=>t.face!==void 0&&t.face!=="pages"&&!t.at&&o===void 0&&sr(ae)&&Hr(r,E)),be=(0,d.useRef)(t.onFace);be.current=t.onFace,(0,d.useLayoutEffect)(()=>{ve&&(be.current?.("pages"),H(!1))},[ve]);let P=ve?"pages":t.face??ie,R=r.schema.kinds,N=t.routing==="address",Se=(0,d.useMemo)(()=>t.at?yt.settleAt(t,I.seenBy(p??{kind:"human"}),E.places()):void 0,[]),L=(0,d.useMemo)(()=>_n(E,r.schema),[E,r.schema]),pe=(0,d.useMemo)(()=>{let g=Se?.stop??(N?cr(t.basePath):void 0)??o;return P==="scene"&&g===void 0&&L===void 0&&(t.path===void 0||Jt(t.path))?Dt(void 0):qr(P,g,R,E.places(),L)},[]),[_]=(0,d.useState)(P);(0,d.useEffect)(()=>{_!=="pages"&&In(E)},[_,E]);let B=(0,d.useRef)(void 0),j=g=>g===void 0||Jt(g)?"/":g;B.current??={path:j(Se?.path??(N?P==="pages"?(Bt(window.location.pathname,t.basePath)??"/")+window.location.search:"/":t.path)),asked:t.path},t.path!==B.current.asked&&(B.current={path:j(t.path),asked:t.path});let X=(0,d.useRef)(t.onNavigate);X.current=t.onNavigate;let Fe=(0,d.useCallback)((g,Z)=>{B.current.path=g,X.current?.(g,Z)},[]),{at:me,setAt:D,steering:G,steer:oe}=Tr(B.current.path),M=(0,d.useContext)(Gr);M&&(M.pages=()=>B.current.path);let[Ne]=(0,d.useState)(()=>({})),Y=M??Ne,se=(0,d.useMemo)(()=>Zn($),[$]),q=(0,d.useRef)(void 0),Ae=(0,d.useCallback)(g=>void(B.current.path=g),[]),U=Qn(b),[Oe,Pe]=(0,d.useState)(!1),Ve=t.pagesBelow!==void 0&&U!==null&&U<t.pagesBelow&&(P==="scene"||P==="graview")&&!Oe,v=Ve?"pages":P,he=(0,d.useRef)(!1);he.current=Oe&&t.pagesBelow!==void 0&&U!==null&&U<t.pagesBelow&&(P==="scene"||P==="graview"),M&&(M.shown=v);let Ce=(0,d.useRef)(P==="graview"?"graview":"scene");(v==="scene"||v==="graview")&&(Ce.current=v),(0,d.useState)(()=>{if(!N||typeof window>"u"||v==="pages"||v==="picture")return;let{pathname:g,search:Z,hash:J}=window.location;Bt(g,t.basePath)==="/"&&window.history.replaceState(window.history.state,"",`${z(Te)}${Z}${J}`)}),wr(b,v,t.onIntrinsicHeight),ko(v,U);let ee=xr(t.onError,v),Le=Fr(t.onReady,v),Re=(0,d.useRef)(t.onFaceDrawn);Re.current=t.onFaceDrawn;let Ze=(0,d.useCallback)((g,Z)=>{Le(Z),Re.current?.(g)},[Le]),[$e,St]=(0,d.useState)(null),Xe=E.places(),Ie=(0,d.useRef)({shown:v,onFace:t.onFace});Ie.current={shown:v,onFace:t.onFace};let W=(0,d.useCallback)((g,Z,J)=>{if(N){q.current?.(g,Z,J);return}Ie.current.onFace?.(g),X.current?.(g==="pages"?Z??B.current.path:Te,"push")},[N]),[ye,K]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{v==="pages"&&K(void 0)},[v]);let _e=(0,d.useRef)(o);(0,d.useEffect)(()=>{_e.current!==o&&(_e.current=o,K(void 0))},[o]);let Ee=(0,d.useCallback)(g=>{if(Ie.current.shown==="pages"){if(Pe(!0),K(g),P==="scene"||P==="graview"){Mr(P,()=>{N?window.history.pushState(null,"",`${z(Te)}${g??""}`):X.current?.(Te,"push")});return}Mr(Ce.current,()=>W(Ce.current,void 0,g))}},[N,P,t.basePath,W]),Be=(0,d.useCallback)(g=>{if(Ie.current.shown==="pages"){G.go.current||(B.current.path=g),oe(g);return}if(B.current.path=g,D(g),he.current){Pe(!1),N?window.history.pushState(null,"",z(g)):X.current?.(g,"push");return}W("pages",g)},[G,oe,D,W,N,t.basePath]),Ke=E.arrangement?.(),le=v==="pages",ke=t.hrefOf,We=ke??(N?z:void 0),Q=(0,d.useMemo)(()=>({open:Be,...ke?{href:ke}:N?{href:g=>Lt(g,t.basePath===void 0?{}:{basePath:t.basePath})}:{}}),[Be,N,t.basePath,ke]);return(0,w.jsxs)("section",{ref:b,className:h,"aria-label":t.label??r.name,"data-graview-embed":v,"data-graview-scheme":O,...Ve?{"data-graview-embed-narrow":""}:{},style:{position:"relative",isolation:"isolate",height:C,minHeight:x?0:320,display:"flex",flexDirection:"column",overflow:"hidden",borderRadius:"var(--graview-radius, 12px)"},children:[(0,w.jsx)("style",{children:k}),(0,w.jsxs)(Yn.Provider,{value:ee,children:[(0,w.jsx)(br,{rootRef:b,board:$,onReport:t.onReport,where:()=>v==="pages"?Sr(me):v==="picture"?{place:"picture"}:Xn(Y.view?.focusId)}),(0,w.jsx)(yr,{rootRef:b,firstLook:t.firstLook,app:rr(T??{name:r.name},r.schema)}),(0,w.jsx)(Ye,{module:"@graview/react",report:ee,content:!0,children:(0,w.jsx)(jn.Provider,{value:de,children:(0,w.jsx)($n,{store:I,views:E,initialView:pe,scheme:O,...Ar(t,S,T),...t.onSeat?{onSeat:t.onSeat}:{},children:(0,w.jsxs)(er.Provider,{value:se,children:[(0,w.jsx)(Mo,{face:v,stop:ye??o,kinds:R,places:Xe,opens:L}),(0,w.jsx)(Co,{into:Y}),(0,w.jsx)(Lo,{rootRef:b,face:P,shown:v,path:me,stop:o,draft:re.n,onDrawn:t.onDrawn,parts:de}),N?(0,w.jsx)(dr,{pagesWere:Se?.path,basePath:t.basePath,shown:v,onFace:t.onFace,toggle:q,kinds:R,places:Xe,opens:L,landed:Ae}):null,i&&v!=="picture"?(0,w.jsx)(Ye,{module:"@graview/embed",report:ee,children:(0,w.jsx)(Pr,{name:T?.name??r.name,heading:c,named:zt(i).name!==!1,faces:zt(i).faces===!1?void 0:{scene:{label:On(Ke),current:!le,go:()=>Ee(),reach:()=>void He(Ce.current)},pages:{label:Cn(Ke),current:le,go:()=>Be(B.current.path),reach:()=>void He("pages")}},at:le?me:null,without:t.pages?.without(),home:{...We?.("/")!==void 0?{href:We("/")}:{},go:()=>Be("/"),current:le&&me.split("?")[0]==="/"},reach:{...We?{href:We}:{},go:g=>Be(g.path)},standing:l,hostActions:t.hostActions,barActions:t.barActions,appMenu:t.appMenu,schemeChoice:t.schemeChoice,share:t.share,status:t.status,keeping:le?void 0:(0,w.jsx)(Ho,{app:r,studio:t.studio,report:ee}),onFind:St})}):null,(0,w.jsx)(nr.Provider,{value:$e,children:(0,w.jsx)(Ye,{module:v==="pages"||v==="picture"?"@graview/pages":"@graview/react",report:ee,content:!0,children:(0,w.jsxs)(d.Suspense,{fallback:(0,w.jsx)(xo,{auto:x,scene:v!=="pages"&&v!=="picture"}),children:[v==="picture"?(0,w.jsx)(Po,{scope:h,store:I,views:E,as:(o?lt(o).within?.view:void 0)??""}):v==="pages"?(0,w.jsx)(Ao,{store:I,views:E,presence:S,auto:x,brand:T,steering:G,overview:Ee,scope:h,titleLevel:kr(c),quickAsk:It(t.quickAsk),props:{...t,onNavigate:Fe,...N?{}:{path:B.current.path}}}):(0,w.jsx)(Wn.Provider,{value:Q,children:(0,w.jsx)(bo,{address:N,auto:x,scheme:O,scope:h,quickAsk:It(t.quickAsk)})}),(0,w.jsx)(To,{asked:P,shown:v,onDrawn:Ze})]})},v)})]})})})})]})]})}var Jt=t=>t.split(/[?#]/)[0]===Te,Gr=(0,d.createContext)(null);function Co({into:t}){return t.view=ut().view,null}function Lo({rootRef:t,face:r,shown:o,path:i,stop:l,draft:p,onDrawn:c,parts:b}){let{view:h}=ut(),k=o==="scene"||o==="graview",O=dt(h),{pan:I,...S}=h,T=h.pan?dt(S):O,x={face:r,path:k?Te:o==="picture"?l??"#":i,stop:O};return Br(t,`${o} ${k?T:x.path} ${p}`,x,c,b),null}var yt,Bo=Me(()=>(__graviewPreload(import.meta.url,["./chunk.UDHPMVC4.js","./chunk.QNP5OR3P.js","./chunk.4W57E7AX.js","./chunk.A5PSEU3W.js","./chunk.SDO3U72B.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.NKLPL7QD.js"))),Zt=()=>Bo().then(t=>void(yt=t),()=>new Promise(t=>{let r=()=>{window.removeEventListener("online",r),clearTimeout(o),t()},o=setTimeout(r,1e4);window.addEventListener("online",r)}).then(Zt));function Mo({face:t,stop:r,kinds:o,places:i,opens:l}){let{view:p,go:c}=ut(),b=(0,d.useRef)({face:t,stop:r});return(0,d.useLayoutEffect)(()=>{let h=b.current.stop!==r,k=b.current.face!==t,O=b.current.face==="pages";if(b.current={face:t,stop:r},!h&&!k||t==="pages"||t==="picture")return;let I=(h||O)&&r!==void 0?qr(t,r,o,i):O&&ur(p)?Wt(t,Dt(l),o):t==="graview"?Nt(p,!0):p.overview?Hn(Nt(p,!1),or(p,o)):p;c(I)},[t,r,o,p,c,l]),null}function Ho({app:t,studio:r,report:o}){return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(d.Suspense,{fallback:null,children:(0,w.jsx)(So,{})}),r!==!1?(0,w.jsx)(Ye,{module:"@graview/studio",report:o,children:(0,w.jsx)(No,{app:t,studio:r})}):null]})}function No({app:t,studio:r}){let o={app:t,within:"box",...r?{onApply:r.onApply}:{},...r?.landmark?{landmark:r.landmark}:{},...r?.offered!==void 0?{offered:r.offered}:{}},i=r?.place;return i?(0,w.jsx)(i,{...o}):(0,w.jsx)(d.Suspense,{fallback:null,children:(0,w.jsx)(Fo,{...o})})}function Vo({path:t,stop:r,...o},i){return{...o,app:i.app,at:i.at,remote:i.remote,...i.remote.presence?{presence:i.remote.presence}:{}}}function Xt(t,r){let o=r.store??r.remote?.store??hr(r.app,r.seed),i=r.notices??$t(),l=null,p={},c=0,b=r.label,h=r.app,k=Promise.resolve(),O=r.at?.face??r.face,I=O===void 0?void 0:_t({...r,face:O}),S=I??Qt(r.stop),T=null,x=[],C=u=>{if(T=u,u!==S)return;let V=x;x=[];for(let $ of V)$()};function re(){let[u,V]=(0,d.useState)(I),[$,z]=(0,d.useState)(r.stop),[ae,ie]=(0,d.useState)(r.path),[ve,H]=(0,d.useState)(r.scheme??"auto"),[be,P]=(0,d.useState)(r.principal),[R,N]=(0,d.useState)(r.seats),[Se,L]=(0,d.useState)(r.quickAsk),[pe,_]=(0,d.useState)(r.people),[B,j]=(0,d.useState)(r.hostContext),[X,Fe]=(0,d.useState)(r.brand),[me,D]=(0,d.useState)(r.whileAway),[G,oe]=(0,d.useState)(r.label),[M,Ne]=(0,d.useState)(r.hostActions),[Y,se]=(0,d.useState)(r.barActions),[q,Ae]=(0,d.useState)(()=>Rr(r)),[U,Oe]=(0,d.useState)(void 0),[Pe,Ve]=(0,d.useState)(r.draftView);return l={app:v=>{Oe(v),ie(void 0),z(void 0)},face:V,stop:z,path:ie,scheme:H,seat:P,seats:N,quickAsk:L,people:_,hostContext:j,brand:Fe,whileAway:D,label:oe,hostActions:Ne,barActions:se,hostBar:v=>Ae(he=>({...he,...v})),draft:Ve},(0,w.jsx)(Gr.Provider,{value:p,children:(0,w.jsx)(zr,{...U?Vo(r,U):r,store:o,notices:i,...u!==void 0?{face:u}:{},onOpening:v=>{S=v},...$!==void 0?{stop:$}:{},...ae!==void 0?{path:ae}:{},...be?{principal:be}:{},...R?{seats:R}:{},...Se!==void 0?{quickAsk:Se}:{},...pe?{people:pe}:{},...B?{hostContext:B}:{},...X?{brand:X}:{},whileAway:me,label:G,hostActions:M,barActions:Y,...Er(q),draftView:Pe,scheme:ve,onFace:v=>{S=v,V(v)},onSeat:P,onFaceDrawn:C},U?.n??0)})}let E=()=>{let u=p.view?.focusId,V=u?o.graph.getNode(u)?.kind:void 0,$=(p.shown??S)==="scene"||(p.shown??S)==="graview";return{face:S,path:$?Te:p.pages?.()??r.path??"/",stop:p.view?dt(p.view):r.stop??"#",...V?{kind:V}:{}}},de=(0,Nr.createRoot)(t);return(0,F.flushSync)(()=>de.render((0,w.jsx)(re,{}))),{get store(){return o},where:E,setApp:(u,V,$)=>{let z="graph"in V?{store:V}:V,ae=()=>{let ie=E();o=z.store,b=$?.label??(b===h.name?u.name:b),h=u,(0,F.flushSync)(()=>{l?.label(b),l?.app({app:u,remote:z,at:ie,n:++c})})};yt?ae():k=k.then(Zt).then(ae)},setFace:u=>{S=u,(0,F.flushSync)(()=>l?.face(u))},setStop:u=>(0,F.flushSync)(()=>l?.stop(u)),setPath:u=>(0,F.flushSync)(()=>{if(Jt(u)){(S==="pages"||S==="picture")&&(S="scene",l?.face("scene"));return}l?.path(u),S!=="pages"&&(S="pages",l?.face("pages"))}),setScheme:u=>(0,F.flushSync)(()=>l?.scheme(u)),setSeat:u=>(0,F.flushSync)(()=>l?.seat(u)),setSeats:u=>(0,F.flushSync)(()=>l?.seats(u)),setQuickAsk:u=>(0,F.flushSync)(()=>l?.quickAsk(u)),setPeople:u=>(0,F.flushSync)(()=>l?.people(u)),setHostContext:u=>(0,F.flushSync)(()=>l?.hostContext(u)),setBrand:u=>(0,F.flushSync)(()=>l?.brand(u)),setWhileAway:u=>(0,F.flushSync)(()=>l?.whileAway(u)),setDraftView:u=>(0,F.flushSync)(()=>l?.draft(u)),setLabel:u=>{b=u,(0,F.flushSync)(()=>l?.label(u))},setHostActions:u=>(0,F.flushSync)(()=>l?.hostActions(u)),setBarActions:u=>(0,F.flushSync)(()=>l?.barActions(u)),setAppMenu:u=>(0,F.flushSync)(()=>l?.hostBar({appMenu:u})),setShare:u=>(0,F.flushSync)(()=>l?.hostBar({share:u})),setStatus:u=>(0,F.flushSync)(()=>l?.hostBar({status:u})),setSchemeChoice:u=>(0,F.flushSync)(()=>l?.hostBar({schemeChoice:u})),setNotifications:u=>(0,F.flushSync)(()=>l?.hostBar({notifications:u})),drawn:()=>k.then(()=>T===S?void 0:new Promise(u=>x.push(u))),notify:u=>{let V;return(0,F.flushSync)(()=>{V=i.notify(u)}),V},unmount:()=>de.unmount()}}var gt=t=>`s${(t+1).toString(36)}`;var we={seat:"x-graview-seat",roles:"x-graview-roles",kind:"x-graview-kind",name:"x-graview-name",for:"x-graview-for",forRoles:"x-graview-for-roles",forName:"x-graview-for-name",via:"x-graview-via"},ze={header:"x-graview-key",param:"graview_key",cookie:"graview_key"};function wt(t,r={}){try{let o=new URL(t),i=o.searchParams.get(ze.param);if(i)return o.searchParams.delete(ze.param),{url:o.origin+o.pathname.replace(/\/$/,"")+o.search,key:i,headers:{[ze.header]:i,...r}}}catch{}return{url:t.replace(/\/$/,""),headers:r}}var Ur="/graview/friction";var Kr="/graview/live",en="graview.ship",tn=`${en}.${it}`;var Ge=class extends Error{constructor(r){super(r),this.name="Superseded"}},xe=t=>t?.lineage?{lineage:t.lineage}:{},$o=(t,r)=>`${t.calls.map(o=>o.name.replace(/-/g," ")).join(", ")} (${r instanceof Error?r.message.split(`
2
+ `)[0]??"":String(r)})`;function Io(t){if(!t)return[];try{let r=t.storage.getItem(t.key);if(r===null)return[];t.storage.removeItem(t.key);let o=JSON.parse(r);return Array.isArray(o)?o.filter(i=>!!i&&Array.isArray(i.calls)):[]}catch{return[]}}var Ue=class extends Error{constructor(o){super(o.sentence);this.refusal=o;this.name="RemoteRefusedError"}},_o={401:"forbidden",403:"forbidden",404:"missing",413:"limit"},fe=class extends Error{constructor(o,i){super(o);this.conflicts=i;this.name="StaleWrite"}},Qe=class extends Error{constructor(r){super(r),this.name="Unreached"}},Wo=new Set([502,503,504]);async function Do(t){try{return(await t.clone().json()).reason==="unavailable"}catch{return!1}}function jo(){let t=Math.random().toString(36).slice(2,8),r=0;return()=>`local-${t}-${++r}`}var qo=1,zo=()=>({refusals:new Set,conflicts:new Set,statuses:new Set,helds:new Set,builds:new Set,who:new Set,declarations:new Set,tally:{reconnects:0,rebases:0,conflicts:0,resyncs:0}});async function vt(t){return(await Jr(t,Io(t.carry),"This app was updated while your changes were on the way.",zo())).remote}async function Jr(t,r,o,i){let{key:l,...p}=wt(t.url,t.headers),c={...t,...p},b=c.fetch??fetch,h={"content-type":"application/json",...c.headers??{}},k={...bt(c.principal),[we.via]:c.via??"web"};Object.assign(h,k);let O=c.live===!0,I=c.presenceEveryMs,S=c.visible??Ko,T="connecting",x=i.statuses,C=i.tally,re=[],E,de=[],u=()=>T==="online"&&E!==void 0?"held":T,V=()=>{let e=u();if(i.told!==e){i.told=e;for(let n of[...x])n(e)}},$=e=>{if(!(e===T||ce)&&(T==="offline"&&e==="online"&&C.reconnects++,T=e,V(),e==="online"))for(let n of re.splice(0))n.again()},z=e=>{if(ce)return;let n=typeof e=="string"&&e.length>0?e:void 0,s=n!==E;if(E=n,ae(),!!s&&(V(),n===void 0)){for(let a of de.splice(0))a();te&&clearTimeout(te),sn()}},ae=()=>{if(i.toldHeld!==E){i.toldHeld=E;for(let e of[...i.helds])e(E??null)}},ie=async(e,n)=>{let s;try{s=await b(e,n)}catch(a){throw Q()||$("offline"),new Qe(a instanceof Error?a.message:String(a))}if(s.status===503&&await Do(s))return $("online"),s;if(Wo.has(s.status))throw Q()||$("offline"),new Qe(`The server is away (${s.status})`);return $("online"),s},ve=async(e=!1)=>{let n=`${c.url}/graview/state?opFormat=${qe.op}`,s=e?await b(n,{headers:h}):await ie(n,{headers:h});if(!s.ok)throw new Error((await s.json().catch(()=>({}))).error??`The server refused (${s.status})`);return await s.json()},H=c.state??await ve(!0);O||(T="online"),E=typeof H.held=="string"&&H.held.length>0?H.held:void 0,ae();let be=H.enabledModules??c.enabledModules,P=c.localApp?c.localApp(c.app):c.app,R=new Fn({schema:P.schema,mutations:P.mutations??[],invariants:P.invariants??[],...P.policy?{policy:P.policy}:{},...P.publishing?{publishing:P.publishing}:{},...P.tidying?{tidying:P.tidying}:{},...P.modules?{modules:P.modules}:{},...be?{enabledModules:be}:{},...P.intelligence?{intelligence:P.intelligence}:{},...P.brand?.timeZone?{timeZone:P.brand.timeZone}:{},snapshot:H.snapshot,log:H.log,...H.horizon!==void 0?{horizon:H.horizon}:{},ids:jo(),...c.storeOptions??{}});Pn.served.add(R);let N=c.friction!==!1&&c.principal?.kind!=="visitor";N&&En(R,e=>{N&&b(`${c.url}${Ur}`,{method:"POST",headers:h,body:JSON.stringify({event:e})}).then(n=>void(N=n.status!==404&&n.status!==410),()=>{})});let Se=Tn(R),L=H.log.at(-1)?.seq??(H.horizon??0)-1,pe=Ct.of(H.log,{horizon:H.horizon??0}),_=null,B,j=new Map,X=i.who,Fe=!1,me=e=>{if(ce)return;Fe=!0;let n=Ln(new Map,e,Date.now(),Mt,_?.participant);B!==void 0&&n.delete(B);let s=n.size!==j.size;if(!s)for(let[a,f]of n)Ht(f,j.get(a))||(s=!0);if(j=n,!!s)for(let a of[...X])a([...j.values()])},D=[],G=new Set,oe=e=>{let n=D.indexOf(e);n>=0&&D.splice(n,1)},M=new Map,Ne=(e,n)=>{let s=M.get(e);s&&(M.delete(e),s.resolve({ops:n.filter(a=>a.batch===e),batch:e}))},Y,se=[],q=(e,n=[])=>{if(e.length===0&&n.length===0)return[];if(Y)return se.push({ops:e,drop:n}),[];let s=Math.min(...e.filter(m=>m.seq>L).map(m=>m.seq));if(Number.isFinite(s)&&s>L+1)return se.push({ops:e,drop:n}),Ae(),[];let a=D.filter(m=>e.some(ne=>ne.batch===m)),f=[...new Set([...n,...a])].filter(m=>G.has(m)),y,A=D.filter(m=>!a.includes(m));try{y=R.rebase({confirmed:e,pending:A,drop:f}).confirmed}catch(m){if(!(m instanceof xn))throw m;return se.push({ops:e,drop:n}),Ae(),[]}for(let m of a)oe(m);e.some(m=>m.seq>L)&&A.some(m=>!f.includes(m))&&C.rebases++,e.length>0&&(L=Math.max(L,...e.map(m=>m.seq)),pe.note(e));for(let m of f)G.delete(m);for(let m of a)Ne(m,e);return y},Ae=()=>{Y||(Y=Re(ve().then(e=>{if(U(e)){se=[];return}let n=new Set(e.log.map(f=>f.batch)),s=D.filter(f=>n.has(f));for(let f of s)oe(f);let a=R.adopt({snapshot:e.snapshot,log:e.log,...e.horizon!==void 0?{horizon:e.horizon}:{},pending:[...D],drop:[...G].filter(f=>!D.includes(f))});G.clear();for(let f of a.pending)G.add(f.batch);L=e.log.at(-1)?.seq??(e.horizon??0)-1,pe=Ct.of(e.log,{horizon:e.horizon??0}),C.resyncs++;for(let f of s)Ne(f,e.log)}).then(()=>{Y=void 0;let e=se;se=[];for(let{ops:n,drop:s}of e)q(n,s)},()=>{Y=void 0,se=[]})))},U=e=>(typeof e.build=="string"&&dn(e.build),typeof e.version=="number"&&z(e.held),typeof e.version!="number"||e.version===H.version?!1:(Rt(e.version),!0)),Oe=async e=>{let s=await(await ie(`${c.url}/graview/since?seq=${gt(e)}&opFormat=${qe.op}`,{headers:h})).json();return U(s)?[]:s.reset===!0?(Ae(),[]):s.ops??[]},Pe=async()=>{let e=await Ve();return Y&&await Y,e},Ve=async()=>{if(_&&!Q()&&S()){let n=await(await ie(`${c.url}/graview/here?opFormat=${qe.op}`,{method:"POST",headers:h,body:JSON.stringify({presence:_,seq:gt(L)})})).json();return U(n)?[]:(typeof n.participant=="string"&&(B=n.participant),me(n.who??[]),q(n.ops??[]))}return q(await Oe(L))},v=new Map,he=new Map,Ce=new Set,ee=new Map,Le=new Set,Re=e=>(Le.add(e),e.finally(()=>Le.delete(e)).catch(()=>{}),e),Ze=Promise.resolve(),$e=0,St=(e,n)=>{let s=Ze.then(()=>Ie(e,n));return Ze=s.catch(()=>{}),s},Xe=()=>new Promise((e,n)=>re.push({again:e,give:n})),Ie=async(e,n)=>{let s,a;for(;;){try{s=await ie(`${c.url}/graview/ops`,{method:"POST",headers:h,body:JSON.stringify({...e,opFormat:qe.op})})}catch(m){if(!(m instanceof Qe)||K)throw m;if(await Xe(),Q())return et(e,n);continue}if(a=await s.json().catch(()=>({})),s.status===503&&a.reason==="unavailable"&&typeof a.held=="string"&&!K){if(typeof a.version=="number"?U(a):(z(a.held),!1))break;if(E!==void 0&&(xt>0||O)){if(await new Promise(m=>de.push(m)),K)throw new Ge("The client closed.");if(Q())return et(e,n);continue}}let A;if(s.status===503&&a.reason==="unavailable"&&!K)A=nn(c.backoff,$e++);else{if($e=0,s.status!==429||K)break;A=Go(s.headers.get("retry-after"),a.retryAfter)}if(await new Promise(m=>setTimeout(m,A)),Q())return et(e,n)}if(ce||U(a))throw new Ge("The app was changed.");if(!s.ok){let A=a.error??`The server refused (${s.status})`;throw a.conflict?new fe(A,a.conflicts??[]):new Ue({reason:a.reason??_o[s.status]??"invalid",sentence:A,...a.wouldNeed?.length?{wouldNeed:a.wouldNeed}:{}})}let f=a.ops??[],y=f[0]?.seq;return y!==void 0&&y>L+1&&(f=await Oe(L)),n!==void 0&&(a.batch&&v.set(n,a.batch),oe(n)),q(f,n!==void 0?[n]:[]),{ops:a.ops??[],...a.batch?{batch:a.batch}:{}}},W,ye=!1,K=!1,_e=0,Ee,Be=0,Ke=0,le=null,ke=()=>{},We=new Promise(e=>{ke=e}),Q=()=>O&&ye&&W?.readyState===qo,g=e=>{if(!Q())return!1;try{return W.send(JSON.stringify(e)),!0}catch{return!1}},Z=(e=!1)=>{!_||!Q()||!S()||!e&&le&&Ht(_,le)&&(I===void 0||Date.now()-Ke<I)||g({t:"here",presence:_})&&(le=_,Ke=Date.now())},J=new Set,te,sn=()=>{if(te=void 0,E!==void 0)return;let e=[...M.entries()].filter(([n])=>J.has(n));J.clear();for(let[,n]of e)g(n.message)},cn=(e,n)=>{M.has(e)&&(J.add(e),te&&clearTimeout(te),te=setTimeout(sn,Math.max(0,n)))},Zr=e=>{M.has(e)&&J.add(e)},et=(e,n)=>new Promise((s,a)=>{let f=n??`send-${++Be}`,y=e.undo?{t:"undo",cid:f,batches:e.undo,...e.intent?{intent:e.intent}:{},...e.batch?{batch:e.batch}:{},...e.via?{via:e.via}:{},...xe(e)}:{t:"call",cid:f,calls:e.calls??[],...e.intent?{intent:e.intent}:{},...e.batch?{batch:e.batch}:{},...e.base?.length?{base:e.base}:{},...e.via?{via:e.via}:{},...xe(e)};if(M.set(f,{message:y,...n!==void 0?{mine:n}:{},resolve:s,reject:a}),J.size>0||E!==void 0){J.add(f);return}g(y)}),tt=(e,n)=>Q()?et(e,n):St(e,n),Xr=e=>{switch(e.t){case"welcome":{if(dn(e.build),typeof e.version=="number"&&e.version!==H.version){Rt(e.version);return}if(ye=!0,_e=0,typeof e.participant=="string"&&(B=e.participant),z(e.held),e.state?Ae():q(e.ops??[]),J.clear(),te&&clearTimeout(te),te=void 0,E!==void 0)for(let n of M.keys())J.add(n);else for(let n of M.values())g(n.message);Z(!0),$("online"),ke();return}case"ops":q(e.ops??[]);return;case"ack":{let n=M.get(e.cid);if(!n){q(e.ops??[]);return}M.delete(e.cid),$e=0,n.mine!==void 0&&(v.set(n.mine,e.batch),oe(n.mine)),q(e.ops??[],n.mine!==void 0?[n.mine]:[]),n.resolve({ops:e.ops??[],batch:e.batch});return}case"refused":case"conflict":{let n=M.get(e.cid);if(!n)return;if(e.t==="refused"&&e.reason==="unavailable"){E!==void 0?Zr(e.cid):cn(e.cid,nn(c.backoff,$e++));return}M.delete(e.cid),n.reject(e.t==="conflict"?new fe(e.sentence,e.conflicts??[]):new Ue({reason:e.reason??"invalid",sentence:e.sentence,...e.wouldNeed?.length?{wouldNeed:[...e.wouldNeed]}:{}}));return}case"busy":typeof e.cid=="string"&&cn(e.cid,typeof e.retryAfter=="number"?e.retryAfter:1e3);return;case"presence":me(e.who??[]);return;case"held":z(e.sentence);return;case"declaration":typeof e.version=="number"&&e.version!==H.version&&Rt(e.version);return;case"reload":pn(typeof e.reason=="string"?e.reason:"This app was updated.");return;case"error":if(e.reopen===!0&&W){let n=W;hn(n);try{n.close(1e3,"Opening again.")}catch{}}return;default:return}},ce=!1,At=i.declarations,Pt=i.builds,dn=e=>{if(!(ce||i.otherBuild!==void 0||!c.build||typeof e!="string"||e.length===0||e===c.build)){i.otherBuild=e;for(let n of[...Pt])n(e)}},ln=()=>{let e=[],n=0;for(let s of D){let a=ee.get(s);a?e.push({calls:a.calls,...a.intent?{intent:a.intent}:{},...a.via?{via:a.via}:{},...xe(a),batch:s}):n++}return{carried:e,undos:n}},un=(e,n)=>`${n} while ${e===1?"an undo of yours was":"undos of yours were"} on the way; ${e===1?"it was":"they were"} not made.`,fn=e=>{ce=!0,_=null;let n=new Ge(e);for(let a of M.values())a.reject(n);M.clear(),ot&&clearInterval(ot),K=!0,Ee&&clearTimeout(Ee),te&&clearTimeout(te),ge&&clearTimeout(ge);for(let a of re.splice(0))a.give(n);for(let a of de.splice(0))a();let s=W;W=void 0,ye=!1;try{s?.close(1e3,e)}catch{}ke()};async function Rt(e){if(ce)return;if(!c.resolveApp){pn(`This app was changed on its server (version ${e}); reload the page to carry on.`);return}let{carried:n,undos:s}=ln(),a=c.resolveApp,f=_;fn("The app was changed.");try{let y=await a(e),{state:A,...m}=c,ne=await Jr({...m,app:y},n,"The app was changed while your changes were on the way.",i);f&&ne.remote.presence.here(f);for(let at of[...At])at(ne.remote,e);let ue=[...s>0?[nt(un(s,"The app was changed"))]:[],...ne.unheard()];for(let at of ue)for(let so of De)so(at.sentence,at)}catch(y){let A=`The app was changed, but the new version could not be opened: ${y instanceof Error?y.message:String(y)}`;for(let m of De)m(A,nt(A))}}function pn(e){if(ce)return;let{carried:n,undos:s}=ln();fn(e);let a=!1;if(c.carry&&n.length>0)try{c.carry.storage.setItem(c.carry.key,JSON.stringify(n)),a=!0}catch{}let f=[];!a&&n.length>0&&f.push(`${e} ${n.length===1?"A change of yours was":`${n.length} changes of yours were`} not sent; make ${n.length===1?"it":"them"} again after the page reloads.`),s>0&&f.push(un(s,"This app was updated"));for(let y of f)for(let A of De)A(y,nt(y));(c.reloadPage??Uo)()}let mn=()=>{if(K||!O)return;let e=`${c.url.replace(/^http/,"ws").replace(/\/$/,"")}${Kr}`,{"content-type":n,...s}=h,a;try{a=c.socket?c.socket(e,s,[tn]):io(e,s)}catch{return yn()}W=a,ye=!1,a.onopen=()=>{W===a&&a.send(JSON.stringify({t:"hello",seq:gt(L),protocol:it,wire:en,opFormat:qe.op,...c.build?{build:c.build.slice(0,64)}:{},...c.hostProtocol!==void 0?{hostProtocol:c.hostProtocol}:{}}))},a.onmessage=f=>{if(W!==a)return;let y;try{y=JSON.parse(String(f.data))}catch{return}Xr(y)},a.onclose=()=>hn(a),a.onerror=()=>{}},ge,eo=()=>{Fe=!1,ge&&clearTimeout(ge),ge=setTimeout(()=>{if(ge=void 0,Fe||K)return;let e=new Map([...j].filter(([,n])=>n.held!=="socket"));if(e.size!==j.size){j=e;for(let n of X)n([...j.values()])}},Mt),ge.unref?.()};function hn(e){if(W!==e)return;let n=ye;W=void 0,ye=!1,le=null,n&&($("offline"),eo()),yn()}let yn=()=>{if(K)return;let e=nn(c.backoff,_e);_e++,Ee=setTimeout(mn,e)},gn=R.applyAll.bind(R),to=R.undo.bind(R),no=R.previewAll.bind(R);R.previewAll=(e,n)=>no(e,{...c.principal?{author:c.principal}:{},...n});let De=i.refusals,Je=[],nt=e=>({reason:"invalid",sentence:e}),rt=i.conflicts,Et=!1,wn,kt=async(e,n)=>{if(n instanceof Ge||ce)return;let s=n instanceof Ue?n.refusal:An(n),a=s.sentence,f=n instanceof fe?wn?.yoursOf(R,ee.get(e)?.calls??[]):void 0;oe(e);try{q([],[e])}catch{}let y=ee.get(e);ee.delete(e);let A=y?.calls[0];if(A&&!(n instanceof fe)){let m=R.allMutations().find(ue=>ue.name===A.name)?.subject?.arg,ne=m&&R.graph.getNode(A.args[m])?.kind;kn(R,{type:"refused",act:A.name,code:s.reason,...ne?{kind:ne}:{}},c.principal)}if(n instanceof fe&&C.conflicts++,n instanceof fe&&!Q()&&await Pe().catch(()=>[]),n instanceof fe&&Y&&await Y,n instanceof fe&&rt.size>0){let m=!1,ne={sentence:a,conflicts:f?n.conflicts.map(ue=>ue.node===f.node&&ue.field===f.field?{...ue,yours:f.yours}:ue):n.conflicts,keepTheirs(){m=!0},useMine(){if(!(m||!y)){m=!0,Et=!0;try{R.applyAll(f?[f.over(L)]:y.calls,{...y.intent?{intent:y.intent}:{},...y.via?{via:y.via}:{},...xe(y)})}finally{Et=!1}}}};for(let ue of rt)ue(ne);return}for(let m of De)m(a,s)},ro=(e,n)=>e.flatMap(s=>s.mutation?.name===Sn?[]:s.primitives.flatMap(a=>a.op==="splice-text"&&!n.has(a.id)&&!n.has(`${a.id}\0${a.field}`)?[{node:a.id,field:a.field,rev:L}]:[]));R.applyAll=(e,n)=>{let s=Rn(R.log.all().filter(A=>G.has(A.batch))),a=gn(e,{...c.principal?{author:c.principal}:{},...n}),f=e.map((A,m)=>{let ne=a.minted?.[m];return ne===void 0||A.args?.id!==void 0?A:{...A,mintedHint:ne}});D.push(a.batch),G.add(a.batch),ee.set(a.batch,{calls:f,...n?.intent?{intent:n.intent}:{},...n?.via?{via:n.via}:{},...xe(n)});let y=Et?[]:[...pe.baseFor(a.ops,s,(A,m)=>R.collaborative(A,m)),...ro(a.ops,s)];return he.set(a.batch,Re(tt({calls:f,...n?.intent?{intent:n.intent}:{},batch:a.batch,...y.length>0?{base:y}:{},...n?.via?{via:n.via}:{},...xe(n)},a.batch).catch(A=>kt(a.batch,A)))),a},R.apply=(e,n)=>R.applyAll([e],n),R.undo=(e,n)=>{let s=typeof e=="string"?[e]:e,a=to(s.map(y=>v.get(y)??y),{...c.principal?{author:c.principal}:{},...n});D.push(a.batch),G.add(a.batch);let f=Promise.allSettled(s.map(y=>he.get(y)));return he.set(a.batch,Re(f.then(()=>{let y=s.filter(A=>!Ce.has(A));if(y.length===0){oe(a.batch),ee.delete(a.batch),q([],[a.batch]);return}return tt({undo:y.map(A=>v.get(A)??A),...n?.intent?{intent:n.intent}:{},batch:a.batch,...n?.via?{via:n.via}:{},...xe(n)},a.batch)}).catch(y=>kt(a.batch,y)))),a};let oo=async(e,n={})=>{Tt++;try{return(await Re(tt({calls:e,...n}))).ops}finally{Tt--}},Tt=0,vn={here(e){_=e,Z()},onWho(e){return X.add(e),j.size>0&&e([...j.values()]),()=>{X.delete(e)}},leave(){if(!_)return;let e=JSON.stringify({participant:B??_.participant});if(_=null,g({t:"bye"}))return;let n=globalThis.navigator?.sendBeacon;n?n.call(globalThis.navigator,`${c.url}/graview/leave${l!==void 0?`?${ze.param}=${encodeURIComponent(l)}`:""}`,e):b(`${c.url}/graview/leave`,{method:"POST",headers:h,body:e}).catch(()=>{})}},xt=c.pollMs??800,ot=xt>0&&typeof setInterval=="function"?setInterval(()=>{Q()||Pe().catch(()=>{})},xt):null;if(O){mn();let e;await Promise.race([We,new Promise(n=>e=setTimeout(n,c.openTimeoutMs??3e3))]),clearTimeout(e)}if(r.length>0&&!ce){let e=[],n=new Set(R.log.all().map(s=>s.batch));for(let s of r)if(!(s.batch!==void 0&&n.has(s.batch)))try{R.applyAll(s.calls,{...s.intent?{intent:s.intent}:{},...s.batch?{batch:s.batch}:{},...s.via?{via:s.via}:{},...xe(s)})}catch(a){e.push($o(s,a))}e.length>0&&Je.push(nt(`${o} ${e.length===1?"One no longer fits and was not made":`${e.length} no longer fit and were not made`}: ${e.join("; ")}.`))}let bn=new Map,ao=()=>({store:R,author:c.principal,appliedAll:gn,pending:D,provisional:G,asked:ee,answers:he,letGo:Ce,sent:(e,n)=>Re(tt({calls:n,batch:e},e).catch(s=>kt(e,s))),settle:oe,land:q,seen:()=>L,gone:()=>K||ce});return{remote:{store:R,typing(e,n){let s=`${e}\0${n}`,a=bn.get(s);return a||(a=(__graviewPreload(import.meta.url,["./chunk.4UUJHLHR.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.25QFDTCU.js")).then(f=>(wn=f,f.typingOf(e,n,f.wireOf(ao())))),bn.set(s,a)),a},version:H.version,migrated:H.migrated??[],send:oo,pull:Pe,onRefusal(e){De.add(e);let n=Je;Je=[];for(let s of n)e(s.sentence,s);return()=>De.delete(e)},onDeclaration(e){return At.add(e),()=>At.delete(e)},onBuild(e){return Pt.add(e),i.otherBuild!==void 0&&e(i.otherBuild),()=>Pt.delete(e)},onConflict(e){return rt.add(e),()=>rt.delete(e)},revision:(e,n)=>pe.of(e,n),seq:()=>L,participant:()=>B,transport:()=>Q()?"socket":"poll",status:u,onStatus(e){return x.add(e),()=>x.delete(e)},held:()=>E,onHeld(e){return i.helds.add(e),E!==void 0&&e(E),()=>i.helds.delete(e)},counters:()=>({...C}),who:()=>[...j.values()],pending:()=>D.length+Tt,async settled(){for(;Le.size>0;)await Promise.allSettled([...Le])},presence:vn,close(){ot&&clearInterval(ot),Se(),vn.leave(),K=!0,Ee&&clearTimeout(Ee),te&&clearTimeout(te),ge&&clearTimeout(ge);for(let n of re.splice(0))n.give(new Error("The client closed before the server could be reached."));for(let n of de.splice(0))n();let e=W;W=void 0,ye=!1;try{e?.close(1e3,"Closed.")}catch{}}},unheard(){let e=Je;return Je=[],e}};function io(e,n){let s=globalThis.WebSocket;if(!s)throw new Error("This runtime has no WebSocket; the client polls instead.");let a=typeof globalThis.document<"u",f=c.subprotocol?[tn]:[];if(!a)try{return new s(e,{headers:n,...f.length>0?{protocols:f}:{}})}catch{}let y=new URL(e);for(let[A,m]of Object.entries(k))y.searchParams.set(A,m);return l!==void 0&&y.searchParams.set(ze.param,l),f.length>0?new s(y.toString(),f):new s(y.toString())}}function Go(t,r,o=Date.now()){let i,l=t?.trim();if(l)if(/^\d+(\.\d+)?$/.test(l))i=Number(l)*1e3;else{let b=Date.parse(l);Number.isFinite(b)&&(i=Math.max(0,b-o))}let p=typeof r=="number"&&Number.isFinite(r)&&r>=0?r:void 0,c=p!==void 0&&p<50&&i!==void 0&&Math.abs(p*1e3-i)<1e3;return p!==void 0&&!c?p:i??1e3}function Uo(){globalThis.location?.reload?.()}function Ko(){return globalThis.document?.visibilityState!=="hidden"}function nn(t,r){if(typeof t=="function")return Math.max(0,t(r));let{min:o=250,max:i=1e4,factor:l=2}=t??{};return Math.min(i,o*l**r)*(.75+Math.random()*.5)}function bt(t){let r={};if(!t)return r;t.id&&(r[we.seat]=t.id),t.roles?.length&&(r[we.roles]=t.roles.join(",")),t.kind!=="human"&&(r[we.kind]=t.kind),t.name&&(r[we.name]=encodeURIComponent(t.name));let o=t.onBehalfOf;return o?.id&&(r[we.for]=o.id),o?.roles?.length&&(r[we.forRoles]=o.roles.join(",")),o?.name&&(r[we.forName]=encodeURIComponent(o.name)),r}var Yr="/graview/views";function rn(t){let r=t.fetch??fetch,o=wt(t.url,t.headers),i=o.url,l={"content-type":"application/json",...t.principal?bt(t.principal):{},...o.headers},p=t.state?{hidden:t.state.hidden??[],removed:t.state.removed??[],may:t.state.may??st.may}:st,c=new Set,b=S=>{if(JSON.stringify(S)!==JSON.stringify(p)){p=S;for(let T of c)T()}},h=async(S,T)=>{let x=await r(`${i}${t.path??Yr}`,{method:S,headers:l,...T!==void 0?{body:JSON.stringify(T)}:{}}),C=await x.json();if(!x.ok)throw new Error(C.error??`The store answered ${x.status}.`);b({hidden:C.hidden??[],removed:C.removed??[],may:C.may??st.may})},k=()=>h("GET"),O=t.state?Promise.resolve():k().catch(()=>{}),I=t.pollMs?setInterval(()=>void k().catch(()=>{}),t.pollMs):void 0;return{ready:O,refresh:k,close:()=>clearInterval(I),current:()=>p,onChange(S){return c.add(S),()=>void c.delete(S)},hide:S=>h("POST",{hide:S}),show:S=>h("POST",{show:S}),remove:(S,T)=>h("POST",{remove:S,...T?{about:T}:{}}),async restore(S){let T=p.removed.find(x=>x.name===S)?.lens;await h("POST",{restore:S}),T&&await t.onDeclaration?.()},async lens(S){await h("POST",{lens:S}),await t.onDeclaration?.()}}}var an=document.getElementById("graview-app"),on=/^\/forms\/([^/]+)\/?$/.exec(location.pathname),Qr=on?(__graviewPreload(import.meta.url,["./chunk.DZMIYEHQ.js","./chunk.T27QKVKP.js","./chunk.XOZU4OFA.js","./chunk.H3EGBDW2.js","./chunk.JQ2WNKDW.js","./chunk.LVOTLGJB.js","./chunk.SO6NT5K7.js","./chunk.MUSMNKE4.js","./chunk.SJQPTDAT.js","./chunk.JQ63N4MZ.js","./chunk.Z3O2VZAJ.js","./chunk.4W57E7AX.js","./chunk.A5PSEU3W.js","./chunk.SDO3U72B.js","./chunk.ZEZUKRC6.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.FVQKSN33.js")):He("pages");try{on?await Jo(decodeURIComponent(on[1])):await Yo()}catch(t){let r=document.createElement("pre");r.setAttribute("role","alert"),r.style.cssText="margin:2rem;font:14px/1.5 ui-monospace,monospace;white-space:pre-wrap",r.textContent=t instanceof Error?t.message:String(t),an.replaceChildren(r),window.__graviewFailed=r.textContent}async function Jo(t){let r=await fetch(`/graview/document?form=${encodeURIComponent(t)}`),o=await r.json();if(!r.ok)throw new Error(o.error??`The preview server did not hand over the form (${r.status}).`);let i=await ft(o);if(!i.ok)throw new Error(ct(i.findings));let l=i.app,p=o.principal,c=await vt({app:l,url:location.origin,principal:p,...o.state?{state:o.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=l.forms?.[t]?.title??l.name;let{mount:b}=await Qr;window.__graview=b(an,{app:l,form:t,principal:p,remote:c,height:"100dvh",onSubmitted:()=>window.__graviewSubmitted=!0}),window.__graviewReady=!0}async function Yo(){let t=await fetch("/graview/document");if(!t.ok)throw new Error(`The preview server did not hand over the document (${t.status}).`);let r=await t.json(),i=await(async h=>{if(typeof h.module=="string")return(await import(h.module)).app;let k=await ft(h);if(!k.ok)throw new Error(ct(k.findings));return k.app})(r);if(!i||typeof i!="object"||!("schema"in i))throw new Error("The app module the preview server handed does not export an app.");let l=r.principal,p=await vt({app:i,url:location.origin,principal:l,live:!0,subprotocol:!0,pollMs:1200,...r.state?{state:r.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=i.name;let c,b=rn({url:location.origin,principal:l,...r.views?{state:r.views}:{},onDeclaration:async()=>{let h=await(await fetch("/graview/document")).json();if(typeof h.module=="string")return;let k=await ft(h);k.ok&&c?.setApp(k.app,p)}});await Promise.all([Qr,b.ready]),c=Xt(an,{app:i,remote:p,principal:l,studio:!1,face:"pages",routing:"address",bar:!0,height:"100dvh",label:i.name,heading:1,keptViews:b,...r.draftView?{draftView:r.draftView}:{}}),window.__graview=c,c.drawn().then(()=>{window.__graviewReady=!0})}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graview",
3
- "version": "0.1.66",
3
+ "version": "0.1.67",
4
4
  "type": "module",
5
5
  "description": "The Graview command line: start a product, check its declaration, write its agent docs, serve its store, preview a document with no product and photograph its places, say whether a product is on one release, host it for an agent over MCP, apply an act to it, sync its seed, install the authoring skills. The tool; @graview/* is the framework.",
6
6
  "keywords": [
@@ -29,11 +29,11 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@graview/guest": "0.1.66",
33
- "@graview/skills": "0.1.66",
34
- "@graview/tools": "0.1.66",
35
- "@graview/core": "0.1.66",
36
- "@graview/ship": "0.1.66"
32
+ "@graview/ship": "0.1.67",
33
+ "@graview/skills": "0.1.67",
34
+ "@graview/core": "0.1.67",
35
+ "@graview/tools": "0.1.67",
36
+ "@graview/guest": "0.1.67"
37
37
  },
38
38
  "engines": {
39
39
  "node": ">=22"
@@ -1,2 +0,0 @@
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 Q,b as Ie,c as Le,f as le,h as He}from"./chunk.T6DPWW2K.js";import"./chunk.CEVGND3Y.js";import{b as $e,c as De,d as xe,e as re,f as Ee,g as se,h as ae,i as je,j as ie,l as Me,m as Be,n as qe,o as Fe,p as de}from"./chunk.JMYUQNXN.js";import"./chunk.NYLKG25K.js";import{a as Ce}from"./chunk.TBY5IR7C.js";import{d as Re}from"./chunk.QFHWG4LN.js";import"./chunk.YIPXZUTT.js";import"./chunk.BJUUSIQY.js";import"./chunk.PPSYUOH7.js";import"./chunk.XOZU4OFA.js";import"./chunk.GME63ZHI.js";import"./chunk.NJRLJEJY.js";import"./chunk.MIE4TJRW.js";import{x as Oe}from"./chunk.5LJVOLKR.js";import"./chunk.OJGHDWI6.js";import"./chunk.OWFS2YDQ.js";import"./chunk.WSDJPXJD.js";import"./chunk.F4VB6Q2W.js";import"./chunk.FFOD5B4B.js";import"./chunk.Z7Y3R3YR.js";import"./chunk.YXEO3Y65.js";import"./chunk.U3HERHAI.js";import"./chunk.FBILPNGH.js";import{G as tn,W as Ae,ea as Te}from"./chunk.MODLZJD4.js";import"./chunk.SDO3U72B.js";import"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import{b as oe}from"./chunk.AJZBJBMO.js";var p=oe(tn(),1);var q=oe(Ae(),1),R=t=>(t??"").replace(/\s+/g," ").trim(),ce=()=>new Promise(t=>requestAnimationFrame(()=>t())),on=t=>new Promise(s=>setTimeout(s,t));function rn(t){let s=t.cloneNode(!0);for(let r of s.querySelectorAll("span"))r.remove();return R(s.textContent).replace(/^[▸▾]\s*/,"")}function Ne(t){if(!t||!t.isConnected)return"";let s=t.innerText??t.textContent??"";return`${t.querySelectorAll("*").length}|${R(s)}`}function sn(t,s=80){if(!t)return"";let r=[],d=new Set,g="li, tr, article, [data-graview-listed], [data-graview-record], [data-graview-field]";for(let l of t.querySelectorAll(`h1, h2, h3, h4, ${g}`)){if(r.length>=s)break;if([...d].some(c=>c.contains(l))||l.closest("[data-graview-popover], [hidden], nav, [aria-hidden='true']"))continue;let a=/^h([1-4])$/i.exec(l.localName),i=(a?rn(l):R(l.innerText??l.textContent)).slice(0,140);if(i)if(a)r.push(`${"#".repeat(Number(a[1]))} ${i}`);else{let c=l.getAttribute("data-graview-field");r.push(c?`${c}: ${i}`:`- ${i}`),d.add(l)}}return r.join(`
2
- `)}function an(t,s){let{store:r}=t,d=l=>Object.fromEntries(Object.entries(l).filter(([,a])=>a!==void 0&&typeof a!="object").map(([a,i])=>[a,typeof i=="string"?i.slice(0,80):i]));return{kinds:(s.kind?[s.kind]:r.schema.kinds.slice(0,6)).map(l=>{let a=r.graph.nodesOfKind(l),i=r.schema.tryDefinition(l);return{kind:l,count:a.length,fields:Object.keys(i?.fields?.shape??{}),relations:Object.keys(i?.edges??{}),some:(s.record?a.filter(c=>c.id===s.record):a.slice(0,3)).map(d)}})}}function dn(t,s){let r=t.store.schema,d=new Set,g=new Set;for(let l of r.definitions)for(let[a,i]of Object.entries(l.edges??{})){let c=Array.isArray(i?.to)?i.to:[];if(s.kind===void 0||l.kind===s.kind||c.includes(s.kind)){g.add(a);for(let S of[l.kind,...c])S!==s.kind&&r.tryDefinition(S)&&d.add(S)}}if(s.kind===void 0)for(let l of r.kinds)d.add(l);return{kinds:[...d],edges:[...g]}}var Ke={manifest:"The view could not start: what it reads is not this app's.",source:"The script is too long: make it shorter.",start:"The script did not start: it must be one plain script, with no syntax errors, that calls graview.onProps and graview.render.",error:"The script threw while drawing: read only what props gives (props.nodes for a list, props.node for one record), guard each value that may be missing, and call no function that does not exist."};async function Ve(t,s,r=15e3){let d=Date.now()+r;for(;Date.now()<d;){for(let l of document.querySelectorAll("[data-worker-view-place]")){let a=Oe(l),i=a?.name===t?a.drawing().root:void 0;if(a&&l.isConnected&&i?.isConnected&&i.childElementCount>0&&(s===void 0||await a.source()===s))return{element:l,handle:a}}let g=document.querySelector(`[data-worker-view-fell-back="${CSS.escape(t)}"]`);if(g)return{failed:Ke[g.getAttribute("data-worker-view-failed")??""]??Ke.error};await on(80)}return{failed:"The view did not draw in time: keep it simple and quick to draw."}}var ue=new Map,ln=(t,s)=>{let r=ue.get(t);return r||ue.set(t,r={phase:s(),steps:[],before:!1,putBack:null,began:!1,original:null,markup:null,talk:[],events:[],since:Date.now(),stop:null,covering:!1,pointed:null,about:null,kept:null,pressed:null,version:0,heard:new Set}),r};function cn(t,s,r){let{store:d}=t,g=s.record?[d.graph.getNode(s.record)].filter(Boolean):s.kind?d.graph.nodesOfKind(s.kind):d.schema.kinds.flatMap(a=>d.graph.nodesOfKind(a)),l=R(r).toLowerCase();return g.map(a=>String(a.label??"")).filter(a=>a.length>1&&l.includes(R(a).toLowerCase())).slice(0,40)}function Ge(t,s){return(s.kind?[s.kind]:t.store.schema.kinds).flatMap(d=>Object.keys(t.store.schema.tryDefinition(d)?.fields?.shape??{}))}function Pn({ask:t,close:s}){let r=Te(),{ai:d,aiDesk:g,aiHere:l,session:a,principal:i,keptViews:c,store:x,onProposeChange:S,composeChange:w,onDraftChange:A,app:j}=r,o=t.part,e=(0,p.useMemo)(()=>ln(t.at,()=>t.mode==="highlight"?{at:"highlighting"}:{at:"open"}),[t]),H=(0,p.useCallback)(n=>(e.heard.add(n),()=>void e.heard.delete(n)),[e]),T=(0,p.useSyncExternalStore)(H,()=>e.phase,()=>e.phase),ze=(0,p.useSyncExternalStore)(H,()=>e.version,()=>e.version),P=(0,p.useCallback)(()=>{e.version+=1,e.heard.forEach(n=>n())},[e]),b=(0,p.useCallback)(n=>{e.phase=n,P()},[e,P]),C=(0,p.useCallback)(async()=>{let n=e.putBack;e.putBack=null,n&&await n()},[e]),Y=(0,p.useCallback)(()=>{e.stop?.abort(),e.stop=null,C(),ue.delete(t.at),s()},[C,t.at,s,e]),v=(0,p.useCallback)(()=>o.main?.isConnected?o.main:gn(),[o]),N={name:o.name,slot:o.slot,...o.kind?{kind:o.kind}:{},...o.group?{group:o.group}:{}},pe=o.place??(o.kind?`${o.kind}-${o.slot}`:"home"),Je=t.fromScene?`From the scene: Better UI changes how \u201C${o.name}\u201D looks on its page here, for everyone in this app.`:`This changes how ${o.name} looks for everyone in this app.`,K=(0,p.useCallback)((n,f,u,h={})=>({id:Re(),at:new Date().toISOString(),by:i,target:{on:"place",place:pe},targetLabel:o.name,ask:{kind:"section",said:n},offered:[],outcome:f,stages:u.map(m=>({stage:m.stage,ms:m.ms,model:m.model})),usage:u.flatMap(m=>m.usage?[{tier:m.stage==="light"?"fast":"thinking",model:m.model,inputTokens:m.usage.inputTokens,outputTokens:m.usage.outputTokens}]:[]),...h}),[i,pe,o.name]),ge=S!==void 0&&w!==void 0&&Ce(x,i),M=(0,p.useMemo)(()=>pn(r,o),[r,o]),$=qe(N,dn(r,o),M.map(n=>n.act)),he=$!==void 0&&typeof c?.fork=="function"&&typeof c.draftFork=="function"&&c.current().may.views===!0,me=o.slot==="record"?{page:"record",kind:o.kind}:o.slot==="home"?{page:"home"}:{page:"list",kind:o.kind??""},V=(0,p.useCallback)(n=>({manifest:$,source:n,from:me,said:""}),[$,me]),we=T.at==="working";(0,p.useEffect)(()=>{if(!we)return;let n=o.record??(o.kind?`kind:${o.kind}`:null);return l({participant:`agent:graview-for-${i.id??"anyone"}:${a}`,kind:"agent",name:"Graview",...i.id?{onBehalfOf:i.id}:{},over:n,robot:{at:n,mode:"thinking"}}),()=>l(null)},[we]);let D=(0,p.useCallback)(()=>{if(e.original)return e.original;let n=v(),f=n?.innerText??"";return e.original=Q(X(n),cn(r,o,f)),e.original},[e,v,r,o]),F=(0,p.useCallback)(()=>Q(X(v()),D().records.map(n=>n.label)),[v,D]),G=(0,p.useCallback)(async n=>{if(await C(),n.kind==="spec"){let f=await A(_e(n.edits,n.said,d.name));e.putBack=f.undo}else c.draftFork(V(n.source)),e.putBack=()=>c.draftFork(null)},[C,A,e,c,V,d.name]),I=(0,p.useCallback)(async()=>{let n=e.steps.at(-1);e.before=!1,n?await G(n):await C()},[e,G,C]),y=(0,p.useCallback)((n,f)=>{e.talk.push({who:n,said:f}),P()},[e,P]),B=(0,p.useCallback)(n=>{e.events.at(-1)?.kind==="streaming"&&e.events.pop(),e.events.push(n),P()},[e,P]),z=()=>e.talk.filter(n=>n.who==="person").map(n=>n.said).join(" "),ke=(0,p.useCallback)(async n=>{if(!ge||!A)return!1;let u=(await (__graviewPreload(import.meta.url,["./chunk.W4YDPHCQ.js","./chunk.TBY5IR7C.js","./chunk.BIDL7GQD.js","./chunk.Q5WEOX3Q.js","./chunk.4FCFNAA4.js","./chunk.4AC2QM7T.js","./chunk.CVPMSPCH.js","./chunk.OTV5XTBB.js","./chunk.KBPJ7X7W.js","./chunk.OEIWIZCP.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.BCQWAFGD.js"))).documentOfApp(j??{});if(!u)return!1;let h=e.steps.at(-1);if(h&&h.kind!=="spec")return!1;let m=h?.edits??[],k=m.length>0?w({document:u,edits:m}):void 0,L=k?.ok?k.document:u;if(!(n.mode==="just"?{can:!0}:await Me(d,n.words,N)).can)return!1;B({kind:"look",text:`Looking at how ${o.name} is set up`});let E=[],ee=await Be({ai:d,document:L,part:N,mode:n.mode==="choose"?"just":n.mode,...n.words?{words:n.words}:{},...n.pointed?{highlighted:[n.pointed.name,...n.pointed.lines]}:{},shows:sn(v(),30),judge:async U=>{let _=w({document:u,edits:[...m,...U]});return _.ok?(E=_.said,[]):[_.refused]}});if(!ee.ok)return!1;let en=[...m,...ee.edits],Pe=K(`Make \u201C${o.name}\u201D better: ${n.words}`,"offered",ee.stages),ne=Ne(v()),te={kind:"spec",edits:en,said:E[E.length-1]??E[0]??`${o.name} changed.`,entry:Pe};e.covering=!0,P();try{await G(te);let U=ne;for(let nn=Date.now()+1500;Date.now()<nn&&U===ne;)await ce(),U=Ne(v());let _=U===ne?["nothing changed"]:re(D(),F(),{fields:Ge(r,o),asked:z()});if(_.length>0)return await I(),g.record({...Pe,outcome:"failed",failed:_.join(" ")}),!1}catch{return await I(),!1}finally{e.covering=!1,P()}return e.steps.push(te),e.before=!1,B({kind:"passed",text:"Changed its settings \u2014 it's on the page"}),y("graview",`Done: ${te.said.replace(/\.$/,"")}.`),!0},[d,g,j,w,K,e,r,v,A,D,F,o,N,G,I,ge,B,y,P]),ye=(0,p.useCallback)(async n=>{if(!$||!c?.draftFork)return{findings:["This page cannot be drawn anew here."],drew:void 0};let f=D();e.covering=!0,P();try{c.draftFork(V(n)),e.putBack=()=>c.draftFork(null);let u=await Ve($.name,n),h;if("failed"in u)h=[u.failed];else{let k=[...await u.handle.check(n),...u.handle.refused()];if(k.length>0)h=k;else{await ce(),await ce();let L=u.element.closest("[data-graview-page-main], main")??X(v());h=re(f,Q(L,f.records.map(E=>E.label)),{fields:Ge(r,o),asked:z()});let O=u.handle.presses?await u.handle.presses(n).catch(()=>{}):void 0;O&&(e.pressed=O,h=[...h,...se(O,We(f,fe(r,o,f)),M.filter(E=>E.toggle).map(E=>E.act),W(o))])}}let m=de(F());if(h.length===0){let k=K(`Draw \u201C${o.name}\u201D anew: ${z()}`,"offered",[]);e.steps.push({kind:"view",source:n,said:Ee(o.name,f,F())??`${o.name} has a new design. Compare Before and After.`,entry:k}),e.before=!1}else await I();return{findings:h,drew:m}}finally{e.covering=!1,P()}},[$,c,D,e,P,V,F,r,o,K,I]),be=(0,p.useCallback)(async(n=[])=>{if(!$||!he){y("graview","Its settings can't do that, and a new design can't be drawn for it here.");return}let f=new AbortController;e.stop=f,e.markup??=Ue(v());let u=e.steps.length,h=[...e.steps].reverse().find(k=>k.kind==="view"),m=await Fe({ai:d,part:N,manifest:$,talk:e.talk,keep:un(D(),v(),o.name,r,o),...e.markup?{markup:e.markup}:{},...h?{current:h.source}:e.kept?{current:e.kept}:{},host:{look:()=>de(F()),read:()=>an(r,o),draft:ye},onEvent:k=>B(k),...e.about?{about:e.about}:{},acts:M,...n.length>0?{pressed:n}:{},noun:W(o),signal:f.signal});if(e.stop===f)if(e.stop=null,e.events.at(-1)?.kind==="streaming"&&e.events.pop(),g.record(K(`Draw \u201C${o.name}\u201D anew: ${z()}`,e.steps.length>u?"offered":"failed",m.stages,e.steps.length>u?{}:{failed:m.last?.findings.join(" ")??m.said})),m.passed){let k=e.pressed?ae(e.pressed,M,W(o)):void 0,L=je.test(m.said)?void 0:m.said;y("graview",[L??(k?void 0:"Here it is on the page."),k].filter(Boolean).join(" "))}else y("graview",m.said)},[d,g,M,F,K,he,e,r,ye,v,$,D,o,N,y,B]),ve=(0,p.useCallback)(async()=>{let f=[...e.steps].reverse().find(O=>O.kind==="view")?.source??e.kept;if(!f||!$)return[];B({kind:"look",text:"Pressing every control on the page"});let u=await Ve($.name);if("failed"in u||!u.handle.presses)return[];let h=await u.handle.presses(f).catch(()=>{});if(!h)return[];e.pressed=h;let m=D(),k=se(h,We(m,fe(r,o,m)),M.filter(O=>O.toggle).map(O=>O.act),W(o)),L=k.length>0?k:h.controls.slice(0,8).map(O=>`${O.control}: ${O.says}`);return B(k.length>0?{kind:"check",text:`Check: ${k.length} ${k.length===1?"control doesn't":"controls don't"} work \u2014 fixing`}:{kind:"passed",text:"Check: every control works"}),y("graview",k.length>0?`I pressed every control: ${k.join(" ")}`:`I pressed every control. ${ae(h,M,W(o))??"Each one did what it says."}`),L},[M,e,r,$,D,o,y,B]),J=(0,p.useCallback)(async(n,f="describe")=>{if(e.phase.at==="working")return;let u=e.pointed;e.pointed=null;let h={mode:f,words:n,...u?{pointed:u}:{}};e.about=u??e.about,y("person",n),e.events=[],e.since=Date.now(),b({at:"working"}),D(),e.markup??=Ue(v());let m=ie.test(n)?await ve().catch(()=>[]):[];!ie.test(n)&&await ke(h).catch(()=>!1)||await be(m),e.phase.at==="working"&&b(e.steps.length>0?{at:"draft"}:{at:"open"})},[be,ke,e,v,D,ve,y,b]),Z=(0,p.useCallback)(()=>{if(e.phase.at!=="working")return;let n=e.stop;e.stop=null,n?.abort(),e.covering=!1,e.steps=e.steps.filter(f=>f.entry.at<new Date(e.since).toISOString()),I(),y("graview","Stopped. The page is as it was."),b(e.steps.length>0?{at:"draft"}:{at:"open"})},[e,y,b,I]),Qe=(0,p.useCallback)(async n=>{let f=e.steps.at(-1);!f||n===e.before||(e.before=n,P(),n?await C():await G(f))},[e,C,G,P]),Xe=(0,p.useCallback)(async()=>{let n=e.steps.at(-1);if(!(!n||e.phase.at!=="draft")){b({at:"keeping"});try{let f,u;if(n.kind==="spec"){await C();let h=await S(_e(n.edits,n.said,d.name));if(h==="declined")return y("graview","It wasn't kept."),b({at:"draft"});typeof h=="object"&&([f,u]=[h.undo,h.note])}else{let h=await c.fork(V(n.source));e.putBack=null,c.draftFork?.(null),e.kept=n.source,h&&([f,u]=[h.undo,h.note])}g.record({...n.entry,outcome:"accepted"}),e.steps=[],e.before=!1,b({at:"kept",...f?{undo:f}:{},...u?{note:u}:{}})}catch{y("graview","It couldn't be kept."),b({at:"draft"})}}},[e,b,C,S,d.name,c,V,g,y]),Ye=(0,p.useCallback)(()=>{let n=e.steps.at(-1);n&&g.record({...n.entry,outcome:"dismissed"}),e.steps=[],e.before=!1,C(),y("graview","Put back as it was."),b({at:"open"})},[e,g,C,y,b]),Ze=(0,p.useCallback)(async()=>{if(!(e.phase.at!=="kept"||!e.phase.undo))try{await e.phase.undo(),e.kept=null,y("graview","Undone. The page is as it was."),b({at:"undone"})}catch{y("graview","It couldn't be put back.")}},[e,y,b]);if((0,p.useEffect)(()=>{e.began||!(t.mode==="just"||t.mode==="describe"&&t.words)||(e.began=!0,J(t.mode==="just"?"Make it easier to read at a glance":t.words,t.mode))},[e,t.mode,t.words,J]),(0,p.useEffect)(()=>{let n=f=>{if(f.key!=="Escape"||e.phase.at==="highlighting")return;if(f.preventDefault(),e.phase.at==="working")return Z();Y();let u=t.returnTo?.isConnected?t.returnTo:document.querySelector("[data-graview-page-title], main h1");u&&!u.hasAttribute("tabindex")&&!u.matches("a[href], button, input, select, textarea")&&u.setAttribute("tabindex","-1"),u?.focus?.()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[e,Y,Z,t.returnTo]),T.at==="highlighting")return(0,q.jsx)(He,{box:v(),root:v(),whole:o.elements,wholeSaid:"The whole page",cancel:()=>b({at:"open"}),chose:n=>{e.pointed={name:xe(n)??$e(n.map(le)),lines:De(n.map(le))},b({at:"open"})}});let Se=e.steps.at(-1);return(0,q.jsxs)(q.Fragment,{children:[e.covering?(0,q.jsx)(Ie,{over:v(),name:o.name,said:`Graview is drafting \u201C${o.name}\u201D\u2026`}):null,(0,q.jsx)(Le,{name:o.name,scope:Je,phase:T.at,talk:e.talk,steps:e.events,since:e.since,working:T.at==="working"||T.at==="keeping",...Se&&T.at==="draft"?{draft:{said:Se.said,before:e.before}}:{},...T.at==="kept"?{kept:{...T.note?{note:T.note}:{},...T.undo?{undo:()=>void Ze()}:{}}}:{},about:(e.pointed??e.about)?.name??o.name,ask:n=>void J(n),just:()=>void J("Make it easier to read at a glance","just"),point:()=>b({at:"highlighting"}),stop:Z,compare:n=>void Qe(n),keep:()=>void Xe(),discard:Ye,close:Y})]})}function _e(t,s,r){return{said:s,add:[],drop:[],card:{said:s,adds:[],keeps:[],drops:[],breaking:[]},edits:t,via:`ai:${r??"model"}`}}function un(t,s,r,d,g){let l=X(s),a=g.slot==="home"?[...s?.querySelectorAll("h1")??[]].find(w=>l!==s&&!l?.contains(w)):void 0,i=R(a?.textContent)||R(l?.querySelector("[data-graview-page-title]")?.textContent)||(g.slot==="home"?"":R(l?.querySelector("h1")?.textContent))||(g.record?R(String(d.store.graph.getNode(g.record)?.label??"")):"")||r,c=fe(d,g,t),x=Object.fromEntries(t.records.flatMap(w=>w.facts?.length||w.under&&w.under!==i?[[w.label,{...c[w.label]?{id:c[w.label]}:{},...w.facts?.length?{shows:w.facts}:{},...w.under&&w.under!==i?{under:w.under}:{}}]]:[])),S=fn(d,t,c,i);return{title:i,headings:t.headings.filter(w=>w!==i),records:t.records.map(w=>w.label),...Object.keys(x).length>0?{says:x}:{},...S?{grouping:S}:{}}}function fe(t,s,r){let{store:d}=t,g=s.record?[d.graph.getNode(s.record)].filter(a=>a!==void 0):s.kind?d.graph.nodesOfKind(s.kind):d.schema.kinds.flatMap(a=>d.graph.nodesOfKind(a)),l={};for(let a of r.records){let i=g.find(c=>R(String(c.label??""))===R(a.label));i&&(l[a.label]=i.id)}return l}function fn(t,s,r,d){let{store:g}=t,l=s.records.filter(A=>A.under&&A.under!==d&&r[A.label]);if(l.length<2)return;let a=g.graph.allEdges(),i=new Map;for(let A of l){let j=r[A.label];for(let o of a){let e=o.from===j?o.to:o.to===j?o.from:void 0,H=e!==void 0?g.graph.getNode(e):void 0;if(!H||R(String(H.label??""))!==R(A.under))continue;let T=`${o.kind}\0${H.kind}\0${o.from===j?"from":"to"}`;i.set(T,(i.get(T)??0)+1)}}let c=[...i].sort((A,j)=>j[1]-A[1])[0];if(!c||c[1]<l.length/2)return;let[x,S,w]=c[0].split("\0");return{edge:x,kind:S,record:w}}var X=t=>t?.querySelector("main")??t;function Ue(t){if(!t?.isConnected)return null;let s=(t.querySelector("main")??t).cloneNode(!0);for(let d of s.querySelectorAll("script, style, svg, button, input, select, textarea, [hidden], [aria-hidden='true'], [data-graview-popover]"))d.remove();for(let d of[s,...s.querySelectorAll("*")])for(let g of[...d.getAttributeNames()])d.removeAttribute(g);let r=s.outerHTML.replace(/\s+/g," ").replace(/<(div|span)>\s*<\/\1>/g,"").trim();return r.length>6e3?r.slice(0,6e3):r}var W=t=>t.slot==="list"||t.slot==="group"?t.name.toLowerCase():t.slot==="record"?"parts":"records";function We(t,s){return t.records.flatMap(r=>s[r.label]?[{label:r.label,id:s[r.label],...r.presses?{presses:!0}:{},...r.opens?{opens:!0}:{}}]:[])}function pn(t,s){let{store:r}=t,d=s.kind?[s.kind]:r.schema.kinds,g=a=>r.schema.tryDefinition(a)?.fields?.shape??{},l=a=>{let i=a?._zod?.def;for(let c=0;c<6&&i&&i.type!=="boolean"&&i.innerType!==void 0;c++)i=i.innerType._zod?.def;return i?.type==="boolean"};return r.allMutations().flatMap(a=>{let i=a.subject;if(!i||a.creates?.length)return[];let c=d.find(w=>i.kinds==="*"||i.kinds.includes(w));if(!c)return[];let x=a.writes??[],S=x.length===1&&l(g(c)[x[0]])?x[0]:void 0;return[{act:a.name,title:String(a.title??a.name),record:i.arg,...S?{toggle:S}:{}}]}).slice(0,24)}function gn(){return document.querySelector("[data-graview-page-main], main")??document.querySelector("[data-graview-face]")}export{Pn as PageCard,Ne as drawnSignature,sn as outlineOf};
@@ -1 +0,0 @@
1
- import"./chunk.WVUJXDXZ.js";import{k as m,m as i}from"./chunk.I2737CPF.js";import"./chunk.NJRLJEJY.js";import"./chunk.CVPMSPCH.js";import"./chunk.OTV5XTBB.js";import"./chunk.KBPJ7X7W.js";import"./chunk.OEIWIZCP.js";import"./chunk.Z7Y3R3YR.js";import"./chunk.YXEO3Y65.js";import"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";function a(t){let r=new Map;return(s,o)=>{let e=o.kind,n=r.get(e);return n===void 0&&r.set(e,n=i(t,e).length),n===0?{}:m(t,s,o).values}}export{a as computedOn};
@@ -1 +0,0 @@
1
- import{T as k,V as y,c,h as l,o as p}from"./chunk.XMQG2PSM.js";import"./chunk.45JP6VGJ.js";import"./chunk.Q355UPFG.js";import{b as m}from"./chunk.OO2OP76C.js";import"./chunk.LGRVEHXT.js";import"./chunk.CTASTRQN.js";import"./chunk.QQAZQDRW.js";import"./chunk.72ZCLEQC.js";import"./chunk.ONYBW45K.js";import"./chunk.2VR7YEJ6.js";import"./chunk.FXT5CN32.js";import"./chunk.WVLEGCRI.js";import"./chunk.LETAQTLJ.js";import"./chunk.BUVTUAB5.js";import"./chunk.MB7LKKUD.js";import"./chunk.U6TEW6YD.js";import"./chunk.FK722SHI.js";import"./chunk.7VP6Y6D2.js";import"./chunk.WSO7JOW5.js";import"./chunk.XOE4KNP2.js";import"./chunk.W53YNBSM.js";import"./chunk.2KFZHUAC.js";import"./chunk.V5I4GZEY.js";import"./chunk.WVUJXDXZ.js";import"./chunk.I2737CPF.js";import"./chunk.NJRLJEJY.js";import"./chunk.CVPMSPCH.js";import"./chunk.OTV5XTBB.js";import"./chunk.KBPJ7X7W.js";import"./chunk.OEIWIZCP.js";import"./chunk.MIE4TJRW.js";import"./chunk.5LJVOLKR.js";import"./chunk.OJGHDWI6.js";import"./chunk.OWFS2YDQ.js";import"./chunk.WSDJPXJD.js";import"./chunk.F4VB6Q2W.js";import"./chunk.FFOD5B4B.js";import"./chunk.Z7Y3R3YR.js";import"./chunk.YXEO3Y65.js";import"./chunk.U3HERHAI.js";import"./chunk.FBILPNGH.js";import{G as S,H as s,I as d,W as f,fa as g}from"./chunk.MODLZJD4.js";import"./chunk.SDO3U72B.js";import"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import{b as n}from"./chunk.AJZBJBMO.js";var u=n(S(),1);var t=n(f(),1);function D({context:a}){let r=l(),h=g(),[w]=(0,u.useState)(()=>s(null)),o=d(h?.seatTalk??w),P=()=>{(window.history.state?.idx??0)>0?r(-1):r("/")};return(0,t.jsxs)(k,{context:a,"data-testid":"draft-page",children:[(0,t.jsx)(y,{context:a,...o.draft?{"data-testid":"draft-title"}:{},children:o.draft?o.draft.title:"Nothing drawn"}),o.draft?(0,t.jsx)(m,{page:!0,go:e=>r(e.address),onPick:e=>{let i=a.store.graph.getNode(e);i&&r(c(a.store.schema,i.kind,e))},onDiscard:P}):(0,t.jsxs)("p",{style:{margin:0,color:"var(--graview-ink-muted)"},children:["Ask for a way of seeing \u2014 \u201Ca board of tasks by status\u201D \u2014 and it is drawn here."," ",(0,t.jsx)(p,{to:"/",style:{color:"var(--graview-accent)"},children:"Home \u2192"})]})]})}export{D as DraftPage};
@@ -1 +0,0 @@
1
- import{a as b,b as c,c as d,d as e,e as f,f as g}from"./chunk.W4YDPHCQ.js";import{a}from"./chunk.TBY5IR7C.js";import"./chunk.BIDL7GQD.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.4FCFNAA4.js";import"./chunk.4AC2QM7T.js";import"./chunk.CVPMSPCH.js";import"./chunk.OTV5XTBB.js";import"./chunk.KBPJ7X7W.js";import"./chunk.OEIWIZCP.js";import"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";export{b as PROPOSE_CHANGE,c as documentOfApp,a as mayChangeDeclaration,g as proposeReshape,e as readReshape,f as reshapeCard,d as reshapeQuestions};
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as j,k as q,r as K}from"./chunk.JMYUQNXN.js";import"./chunk.NYLKG25K.js";import{a as F}from"./chunk.TBY5IR7C.js";import"./chunk.QFHWG4LN.js";import"./chunk.YIPXZUTT.js";import"./chunk.BJUUSIQY.js";import"./chunk.PPSYUOH7.js";import"./chunk.XOZU4OFA.js";import"./chunk.GME63ZHI.js";import"./chunk.NJRLJEJY.js";import"./chunk.MIE4TJRW.js";import{x as W}from"./chunk.5LJVOLKR.js";import"./chunk.OJGHDWI6.js";import"./chunk.OWFS2YDQ.js";import"./chunk.WSDJPXJD.js";import"./chunk.F4VB6Q2W.js";import"./chunk.FFOD5B4B.js";import"./chunk.Z7Y3R3YR.js";import"./chunk.YXEO3Y65.js";import{A as _}from"./chunk.U3HERHAI.js";import"./chunk.FBILPNGH.js";import{G as B,La as G,W as L,ea as N,oa as $}from"./chunk.MODLZJD4.js";import{a as I}from"./chunk.SDO3U72B.js";import{pa as b,ra as R,ua as V}from"./chunk.6HY6ZGEE.js";import"./chunk.FQLNBIQ5.js";import{b as T}from"./chunk.AJZBJBMO.js";var P=new WeakMap,Q=e=>e.charAt(0).toUpperCase()+e.slice(1),X=e=>(e??"").replace(/\s+/g," ").trim();function Z(e){let n=e.cloneNode(!0);for(let o of n.querySelectorAll("span"))o.remove();return X(n.textContent).replace(/^[▸▾]\s*/,"")}function A(e,n){let o=e.at;if(!o.isConnected||o.closest("[data-graview-popover], [data-worker-view]"))return;let r=o.closest("[data-graview-page-main], main")??o.closest("[data-graview-face]"),l=n.store.schema,t=e.about?.length===1&&e.about[0].startsWith("aggregate:")?e.about[0].slice(10):void 0,s=t&&!t.includes("+")&&l.tryDefinition(t)?t:void 0,u,a=e.on!==void 0?n.store.graph.getNode(e.on):void 0;if(a)u={name:`${Q(V(l.tryDefinition(a.kind),a.kind))} page`,slot:"record",kind:a.kind,record:a.id,elements:r?[r]:[],main:r};else if(e.place!==void 0){let i=n.views.places?.().find(d=>d.as===e.place);i&&(u={name:i.title,slot:"place",kind:i.kind,place:i.as,elements:r?[r]:[],main:r})}else if(s){let i=o.closest(".graview-group-head"),d=i?.closest('[data-testid="list-group"]'),c=i?Z(i):"";u=d&&c?{name:c,slot:"group",kind:s,group:c,elements:[d],main:r}:{name:b(l,s),slot:"list",kind:s,elements:r?[r]:[],main:r}}else e.home&&(u={name:"Home",slot:"home",elements:r?[r]:[],main:r});return u}function v(e,n){let o=n.onProposeChange!==void 0&&n.composeChange!==void 0&&F(n.store,n.principal),r=e.slot!=="place"&&typeof n.keptViews?.fork=="function"&&typeof n.keptViews.draftFork=="function"&&n.keptViews.current().may.views===!0;return o||r}var x=/^\d{4}-\d{2}-\d{2}/,ee=e=>{if(typeof e=="number")return String(e);if(!(typeof e!="string"||!e.trim())){if(x.test(e)){let n=new Date(`${e.slice(0,10)}T12:00:00`);return Number.isNaN(n.getTime())?void 0:n.toLocaleDateString("en-US",{month:"short",day:"numeric"})}return e.length<=40?e:void 0}};function U(e,n){let o=[],{store:r}=n,l=(e.main?.innerText??"").toLowerCase();if((e.slot==="list"||e.slot==="group")&&e.kind){let t=r.schema.tryDefinition(e.kind),s=Object.keys(t?.fields?.shape??{}).filter(m=>!["label","name","title"].includes(m)),u=r.graph.nodesOfKind(e.kind).filter(m=>l.includes(String(m.label??"").toLowerCase())).slice(0,6),a=m=>R(t,m).toLowerCase(),i=s.find(m=>u.some(g=>typeof g[m]=="string"&&x.test(String(g[m])))),d=s.find(m=>{let g=u.map(y=>ee(y[m])).filter(y=>y!==void 0);return g.length>0&&g.every(y=>!l.includes(y.toLowerCase()))});if(d){let m=u.some(g=>x.test(String(g[d]??"")));o.push(m&&!/date|day/.test(a(d))?`Show the ${a(d)} date on each row`:`Show ${a(d)} on each row`)}let c=n.views.arrangement?.()?.lists?.[e.kind],p=typeof c?.sort=="string"?c.sort:c?.sort?.by;i&&p!==i&&o.push(`Sort these by ${/date|day/.test(a(i))?a(i):`${a(i)} date`}, soonest first`)}return o.push(`Make \u201C${e.name}\u201D easier to read at a glance`),o.slice(0,3)}var f=T(B(),1);var h=T(L(),1),J=new WeakMap,E=new Set,Y=e=>{let n=J.get(e);return n||J.set(e,n={ask:null,doors:[],heard:new Set}),n},C=e=>e.heard.forEach(n=>n()),ne=0,k=null,te=6e4;function D(e,n){let o=Y(e);o.ask=n?{...n,at:++ne}:null,C(o)}var M=G(I(()=>(__graviewPreload(import.meta.url,["./chunk.T6DPWW2K.js","./chunk.CEVGND3Y.js","./chunk.JMYUQNXN.js","./chunk.NYLKG25K.js","./chunk.TBY5IR7C.js","./chunk.QFHWG4LN.js","./chunk.YIPXZUTT.js","./chunk.BJUUSIQY.js","./chunk.PPSYUOH7.js","./chunk.XOZU4OFA.js","./chunk.GME63ZHI.js","./chunk.NJRLJEJY.js","./chunk.MIE4TJRW.js","./chunk.5LJVOLKR.js","./chunk.OJGHDWI6.js","./chunk.OWFS2YDQ.js","./chunk.WSDJPXJD.js","./chunk.F4VB6Q2W.js","./chunk.FFOD5B4B.js","./chunk.Z7Y3R3YR.js","./chunk.YXEO3Y65.js","./chunk.U3HERHAI.js","./chunk.FBILPNGH.js","./chunk.MODLZJD4.js","./chunk.SDO3U72B.js","./chunk.6HY6ZGEE.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.I4Z7HVRT.js")))),oe=M.part((e,n)=>{let o=e.SectionDrawn;return(0,h.jsx)(o,{...n})},{what:"Make this better"}),H=(e,n,o,r,l)=>({id:"make-better",at:"start",mode:{id:"better",label:"Better UI",mark:"\u2728",claims:async t=>(await q(e.ai,t,n)).about==="look",open:o,nudges:r},prepare:l}),O="graview.better.from-scene",re=3e4;function se(e,n){let o=n.store.schema,r=n.views.places?.()??[],l=c=>r.find(p=>p.as===c),t=e.on??(e.about.length===1?e.about[0]:void 0),s=t?.startsWith("aggregate:")?t.slice(10):void 0,u=t&&!s?n.store.graph.getNode(t):void 0,a=e.place!==void 0?l(e.place):s&&!s.includes("+")?r.find(c=>c.kind===s):void 0;if(a)return{name:a.title,to:{place:a.as},part:{name:a.title,slot:"place",kind:a.kind,place:a.as,elements:[],main:null}};let i=s&&!s.includes("+")&&o.tryDefinition(s)?s:u?.kind;if(!i)return;let d=b(o,i);return{name:d,to:{list:i},part:{name:d,slot:"list",kind:i,elements:[],main:null}}}function he(e,n){let{aiDesk:o,keptViews:r}=n,l=e.section,t=e.element??null;if(!l&&e.face==="scene"){let a=typeof document>"u"?null:document.querySelector('[data-testid="app-menu-open"][data-pages]'),i=a?{click:()=>a.dispatchEvent(new CustomEvent(_,{detail:"pages"}))}:null,d=se(e,n);if(!i||!d||!v(d.part,n))return null;let c=p=>{try{sessionStorage.setItem(O,JSON.stringify({to:d.to,mode:p?"describe":"choose",...p?{words:p}:{},at:Date.now()}))}catch{return}i.click()};return H(n,d.name,c,()=>[`Make \u201C${d.name}\u201D easier to read at a glance`],()=>M.prefetch())}if(l){if(!r?.revise||r.current().may.views!==!0||!W(j(l)))return null;let a=i=>D(o,i?{section:l,mode:"describe",words:i,returnTo:t}:{section:l,mode:"choose",returnTo:t});return H(n,l.name,a,()=>[`Make \u201C${l.name}\u201D easier to read at a glance`],()=>M.prefetch())}let s=e.page&&e.face==="pages"?A(e.page,n):void 0;if(!s||!v(s,n))return null;P.set(e.page.at,s);let u=a=>D(o,a?{part:s,mode:"describe",words:a,returnTo:t}:{part:s,mode:"choose",returnTo:t});return H(n,s.name,u,()=>U(s,n),()=>M.prefetch())}var ae=e=>P.get(e.at)?.elements;function Se(){let e=N(),{aiDesk:n,menuAt:o}=e,r=$(),l=(0,f.useRef)({here:e,goTo:r});l.current={here:e,goTo:r},(0,f.useEffect)(()=>{let c=null;try{c=JSON.parse(sessionStorage.getItem(O)??"null")}catch{return}if(!c||Date.now()-c.at>re)return;let p=c.to;try{sessionStorage.removeItem(O)}catch{}"list"in p?l.current.goTo.list(p.list):l.current.goTo.place(p.place);let m=0,g=setInterval(()=>{m+=1;let y=document.querySelector("[data-graview-page-title]"),S=document.querySelector("[data-graview-page-main]")??y?.closest("main")??y?.parentElement?.parentElement??null;if(!S||m<4){m>150&&clearInterval(g);return}clearInterval(g);let z="place"in p?{at:S,place:p.place}:{at:S,about:[`aggregate:${p.list}`]},w=A(z,l.current.here);!w||!v(w,l.current.here)||(P.set(S,w),D(l.current.here.aiDesk,c.words?{part:w,mode:"describe",words:c.words,fromScene:!0}:{part:w,mode:c.mode,fromScene:!0}))},120);return()=>clearInterval(g)},[]);let t=Y(n),s=(0,f.useId)(),u=(0,f.useMemo)(()=>c=>(t.heard.add(c),()=>void t.heard.delete(c)),[t]);(0,f.useEffect)(()=>(t.doors.push(s),E.add(t),!t.ask&&k&&k.ask.part&&Date.now()-k.at<te&&(t.ask=k.ask),k=null,C(t),()=>{if(t.doors.splice(t.doors.indexOf(s),1),t.doors.length===0&&(E.delete(t),t.ask?.part)){let c=[...E].find(p=>!p.ask);c?(c.ask=t.ask,C(c)):k={ask:t.ask,at:Date.now()}}C(t)}),[t,s]);let a=(0,f.useSyncExternalStore)(u,()=>t.doors[0]===s,()=>!1),i=(0,f.useSyncExternalStore)(u,()=>t.ask,()=>null),d=o?.section?.elements??(o?.page?ae(o.page):void 0);return!a||!i&&!d?null:i?(0,h.jsx)(f.Suspense,{fallback:null,children:(0,h.jsx)(oe,{ask:i,close:()=>D(n,null)})}):(0,h.jsx)(K,{elements:d})}export{Se as SectionDoor,D as askSection,he as sectionFor};