graview 0.1.59 → 0.1.61

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 (185) hide show
  1. package/README.md +4 -2
  2. package/dist/preview/{chunk.KE6ZRUMP.js → chunk.2AWVQ5SW.js} +1 -1
  3. package/dist/preview/{chunk.WEGPDJTB.js → chunk.2LNSENPV.js} +1 -1
  4. package/dist/preview/chunk.2QFKNTAZ.js +1 -0
  5. package/dist/preview/{chunk.PS5SEND3.js → chunk.2WZAFKJ2.js} +1 -1
  6. package/dist/preview/{chunk.UITZ74YJ.js → chunk.2XSIJH5J.js} +1 -1
  7. package/dist/preview/{chunk.WTUB7W2D.js → chunk.3FUUYYR5.js} +1 -1
  8. package/dist/preview/{chunk.ZLMI2NHC.js → chunk.3HFUO3DC.js} +1 -1
  9. package/dist/preview/chunk.3ICWPRRJ.js +1 -0
  10. package/dist/preview/{chunk.M3JIIF32.js → chunk.3RW677X6.js} +1 -1
  11. package/dist/preview/{chunk.GDUM2UOM.js → chunk.3SMNWZ3M.js} +1 -1
  12. package/dist/preview/{chunk.LKE2FBXL.js → chunk.4G32374Q.js} +1 -1
  13. package/dist/preview/{chunk.4T5QIZKB.js → chunk.4LG34OC2.js} +2 -2
  14. package/dist/preview/{chunk.TCPTVTFU.js → chunk.4OEWFPH3.js} +1 -1
  15. package/dist/preview/{chunk.SZG6HJWH.js → chunk.4STDIZVI.js} +1 -1
  16. package/dist/preview/{chunk.X2G4ZRB2.js → chunk.5POG3G2C.js} +1 -1
  17. package/dist/preview/{chunk.GR2B7SKI.js → chunk.5S7IGASX.js} +1 -1
  18. package/dist/preview/chunk.5T53SF2K.js +1 -0
  19. package/dist/preview/{chunk.E22DDEQI.js → chunk.5X22RKB3.js} +1 -1
  20. package/dist/preview/{chunk.4OMOP77U.js → chunk.65KFZV3A.js} +1 -1
  21. package/dist/preview/chunk.66IKLMYX.js +104 -0
  22. package/dist/preview/chunk.6DOOLVT4.js +1 -0
  23. package/dist/preview/{chunk.KSVJHSRH.js → chunk.6HZY5NRX.js} +1 -1
  24. package/dist/preview/{chunk.ATSKKTUO.js → chunk.6SO64TUI.js} +1 -1
  25. package/dist/preview/{chunk.J4HTSXUA.js → chunk.6VLCMBRE.js} +1 -1
  26. package/dist/preview/{chunk.OVSZXILB.js → chunk.747OH3EE.js} +1 -1
  27. package/dist/preview/chunk.7CETF4A6.js +1 -0
  28. package/dist/preview/{chunk.XOTES3PI.js → chunk.7LZ6JDJA.js} +2 -2
  29. package/dist/preview/{chunk.HKINU7VO.js → chunk.7R727IKU.js} +1 -1
  30. package/dist/preview/chunk.A2ZQASQV.js +1 -0
  31. package/dist/preview/chunk.AVFOTYZR.js +74 -0
  32. package/dist/preview/{chunk.IIESMHXY.js → chunk.BDTT4ENI.js} +2 -2
  33. package/dist/preview/{chunk.ROHSF4WM.js → chunk.BFDJTWGX.js} +1 -1
  34. package/dist/preview/{chunk.N4LOI3YA.js → chunk.BI6DS3PZ.js} +1 -1
  35. package/dist/preview/{chunk.R4YDAJRL.js → chunk.BJI2C3IZ.js} +1 -1
  36. package/dist/preview/{chunk.G7HIAUEA.js → chunk.C634A6ZC.js} +1 -1
  37. package/dist/preview/{chunk.EGJUFZD5.js → chunk.CRCJ3TAG.js} +1 -1
  38. package/dist/preview/{chunk.QC4YXFF7.js → chunk.CUTLO6DA.js} +1 -1
  39. package/dist/preview/chunk.D4TA5XDC.js +4 -0
  40. package/dist/preview/{chunk.QLTHHWBA.js → chunk.D5Q64GA4.js} +1 -1
  41. package/dist/preview/{chunk.VDGMFX5C.js → chunk.DHJI7LIW.js} +1 -1
  42. package/dist/preview/{chunk.CYUMQPMH.js → chunk.DHY7KOBV.js} +1 -1
  43. package/dist/preview/chunk.DKXVEVDG.js +1 -0
  44. package/dist/preview/{chunk.V6EEDYYW.js → chunk.DLDP6OWD.js} +1 -1
  45. package/dist/preview/{chunk.VS25R6R2.js → chunk.DP5DUV6F.js} +1 -1
  46. package/dist/preview/chunk.DXWTM4SH.js +1 -0
  47. package/dist/preview/{chunk.BDBLGGFJ.js → chunk.E6RNMWFN.js} +1 -1
  48. package/dist/preview/{chunk.CLR6KAA3.js → chunk.E7UDVC4V.js} +1 -1
  49. package/dist/preview/{chunk.W2VOD6SD.js → chunk.EN2ABVIP.js} +1 -1
  50. package/dist/preview/{chunk.2QESVWUW.js → chunk.EVEHSENK.js} +1 -1
  51. package/dist/preview/{chunk.3XIIJHQ6.js → chunk.F4VHCQNP.js} +1 -1
  52. package/dist/preview/{chunk.IPPZEGBX.js → chunk.F7IQ4B6A.js} +1 -1
  53. package/dist/preview/chunk.F7PIW2EM.js +5 -0
  54. package/dist/preview/{chunk.QL555VQ2.js → chunk.FC6AF6CC.js} +1 -1
  55. package/dist/preview/{chunk.SU6WKQ73.js → chunk.FJIXSGYU.js} +1 -1
  56. package/dist/preview/{chunk.6N7LNTB6.js → chunk.FWUG7Y6C.js} +1 -1
  57. package/dist/preview/chunk.G4VMRYS4.js +1 -0
  58. package/dist/preview/{chunk.7JOG6XFC.js → chunk.GI6XQF5X.js} +1 -1
  59. package/dist/preview/{chunk.S7ZLGODY.js → chunk.GIW657OR.js} +1 -1
  60. package/dist/preview/chunk.GPWYWALF.js +1 -0
  61. package/dist/preview/{chunk.F6P3WSMW.js → chunk.GQNSNJTJ.js} +1 -1
  62. package/dist/preview/chunk.HGVBGSRS.js +6 -0
  63. package/dist/preview/{chunk.CUJX3IVA.js → chunk.HOQMD6WQ.js} +1 -1
  64. package/dist/preview/{chunk.U5PX2ECA.js → chunk.HQNE4I4M.js} +1 -1
  65. package/dist/preview/{chunk.2FOIJ5ID.js → chunk.HZHNM2KI.js} +1 -1
  66. package/dist/preview/{chunk.D3AISGQH.js → chunk.IA5ZBMRD.js} +1 -1
  67. package/dist/preview/{chunk.ZFH4SCCF.js → chunk.ISRQQVS4.js} +1 -1
  68. package/dist/preview/{chunk.BPC4XQFZ.js → chunk.ISXNAFRC.js} +2 -2
  69. package/dist/preview/{chunk.6VNKGTLF.js → chunk.JEQO24GS.js} +1 -1
  70. package/dist/preview/{chunk.MZJ3KTEU.js → chunk.JHAFQNGC.js} +1 -1
  71. package/dist/preview/chunk.JU3BCCQM.js +1 -0
  72. package/dist/preview/{chunk.EZ3CRUBU.js → chunk.K2AC536Q.js} +2 -2
  73. package/dist/preview/chunk.K3UOXAZS.js +1 -0
  74. package/dist/preview/{chunk.WGTBQHHE.js → chunk.KRFRREEW.js} +1 -1
  75. package/dist/preview/chunk.LA2DMHZC.js +1 -0
  76. package/dist/preview/chunk.LQAT7FA6.js +3 -0
  77. package/dist/preview/{chunk.UHUBQ4EX.js → chunk.LTI5PKTS.js} +1 -1
  78. package/dist/preview/chunk.MBP7VDYM.js +1 -0
  79. package/dist/preview/{chunk.UFTAGUTU.js → chunk.MBPOYZ3J.js} +1 -1
  80. package/dist/preview/chunk.MBU7UH6J.js +1 -0
  81. package/dist/preview/chunk.MH6CCHEX.js +1 -0
  82. package/dist/preview/{chunk.G2TCFWYX.js → chunk.MK72IRIY.js} +1 -1
  83. package/dist/preview/{chunk.QXMQUIQZ.js → chunk.MNRTA2CB.js} +1 -1
  84. package/dist/preview/chunk.MU3XII7I.js +1 -0
  85. package/dist/preview/chunk.MYVED5LU.js +1 -0
  86. package/dist/preview/chunk.N5WDQAIM.js +5 -0
  87. package/dist/preview/{chunk.VNJKGSGZ.js → chunk.N7T7VB77.js} +1 -1
  88. package/dist/preview/{chunk.JPNBQFJ3.js → chunk.NUEPFPRA.js} +1 -1
  89. package/dist/preview/chunk.ODVRO2BJ.js +1 -0
  90. package/dist/preview/{chunk.DGM3Y2FB.js → chunk.OVPFROL3.js} +1 -1
  91. package/dist/preview/{chunk.RKZ4J3H2.js → chunk.PGA5TUSN.js} +1 -1
  92. package/dist/preview/{chunk.VGHZQEHS.js → chunk.PJ5AO7CK.js} +1 -1
  93. package/dist/preview/{chunk.E2REVMAG.js → chunk.PYVWGTQS.js} +1 -1
  94. package/dist/preview/{chunk.CIB65YO6.js → chunk.PZXTSWDH.js} +1 -1
  95. package/dist/preview/chunk.Q5I5M3FR.js +1 -0
  96. package/dist/preview/chunk.QATUGE34.js +1 -0
  97. package/dist/preview/{chunk.T227XQIO.js → chunk.QL77K3D4.js} +1 -1
  98. package/dist/preview/{chunk.VNBEAF62.js → chunk.R3N73BJO.js} +1 -1
  99. package/dist/preview/{chunk.3UTRR5YM.js → chunk.R5547CJ7.js} +1 -1
  100. package/dist/preview/chunk.REH6RXNH.js +1 -0
  101. package/dist/preview/{chunk.HJOVOA52.js → chunk.RZ5PPQBV.js} +1 -1
  102. package/dist/preview/{chunk.ATVPAYS6.js → chunk.SAYAFOF6.js} +1 -1
  103. package/dist/preview/{chunk.UM5H2VVR.js → chunk.SBLYBRDU.js} +1 -1
  104. package/dist/preview/{chunk.7XSDXX5Z.js → chunk.SCGF4ZPP.js} +1 -1
  105. package/dist/preview/{chunk.2MFXP3FB.js → chunk.SIYBHZDD.js} +1 -1
  106. package/dist/preview/{chunk.YMRVKG6W.js → chunk.SJALH7IX.js} +1 -1
  107. package/dist/preview/{chunk.P6CHNBRR.js → chunk.SKQO467Y.js} +1 -1
  108. package/dist/preview/chunk.SLAZFFCQ.js +1 -0
  109. package/dist/preview/chunk.SLPJWOKC.js +1 -0
  110. package/dist/preview/{chunk.ZUKYMU6C.js → chunk.TKLYUVMR.js} +1 -1
  111. package/dist/preview/chunk.TMAZNDA6.js +1 -0
  112. package/dist/preview/{chunk.4QWTSI7V.js → chunk.U2ISOUM2.js} +1 -1
  113. package/dist/preview/{chunk.BFN6B4C4.js → chunk.U3JK2DNC.js} +1 -1
  114. package/dist/preview/chunk.U5P23GO7.js +1 -0
  115. package/dist/preview/{chunk.Q3Y5EV5A.js → chunk.UACSX64H.js} +3 -3
  116. package/dist/preview/{chunk.7AMBLGVB.js → chunk.ULHB3RYK.js} +1 -1
  117. package/dist/preview/{chunk.NSGQXCH6.js → chunk.UO544PZH.js} +1 -1
  118. package/dist/preview/{chunk.L3K25NCS.js → chunk.UXOBUK3C.js} +1 -1
  119. package/dist/preview/{chunk.B5HLA45D.js → chunk.VKHAAH32.js} +1 -1
  120. package/dist/preview/{chunk.IZ2ZTNEV.js → chunk.VN7I7XIO.js} +1 -1
  121. package/dist/preview/{chunk.HF5SNUTK.js → chunk.VOOOIECX.js} +1 -1
  122. package/dist/preview/chunk.VS6NT5C4.js +1 -0
  123. package/dist/preview/{chunk.VFRURRNI.js → chunk.VUAOCYG2.js} +1 -1
  124. package/dist/preview/{chunk.P3CUCDHO.js → chunk.VX65S2FA.js} +1 -1
  125. package/dist/preview/chunk.VYFMUCBT.js +1 -0
  126. package/dist/preview/{chunk.HVUUJQRE.js → chunk.W5TVQYAI.js} +1 -1
  127. package/dist/preview/{chunk.LDYOQCY7.js → chunk.WD4VPMEE.js} +1 -1
  128. package/dist/preview/{chunk.DO45KXLM.js → chunk.WICFQROI.js} +1 -1
  129. package/dist/preview/{chunk.MRYN42EQ.js → chunk.WS7LAT4Z.js} +1 -1
  130. package/dist/preview/{chunk.CZH27V2R.js → chunk.X2I3XH2E.js} +1 -1
  131. package/dist/preview/{chunk.KOGUYWHG.js → chunk.XFSGB6EU.js} +1 -1
  132. package/dist/preview/{chunk.U7G56KXT.js → chunk.XWWSW3ZV.js} +1 -1
  133. package/dist/preview/chunk.XZUHFXME.js +1 -0
  134. package/dist/preview/{chunk.Z4CJJ4QP.js → chunk.XZWXDQ3N.js} +1 -1
  135. package/dist/preview/chunk.Y7H5O2SL.js +1 -0
  136. package/dist/preview/chunk.YFVJUHAK.js +1 -0
  137. package/dist/preview/chunk.YGIJDHAV.js +2 -0
  138. package/dist/preview/{chunk.MOAUE3N2.js → chunk.YOT7ESDG.js} +3 -3
  139. package/dist/preview/{chunk.QT6UV7HN.js → chunk.ZC3FRCJQ.js} +1 -1
  140. package/dist/preview/{chunk.6O3YPUW3.js → chunk.ZJCM62GH.js} +1 -1
  141. package/dist/preview/{chunk.DWHPZBPZ.js → chunk.ZKAZA6UJ.js} +1 -1
  142. package/dist/preview/{chunk.2XTCDFWU.js → chunk.ZQHCNFJK.js} +1 -1
  143. package/dist/preview/{chunk.2NJDT47T.js → chunk.ZVG3DR5G.js} +1 -1
  144. package/dist/preview/chunk.ZYNUMVEC.js +1 -0
  145. package/dist/preview/index.html +50 -50
  146. package/dist/preview/page.js +2 -2
  147. package/package.json +6 -6
  148. package/dist/preview/chunk.2FP4KEEG.js +0 -1
  149. package/dist/preview/chunk.3XLOFZRM.js +0 -1
  150. package/dist/preview/chunk.6BLNFVB4.js +0 -1
  151. package/dist/preview/chunk.6E36I2GC.js +0 -1
  152. package/dist/preview/chunk.6IUEGPCZ.js +0 -67
  153. package/dist/preview/chunk.AXXYJCSW.js +0 -1
  154. package/dist/preview/chunk.CJUIJ6TL.js +0 -1
  155. package/dist/preview/chunk.E4SYOBGB.js +0 -1
  156. package/dist/preview/chunk.FJTVY6AE.js +0 -1
  157. package/dist/preview/chunk.GQHFLOTZ.js +0 -5
  158. package/dist/preview/chunk.KHZA5F7A.js +0 -1
  159. package/dist/preview/chunk.KKQXGN5U.js +0 -104
  160. package/dist/preview/chunk.LDLTQNJ2.js +0 -1
  161. package/dist/preview/chunk.LHJWII6C.js +0 -1
  162. package/dist/preview/chunk.MHILFBK6.js +0 -1
  163. package/dist/preview/chunk.MMWLLWFS.js +0 -1
  164. package/dist/preview/chunk.NIFQDN6R.js +0 -6
  165. package/dist/preview/chunk.NOLGJFA4.js +0 -2
  166. package/dist/preview/chunk.OLW44AP5.js +0 -1
  167. package/dist/preview/chunk.P52UTBNO.js +0 -4
  168. package/dist/preview/chunk.PCVPH5KM.js +0 -1
  169. package/dist/preview/chunk.Q6LLURRM.js +0 -1
  170. package/dist/preview/chunk.QDZAITMN.js +0 -1
  171. package/dist/preview/chunk.QHU3KUZZ.js +0 -1
  172. package/dist/preview/chunk.S6VON4LU.js +0 -1
  173. package/dist/preview/chunk.U37WZMUO.js +0 -1
  174. package/dist/preview/chunk.U5JFW2YM.js +0 -1
  175. package/dist/preview/chunk.V5MOMBZG.js +0 -1
  176. package/dist/preview/chunk.VUSJ7HPC.js +0 -1
  177. package/dist/preview/chunk.VXRECLX6.js +0 -1
  178. package/dist/preview/chunk.W66VMALY.js +0 -1
  179. package/dist/preview/chunk.WGVIJDV5.js +0 -1
  180. package/dist/preview/chunk.X3MMJ3QC.js +0 -5
  181. package/dist/preview/chunk.X5YRNNHU.js +0 -1
  182. package/dist/preview/chunk.YGZCESXY.js +0 -3
  183. package/dist/preview/chunk.YMC2T2HN.js +0 -1
  184. package/dist/preview/chunk.YN6BXZHO.js +0 -1
  185. package/dist/preview/chunk.ZT3NEAFI.js +0 -1
@@ -1,2 +1,2 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as ro}from"./chunk.2MFXP3FB.js";import{a as Wt,b as lr,c as ur,d as fr,e as It,f as pr,g as mr,h as hr,i as yr,j as gr,k as wr,l as vr,m as br,n as Ue}from"./chunk.S6VON4LU.js";import{b as dr}from"./chunk.M3JIIF32.js";import{a as Bt,b as or,c as ar,d as ir,e as sr,f as $t,g as cr,h as Nt}from"./chunk.ZLMI2NHC.js";import{a as Rt,g as Ln}from"./chunk.PCVPH5KM.js";import{k as it}from"./chunk.YGZCESXY.js";import{E as tr,I as nr,J as rr,h as Yn,k as Dt,l as Qn,n as Zn,r as Xn,w as Vt,z as er}from"./chunk.6IUEGPCZ.js";import{c as no}from"./chunk.CUJX3IVA.js";import{Aa as qn,Ca as zn,Da as Gn,Fa as Un,G as Mt,Ga as Ht,Ka as Kn,La as Jn,Oa as dt,T as Dn,Z as Vn,a as Mn,b as st,c as ct,ga as Bn,ha as $n,j as Hn,m as Lt,va as Nn,wa as Wn,xa as In,ya as _n,za as jn}from"./chunk.VNJKGSGZ.js";import{a as Te}from"./chunk.SDO3U72B.js";import{Eb as Sn,Rd as Re,Sd as Fn,Td as On,Yc as kn,Yd as xt,Zd as Ft,_d as Ot,be as Cn,ce as Ct,fb as _e,hc as Tt,ic as Pn,jd as An,kd as En,pd as Rn,qb as ot,rd as Tn,sd as xn,ud as at,vb as bn}from"./chunk.X3MMJ3QC.js";import"./chunk.FQLNBIQ5.js";import{b as De}from"./chunk.AJZBJBMO.js";function _t(e){if(Array.isArray(e))return e.map(_t);if(e&&typeof e=="object"){let n={};for(let o of Object.keys(e).sort()){let i=e[o];i!==void 0&&(n[o]=_t(i))}return n}return e}function jt(e){return JSON.stringify(_t(e))??"undefined"}async function lt(e,n={}){let o=e.compiled===void 0||!ao(e.compiled,e.document)?void 0:Ln(e.compiled,n);if(o?.ok)return o;let{compileDocumentWithoutCheck:i}=await oo();return i(e.document,n)}var Sr,oo=()=>Sr??=(__graviewPreload(import.meta.url,["./chunk.PCVPH5KM.js","./chunk.N4LOI3YA.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.W66VMALY.js")).catch(e=>{throw Sr=void 0,e});function ao(e,n){let o=typeof e=="object"&&e!==null?e.document:void 0,i=n;if(typeof i=="string")try{i=JSON.parse(i)}catch{return!1}return o!==void 0&&jt(Rt(o).document)===jt(Rt(i).document)}var d=De(Mt(),1);var ft=De(Mt(),1),qt="data-graview-drawn",io=200,Pr=50,so=1e4,ut=()=>typeof performance<"u"?performance.now():Date.now();function co(e){let n=[...e.querySelectorAll("img")];for(let o of e.querySelectorAll("[data-worker-view]"))o.shadowRoot&&n.push(...o.shadowRoot.querySelectorAll("img"));return n}function lo(e,n){if(e.ownerDocument.fonts?.status==="loading"||Wn()>0||qn(n)>0||e.querySelector('[aria-busy="true"]')||co(e).some(i=>!i.complete&&i.loading!=="lazy"))return!1;for(let i of e.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 kr(e){let n=e.querySelector("[data-embed-content]"),o=[...e.querySelectorAll("[data-worker-view]")].map(i=>`${i.offsetWidth}x${i.offsetHeight}`);return`${e.scrollWidth}x${e.scrollHeight}|${n?`${n.scrollWidth}x${n.scrollHeight}`:""}|${o.join(",")}`}function uo(e,n,o,i){e.removeAttribute(qt);let c=e.ownerDocument.defaultView;if(!c)return()=>{};let l=ut(),S=l,p=kr(e),w=!1,E,T=typeof MutationObserver>"u"?void 0:new MutationObserver(v=>{v.some(_=>!(_.target===e&&_.attributeName===qt))&&(S=ut())});T?.observe(e,{childList:!0,subtree:!0,characterData:!0,attributes:!0});let P=()=>{w=!0,T?.disconnect(),E!==void 0&&clearTimeout(E)},k=v=>{let _=!1,de=()=>{_||(_=!0,v())};typeof c.requestAnimationFrame=="function"&&c.requestAnimationFrame(()=>setTimeout(de,0)),setTimeout(de,100)},F=()=>{if(w)return;let v=kr(e);v!==p&&(p=v,S=ut());let _=ut();if(lo(e,i)&&_-S>=io||_-l>=so){k(()=>{w||(P(),e.setAttribute(qt,n),Gn(),o())});return}E=setTimeout(F,Pr)};return E=setTimeout(F,Pr),P}function Ar(e,n,o,i,c){zn();let l=(0,ft.useRef)({place:o,onDrawn:i});l.current={place:o,onDrawn:i},(0,ft.useLayoutEffect)(()=>{c&&jn(c);let S=E=>uo(E,l.current.place.path,()=>l.current.onDrawn?.(l.current.place),c);if(e.current)return S(e.current);let p,w=!1;return queueMicrotask(()=>{!w&&e.current&&(p=S(e.current))}),()=>{w=!0,p?.()}},[n,e,c])}var ve=De(Mt(),1),Ke,fo=Te(()=>(__graviewPreload(import.meta.url,["./chunk.5IEFTFKQ.js","./chunk.B5HLA45D.js","./chunk.G2TCFWYX.js","./chunk.VDGMFX5C.js","./chunk.T227XQIO.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.IPPZEGBX.js"))),Er=()=>fo().then(e=>void(Ke=e),()=>new Promise(e=>setTimeout(e,2e3)).then(Er)),zt=Nn(Er),Rr=e=>!!e&&Ke===void 0;function Gt({onReady:e,fetch:n}){return(0,ve.useLayoutEffect)(()=>void n().then(e),[e,n]),null}var po=0;function Tr(e){let[n,o]=(0,ve.useState)(()=>Ke);(0,ve.useEffect)(()=>{if(!e||n)return;let l=!1;return zt().then(()=>{l||o(Ke)}),()=>{l=!0}},[e,n]);let i=(0,ve.useMemo)(()=>po+=1,[e]);return{over:(0,ve.useMemo)(()=>{let l=n??Ke;if(!e||!l)return;let{source:S,worker:p,...w}=e,E={...w,worker:p??{source:S},draft:!0};return{name:e.manifest.name,home:e.manifest.attach==="home",register:T=>l.registerWorkerView(T,E)}},[e,n]),n:i}}var Or=De(ro(),1),I=De(no(),1);var g=De(Dn(),1);function pt(e,n={}){let o=Ht(e);return{Face:o.part((c,l)=>(0,d.createElement)(c,l),n),fetch:()=>o.load().then(()=>{}),here:()=>o.current!==void 0||o.failed}}var Jt=e=>Promise.all([e,nr()]).then(([n])=>n),Cr=Te(()=>(__graviewPreload(import.meta.url,["./chunk.2XTCDFWU.js","./chunk.WGTBQHHE.js","./chunk.P52UTBNO.js","./chunk.S7ZLGODY.js","./chunk.UM5H2VVR.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.HJCQ6I3S.js","./chunk.ATVPAYS6.js","./chunk.VNBEAF62.js","./chunk.QHU3KUZZ.js","./chunk.YMRVKG6W.js","./chunk.P3CUCDHO.js","./chunk.OVSZXILB.js","./chunk.BDBLGGFJ.js","./chunk.IZ2ZTNEV.js","./chunk.CJUIJ6TL.js","./chunk.LDYOQCY7.js","./chunk.VFRURRNI.js","./chunk.X2G4ZRB2.js","./chunk.UITZ74YJ.js","./chunk.S6VON4LU.js","./chunk.M3JIIF32.js","./chunk.ZFH4SCCF.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.Q3Y5EV5A.js"))),mo=Te(()=>(__graviewPreload(import.meta.url,["./chunk.MOAUE3N2.js","./chunk.KKQXGN5U.js","./chunk.G7HIAUEA.js","./chunk.GQHFLOTZ.js","./chunk.2XTCDFWU.js","./chunk.Q355UPFG.js","./chunk.PXQVXBNG.js","./chunk.XOTES3PI.js","./chunk.WGTBQHHE.js","./chunk.HF5SNUTK.js","./chunk.S7ZLGODY.js","./chunk.2QESVWUW.js","./chunk.UM5H2VVR.js","./chunk.WEGPDJTB.js","./chunk.MRYN42EQ.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.F6P3WSMW.js","./chunk.YMRVKG6W.js","./chunk.BDBLGGFJ.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.BJUUSIQY.js","./chunk.X2G4ZRB2.js","./chunk.UITZ74YJ.js","./chunk.XOZU4OFA.js","./chunk.MHILFBK6.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.MMWLLWFS.js"))),ho=Te(()=>(__graviewPreload(import.meta.url,["./chunk.MOAUE3N2.js","./chunk.KKQXGN5U.js","./chunk.G7HIAUEA.js","./chunk.GQHFLOTZ.js","./chunk.2XTCDFWU.js","./chunk.Q355UPFG.js","./chunk.PXQVXBNG.js","./chunk.XOTES3PI.js","./chunk.WGTBQHHE.js","./chunk.HF5SNUTK.js","./chunk.S7ZLGODY.js","./chunk.2QESVWUW.js","./chunk.UM5H2VVR.js","./chunk.WEGPDJTB.js","./chunk.MRYN42EQ.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.F6P3WSMW.js","./chunk.YMRVKG6W.js","./chunk.BDBLGGFJ.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.BJUUSIQY.js","./chunk.X2G4ZRB2.js","./chunk.UITZ74YJ.js","./chunk.XOZU4OFA.js","./chunk.MHILFBK6.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.3XLOFZRM.js"))),Lr=pt(()=>Jt(Cr().then(e=>e.SceneFace)),{what:"This view"}),Mr=pt(()=>Cr().then(e=>e.SceneKeeping),{quiet:!0}),Hr=pt(()=>Jt(mo().then(e=>e.PagesContent)),{what:"This page"}),Dr=pt(()=>Jt(ho().then(e=>e.PictureFace)),{what:"This picture"}),yo=Lr.Face,go=Mr.Face,wo=Hr.Face,vo=Dr.Face;function Ve(...e){let n=e.length>0?e:["scene","pages","picture"],o=new Set(n.flatMap(Vr));return Promise.all([...[...o].map(i=>i.fetch()),Zn()]).then(()=>{},()=>{})}var Vr=e=>e==="pages"?[Hr]:e==="picture"?[Dr]:[Lr,Mr],Br=e=>Vr(e).every(n=>n.here()),bo=150,Ut=0;function xr(e,n){if(Br(e))return n();let o=++Ut,i=()=>{o===Ut&&(Ut+=1,n())};Ve(e).then(i),setTimeout(i,bo)}var So=768;function Po(e,n){let o=n!==null&&n>=So;(0,d.useEffect)(()=>{if(!o||e==="picture")return;let i=e==="pages"?"scene":"pages";if(Br(i))return;let c=globalThis,l=()=>void Ve(i),S=()=>{},p=Un(()=>{if(c.requestIdleCallback&&c.cancelIdleCallback){let w=c.requestIdleCallback(l,{timeout:4e3});S=()=>c.cancelIdleCallback?.(w)}else{let w=setTimeout(l,1500);S=()=>clearTimeout(w)}});return()=>(p(),S())},[e,o])}function ko({asked:e,shown:n,onDrawn:o}){return(0,d.useLayoutEffect)(()=>o(e,n),[e,n,o]),null}function Ao({auto:e,scene:n}){return(0,g.jsx)("div",{"data-embed-content":"","aria-busy":"true",style:{flex:e?n?`0 0 ${It}px`:"0 0 auto":"1 1 auto",minHeight:0,background:"var(--graview-ground)"}})}var Eo=Ht(Te(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.5JNXQHN4.js")))).part((e,n)=>(0,g.jsx)(e.StudioPlace,{...n}),{quiet:!0});function $r(e,n,o,i,c){return $t(e,sr(n?ct(n):c??Mn,i),o)}function Yt(e){return e&&ct(e).overview?"graview":"scene"}function Fr(e,n){if(n.homeView?.()===void 0)return!1;let o=e.pages?.first?.trim();return o===void 0||o===""||o==="/"||o.toLowerCase()==="home"}function Nr(e){let[,n]=(0,d.useState)(!1),o=(0,d.useCallback)(()=>n(!0),[]),i=(0,d.useRef)(!1);return e.at&&!mt?(0,g.jsx)(Gt,{onReady:o,fetch:Qt}):!i.current&&Rr(e.draftView)?(0,g.jsx)(Gt,{onReady:o,fetch:zt}):(i.current=!0,(0,g.jsx)(Ro,{...e}))}function Ro(e){let{app:n,stop:o,bar:i=!0,standing:c="Everything is in order",principal:l,heading:S=2}=e,{rootRef:p,scope:w,css:E,scheme:T,store:P,presence:k,brand:F,auto:v,height:_}=pr(e),de=Tr(e.draftView),D=ur(e,rr,de.over),[ie]=(0,d.useState)(_n),f=e.basePath===void 0?{}:{basePath:e.basePath},[V]=(0,d.useState)(Dt),j=e.notices??V,Z=h=>xt(h,f),x={...e.routing?{routing:e.routing}:{},...f},[me]=(0,d.useState)(()=>{let h=e.at?.face;if(h)return h;let Q=o===void 0&&Fr(n,D)?"pages":Yt(o),K=Bt({...x,face:Q});return e.face===void 0&&e.onOpening?.(K),K}),[B,R]=(0,d.useState)(()=>e.face!==void 0&&e.face!=="pages"&&!e.at&&o===void 0&&or(x)&&Fr(n,D)),he=(0,d.useRef)(e.onFace);he.current=e.onFace,(0,d.useLayoutEffect)(()=>{B&&(he.current?.("pages"),R(!1))},[B]);let L=B?"pages":e.face??me,O=n.schema.kinds,C=e.routing==="address",H=(0,d.useMemo)(()=>e.at?mt.settleAt(e,P.seenBy(l??{kind:"human"}),D.places()):void 0,[]),X=(0,d.useMemo)(()=>$n(D,n.schema),[D,n.schema]),q=(0,d.useMemo)(()=>{let h=H?.stop??(C?ar(e.basePath):void 0)??o;return L==="scene"&&h===void 0&&X===void 0&&(e.path===void 0||Kt(e.path))?Nt(void 0):$r(L,h,O,D.places(),X)},[]),[ye]=(0,d.useState)(L);(0,d.useEffect)(()=>{ye!=="pages"&&Bn(D)},[ye,D]);let $=(0,d.useRef)(void 0),Fe=h=>h===void 0||Kt(h)?"/":h;$.current??={path:Fe(H?.path??(C?L==="pages"?(Ft(window.location.pathname,e.basePath)??"/")+window.location.search:"/":e.path)),asked:e.path},e.path!==$.current.asked&&($.current={path:Fe(e.path),asked:e.path});let M=(0,d.useRef)(e.onNavigate);M.current=e.onNavigate;let ee=(0,d.useCallback)((h,Q)=>{$.current.path=h,M.current?.(h,Q)},[]),{at:te,setAt:N,steering:Se,steer:J}=wr($.current.path),z=(0,d.useContext)(Wr);z&&(z.pages=()=>$.current.path);let G=(0,d.useRef)(void 0),le=(0,d.useCallback)(h=>void($.current.path=h),[]),ne=Yn(p),[Oe,Pe]=(0,d.useState)(!1),se=e.pagesBelow!==void 0&&ne!==null&&ne<e.pagesBelow&&(L==="scene"||L==="graview")&&!Oe,A=se?"pages":L,Ce=(0,d.useRef)(!1);Ce.current=Oe&&e.pagesBelow!==void 0&&ne!==null&&ne<e.pagesBelow&&(L==="scene"||L==="graview"),z&&(z.shown=A);let Le=(0,d.useRef)(L==="graview"?"graview":"scene");(A==="scene"||A==="graview")&&(Le.current=A),(0,d.useState)(()=>{if(!C||typeof window>"u"||A==="pages"||A==="picture")return;let{pathname:h,search:Q,hash:K}=window.location;Ft(h,e.basePath)==="/"&&window.history.replaceState(window.history.state,"",`${Z(Re)}${Q}${K}`)}),fr(p,A,e.onIntrinsicHeight),Po(A,ne);let re=vr(e.onError,A),Me=br(e.onReady,A),ke=(0,d.useRef)(e.onFaceDrawn);ke.current=e.onFaceDrawn;let Ye=(0,d.useCallback)((h,Q)=>{Me(Q),ke.current?.(h)},[Me]),[Be,wt]=(0,d.useState)(null),Qe=D.places(),$e=(0,d.useRef)({shown:A,onFace:e.onFace});$e.current={shown:A,onFace:e.onFace};let W=(0,d.useCallback)((h,Q,K)=>{if(C){G.current?.(h,Q,K);return}$e.current.onFace?.(h),M.current?.(h==="pages"?Q??$.current.path:Re,"push")},[C]),[ge,U]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{A==="pages"&&U(void 0)},[A]);let Ne=(0,d.useRef)(o);(0,d.useEffect)(()=>{Ne.current!==o&&(Ne.current=o,U(void 0))},[o]);let Ae=(0,d.useCallback)(h=>{if($e.current.shown==="pages"){if(Pe(!0),U(h),L==="scene"||L==="graview"){xr(L,()=>{C?window.history.pushState(null,"",`${Z(Re)}${h??""}`):M.current?.(Re,"push")});return}xr(Le.current,()=>W(Le.current,void 0,h))}},[C,L,e.basePath,W]),He=(0,d.useCallback)(h=>{if($e.current.shown==="pages"){Se.go.current||($.current.path=h),J(h);return}if($.current.path=h,N(h),Ce.current){Pe(!1),C?window.history.pushState(null,"",Z(h)):M.current?.(h,"push");return}W("pages",h)},[Se,J,N,W,C,e.basePath]),ze=D.arrangement?.(),ue=A==="pages",Ee=e.hrefOf,We=Ee??(C?Z:void 0),Y=(0,d.useMemo)(()=>({open:He,...Ee?{href:Ee}:C?{href:h=>xt(h,e.basePath===void 0?{}:{basePath:e.basePath})}:{}}),[He,C,e.basePath,Ee]);return(0,g.jsxs)("section",{ref:p,className:w,"aria-label":e.label??n.name,"data-graview-embed":A,"data-graview-scheme":T,...se?{"data-graview-embed-narrow":""}:{},style:{position:"relative",isolation:"isolate",height:_,minHeight:v?0:320,display:"flex",flexDirection:"column",overflow:"hidden",borderRadius:"var(--graview-radius, 12px)"},children:[(0,g.jsx)("style",{children:E}),(0,g.jsxs)(Jn.Provider,{value:re,children:[(0,g.jsx)(mr,{rootRef:p,board:j}),(0,g.jsx)(lr,{rootRef:p,firstLook:e.firstLook,app:er(F??{name:n.name},n.schema)}),(0,g.jsx)(Ue,{module:"@graview/react",report:re,content:!0,children:(0,g.jsx)(In.Provider,{value:ie,children:(0,g.jsx)(Vn,{store:P,views:D,initialView:q,scheme:T,...hr(e,k,F),...e.onSeat?{onSeat:e.onSeat}:{},children:(0,g.jsxs)(Qn.Provider,{value:j,children:[(0,g.jsx)(Oo,{face:A,stop:ge??o,kinds:O,places:Qe,opens:X}),z?(0,g.jsx)(To,{into:z}):null,(0,g.jsx)(xo,{rootRef:p,face:L,shown:A,path:te,stop:o,draft:de.n,onDrawn:e.onDrawn,parts:ie}),C?(0,g.jsx)(ir,{pagesWere:H?.path,basePath:e.basePath,shown:A,onFace:e.onFace,toggle:G,kinds:O,places:Qe,opens:X,landed:le}):null,i&&A!=="picture"?(0,g.jsx)(Ue,{module:"@graview/embed",report:re,children:(0,g.jsx)(yr,{name:F?.name??n.name,heading:S,named:Wt(i).name!==!1,faces:Wt(i).faces===!1?void 0:{scene:{label:Fn(ze),current:!ue,go:()=>Ae(),reach:()=>void Ve(Le.current)},pages:{label:On(ze),current:ue,go:()=>He($.current.path),reach:()=>void Ve("pages")}},at:ue?te:null,without:e.pages?.without(),home:{...We?.("/")!==void 0?{href:We("/")}:{},go:()=>He("/"),current:ue&&te.split("?")[0]==="/"},reach:{...We?{href:We}:{},go:h=>He(h.path)},standing:c,hostActions:e.hostActions,keeping:ue?void 0:(0,g.jsx)(Co,{app:n,studio:e.studio,report:re}),onFind:wt,switch:e.switch})}):null,(0,g.jsx)(Xn.Provider,{value:Be,children:(0,g.jsx)(Ue,{module:A==="pages"||A==="picture"?"@graview/pages":"@graview/react",report:re,content:!0,children:(0,g.jsxs)(d.Suspense,{fallback:(0,g.jsx)(Ao,{auto:v,scene:A!=="pages"&&A!=="picture"}),children:[A==="picture"?(0,g.jsx)(vo,{scope:w,store:P,views:D,as:(o?ct(o).within?.view:void 0)??""}):A==="pages"?(0,g.jsx)(wo,{store:P,views:D,presence:k,auto:v,brand:F,steering:Se,overview:Ae,scope:w,titleLevel:gr(S),quickAsk:Vt(e.quickAsk),props:{...e,onNavigate:ee,...C?{}:{path:$.current.path}}}):(0,g.jsx)(Kn.Provider,{value:Y,children:(0,g.jsx)(yo,{address:C,auto:v,scheme:T,scope:w,quickAsk:Vt(e.quickAsk)})}),(0,g.jsx)(ko,{asked:L,shown:A,onDrawn:Ye})]})},A)})]})})})})]})]})}var Kt=e=>e.split(/[?#]/)[0]===Re,Wr=(0,d.createContext)(null);function To({into:e}){return e.view=dt().view,null}function xo({rootRef:e,face:n,shown:o,path:i,stop:c,draft:l,onDrawn:S,parts:p}){let{view:w}=dt(),E=o==="scene"||o==="graview",T=st(w),{pan:P,...k}=w,F=w.pan?st(k):T,v={face:n,path:E?Re:o==="picture"?c??"#":i,stop:T};return Ar(e,`${o} ${E?F:v.path} ${l}`,v,S,p),null}var mt,Fo=Te(()=>(__graviewPreload(import.meta.url,["./chunk.ZLMI2NHC.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.DO45KXLM.js"))),Qt=()=>Fo().then(e=>void(mt=e),()=>new Promise(e=>{let n=()=>{window.removeEventListener("online",n),clearTimeout(o),e()},o=setTimeout(n,1e4);window.addEventListener("online",n)}).then(Qt));function Oo({face:e,stop:n,kinds:o,places:i,opens:c}){let{view:l,go:S}=dt(),p=(0,d.useRef)({face:e,stop:n});return(0,d.useLayoutEffect)(()=>{let w=p.current.stop!==n,E=p.current.face!==e,T=p.current.face==="pages";if(p.current={face:e,stop:n},!w&&!E||e==="pages"||e==="picture")return;let P=(w||T)&&n!==void 0?$r(e,n,o,i):T&&cr(l)?$t(e,Nt(c),o):e==="graview"?Lt(l,!0):l.overview?Hn(Lt(l,!1),tr(l,o)):l;S(P)},[e,n,o,l,S,c]),null}function Co({app:e,studio:n,report:o}){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.Suspense,{fallback:null,children:(0,g.jsx)(go,{})}),n!==!1?(0,g.jsx)(Ue,{module:"@graview/studio",report:o,children:(0,g.jsx)(Lo,{app:e,studio:n})}):null]})}function Lo({app:e,studio:n}){let o={app:e,within:"box",...n?{onApply:n.onApply}:{},...n?.landmark?{landmark:n.landmark}:{},...n?.offered!==void 0?{offered:n.offered}:{}},i=n?.place;return i?(0,g.jsx)(i,{...o}):(0,g.jsx)(d.Suspense,{fallback:null,children:(0,g.jsx)(Eo,{...o})})}function Mo({path:e,stop:n,...o},i){return{...o,app:i.app,at:i.at,remote:i.remote,...i.remote.presence?{presence:i.remote.presence}:{}}}function Zt(e,n){let o=n.store??n.remote?.store??dr(n.app,n.seed),i=n.notices??Dt(),c=null,l={},S=0,p=n.label,w=n.app,E=Promise.resolve(),T=n.at?.face??n.face,P=T===void 0?void 0:Bt({...n,face:T}),k=P??Yt(n.stop),F=null,v=[],_=f=>{if(F=f,f!==k)return;let V=v;v=[];for(let j of V)j()};function de(){let[f,V]=(0,d.useState)(P),[j,Z]=(0,d.useState)(n.stop),[x,me]=(0,d.useState)(n.path),[B,R]=(0,d.useState)(n.scheme??"auto"),[he,L]=(0,d.useState)(n.principal),[O,C]=(0,d.useState)(n.seats),[H,X]=(0,d.useState)(n.quickAsk),[q,ye]=(0,d.useState)(n.people),[$,Fe]=(0,d.useState)(n.hostContext),[M,ee]=(0,d.useState)(n.brand),[te,N]=(0,d.useState)(n.whileAway),[Se,J]=(0,d.useState)(n.label),[z,G]=(0,d.useState)(n.hostActions),[le,ne]=(0,d.useState)(void 0),[Oe,Pe]=(0,d.useState)(n.draftView);return c={app:se=>{ne(se),me(void 0),Z(void 0)},face:V,stop:Z,path:me,scheme:R,seat:L,seats:C,quickAsk:X,people:ye,hostContext:Fe,brand:ee,whileAway:N,label:J,hostActions:G,draft:Pe},(0,g.jsx)(Wr.Provider,{value:l,children:(0,g.jsx)(Nr,{...le?Mo(n,le):n,store:o,notices:i,...f!==void 0?{face:f}:{},onOpening:se=>{k=se},...j!==void 0?{stop:j}:{},...x!==void 0?{path:x}:{},...he?{principal:he}:{},...O?{seats:O}:{},...H!==void 0?{quickAsk:H}:{},...q?{people:q}:{},...$?{hostContext:$}:{},...M?{brand:M}:{},whileAway:te,label:Se,hostActions:z,draftView:Oe,scheme:B,onFace:se=>{k=se,V(se)},onSeat:L,onFaceDrawn:_},le?.n??0)})}let D=()=>{let f=l.view?.focusId,V=f?o.graph.getNode(f)?.kind:void 0,j=(l.shown??k)==="scene"||(l.shown??k)==="graview";return{face:k,path:j?Re:l.pages?.()??n.path??"/",stop:l.view?st(l.view):n.stop??"#",...V?{kind:V}:{}}},ie=(0,Or.createRoot)(e);return(0,I.flushSync)(()=>ie.render((0,g.jsx)(de,{}))),{get store(){return o},where:D,setApp:(f,V,j)=>{let Z="graph"in V?{store:V}:V,x=()=>{let me=D();o=Z.store,p=j?.label??(p===w.name?f.name:p),w=f,(0,I.flushSync)(()=>{c?.label(p),c?.app({app:f,remote:Z,at:me,n:++S})})};mt?x():E=E.then(Qt).then(x)},setFace:f=>{k=f,(0,I.flushSync)(()=>c?.face(f))},setStop:f=>(0,I.flushSync)(()=>c?.stop(f)),setPath:f=>(0,I.flushSync)(()=>{if(Kt(f)){(k==="pages"||k==="picture")&&(k="scene",c?.face("scene"));return}c?.path(f),k!=="pages"&&(k="pages",c?.face("pages"))}),setScheme:f=>(0,I.flushSync)(()=>c?.scheme(f)),setSeat:f=>(0,I.flushSync)(()=>c?.seat(f)),setSeats:f=>(0,I.flushSync)(()=>c?.seats(f)),setQuickAsk:f=>(0,I.flushSync)(()=>c?.quickAsk(f)),setPeople:f=>(0,I.flushSync)(()=>c?.people(f)),setHostContext:f=>(0,I.flushSync)(()=>c?.hostContext(f)),setBrand:f=>(0,I.flushSync)(()=>c?.brand(f)),setWhileAway:f=>(0,I.flushSync)(()=>c?.whileAway(f)),setDraftView:f=>(0,I.flushSync)(()=>c?.draft(f)),setLabel:f=>{p=f,(0,I.flushSync)(()=>c?.label(f))},setHostActions:f=>(0,I.flushSync)(()=>c?.hostActions(f)),drawn:()=>E.then(()=>F===k?void 0:new Promise(f=>v.push(f))),notify:f=>{let V;return(0,I.flushSync)(()=>{V=i.notify(f)}),V},unmount:()=>ie.unmount()}}var ht=e=>`s${(e+1).toString(36)}`;var Ir="/graview/friction";var _r="/graview/live",Xt="graview.ship",en=`${Xt}.${ot}`;var be={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"};var je=class extends Error{constructor(n){super(n),this.name="Superseded"}},xe=e=>e?.lineage?{lineage:e.lineage}:{},Ho=(e,n)=>`${e.calls.map(o=>o.name.replace(/-/g," ")).join(", ")} (${n instanceof Error?n.message.split(`
2
- `)[0]??"":String(n)})`;function Do(e){if(!e)return[];try{let n=e.storage.getItem(e.key);if(n===null)return[];e.storage.removeItem(e.key);let o=JSON.parse(n);return Array.isArray(o)?o.filter(i=>!!i&&Array.isArray(i.calls)):[]}catch{return[]}}var qe=class extends Error{constructor(o){super(o.sentence);this.refusal=o;this.name="RemoteRefusedError"}},Vo={401:"forbidden",403:"forbidden",404:"missing",413:"limit"},pe=class extends Error{constructor(o,i){super(o);this.conflicts=i;this.name="StaleWrite"}},Je=class extends Error{constructor(n){super(n),this.name="Unreached"}},Bo=new Set([502,503,504]);async function $o(e){try{return(await e.clone().json()).reason==="unavailable"}catch{return!1}}function No(){let e=Math.random().toString(36).slice(2,8),n=0;return()=>`local-${e}-${++n}`}var Wo=1,Io=()=>({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 yt(e){return(await jr(e,Do(e.carry),"This app was updated while your changes were on the way.",Io())).remote}async function jr(e,n,o,i){let c=e.fetch??fetch,l={"content-type":"application/json",...e.headers??{}},S={...gt(e.principal),[be.via]:e.via??"web"};Object.assign(l,S);let p=e.live===!0,w=e.presenceEveryMs,E=e.visible??qo,T="connecting",P=i.statuses,k=i.tally,F=[],v,_=[],de=()=>T==="online"&&v!==void 0?"held":T,D=()=>{let t=de();if(i.told!==t){i.told=t;for(let r of[...P])r(t)}},ie=t=>{if(!(t===T||ce)&&(T==="offline"&&t==="online"&&k.reconnects++,T=t,D(),t==="online"))for(let r of F.splice(0))r.again()},f=t=>{if(ce)return;let r=typeof t=="string"&&t.length>0?t:void 0,s=r!==v;if(v=r,V(),!!s&&(D(),r===void 0)){for(let a of _.splice(0))a();oe&&clearTimeout(oe),an()}},V=()=>{if(i.toldHeld!==v){i.toldHeld=v;for(let t of[...i.helds])t(v??null)}},j=async(t,r)=>{let s;try{s=await c(t,r)}catch(a){throw Y()||ie("offline"),new Je(a instanceof Error?a.message:String(a))}if(s.status===503&&await $o(s))return ie("online"),s;if(Bo.has(s.status))throw Y()||ie("offline"),new Je(`The server is away (${s.status})`);return ie("online"),s},Z=async(t=!1)=>{let r=`${e.url}/graview/state?opFormat=${_e.op}`,s=t?await c(r,{headers:l}):await j(r,{headers:l});if(!s.ok)throw new Error((await s.json().catch(()=>({}))).error??`The server refused (${s.status})`);return await s.json()},x=e.state??await Z(!0);p||(T="online"),v=typeof x.held=="string"&&x.held.length>0?x.held:void 0,V();let me=x.enabledModules??e.enabledModules,B=e.localApp?e.localApp(e.app):e.app,R=new xn({schema:B.schema,mutations:B.mutations??[],invariants:B.invariants??[],...B.policy?{policy:B.policy}:{},...B.publishing?{publishing:B.publishing}:{},...B.modules?{modules:B.modules}:{},...me?{enabledModules:me}:{},...B.intelligence?{intelligence:B.intelligence}:{},...B.brand?.timeZone?{timeZone:B.brand.timeZone}:{},snapshot:x.snapshot,log:x.log,...x.horizon!==void 0?{horizon:x.horizon}:{},ids:No(),...e.storeOptions??{}});kn.served.add(R);let he=e.friction!==!1&&e.principal?.kind!=="visitor";he&&An(R,t=>{he&&c(`${e.url}${Ir}`,{method:"POST",headers:l,body:JSON.stringify({event:t})}).then(r=>void(he=r.status!==404&&r.status!==410),()=>{})});let L=Rn(R),O=x.log.at(-1)?.seq??(x.horizon??0)-1,C=Tt.of(x.log,{horizon:x.horizon??0}),H=null,X,q=new Map,ye=i.who,$=!1,Fe=t=>{if(ce)return;$=!0;let r=Cn(new Map,t,Date.now(),Ot,H?.participant);X!==void 0&&r.delete(X);let s=r.size!==q.size;if(!s)for(let[a,u]of r)Ct(u,q.get(a))||(s=!0);if(q=r,!!s)for(let a of[...ye])a([...q.values()])},M=[],ee=new Set,te=t=>{let r=M.indexOf(t);r>=0&&M.splice(r,1)},N=new Map,Se=(t,r)=>{let s=N.get(t);s&&(N.delete(t),s.resolve({ops:r.filter(a=>a.batch===t),batch:t}))},J,z=[],G=(t,r=[])=>{if(t.length===0&&r.length===0)return[];if(J)return z.push({ops:t,drop:r}),[];let s=Math.min(...t.filter(m=>m.seq>O).map(m=>m.seq));if(Number.isFinite(s)&&s>O+1)return z.push({ops:t,drop:r}),le(),[];let a=M.filter(m=>t.some(ae=>ae.batch===m)),u=[...new Set([...r,...a])].filter(m=>ee.has(m)),y,b=M.filter(m=>!a.includes(m));try{y=R.rebase({confirmed:t,pending:b,drop:u}).confirmed}catch(m){if(!(m instanceof Tn))throw m;return z.push({ops:t,drop:r}),le(),[]}for(let m of a)te(m);t.some(m=>m.seq>O)&&b.some(m=>!u.includes(m))&&k.rebases++,t.length>0&&(O=Math.max(O,...t.map(m=>m.seq)),C.note(t));for(let m of u)ee.delete(m);for(let m of a)Se(m,t);return y},le=()=>{J||(J=ke(Z().then(t=>{if(ne(t)){z=[];return}let r=new Set(t.log.map(u=>u.batch)),s=M.filter(u=>r.has(u));for(let u of s)te(u);let a=R.adopt({snapshot:t.snapshot,log:t.log,...t.horizon!==void 0?{horizon:t.horizon}:{},pending:[...M],drop:[...ee].filter(u=>!M.includes(u))});ee.clear();for(let u of a.pending)ee.add(u.batch);O=t.log.at(-1)?.seq??(t.horizon??0)-1,C=Tt.of(t.log,{horizon:t.horizon??0}),k.resyncs++;for(let u of s)Se(u,t.log)}).then(()=>{J=void 0;let t=z;z=[];for(let{ops:r,drop:s}of t)G(r,s)},()=>{J=void 0,z=[]})))},ne=t=>(typeof t.build=="string"&&cn(t.build),typeof t.version=="number"&&f(t.held),typeof t.version!="number"||t.version===x.version?!1:(St(t.version),!0)),Oe=async t=>{let s=await(await j(`${e.url}/graview/since?seq=${ht(t)}&opFormat=${_e.op}`,{headers:l})).json();return ne(s)?[]:s.reset===!0?(le(),[]):s.ops??[]},Pe=async()=>{let t=await se();return J&&await J,t},se=async()=>{if(H&&!Y()&&E()){let r=await(await j(`${e.url}/graview/here?opFormat=${_e.op}`,{method:"POST",headers:l,body:JSON.stringify({presence:H,seq:ht(O)})})).json();return ne(r)?[]:(typeof r.participant=="string"&&(X=r.participant),Fe(r.who??[]),G(r.ops??[]))}return G(await Oe(O))},A=new Map,Ce=new Map,Le=new Set,re=new Map,Me=new Set,ke=t=>(Me.add(t),t.finally(()=>Me.delete(t)).catch(()=>{}),t),Ye=Promise.resolve(),Be=0,wt=(t,r)=>{let s=Ye.then(()=>$e(t,r));return Ye=s.catch(()=>{}),s},Qe=()=>new Promise((t,r)=>F.push({again:t,give:r})),$e=async(t,r)=>{let s,a;for(;;){try{s=await j(`${e.url}/graview/ops`,{method:"POST",headers:l,body:JSON.stringify({...t,opFormat:_e.op})})}catch(m){if(!(m instanceof Je)||U)throw m;if(await Qe(),Y())return Ze(t,r);continue}if(a=await s.json().catch(()=>({})),s.status===503&&a.reason==="unavailable"&&typeof a.held=="string"&&!U){if(typeof a.version=="number"?ne(a):(f(a.held),!1))break;if(v!==void 0&&(Et>0||p)){if(await new Promise(m=>_.push(m)),U)throw new je("The client closed.");if(Y())return Ze(t,r);continue}}let b;if(s.status===503&&a.reason==="unavailable"&&!U)b=tn(e.backoff,Be++);else{if(Be=0,s.status!==429||U)break;b=_o(s.headers.get("retry-after"),a.retryAfter)}if(await new Promise(m=>setTimeout(m,b)),Y())return Ze(t,r)}if(ce||ne(a))throw new je("The app was changed.");if(!s.ok){let b=a.error??`The server refused (${s.status})`;throw a.conflict?new pe(b,a.conflicts??[]):new qe({reason:a.reason??Vo[s.status]??"invalid",sentence:b,...a.wouldNeed?.length?{wouldNeed:a.wouldNeed}:{}})}let u=a.ops??[],y=u[0]?.seq;return y!==void 0&&y>O+1&&(u=await Oe(O)),r!==void 0&&(a.batch&&A.set(r,a.batch),te(r)),G(u,r!==void 0?[r]:[]),{ops:a.ops??[],...a.batch?{batch:a.batch}:{}}},W,ge=!1,U=!1,Ne=0,Ae,He=0,ze=0,ue=null,Ee=()=>{},We=new Promise(t=>{Ee=t}),Y=()=>p&&ge&&W?.readyState===Wo,h=t=>{if(!Y())return!1;try{return W.send(JSON.stringify(t)),!0}catch{return!1}},Q=(t=!1)=>{!H||!Y()||!E()||!t&&ue&&Ct(H,ue)&&(w===void 0||Date.now()-ze<w)||h({t:"here",presence:H})&&(ue=H,ze=Date.now())},K=new Set,oe,an=()=>{if(oe=void 0,v!==void 0)return;let t=[...N.entries()].filter(([r])=>K.has(r));K.clear();for(let[,r]of t)h(r.message)},sn=(t,r)=>{N.has(t)&&(K.add(t),oe&&clearTimeout(oe),oe=setTimeout(an,Math.max(0,r)))},Gr=t=>{N.has(t)&&K.add(t)},Ze=(t,r)=>new Promise((s,a)=>{let u=r??`send-${++He}`,y=t.undo?{t:"undo",cid:u,batches:t.undo,...t.intent?{intent:t.intent}:{},...t.batch?{batch:t.batch}:{},...t.via?{via:t.via}:{},...xe(t)}:{t:"call",cid:u,calls:t.calls??[],...t.intent?{intent:t.intent}:{},...t.batch?{batch:t.batch}:{},...t.base?.length?{base:t.base}:{},...t.via?{via:t.via}:{},...xe(t)};if(N.set(u,{message:y,...r!==void 0?{mine:r}:{},resolve:s,reject:a}),K.size>0||v!==void 0){K.add(u);return}h(y)}),Xe=(t,r)=>Y()?Ze(t,r):wt(t,r),Ur=t=>{switch(t.t){case"welcome":{if(cn(t.build),typeof t.version=="number"&&t.version!==x.version){St(t.version);return}if(ge=!0,Ne=0,typeof t.participant=="string"&&(X=t.participant),f(t.held),t.state?le():G(t.ops??[]),K.clear(),oe&&clearTimeout(oe),oe=void 0,v!==void 0)for(let r of N.keys())K.add(r);else for(let r of N.values())h(r.message);Q(!0),ie("online"),Ee();return}case"ops":G(t.ops??[]);return;case"ack":{let r=N.get(t.cid);if(!r){G(t.ops??[]);return}N.delete(t.cid),Be=0,r.mine!==void 0&&(A.set(r.mine,t.batch),te(r.mine)),G(t.ops??[],r.mine!==void 0?[r.mine]:[]),r.resolve({ops:t.ops??[],batch:t.batch});return}case"refused":case"conflict":{let r=N.get(t.cid);if(!r)return;if(t.t==="refused"&&t.reason==="unavailable"){v!==void 0?Gr(t.cid):sn(t.cid,tn(e.backoff,Be++));return}N.delete(t.cid),r.reject(t.t==="conflict"?new pe(t.sentence,t.conflicts??[]):new qe({reason:t.reason??"invalid",sentence:t.sentence,...t.wouldNeed?.length?{wouldNeed:[...t.wouldNeed]}:{}}));return}case"busy":typeof t.cid=="string"&&sn(t.cid,typeof t.retryAfter=="number"?t.retryAfter:1e3);return;case"presence":Fe(t.who??[]);return;case"held":f(t.sentence);return;case"declaration":typeof t.version=="number"&&t.version!==x.version&&St(t.version);return;case"reload":fn(typeof t.reason=="string"?t.reason:"This app was updated.");return;case"error":if(t.reopen===!0&&W){let r=W;mn(r);try{r.close(1e3,"Opening again.")}catch{}}return;default:return}},ce=!1,vt=i.declarations,bt=i.builds,cn=t=>{if(!(ce||i.otherBuild!==void 0||!e.build||typeof t!="string"||t.length===0||t===e.build)){i.otherBuild=t;for(let r of[...bt])r(t)}},dn=()=>{let t=[],r=0;for(let s of M){let a=re.get(s);a?t.push({calls:a.calls,...a.intent?{intent:a.intent}:{},...a.via?{via:a.via}:{},...xe(a),batch:s}):r++}return{carried:t,undos:r}},ln=(t,r)=>`${r} while ${t===1?"an undo of yours was":"undos of yours were"} on the way; ${t===1?"it was":"they were"} not made.`,un=t=>{ce=!0,H=null;let r=new je(t);for(let a of N.values())a.reject(r);N.clear(),nt&&clearInterval(nt),U=!0,Ae&&clearTimeout(Ae),oe&&clearTimeout(oe),we&&clearTimeout(we);for(let a of F.splice(0))a.give(r);for(let a of _.splice(0))a();let s=W;W=void 0,ge=!1;try{s?.close(1e3,t)}catch{}Ee()};async function St(t){if(ce)return;if(!e.resolveApp){fn(`This app was changed on its server (version ${t}); reload the page to carry on.`);return}let{carried:r,undos:s}=dn(),a=e.resolveApp,u=H;un("The app was changed.");try{let y=await a(t),{state:b,...m}=e,ae=await jr({...m,app:y},r,"The app was changed while your changes were on the way.",i);u&&ae.remote.presence.here(u);for(let rt of[...vt])rt(ae.remote,t);let fe=[...s>0?[et(ln(s,"The app was changed"))]:[],...ae.unheard()];for(let rt of fe)for(let to of Ie)to(rt.sentence,rt)}catch(y){let b=`The app was changed, but the new version could not be opened: ${y instanceof Error?y.message:String(y)}`;for(let m of Ie)m(b,et(b))}}function fn(t){if(ce)return;let{carried:r,undos:s}=dn();un(t);let a=!1;if(e.carry&&r.length>0)try{e.carry.storage.setItem(e.carry.key,JSON.stringify(r)),a=!0}catch{}let u=[];!a&&r.length>0&&u.push(`${t} ${r.length===1?"A change of yours was":`${r.length} changes of yours were`} not sent; make ${r.length===1?"it":"them"} again after the page reloads.`),s>0&&u.push(ln(s,"This app was updated"));for(let y of u)for(let b of Ie)b(y,et(y));(e.reloadPage??jo)()}let pn=()=>{if(U||!p)return;let t=`${e.url.replace(/^http/,"ws").replace(/\/$/,"")}${_r}`,{"content-type":r,...s}=l,a;try{a=e.socket?e.socket(t,s,[en]):eo(t,s)}catch{return hn()}W=a,ge=!1,a.onopen=()=>{W===a&&a.send(JSON.stringify({t:"hello",seq:ht(O),protocol:ot,wire:Xt,opFormat:_e.op,...e.build?{build:e.build.slice(0,64)}:{},...e.hostProtocol!==void 0?{hostProtocol:e.hostProtocol}:{}}))},a.onmessage=u=>{if(W!==a)return;let y;try{y=JSON.parse(String(u.data))}catch{return}Ur(y)},a.onclose=()=>mn(a),a.onerror=()=>{}},we,Kr=()=>{$=!1,we&&clearTimeout(we),we=setTimeout(()=>{if(we=void 0,$||U)return;let t=new Map([...q].filter(([,r])=>r.held!=="socket"));if(t.size!==q.size){q=t;for(let r of ye)r([...q.values()])}},Ot),we.unref?.()};function mn(t){if(W!==t)return;let r=ge;W=void 0,ge=!1,ue=null,r&&(ie("offline"),Kr()),hn()}let hn=()=>{if(U)return;let t=tn(e.backoff,Ne);Ne++,Ae=setTimeout(pn,t)},yn=R.applyAll.bind(R),Jr=R.undo.bind(R),Yr=R.previewAll.bind(R);R.previewAll=(t,r)=>Yr(t,{...e.principal?{author:e.principal}:{},...r});let Ie=i.refusals,Ge=[],et=t=>({reason:"invalid",sentence:t}),tt=i.conflicts,Pt=!1,gn,kt=async(t,r)=>{if(r instanceof je||ce)return;let s=r instanceof qe?r.refusal:Sn(r),a=s.sentence,u=r instanceof pe?gn?.yoursOf(R,re.get(t)?.calls??[]):void 0;te(t);try{G([],[t])}catch{}let y=re.get(t);re.delete(t);let b=y?.calls[0];if(b&&!(r instanceof pe)){let m=R.allMutations().find(fe=>fe.name===b.name)?.subject?.arg,ae=m&&R.graph.getNode(b.args[m])?.kind;En(R,{type:"refused",act:b.name,code:s.reason,...ae?{kind:ae}:{}},e.principal)}if(r instanceof pe&&k.conflicts++,r instanceof pe&&!Y()&&await Pe().catch(()=>[]),r instanceof pe&&J&&await J,r instanceof pe&&tt.size>0){let m=!1,ae={sentence:a,conflicts:u?r.conflicts.map(fe=>fe.node===u.node&&fe.field===u.field?{...fe,yours:u.yours}:fe):r.conflicts,keepTheirs(){m=!0},useMine(){if(!(m||!y)){m=!0,Pt=!0;try{R.applyAll(u?[u.over(O)]:y.calls,{...y.intent?{intent:y.intent}:{},...y.via?{via:y.via}:{},...xe(y)})}finally{Pt=!1}}}};for(let fe of tt)fe(ae);return}for(let m of Ie)m(a,s)},Qr=(t,r)=>t.flatMap(s=>s.mutation?.name===bn?[]:s.primitives.flatMap(a=>a.op==="splice-text"&&!r.has(a.id)&&!r.has(`${a.id}\0${a.field}`)?[{node:a.id,field:a.field,rev:O}]:[]));R.applyAll=(t,r)=>{let s=Pn(R.log.all().filter(b=>ee.has(b.batch))),a=yn(t,{...e.principal?{author:e.principal}:{},...r}),u=t.map((b,m)=>{let ae=a.minted?.[m];return ae===void 0||b.args?.id!==void 0?b:{...b,mintedHint:ae}});M.push(a.batch),ee.add(a.batch),re.set(a.batch,{calls:u,...r?.intent?{intent:r.intent}:{},...r?.via?{via:r.via}:{},...xe(r)});let y=Pt?[]:[...C.baseFor(a.ops,s,(b,m)=>R.collaborative(b,m)),...Qr(a.ops,s)];return Ce.set(a.batch,ke(Xe({calls:u,...r?.intent?{intent:r.intent}:{},batch:a.batch,...y.length>0?{base:y}:{},...r?.via?{via:r.via}:{},...xe(r)},a.batch).catch(b=>kt(a.batch,b)))),a},R.apply=(t,r)=>R.applyAll([t],r),R.undo=(t,r)=>{let s=typeof t=="string"?[t]:t,a=Jr(s.map(y=>A.get(y)??y),{...e.principal?{author:e.principal}:{},...r});M.push(a.batch),ee.add(a.batch);let u=Promise.allSettled(s.map(y=>Ce.get(y)));return Ce.set(a.batch,ke(u.then(()=>{let y=s.filter(b=>!Le.has(b));if(y.length===0){te(a.batch),re.delete(a.batch),G([],[a.batch]);return}return Xe({undo:y.map(b=>A.get(b)??b),...r?.intent?{intent:r.intent}:{},batch:a.batch,...r?.via?{via:r.via}:{},...xe(r)},a.batch)}).catch(y=>kt(a.batch,y)))),a};let Zr=async(t,r={})=>{At++;try{return(await ke(Xe({calls:t,...r}))).ops}finally{At--}},At=0,wn={here(t){H=t,Q()},onWho(t){return ye.add(t),q.size>0&&t([...q.values()]),()=>{ye.delete(t)}},leave(){if(!H)return;let t=JSON.stringify({participant:X??H.participant});if(H=null,h({t:"bye"}))return;let r=globalThis.navigator?.sendBeacon;r?r.call(globalThis.navigator,`${e.url}/graview/leave`,t):c(`${e.url}/graview/leave`,{method:"POST",headers:l,body:t}).catch(()=>{})}},Et=e.pollMs??800,nt=Et>0&&typeof setInterval=="function"?setInterval(()=>{Y()||Pe().catch(()=>{})},Et):null;if(p){pn();let t;await Promise.race([We,new Promise(r=>t=setTimeout(r,e.openTimeoutMs??3e3))]),clearTimeout(t)}if(n.length>0&&!ce){let t=[],r=new Set(R.log.all().map(s=>s.batch));for(let s of n)if(!(s.batch!==void 0&&r.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){t.push(Ho(s,a))}t.length>0&&Ge.push(et(`${o} ${t.length===1?"One no longer fits and was not made":`${t.length} no longer fit and were not made`}: ${t.join("; ")}.`))}let vn=new Map,Xr=()=>({store:R,author:e.principal,appliedAll:yn,pending:M,provisional:ee,asked:re,answers:Ce,letGo:Le,sent:(t,r)=>ke(Xe({calls:r,batch:t},t).catch(s=>kt(t,s))),settle:te,land:G,seen:()=>O,gone:()=>U||ce});return{remote:{store:R,typing(t,r){let s=`${t}\0${r}`,a=vn.get(s);return a||(a=(__graviewPreload(import.meta.url,["./chunk.ATSKKTUO.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.6O3YPUW3.js")).then(u=>(gn=u,u.typingOf(t,r,u.wireOf(Xr())))),vn.set(s,a)),a},version:x.version,migrated:x.migrated??[],send:Zr,pull:Pe,onRefusal(t){Ie.add(t);let r=Ge;Ge=[];for(let s of r)t(s.sentence,s);return()=>Ie.delete(t)},onDeclaration(t){return vt.add(t),()=>vt.delete(t)},onBuild(t){return bt.add(t),i.otherBuild!==void 0&&t(i.otherBuild),()=>bt.delete(t)},onConflict(t){return tt.add(t),()=>tt.delete(t)},revision:(t,r)=>C.of(t,r),seq:()=>O,participant:()=>X,transport:()=>Y()?"socket":"poll",status:de,onStatus(t){return P.add(t),()=>P.delete(t)},held:()=>v,onHeld(t){return i.helds.add(t),v!==void 0&&t(v),()=>i.helds.delete(t)},counters:()=>({...k}),who:()=>[...q.values()],pending:()=>M.length+At,async settled(){for(;Me.size>0;)await Promise.allSettled([...Me])},presence:wn,close(){nt&&clearInterval(nt),L(),wn.leave(),U=!0,Ae&&clearTimeout(Ae),oe&&clearTimeout(oe),we&&clearTimeout(we);for(let r of F.splice(0))r.give(new Error("The client closed before the server could be reached."));for(let r of _.splice(0))r();let t=W;W=void 0,ge=!1;try{t?.close(1e3,"Closed.")}catch{}}},unheard(){let t=Ge;return Ge=[],t}};function eo(t,r){let s=globalThis.WebSocket;if(!s)throw new Error("This runtime has no WebSocket; the client polls instead.");let a=typeof globalThis.document<"u",u=e.subprotocol?[en]:[];if(!a)try{return new s(t,{headers:r,...u.length>0?{protocols:u}:{}})}catch{}let y=new URL(t);for(let[b,m]of Object.entries(S))y.searchParams.set(b,m);return u.length>0?new s(y.toString(),u):new s(y.toString())}}function _o(e,n,o=Date.now()){let i,c=e?.trim();if(c)if(/^\d+(\.\d+)?$/.test(c))i=Number(c)*1e3;else{let p=Date.parse(c);Number.isFinite(p)&&(i=Math.max(0,p-o))}let l=typeof n=="number"&&Number.isFinite(n)&&n>=0?n:void 0,S=l!==void 0&&l<50&&i!==void 0&&Math.abs(l*1e3-i)<1e3;return l!==void 0&&!S?l:i??1e3}function jo(){globalThis.location?.reload?.()}function qo(){return globalThis.document?.visibilityState!=="hidden"}function tn(e,n){if(typeof e=="function")return Math.max(0,e(n));let{min:o=250,max:i=1e4,factor:c=2}=e??{};return Math.min(i,o*c**n)*(.75+Math.random()*.5)}function gt(e){let n={};if(!e)return n;e.id&&(n[be.seat]=e.id),e.roles?.length&&(n[be.roles]=e.roles.join(",")),e.kind!=="human"&&(n[be.kind]=e.kind),e.name&&(n[be.name]=encodeURIComponent(e.name));let o=e.onBehalfOf;return o?.id&&(n[be.for]=o.id),o?.roles?.length&&(n[be.forRoles]=o.roles.join(",")),o?.name&&(n[be.forName]=encodeURIComponent(o.name)),n}var qr="/graview/views";function nn(e){let n=e.fetch??fetch,o=e.url.replace(/\/$/,""),i={"content-type":"application/json",...e.principal?gt(e.principal):{},...e.headers??{}},c=e.state?{hidden:e.state.hidden??[],removed:e.state.removed??[],may:e.state.may??at.may}:at,l=new Set,S=P=>{if(JSON.stringify(P)!==JSON.stringify(c)){c=P;for(let k of l)k()}},p=async(P,k)=>{let F=await n(`${o}${e.path??qr}`,{method:P,headers:i,...k!==void 0?{body:JSON.stringify(k)}:{}}),v=await F.json();if(!F.ok)throw new Error(v.error??`The store answered ${F.status}.`);S({hidden:v.hidden??[],removed:v.removed??[],may:v.may??at.may})},w=()=>p("GET"),E=e.state?Promise.resolve():w().catch(()=>{}),T=e.pollMs?setInterval(()=>void w().catch(()=>{}),e.pollMs):void 0;return{ready:E,refresh:w,close:()=>clearInterval(T),current:()=>c,onChange(P){return l.add(P),()=>void l.delete(P)},hide:P=>p("POST",{hide:P}),show:P=>p("POST",{show:P}),remove:(P,k)=>p("POST",{remove:P,...k?{about:k}:{}}),async restore(P){let k=c.removed.find(F=>F.name===P)?.lens;await p("POST",{restore:P}),k&&await e.onDeclaration?.()},async lens(P){await p("POST",{lens:P}),await e.onDeclaration?.()}}}var on=document.getElementById("graview-app"),rn=/^\/forms\/([^/]+)\/?$/.exec(location.pathname),zr=rn?(__graviewPreload(import.meta.url,["./chunk.KKQXGN5U.js","./chunk.CJUIJ6TL.js","./chunk.XOZU4OFA.js","./chunk.MHILFBK6.js","./chunk.2MFXP3FB.js","./chunk.M3JIIF32.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.7AMBLGVB.js")):Ve("pages");try{rn?await zo(decodeURIComponent(rn[1])):await Go()}catch(e){let n=document.createElement("pre");n.setAttribute("role","alert"),n.style.cssText="margin:2rem;font:14px/1.5 ui-monospace,monospace;white-space:pre-wrap",n.textContent=e instanceof Error?e.message:String(e),on.replaceChildren(n),window.__graviewFailed=n.textContent}async function zo(e){let n=await fetch(`/graview/document?form=${encodeURIComponent(e)}`),o=await n.json();if(!n.ok)throw new Error(o.error??`The preview server did not hand over the form (${n.status}).`);let i=await lt(o);if(!i.ok)throw new Error(it(i.findings));let c=i.app,l=o.principal,S=await yt({app:c,url:location.origin,principal:l,...o.state?{state:o.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=c.forms?.[e]?.title??c.name;let{mount:p}=await zr;window.__graview=p(on,{app:c,form:e,principal:l,remote:S,height:"100dvh",onSubmitted:()=>window.__graviewSubmitted=!0}),window.__graviewReady=!0}async function Go(){let e=await fetch("/graview/document");if(!e.ok)throw new Error(`The preview server did not hand over the document (${e.status}).`);let n=await e.json(),i=await(async w=>{if(typeof w.module=="string")return(await import(w.module)).app;let E=await lt(w);if(!E.ok)throw new Error(it(E.findings));return E.app})(n);if(!i||typeof i!="object"||!("schema"in i))throw new Error("The app module the preview server handed does not export an app.");let c=n.principal,l=await yt({app:i,url:location.origin,principal:c,live:!0,subprotocol:!0,pollMs:1200,...n.state?{state:n.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=i.name;let S,p=nn({url:location.origin,principal:c,...n.views?{state:n.views}:{},onDeclaration:async()=>{let w=await(await fetch("/graview/document")).json();if(typeof w.module=="string")return;let E=await lt(w);E.ok&&S?.setApp(E.app,l)}});await Promise.all([zr,p.ready]),S=Zt(on,{app:i,remote:l,principal:c,studio:!1,face:"pages",routing:"address",bar:!0,height:"100dvh",label:i.name,heading:1,keptViews:p,...n.draftView?{draftView:n.draftView}:{}}),window.__graview=S,S.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 co}from"./chunk.SIYBHZDD.js";import{a as qt,b as hr,c as yr,d as gr,e as zt,f as wr,g as vr,h as br,i as Sr,j as Ar,k as kr,l as Pr,m as Er,n as Ze}from"./chunk.QATUGE34.js";import{b as mr}from"./chunk.3RW677X6.js";import{a as It,b as dr,c as lr,d as ur,e as fr,f as _t,g as pr,h as jt}from"./chunk.3HFUO3DC.js";import{a as Ot,g as Dn}from"./chunk.DXWTM4SH.js";import{k as dt}from"./chunk.LQAT7FA6.js";import{E as ir,I as sr,J as cr,h as tr,k as Nt,l as nr,n as rr,r as or,w as Wt,z as ar}from"./chunk.AVFOTYZR.js";import{c as so}from"./chunk.HOQMD6WQ.js";import{Aa as Jn,Ca as Yn,Da as Qn,Fa as Zn,G as Dt,Ga as $t,Ka as Xn,La as er,Oa as ft,T as Wn,Z as In,a as $n,b as lt,c as ut,ga as _n,ha as jn,j as Nn,m as Bt,va as qn,wa as zn,xa as Gn,ya as Un,za as Kn}from"./chunk.N7T7VB77.js";import{a as Te}from"./chunk.SDO3U72B.js";import{$d as Mt,Eb as Rn,Gb as Tn,Td as Re,Ud as Hn,Vd as Vn,_d as Lt,ae as Ht,de as Bn,ee as Vt,fb as je,ld as Fn,md as On,nc as Ct,oc as xn,qb as st,rd as Cn,td as Ln,ud as Mn,vb as En,wd as ct}from"./chunk.F7PIW2EM.js";import"./chunk.FQLNBIQ5.js";import{b as He}from"./chunk.AJZBJBMO.js";function Gt(e){if(Array.isArray(e))return e.map(Gt);if(e&&typeof e=="object"){let n={};for(let o of Object.keys(e).sort()){let i=e[o];i!==void 0&&(n[o]=Gt(i))}return n}return e}function Ut(e){return JSON.stringify(Gt(e))??"undefined"}async function pt(e,n={}){let o=e.compiled===void 0||!uo(e.compiled,e.document)?void 0:Dn(e.compiled,n);if(o?.ok)return o;let{compileDocumentWithoutCheck:i}=await lo();return i(e.document,n)}var Rr,lo=()=>Rr??=(__graviewPreload(import.meta.url,["./chunk.DXWTM4SH.js","./chunk.BI6DS3PZ.js","./chunk.7R727IKU.js","./chunk.LQAT7FA6.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.TMAZNDA6.js")).catch(e=>{throw Rr=void 0,e});function uo(e,n){let o=typeof e=="object"&&e!==null?e.document:void 0,i=n;if(typeof i=="string")try{i=JSON.parse(i)}catch{return!1}return o!==void 0&&Ut(Ot(o).document)===Ut(Ot(i).document)}var d=He(Dt(),1);var ht=He(Dt(),1),Kt="data-graview-drawn",fo=200,Tr=50,po=1e4,mt=()=>typeof performance<"u"?performance.now():Date.now();function mo(e){let n=[...e.querySelectorAll("img")];for(let o of e.querySelectorAll("[data-worker-view]"))o.shadowRoot&&n.push(...o.shadowRoot.querySelectorAll("img"));return n}function ho(e,n){if(e.ownerDocument.fonts?.status==="loading"||zn()>0||Jn(n)>0||e.querySelector('[aria-busy="true"]')||mo(e).some(i=>!i.complete&&i.loading!=="lazy"))return!1;for(let i of e.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 xr(e){let n=e.querySelector("[data-embed-content]"),o=[...e.querySelectorAll("[data-worker-view]")].map(i=>`${i.offsetWidth}x${i.offsetHeight}`);return`${e.scrollWidth}x${e.scrollHeight}|${n?`${n.scrollWidth}x${n.scrollHeight}`:""}|${o.join(",")}`}function yo(e,n,o,i){e.removeAttribute(Kt);let l=e.ownerDocument.defaultView;if(!l)return()=>{};let u=mt(),c=u,w=xr(e),m=!1,k,F=typeof MutationObserver>"u"?void 0:new MutationObserver(x=>{x.some(O=>!(O.target===e&&O.attributeName===Kt))&&(c=mt())});F?.observe(e,{childList:!0,subtree:!0,characterData:!0,attributes:!0});let N=()=>{m=!0,F?.disconnect(),k!==void 0&&clearTimeout(k)},b=x=>{let O=!1,ne=()=>{O||(O=!0,x())};typeof l.requestAnimationFrame=="function"&&l.requestAnimationFrame(()=>setTimeout(ne,0)),setTimeout(ne,100)},T=()=>{if(m)return;let x=xr(e);x!==w&&(w=x,c=mt());let O=mt();if(ho(e,i)&&O-c>=fo||O-u>=po){b(()=>{m||(N(),e.setAttribute(Kt,n),Qn(),o())});return}k=setTimeout(T,Tr)};return k=setTimeout(T,Tr),N}function Fr(e,n,o,i,l){Yn();let u=(0,ht.useRef)({place:o,onDrawn:i});u.current={place:o,onDrawn:i},(0,ht.useLayoutEffect)(()=>{l&&Kn(l);let c=k=>yo(k,u.current.place.path,()=>u.current.onDrawn?.(u.current.place),l);if(e.current)return c(e.current);let w,m=!1;return queueMicrotask(()=>{!m&&e.current&&(w=c(e.current))}),()=>{m=!0,w?.()}},[n,e,l])}var ve=He(Dt(),1),Xe,go=Te(()=>(__graviewPreload(import.meta.url,["./chunk.5IEFTFKQ.js","./chunk.VKHAAH32.js","./chunk.MK72IRIY.js","./chunk.DHJI7LIW.js","./chunk.QL77K3D4.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.F7IQ4B6A.js"))),Or=()=>go().then(e=>void(Xe=e),()=>new Promise(e=>setTimeout(e,2e3)).then(Or)),Jt=qn(Or),Cr=e=>!!e&&Xe===void 0;function Yt({onReady:e,fetch:n}){return(0,ve.useLayoutEffect)(()=>void n().then(e),[e,n]),null}var wo=0;function Lr(e){let[n,o]=(0,ve.useState)(()=>Xe);(0,ve.useEffect)(()=>{if(!e||n)return;let u=!1;return Jt().then(()=>{u||o(Xe)}),()=>{u=!0}},[e,n]);let i=(0,ve.useMemo)(()=>wo+=1,[e]);return{over:(0,ve.useMemo)(()=>{let u=n??Xe;if(!e||!u)return;let{source:c,worker:w,...m}=e,k={...m,worker:w??{source:c},draft:!0};return{name:e.manifest.name,home:e.manifest.attach==="home",register:F=>u.registerWorkerView(F,k)}},[e,n]),n:i}}var Vr=He(co(),1),$=He(so(),1);var g=He(Wn(),1);function yt(e,n={}){let o=$t(e);return{Face:o.part((l,u)=>(0,d.createElement)(l,u),n),fetch:()=>o.load().then(()=>{}),here:()=>o.current!==void 0||o.failed}}var Xt=e=>Promise.all([e,sr()]).then(([n])=>n),Br=Te(()=>(__graviewPreload(import.meta.url,["./chunk.ZQHCNFJK.js","./chunk.KRFRREEW.js","./chunk.D4TA5XDC.js","./chunk.GIW657OR.js","./chunk.SBLYBRDU.js","./chunk.5X22RKB3.js","./chunk.XZUHFXME.js","./chunk.HJCQ6I3S.js","./chunk.SAYAFOF6.js","./chunk.R3N73BJO.js","./chunk.MU3XII7I.js","./chunk.SJALH7IX.js","./chunk.6DOOLVT4.js","./chunk.VX65S2FA.js","./chunk.747OH3EE.js","./chunk.E6RNMWFN.js","./chunk.VN7I7XIO.js","./chunk.MBP7VDYM.js","./chunk.WD4VPMEE.js","./chunk.VUAOCYG2.js","./chunk.5POG3G2C.js","./chunk.2XSIJH5J.js","./chunk.U5P23GO7.js","./chunk.QATUGE34.js","./chunk.3RW677X6.js","./chunk.ISRQQVS4.js","./chunk.GZHZLJBF.js","./chunk.Y7H5O2SL.js","./chunk.OJGHDWI6.js","./chunk.6HZY5NRX.js","./chunk.UO544PZH.js","./chunk.4STDIZVI.js","./chunk.HZHNM2KI.js","./chunk.AVFOTYZR.js","./chunk.HOQMD6WQ.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.UACSX64H.js"))),vo=Te(()=>(__graviewPreload(import.meta.url,["./chunk.YOT7ESDG.js","./chunk.66IKLMYX.js","./chunk.C634A6ZC.js","./chunk.N5WDQAIM.js","./chunk.ZQHCNFJK.js","./chunk.Q355UPFG.js","./chunk.PXQVXBNG.js","./chunk.7LZ6JDJA.js","./chunk.KRFRREEW.js","./chunk.VOOOIECX.js","./chunk.GIW657OR.js","./chunk.EVEHSENK.js","./chunk.SBLYBRDU.js","./chunk.2LNSENPV.js","./chunk.WS7LAT4Z.js","./chunk.5X22RKB3.js","./chunk.XZUHFXME.js","./chunk.GQNSNJTJ.js","./chunk.SJALH7IX.js","./chunk.E6RNMWFN.js","./chunk.IA5ZBMRD.js","./chunk.VN7I7XIO.js","./chunk.REH6RXNH.js","./chunk.MBP7VDYM.js","./chunk.BDTT4ENI.js","./chunk.BJUUSIQY.js","./chunk.5POG3G2C.js","./chunk.2XSIJH5J.js","./chunk.XOZU4OFA.js","./chunk.LA2DMHZC.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.MBU7UH6J.js","./chunk.2QFKNTAZ.js","./chunk.BI6DS3PZ.js","./chunk.PGA5TUSN.js","./chunk.7R727IKU.js","./chunk.LQAT7FA6.js","./chunk.GZHZLJBF.js","./chunk.Y7H5O2SL.js","./chunk.OJGHDWI6.js","./chunk.6HZY5NRX.js","./chunk.UO544PZH.js","./chunk.4STDIZVI.js","./chunk.HZHNM2KI.js","./chunk.AVFOTYZR.js","./chunk.HOQMD6WQ.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.Q5I5M3FR.js"))),bo=Te(()=>(__graviewPreload(import.meta.url,["./chunk.YOT7ESDG.js","./chunk.66IKLMYX.js","./chunk.C634A6ZC.js","./chunk.N5WDQAIM.js","./chunk.ZQHCNFJK.js","./chunk.Q355UPFG.js","./chunk.PXQVXBNG.js","./chunk.7LZ6JDJA.js","./chunk.KRFRREEW.js","./chunk.VOOOIECX.js","./chunk.GIW657OR.js","./chunk.EVEHSENK.js","./chunk.SBLYBRDU.js","./chunk.2LNSENPV.js","./chunk.WS7LAT4Z.js","./chunk.5X22RKB3.js","./chunk.XZUHFXME.js","./chunk.GQNSNJTJ.js","./chunk.SJALH7IX.js","./chunk.E6RNMWFN.js","./chunk.IA5ZBMRD.js","./chunk.VN7I7XIO.js","./chunk.REH6RXNH.js","./chunk.MBP7VDYM.js","./chunk.BDTT4ENI.js","./chunk.BJUUSIQY.js","./chunk.5POG3G2C.js","./chunk.2XSIJH5J.js","./chunk.XOZU4OFA.js","./chunk.LA2DMHZC.js","./chunk.MB7LKKUD.js","./chunk.WVUJXDXZ.js","./chunk.MBU7UH6J.js","./chunk.2QFKNTAZ.js","./chunk.BI6DS3PZ.js","./chunk.PGA5TUSN.js","./chunk.7R727IKU.js","./chunk.LQAT7FA6.js","./chunk.GZHZLJBF.js","./chunk.Y7H5O2SL.js","./chunk.OJGHDWI6.js","./chunk.6HZY5NRX.js","./chunk.UO544PZH.js","./chunk.4STDIZVI.js","./chunk.HZHNM2KI.js","./chunk.AVFOTYZR.js","./chunk.HOQMD6WQ.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.5T53SF2K.js"))),Dr=yt(()=>Xt(Br().then(e=>e.SceneFace)),{what:"This view"}),$r=yt(()=>Br().then(e=>e.SceneKeeping),{quiet:!0}),Nr=yt(()=>Xt(vo().then(e=>e.PagesContent)),{what:"This page"}),Wr=yt(()=>Xt(bo().then(e=>e.PictureFace)),{what:"This picture"}),So=Dr.Face,Ao=$r.Face,ko=Nr.Face,Po=Wr.Face;function Ve(...e){let n=e.length>0?e:["scene","pages","picture"],o=new Set(n.flatMap(Ir));return Promise.all([...[...o].map(i=>i.fetch()),rr()]).then(()=>{},()=>{})}var Ir=e=>e==="pages"?[Nr]:e==="picture"?[Wr]:[Dr,$r],_r=e=>Ir(e).every(n=>n.here()),Eo=150,Qt=0;function Mr(e,n){if(_r(e))return n();let o=++Qt,i=()=>{o===Qt&&(Qt+=1,n())};Ve(e).then(i),setTimeout(i,Eo)}var Ro=768;function To(e,n){let o=n!==null&&n>=Ro;(0,d.useEffect)(()=>{if(!o||e==="picture")return;let i=e==="pages"?"scene":"pages";if(_r(i))return;let l=globalThis,u=()=>void Ve(i),c=()=>{},w=Zn(()=>{if(l.requestIdleCallback&&l.cancelIdleCallback){let m=l.requestIdleCallback(u,{timeout:4e3});c=()=>l.cancelIdleCallback?.(m)}else{let m=setTimeout(u,1500);c=()=>clearTimeout(m)}});return()=>(w(),c())},[e,o])}function xo({asked:e,shown:n,onDrawn:o}){return(0,d.useLayoutEffect)(()=>o(e,n),[e,n,o]),null}function Fo({auto:e,scene:n}){return(0,g.jsx)("div",{"data-embed-content":"","aria-busy":"true",style:{flex:e?n?`0 0 ${zt}px`:"0 0 auto":"1 1 auto",minHeight:0,background:"var(--graview-ground)"}})}var Oo=$t(Te(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.5JNXQHN4.js")))).part((e,n)=>(0,g.jsx)(e.StudioPlace,{...n}),{quiet:!0});function jr(e,n,o,i,l){return _t(e,fr(n?ut(n):l??$n,i),o)}function en(e){return e&&ut(e).overview?"graview":"scene"}function Hr(e,n){if(n.homeView?.()===void 0)return!1;let o=e.pages?.first?.trim();return o===void 0||o===""||o==="/"||o.toLowerCase()==="home"}function qr(e){let[,n]=(0,d.useState)(!1),o=(0,d.useCallback)(()=>n(!0),[]),i=(0,d.useRef)(!1);return e.at&&!gt?(0,g.jsx)(Yt,{onReady:o,fetch:tn}):!i.current&&Cr(e.draftView)?(0,g.jsx)(Yt,{onReady:o,fetch:Jt}):(i.current=!0,(0,g.jsx)(Co,{...e}))}function Co(e){let{app:n,stop:o,bar:i=!0,standing:l="Everything is in order",principal:u,heading:c=2}=e,{rootRef:w,scope:m,css:k,scheme:F,store:N,presence:b,brand:T,auto:x,height:O}=wr(e),ne=Lr(e.draftView),R=yr(e,cr,ne.over),[ce]=(0,d.useState)(Un),p=e.basePath===void 0?{}:{basePath:e.basePath},[B]=(0,d.useState)(Nt),W=e.notices??B,U=v=>Lt(v,p),oe={...e.routing?{routing:e.routing}:{},...p},[ae]=(0,d.useState)(()=>{let v=e.at?.face;if(v)return v;let X=o===void 0&&Hr(n,R)?"pages":en(o),D=It({...oe,face:X});return e.face===void 0&&e.onOpening?.(D),D}),[Se,H]=(0,d.useState)(()=>e.face!==void 0&&e.face!=="pages"&&!e.at&&o===void 0&&dr(oe)&&Hr(n,R)),Ae=(0,d.useRef)(e.onFace);Ae.current=e.onFace,(0,d.useLayoutEffect)(()=>{Se&&(Ae.current?.("pages"),H(!1))},[Se]);let P=Se?"pages":e.face??ae,A=n.schema.kinds,V=e.routing==="address",ke=(0,d.useMemo)(()=>e.at?gt.settleAt(e,N.seenBy(u??{kind:"human"}),R.places()):void 0,[]),L=(0,d.useMemo)(()=>jn(R,n.schema),[R,n.schema]),me=(0,d.useMemo)(()=>{let v=ke?.stop??(V?lr(e.basePath):void 0)??o;return P==="scene"&&v===void 0&&L===void 0&&(e.path===void 0||Zt(e.path))?jt(void 0):jr(P,v,A,R.places(),L)},[]),[I]=(0,d.useState)(P);(0,d.useEffect)(()=>{I!=="pages"&&_n(R)},[I,R]);let M=(0,d.useRef)(void 0),z=v=>v===void 0||Zt(v)?"/":v;M.current??={path:z(ke?.path??(V?P==="pages"?(Mt(window.location.pathname,e.basePath)??"/")+window.location.search:"/":e.path)),asked:e.path},e.path!==M.current.asked&&(M.current={path:z(e.path),asked:e.path});let Y=(0,d.useRef)(e.onNavigate);Y.current=e.onNavigate;let Fe=(0,d.useCallback)((v,X)=>{M.current.path=v,Y.current?.(v,X)},[]),{at:Pe,setAt:j,steering:K,steer:re}=kr(M.current.path),C=(0,d.useContext)(zr);C&&(C.pages=()=>M.current.path);let Oe=(0,d.useRef)(void 0),Q=(0,d.useCallback)(v=>void(M.current.path=v),[]),J=tr(w),[_,he]=(0,d.useState)(!1),de=e.pagesBelow!==void 0&&J!==null&&J<e.pagesBelow&&(P==="scene"||P==="graview")&&!_,E=de?"pages":P,Z=(0,d.useRef)(!1);Z.current=_&&e.pagesBelow!==void 0&&J!==null&&J<e.pagesBelow&&(P==="scene"||P==="graview"),C&&(C.shown=E);let Be=(0,d.useRef)(P==="graview"?"graview":"scene");(E==="scene"||E==="graview")&&(Be.current=E),(0,d.useState)(()=>{if(!V||typeof window>"u"||E==="pages"||E==="picture")return;let{pathname:v,search:X,hash:D}=window.location;Mt(v,e.basePath)==="/"&&window.history.replaceState(window.history.state,"",`${U(Re)}${X}${D}`)}),gr(w,E,e.onIntrinsicHeight),To(E,J);let le=Pr(e.onError,E),Ce=Er(e.onReady,E),Ue=(0,d.useRef)(e.onFaceDrawn);Ue.current=e.onFaceDrawn;let ye=(0,d.useCallback)((v,X)=>{Ce(X),Ue.current?.(v)},[Ce]),[De,Le]=(0,d.useState)(null),Ke=R.places(),ge=(0,d.useRef)({shown:E,onFace:e.onFace});ge.current={shown:E,onFace:e.onFace};let $e=(0,d.useCallback)((v,X,D)=>{if(V){Oe.current?.(v,X,D);return}ge.current.onFace?.(v),Y.current?.(v==="pages"?X??M.current.path:Re,"push")},[V]),[At,Je]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{E==="pages"&&Je(void 0)},[E]);let G=(0,d.useRef)(o);(0,d.useEffect)(()=>{G.current!==o&&(G.current=o,Je(void 0))},[o]);let ue=(0,d.useCallback)(v=>{if(ge.current.shown==="pages"){if(he(!0),Je(v),P==="scene"||P==="graview"){Mr(P,()=>{V?window.history.pushState(null,"",`${U(Re)}${v??""}`):Y.current?.(Re,"push")});return}Mr(Be.current,()=>$e(Be.current,void 0,v))}},[V,P,e.basePath,$e]),q=(0,d.useCallback)(v=>{if(ge.current.shown==="pages"){K.go.current||(M.current.path=v),re(v);return}if(M.current.path=v,j(v),Z.current){he(!1),V?window.history.pushState(null,"",U(v)):Y.current?.(v,"push");return}$e("pages",v)},[K,re,j,$e,V,e.basePath]),Ne=R.arrangement?.(),ie=E==="pages",We=e.hrefOf,Me=We??(V?U:void 0),Ie=(0,d.useMemo)(()=>({open:q,...We?{href:We}:V?{href:v=>Lt(v,e.basePath===void 0?{}:{basePath:e.basePath})}:{}}),[q,V,e.basePath,We]);return(0,g.jsxs)("section",{ref:w,className:m,"aria-label":e.label??n.name,"data-graview-embed":E,"data-graview-scheme":F,...de?{"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,g.jsx)("style",{children:k}),(0,g.jsxs)(er.Provider,{value:le,children:[(0,g.jsx)(vr,{rootRef:w,board:W}),(0,g.jsx)(hr,{rootRef:w,firstLook:e.firstLook,app:ar(T??{name:n.name},n.schema)}),(0,g.jsx)(Ze,{module:"@graview/react",report:le,content:!0,children:(0,g.jsx)(Gn.Provider,{value:ce,children:(0,g.jsx)(In,{store:N,views:R,initialView:me,scheme:F,...br(e,b,T),...e.onSeat?{onSeat:e.onSeat}:{},children:(0,g.jsxs)(nr.Provider,{value:W,children:[(0,g.jsx)(Vo,{face:E,stop:At??o,kinds:A,places:Ke,opens:L}),C?(0,g.jsx)(Lo,{into:C}):null,(0,g.jsx)(Mo,{rootRef:w,face:P,shown:E,path:Pe,stop:o,draft:ne.n,onDrawn:e.onDrawn,parts:ce}),V?(0,g.jsx)(ur,{pagesWere:ke?.path,basePath:e.basePath,shown:E,onFace:e.onFace,toggle:Oe,kinds:A,places:Ke,opens:L,landed:Q}):null,i&&E!=="picture"?(0,g.jsx)(Ze,{module:"@graview/embed",report:le,children:(0,g.jsx)(Sr,{name:T?.name??n.name,heading:c,named:qt(i).name!==!1,faces:qt(i).faces===!1?void 0:{scene:{label:Hn(Ne),current:!ie,go:()=>ue(),reach:()=>void Ve(Be.current)},pages:{label:Vn(Ne),current:ie,go:()=>q(M.current.path),reach:()=>void Ve("pages")}},at:ie?Pe:null,without:e.pages?.without(),home:{...Me?.("/")!==void 0?{href:Me("/")}:{},go:()=>q("/"),current:ie&&Pe.split("?")[0]==="/"},reach:{...Me?{href:Me}:{},go:v=>q(v.path)},standing:l,hostActions:e.hostActions,barActions:e.barActions,keeping:ie?void 0:(0,g.jsx)(Bo,{app:n,studio:e.studio,report:le}),onFind:Le,switch:e.switch})}):null,(0,g.jsx)(or.Provider,{value:De,children:(0,g.jsx)(Ze,{module:E==="pages"||E==="picture"?"@graview/pages":"@graview/react",report:le,content:!0,children:(0,g.jsxs)(d.Suspense,{fallback:(0,g.jsx)(Fo,{auto:x,scene:E!=="pages"&&E!=="picture"}),children:[E==="picture"?(0,g.jsx)(Po,{scope:m,store:N,views:R,as:(o?ut(o).within?.view:void 0)??""}):E==="pages"?(0,g.jsx)(ko,{store:N,views:R,presence:b,auto:x,brand:T,steering:K,overview:ue,scope:m,titleLevel:Ar(c),quickAsk:Wt(e.quickAsk),props:{...e,onNavigate:Fe,...V?{}:{path:M.current.path}}}):(0,g.jsx)(Xn.Provider,{value:Ie,children:(0,g.jsx)(So,{address:V,auto:x,scheme:F,scope:m,quickAsk:Wt(e.quickAsk)})}),(0,g.jsx)(xo,{asked:P,shown:E,onDrawn:ye})]})},E)})]})})})})]})]})}var Zt=e=>e.split(/[?#]/)[0]===Re,zr=(0,d.createContext)(null);function Lo({into:e}){return e.view=ft().view,null}function Mo({rootRef:e,face:n,shown:o,path:i,stop:l,draft:u,onDrawn:c,parts:w}){let{view:m}=ft(),k=o==="scene"||o==="graview",F=lt(m),{pan:N,...b}=m,T=m.pan?lt(b):F,x={face:n,path:k?Re:o==="picture"?l??"#":i,stop:F};return Fr(e,`${o} ${k?T:x.path} ${u}`,x,c,w),null}var gt,Ho=Te(()=>(__graviewPreload(import.meta.url,["./chunk.3HFUO3DC.js","./chunk.AVFOTYZR.js","./chunk.HOQMD6WQ.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.WICFQROI.js"))),tn=()=>Ho().then(e=>void(gt=e),()=>new Promise(e=>{let n=()=>{window.removeEventListener("online",n),clearTimeout(o),e()},o=setTimeout(n,1e4);window.addEventListener("online",n)}).then(tn));function Vo({face:e,stop:n,kinds:o,places:i,opens:l}){let{view:u,go:c}=ft(),w=(0,d.useRef)({face:e,stop:n});return(0,d.useLayoutEffect)(()=>{let m=w.current.stop!==n,k=w.current.face!==e,F=w.current.face==="pages";if(w.current={face:e,stop:n},!m&&!k||e==="pages"||e==="picture")return;let N=(m||F)&&n!==void 0?jr(e,n,o,i):F&&pr(u)?_t(e,jt(l),o):e==="graview"?Bt(u,!0):u.overview?Nn(Bt(u,!1),ir(u,o)):u;c(N)},[e,n,o,u,c,l]),null}function Bo({app:e,studio:n,report:o}){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.Suspense,{fallback:null,children:(0,g.jsx)(Ao,{})}),n!==!1?(0,g.jsx)(Ze,{module:"@graview/studio",report:o,children:(0,g.jsx)(Do,{app:e,studio:n})}):null]})}function Do({app:e,studio:n}){let o={app:e,within:"box",...n?{onApply:n.onApply}:{},...n?.landmark?{landmark:n.landmark}:{},...n?.offered!==void 0?{offered:n.offered}:{}},i=n?.place;return i?(0,g.jsx)(i,{...o}):(0,g.jsx)(d.Suspense,{fallback:null,children:(0,g.jsx)(Oo,{...o})})}function $o({path:e,stop:n,...o},i){return{...o,app:i.app,at:i.at,remote:i.remote,...i.remote.presence?{presence:i.remote.presence}:{}}}function nn(e,n){let o=n.store??n.remote?.store??mr(n.app,n.seed),i=n.notices??Nt(),l=null,u={},c=0,w=n.label,m=n.app,k=Promise.resolve(),F=n.at?.face??n.face,N=F===void 0?void 0:It({...n,face:F}),b=N??en(n.stop),T=null,x=[],O=p=>{if(T=p,p!==b)return;let B=x;x=[];for(let W of B)W()};function ne(){let[p,B]=(0,d.useState)(N),[W,U]=(0,d.useState)(n.stop),[oe,ae]=(0,d.useState)(n.path),[Se,H]=(0,d.useState)(n.scheme??"auto"),[Ae,P]=(0,d.useState)(n.principal),[A,V]=(0,d.useState)(n.seats),[ke,L]=(0,d.useState)(n.quickAsk),[me,I]=(0,d.useState)(n.people),[M,z]=(0,d.useState)(n.hostContext),[Y,Fe]=(0,d.useState)(n.brand),[Pe,j]=(0,d.useState)(n.whileAway),[K,re]=(0,d.useState)(n.label),[C,Oe]=(0,d.useState)(n.hostActions),[Q,J]=(0,d.useState)(n.barActions),[_,he]=(0,d.useState)(void 0),[de,E]=(0,d.useState)(n.draftView);return l={app:Z=>{he(Z),ae(void 0),U(void 0)},face:B,stop:U,path:ae,scheme:H,seat:P,seats:V,quickAsk:L,people:I,hostContext:z,brand:Fe,whileAway:j,label:re,hostActions:Oe,barActions:J,draft:E},(0,g.jsx)(zr.Provider,{value:u,children:(0,g.jsx)(qr,{..._?$o(n,_):n,store:o,notices:i,...p!==void 0?{face:p}:{},onOpening:Z=>{b=Z},...W!==void 0?{stop:W}:{},...oe!==void 0?{path:oe}:{},...Ae?{principal:Ae}:{},...A?{seats:A}:{},...ke!==void 0?{quickAsk:ke}:{},...me?{people:me}:{},...M?{hostContext:M}:{},...Y?{brand:Y}:{},whileAway:Pe,label:K,hostActions:C,barActions:Q,draftView:de,scheme:Se,onFace:Z=>{b=Z,B(Z)},onSeat:P,onFaceDrawn:O},_?.n??0)})}let R=()=>{let p=u.view?.focusId,B=p?o.graph.getNode(p)?.kind:void 0,W=(u.shown??b)==="scene"||(u.shown??b)==="graview";return{face:b,path:W?Re:u.pages?.()??n.path??"/",stop:u.view?lt(u.view):n.stop??"#",...B?{kind:B}:{}}},ce=(0,Vr.createRoot)(e);return(0,$.flushSync)(()=>ce.render((0,g.jsx)(ne,{}))),{get store(){return o},where:R,setApp:(p,B,W)=>{let U="graph"in B?{store:B}:B,oe=()=>{let ae=R();o=U.store,w=W?.label??(w===m.name?p.name:w),m=p,(0,$.flushSync)(()=>{l?.label(w),l?.app({app:p,remote:U,at:ae,n:++c})})};gt?oe():k=k.then(tn).then(oe)},setFace:p=>{b=p,(0,$.flushSync)(()=>l?.face(p))},setStop:p=>(0,$.flushSync)(()=>l?.stop(p)),setPath:p=>(0,$.flushSync)(()=>{if(Zt(p)){(b==="pages"||b==="picture")&&(b="scene",l?.face("scene"));return}l?.path(p),b!=="pages"&&(b="pages",l?.face("pages"))}),setScheme:p=>(0,$.flushSync)(()=>l?.scheme(p)),setSeat:p=>(0,$.flushSync)(()=>l?.seat(p)),setSeats:p=>(0,$.flushSync)(()=>l?.seats(p)),setQuickAsk:p=>(0,$.flushSync)(()=>l?.quickAsk(p)),setPeople:p=>(0,$.flushSync)(()=>l?.people(p)),setHostContext:p=>(0,$.flushSync)(()=>l?.hostContext(p)),setBrand:p=>(0,$.flushSync)(()=>l?.brand(p)),setWhileAway:p=>(0,$.flushSync)(()=>l?.whileAway(p)),setDraftView:p=>(0,$.flushSync)(()=>l?.draft(p)),setLabel:p=>{w=p,(0,$.flushSync)(()=>l?.label(p))},setHostActions:p=>(0,$.flushSync)(()=>l?.hostActions(p)),setBarActions:p=>(0,$.flushSync)(()=>l?.barActions(p)),drawn:()=>k.then(()=>T===b?void 0:new Promise(p=>x.push(p))),notify:p=>{let B;return(0,$.flushSync)(()=>{B=i.notify(p)}),B},unmount:()=>ce.unmount()}}var wt=e=>`s${(e+1).toString(36)}`;var be={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"},qe={header:"x-graview-key",param:"graview_key",cookie:"graview_key"};function vt(e,n={}){try{let o=new URL(e),i=o.searchParams.get(qe.param);if(i)return o.searchParams.delete(qe.param),{url:o.origin+o.pathname.replace(/\/$/,"")+o.search,key:i,headers:{[qe.header]:i,...n}}}catch{}return{url:e.replace(/\/$/,""),headers:n}}var Gr="/graview/friction";var Ur="/graview/live",rn="graview.ship",on=`${rn}.${st}`;var ze=class extends Error{constructor(n){super(n),this.name="Superseded"}},xe=e=>e?.lineage?{lineage:e.lineage}:{},No=(e,n)=>`${e.calls.map(o=>o.name.replace(/-/g," ")).join(", ")} (${n instanceof Error?n.message.split(`
2
+ `)[0]??"":String(n)})`;function Wo(e){if(!e)return[];try{let n=e.storage.getItem(e.key);if(n===null)return[];e.storage.removeItem(e.key);let o=JSON.parse(n);return Array.isArray(o)?o.filter(i=>!!i&&Array.isArray(i.calls)):[]}catch{return[]}}var Ge=class extends Error{constructor(o){super(o.sentence);this.refusal=o;this.name="RemoteRefusedError"}},Io={401:"forbidden",403:"forbidden",404:"missing",413:"limit"},pe=class extends Error{constructor(o,i){super(o);this.conflicts=i;this.name="StaleWrite"}},et=class extends Error{constructor(n){super(n),this.name="Unreached"}},_o=new Set([502,503,504]);async function jo(e){try{return(await e.clone().json()).reason==="unavailable"}catch{return!1}}function qo(){let e=Math.random().toString(36).slice(2,8),n=0;return()=>`local-${e}-${++n}`}var zo=1,Go=()=>({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 bt(e){return(await Kr(e,Wo(e.carry),"This app was updated while your changes were on the way.",Go())).remote}async function Kr(e,n,o,i){let{key:l,...u}=vt(e.url,e.headers),c={...e,...u},w=c.fetch??fetch,m={"content-type":"application/json",...c.headers??{}},k={...St(c.principal),[be.via]:c.via??"web"};Object.assign(m,k);let F=c.live===!0,N=c.presenceEveryMs,b=c.visible??Jo,T="connecting",x=i.statuses,O=i.tally,ne=[],R,ce=[],p=()=>T==="online"&&R!==void 0?"held":T,B=()=>{let t=p();if(i.told!==t){i.told=t;for(let r of[...x])r(t)}},W=t=>{if(!(t===T||se)&&(T==="offline"&&t==="online"&&O.reconnects++,T=t,B(),t==="online"))for(let r of ne.splice(0))r.again()},U=t=>{if(se)return;let r=typeof t=="string"&&t.length>0?t:void 0,s=r!==R;if(R=r,oe(),!!s&&(B(),r===void 0)){for(let a of ce.splice(0))a();ee&&clearTimeout(ee),un()}},oe=()=>{if(i.toldHeld!==R){i.toldHeld=R;for(let t of[...i.helds])t(R??null)}},ae=async(t,r)=>{let s;try{s=await w(t,r)}catch(a){throw D()||W("offline"),new et(a instanceof Error?a.message:String(a))}if(s.status===503&&await jo(s))return W("online"),s;if(_o.has(s.status))throw D()||W("offline"),new et(`The server is away (${s.status})`);return W("online"),s},Se=async(t=!1)=>{let r=`${c.url}/graview/state?opFormat=${je.op}`,s=t?await w(r,{headers:m}):await ae(r,{headers:m});if(!s.ok)throw new Error((await s.json().catch(()=>({}))).error??`The server refused (${s.status})`);return await s.json()},H=c.state??await Se(!0);F||(T="online"),R=typeof H.held=="string"&&H.held.length>0?H.held:void 0,oe();let Ae=H.enabledModules??c.enabledModules,P=c.localApp?c.localApp(c.app):c.app,A=new Mn({schema:P.schema,mutations:P.mutations??[],invariants:P.invariants??[],...P.policy?{policy:P.policy}:{},...P.publishing?{publishing:P.publishing}:{},...P.modules?{modules:P.modules}:{},...Ae?{enabledModules:Ae}:{},...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:qo(),...c.storeOptions??{}});Tn.served.add(A);let V=c.friction!==!1&&c.principal?.kind!=="visitor";V&&Fn(A,t=>{V&&w(`${c.url}${Gr}`,{method:"POST",headers:m,body:JSON.stringify({event:t})}).then(r=>void(V=r.status!==404&&r.status!==410),()=>{})});let ke=Cn(A),L=H.log.at(-1)?.seq??(H.horizon??0)-1,me=Ct.of(H.log,{horizon:H.horizon??0}),I=null,M,z=new Map,Y=i.who,Fe=!1,Pe=t=>{if(se)return;Fe=!0;let r=Bn(new Map,t,Date.now(),Ht,I?.participant);M!==void 0&&r.delete(M);let s=r.size!==z.size;if(!s)for(let[a,f]of r)Vt(f,z.get(a))||(s=!0);if(z=r,!!s)for(let a of[...Y])a([...z.values()])},j=[],K=new Set,re=t=>{let r=j.indexOf(t);r>=0&&j.splice(r,1)},C=new Map,Oe=(t,r)=>{let s=C.get(t);s&&(C.delete(t),s.resolve({ops:r.filter(a=>a.batch===t),batch:t}))},Q,J=[],_=(t,r=[])=>{if(t.length===0&&r.length===0)return[];if(Q)return J.push({ops:t,drop:r}),[];let s=Math.min(...t.filter(h=>h.seq>L).map(h=>h.seq));if(Number.isFinite(s)&&s>L+1)return J.push({ops:t,drop:r}),he(),[];let a=j.filter(h=>t.some(te=>te.batch===h)),f=[...new Set([...r,...a])].filter(h=>K.has(h)),y,S=j.filter(h=>!a.includes(h));try{y=A.rebase({confirmed:t,pending:S,drop:f}).confirmed}catch(h){if(!(h instanceof Ln))throw h;return J.push({ops:t,drop:r}),he(),[]}for(let h of a)re(h);t.some(h=>h.seq>L)&&S.some(h=>!f.includes(h))&&O.rebases++,t.length>0&&(L=Math.max(L,...t.map(h=>h.seq)),me.note(t));for(let h of f)K.delete(h);for(let h of a)Oe(h,t);return y},he=()=>{Q||(Q=Le(Se().then(t=>{if(de(t)){J=[];return}let r=new Set(t.log.map(f=>f.batch)),s=j.filter(f=>r.has(f));for(let f of s)re(f);let a=A.adopt({snapshot:t.snapshot,log:t.log,...t.horizon!==void 0?{horizon:t.horizon}:{},pending:[...j],drop:[...K].filter(f=>!j.includes(f))});K.clear();for(let f of a.pending)K.add(f.batch);L=t.log.at(-1)?.seq??(t.horizon??0)-1,me=Ct.of(t.log,{horizon:t.horizon??0}),O.resyncs++;for(let f of s)Oe(f,t.log)}).then(()=>{Q=void 0;let t=J;J=[];for(let{ops:r,drop:s}of t)_(r,s)},()=>{Q=void 0,J=[]})))},de=t=>(typeof t.build=="string"&&pn(t.build),typeof t.version=="number"&&U(t.held),typeof t.version!="number"||t.version===H.version?!1:(Et(t.version),!0)),E=async t=>{let s=await(await ae(`${c.url}/graview/since?seq=${wt(t)}&opFormat=${je.op}`,{headers:m})).json();return de(s)?[]:s.reset===!0?(he(),[]):s.ops??[]},Z=async()=>{let t=await Be();return Q&&await Q,t},Be=async()=>{if(I&&!D()&&b()){let r=await(await ae(`${c.url}/graview/here?opFormat=${je.op}`,{method:"POST",headers:m,body:JSON.stringify({presence:I,seq:wt(L)})})).json();return de(r)?[]:(typeof r.participant=="string"&&(M=r.participant),Pe(r.who??[]),_(r.ops??[]))}return _(await E(L))},le=new Map,Ce=new Map,Ue=new Set,ye=new Map,De=new Set,Le=t=>(De.add(t),t.finally(()=>De.delete(t)).catch(()=>{}),t),Ke=Promise.resolve(),ge=0,$e=(t,r)=>{let s=Ke.then(()=>Je(t,r));return Ke=s.catch(()=>{}),s},At=()=>new Promise((t,r)=>ne.push({again:t,give:r})),Je=async(t,r)=>{let s,a;for(;;){try{s=await ae(`${c.url}/graview/ops`,{method:"POST",headers:m,body:JSON.stringify({...t,opFormat:je.op})})}catch(h){if(!(h instanceof et)||q)throw h;if(await At(),D())return tt(t,r);continue}if(a=await s.json().catch(()=>({})),s.status===503&&a.reason==="unavailable"&&typeof a.held=="string"&&!q){if(typeof a.version=="number"?de(a):(U(a.held),!1))break;if(R!==void 0&&(Ft>0||F)){if(await new Promise(h=>ce.push(h)),q)throw new ze("The client closed.");if(D())return tt(t,r);continue}}let S;if(s.status===503&&a.reason==="unavailable"&&!q)S=an(c.backoff,ge++);else{if(ge=0,s.status!==429||q)break;S=Uo(s.headers.get("retry-after"),a.retryAfter)}if(await new Promise(h=>setTimeout(h,S)),D())return tt(t,r)}if(se||de(a))throw new ze("The app was changed.");if(!s.ok){let S=a.error??`The server refused (${s.status})`;throw a.conflict?new pe(S,a.conflicts??[]):new Ge({reason:a.reason??Io[s.status]??"invalid",sentence:S,...a.wouldNeed?.length?{wouldNeed:a.wouldNeed}:{}})}let f=a.ops??[],y=f[0]?.seq;return y!==void 0&&y>L+1&&(f=await E(L)),r!==void 0&&(a.batch&&le.set(r,a.batch),re(r)),_(f,r!==void 0?[r]:[]),{ops:a.ops??[],...a.batch?{batch:a.batch}:{}}},G,ue=!1,q=!1,Ne=0,ie,We=0,Me=0,Ie=null,v=()=>{},X=new Promise(t=>{v=t}),D=()=>F&&ue&&G?.readyState===zo,Ye=t=>{if(!D())return!1;try{return G.send(JSON.stringify(t)),!0}catch{return!1}},ln=(t=!1)=>{!I||!D()||!b()||!t&&Ie&&Vt(I,Ie)&&(N===void 0||Date.now()-Me<N)||Ye({t:"here",presence:I})&&(Ie=I,Me=Date.now())},Ee=new Set,ee,un=()=>{if(ee=void 0,R!==void 0)return;let t=[...C.entries()].filter(([r])=>Ee.has(r));Ee.clear();for(let[,r]of t)Ye(r.message)},fn=(t,r)=>{C.has(t)&&(Ee.add(t),ee&&clearTimeout(ee),ee=setTimeout(un,Math.max(0,r)))},Qr=t=>{C.has(t)&&Ee.add(t)},tt=(t,r)=>new Promise((s,a)=>{let f=r??`send-${++We}`,y=t.undo?{t:"undo",cid:f,batches:t.undo,...t.intent?{intent:t.intent}:{},...t.batch?{batch:t.batch}:{},...t.via?{via:t.via}:{},...xe(t)}:{t:"call",cid:f,calls:t.calls??[],...t.intent?{intent:t.intent}:{},...t.batch?{batch:t.batch}:{},...t.base?.length?{base:t.base}:{},...t.via?{via:t.via}:{},...xe(t)};if(C.set(f,{message:y,...r!==void 0?{mine:r}:{},resolve:s,reject:a}),Ee.size>0||R!==void 0){Ee.add(f);return}Ye(y)}),nt=(t,r)=>D()?tt(t,r):$e(t,r),Zr=t=>{switch(t.t){case"welcome":{if(pn(t.build),typeof t.version=="number"&&t.version!==H.version){Et(t.version);return}if(ue=!0,Ne=0,typeof t.participant=="string"&&(M=t.participant),U(t.held),t.state?he():_(t.ops??[]),Ee.clear(),ee&&clearTimeout(ee),ee=void 0,R!==void 0)for(let r of C.keys())Ee.add(r);else for(let r of C.values())Ye(r.message);ln(!0),W("online"),v();return}case"ops":_(t.ops??[]);return;case"ack":{let r=C.get(t.cid);if(!r){_(t.ops??[]);return}C.delete(t.cid),ge=0,r.mine!==void 0&&(le.set(r.mine,t.batch),re(r.mine)),_(t.ops??[],r.mine!==void 0?[r.mine]:[]),r.resolve({ops:t.ops??[],batch:t.batch});return}case"refused":case"conflict":{let r=C.get(t.cid);if(!r)return;if(t.t==="refused"&&t.reason==="unavailable"){R!==void 0?Qr(t.cid):fn(t.cid,an(c.backoff,ge++));return}C.delete(t.cid),r.reject(t.t==="conflict"?new pe(t.sentence,t.conflicts??[]):new Ge({reason:t.reason??"invalid",sentence:t.sentence,...t.wouldNeed?.length?{wouldNeed:[...t.wouldNeed]}:{}}));return}case"busy":typeof t.cid=="string"&&fn(t.cid,typeof t.retryAfter=="number"?t.retryAfter:1e3);return;case"presence":Pe(t.who??[]);return;case"held":U(t.sentence);return;case"declaration":typeof t.version=="number"&&t.version!==H.version&&Et(t.version);return;case"reload":gn(typeof t.reason=="string"?t.reason:"This app was updated.");return;case"error":if(t.reopen===!0&&G){let r=G;vn(r);try{r.close(1e3,"Opening again.")}catch{}}return;default:return}},se=!1,kt=i.declarations,Pt=i.builds,pn=t=>{if(!(se||i.otherBuild!==void 0||!c.build||typeof t!="string"||t.length===0||t===c.build)){i.otherBuild=t;for(let r of[...Pt])r(t)}},mn=()=>{let t=[],r=0;for(let s of j){let a=ye.get(s);a?t.push({calls:a.calls,...a.intent?{intent:a.intent}:{},...a.via?{via:a.via}:{},...xe(a),batch:s}):r++}return{carried:t,undos:r}},hn=(t,r)=>`${r} while ${t===1?"an undo of yours was":"undos of yours were"} on the way; ${t===1?"it was":"they were"} not made.`,yn=t=>{se=!0,I=null;let r=new ze(t);for(let a of C.values())a.reject(r);C.clear(),at&&clearInterval(at),q=!0,ie&&clearTimeout(ie),ee&&clearTimeout(ee),we&&clearTimeout(we);for(let a of ne.splice(0))a.give(r);for(let a of ce.splice(0))a();let s=G;G=void 0,ue=!1;try{s?.close(1e3,t)}catch{}v()};async function Et(t){if(se)return;if(!c.resolveApp){gn(`This app was changed on its server (version ${t}); reload the page to carry on.`);return}let{carried:r,undos:s}=mn(),a=c.resolveApp,f=I;yn("The app was changed.");try{let y=await a(t),{state:S,...h}=c,te=await Kr({...h,app:y},r,"The app was changed while your changes were on the way.",i);f&&te.remote.presence.here(f);for(let it of[...kt])it(te.remote,t);let fe=[...s>0?[rt(hn(s,"The app was changed"))]:[],...te.unheard()];for(let it of fe)for(let io of _e)io(it.sentence,it)}catch(y){let S=`The app was changed, but the new version could not be opened: ${y instanceof Error?y.message:String(y)}`;for(let h of _e)h(S,rt(S))}}function gn(t){if(se)return;let{carried:r,undos:s}=mn();yn(t);let a=!1;if(c.carry&&r.length>0)try{c.carry.storage.setItem(c.carry.key,JSON.stringify(r)),a=!0}catch{}let f=[];!a&&r.length>0&&f.push(`${t} ${r.length===1?"A change of yours was":`${r.length} changes of yours were`} not sent; make ${r.length===1?"it":"them"} again after the page reloads.`),s>0&&f.push(hn(s,"This app was updated"));for(let y of f)for(let S of _e)S(y,rt(y));(c.reloadPage??Ko)()}let wn=()=>{if(q||!F)return;let t=`${c.url.replace(/^http/,"ws").replace(/\/$/,"")}${Ur}`,{"content-type":r,...s}=m,a;try{a=c.socket?c.socket(t,s,[on]):ao(t,s)}catch{return bn()}G=a,ue=!1,a.onopen=()=>{G===a&&a.send(JSON.stringify({t:"hello",seq:wt(L),protocol:st,wire:rn,opFormat:je.op,...c.build?{build:c.build.slice(0,64)}:{},...c.hostProtocol!==void 0?{hostProtocol:c.hostProtocol}:{}}))},a.onmessage=f=>{if(G!==a)return;let y;try{y=JSON.parse(String(f.data))}catch{return}Zr(y)},a.onclose=()=>vn(a),a.onerror=()=>{}},we,Xr=()=>{Fe=!1,we&&clearTimeout(we),we=setTimeout(()=>{if(we=void 0,Fe||q)return;let t=new Map([...z].filter(([,r])=>r.held!=="socket"));if(t.size!==z.size){z=t;for(let r of Y)r([...z.values()])}},Ht),we.unref?.()};function vn(t){if(G!==t)return;let r=ue;G=void 0,ue=!1,Ie=null,r&&(W("offline"),Xr()),bn()}let bn=()=>{if(q)return;let t=an(c.backoff,Ne);Ne++,ie=setTimeout(wn,t)},Sn=A.applyAll.bind(A),eo=A.undo.bind(A),to=A.previewAll.bind(A);A.previewAll=(t,r)=>to(t,{...c.principal?{author:c.principal}:{},...r});let _e=i.refusals,Qe=[],rt=t=>({reason:"invalid",sentence:t}),ot=i.conflicts,Rt=!1,An,Tt=async(t,r)=>{if(r instanceof ze||se)return;let s=r instanceof Ge?r.refusal:Rn(r),a=s.sentence,f=r instanceof pe?An?.yoursOf(A,ye.get(t)?.calls??[]):void 0;re(t);try{_([],[t])}catch{}let y=ye.get(t);ye.delete(t);let S=y?.calls[0];if(S&&!(r instanceof pe)){let h=A.allMutations().find(fe=>fe.name===S.name)?.subject?.arg,te=h&&A.graph.getNode(S.args[h])?.kind;On(A,{type:"refused",act:S.name,code:s.reason,...te?{kind:te}:{}},c.principal)}if(r instanceof pe&&O.conflicts++,r instanceof pe&&!D()&&await Z().catch(()=>[]),r instanceof pe&&Q&&await Q,r instanceof pe&&ot.size>0){let h=!1,te={sentence:a,conflicts:f?r.conflicts.map(fe=>fe.node===f.node&&fe.field===f.field?{...fe,yours:f.yours}:fe):r.conflicts,keepTheirs(){h=!0},useMine(){if(!(h||!y)){h=!0,Rt=!0;try{A.applyAll(f?[f.over(L)]:y.calls,{...y.intent?{intent:y.intent}:{},...y.via?{via:y.via}:{},...xe(y)})}finally{Rt=!1}}}};for(let fe of ot)fe(te);return}for(let h of _e)h(a,s)},no=(t,r)=>t.flatMap(s=>s.mutation?.name===En?[]:s.primitives.flatMap(a=>a.op==="splice-text"&&!r.has(a.id)&&!r.has(`${a.id}\0${a.field}`)?[{node:a.id,field:a.field,rev:L}]:[]));A.applyAll=(t,r)=>{let s=xn(A.log.all().filter(S=>K.has(S.batch))),a=Sn(t,{...c.principal?{author:c.principal}:{},...r}),f=t.map((S,h)=>{let te=a.minted?.[h];return te===void 0||S.args?.id!==void 0?S:{...S,mintedHint:te}});j.push(a.batch),K.add(a.batch),ye.set(a.batch,{calls:f,...r?.intent?{intent:r.intent}:{},...r?.via?{via:r.via}:{},...xe(r)});let y=Rt?[]:[...me.baseFor(a.ops,s,(S,h)=>A.collaborative(S,h)),...no(a.ops,s)];return Ce.set(a.batch,Le(nt({calls:f,...r?.intent?{intent:r.intent}:{},batch:a.batch,...y.length>0?{base:y}:{},...r?.via?{via:r.via}:{},...xe(r)},a.batch).catch(S=>Tt(a.batch,S)))),a},A.apply=(t,r)=>A.applyAll([t],r),A.undo=(t,r)=>{let s=typeof t=="string"?[t]:t,a=eo(s.map(y=>le.get(y)??y),{...c.principal?{author:c.principal}:{},...r});j.push(a.batch),K.add(a.batch);let f=Promise.allSettled(s.map(y=>Ce.get(y)));return Ce.set(a.batch,Le(f.then(()=>{let y=s.filter(S=>!Ue.has(S));if(y.length===0){re(a.batch),ye.delete(a.batch),_([],[a.batch]);return}return nt({undo:y.map(S=>le.get(S)??S),...r?.intent?{intent:r.intent}:{},batch:a.batch,...r?.via?{via:r.via}:{},...xe(r)},a.batch)}).catch(y=>Tt(a.batch,y)))),a};let ro=async(t,r={})=>{xt++;try{return(await Le(nt({calls:t,...r}))).ops}finally{xt--}},xt=0,kn={here(t){I=t,ln()},onWho(t){return Y.add(t),z.size>0&&t([...z.values()]),()=>{Y.delete(t)}},leave(){if(!I)return;let t=JSON.stringify({participant:M??I.participant});if(I=null,Ye({t:"bye"}))return;let r=globalThis.navigator?.sendBeacon;r?r.call(globalThis.navigator,`${c.url}/graview/leave${l!==void 0?`?${qe.param}=${encodeURIComponent(l)}`:""}`,t):w(`${c.url}/graview/leave`,{method:"POST",headers:m,body:t}).catch(()=>{})}},Ft=c.pollMs??800,at=Ft>0&&typeof setInterval=="function"?setInterval(()=>{D()||Z().catch(()=>{})},Ft):null;if(F){wn();let t;await Promise.race([X,new Promise(r=>t=setTimeout(r,c.openTimeoutMs??3e3))]),clearTimeout(t)}if(n.length>0&&!se){let t=[],r=new Set(A.log.all().map(s=>s.batch));for(let s of n)if(!(s.batch!==void 0&&r.has(s.batch)))try{A.applyAll(s.calls,{...s.intent?{intent:s.intent}:{},...s.batch?{batch:s.batch}:{},...s.via?{via:s.via}:{},...xe(s)})}catch(a){t.push(No(s,a))}t.length>0&&Qe.push(rt(`${o} ${t.length===1?"One no longer fits and was not made":`${t.length} no longer fit and were not made`}: ${t.join("; ")}.`))}let Pn=new Map,oo=()=>({store:A,author:c.principal,appliedAll:Sn,pending:j,provisional:K,asked:ye,answers:Ce,letGo:Ue,sent:(t,r)=>Le(nt({calls:r,batch:t},t).catch(s=>Tt(t,s))),settle:re,land:_,seen:()=>L,gone:()=>q||se});return{remote:{store:A,typing(t,r){let s=`${t}\0${r}`,a=Pn.get(s);return a||(a=(__graviewPreload(import.meta.url,["./chunk.6SO64TUI.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.ZJCM62GH.js")).then(f=>(An=f,f.typingOf(t,r,f.wireOf(oo())))),Pn.set(s,a)),a},version:H.version,migrated:H.migrated??[],send:ro,pull:Z,onRefusal(t){_e.add(t);let r=Qe;Qe=[];for(let s of r)t(s.sentence,s);return()=>_e.delete(t)},onDeclaration(t){return kt.add(t),()=>kt.delete(t)},onBuild(t){return Pt.add(t),i.otherBuild!==void 0&&t(i.otherBuild),()=>Pt.delete(t)},onConflict(t){return ot.add(t),()=>ot.delete(t)},revision:(t,r)=>me.of(t,r),seq:()=>L,participant:()=>M,transport:()=>D()?"socket":"poll",status:p,onStatus(t){return x.add(t),()=>x.delete(t)},held:()=>R,onHeld(t){return i.helds.add(t),R!==void 0&&t(R),()=>i.helds.delete(t)},counters:()=>({...O}),who:()=>[...z.values()],pending:()=>j.length+xt,async settled(){for(;De.size>0;)await Promise.allSettled([...De])},presence:kn,close(){at&&clearInterval(at),ke(),kn.leave(),q=!0,ie&&clearTimeout(ie),ee&&clearTimeout(ee),we&&clearTimeout(we);for(let r of ne.splice(0))r.give(new Error("The client closed before the server could be reached."));for(let r of ce.splice(0))r();let t=G;G=void 0,ue=!1;try{t?.close(1e3,"Closed.")}catch{}}},unheard(){let t=Qe;return Qe=[],t}};function ao(t,r){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?[on]:[];if(!a)try{return new s(t,{headers:r,...f.length>0?{protocols:f}:{}})}catch{}let y=new URL(t);for(let[S,h]of Object.entries(k))y.searchParams.set(S,h);return l!==void 0&&y.searchParams.set(qe.param,l),f.length>0?new s(y.toString(),f):new s(y.toString())}}function Uo(e,n,o=Date.now()){let i,l=e?.trim();if(l)if(/^\d+(\.\d+)?$/.test(l))i=Number(l)*1e3;else{let w=Date.parse(l);Number.isFinite(w)&&(i=Math.max(0,w-o))}let u=typeof n=="number"&&Number.isFinite(n)&&n>=0?n:void 0,c=u!==void 0&&u<50&&i!==void 0&&Math.abs(u*1e3-i)<1e3;return u!==void 0&&!c?u:i??1e3}function Ko(){globalThis.location?.reload?.()}function Jo(){return globalThis.document?.visibilityState!=="hidden"}function an(e,n){if(typeof e=="function")return Math.max(0,e(n));let{min:o=250,max:i=1e4,factor:l=2}=e??{};return Math.min(i,o*l**n)*(.75+Math.random()*.5)}function St(e){let n={};if(!e)return n;e.id&&(n[be.seat]=e.id),e.roles?.length&&(n[be.roles]=e.roles.join(",")),e.kind!=="human"&&(n[be.kind]=e.kind),e.name&&(n[be.name]=encodeURIComponent(e.name));let o=e.onBehalfOf;return o?.id&&(n[be.for]=o.id),o?.roles?.length&&(n[be.forRoles]=o.roles.join(",")),o?.name&&(n[be.forName]=encodeURIComponent(o.name)),n}var Jr="/graview/views";function sn(e){let n=e.fetch??fetch,o=vt(e.url,e.headers),i=o.url,l={"content-type":"application/json",...e.principal?St(e.principal):{},...o.headers},u=e.state?{hidden:e.state.hidden??[],removed:e.state.removed??[],may:e.state.may??ct.may}:ct,c=new Set,w=b=>{if(JSON.stringify(b)!==JSON.stringify(u)){u=b;for(let T of c)T()}},m=async(b,T)=>{let x=await n(`${i}${e.path??Jr}`,{method:b,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}.`);w({hidden:O.hidden??[],removed:O.removed??[],may:O.may??ct.may})},k=()=>m("GET"),F=e.state?Promise.resolve():k().catch(()=>{}),N=e.pollMs?setInterval(()=>void k().catch(()=>{}),e.pollMs):void 0;return{ready:F,refresh:k,close:()=>clearInterval(N),current:()=>u,onChange(b){return c.add(b),()=>void c.delete(b)},hide:b=>m("POST",{hide:b}),show:b=>m("POST",{show:b}),remove:(b,T)=>m("POST",{remove:b,...T?{about:T}:{}}),async restore(b){let T=u.removed.find(x=>x.name===b)?.lens;await m("POST",{restore:b}),T&&await e.onDeclaration?.()},async lens(b){await m("POST",{lens:b}),await e.onDeclaration?.()}}}var dn=document.getElementById("graview-app"),cn=/^\/forms\/([^/]+)\/?$/.exec(location.pathname),Yr=cn?(__graviewPreload(import.meta.url,["./chunk.66IKLMYX.js","./chunk.MBP7VDYM.js","./chunk.XOZU4OFA.js","./chunk.LA2DMHZC.js","./chunk.SIYBHZDD.js","./chunk.3RW677X6.js","./chunk.UO544PZH.js","./chunk.4STDIZVI.js","./chunk.HZHNM2KI.js","./chunk.HOQMD6WQ.js","./chunk.N7T7VB77.js","./chunk.SDO3U72B.js","./chunk.F7PIW2EM.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.ULHB3RYK.js")):Ve("pages");try{cn?await Yo(decodeURIComponent(cn[1])):await Qo()}catch(e){let n=document.createElement("pre");n.setAttribute("role","alert"),n.style.cssText="margin:2rem;font:14px/1.5 ui-monospace,monospace;white-space:pre-wrap",n.textContent=e instanceof Error?e.message:String(e),dn.replaceChildren(n),window.__graviewFailed=n.textContent}async function Yo(e){let n=await fetch(`/graview/document?form=${encodeURIComponent(e)}`),o=await n.json();if(!n.ok)throw new Error(o.error??`The preview server did not hand over the form (${n.status}).`);let i=await pt(o);if(!i.ok)throw new Error(dt(i.findings));let l=i.app,u=o.principal,c=await bt({app:l,url:location.origin,principal:u,...o.state?{state:o.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=l.forms?.[e]?.title??l.name;let{mount:w}=await Yr;window.__graview=w(dn,{app:l,form:e,principal:u,remote:c,height:"100dvh",onSubmitted:()=>window.__graviewSubmitted=!0}),window.__graviewReady=!0}async function Qo(){let e=await fetch("/graview/document");if(!e.ok)throw new Error(`The preview server did not hand over the document (${e.status}).`);let n=await e.json(),i=await(async m=>{if(typeof m.module=="string")return(await import(m.module)).app;let k=await pt(m);if(!k.ok)throw new Error(dt(k.findings));return k.app})(n);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=n.principal,u=await bt({app:i,url:location.origin,principal:l,live:!0,subprotocol:!0,pollMs:1200,...n.state?{state:n.state,openTimeoutMs:0}:{openTimeoutMs:3e3}});document.title=i.name;let c,w=sn({url:location.origin,principal:l,...n.views?{state:n.views}:{},onDeclaration:async()=>{let m=await(await fetch("/graview/document")).json();if(typeof m.module=="string")return;let k=await pt(m);k.ok&&c?.setApp(k.app,u)}});await Promise.all([Yr,w.ready]),c=nn(dn,{app:i,remote:u,principal:l,studio:!1,face:"pages",routing:"address",bar:!0,height:"100dvh",label:i.name,heading:1,keptViews:w,...n.draftView?{draftView:n.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.59",
3
+ "version": "0.1.61",
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.59",
33
- "@graview/core": "0.1.59",
34
- "@graview/skills": "0.1.59",
35
- "@graview/ship": "0.1.59",
36
- "@graview/tools": "0.1.59"
32
+ "@graview/core": "0.1.61",
33
+ "@graview/ship": "0.1.61",
34
+ "@graview/skills": "0.1.61",
35
+ "@graview/tools": "0.1.61",
36
+ "@graview/guest": "0.1.61"
37
37
  },
38
38
  "engines": {
39
39
  "node": ">=22"
@@ -1 +0,0 @@
1
- import{a as D}from"./chunk.PXQVXBNG.js";import{a as L,f as P,g as N,h as R,i as T}from"./chunk.B3WVCSW5.js";import{Bd as E}from"./chunk.X3MMJ3QC.js";var z=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),W=e=>e?._zod?.def;function I(e){let n=W(e);for(;n&&(n.type==="optional"||n.type==="default"||n.type==="nullable"||n.type==="prefault");)n=W(n.innerType);return n}function K(e){if(e?.type==="boolean")return["true","false"];if(e?.type==="enum")return(e.entries?Object.values(e.entries):e.values??[]).filter(n=>typeof n=="string")}var m=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[-_]/g," ").replace(/^./,n=>n.toUpperCase());function J(e,n,i){let a=e.tryDefinition(n);if(!a)return[];let c=new Set(a.display?.hide??[]),o=[];for(let[s,l]of Object.entries(a.fields.shape??{})){if(s==="id"||s==="kind"||s==="label"||c.has(s))continue;let r=I(l);if(r?.type==="array"||r?.type==="object"||r?.type==="record")continue;let u=K(r);o.push({key:s,label:m(s),...u?{options:u}:{}})}let g=new Map;for(let[s,l]of Object.entries(a.edges??{}))g.set(s,l.to==="*"?[]:[...l.to]);for(let s of e.definitions)if(s.kind!==n)for(let[l,r]of Object.entries(s.edges??{}))!g.has(l)&&(r.to==="*"||r.to.includes(n))&&g.set(l,[s.kind]);let y=[];for(let[s,l]of g){o.push({key:s,label:m(s)});let r=i&&l.length===1&&l[0]!==n?e.tryDefinition(l[0]):void 0;for(let[u,f]of Object.entries(r?.fields.shape??{})){let p=I(f);p?.type==="enum"&&!r?.display?.hide?.includes(u)&&y.push({key:`${s}.${u}`,label:`${m(s)} \xB7 ${m(u)}`,options:K(p)})}}return o.push(...y),o.push({key:"is",label:"Is",options:a.lifecycle?["current","past","any","flagged","clear"]:["flagged","clear"]}),o}var G=e=>e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;function q(e,n,i,a={}){if(i==null)return{ok:!0};if(!z(i))return{ok:!1,says:'A filter is an object of a field and the value it keeps, like { where: { stage: "building" } }.'};let c=Object.entries(i);if(c.length===0)return{ok:!0};let o=[];for(let l of n)for(let r of J(e,l,a.through===!0))o.some(u=>u.key===r.key)||o.push(r);let g=n[0]?e.tryDefinition(n[0]):void 0,y=g?g.plural??`${m(g.kind)}s`:"These",s=[];for(let[l,r]of c){let u=o.find(p=>p.key===l);if(!u)return{ok:!1,says:`${y.replace(/^./,p=>p.toUpperCase())} have no field "${l}" to filter by${o.length>0?`; they filter by ${G(o.map(p=>p.key))}`:""}.`};if(typeof r!="string"&&typeof r!="number"&&typeof r!="boolean")return{ok:!1,says:`The filter on "${l}" is ${Array.isArray(r)?"a list":r===null?"null":`a ${typeof r}`}; it keeps one value: a word, a number, or true or false.`};let f=String(r);if(f.trim().length===0)return{ok:!1,says:`The filter on "${l}" keeps nothing; give it a value, or leave "${l}" out.`};if(f.includes(","))return{ok:!1,says:`The filter on "${l}" holds a comma, which an address reads as a second filter; keep one value.`};if(u.options&&u.options.length>0&&!u.options.includes(f))return{ok:!1,says:`${u.label} has no choice "${f}"; its choices are ${G(u.options.map(p=>`"${p}"`))}.`};s.push(`${l}:${f}`)}return{ok:!0,filter:s.join(",")}}var C=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");function F(e,n){let i=e.find(o=>o.as===n);if(i)return i;let a=n.trim().toLowerCase(),c=C(n);return e.find(o=>o.title!==void 0&&o.title.trim().toLowerCase()===a)??(c?e.find(o=>o.as===c||o.title!==void 0&&C(o.title)===c):void 0)}function Q(e){let n=[];for(let i of e){if(typeof i!="object"||i===null)continue;let{as:a,slug:c,title:o,kind:g}=i,y=typeof a=="string"&&a.length>0?a:typeof c=="string"&&c.length>0?c:void 0;!y||n.some(s=>s.as===y)||n.push({as:y,title:typeof o=="string"?o:y,kind:typeof g=="string"?g:""})}return n}var M=e=>` Its places: ${e.map(n=>typeof n=="string"?`"${n}"`:n.title&&n.title!==n.as?`"${n.as}" (${n.title})`:`"${n.as}"`).join(", ")||"none"}.`;var b=e=>`"${e.length>80?`${e.slice(0,79)}\u2026`:e}"`,O=(e,n)=>`${"place"in e?`The place ${b(e.place)}`:`${b(e.record)} is no record this viewer may see and`} is no place of this app: it goes nowhere.${M(n)}`;function S(e){let n={};for(let i of e.split(",")){let a=i.indexOf(":");a>0&&(n[i.slice(0,a).trim()]=i.slice(a+1).trim())}return n}function oe(e,n=new Set){return e.kinds.filter(i=>!n.has(i)).map(i=>({slug:E(e,i).slice(1),kind:i}))}function V(e,n){let i=[...new Set(n.places.map(f=>f.as))],a=n.lists.map(f=>f.slug).filter(f=>!i.includes(f)),c;if(e.section!==void 0&&e.section!==null){if(typeof e.section!="string"||D(e.section).length===0||e.section.length>120)return{ok:!1,says:`The section ${typeof e.section=="string"?b(e.section):"asked for"} names nothing on a page: a section is a heading's words or an element's id, like "shipping-soon". It goes nowhere.`};c=e.section}let o=c!==void 0?{section:c}:{};if("record"in e&&n.sees(e.record))return e.where!==void 0&&e.where!==null?{ok:!1,says:`${b(e.record)} is one record, and a filter narrows a list or a place: it goes nowhere. Go to { place, where } for a list narrowed.`}:{ok:!0,arrival:{record:e.record,...o}};let g="place"in e?e.place:e.record,y=F(n.places,g),s=y?void 0:n.lists.find(f=>f.slug===g||f.kind===g);if(!y&&!s)return{ok:!1,says:`${O(e,n.places.filter((f,p,$)=>$.findIndex(t=>t.as===f.as)===p))}${_(a)}`};let l=y?[y.kind]:[s.kind],r;if(e.where!==void 0&&e.where!==null){if(!n.schema)return{ok:!1,says:`The place ${b(g)} cannot be narrowed here: it goes nowhere.`};let f=q(n.schema,l,e.where,{through:s!==void 0});if(!f.ok)return{ok:!1,says:`The filter on ${b(g)} goes nowhere: ${f.says}`};r=f.filter}let u=r?{filter:r}:{};return{ok:!0,arrival:y?{place:y.as,...u,...o}:{list:s.kind,...u,...o}}}var _=e=>e.length===0?"":` Its lists: ${e.slice(0,8).map(n=>`"${n}"`).join(", ")}${e.length>8?` and ${e.length-8} more`:""}.`,U="http://www.w3.org/1999/xhtml",H="http://www.w3.org/2000/svg",Z=e=>{let n=e;return n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||e.type==="click"&&typeof n.button=="number"&&n.button!==0};function se(e){let n=new WeakSet,i=new WeakSet,a=new WeakMap,c=new WeakMap,o=t=>V(t,{sees:e.sees,places:e.places(),lists:e.lists?.()??[],...e.schema?{schema:e.schema}:{}}),g=t=>{let d=o(t);return d.ok?e.onNavigate?.(d.arrival):e.onLost?.(d.says),d.ok},y=t=>{let d=t.getAttribute("data-record"),h=t.getAttribute("data-place"),k=t.getAttribute("data-filter"),w=t.getAttribute("data-section"),v={...k?{where:S(k)}:{},...w?{section:w}:{}};if(d)return{record:d,...v};if(h)return{place:h,...v}},s=t=>{if(!e.hrefOf)return;let d=y(t),h=d?o(d):void 0;return h?.ok?e.hrefOf(h.arrival):void 0},l=t=>t.hasAttribute("tabindex")?!1:(t.setAttribute("tabindex","0"),n.add(t),!0),r=t=>{n.delete(t)&&t.removeAttribute("tabindex")},u=t=>{i.delete(t)&&t.getAttribute("role")==="link"&&t.removeAttribute("role")},f=t=>{let d=a.get(t);d&&(a.delete(t),t.getAttribute("href")===d.href&&t.removeAttribute("href"),d.target!==null&&!t.hasAttribute("target")&&t.setAttribute("target",d.target))},p=t=>{let d=c.get(t);d&&(c.delete(t),r(d))},$={link(t){if(!N(t,[...t.querySelectorAll("input, select, textarea")].some(L))){if(!t.hasAttribute("data-graview-link"))return;t.removeAttribute("data-graview-link"),u(t),r(t),f(t),p(t);return}t.hasAttribute("data-graview-link")||t.setAttribute("data-graview-link","");let h=t.localName==="a"&&(t.namespaceURI===U||t.namespaceURI===H),k=t.getAttribute("href"),w=a.get(t),v=k!==null&&w?.href!==k,A=h&&!v?s(t):void 0;if(A!==void 0){k!==A&&t.setAttribute("href",A),a.set(t,{href:A,target:w?w.target:t.getAttribute("target")}),t.removeAttribute("target"),u(t),r(t);return}if(v?a.delete(t):f(t),R(t,t.querySelectorAll("a"))){u(t),r(t),p(t);return}if(!t.hasAttribute("role")&&(h||P(t))&&(t.setAttribute("role","link"),i.add(t)),t.localName==="tr"&&t.namespaceURI===U){r(t);let x=[...t.children].find(j=>j.localName==="td"||j.localName==="th");c.get(t)!==x&&p(t),x&&!c.has(t)&&l(x)&&c.set(t,x);return}t.localName!=="button"&&l(t)},refresh(t){for(let d of t.querySelectorAll("[data-record], [data-place], [data-graview-link]"))$.link(d)},pressed(t,d,h){if(t.type!=="click"&&!(t.type==="keydown"&&t.key==="Enter"))return!1;let k=T(d,h,w=>w.hasAttribute("data-graview-link"));return k?(t.stopPropagation(),a.has(k)&&Z(t)||(t.preventDefault(),$.follow(k)),!0):!1},follow(t){let d=y(t);d&&g(d)},go:g};return $}export{Q as a,M as b,b as c,O as d,S as e,oe as f,V as g,se as h};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk.MOAUE3N2.js";import"./chunk.KKQXGN5U.js";import"./chunk.G7HIAUEA.js";import"./chunk.GQHFLOTZ.js";import{l as s}from"./chunk.2XTCDFWU.js";import"./chunk.Q355UPFG.js";import"./chunk.PXQVXBNG.js";import"./chunk.XOTES3PI.js";import"./chunk.WGTBQHHE.js";import"./chunk.HF5SNUTK.js";import"./chunk.S7ZLGODY.js";import"./chunk.2QESVWUW.js";import"./chunk.UM5H2VVR.js";import"./chunk.WEGPDJTB.js";import"./chunk.MRYN42EQ.js";import"./chunk.E22DDEQI.js";import"./chunk.OLW44AP5.js";import"./chunk.F6P3WSMW.js";import"./chunk.YMRVKG6W.js";import"./chunk.BDBLGGFJ.js";import"./chunk.D3AISGQH.js";import"./chunk.IZ2ZTNEV.js";import"./chunk.6E36I2GC.js";import"./chunk.CJUIJ6TL.js";import"./chunk.IIESMHXY.js";import"./chunk.BJUUSIQY.js";import"./chunk.X2G4ZRB2.js";import"./chunk.UITZ74YJ.js";import"./chunk.XOZU4OFA.js";import"./chunk.MHILFBK6.js";import"./chunk.MB7LKKUD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.Q6LLURRM.js";import"./chunk.AXXYJCSW.js";import"./chunk.N4LOI3YA.js";import"./chunk.RKZ4J3H2.js";import"./chunk.HKINU7VO.js";import"./chunk.YGZCESXY.js";import"./chunk.GZHZLJBF.js";import"./chunk.KHZA5F7A.js";import"./chunk.OJGHDWI6.js";import"./chunk.KSVJHSRH.js";import"./chunk.NSGQXCH6.js";import"./chunk.SZG6HJWH.js";import"./chunk.2FOIJ5ID.js";import"./chunk.6IUEGPCZ.js";import"./chunk.CUJX3IVA.js";import{G as y,T as i}from"./chunk.VNJKGSGZ.js";import"./chunk.SDO3U72B.js";import"./chunk.X3MMJ3QC.js";import"./chunk.FQLNBIQ5.js";import{b as r}from"./chunk.AJZBJBMO.js";var c=r(y(),1),e=r(i(),1);function v({store:d,views:t,as:a,scope:o}){let l=(0,c.useMemo)(()=>s({scope:`.${o}`}),[o]);return(0,e.jsxs)("div",{"data-testid":"embed-picture","data-embed-content":"",tabIndex:0,"aria-label":t.places().find(m=>m.as===a)?.title??"The picture",style:{flex:"1 1 auto",minHeight:0,display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",background:"var(--graview-ground)",color:"var(--graview-ink)",fontFamily:"var(--graview-font-body, system-ui)"},children:[(0,e.jsx)("style",{children:l}),(0,e.jsx)(n,{store:d,views:t,as:a})]})}export{v as PictureFace};
@@ -1 +0,0 @@
1
- import{i as n}from"./chunk.HF5SNUTK.js";import"./chunk.S7ZLGODY.js";import"./chunk.2QESVWUW.js";import"./chunk.UM5H2VVR.js";import"./chunk.MRYN42EQ.js";import"./chunk.E22DDEQI.js";import"./chunk.OLW44AP5.js";import"./chunk.D3AISGQH.js";import"./chunk.IZ2ZTNEV.js";import"./chunk.6E36I2GC.js";import"./chunk.CJUIJ6TL.js";import"./chunk.IIESMHXY.js";import"./chunk.WVUJXDXZ.js";import{e as p}from"./chunk.Q6LLURRM.js";import"./chunk.AXXYJCSW.js";import"./chunk.N4LOI3YA.js";import"./chunk.RKZ4J3H2.js";import"./chunk.HKINU7VO.js";import"./chunk.YGZCESXY.js";import"./chunk.GZHZLJBF.js";import"./chunk.KHZA5F7A.js";import"./chunk.OJGHDWI6.js";import"./chunk.KSVJHSRH.js";import"./chunk.NSGQXCH6.js";import"./chunk.SZG6HJWH.js";import"./chunk.2FOIJ5ID.js";import"./chunk.6IUEGPCZ.js";import"./chunk.CUJX3IVA.js";import{T as m}from"./chunk.VNJKGSGZ.js";import"./chunk.SDO3U72B.js";import"./chunk.X3MMJ3QC.js";import"./chunk.FQLNBIQ5.js";import{b as t}from"./chunk.AJZBJBMO.js";var i=t(m(),1),a=new WeakMap;function l(o){let e=a.get(o);if(!e){let r=p(o);e=c=>c.mode==="fullscreen"?(0,i.jsx)(n,{blocks:r,slot:"home",heading:2,firstHeading:1}):(0,i.jsx)(n,{blocks:r,slot:"home",heading:3,firstHeading:2}),a.set(o,e)}return e}export{l as homeView};
@@ -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 _,b as me,e as ce,f as ye,g as ge}from"./chunk.CJUIJ6TL.js";import{b as G}from"./chunk.IIESMHXY.js";import{c as ue}from"./chunk.Q6LLURRM.js";import{n as P}from"./chunk.KHZA5F7A.js";import{b as x,c as se,d as le,j as de,k as pe}from"./chunk.NSGQXCH6.js";import{d as ie,e as oe}from"./chunk.SZG6HJWH.js";import{b as ae,f as re}from"./chunk.2FOIJ5ID.js";import{Fa as te,G as ve,Ga as ne,T as Z,ba as O,ca as ee,ea as U}from"./chunk.VNJKGSGZ.js";import{a as Y}from"./chunk.SDO3U72B.js";import{da as E,ma as X}from"./chunk.X3MMJ3QC.js";import{b as D}from"./chunk.AJZBJBMO.js";var p=D(ve(),1);var ke=ne(Y(()=>(__graviewPreload(import.meta.url,["./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.CYUMQPMH.js")))),fe=ke.part((i,n)=>i.drawAppLink(n),{quiet:!0});var e=D(Z(),1);function K({nodeId:i,field:n,value:l,stored:s=l,said:c}){let{fields:m,commit:o}=P(i),t=m.find(r=>r.field===n),{store:g,principal:I}=O(),u=g.graph.getNode(i)?.kind,f=g.schema.definitions.find(r=>r.kind===u),h=X(f,n),k=h.toLowerCase(),a=c??`${h.charAt(0).toUpperCase()}${h.slice(1)}: ${l}`,[w,L]=(0,p.useState)(!1),d=t?.shape.type==="number"?t.shape.amount:void 0,y=d&&s!==""&&Number.isFinite(Number(s))?se(Number(s),d):s,[v,z]=(0,p.useState)(y),W=(0,p.useRef)(null),j=(0,p.useRef)(null),M=(0,p.useRef)(!1),[q,J]=(0,p.useState)(void 0),S=r=>{M.current=r,L(!1)};(0,p.useEffect)(()=>z(y),[y,w]);let Q=t?.shape.type==="date";if((0,p.useEffect)(()=>{if(Q)return te(()=>void ge())},[Q]),(0,p.useEffect)(()=>{w?W.current?.focus():M.current&&(M.current=!1,j.current?.focus())},[w]),!t)return(0,e.jsx)("span",{"data-graview-field":n,"data-graview-readonly":"",title:`Read-only \u2014 nothing this app declares changes the ${k}`,style:{color:"var(--graview-ink)",cursor:"default",overflowWrap:"anywhere"},children:l});if(!w){let r=(0,e.jsx)("button",{ref:j,type:"button","data-graview-field":n,"data-graview-editable":t.mutation,...a===l?{}:{"aria-label":a},title:`${t.title} \u2014 changes the ${k}, and can be undone`,onClick:()=>{J(void 0),L(!0)},style:{all:"unset",cursor:"text",display:"inline-flex",alignItems:"flex-end",minHeight:24,minWidth:24,maxWidth:"100%",overflowWrap:"anywhere",paddingBottom:1,borderBottom:"1px dashed var(--graview-edge-bright)",color:"var(--graview-ink)"},children:l});return q?(0,e.jsxs)(e.Fragment,{children:[r,(0,e.jsx)("span",{role:"status","data-graview-refused":n,style:{marginLeft:6,fontSize:"0.75rem",color:"var(--graview-ink-muted)"},children:q})]}):r}let $=(r,{left:b=!1}={})=>{if(S(!b),r!==s){if(r===""||r===void 0||r===null){if(s==="")return;t.clearable?o(t,null):J(`${h.charAt(0).toUpperCase()}${h.slice(1)} can't be empty; it keeps ${l}.`);return}t.shape.type==="date"&&typeof r=="string"&&be(r)||o(t,r)}},be=r=>{if(t.shape.type!=="date")return!1;let b=m.filter(C=>C.shape.type==="date"&&C.takesValue),T=pe(b.map(C=>C.field),f?.fieldRoles??{}),A=T?.start===n?b.find(C=>C.field===T.end):void 0,F=g.graph.getNode(i)?.[T?.end??""];if(!A||typeof F!="string")return!1;let N=de(s===""?void 0:s,r,F,{time:t.shape.time===!0,instant:t.shape.instant===!0});if(N===void 0||N===F)return!1;let R=t.call(r),V=A.call(N);return g.applyAll(R.name===V.name?[{name:R.name,args:{...R.args,...V.args}}]:[R,V],{author:I}),!0};if(!t.takesValue){let r=[t,...t.alternatives];return(0,e.jsx)("span",{role:"group","aria-label":`Change ${E(n).toLowerCase()}`,"data-graview-field":n,style:{display:"inline-flex",gap:6,alignItems:"center",flexWrap:"wrap"},onKeyDown:b=>{b.key==="Escape"&&S(!0)},children:r.map((b,T)=>(0,e.jsx)("button",{type:"button",ref:T===0?W:void 0,"data-graview-act":b.mutation,onClick:()=>{S(!0),o(b,void 0)},onBlur:A=>{let H=A.relatedTarget;(!H||!A.currentTarget.parentElement?.contains(H))&&S(!1)},style:{padding:"2px 9px",fontSize:"0.8125rem",borderRadius:999},children:b.title},b.mutation))})}return(0,e.jsxs)("form",{style:{display:"inline-flex",flexWrap:"wrap",gap:4,maxWidth:"100%"},onSubmit:r=>{r.preventDefault(),$(he(t,v))},children:[t.shape.type==="choice"?(0,e.jsx)("select",{ref:W,"aria-label":E(n),"data-graview-field":n,value:v,onChange:r=>$(r.target.value),onBlur:()=>S(!1),style:{font:"inherit",fontSize:"inherit"},children:t.shape.options.map(r=>(0,e.jsx)("option",{value:r,children:ae(f,n,r)},r))}):t.shape.type==="date"?(0,e.jsx)(ye,{inputRef:W,label:E(n),value:v===""?void 0:v,time:t.shape.time===!0,instant:t.shape.instant===!0,partial:t.shape.partial===!0,onChange:r=>z(r??""),onLeave:r=>$(r,{left:!0}),onCancel:()=>S(!0),autoSelect:!0,boxStyle:{fontSize:"inherit",minHeight:24,padding:"0 3px"}}):(0,e.jsxs)(e.Fragment,{children:[d&&x(d).prefix?(0,e.jsx)("span",{"aria-hidden":"true",children:x(d).prefix}):null,(0,e.jsx)("input",{ref:W,"aria-label":d?`${E(n)}, ${x(d).hint}`:E(n),"data-graview-field":n,...d?{inputMode:"decimal",placeholder:x(d).placeholder,"data-graview-amount":d.format??"unit"}:{},type:d?"text":t.shape.type==="number"&&!t.shape.duration?"number":"text",...t.shape.type==="number"&&t.shape.duration?{placeholder:"1h 30m"}:{},...t.shape.type==="text"&&t.shape.holds==="phone"?{inputMode:"tel",autoComplete:"tel"}:{},...t.shape.type==="number"&&t.shape.min!==void 0&&!d?{min:t.shape.min}:{},...t.shape.type==="number"&&t.shape.max!==void 0&&!d?{max:t.shape.max}:{},...t.shape.type==="number"&&t.shape.step!==void 0&&!d?{step:t.shape.step}:{},value:v,onChange:r=>z(r.target.value),onBlur:()=>$(he(t,v),{left:!0}),onKeyDown:r=>{r.key==="Escape"&&S(!0)},style:{font:"inherit",fontSize:"inherit",width:`min(${Math.max(6,v.length+1)}ch, 100%)`,maxWidth:"100%",minWidth:0,boxSizing:"border-box",minHeight:24,display:"inline-flex",alignItems:"center",padding:"0 3px"}}),d&&x(d).suffix?(0,e.jsx)("span",{"aria-hidden":"true",children:x(d).suffix}):null]}),t.open.length>0?(0,e.jsxs)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:["also needs ",t.open.map(r=>r.name).join(", ")]}):null]})}function he(i,n){return n.trim()===""?"":i.shape.type==="number"&&i.shape.amount?le(n,i.shape.amount):i.shape.type==="number"?i.shape.duration?re(n)??n:Number(n):i.shape.type==="text"&&i.shape.holds?n.trim():n}function we({href:i,field:n,value:l,stored:s,nodeId:c}){let m=i.startsWith("tel:"),o=(t,g)=>(0,e.jsx)("a",{href:i,"data-graview-link":n,...g?{"aria-label":g}:{},...m?{}:{target:"_blank",rel:"noopener noreferrer"},style:{display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24,maxWidth:"100%",overflowWrap:"anywhere",color:"var(--graview-accent)"},children:t});return c===void 0?o(l):(0,e.jsxs)("span",{style:{display:"inline-flex",flexWrap:"wrap",alignItems:"center",gap:"0 10px",maxWidth:"100%"},children:[(0,e.jsx)(K,{nodeId:c,field:n,value:l,...s===void 0?{}:{stored:s}}),o(m?"Call":"Map",m?`Call ${l}`:`Open ${l} in maps`)]})}function Ue({id:i,hide:n=[],limit:l=10,labels:s={},shown:c=[]}){let{store:m}=O(),o=U(i);if(!o)return null;let t=m.schema.tryDefinition(o.kind),g=ie(o,t,{limit:l,said:c}).filter(u=>!n.includes(u.key)),I=ue(t).length>0;return g.length===0&&!I?null:(0,e.jsxs)("div",{"data-graview-fields":o.id,style:{display:"grid",gap:14,alignContent:"start",minWidth:0,fontSize:"0.875rem"},children:[oe(t,g).map((u,f)=>{let h=(0,e.jsx)("dl",{style:{margin:0,display:"grid",gridTemplateColumns:"auto 1fr",gap:"5px 16px",alignContent:"start",minWidth:0},children:u.fields.map(a=>a.files?(0,e.jsx)(_,{as:"field",nodeId:o.id,field:a.key,label:s[a.key]??a.label,files:a.files,labelStyle:B,style:{marginTop:6}},a.key):a.long?(0,e.jsx)(xe,{nodeId:o.id,field:a.key,label:s[a.key]??a.label,value:a.value,markdown:a.markdown,labelStyle:B,style:{gridColumn:"1 / -1",marginTop:6}},a.key):(0,e.jsxs)("div",{style:{display:"contents"},children:[(0,e.jsx)("dt",{style:{...B,whiteSpace:"nowrap"},children:s[a.key]??a.label}),(0,e.jsxs)("dd",{style:{margin:0,minWidth:0},children:[a.linked?(0,e.jsx)(me,{relation:a.linked.relation,refs:a.linked.refs,nodeId:o.id,field:a.key}):a.app?(0,e.jsx)(fe,{address:a.app,as:"record",nodeId:o.id,field:a.key}):a.href?(0,e.jsx)(we,{href:a.href,field:a.key,value:a.value,stored:a.stored,nodeId:o.id}):(0,e.jsx)(K,{nodeId:o.id,field:a.key,value:a.value,stored:a.stored}),a.repeats?(0,e.jsx)(ce,{nodeId:o.id,field:a.key,start:o[a.key],value:o[`${a.key}Repeat`],label:`${s[a.key]??a.label} repeats`}):null]})]},a.key))});if(!u.title)return(0,e.jsx)("div",{children:h},f);let k=`graview-field-group-${o.id}-${f}`;return(0,e.jsxs)("div",{role:"group","aria-labelledby":k,style:{display:"grid",gap:6,minWidth:0},children:[(0,e.jsx)("p",{id:k,"data-graview-field-group":u.title,style:Se,children:u.title}),h]},f)}),I?(0,e.jsx)(_,{as:"unfilled",nodeId:o.id,skip:n,labels:s,labelStyle:B}):null]})}var B={color:"var(--graview-ink-faint)",fontSize:"0.8125rem"},Se={margin:0,fontSize:"0.75rem",letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--graview-ink-muted)",fontWeight:560};function xe(i){return ee()?(0,e.jsx)(Le,{...i}):(0,e.jsx)(Ie,{...i})}function Ie({field:i,label:n,value:l,labelStyle:s,valueStyle:c,style:m,markdown:o}){return(0,e.jsxs)("div",{"data-graview-long":i,style:{display:"grid",gap:6,minWidth:0,...m},children:[(0,e.jsx)("dt",{style:s,children:n}),(0,e.jsx)("dd",{style:{margin:0,minWidth:0,...c},children:(0,e.jsx)("div",{"data-graview-field":i,children:(0,e.jsx)(G,{text:l,markdown:o})})})]})}function Le({nodeId:i,field:n,label:l,value:s,labelStyle:c,valueStyle:m,style:o,markdown:t}){let{fields:g,commit:I}=P(i),u=g.find(y=>y.field===n&&y.takesValue),[f,h]=(0,p.useState)(!1),k=(0,p.useRef)(null),a=(0,p.useRef)(!1);(0,p.useEffect)(()=>{!f&&a.current&&(a.current=!1,k.current?.focus())},[f]);let w=y=>{a.current=y,h(!1)},L=l.toLowerCase(),d=(0,e.jsx)(G,{text:s,markdown:t});return(0,e.jsxs)("div",{"data-graview-long":n,style:{display:"grid",gap:6,minWidth:0,...o},children:[(0,e.jsxs)("dt",{style:{display:"flex",alignItems:"baseline",gap:10,...c},children:[(0,e.jsx)("span",{children:l}),u&&!f?(0,e.jsx)("button",{ref:k,type:"button","data-graview-editable":u.mutation,"aria-label":`Edit the ${L}`,title:`${u.title} \u2014 changes the ${L}, and can be undone`,onClick:()=>h(!0),style:Ee,children:"Edit"}):null]}),(0,e.jsx)("dd",{style:{margin:0,minWidth:0,...m},children:f&&u?(0,e.jsx)(p.Suspense,{fallback:d,children:(0,e.jsx)(Ce,{nodeId:i,field:n,label:l,value:s,...t?{markdown:!0}:{},onCancel:()=>w(!0),onDone:y=>w(!y),onSave:(y,v)=>{w(!v),y!==s&&I(u,y)}})}):(0,e.jsx)("div",{"data-graview-field":n,...u?{}:{"data-graview-readonly":"",title:`Read-only \u2014 nothing this app declares changes the ${L}`},...u?{onClick:()=>h(!0)}:{},style:{cursor:u?"text":"default",minWidth:0},children:d})})]})}var Ce=(0,p.lazy)(()=>(__graviewPreload(import.meta.url,["./chunk.IIESMHXY.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.QT6UV7HN.js"))),Ee={all:"unset",cursor:"pointer",fontSize:"0.75rem",letterSpacing:"normal",textTransform:"none",color:"var(--graview-accent)",borderBottom:"1px dashed currentColor",minHeight:24,minWidth:24,display:"inline-flex",alignItems:"flex-end"};function _e({nodeId:i,children:n}){let{fields:l}=P(i),s=U(i);if(!s)return(0,e.jsx)(e.Fragment,{children:n});let c=l.find(m=>{let o=s[m.field];return typeof o=="string"&&o===n});return c?(0,e.jsx)(K,{nodeId:i,field:c.field,value:n,said:n}):(0,e.jsx)(e.Fragment,{children:n})}export{fe as a,K as b,we as c,Ue as d,xe as e,_e as f};
@@ -1,67 +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{c as sr}from"./chunk.CUJX3IVA.js";import{G as R,Ga as O,Ma as hn,Na as vn,Oa as bn,Ra as U,T as S,Va as Q,a as Pe,ba as ce,ca as Y,e as Le,l as un,la as yn,m as fn,s as gn,ta as wn,v as re,z as mn}from"./chunk.VNJKGSGZ.js";import{a as C}from"./chunk.SDO3U72B.js";import{Bc as z,Bd as xe,Cc as Je,Dc as Xe,Dd as tn,Ed as an,Fc as en,Fd as j,Gc as nn,Md as on,Nd as sn,Od as ln,Pd as dn,Qd as cn,Rd as Se,Vd as pn,_a as Ue,ga as ze,ka as je,la as Ye,pb as Qe,uc as Ze,xd as de,yd as ne,zd as rn}from"./chunk.X3MMJ3QC.js";import{b as v}from"./chunk.AJZBJBMO.js";var Ee=v(R(),1),kn=new WeakMap,pe=e=>{let n=kn.get(e);return n||kn.set(e,n={open:null,drawn:0,listeners:new Set}),n},lr=e=>{for(let n of[...e.listeners])n()},dr=0;function kt(e,n){let t=pe(e);t.open=n?{...n,at:++dr}:null,lr(t)}var xn=e=>n=>{let t=pe(e);return t.listeners.add(n),()=>void t.listeners.delete(n)};function Sn(e){let n=()=>e?pe(e).drawn>0:!1;return(0,Ee.useSyncExternalStore)(e?xn(e):cr,n,n)}var cr=()=>()=>{};function xt(e){let n=()=>pe(e).open;return(0,Ee.useSyncExternalStore)(xn(e),n,n)}var V=v(R(),1),Pn=v(sr(),1);function pr(e){let[n,t]=(0,V.useState)(null),[r,o]=(0,V.useState)(null);return(0,V.useLayoutEffect)(()=>{e.current!==r&&o(e.current)}),(0,V.useLayoutEffect)(()=>{if(!r||typeof ResizeObserver>"u")return;let a=()=>Math.round(r.getBoundingClientRect().width),i=a();t(i);let p=new ResizeObserver(()=>{let c=a();c!==i&&(i=c,(0,Pn.flushSync)(()=>t(c)))});return p.observe(r),()=>p.disconnect()},[r]),n}function ur(e=!0){let[n,t]=(0,V.useState)();return(0,V.useEffect)(()=>{if(!e)return t(void 0);let r=0,o=()=>t(innerHeight),a=()=>{o(),clearTimeout(r),r=window.setTimeout(o,300)},i=p=>{for(let[c,d]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])c?.[p](d,a)};return i("addEventListener"),o(),()=>{clearTimeout(r),i("removeEventListener")}},[e]),n}var ue={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var L=v(R(),1);var T=v(S(),1),Ln=6e3;function fr(){let e=[],n=0,t=new Set,r=new Map,o,a=()=>{for(let d of[...t])d()},i=d=>{if(clearTimeout(r.get(d.id)),r.delete(d.id),d.kind!=="toast")return;let u=(d.actions?.length??0)+(d.action?1:0),l=d.timeout??(u>0?!1:Ln);l!==!1&&r.set(d.id,setTimeout(()=>o?.()?i(d):p(d.id),l))},p=d=>{clearTimeout(r.get(d)),r.delete(d),e.some(u=>u.id===d)&&(e=e.filter(u=>u.id!==d),a())},c=d=>{e=e.some(u=>u.id===d.id)?e.map(u=>u.id===d.id?d:u):[...e,d],i(d),a()};return{notify(d){let u=d.id??`notice-${++n}`;return c({...d,id:u,said:++n}),{id:u,dismiss:()=>p(u),update:l=>{let g=e.find(w=>w.id===u);g&&c({...g,...l,id:u,kind:g.kind,said:l.sentence!==void 0&&l.sentence!==g.sentence?++n:g.said})}}},dismiss:p,hold(d){o=d},list:()=>e,subscribe(d){return t.add(d),()=>t.delete(d)}}}function gr({notices:e}){let n=e.reduce((p,c)=>!p||c.said>p.said?c:p,void 0),[t,r]=(0,L.useState)(""),[o,a]=(0,L.useState)(""),i=(0,L.useRef)(0);return(0,L.useEffect)(()=>{if(!n||n.said===i.current)return;i.current=n.said;let p=n.tone==="bad";(p?a:r)("");let c=setTimeout(()=>(p?a:r)(n.sentence),50);return()=>clearTimeout(c)},[n]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:ue,children:t}),(0,T.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:ue,children:o})]})}var mr=(0,L.createContext)(null);function yr({board:e,anchor:n}){let t=(0,L.useSyncExternalStore)(e.subscribe,e.list,e.list);return(0,L.useEffect)(()=>vr(Ae.prefetch),[]),(0,T.jsxs)(T.Fragment,{children:[t.length>0?(0,T.jsx)(L.Suspense,{fallback:null,children:(0,T.jsx)(hr,{notices:t,anchor:n,board:e})}):null,(0,T.jsx)(gr,{notices:t})]})}var Ae=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.R4YDAJRL.js")))),wr=()=>Ae.load().then(()=>{},()=>{}),hr=Ae.part((e,n)=>(0,T.jsx)(e.NoticeStacks,{...n}),{quiet:!0});function vr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},t=globalThis;if(t.requestIdleCallback){let o=t.requestIdleCallback(n,{timeout:5e3});return()=>t.cancelIdleCallback?.(o)}let r=setTimeout(n,2500);return()=>clearTimeout(r)}var M=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.QHU3KUZZ.js","./chunk.F6P3WSMW.js","./chunk.YMRVKG6W.js","./chunk.P3CUCDHO.js","./chunk.OVSZXILB.js","./chunk.BDBLGGFJ.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.CJUIJ6TL.js","./chunk.UITZ74YJ.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.4T5QIZKB.js"))));var y=v(R(),1);var Tn=v(R(),1);var En=v(R(),1);function Te(e){return(0,En.useMemo)(()=>e===void 0||e===""?void 0:{__html:e},[e])}var $=v(S(),1);function He({brand:e,size:n=22}){let t=en(e),r=An(t?.light),o=r?An(t?.dark):void 0,a=Te(r!==void 0&&z(r)?r:void 0),i=Te(o!==void 0&&z(o)?o:void 0),p={display:"inline-flex",flex:"0 0 auto",height:n,color:"var(--graview-accent)"},c=nn(e);if(c)return(0,$.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...p,alignItems:"center",fontSize:`${n*.86/16}rem`,lineHeight:1},children:c});if(!r)return null;let d=e?.logoAlt??e?.name??"",u=d!==""&&d!==e?.name,l=u?{role:"img","aria-label":d}:{"aria-hidden":!0};if(o){let w=(h,x,b)=>z(h)?(0,$.jsx)("span",{className:"graview-logo-face","data-graview-scheme-only":b,dangerouslySetInnerHTML:x}):(0,$.jsx)("img",{className:"graview-logo-face","data-graview-scheme-only":b,src:h,alt:""});return(0,$.jsxs)("span",{className:"graview-logo","data-testid":"app-mark",style:p,...l,children:[w(r,a,"light"),w(o,i,"dark")]})}let g=t?.darkFallback==="invert"?{"data-graview-logo-fallback":"invert"}:{};return z(r)?(0,$.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:p,...g,...l,dangerouslySetInnerHTML:a}):(0,$.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:r,alt:u?d:"",...g,style:{...p,width:"auto"}})}function An(e){if(!(!e||!Xe(e)))return z(e)&&Je(e)!==null?void 0:e}function br(e){(0,Tn.useEffect)(()=>{if(!e||typeof document>"u")return;let n=[...document.querySelectorAll('link[rel~="icon"]')],t=n.map(o=>o.getAttribute("href")),r;n.length===0&&(r=document.createElement("link"),r.rel="icon",r.setAttribute("data-graview-favicon",""),document.head.appendChild(r),n.push(r));for(let o of n)o.href=e;return()=>{r&&r.remove(),n.forEach((o,a)=>{o!==r&&t[a]!==null&&t[a]!==void 0&&o.setAttribute("href",t[a])})}},[e])}var s=v(S(),1),kr=M.part((e,n)=>(0,s.jsx)(e.TidyFoot,{...n}),{quiet:!0}),xr=M.part((e,n)=>(0,s.jsx)(e.Here,{...n}),{quiet:!0});function Sr(){let e=Y(),[n,t]=(0,y.useState)("");return(0,y.useEffect)(()=>e?.store.subscribe((r,o)=>{o.some(a=>a.author.id!==e.principal.id)&&M.load().then(a=>a.sayTheirChange(o,e,t),String)}),[e]),(0,s.jsx)("span",{role:"status",className:"graview-bar-said",children:n})}var Hn="home",Bn="/",q="scene:whole";function Pr(e){let{store:n,principal:t,views:r}=e,o=n.kindsKeptFrom(t),a=n.schema.kinds.filter(f=>!n.modules.disabledKinds.has(f)&&!o.has(f)),i=r?.arrangement?.(),p=r?.places()??[],c=dn(i,n.schema,p),d=ln(n.schema,i,[...n.modules.administered.values()].flatMap(f=>f.kinds??[])),u=(f,P)=>(!n.graph.size.nodes||n.graph.count(f)>0)&&(c?P?c.places.has(`${f}|${P}`):c.kinds.has(f):!d.has(f)),l=[{key:Hn,label:"Home",path:Bn,group:"home",primary:!0}],g=p.filter(f=>a.includes(f.kind)&&f.as!==cn),w=g.filter(f=>!f.hidden),h=new Set(ne(w).map(f=>j(f,p,n.schema).toLowerCase())),x=f=>tn(f.as,an(f,p)?xe(n.schema,f.kind).slice(1):void 0),b=new Set(i?.hide??[]),H=pn(a,i?.order,w);for(let{kind:f,view:P}of H){if(P){l.push({key:`place:${P.kind}:${P.as}`,label:j(P,p,n.schema),path:x(P),group:"lists",kind:f,primary:c?c.places.has(`${f}|${P.as}`):!0});continue}let W=je(n.schema,f),B=h.has(W.toLowerCase());l.push({key:`kind:${f}`,label:B?Ye(n.schema,f):W,path:xe(n.schema,f),group:"lists",kind:f,primary:B||b.has(f)?!1:u(f),...b.has(f)?{hidden:!0}:{}})}for(let f of ne(g)){if(H.some(B=>B.view&&de(B.view,f)))continue;let P=x(f),W=[f.kind,...f.over??[]].some(B=>a.includes(B)&&u(B,f.as));l.some(B=>B.path===P)||l.push({key:`place:${f.kind}:${f.as}`,label:j(f,p,n.schema),path:P,group:"pictures",kind:f.kind,primary:W,hidden:f.hidden})}return a.some(f=>Object.keys(n.schema.tryDefinition(f)?.edges??{}).length>0)&&l.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),l}function Lr(e,n){let[t="/",r=""]=n.split("?"),o=e.find(i=>i.path===(r?`${t}?${r}`:t))??e.find(i=>i.path===t);if(o)return o.key;let a=`/${t.split("/").filter(Boolean)[0]??""}`;return e.find(i=>i.group==="lists"&&i.path===a)?.key??null}var Nn=(0,y.createContext)(null),Er=()=>(0,y.useContext)(Nn),Z=30,Mn=48,te=640,Me=4,Be=2;function Cn(e){let{widths:n,current:t,room:r,more:o,gap:a=Me,primary:i,most:p=sn}=e;if(n.length===0||!(r>0)||!(o>0)||n.some(l=>!(l>0)))return null;let c=(l,g)=>l.reduce((w,h)=>w+n[h],0)+a*Math.max(0,l.length-1)+(g?a+o:0),d=(l,g)=>t<0||!l.includes(t)||l.slice(0,g).includes(t)?l.slice(0,g):[...l.filter(w=>w!==t).slice(0,g-1),t].sort((w,h)=>w-h),u=d(n.map((l,g)=>g).filter(l=>i?.[l]!==!1||l===t),p);if(c(u,u.length<n.length)<=r)return u.length>=Be?u:null;for(let l=u.length-1;l>=Be;l--){let g=d(u,l);if(c(g,!0)<=r)return g}return null}var Ar=`
2
- .graview-bar{display:block;margin:0;padding:0;container:graview-bar/inline-size;flex:0 0 auto;position:relative;background:var(--graview-bar);border-bottom:1px solid var(--graview-edge);color:var(--graview-ink);font-family:var(--graview-font-body,system-ui)}
3
- .graview-bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:${Mn-1}px;margin:0;padding:0 16px}
4
- .graview-bar-home,.graview-bar-face,.graview-bar-place,.graview-bar-item,.graview-bar-at{display:inline-flex;align-items:center;box-sizing:border-box;min-width:0;margin:0;border:0;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--graview-ink);cursor:pointer;text-align:left}
5
- .graview-bar-app{display:flex;flex:0 1 auto;max-width:50%}
6
- .graview-bar-app::after{content:"";flex:0 100000 auto;width:2px;min-width:0}
7
- .graview-bar-name{margin:0;display:flex;font-family:var(--graview-font-display,var(--graview-font-body,system-ui));font-size:.9375rem;font-weight:600;line-height:1.25}
8
- .graview-bar-home{gap:8px;min-width:auto;min-height:30px;padding:0;letter-spacing:-.005em}
9
- .graview-bar-app-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
10
- .graview-bar-faces{display:inline-flex;flex:0 0 auto;box-sizing:border-box;height:30px;margin:0;padding:2px;gap:2px;border:1px solid var(--graview-edge);border-radius:8px}
11
- .graview-bar-face{gap:6px;padding:0 10px;border-radius:6px;font-size:.8125rem;white-space:nowrap;color:var(--graview-ink-muted)}
12
- .graview-bar-face span{min-width:0;max-width:11em;overflow:hidden;text-overflow:ellipsis}
13
- .graview-bar-face[aria-pressed=true]{color:var(--graview-ink);font-weight:600;background:color-mix(in srgb,var(--graview-accent) 16%,transparent)}
14
- [data-switch-drawn=icons] .graview-bar-face{padding:0 8px}
15
- .graview-bar-said,[data-switch-drawn=icons] .graview-bar-face span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
16
- .graview-bar-mid{display:flex;flex:1 100 0;min-width:0}
17
- .graview-bar-mid[data-place]{min-width:9em;flex-basis:auto}
18
- .graview-bar-place-at{position:relative;display:inline-flex;min-width:0;max-width:100%}
19
- .graview-bar-place{gap:6px;height:30px;max-width:100%;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600}
20
- .graview-bar-face:hover,.graview-bar-place:hover{border-color:var(--graview-edge);color:var(--graview-ink)}
21
- .graview-bar-place-words{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
22
- .graview-bar-mid[data-places=standing]{flex:0 0 auto}
23
- .graview-bar-places{display:flex;align-items:center;gap:${Me}px;min-width:0;margin:0;padding:0}
24
- .graview-bar-at{gap:6px;flex:0 0 auto;height:30px;padding:0 8px;border-block:2px solid transparent;border-radius:0;font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--graview-ink-muted)}
25
- .graview-bar-at:is(:hover,[aria-current],[aria-expanded=true]){color:var(--graview-ink)}
26
- .graview-bar-at[aria-current]{font-weight:600;border-bottom-color:var(--graview-accent)}
27
- .graview-bar-ruler{position:absolute;left:0;top:0;display:flex;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
28
- .graview-bar-ruler .graview-bar-at{font-weight:600}
29
- .graview-bar-ruler>.graview-bar-name{flex:none;white-space:nowrap;letter-spacing:-.005em}
30
- .graview-bar-list{display:grid;align-content:start;width:min(320px,calc(100vw - 24px));height:auto;max-height:min(70vh,560px);overflow:auto;margin:0;padding:6px;border-radius:10px;border:1px solid var(--graview-edge);background:var(--graview-float);box-shadow:var(--graview-lift-high);color:var(--graview-ink)}
31
- .graview-bar-list[hidden]{display:none}
32
- .graview-bar-list p{margin:8px 8px 2px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graview-ink-muted)}
33
- .graview-bar-list ul,.graview-bar-list li{display:grid;margin:0;padding:0;list-style:none}
34
- .graview-bar-item{align-items:flex-start;gap:10px;width:100%;padding:7px 8px;border-radius:7px;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}
35
- .graview-bar-item:hover{background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
36
- .graview-bar-item[aria-current]{font-weight:600;background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
37
- .graview-bar-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:1.3em;color:var(--graview-ink-muted)}
38
- .graview-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
39
- .graview-bar-tools{display:contents}
40
- .graview-bar-tools>*{margin-left:-8px}
41
- .graview-bar-tools>:is(.graview-bar-find,.graview-bar-find-open){margin-left:auto}
42
- .graview-bar-own{display:flex;align-items:center;flex:0 0 auto}
43
- .graview-bar-own:empty{display:none}
44
- .graview-bar-find{position:relative;display:flex;min-width:7.5rem;flex:0 600 9rem;--graview-bar-find-end:3.25em}
45
- .graview-bar-find-slot{display:flex;flex:1;min-width:0}
46
- .graview-bar-find-keys{position:absolute;right:10px;line-height:30px;pointer-events:none;font-size:.75rem;color:var(--graview-ink-faint)}
47
- .graview-bar-find:is(:focus-within,:has(input:not(:placeholder-shown))){flex-basis:16rem;--graview-bar-find-end:10px}
48
- :is(:focus-within,:has(input:not(:placeholder-shown)))>.graview-bar-find-keys,.graview-bar-find-open{display:none}
49
- .graview-bar-line{display:flex;flex:0 0 auto;padding:6px 8px;background:var(--graview-ground);border-bottom:1px solid var(--graview-edge);font-family:var(--graview-font-body,system-ui)}
50
- .graview-bar-line .graview-bar-place{height:auto;min-height:32px}
51
- .graview-bar-line .graview-bar-place-words{white-space:normal}
52
- @media (pointer:coarse){.graview-bar-find-keys{display:none}}
53
- @container graview-bar (max-width: ${te-1}px){
54
- .graview-bar-row{gap:10px;padding:0 12px}
55
- .graview-bar-app,.graview-bar-home{max-width:none;flex:1 1 auto;min-width:28px}
56
- .graview-bar-name,.graview-bar-app-name{min-width:0}
57
- .graview-bar-mid,.graview-bar-find{display:none}
58
- .graview-bar-find-open{display:inline-flex}
59
- .graview-bar-own{--graview-activity-mark:inline}
60
- .graview-bar-own .graview-activity-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
61
- .graview-bar[data-finding] :is(.graview-bar-app,.graview-bar-faces,.graview-bar-find-open){display:none}
62
- .graview-bar[data-finding] .graview-bar-find{display:flex;flex:1 1 auto;min-width:0}
63
- }
64
- @container graview-bar (max-width: 300px){
65
- .graview-bar-row{gap:4px;padding:0 10px}
66
- }`,J={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:Z,height:Z,padding:0,borderRadius:8,border:"1px solid transparent",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"0.875rem",cursor:"pointer",flex:"0 0 auto"};function Tr({brand:e,name:n,heading:t=1,home:r,faces:o,places:a,current:i,reach:p,tools:c,find:d=!0,description:u,findBox:l,onFind:g,switch:w="words",scenePlaces:h,skips:x,named:b=!0}){let H=(0,y.useRef)(null),De=Y()?.who.size,[f,P]=(0,y.useState)(null),[W,B]=(0,y.useState)(null),[A,Un]=(0,y.useState)(!1),[Qn,Ie]=(0,y.useState)(!1),[Zn,Jn]=(0,y.useState)(!0),[$e,Xn]=(0,y.useState)(null),oe=o?o.pages.current:!h,ee=oe?{places:a,current:i,reach:p}:h,he=ee&&{...ee,places:rn(ee.places),here:ee.places.find(m=>m.key===ee.current)?.label},k=he&&he.places.length>0?he:null,ve=k?k.places.findIndex(m=>m.key===k.current):-1,_e=!!o&&w==="words",Ke=k?k.places.map(m=>m.primary===!1?"0":"1").join(""):"",I=(0,y.useCallback)(()=>{let m=H.current;if(!m)return;let N=$r(m,ve,_e,Ke);N!==void 0&&Xn(N);let G=N?!0:Br(m);G!==null&&Jn(G)},[ve,_e,Ke]);(0,y.useLayoutEffect)(()=>{let m=H.current;if(!m)return;let N=()=>{let le=m.getBoundingClientRect().width;Un(le<te),m.style.setProperty("--graview-bar-width",`${Math.round(le)}px`),I()};N();let G=typeof document>"u"?void 0:document.fonts;if(G?.ready.then(I),G?.addEventListener?.("loadingdone",I),typeof ResizeObserver>"u")return()=>G?.removeEventListener?.("loadingdone",I);let ke=new ResizeObserver(N);ke.observe(m);for(let le of m.querySelectorAll(".graview-bar-tools > *"))ke.observe(le);return()=>{ke.disconnect(),G?.removeEventListener?.("loadingdone",I)}},[I]);let be=(0,y.useRef)(g);be.current=g,(0,y.useLayoutEffect)(()=>{be.current?.(d&&f?{slot:f,compact:A,own:W}:null)},[d,f,A,W]),(0,y.useLayoutEffect)(()=>()=>be.current?.(null),[]);let er=(0,y.useCallback)(()=>{Ie(!0),requestAnimationFrame(()=>f?.querySelector("input")?.focus())},[f]),We=(0,y.useRef)(null),ie=(0,y.useRef)(!1),Ge=(0,y.useCallback)(()=>{Ie(!1),ie.current&&(ie.current=!1,requestAnimationFrame(()=>We.current?.focus()))},[]),nr=t===!1?"span":`h${t}`,rr=r.href!==void 0?"a":"button",tr=m=>N=>{!m||!On(N)||(N.preventDefault(),m())},ar=!oe,qe=k&&!A&&$e!==null&&!(ve<0&&k.here)?$e.split(",").map(Number).filter(m=>m<k.places.length):null,se=k?(0,s.jsx)(Dr,{places:k.places,current:k.current,here:k.here,reach:k.reach,scene:ar,stands:qe}):null,or=k?k.places.map(m=>m.label).join(`
67
- `):"";(0,y.useLayoutEffect)(I,[I,n,e,or,k?.current,oe,A,w,d]);let ir=w==="icons"||!Zn||A?"icons":"words";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("header",{ref:H,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...Qn&&A?{"data-finding":""}:{},children:[(0,s.jsx)("style",{children:Ar}),x,(0,s.jsxs)("div",{className:"graview-bar-row",children:[b?(0,s.jsx)("div",{className:"graview-bar-app",children:(0,s.jsx)(nr,{className:"graview-bar-name",children:(0,s.jsxs)(rr,{...r.href!==void 0?{href:r.href,onClick:tr(r.go)}:{type:"button",onClick:r.go},"data-testid":"app-home",...r.current?{"aria-current":"page"}:{},title:u?`${n} \u2014 ${u}`:`${n} \u2014 home`,className:"graview-bar-home",children:[(0,s.jsx)(He,{brand:e,size:20}),(0,s.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:n})]})})}):null,o?(0,s.jsx)(Hr,{faces:o,form:w,drawn:ir}):null,(0,s.jsx)("div",{className:"graview-bar-mid",...qe?{"data-places":"standing"}:!A&&se?{"data-place":""}:{},children:A?null:se}),!A&&k&&k.places.length>1?(0,s.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[k.places.map(m=>(0,s.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,s.jsxs)("span",{className:"graview-bar-at",children:[Ne,(0,s.jsx)(Vn,{})]})]}):null,b?(0,s.jsx)("span",{className:"graview-bar-ruler","aria-hidden":"true",children:(0,s.jsx)("span",{className:"graview-bar-name",children:n})}):null,(0,s.jsxs)("div",{className:"graview-bar-tools",children:[d?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:We,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:er,style:{...J,display:void 0},children:(0,s.jsx)(Rr,{})}),(0,s.jsxs)("div",{className:"graview-bar-find","data-testid":"app-find",onBlur:m=>{let N=m.relatedTarget;N instanceof Node&&m.currentTarget.contains(N)||m.currentTarget.querySelector("input")?.value||Ge()},onKeyDownCapture:m=>{m.key==="Escape"&&A&&(ie.current=!0)},onKeyDown:m=>{m.key!=="Escape"||!A||(!m.defaultPrevented||!m.currentTarget.querySelector("input")?.value?Ge():ie.current=!1)},children:[(0,s.jsx)("div",{ref:P,className:"graview-bar-find-slot",children:l}),(0,s.jsx)(Mr,{})]})]}):null,(0,s.jsx)("div",{ref:B,className:"graview-bar-own","data-graview-bar-own":""}),De?(0,s.jsx)(y.Suspense,{fallback:null,children:(0,s.jsx)(xr,{scene:!oe,compact:A})}):null,(0,s.jsx)(Sr,{}),c]})]})]}),A&&se?(0,s.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:se}):null]})}function Hr({faces:e,form:n,drawn:t}){let r=o=>{let a=e[o];return(0,s.jsxs)("button",{type:"button",className:"graview-bar-face","data-testid":`app-face-${o}`,"aria-pressed":a.current,title:a.label,...a.reach&&!a.current?{onPointerEnter:a.reach,onPointerDown:a.reach,onFocus:a.reach}:{},onClick:()=>{a.current||a.go()},children:[o==="scene"?(0,s.jsx)(Fn,{}):(0,s.jsx)(Cr,{}),(0,s.jsx)("span",{children:a.label})]})};return(0,s.jsxs)("div",{className:"graview-bar-faces",role:"group","aria-label":`${e.scene.label} or ${e.pages.label}`,"data-testid":"app-faces","data-switch":n,"data-switch-drawn":t,children:[r("scene"),r("pages")]})}function Br(e){let n=e.querySelector(".graview-bar-faces"),t=e.querySelector(".graview-bar-mid"),r=e.querySelector(".graview-bar-find");if(!n||!t||r?.matches(":focus-within")||e.getBoundingClientRect().width<te)return null;let a=In(n),i=t.querySelector(".graview-bar-place-words"),p=i?parseFloat(getComputedStyle(i).fontSize)||14:0,c=i?Math.min(i.scrollWidth+34,14*p):0,d=Rn(e);if(d===null)return!1;let u=t.getBoundingClientRect().width-c-d;if(r&&r.getBoundingClientRect().width>0){let l=parseFloat(getComputedStyle(r).flexBasis);isFinite(l)&&(u-=Math.max(0,l-r.getBoundingClientRect().width))}return n.getAttribute("data-switch-drawn")==="icons"?u>=a+2:u>=-1}function Rn(e){let n=e.querySelector(".graview-bar-app"),t=e.querySelector(".graview-bar-ruler>.graview-bar-name");if(!n||!t)return 0;let r=i=>i?.getBoundingClientRect().width??0,o=r(n.firstElementChild)-r(e.querySelector(".graview-bar-app-name"))+r(t)+2,a=parseFloat(getComputedStyle(n).maxWidth)/100*(n.parentElement.clientWidth-2*n.offsetLeft)||1/0;return o>a+.5?null:Math.max(0,o-r(n))}var On=e=>e.button===0&&!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey);function Nr(){let e=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(e)?"\u2318K":"Ctrl K"}function Mr(){let e=Sn(Y()?.aiDesk);return(0,s.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:e?"/":Nr()})}function ae({size:e,box:n=e,children:t}){return(0,s.jsx)("svg",{width:e,height:e,viewBox:`0 0 ${n} ${n}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:t})}function Fn(){return(0,s.jsxs)(ae,{size:14,children:[(0,s.jsx)("path",{d:"M7 1.5 L12.5 4.5 L7 7.5 L1.5 4.5 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),(0,s.jsx)("path",{d:"M1.5 7.5 L7 10.5 L12.5 7.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Cr(){return(0,s.jsxs)(ae,{size:14,children:[(0,s.jsx)("rect",{x:"2.25",y:"1.75",width:"9.5",height:"10.5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,s.jsx)("path",{d:"M4.5 5 H9.5 M4.5 7.25 H9.5 M4.5 9.5 H7.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function Vn(){return(0,s.jsx)(ae,{size:10,children:(0,s.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Rr(){return(0,s.jsxs)(ae,{size:16,children:[(0,s.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,s.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Or({place:e}){if(e.key===q)return(0,s.jsx)(Fn,{});if(e.group==="home")return(0,s.jsx)(ae,{size:13,box:14,children:(0,s.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let n=e.kind?`hsl(${Math.round(Ze(e.kind))} 55% 52%`:"rgb(128 128 128";return(0,s.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:e.group==="lists"?`${n})`:`linear-gradient(${n}), ${n})) center / 6px 4px no-repeat, ${n} / 0.35)`}})}var Fr=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],Ne="More";function Dn({place:e,current:n,reach:t,standing:r,done:o}){let a=e.key===n,i=t.href?.(e.path);return(0,s.jsxs)(i!==void 0?"a":"button",{className:r?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${e.key}`,"data-place-path":e.path,...a?{"aria-current":"page"}:{},...i!==void 0?{href:i}:{type:"button"},onClick:c=>{o(),t.go&&(i!==void 0&&!On(c)||(c.preventDefault(),t.go(e)))},children:[r?null:(0,s.jsx)("span",{className:"graview-bar-mark",children:(0,s.jsx)(Or,{place:e})}),r&&a?(0,s.jsx)("span",{"data-testid":"app-place-current",children:e.label}):(0,s.jsx)("span",{children:e.label})]})}function Vr({places:e,current:n,reach:t,id:r,done:o}){return(0,s.jsx)(s.Fragment,{children:Fr.map(({group:a,heading:i})=>{let p=e.filter(d=>d.group===a);if(p.length===0)return null;let c=`${r}-${a}`;return(0,s.jsxs)("div",{role:"group",...i?{"aria-labelledby":c}:{"aria-label":p[0].label},"data-place-group":a,children:[i?(0,s.jsx)("p",{id:c,children:i}):null,(0,s.jsx)("ul",{children:p.map(d=>(0,s.jsx)("li",{children:(0,s.jsx)(Dn,{place:d,current:n,reach:t,standing:!1,done:o})},d.key))})]},a)})})}function Dr({places:e,current:n,here:t,reach:r,scene:o,stands:a}){let i=Q("places"),p=(0,y.useRef)(a);i.open||(p.current=a);let c=p.current,u=e.find(b=>b.key===n)?.label??t??"Places",l=c?e.filter((b,H)=>!c.includes(H)):e,g=Ir(e,n,o),w=Y(),h=w?.keptViews?.current(),x=!!(h&&(h.removed.length>0||w.views.places().some(b=>b.hidden)||h.may.lenses&&(w.views.arrangement?.()?.hide?.length??0)>0));return(0,s.jsxs)("nav",{className:c?"graview-bar-places":"graview-bar-place-at","aria-label":o?"What the scene shows":"The app\u2019s places",...c?{"data-testid":"app-places-standing"}:{},...g,children:[c?.map(b=>(0,s.jsx)(Dn,{place:e[b],current:n,reach:r,standing:!0,done:()=>{}},e[b].key)),l.length>0||x?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",className:c?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...i.trigger,onClick:i.toggle,"aria-label":c?`${Ne} \u2014 ${l.length} more ${o?"pictures":"places"}`:`${u} \u2014 ${o?"everything the scene shows":"every place"}`,title:c?l.map(b=>b.label).join(", "):u,children:[c?Ne:(0,s.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:u}),(0,s.jsx)(Vn,{})]}),(0,s.jsxs)("div",{...i.pane,"data-testid":"app-places",hidden:!i.open,className:"graview-bar-list",style:U,children:[(0,s.jsx)(Vr,{places:l,current:n,reach:r,id:i.pane.id,done:()=>i.setOpen(!1)}),x&&i.open?(0,s.jsx)(y.Suspense,{fallback:null,children:(0,s.jsx)(kr,{id:i.pane.id,scene:o,reach:r,done:()=>i.setOpen(!1)})}):null]})]}):null]})}function Ir(e,n,t){let r=Y()?.setMenuAt,o=a=>{let i=a.target.closest?.("[data-place-path],[data-testid=app-places-open]");if(!i||!r)return;let p={at:0};a.type==="pointerdown"?document.addEventListener("pointerup",()=>p.at||=Date.now(),{once:!0}):a.preventDefault();let c=a.nativeEvent;M.load().then(d=>d.placeGesture(c,i,e,n,t,r,p),String)};return{onContextMenu:a=>a.shiftKey||o(a),onKeyDown:a=>(a.key==="ContextMenu"||a.key==="F10"&&a.shiftKey)&&o(a),onPointerDown:a=>a.pointerType!=="mouse"&&a.isPrimary&&o(a)}}function $r(e,n,t,r){let o=e.querySelector("[data-graview-bar-ruler]"),a=e.querySelector(".graview-bar-mid");if(!o||!a)return null;let i=e.querySelector(".graview-bar-find");if(i?.matches(":focus-within"))return;if(e.getBoundingClientRect().width<te)return null;let p=Rn(e);if(p===null)return null;let c=[...o.children].map(H=>H.getBoundingClientRect().width),d=c.pop()??0,u=e.querySelector(".graview-bar-faces"),l=u&&t?In(u):0,g=u?.getAttribute("data-switch-drawn")==="words"?l:0,w=a.getBoundingClientRect().left+p,h=i?.getBoundingClientRect(),x=h&&h.width>0?h.right-w-(parseFloat(getComputedStyle(i).minWidth)||0)-16:a.getBoundingClientRect().width-p,b=[...r].map(H=>H!=="0");return Cn({widths:c,current:n,room:Math.floor(x+g-l),more:d,primary:b})?.join(",")??null}function In(e){return[...e.querySelectorAll(".graview-bar-face span")].reduce((n,t)=>n+t.scrollWidth+10,0)}var _r=e=>`graview:lenses:${e}`,Kr=(e,n)=>e?.name??n.kinds.join(",");function Ce(e){try{let n=JSON.parse(localStorage.getItem(_r(e))??"[]");return Array.isArray(n)?n.filter(t=>typeof t?.title=="string"&&typeof t.lens=="string"):[]}catch{return[]}}var _=v(R(),1);var E=v(S(),1);function Wr({scheme:e,onScheme:n,profileHref:t,keeping:r,hostActions:o=Gr,signature:a=!1}){let{store:i,principal:p,seats:c,people:d}=ce(),u=Q("profile"),l=u.open,[g,w]=(0,_.useState)(!1);(0,_.useEffect)(()=>jr(fe),[]),l&&!g&&w(!0),(0,_.useEffect)(()=>{l&&fe()},[l]);let h=p.id===void 0?void 0:i.graph.getNode(p.id),x=h===void 0?p.id===void 0?"Nobody in particular":Ue(p,{graph:i.graph,schema:i.schema,seats:c,people:d}):ze(i.schema.tryDefinition(h.kind),h);return(0,E.jsxs)("div",{style:{position:"relative"},children:[(0,E.jsx)("button",{type:"button","data-testid":"profile-button",...u.trigger,onClick:u.toggle,onPointerEnter:fe,onFocus:fe,"aria-label":`${x} \u2014 you, your seat and your settings`,title:`${x} \u2014 you, your seat and your settings`,style:{...J,borderRadius:999},children:(0,E.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:Z-4,height:Z-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:Yr(x)})}),(0,E.jsxs)("section",{...u.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!l,style:{...U,width:280,maxWidth:"calc(100vw - 32px)",maxHeight:"min(62cqh, 520px)",overflowY:"auto",overflowX:"hidden",display:l?"grid":"none",gap:12,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[g?(0,E.jsx)(_.Suspense,{fallback:null,children:(0,E.jsx)(qr,{part:"top",name:x,me:h,profileHref:t,hostActions:o,close:()=>u.setOpen(!1)})}):null,(0,E.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:Qr,children:[(0,E.jsx)("span",{style:Ur,children:"Keeping this app"}),r]}),g?(0,E.jsx)(_.Suspense,{fallback:null,children:(0,E.jsx)(zr,{part:"rest",name:x,me:h,scheme:e,onScheme:n,hostActions:o,signature:a,close:()=>u.setOpen(!1)})}):null]})]})}var Gr=[],fe=()=>M.prefetch(),qr=M.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{what:"The rest of your menu"}),zr=M.part((e,n)=>(0,E.jsx)(e.ProfilePane,{...n}),{quiet:!0});function jr(e){let n=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&e()},t=globalThis;if(t.requestIdleCallback){let o=t.requestIdleCallback(n,{timeout:5e3});return()=>t.cancelIdleCallback?.(o)}let r=setTimeout(n,2500);return()=>clearTimeout(r)}function Yr(e){return(e.trim()[0]??"?").toUpperCase()}var Ur={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},Qr={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function Zr(e){return!(e==="hidden"||e===!1)}var Re=v(R(),1);var $n="The whole thing",ge=e=>`scene:${e.kind}:${e.as}`;function _n(e){let{view:n}=e,t=e.places.filter(l=>!e.hidden.has(l.kind)),r=ne(t),o=(l,g)=>{if(l===q)return un(fn(g,!0),"view",null);let w=r.find(h=>ge(h)===l);return w?mn(g,w.over?.find(h=>g.focusId===re(h))??w.kind,w.as):null},a=n.within?.view,i=l=>n.focusId===re(l.kind)&&(a===void 0?t.filter(g=>g.kind===l.kind).at(-1)===l:a===l.as),p=t.find(l=>i(l)&&(a!==void 0||!n.overview)),c=p?r.find(l=>de(l,p)):void 0,d=r.filter(l=>!l.hidden||l===c);return{places:[{key:q,label:$n,path:`${Se}${Le(o(q,Pe))}`,group:"home"},...d.map(l=>({key:ge(l),label:j(l,t,e.schema),path:`${Se}${Le(o(ge(l),Pe))}`,group:"pictures",kind:l.kind,hidden:l.hidden}))],current:c?ge(c):q,to:o}}function Jr(){let{store:e,views:n,hiddenKinds:t}=ce(),{view:r,go:o}=bn(),a=n.places(),i=(0,Re.useMemo)(()=>_n({places:a,hidden:t,view:r,schema:e.schema}),[a,t,r,e.schema]),p=(0,Re.useMemo)(()=>({go:c=>{let d=i.to(c.key,r);d&&o(d)}}),[i,r,o]);return{places:i.places,current:i.current,reach:p}}var X=v(R(),1);var F=v(S(),1),Xr=M.part((e,n)=>(0,F.jsx)(e.ProblemRows,{...n}),{what:"The problems",as:"li"}),Oe=()=>M.prefetch();function et({clean:e="All rules hold"}){let n=vn(),{set:t}=hn(),r=n.length,[o,a]=(0,X.useState)(!1),i=Q("problems",{open:o&&r>0,onOpenChange:a}),p=i.open,c=Wn(n,e);return(0,X.useEffect)(()=>{if(r===0)return;let d=setTimeout(Oe,1500);return()=>clearTimeout(d)},[r>0]),(0,F.jsxs)("div",{style:{position:"relative",display:"inline-flex"},children:[(0,F.jsxs)("button",{type:"button","data-testid":"standing",...i.trigger,"aria-disabled":r===0?!0:void 0,"aria-label":c,onClick:r===0?void 0:i.toggle,onPointerEnter:r===0?void 0:Oe,onFocus:r===0?void 0:Oe,title:c,style:{...J,padding:r===0?0:"0 8px",cursor:r===0?"default":"pointer",color:r===0?"var(--graview-ink-muted)":Kn(n),fontVariantNumeric:"tabular-nums",fontWeight:600},children:[(0,F.jsx)(Gn,{tone:r===0?"var(--graview-good)":Kn(n)}),r>0?(0,F.jsx)("span",{"aria-hidden":"true",children:r}):null]}),p?(0,F.jsx)("ol",{...i.pane,"data-testid":"problems",style:{...U,width:300,maxHeight:"min(48cqh, 420px)",overflow:"auto",margin:0,padding:4,listStyle:"none",display:"grid",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:(0,F.jsx)(X.Suspense,{fallback:null,children:(0,F.jsx)(Xr,{violations:n,pick:d=>{t(d.nodeIds),i.setOpen(!1)}})})}):null]})}function Wn(e,n){return e.length===0?n:`${Qe(e)} \u2014 open what is broken, and what would fix it`}var Kn=e=>e.some(n=>n.status==="could-not-judge"||n.status==="over-budget")?"var(--graview-bad)":"var(--graview-warn)";function Gn({tone:e}){return(0,F.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:e}})}function nt(e,n,t=[]){if(e.focusId)return e.focusId;let o=(e.selection??[]).map(gn).find(a=>a!==null)??t.find(a=>n.includes(a))??n[0]??null;return o===null?null:re(o)}var ye=v(S(),1),me=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.HF5SNUTK.js","./chunk.S7ZLGODY.js","./chunk.2QESVWUW.js","./chunk.UM5H2VVR.js","./chunk.MRYN42EQ.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.U37WZMUO.js"))));function rt(){return me.load().then(()=>{})}var tt=[{cardinality:"one",fidelity:"full",slot:"page"},{cardinality:"one",fidelity:"summary",slot:"card"},{cardinality:"one",fidelity:"glyph",slot:"row"},{cardinality:"many",fidelity:"full"},{cardinality:"many",fidelity:"summary"},{cardinality:"many",fidelity:"glyph"}];function at({schema:e,specs:n,kind:t,view:r}){let o=me.current.frameworkViews(e,n).lookup(t,{cardinality:r.cardinality,fidelity:r.fidelity});return o?(0,ye.jsx)(o,{...r}):null}var ot=me.part((e,n)=>(0,ye.jsx)(at,{...n}),{what:"This view"});function qn(e,n,t){for(let r of n.kinds){let o=t?.[r];for(let a of tt){let i=c=>(0,ye.jsx)(ot,{schema:n,specs:t,kind:r,view:c}),p=a.slot!==void 0&&o?.[a.slot]!==void 0;p&&(i.says=(c,d)=>me.current?.frameworkViews(n,t).lookup(r,{cardinality:a.cardinality,fidelity:a.fidelity})?.says?.(c,d)),e.register(r,{cardinality:a.cardinality,fidelity:a.fidelity},p?i:yn(i))}}return e}function it(e,n){return qn(wn(e),e,n)}var Fe=v(R(),1);var D=v(S(),1),zn=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.ZUKYMU6C.js","./chunk.XOTES3PI.js","./chunk.WGTBQHHE.js","./chunk.P52UTBNO.js","./chunk.HF5SNUTK.js","./chunk.S7ZLGODY.js","./chunk.2QESVWUW.js","./chunk.UM5H2VVR.js","./chunk.WEGPDJTB.js","./chunk.MRYN42EQ.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.HJCQ6I3S.js","./chunk.ATVPAYS6.js","./chunk.VNBEAF62.js","./chunk.CZH27V2R.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.LDYOQCY7.js","./chunk.VFRURRNI.js","./chunk.X2G4ZRB2.js","./chunk.UITZ74YJ.js","./chunk.MHILFBK6.js","./chunk.ZFH4SCCF.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.VXRECLX6.js"))));function st({lens:e,view:n}){let t=zn.current.declaredLensView(e);return(0,D.jsx)(t,{...n})}var lt=zn.part((e,n)=>(0,D.jsx)(st,{...n}),{what:"This picture"});function dt(e){let n=r=>(0,D.jsx)(Fe.Suspense,{fallback:null,children:(0,D.jsx)(lt,{lens:e,view:r})});e.lens==="blocks"&&(n.flows=!0);let t=e.lens==="blocks"?e.options.blocks?.[0]:void 0;return typeof t?.headline=="string"&&(n.lede=t),e.create===!1&&(n.creates=!1),n}var jn=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.HF5SNUTK.js","./chunk.S7ZLGODY.js","./chunk.2QESVWUW.js","./chunk.UM5H2VVR.js","./chunk.MRYN42EQ.js","./chunk.E22DDEQI.js","./chunk.OLW44AP5.js","./chunk.D3AISGQH.js","./chunk.IZ2ZTNEV.js","./chunk.6E36I2GC.js","./chunk.CJUIJ6TL.js","./chunk.IIESMHXY.js","./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.6BLNFVB4.js"))));function ct({blocks:e,view:n}){let t=jn.current.homeView(e);return(0,D.jsx)(t,{...n})}var pt=jn.part((e,n)=>(0,D.jsx)(ct,{...n}),{what:"The home"});function ut(e){let n=t=>(0,D.jsx)(Fe.Suspense,{fallback:null,children:(0,D.jsx)(pt,{blocks:e,view:t})});return Object.defineProperty(n,Symbol.for("graview.home-blocks"),{value:!0}),n}function ft(e,n){return n.home&&n.home.length>0&&e.home?.(ut(n.home)),Yn(e,n),e.arrange?.(n.pages),e}function Yn(e,n,t){for(let r of on(n).drawn){if(t&&e.places().some(i=>i.title===r.title))continue;let o=dt(r),a={title:r.title,lens:r.lens,...r.across?{across:r.across}:{},...t?{beside:t}:{},...r.hidden?{hidden:!0}:{},over:r.kinds,...t?{}:{declared:!0}};for(let i of r.kinds)e.register(i,{cardinality:"many",fidelity:"full"},o,a),e.register(i,{cardinality:"many",fidelity:"summary"},o,a)}}function gt(e,n,t){t.length>0&&Yn(e,{schema:n,lenses:t.map(({lens:r,...o})=>({...o,name:r}))},!0)}function mt(e,n,t){gt(e,n,Ce(t))}var K=v(R(),1),we=v(S(),1);var Ve=e=>`graview:first-look:${e}`;function yt(e,n){if(e.seen!==void 0)try{return typeof e.seen=="function"?e.seen():e.seen}catch{return!0}try{return window.localStorage.getItem(Ve(n))!==null}catch{return!1}}function wt(e,n){if(e.seen===void 0)try{window.localStorage.setItem(Ve(n),"seen")}catch{}}var ht=O(C(()=>(__graviewPreload(import.meta.url,["./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.BFN6B4C4.js")))),vt=ht.part((e,n)=>{let t=e.FirstLookHints;return(0,we.jsx)(t,{...n})},{quiet:!0});function bt({firstLook:e,root:n,app:t}){let r=(0,K.useRef)(null);r.current=e===!0?{}:e||null;let[o,a]=(0,K.useState)(()=>r.current!==null&&typeof window<"u"&&!yt(r.current,t)),i=(0,K.useCallback)(p=>{if(a(!1),p===null)return;let c=r.current??{};wt(c,t),c.onDone?.(p)},[t]);return!o||r.current===null?null:(0,we.jsx)(K.Suspense,{fallback:null,children:(0,we.jsx)(vt,{root:n,steps:r.current.steps??[],onEnd:i})})}export{pe as a,lr as b,kt as c,Sn as d,xt as e,Te as f,br as g,pr as h,ur as i,ue as j,fr as k,mr as l,yr as m,wr as n,M as o,Pr as p,Lr as q,Nn as r,Er as s,J as t,Tr as u,Wr as v,Zr as w,Jr as x,_r as y,Kr as z,Ce as A,et as B,Wn as C,Gn as D,nt as E,ft as F,gt as G,mt as H,rt as I,it as J,bt as K};
@@ -1 +0,0 @@
1
- import{a as h}from"./chunk.2FOIJ5ID.js";import{Aa as b,D as g,H as k,J as w,Ob as x,xa as u}from"./chunk.X3MMJ3QC.js";var s=i=>i?._zod?.def,O=Symbol.for("@graview/core:collaborative"),v=/^\^\\d\{4\}-\\d\{2\}-\\d\{2\}\$$/;function S(i){let n=s(i),p=!0,a;for(let e=0;n&&e<4;e++){if(n.type==="optional"||n.type==="nullable")p=!1;else if(n.type==="default")p=!1,a=n.defaultValue;else break;n=s(n.innerType)}if(!n)return{why:"it is not a zod field"};let l=g(i),r={...p?{required:!0}:{},...a!==void 0?{default:a}:{},...l?{description:l}:{}},f=(n.checks??[]).map(e=>s(e)),c=u(i);if(c)return{spec:{type:c,...r}};if(b(i))return{spec:{type:"app-link",...r}};let d;for(let e=s(i),t=0;e&&d===void 0&&t<4;e=s(e.innerType),t++)d=e[O];let m=e=>d!==void 0&&d===1!=(e==="text")?{collaborative:d===1}:{};if(h(i))return{spec:{type:"text",format:"markdown",...r,...m("text")}};let y=x(i);if(y)return{spec:{type:y,...r}};switch(n.type){case"string":{let e=n.format;return e==="email"?{spec:{type:"email",...r}}:e==="url"?{spec:{type:"url",...r}}:e==="date"?{spec:{type:"date",...r}}:e==="datetime"||f.some(t=>t?.fn===w)?{spec:{type:"datetime",...r}}:f.some(t=>t?.format==="regex"&&(v.test(String(t?.pattern?.source??""))||t?.pattern?.source===k.source))?{spec:{type:"date",...r}}:{spec:{type:"string",...r,...m("string")}}}case"number":{let e={};for(let t of f){let o=t?.value;typeof o=="number"&&(t?.check==="greater_than"&&t.inclusive?e.min=Math.max(e.min??o,o):t?.check==="less_than"&&t.inclusive?e.max=Math.min(e.max??o,o):t?.check==="multiple_of"&&(e.step=o))}return{spec:{type:f.some(t=>t?.format==="safeint"||t?.format==="int")?"integer":"number",...e,...r}}}case"boolean":return{spec:{type:"boolean",...r}};case"enum":{let e=Object.keys(n.entries??{});return e.length>0?{spec:{type:"enum",options:e,...r}}:{why:"it is an enum with no options"}}case"array":{let e=s(n.element),t=u(n.element)??(e?.type==="number"?"number":e?.type==="string"?"string":void 0);return t?{spec:{type:"list",of:t,...r}}:{why:`it is a list of ${String(e?.type??"something")}, and a document lists words, numbers, dates, images, videos or files`}}default:return{why:`it is a ${String(n.type)}, which a document has no field type for`}}}function T(i){let n=S(i);return"spec"in n?n.spec:void 0}export{T as a};
@@ -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{G as k,Ga as o,T as n}from"./chunk.VNJKGSGZ.js";import{a as t}from"./chunk.SDO3U72B.js";import{b as p}from"./chunk.AJZBJBMO.js";var f=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.Q6LLURRM.js","./chunk.AXXYJCSW.js","./chunk.N4LOI3YA.js","./chunk.RKZ4J3H2.js","./chunk.HKINU7VO.js","./chunk.YGZCESXY.js","./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.ZT3NEAFI.js")))),y=f.part((e,r)=>e.drawFiles(r),{quiet:!0});var d=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.UFTAGUTU.js")))),I=d.part((e,r)=>e.drawLinkedRecord(r),{quiet:!0}),w=d.part((e,r)=>e.drawLinkedPicker(r),{what:"Picking a linked record"});var s=p(n(),1),m=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.GZHZLJBF.js","./chunk.KHZA5F7A.js","./chunk.OJGHDWI6.js","./chunk.KSVJHSRH.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.HJOVOA52.js")))),E=m.part((e,r)=>(0,s.jsx)(e.RepeatPicker,{...r}),{quiet:!0}),W=m.part((e,r)=>(0,s.jsx)(e.RepeatEditor,{...r}),{quiet:!0});var a=p(k(),1),i=p(n(),1),c=o(t(()=>(__graviewPreload(import.meta.url,["./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.JPNBQFJ3.js")))),l=c.part((e,r)=>(0,i.jsx)(e.WhenInput,{...r}),{quiet:!0});function M(e){return(0,i.jsx)(a.Suspense,{fallback:(0,i.jsx)("span",{"data-graview-when-arriving":"",style:{display:"inline-block",minHeight:24}}),children:(0,i.jsx)(l,{...e})})}var N=()=>c.load().then(()=>{},()=>{});export{y as a,I as b,w as c,E as d,W as e,M as f,N as g};
@@ -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 y}from"./chunk.QLTHHWBA.js";import{D as v,G as I,T as h,ba as w}from"./chunk.VNJKGSGZ.js";import{_a as g}from"./chunk.X3MMJ3QC.js";import{b as d}from"./chunk.AJZBJBMO.js";var k=d(I(),1);var t=d(h(),1),r={display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24,padding:"1px 8px",fontSize:"0.75rem"};function D({shows:e,onShows:i,mine:a,onMine:l}){let o={all:"All",changes:"Changes",ai:"AI"};return(0,t.jsxs)("div",{"data-testid":"activity-filter",role:"group","aria-label":"Show",style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center"},children:[["all","changes","ai"].map(s=>(0,t.jsx)("button",{type:"button","data-shows":s,"aria-pressed":e===s,onClick:()=>i(s),style:{...r,...e===s?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:o[s]},s)),(0,t.jsx)("button",{type:"button","data-testid":"activity-mine","aria-pressed":a,onClick:()=>l(!a),style:{...r,marginLeft:"auto",...a?{borderColor:"var(--graview-accent)",color:"var(--graview-ink)"}:{}},children:"Just mine"})]})}var x=e=>e.ask.kind==="suggest"?"suggest":e.ask.kind==="fill"?"fill in":e.ask.kind==="record"?"add one":e.ask.kind==="panel"?"draw a panel":`answer \u201C${e.ask.said}\u201D`;function $(e){let i=e.offered.filter(a=>e.accepted?.includes(a.id)).map(a=>a.label);switch(e.outcome){case"accepted":return i.length>0?`Took ${i.join(", ")}`:"Taken";case"partly":return`Took ${i.length} of ${e.offered.length}: ${i.join(", ")}`;case"dismissed":return"Dismissed";case"drawn":return e.panel?`Drew \u201C${e.panel.title}\u201D`:"Drew a panel";case"failed":return e.failed??"Failed";default:return"Offered, not yet taken"}}function C(e){let i=[...new Set((e.usage??[]).map(o=>o.model))];if(i.length===0)return null;let a=(e.usage??[]).flatMap(o=>o.costUsd===void 0?[]:[o.costUsd]),l=a.length>0?a.reduce((o,s)=>o+s,0):void 0;return`${i.join(", ")}${l!==void 0?` \xB7 $${l<.01?l.toPrecision(2):l.toFixed(2)}`:""}`}function E({entry:e,undo:i}){let{store:a,principal:l,seats:o,people:s,ai:b}=w(),c=y(),[p,u]=(0,k.useState)(!1),A=e.by.kind==="human"&&e.by.onBehalfOf===void 0&&(e.by.id===void 0||l.id===void 0||e.by.id===l.id)?"you":g(e.by,{graph:a.graph,schema:a.schema,seats:o,people:s}),f=C(e),S=v(b),m=n=>{u(!0),(__graviewPreload(import.meta.url,["./chunk.NOLGJFA4.js","./chunk.BJUUSIQY.js","./chunk.X2G4ZRB2.js","./chunk.UITZ74YJ.js","./chunk.2NJDT47T.js","./chunk.XOZU4OFA.js","./chunk.MHILFBK6.js","./chunk.QLTHHWBA.js","./chunk.AXXYJCSW.js","./chunk.NSGQXCH6.js","./chunk.SZG6HJWH.js","./chunk.2FOIJ5ID.js","./chunk.6IUEGPCZ.js","./chunk.CUJX3IVA.js","./chunk.VNJKGSGZ.js","./chunk.SDO3U72B.js","./chunk.X3MMJ3QC.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.YMC2T2HN.js")).then(n).finally(()=>u(!1))};return(0,t.jsxs)("li",{"data-testid":"activity-interaction","data-interaction":e.id,"data-outcome":e.outcome,style:{display:"grid",gap:3,lineHeight:1.45},children:[(0,t.jsx)("div",{style:{display:"flex",alignItems:"baseline",gap:6},children:(0,t.jsxs)("span",{style:{minWidth:0},children:[(0,t.jsx)("strong",{style:{fontWeight:600},children:A})," ",(0,t.jsxs)("span",{style:{color:"var(--graview-ink-muted)"},children:["asked AI to ",x(e)]}),(0,t.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",e.targetLabel]})]})}),e.offered.length>0&&e.outcome!=="accepted"&&e.outcome!=="partly"?(0,t.jsxs)("div",{"data-testid":"interaction-offered",style:{color:"var(--graview-ink-muted)"},children:["Offered ",e.offered.map(n=>n.label).join(", ")]}):null,(0,t.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap"},children:[(0,t.jsx)("span",{"data-testid":"interaction-outcome",style:{color:e.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)"},children:$(e)}),(e.batches??[]).map(n=>(0,t.jsx)("span",{"data-interaction-batch":n,style:{marginLeft:"auto"},children:i(n)},n))]}),f?(0,t.jsx)("div",{"data-testid":"interaction-model",style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:f}):null,S?(0,t.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[e.panel?(0,t.jsx)("button",{type:"button","data-testid":"interaction-reopen",disabled:p,onClick:()=>m(n=>n.drawPanel(c,e.panel)),style:r,children:"Show the panel"}):null,(0,t.jsx)("button",{type:"button","data-testid":"interaction-again",disabled:p,onClick:()=>m(n=>n.askAgain(c,e)),style:r,children:"Ask again"})]}):null]})}export{D as a,E as b};
@@ -1 +0,0 @@
1
- import{b as _}from"./chunk.IIESMHXY.js";import"./chunk.6IUEGPCZ.js";import"./chunk.CUJX3IVA.js";import{G as se,T as U,ba as H,ea as Y}from"./chunk.VNJKGSGZ.js";import"./chunk.SDO3U72B.js";import{$d as $,vb as z}from"./chunk.X3MMJ3QC.js";import"./chunk.FQLNBIQ5.js";import{b as D}from"./chunk.AJZBJBMO.js";var u=D(se(),1);function L(e,t,s=!1){if(e<t.at||e===t.at&&s)return e;let i=t.at+t.removed.length;return e>=i?e+t.inserted.length-t.removed.length:s?t.at:t.at+t.inserted.length}var X=e=>e>=55296&&e<=56319,G=e=>e>=56320&&e<=57343;function V(e,t,s){let i=Math.min(e.length,t.length),n=0,l=Math.max(0,Math.min(i,t.length-s));for(;n<l&&e.charCodeAt(e.length-1-n)===t.charCodeAt(t.length-1-n);)n++;let r=0;for(;r<i-n&&e.charCodeAt(r)===t.charCodeAt(r);)r++;return r>0&&X(e.charCodeAt(r-1))&&r--,n>0&&G(e.charCodeAt(e.length-n))&&n--,{at:r,removed:e.slice(r,e.length-n),inserted:t.slice(r,t.length-n)}}function M(e,t){let s=Math.min(e.length,t.length),i=0;for(;i<s&&e.charCodeAt(i)===t.charCodeAt(i);)i++;i>0&&X(e.charCodeAt(i-1))&&i--;let n=0;for(;n<s-i&&e.charCodeAt(e.length-1-n)===t.charCodeAt(t.length-1-n);)n++;return n>0&&G(e.charCodeAt(e.length-n))&&n--,{at:i,removed:e.slice(i,e.length-n),inserted:t.slice(i,t.length-n)}}function q(e,t){let s=c=>c.at+c.removed.length;if(s(e)<t.at)return e;if(e.at>s(t))return{...e,at:e.at+t.inserted.length-t.removed.length};let i=Math.min(e.at,t.at),n=s(e)-s(t),l=e.removed.slice(0,t.at-i)+t.inserted+(n>0?e.removed.slice(e.removed.length-n):""),r=t.at<=e.at?t.inserted+e.inserted:e.inserted+t.inserted,d=M(l,r);return{...d,at:i+d.at}}function I(e,t){let s=L(e.start,t,!0),i=e.end===e.start?s:L(e.end,t);return{start:s,end:Math.max(s,i)}}function ce(e,t){let{kind:s,id:i,session:n}=e.author,l=`${s}:${i??""}:`;return t.startsWith(l)&&(!n||t.slice(l.length)===n)}function Z(e,t,s,i){let n=e.anchor,l=e.head;for(let d of s)if(!(d.seq<e.rev||ce(d,t)))for(let c of d.primitives)c.op!=="splice-text"||c.id!==e.node||c.field!==e.field||(n=L(n,c),l=L(l,c));let r=d=>Math.max(0,Math.min(i,d));return{start:r(n),end:r(l)}}var O=(e,t,s)=>e.ops.length>0&&e.ops.every(i=>{let n=i.mutation?.args;return i.mutation?.name===z&&n?.node===t&&n.field===s}),le=(e,t,s,i)=>t.ops.length>0&&t.ops.every(n=>n.undoes!==void 0)&&e.batches().some(n=>t.ops.some(l=>l.undoes===n.id||l.undoes===n.ops[0]?.id)&&O(n,s,i)),J=(e,t)=>e.author.kind==="human"&&(t?.id===void 0||e.author.id===void 0||e.author.id===t.id);function Q(e,t,s,i){let n=e.batches();for(let l=n.length-1;l>=0;l--){let r=n[l];if(!(!J(r,t)||r.undone||!O(r,s,i))&&e.canUndo(r.id).ok)return r.id}}function j(e,t,s,i){let n=e.batches();for(let l=n.length-1;l>=0;l--){let r=n[l];if(J(r,t)){if(O(r,s,i))return;if(le(e,r,s,i))return r.undone?void 0:r.id}}}var p=D(U(),1);function de(e){let{store:t}=H(),{live:s,nodeId:i,field:n}=e,[l,r]=(0,u.useState)(null);return(0,u.useEffect)(()=>{let d=!0;return s.typing(i,n).then(c=>d&&r(c)),()=>{d=!1}},[i,n]),l&&!t.collaborative(i,n)?(0,p.jsx)(p.Fragment,{children:e.writtenWhole}):(0,p.jsx)(ue,{...e,typing:l})}function ue({nodeId:e,field:t,label:s,markdown:i,live:n,onDone:l,typing:r}){let{store:d,principal:c}=H(),m=Y(e),f=te(m?.[t]),[x,oe]=(0,u.useState)(!1),y=(0,u.useRef)(null),R=(0,u.useRef)(f),E=(0,u.useRef)(!1),B=(0,u.useRef)(n);B.current=n;let N=()=>te(d.graph.getNode(e)?.[t]);(0,u.useEffect)(()=>y.current?.focus(),[x,r]);let b=(0,u.useRef)(void 0),C=()=>{b.current===void 0&&(b.current=setTimeout(()=>{b.current=void 0;let o=y.current;if(!o||o.ownerDocument.activeElement!==o)return;let a=o.selectionDirection==="backward";B.current.sayCaret({node:e,field:t,anchor:a?o.selectionEnd:o.selectionStart,head:a?o.selectionStart:o.selectionEnd,rev:d.log.length})},fe))};(0,u.useEffect)(()=>()=>{clearTimeout(b.current),B.current.sayCaret(null)},[]);let W=o=>{let a=y.current;if(a){if(a.value!==o){let h=I({start:a.selectionStart,end:a.selectionEnd},M(a.value,o)),g=a.selectionDirection??"none";a.value=o,a.setSelectionRange(h.start,h.end,g)}R.current=o}},K=()=>{let o=y.current;if(!o||!r||E.current)return;let a=R.current,h=N(),g=V(a,o.value,o.selectionEnd);if(g.removed===""&&g.inserted==="")return W(h);let v=a===h?g:q(g,M(a,h));try{r.splice(v.at,v.removed.length,v.inserted)}catch{}let w=N();if(o.value!==w){o.value=w;let S=Math.min(w.length,v.at+v.inserted.length);o.setSelectionRange(S,S)}R.current=w,C()};(0,u.useLayoutEffect)(()=>{E.current||W(f)},[f]);let ie=async o=>{if(!r)return;r.flush();for(let h=0;r.waiting()>0&&h<100;h++)await new Promise(g=>setTimeout(g,30));let a=o?j(d,c,e,t):Q(d,c,e,t);if(a)try{o?d.redo(a,{author:c}):d.undo(a,{author:c})}catch{}},T=o=>{r?.flush(),n.sayCaret(null),l(o)},k=(0,u.useRef)(void 0);(0,u.useEffect)(()=>()=>k.current?.(),[]);let ae=o=>{k.current?.();let a=o.ownerDocument,h=y.current?.closest("[data-graview-live]"),g=A=>{let P=A.target;if(P instanceof Node&&h?.contains(P))return S();P instanceof Element&&P.closest(ee)||(S(),T(!0))},v=()=>{let A=a.activeElement;A!==null&&A!==a.body||o.isConnected&&he(o)||(S(),y.current?.focus({preventScroll:!0}))},w=new MutationObserver(v);w.observe(a.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["open","hidden"]}),a.addEventListener("focusin",g),a.addEventListener("toggle",v,!0);let S=()=>{k.current=void 0,w.disconnect(),a.removeEventListener("focusin",g),a.removeEventListener("toggle",v,!0)};k.current=S},F=[...n.who.values()].filter(o=>o.caret?.node===e&&o.caret.field===t);return(0,p.jsxs)("div",{style:{display:"grid",gap:8,minWidth:0},"data-graview-live":t,children:[x?(0,p.jsx)("div",{"data-graview-preview":t,"aria-label":`${s}, as it will read`,role:"region",style:me,children:(0,p.jsx)(_,{text:f,markdown:!0})}):(0,p.jsxs)("div",{style:{position:"relative",minWidth:0},children:[(0,p.jsx)("textarea",{ref:y,"aria-label":s,"data-graview-field":t,defaultValue:f,readOnly:!r,rows:3,onInput:K,onCompositionStart:()=>{E.current=!0},onCompositionEnd:()=>{E.current=!1,K()},onSelect:C,onFocus:C,onPointerDown:()=>r?.flush(),onKeyDown:o=>{let a=o.key;a==="Escape"?(o.preventDefault(),T(!1)):(o.metaKey||o.ctrlKey)&&!o.altKey&&a.toLowerCase()==="z"?(o.preventDefault(),ie(o.shiftKey)):(o.metaKey||o.ctrlKey)&&a==="Enter"?(o.preventDefault(),T(!1)):(a==="Enter"||ge.has(a))&&r?.flush()},onKeyUp:C,onBlur:o=>{r?.flush(),n.sayCaret(null);let a=o.relatedTarget;if(a instanceof Node&&o.currentTarget.closest("[data-graview-live]")?.contains(a))return;let h=a instanceof Element?a.closest(ee):null;if(h)return ae(h);T(!0)},style:ve}),F.length>0?(0,p.jsx)(pe,{text:f,others:F,area:y,log:d.log.all()}):null]}),(0,p.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8},children:[(0,p.jsx)("button",{type:"button",onClick:()=>T(!1),style:ne,children:"Done"}),i?(0,p.jsx)("button",{type:"button","aria-pressed":x,onClick:()=>oe(!x),style:ne,children:x?"Write":"Preview"}):null,(0,p.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"Saved as you type \xB7 Ctrl or \u2318 Z takes back your typing"})]})]})}function pe({text:e,others:t,area:s,log:i}){let n=(0,u.useRef)(null);(0,u.useLayoutEffect)(()=>{let c=s.current,m=n.current;if(!c||!m)return;let f=()=>{m.scrollTop=c.scrollTop};return f(),c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)});let l=t.map(c=>({one:c,at:Z(c.caret,c.participant,i,e.length).end})).sort((c,m)=>c.at-m.at),r=[],d=0;for(let{one:c,at:m}of l){r.push(e.slice(d,m)),d=m;let f=$(c)||"Somebody";r.push((0,p.jsx)("span",{"data-graview-caret":c.participant,title:`${f} is typing here`,style:{borderLeft:`2px solid hsl(${Math.round(c.hue)} 55% 52%)`,marginLeft:-1,marginRight:-1,pointerEvents:"auto"}},c.participant))}return r.push(`${e.slice(d)}\u200B`),(0,p.jsx)("div",{ref:n,"aria-hidden":"true",style:ye,children:r})}var ee='[data-graview-overlay], dialog, [role="dialog"], [role="alertdialog"], [popover]',he=e=>{if(e.hasAttribute("hidden")||e instanceof HTMLDialogElement&&!e.open)return!1;if(e.hasAttribute("popover"))try{return e.matches(":popover-open")}catch{}return!0},fe=120,te=e=>typeof e=="string"?e:"",ge=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]),me={minHeight:"7.5em",padding:"8px 10px",border:"1px dashed var(--graview-edge-bright)",borderRadius:6,lineHeight:1.6,minWidth:0},ne={font:"inherit",fontSize:"0.8125rem",minHeight:28,padding:"2px 12px"},re={font:"inherit",lineHeight:1.5,width:"100%",boxSizing:"border-box",minHeight:"7.5em",padding:"8px 10px",borderRadius:6},ve={...re,resize:"vertical",fieldSizing:"content",color:"var(--graview-ink)",background:"var(--graview-panel, transparent)",border:"1px solid var(--graview-edge-bright)"},ye={...re,position:"absolute",inset:0,height:"100%",border:"1px solid transparent",color:"transparent",whiteSpace:"pre-wrap",overflowWrap:"break-word",overflow:"hidden",pointerEvents:"none"};export{de as default};