graview 0.1.71 → 0.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/preview/chunk.2IOJNFCR.js +1 -0
- package/dist/preview/{chunk.5EQRIZ6I.js → chunk.2Q4ZXP7P.js} +1 -1
- package/dist/preview/{chunk.MEAUTBVM.js → chunk.2TTKQAWQ.js} +1 -1
- package/dist/preview/{chunk.6BBUTKFC.js → chunk.2YSE3SQN.js} +3 -3
- package/dist/preview/{chunk.CGRX6SDE.js → chunk.2ZPR6FRI.js} +1 -1
- package/dist/preview/chunk.3BE4SHZD.js +1 -0
- package/dist/preview/{chunk.TSZ2S3VG.js → chunk.43HWCHBN.js} +1 -1
- package/dist/preview/{chunk.TQ3MNB6K.js → chunk.45OLF6BK.js} +1 -1
- package/dist/preview/{chunk.ZY3NAJDM.js → chunk.47QWCVZD.js} +1 -1
- package/dist/preview/{chunk.WU6D3SPL.js → chunk.4A7BRBEA.js} +1 -1
- package/dist/preview/chunk.4EPCI6VY.js +1 -0
- package/dist/preview/{chunk.UZKBFI52.js → chunk.4PB5UFUJ.js} +1 -1
- package/dist/preview/{chunk.MKJV3BM5.js → chunk.4TDYDIIM.js} +1 -1
- package/dist/preview/{chunk.HXRHEPPJ.js → chunk.4VX7GPFS.js} +1 -1
- package/dist/preview/{chunk.OUF2QFZL.js → chunk.523X2YEQ.js} +1 -1
- package/dist/preview/{chunk.KBJ3UUER.js → chunk.53GQQETN.js} +1 -1
- package/dist/preview/{chunk.DHO3QZYK.js → chunk.5MKZTHU2.js} +1 -1
- package/dist/preview/{chunk.F5O3HR7X.js → chunk.5ZT4R227.js} +1 -1
- package/dist/preview/{chunk.LHCGC3K6.js → chunk.65SI77M7.js} +1 -1
- package/dist/preview/chunk.6ESAFTWB.js +1 -0
- package/dist/preview/chunk.6GUIFP2A.js +1 -0
- package/dist/preview/{chunk.D6ODKMOV.js → chunk.6GZYKHEN.js} +1 -1
- package/dist/preview/{chunk.F7KVEWFH.js → chunk.6YKKZI4H.js} +1 -1
- package/dist/preview/{chunk.Z2BCOZDZ.js → chunk.73RMM4W7.js} +1 -1
- package/dist/preview/{chunk.4O64QV2Y.js → chunk.7DCBIMOI.js} +1 -1
- package/dist/preview/chunk.7JE3J7H4.js +1 -0
- package/dist/preview/{chunk.RDUGUC7R.js → chunk.7QGDWAHH.js} +1 -1
- package/dist/preview/{chunk.7PWLRRUS.js → chunk.7VCYVCYM.js} +2 -2
- package/dist/preview/{chunk.GFBE4VNT.js → chunk.A4TBVXHQ.js} +1 -1
- package/dist/preview/{chunk.LDWWUKKX.js → chunk.A6LJPXJ3.js} +1 -1
- package/dist/preview/chunk.AAPXF6NP.js +1 -0
- package/dist/preview/{chunk.UJ7RTNT4.js → chunk.APUICV5Z.js} +1 -1
- package/dist/preview/chunk.ASNVH2G4.js +25 -0
- package/dist/preview/{chunk.OKHXXIMN.js → chunk.CJHCUHVN.js} +1 -1
- package/dist/preview/chunk.CUEPNS3Z.js +1 -0
- package/dist/preview/{chunk.H33XWGAY.js → chunk.CUJRWBPX.js} +1 -1
- package/dist/preview/{chunk.4YZ2A6SJ.js → chunk.D5PW6YWF.js} +3 -3
- package/dist/preview/chunk.DCIYOZYP.js +1 -0
- package/dist/preview/{chunk.3CLTABGP.js → chunk.DEBW4FH6.js} +1 -1
- package/dist/preview/{chunk.UQZ2P6KD.js → chunk.DYPSFTRP.js} +1 -1
- package/dist/preview/{chunk.BWMPC7LK.js → chunk.E6QZUT4L.js} +1 -1
- package/dist/preview/{chunk.MEBKTW7H.js → chunk.E7QZZRAQ.js} +1 -1
- package/dist/preview/chunk.EHCMBAZO.js +3 -0
- package/dist/preview/chunk.EXTD5JWD.js +1 -0
- package/dist/preview/{chunk.S2BMI23H.js → chunk.EZF2T3XQ.js} +1 -1
- package/dist/preview/chunk.EZSST3IU.js +1 -0
- package/dist/preview/{chunk.7THS3DLZ.js → chunk.F2BZ4SC4.js} +1 -1
- package/dist/preview/chunk.F2I7ERGM.js +1 -0
- package/dist/preview/{chunk.VUDNQOOX.js → chunk.FCV3NX6L.js} +1 -1
- package/dist/preview/{chunk.QVBP4UZG.js → chunk.FFTBUXKX.js} +2 -2
- package/dist/preview/{chunk.7MDGPTYF.js → chunk.FILBI7XA.js} +1 -1
- package/dist/preview/{chunk.D4F6QX5L.js → chunk.FKSI5522.js} +1 -1
- package/dist/preview/{chunk.QNWGDG2Z.js → chunk.FQ2QUDZS.js} +1 -1
- package/dist/preview/{chunk.O5RPSUXV.js → chunk.G2ZDDO3C.js} +1 -1
- package/dist/preview/{chunk.IPKODEOZ.js → chunk.GAVEWSXU.js} +1 -1
- package/dist/preview/chunk.GH6QX7JR.js +87 -0
- package/dist/preview/chunk.GMHBAS45.js +1 -0
- package/dist/preview/{chunk.OYMN3IFX.js → chunk.GXK5PI7I.js} +1 -1
- package/dist/preview/{chunk.DDSAFU3B.js → chunk.GYP3EF6Z.js} +1 -1
- package/dist/preview/chunk.H2RVMT4Y.js +111 -0
- package/dist/preview/chunk.HCHGKI64.js +1 -0
- package/dist/preview/chunk.HE7SAJKZ.js +1 -0
- package/dist/preview/{chunk.JLNTE5CH.js → chunk.HIIYDKFC.js} +2 -2
- package/dist/preview/chunk.HPDUGKEF.js +32 -0
- package/dist/preview/{chunk.H4BPTMED.js → chunk.HQRPOGTS.js} +1 -1
- package/dist/preview/chunk.HUJLELZ3.js +1 -0
- package/dist/preview/chunk.HVRUHRXR.js +1 -0
- package/dist/preview/{chunk.QJJWAYHB.js → chunk.I46VNAMS.js} +1 -1
- package/dist/preview/{chunk.QK4QZVQG.js → chunk.ID4GOKT6.js} +1 -1
- package/dist/preview/{chunk.64K5ELSQ.js → chunk.IZKCTF2R.js} +1 -1
- package/dist/preview/{chunk.4HU2ILFY.js → chunk.IZUAZ6EV.js} +1 -1
- package/dist/preview/{chunk.5PQV7GFE.js → chunk.J3CUBMUZ.js} +1 -1
- package/dist/preview/{chunk.P43LPXXJ.js → chunk.J4D4BIB4.js} +1 -1
- package/dist/preview/{chunk.NI4OPHTL.js → chunk.J7GH2CGV.js} +1 -1
- package/dist/preview/{chunk.5WCSQFS5.js → chunk.JE4RBRKH.js} +1 -1
- package/dist/preview/{chunk.ARGEGV5T.js → chunk.JJSZLCNU.js} +1 -1
- package/dist/preview/{chunk.WS5ORRGS.js → chunk.JKX4J3KG.js} +1 -1
- package/dist/preview/{chunk.ZONRIOIA.js → chunk.JMXBMLKH.js} +1 -1
- package/dist/preview/{chunk.6ZRVVRDQ.js → chunk.JOB3EKS6.js} +1 -1
- package/dist/preview/{chunk.PQTXM4VY.js → chunk.JP33TNCH.js} +1 -1
- package/dist/preview/{chunk.Z3TK2LJM.js → chunk.K6EN2YR4.js} +1 -1
- package/dist/preview/chunk.K6YKXTKC.js +1 -0
- package/dist/preview/{chunk.VPFUOTY7.js → chunk.KAIZDIRK.js} +1 -1
- package/dist/preview/{chunk.KZUHXOZU.js → chunk.KAQGSLC6.js} +3 -3
- package/dist/preview/{chunk.WGH2P2YL.js → chunk.KFYSKZC4.js} +1 -1
- package/dist/preview/chunk.KHVW6Q3T.js +1 -0
- package/dist/preview/chunk.KMFH26SS.js +1 -0
- package/dist/preview/{chunk.67S2UWBT.js → chunk.L3ST2YKI.js} +1 -1
- package/dist/preview/{chunk.V5JB5UJS.js → chunk.L6BLZJ6K.js} +1 -1
- package/dist/preview/{chunk.MQNW3O67.js → chunk.LG2BQ5LB.js} +1 -1
- package/dist/preview/{chunk.T6KOL7TW.js → chunk.LLYHHG67.js} +1 -1
- package/dist/preview/{chunk.MWWNKM3I.js → chunk.LPWANRBL.js} +1 -1
- package/dist/preview/{chunk.EJC7ACZT.js → chunk.LSS64NAA.js} +1 -1
- package/dist/preview/{chunk.NH3VXTGX.js → chunk.MFNWHXGL.js} +1 -1
- package/dist/preview/{chunk.DG3YNOH3.js → chunk.MNH3WUAB.js} +1 -1
- package/dist/preview/chunk.MQ7AB5N4.js +1 -0
- package/dist/preview/{chunk.KJPLX72N.js → chunk.MU5JK5TK.js} +1 -1
- package/dist/preview/{chunk.L6P55HFW.js → chunk.N5CACZ5F.js} +1 -1
- package/dist/preview/{chunk.W3TJF4EH.js → chunk.NFC2TYA6.js} +1 -1
- package/dist/preview/{chunk.VL3YDD7D.js → chunk.NKRDVOLJ.js} +1 -1
- package/dist/preview/{chunk.SGYZM6ZU.js → chunk.NNK2E2EP.js} +1 -1
- package/dist/preview/{chunk.W332P5T3.js → chunk.NVPKYWMF.js} +1 -1
- package/dist/preview/{chunk.EEGVI266.js → chunk.NWJ7ELHN.js} +1 -1
- package/dist/preview/{chunk.7KX36ENH.js → chunk.O5P6LXHF.js} +1 -1
- package/dist/preview/{chunk.DX7RGK5G.js → chunk.OFK6673S.js} +1 -1
- package/dist/preview/{chunk.HPFEYMGP.js → chunk.OG6FEP3K.js} +1 -1
- package/dist/preview/{chunk.EA2KYBBR.js → chunk.OHGAZ3D5.js} +1 -1
- package/dist/preview/{chunk.SPJ34VHA.js → chunk.ONVYKLRX.js} +1 -1
- package/dist/preview/chunk.OQ3FKUP2.js +1 -0
- package/dist/preview/chunk.OUJV4CYS.js +1 -0
- package/dist/preview/{chunk.CVN2XFMF.js → chunk.OWHH7JDV.js} +1 -1
- package/dist/preview/{chunk.G767NLBH.js → chunk.OXDCGGZV.js} +1 -1
- package/dist/preview/{chunk.VVIQSFM4.js → chunk.P3Z4ZCL3.js} +1 -1
- package/dist/preview/{chunk.FNSVGSZI.js → chunk.PF7XQ5R5.js} +1 -1
- package/dist/preview/chunk.PH547SON.js +1 -0
- package/dist/preview/{chunk.N3MXLORL.js → chunk.PS765ODQ.js} +1 -1
- package/dist/preview/{chunk.NXHEOHRR.js → chunk.PVAYYFT2.js} +1 -1
- package/dist/preview/{chunk.Z22C2JJ4.js → chunk.Q6WOIE5I.js} +1 -1
- package/dist/preview/{chunk.CEJIH3CN.js → chunk.QE257AXE.js} +1 -1
- package/dist/preview/chunk.QKNC5OUC.js +1 -0
- package/dist/preview/{chunk.W6L2VAJG.js → chunk.QMGBAKX6.js} +1 -1
- package/dist/preview/{chunk.DJGZOPAS.js → chunk.QNFX5VHW.js} +1 -1
- package/dist/preview/chunk.QPCDAQTW.js +1 -0
- package/dist/preview/{chunk.Y5WQD6KV.js → chunk.QPTQIGLX.js} +1 -1
- package/dist/preview/{chunk.IXYG65TM.js → chunk.R5YGW5ZX.js} +1 -1
- package/dist/preview/{chunk.7FI75ZVE.js → chunk.RJ6KEVZC.js} +1 -1
- package/dist/preview/{chunk.OVSKPBPS.js → chunk.RKVMRP7B.js} +1 -1
- package/dist/preview/{chunk.7TACFS7Q.js → chunk.S7U2CHHG.js} +1 -1
- package/dist/preview/{chunk.HT35PAHI.js → chunk.SD2UYSV6.js} +2 -2
- package/dist/preview/{chunk.LQ5J6YQW.js → chunk.SI5GGFQR.js} +1 -1
- package/dist/preview/{chunk.U5KJQFAP.js → chunk.SMF5S4DQ.js} +1 -1
- package/dist/preview/{chunk.RO3D2RNP.js → chunk.SNDFIJVX.js} +1 -1
- package/dist/preview/{chunk.CEOQY5KS.js → chunk.STHWM422.js} +2 -2
- package/dist/preview/{chunk.X7U3JMBR.js → chunk.SV75TRCH.js} +1 -1
- package/dist/preview/{chunk.Q6GEPVQ7.js → chunk.SXGPRFA4.js} +1 -1
- package/dist/preview/{chunk.6TBQV3NO.js → chunk.T3RFZ66S.js} +1 -1
- package/dist/preview/{chunk.VGYG2IBZ.js → chunk.T6ISUVUP.js} +1 -1
- package/dist/preview/{chunk.L3MLGFIS.js → chunk.TBLOBXZ2.js} +1 -1
- package/dist/preview/{chunk.MT252WP4.js → chunk.TDWJU6GW.js} +1 -1
- package/dist/preview/{chunk.EPSYX2SF.js → chunk.THLT6NVO.js} +1 -1
- package/dist/preview/{chunk.W5O5F4FT.js → chunk.TQCVEKPH.js} +1 -1
- package/dist/preview/{chunk.4ZEHLUXV.js → chunk.TQF5XCUS.js} +1 -1
- package/dist/preview/{chunk.VICBF3MQ.js → chunk.TWXYI5AP.js} +1 -1
- package/dist/preview/{chunk.LNKY6MT4.js → chunk.UOUQZYVD.js} +1 -1
- package/dist/preview/{chunk.FIUPDGUZ.js → chunk.UPL3D3ZO.js} +1 -1
- package/dist/preview/{chunk.GFOZVQBQ.js → chunk.UXW43HNW.js} +1 -1
- package/dist/preview/{chunk.MM7MLBGB.js → chunk.V4GSVXSV.js} +1 -1
- package/dist/preview/chunk.VCEDSOAK.js +1 -0
- package/dist/preview/{chunk.3RRK6UTN.js → chunk.VE4AQFLW.js} +1 -1
- package/dist/preview/{chunk.QDDDKEBH.js → chunk.VGQDPEB5.js} +1 -1
- package/dist/preview/{chunk.XTHSPLZZ.js → chunk.VMYXBFPE.js} +1 -1
- package/dist/preview/{chunk.EHLV3LND.js → chunk.VNI6HZEF.js} +2 -2
- package/dist/preview/chunk.VQRY2NQ6.js +1 -0
- package/dist/preview/{chunk.MFMC35ET.js → chunk.VUE6ILQV.js} +1 -1
- package/dist/preview/{chunk.BSWR5SGX.js → chunk.W2VSEEKX.js} +1 -1
- package/dist/preview/{chunk.4QMAYVPU.js → chunk.WAPY4RCS.js} +1 -1
- package/dist/preview/chunk.WFRSGGU5.js +1 -0
- package/dist/preview/{chunk.QKRQPUCE.js → chunk.WIVNFOQR.js} +1 -1
- package/dist/preview/chunk.WRIBFLVG.js +1 -0
- package/dist/preview/{chunk.RHIP2UYE.js → chunk.WWD2TS47.js} +1 -1
- package/dist/preview/{chunk.7XGU6KVF.js → chunk.WWFOQDPR.js} +2 -2
- package/dist/preview/{chunk.JNK5WBSU.js → chunk.X5MCAUFX.js} +1 -1
- package/dist/preview/{chunk.G5AF5IXL.js → chunk.XBWFQ54R.js} +1 -1
- package/dist/preview/{chunk.7LPHWJB4.js → chunk.XMBGT6UT.js} +1 -1
- package/dist/preview/{chunk.FOHZPYUV.js → chunk.XP4IVKKR.js} +1 -1
- package/dist/preview/chunk.XYBWBMNU.js +1 -0
- package/dist/preview/{chunk.OPMGQS5J.js → chunk.YC2IDHQX.js} +1 -1
- package/dist/preview/{chunk.JAPTTM6Y.js → chunk.YCYJHPWS.js} +1 -1
- package/dist/preview/{chunk.T6UJEXFL.js → chunk.YF5GCOSZ.js} +1 -1
- package/dist/preview/{chunk.VDFQFLTU.js → chunk.YGGBGHZU.js} +1 -1
- package/dist/preview/{chunk.U6V4KZF5.js → chunk.YRC6PKXP.js} +1 -1
- package/dist/preview/{chunk.EJIQDMLU.js → chunk.YRN67Z5K.js} +1 -1
- package/dist/preview/{chunk.6L6RUOSF.js → chunk.ZDUKVXBI.js} +1 -1
- package/dist/preview/index.html +55 -55
- package/dist/preview/page.js +2 -2
- package/package.json +6 -6
- package/dist/preview/chunk.23DATB5Y.js +0 -1
- package/dist/preview/chunk.2INDKSJI.js +0 -1
- package/dist/preview/chunk.45HUV56Z.js +0 -1
- package/dist/preview/chunk.4LWWXIM4.js +0 -1
- package/dist/preview/chunk.4UDST6IF.js +0 -1
- package/dist/preview/chunk.6A3KTD66.js +0 -1
- package/dist/preview/chunk.6IMRCKB4.js +0 -1
- package/dist/preview/chunk.7ZLCA3WK.js +0 -1
- package/dist/preview/chunk.CPK6CYKN.js +0 -111
- package/dist/preview/chunk.DGYWNM5U.js +0 -1
- package/dist/preview/chunk.EOSN5DWW.js +0 -1
- package/dist/preview/chunk.EUXAIG73.js +0 -1
- package/dist/preview/chunk.EZQK23AB.js +0 -1
- package/dist/preview/chunk.F6MY6WJ4.js +0 -1
- package/dist/preview/chunk.FW6M6GIU.js +0 -32
- package/dist/preview/chunk.GKYJQE5A.js +0 -1
- package/dist/preview/chunk.HLKDYI6J.js +0 -1
- package/dist/preview/chunk.IZDB777E.js +0 -1
- package/dist/preview/chunk.JCKIJSW7.js +0 -25
- package/dist/preview/chunk.JREA2XDG.js +0 -1
- package/dist/preview/chunk.MJ4T6YXI.js +0 -1
- package/dist/preview/chunk.ML4X7VVK.js +0 -1
- package/dist/preview/chunk.NNGG7RCO.js +0 -1
- package/dist/preview/chunk.OOQG2AEF.js +0 -1
- package/dist/preview/chunk.RJ7VSWTA.js +0 -87
- package/dist/preview/chunk.RSMCTI2N.js +0 -1
- package/dist/preview/chunk.TBEKEHFS.js +0 -1
- package/dist/preview/chunk.TO3ZKCA2.js +0 -1
- package/dist/preview/chunk.TTM5GQ2U.js +0 -1
- package/dist/preview/chunk.TUBY6SV3.js +0 -1
- package/dist/preview/chunk.UJPX3BUV.js +0 -1
- package/dist/preview/chunk.X2UYEA7H.js +0 -1
- package/dist/preview/chunk.XSM4OTF4.js +0 -1
- package/dist/preview/chunk.YXVUJ3NB.js +0 -1
- package/dist/preview/chunk.ZGLOXN7O.js +0 -1
- package/dist/preview/chunk.ZLQIGZXO.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{r as We}from"./chunk.NXHEOHRR.js";import{a as ae,b as Oe,f as Ne,i as ze}from"./chunk.4LWWXIM4.js";import{a as Le,e as Re,l as De}from"./chunk.HXRHEPPJ.js";import{b as $e,c as O,d as qe,e as Ee}from"./chunk.QNWGDG2Z.js";import"./chunk.BJUUSIQY.js";import{a as He,b as Ie,c as Pe}from"./chunk.QDDDKEBH.js";import{a as Me}from"./chunk.F7KVEWFH.js";import"./chunk.QKRQPUCE.js";import"./chunk.SPJ34VHA.js";import"./chunk.XOZU4OFA.js";import"./chunk.KBJ3UUER.js";import"./chunk.U5KJQFAP.js";import"./chunk.6TBQV3NO.js";import"./chunk.MT252WP4.js";import"./chunk.VVIQSFM4.js";import"./chunk.TQ3MNB6K.js";import"./chunk.VGYG2IBZ.js";import{e as Te,m as Ce}from"./chunk.RJ7VSWTA.js";import"./chunk.P43LPXXJ.js";import{G as Je,J as be,Oa as xe,Y as Se,ga as Ae}from"./chunk.JCKIJSW7.js";import{a as ve}from"./chunk.SDO3U72B.js";import{pa as ye,pb as ke,zd as we}from"./chunk.6L6RUOSF.js";import"./chunk.FQLNBIQ5.js";import{b as ie}from"./chunk.AJZBJBMO.js";var s=ie(Je(),1);var r=ie(Se(),1),N=xe(ve(()=>(__graviewPreload(import.meta.url,["./chunk.QNWGDG2Z.js","./chunk.BJUUSIQY.js","./chunk.U5KJQFAP.js","./chunk.VGYG2IBZ.js","./chunk.RJ7VSWTA.js","./chunk.P43LPXXJ.js","./chunk.JCKIJSW7.js","./chunk.SDO3U72B.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.CEJIH3CN.js")))),Xe=N.part((a,i)=>(0,r.jsx)(a.RateTelling,{...i}),{quiet:!0}),Ze=a=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>setTimeout(a,0)):setTimeout(a,0)},et=()=>`tl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,tt=/^(yes|yep|yeah|sure|ok(ay)?|do it|go ahead|please do)\b/i,nt=/^(no|nope|don'?t|not now|never ?mind)\b/i;function it(a,i,o){let t=i.on==="list"||i.on==="lens"?i.kind:void 0;if(i.on==="selection")return i.ids;if(i.on!=="list"&&i.on!=="lens")return[];if(o==="pages"&&typeof document<"u"){let y=new Set;for(let u of document.querySelectorAll("main [data-graview-listed], main [data-graview-record], main [data-graview-pick]")){let m=u.getAttribute("data-graview-listed")??u.getAttribute("data-graview-record")??u.getAttribute("data-graview-pick"),b=m?a.graph.getNode(m):void 0;m&&b&&(t===void 0||b.kind===t)&&y.add(m)}if(y.size>0)return[...y]}return t?a.graph.allNodes().filter(y=>y.kind===t).map(y=>y.id):[]}var at=new Set(["show","go","to","open","the","a","an","me"]),Fe=a=>a.toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g,""),oe=(a,i)=>{let o=Fe(a);return i.every(t=>o.includes(t))},Ge=a=>a&&!/^.\p{Lu}/u.test(a)?`${a[0].toLowerCase()}${a.slice(1)}`:a,X={act:4,show:3,place:3,record:4},Ke=360,f=12;function $t({face:a,opening:i,close:o}){let t=Me(),{setMenuAt:y,aiHere:u,session:m,people:b,seats:E,onProposeChange:C,composeChange:$}=Ae(),[g,q]=(0,s.useState)({state:"offered"}),l=(0,s.useMemo)(()=>i.target??$e(i.pointed??{about:[]},e=>t.store.graph.has(e)),[i,t.store]),z=(0,s.useMemo)(()=>Re(t.store,l,t.places),[t.store,l,t.places]),[A,Q]=(0,s.useState)(""),[B,F]=(0,s.useState)(-1),[p,re]=(0,s.useState)(null),[se,ee]=(0,s.useState)(null),K=(0,s.useRef)(null),le=(0,s.useRef)(null),Y=(0,s.useRef)(null),j=(0,s.useId)(),I=(0,s.useRef)(!0),{ghost:de}=be(t.desk),[te,Qe]=(0,s.useState)(null),P=(0,s.useRef)(null),H=(0,s.useCallback)(e=>{let n=P.current;!n||!t.ai.told||(n.kept&&N.current?N.current.changeTelling(t.ai.told,n.id,e):n.queued={...n.queued,...e})},[t.ai.told]);(0,s.useEffect)(()=>{let e=t.ai.told;if(!e)return;let n=globalThis,d=()=>void N.load().then(w=>w.toldListed(e),()=>{});if(n.requestIdleCallback){let w=n.requestIdleCallback(d,{timeout:1500});return()=>n.cancelIdleCallback?.(w)}let T=setTimeout(d,200);return()=>clearTimeout(T)},[t.ai.told]),(0,s.useEffect)(()=>()=>{I.current=!1;let e=P.current,n=t.desk.get().ghost;e&&!(n&&n.ghost.interaction===e.interaction&&n.batch===void 0)&&H({outcome:"abandoned"});let d=t.desk.get().ghost;d?.onCard&&t.desk.setGhost({...d,onCard:!1})},[t.desk]);let ce=p!==null;(0,s.useEffect)(()=>{if(!ce)return;let e=O(l)[0]??(l.on==="list"?`kind:${l.kind}`:l.on==="lens"&&l.kind?`kind:${l.kind}`:null),n=t.principal,d=n.id?ke(n,{graph:t.store.graph,schema:t.store.schema,...E?{seats:E}:{},...b?{people:b}:{}}):void 0;return u({participant:`agent:graview-for-${n.id??"anyone"}:${m}`,kind:"agent",name:"Graview",...n.id?{onBehalfOf:n.id,...d?{onBehalfOfName:d}:{}}:{},over:e,robot:{at:e,mode:"thinking"}}),()=>u(null)},[ce]);let U=(0,s.useMemo)(()=>{let e=ae(t,l);return qe(t.store,l,{principal:t.principal,places:t.places,...e.acts?{acts:e.acts}:{}})},[t,l]),ue=(0,s.useMemo)(()=>{let e=O(l);if(e.length===0)return[];let n=new Set(U.candidates.flatMap(d=>d.type==="act"?[d.mutation]:[]));return He(t.store,e,{principal:t.principal,...e.length===1?{focus:e[0]}:{}}).affordances.filter(d=>!d.destructive&&n.has(d.mutation))},[t.store,t.principal,l,U]),V=(0,s.useCallback)(()=>{let e=i.returnTo,n=Be(K.current,l,a);o(),requestAnimationFrame(()=>{if(e?.isConnected&&!e.closest("[inert]"))return e.focus({preventScroll:!0});let d=(n&&n.tabIndex>=0?n:null)??document.querySelector("[data-graview-page-title]")??document.querySelector("main");d&&d.tabIndex<0&&!d.hasAttribute("tabindex")&&d.setAttribute("tabindex","-1"),d?.focus({preventScroll:!0})})},[i.returnTo,l,a,o]),pe=(0,s.useCallback)(e=>{if(e.open.length>0){let n=K.current?.getBoundingClientRect();o(),y({x:n?.left??0,y:n?.top??0,on:e.args.id??O(l)[0],about:O(l)});return}try{Pe(t.store,e,{},{pressed:t.principal?{author:t.principal}:{}}),Ie(t.store,e,{},{author:t.principal}),V()}catch(n){ee(n instanceof Error?n.message:String(n))}},[t.store,t.principal,o,V,y,l]),_=(0,s.useCallback)(async e=>{let n=e.trim();if(!n)return;let d=p?.result?.answer?{said:p.said,answer:p.result.answer,...p.result.reading?{reading:p.result.reading.which}:{}}:void 0,T=l.on==="lens"?t.places.find(M=>M.as===l.place)?.title:(l.on==="list",void 0);Q(""),F(-1),ee(null),re({said:n,result:null}),q({state:"offered"});let w=it(t.store,l,a),S=P.current;S&&H({outcome:"abandoned"});let c=Date.now(),k=t.ai.told?N.current??await Promise.race([N.load().catch(()=>{}),new Promise(M=>setTimeout(M,50))]):void 0,R=t.ai.told&&k?k.examplesHere(t.ai.told,t.store,t.principal,n,l):{examples:[],ids:[]},Ve=[...new Set([...S?[]:i.suggested?[i.suggested]:[],...R.ids])],v=await De(t.ai,{...ae(t,l,n),said:n,...d?{follows:d}:{},...w.length>0?{members:w}:{},...T?{where:T}:{},...R.examples.length>0?{examples:R.examples}:{}});t.desk.record(v.interaction),v.ghost&&v.ghost.proposals.length>0&&t.desk.setGhost({ghost:v.ghost,onCard:!0});let W;if(v.missing)try{let{planFor:M}=await (__graviewPreload(import.meta.url,["./chunk.QNWGDG2Z.js","./chunk.BJUUSIQY.js","./chunk.U5KJQFAP.js","./chunk.VGYG2IBZ.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.HPFEYMGP.js")),G=Date.now(),me=T??(v.reading&&v.reading.which==="held"&&l.on==="record"?v.reading.words.replace(/^the \d+ \S+ in /,""):void 0);W=await M(t,{said:n,missing:v.missing,members:v.reading?.records??w,host:C!==void 0,...$?{compose:$}:{},...me?{where:me}:{}}),t.desk.record({...v.interaction,stages:[...v.interaction.stages??[],{stage:"compose",ms:Date.now()-G}]})}catch{W={refused:`${v.missing.said} That change could not be made here.`}}I.current&&re({said:n,result:v,...W?{plan:W}:{}});let J=t.ai.told;if(!J)return;let _e=Date.now()-c;P.current?.stop?.();let ne={id:et(),conversation:S?.conversation??"",interaction:v.interaction.id};P.current={...ne,conversation:ne.conversation||ne.id};let D=P.current;Ze(()=>void N.load().then(M=>{let G=M.keepTelling(J,{...M.tellingDraftOf(t.store,{words:n,target:l,result:v,...W?{plan:W}:{},ms:_e,...S?{conversation:S.conversation,follows:S.id}:{},examples:Ve}),id:D.id,conversation:D.conversation},t.principal);G&&(D.kept=!0,D.queued&&M.changeTelling(J,G.id,D.queued),D.stop=M.watchTelling(t.desk,J,G),I.current&&P.current===D&&Qe(G))},()=>{}))},[p,t,l,a,C,$,i.suggested,H]),L=p?.plan&&"question"in p.plan?p.plan:void 0,ge=(0,s.useCallback)(async()=>{let e=L?.proposal;if(!(!e||!C||g.state!=="offered")){q({state:"applying"});try{let n=await C(e);if(!I.current)return;H({outcome:n==="declined"?"declined":"accepted"}),q(n==="declined"?{state:"declined",said:"The host declined this change to the app."}:{state:"applied",...typeof n=="object"?{undo:n.undo,...n.note?{note:n.note}:{}}:{}})}catch(n){I.current&&q({state:"declined",said:n instanceof Error?n.message:String(n)})}}},[L,C,g,H]),fe=(0,s.useCallback)(()=>{H({outcome:"declined"}),q({state:"declined",said:"Left as it is."})},[H]),Ye=(0,s.useCallback)(async()=>{g.state!=="applied"||!g.undo||(await g.undo(),H({outcome:"undone"}),I.current&&q({state:"undone"}))},[g,H]),he=(0,s.useRef)(i.asked);(0,s.useEffect)(()=>{let e=he.current;he.current=void 0,e&&_(e)},[]);let x=(0,s.useMemo)(()=>{let e=A.trim();if(!e&&p)return[];let n=Fe(e).split(/\s+/).filter(c=>c&&!at.has(c)),d=/^show\b/i.test(e),T=/^(go|open)\b/i.test(e),w=[];if(!d&&!T)for(let c of ue.filter(k=>oe(k.label,n)).slice(0,X.act))w.push({id:`act:${c.id}`,kind:"act",label:c.label,hint:c.open.length>0?"asks more":"do it",take:()=>pe(c)});let S=e&&!/\?\s*$/.test(e)?Ee(t.store,l,{principal:t.principal,places:t.places,said:e}):[];for(let c of S)w.push({id:`place:${c.place}`,kind:"place",label:c.fit==="full"?`Open ${c.title}`:`Open and adjust ${c.title}`,hint:c.fit==="full"?"a view you have":"adjust it",take:()=>{o(),t.goTo.place(c.place),c.fit==="partial"&&Te(t.desk,{target:{on:"lens",place:c.place,...c.kind?{kind:c.kind}:{}},asked:e})}});if(!T){let c=U.candidates.filter(k=>k.type==="panel");for(let k of c.filter(R=>oe(`show ${R.label}`,n)).slice(0,X.show))w.push({id:k.id,kind:"show",label:`Show ${Ge(k.label)}`,hint:"a panel",take:()=>{o(),Oe(t,{title:k.label,recipe:{...k.panel,title:k.label}})}})}if(!d){for(let c of t.places.filter(k=>oe(k.title,n)&&!S.some(R=>R.place===k.as)).slice(0,X.place))w.push({id:`place:${c.as}`,kind:"place",label:`Go to ${c.title}`,take:()=>(o(),t.goTo.place(c.as))});if(n.length>0){let c=We(t.store,e.replace(/^(go to|open)\s+/i,""),{principal:t.principal,from:O(l),limit:X.record}).hits;for(let k of c)k.about==="node"&&w.push({id:`record:${k.id}`,kind:"record",label:k.label,hint:ye(t.store.schema,k.kind),take:()=>(o(),t.goTo.record(k.id))})}}return e&&w.push({id:"ask",kind:"ask",label:e,take:()=>void _(e)}),w},[A,ue,U,t,l,pe,_,o,p]);(0,s.useEffect)(()=>F(A.trim()?0:-1),[A]),(0,s.useLayoutEffect)(()=>{let e=K.current;if(!e)return;if(typeof e.showPopover=="function")try{e.showPopover()}catch{}le.current?.focus({preventScroll:!0});let n=0,d=null,T=i.from;T&&rt(e,T);let w=()=>{let S=Be(e,l,a);T?st(e,S):ot(e,S);let c=Y.current?S:null;d!==c&&(d?.removeAttribute("data-graview-ai-thinking"),c?.setAttribute("data-graview-ai-thinking",""),d=c),Y.current&<(Y.current,c),n=requestAnimationFrame(w)};return w(),()=>{cancelAnimationFrame(n),d?.removeAttribute("data-graview-ai-thinking")}},[l,a,i.from]),(0,s.useEffect)(()=>{if(p)return;let e=n=>{n.target instanceof Node&&K.current?.contains(n.target)||o()};return document.addEventListener("pointerdown",e,!0),()=>document.removeEventListener("pointerdown",e,!0)},[p,o]);let je=e=>{if(e.key==="ArrowDown"&&x.length>0)e.preventDefault(),F(n=>Math.min(x.length-1,n+1));else if(e.key==="ArrowUp"&&x.length>0)e.preventDefault(),F(n=>Math.max(0,n-1));else if(e.key==="Enter"){e.preventDefault();let n=x[B];n?n.take():L?.proposal&&g.state==="offered"&&tt.test(A.trim())?(Q(""),ge()):L&&g.state==="offered"&&nt.test(A.trim())?(Q(""),fe()):A.trim()&&_(A)}},h=p?.result??null,Ue=x[B];return(0,r.jsxs)("section",{ref:K,popover:"manual",role:"region","aria-label":p?`Answer about ${z}`:`Tell Graview about ${z}`,"data-testid":"quick-ask","data-quick-ask":p?"answer":"bar","data-quick-ask-face":a,"data-graview-offstage":"","data-graview-overlay":"",onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),V())},onMouseDown:e=>e.stopPropagation(),style:pt,children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,r.jsxs)("p",{"data-testid":"quick-ask-about",style:{margin:0,flex:"1 1 auto",minWidth:0,fontSize:"0.75rem",color:"var(--graview-ink-muted)",overflowWrap:"anywhere"},children:["About ",z]}),(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-close","aria-label":"Close",title:"Close",onClick:V,style:gt,children:(0,r.jsx)("span",{"aria-hidden":"true",children:"\u2715"})})]}),p?(0,r.jsxs)("div",{"data-testid":"quick-answer",style:{display:"grid",gap:8},children:[(0,r.jsxs)("p",{"data-testid":"quick-answer-asked",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)",fontStyle:"italic",overflowWrap:"anywhere"},children:["\u201C",p.said,"\u201D"]}),(0,r.jsx)("p",{"data-testid":"quick-answer-text","aria-live":"polite",style:{margin:0,fontSize:"0.9375rem",lineHeight:1.45,color:h?.interaction.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)",overflowWrap:"anywhere"},children:h===null?"Thinking\u2026":h.interaction.outcome==="failed"?h.interaction.failed??"The AI could not answer that here.":Le(p.plan?"question"in p.plan?p.plan.question:p.plan.refused:h.answer,h.ghost&&h.ghost.proposals.length>0?"Here is what I would change.":h.offers.length>0?"These may help.":void 0)}),h?.taken?(0,r.jsxs)("p",{"data-testid":"quick-ask-taken",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["Taking \u201C",h.taken.said,"\u201D as ",h.taken.as,"."]}):null,h?.reading?.close?(0,r.jsxs)("p",{"data-testid":"quick-ask-reading",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["Taking this as ",h.reading.words,"."]}):null,L?(0,r.jsxs)("section",{"data-testid":"quick-ask-plan","data-plan-state":g.state,"aria-label":"What I would do",style:ut,children:[(0,r.jsx)("ol",{style:{margin:0,paddingInlineStart:18,display:"grid",gap:2},children:L.parts.map((e,n)=>(0,r.jsx)("li",{"data-plan-part":e.part,style:{fontStyle:g.state==="applied"?"normal":"italic"},children:e.said},n))}),L.proposal&&C?g.state==="offered"||g.state==="applying"?(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-yes",disabled:g.state==="applying",onClick:()=>void ge(),style:Z,children:"Yes"}),(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-no",disabled:g.state==="applying",onClick:fe,style:Z,children:"No"})]}):g.state==="applied"?(0,r.jsxs)("div",{role:"status",style:{display:"flex",gap:6,alignItems:"center"},children:[(0,r.jsxs)("span",{"data-testid":"quick-ask-plan-done",children:["Done, as one change.",g.note?` ${g.note}`:""]}),g.undo?(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-undo",onClick:()=>void Ye(),style:Z,children:"Undo"}):null]}):(0,r.jsx)("p",{role:"status",style:{margin:0,color:"var(--graview-ink-muted)"},children:g.state==="undone"?"Taken back.":g.said}):null]}):null,h&&h.offers.length>0?(0,r.jsx)("ul",{"aria-label":"What acts on it",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:6},children:h.offers.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)("button",{type:"button","data-testid":"quick-answer-offer","data-ai-offer":e.id,"data-ai-offer-type":e.type,onClick:()=>{Ne(t,h,e,o,{onCard:e.type==="act"||e.type==="fill"}).then(n=>{n&&I.current&&ee(n)})},style:Z,children:e.type==="panel"?`Show ${Ge(e.label)}`:e.type==="place"?`Go to ${e.label}`:e.type==="act"||e.type==="fill"?`${e.label.replace(/[.?]$/,"")}?`:e.label})},e.id))}):null,de?.onCard&&de.ghost.interaction===h?.interaction.id?(0,r.jsx)(ze,{placement:"card"}):null,h&&te&&t.ai.told&&te.interaction===h.interaction.id?(0,r.jsx)(Xe,{told:t.ai.told,telling:te}):null]}):null,(0,r.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,r.jsx)("input",{ref:le,type:"text",role:"combobox","data-testid":"quick-ask-input","aria-label":p?`Reply about ${z}`:`Tell Graview about ${z}, or go somewhere`,"aria-expanded":x.length>0,"aria-controls":j,"aria-autocomplete":"list",...Ue?{"aria-activedescendant":`${j}-${B}`}:{},autoComplete:"off",enterKeyHint:"go",placeholder:p?"Reply\u2026":"Tell Graview, or go to\u2026",value:A,readOnly:p!==null&&h===null,"aria-busy":p!==null&&h===null,onChange:e=>Q(e.target.value),onKeyDown:je,style:ft}),(0,r.jsx)("div",{id:j,role:"listbox","aria-label":A.trim()?`What \u201C${A.trim()}\u201D finds here`:"What can be done here",hidden:x.length===0,style:{display:x.length===0?"none":"grid",gap:1,maxHeight:280,overflowY:"auto"},children:x.map((e,n)=>(0,r.jsx)("div",{id:`${j}-${n}`,role:"option","aria-selected":n===B,"data-testid":"quick-ask-option","data-quick-ask-kind":e.kind,"data-quick-ask-row":e.id,onMouseEnter:()=>F(n),onMouseDown:d=>d.preventDefault(),onClick:e.take,style:{...ht,background:n===B?"var(--graview-panel-muted)":"transparent",...e.kind==="ask"?{borderTop:"1px solid var(--graview-edge)",marginTop:2}:{}},children:e.kind==="ask"?(0,r.jsxs)("span",{children:["Tell Graview: ",(0,r.jsxs)("span",{style:{fontWeight:600},children:["\u2018",e.label,"\u2019"]})]}):(0,r.jsxs)("span",{children:[e.label,e.hint?(0,r.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",e.hint]}):null]})},e.id))})]}),se?(0,r.jsx)("p",{role:"alert","data-testid":"quick-ask-refused",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-warn)"},children:se}):null,(0,r.jsx)("span",{style:Ce,"aria-live":"polite",children:x.length>0&&A.trim()?`${x.length} ${x.length===1?"way":"ways"} to go on`:""}),p!==null&&h===null?(0,r.jsxs)("span",{ref:Y,role:"status","data-testid":"ai-thinking-mark",style:dt,children:[(0,r.jsx)("style",{children:"@keyframes graview-thinking{from{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){[data-testid=ai-thinking-mark]>span{animation:none!important}}"}),(0,r.jsx)("span",{"aria-hidden":"true",style:ct}),(0,r.jsxs)("span",{children:["Thinking about ",z,"\u2026"]})]}):null]})}function Be(a,i,o){let t=a?.closest("[data-graview-embed]")??document,y=i.on==="list"?[`aggregate:${i.kind}`,`kind:${i.kind}`]:i.on==="lens"&&i.kind?[`aggregate:${i.kind}`]:O(i);for(let u of y)for(let m of t.querySelectorAll(`[data-graview-view="${CSS.escape(u)}"], [data-graview-pick="${CSS.escape(u)}"], [data-graview-record="${CSS.escape(u)}"], [data-graview-listed="${CSS.escape(u)}"]`)){if(a?.contains(m))continue;let b=m.getBoundingClientRect();if(b.width>0&&b.height>0)return m}return o==="pages"?t.querySelector("main [data-graview-page-title]")??t.querySelector("main h1"):null}function ot(a,i){let o={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},t=Math.min(Ke,o.width-2*f),y=a.getBoundingClientRect().height,u=i?.getBoundingClientRect(),m,b,E,C=l=>Math.max(f,Math.min(l,o.height-y-f));if(u&&u.width>0&&u.bottom>0&&u.top<o.height)if(u.right+f+t<=o.width-f)m=u.right+f,b=C(u.top),E="right";else if(u.left-f-t>=f)m=u.left-f-t,b=C(u.top),E="left";else{m=Math.max(f,Math.min(u.left,o.width-t-f));let l=u.bottom+f;b=l+y<=o.height-f?l:C(u.top-f-y),E=l+y<=o.height-f?"below":"above"}else m=(o.width-t)/2,b=C(72),E="top";let $=a.style,g={left:`${Math.round(m)}px`,top:`${Math.round(b)}px`,width:`${Math.round(t)}px`};$.left!==g.left&&($.left=g.left),$.top!==g.top&&($.top=g.top),$.width!==g.width&&($.width=g.width);let q=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");a.getAttribute("data-quick-ask-beside")!==q&&a.setAttribute("data-quick-ask-beside",q),a.getAttribute("data-quick-ask-side")!==E&&a.setAttribute("data-quick-ask-side",E)}function rt(a,i){let o={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},t=Math.min(Ke,o.width-2*f),y=i.left+t>o.width-f?Math.max(f,o.width-f-t):Math.max(f,i.left),u=240,m=i.top+u>o.height-f?Math.max(f,o.height-f-u):Math.max(f,i.top);a.style.left=`${Math.round(y)}px`,a.style.top=`${Math.round(m)}px`,a.style.width=`${Math.round(t)}px`,a.style.maxHeight=`${Math.round(o.height-m-f)}px`,a.setAttribute("data-quick-ask-side","where-the-menu-stood"),a.setAttribute("data-quick-ask-from",`${Math.round(i.left)},${Math.round(i.top)}`)}function st(a,i){let o=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");a.getAttribute("data-quick-ask-beside")!==o&&a.setAttribute("data-quick-ask-beside",o)}function lt(a,i){let o=i?.getBoundingClientRect(),t=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");if(a.getAttribute("data-thinking-on")!==t&&a.setAttribute("data-thinking-on",t),!o||o.width===0){a.style.visibility!=="hidden"&&(a.style.visibility="hidden");return}let y=a.getBoundingClientRect().width,u=`${Math.round(Math.max(f/2,o.right-y-6))}px`,m=`${Math.round(Math.max(f/2,o.top-10))}px`;a.style.left!==u&&(a.style.left=u),a.style.top!==m&&(a.style.top=m),a.style.visibility!=="visible"&&(a.style.visibility="visible")}var dt={position:"fixed",visibility:"hidden",display:"inline-flex",alignItems:"center",gap:6,padding:"2px 8px",borderRadius:999,fontSize:"0.75rem",lineHeight:1.4,whiteSpace:"nowrap",color:"var(--graview-ink)",background:"var(--graview-float)",border:"1px dashed var(--graview-accent)",boxShadow:"var(--graview-lift-low)",pointerEvents:"none"},ct={width:7,height:7,borderRadius:999,background:"var(--graview-accent)",animation:"graview-thinking 1s ease-in-out infinite alternate"},ut={display:"grid",gap:8,padding:10,borderRadius:10,border:"1px dashed var(--graview-accent)",fontSize:"0.875rem"},pt={position:"fixed",inset:"auto",height:"auto",margin:0,zIndex:we("popover"),boxSizing:"border-box",display:"grid",gap:10,padding:12,borderRadius:12,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",color:"var(--graview-ink)",boxShadow:"var(--graview-lift-high)",maxHeight:"calc(100dvh - 24px)",overflowY:"auto",fontSize:"0.875rem"},gt={display:"inline-grid",placeItems:"center",width:28,height:28,padding:0,font:"inherit",fontSize:"0.875rem",lineHeight:1,color:"var(--graview-ink-muted)",background:"transparent",border:"1px solid transparent",borderRadius:6,boxShadow:"none",cursor:"pointer"},ft={boxSizing:"border-box",width:"100%",height:36,padding:"0 10px",font:"inherit",fontSize:"max(1rem,16px)",color:"var(--graview-ink)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:8},ht={display:"flex",alignItems:"center",minHeight:30,padding:"4px 8px",borderRadius:6,cursor:"pointer",overflowWrap:"anywhere"},Z={display:"inline-flex",alignItems:"center",minHeight:30,padding:"2px 10px",font:"inherit",fontSize:"0.8125rem",borderRadius:8};export{$t as QuickAskCard};
|
|
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{r as We}from"./chunk.PVAYYFT2.js";import{a as ae,b as Oe,f as Ne,i as ze}from"./chunk.GMHBAS45.js";import{a as Le,e as Re,l as De}from"./chunk.4VX7GPFS.js";import{b as $e,c as O,d as qe,e as Ee}from"./chunk.FQ2QUDZS.js";import"./chunk.BJUUSIQY.js";import{a as He,b as Ie,c as Pe}from"./chunk.VGQDPEB5.js";import{a as Me}from"./chunk.6YKKZI4H.js";import"./chunk.WIVNFOQR.js";import"./chunk.ONVYKLRX.js";import"./chunk.XOZU4OFA.js";import"./chunk.53GQQETN.js";import"./chunk.SMF5S4DQ.js";import"./chunk.T3RFZ66S.js";import"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import{e as Te,m as Ce}from"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as Je,J as be,Qa as xe,_ as Se,ia as Ae}from"./chunk.ASNVH2G4.js";import{a as ve}from"./chunk.SDO3U72B.js";import{pa as ye,pb as ke,zd as we}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as ie}from"./chunk.AJZBJBMO.js";var s=ie(Je(),1);var r=ie(Se(),1),N=xe(ve(()=>(__graviewPreload(import.meta.url,["./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.SMF5S4DQ.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.QE257AXE.js")))),Xe=N.part((a,i)=>(0,r.jsx)(a.RateTelling,{...i}),{quiet:!0}),Ze=a=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(()=>setTimeout(a,0)):setTimeout(a,0)},et=()=>`tl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,tt=/^(yes|yep|yeah|sure|ok(ay)?|do it|go ahead|please do)\b/i,nt=/^(no|nope|don'?t|not now|never ?mind)\b/i;function it(a,i,o){let t=i.on==="list"||i.on==="lens"?i.kind:void 0;if(i.on==="selection")return i.ids;if(i.on!=="list"&&i.on!=="lens")return[];if(o==="pages"&&typeof document<"u"){let y=new Set;for(let u of document.querySelectorAll("main [data-graview-listed], main [data-graview-record], main [data-graview-pick]")){let m=u.getAttribute("data-graview-listed")??u.getAttribute("data-graview-record")??u.getAttribute("data-graview-pick"),b=m?a.graph.getNode(m):void 0;m&&b&&(t===void 0||b.kind===t)&&y.add(m)}if(y.size>0)return[...y]}return t?a.graph.allNodes().filter(y=>y.kind===t).map(y=>y.id):[]}var at=new Set(["show","go","to","open","the","a","an","me"]),Fe=a=>a.toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g,""),oe=(a,i)=>{let o=Fe(a);return i.every(t=>o.includes(t))},Ge=a=>a&&!/^.\p{Lu}/u.test(a)?`${a[0].toLowerCase()}${a.slice(1)}`:a,X={act:4,show:3,place:3,record:4},Ke=360,f=12;function $t({face:a,opening:i,close:o}){let t=Me(),{setMenuAt:y,aiHere:u,session:m,people:b,seats:E,onProposeChange:C,composeChange:$}=Ae(),[g,q]=(0,s.useState)({state:"offered"}),l=(0,s.useMemo)(()=>i.target??$e(i.pointed??{about:[]},e=>t.store.graph.has(e)),[i,t.store]),z=(0,s.useMemo)(()=>Re(t.store,l,t.places),[t.store,l,t.places]),[A,Q]=(0,s.useState)(""),[B,F]=(0,s.useState)(-1),[p,re]=(0,s.useState)(null),[se,ee]=(0,s.useState)(null),K=(0,s.useRef)(null),le=(0,s.useRef)(null),Y=(0,s.useRef)(null),j=(0,s.useId)(),I=(0,s.useRef)(!0),{ghost:de}=be(t.desk),[te,Qe]=(0,s.useState)(null),P=(0,s.useRef)(null),H=(0,s.useCallback)(e=>{let n=P.current;!n||!t.ai.told||(n.kept&&N.current?N.current.changeTelling(t.ai.told,n.id,e):n.queued={...n.queued,...e})},[t.ai.told]);(0,s.useEffect)(()=>{let e=t.ai.told;if(!e)return;let n=globalThis,d=()=>void N.load().then(w=>w.toldListed(e),()=>{});if(n.requestIdleCallback){let w=n.requestIdleCallback(d,{timeout:1500});return()=>n.cancelIdleCallback?.(w)}let T=setTimeout(d,200);return()=>clearTimeout(T)},[t.ai.told]),(0,s.useEffect)(()=>()=>{I.current=!1;let e=P.current,n=t.desk.get().ghost;e&&!(n&&n.ghost.interaction===e.interaction&&n.batch===void 0)&&H({outcome:"abandoned"});let d=t.desk.get().ghost;d?.onCard&&t.desk.setGhost({...d,onCard:!1})},[t.desk]);let ce=p!==null;(0,s.useEffect)(()=>{if(!ce)return;let e=O(l)[0]??(l.on==="list"?`kind:${l.kind}`:l.on==="lens"&&l.kind?`kind:${l.kind}`:null),n=t.principal,d=n.id?ke(n,{graph:t.store.graph,schema:t.store.schema,...E?{seats:E}:{},...b?{people:b}:{}}):void 0;return u({participant:`agent:graview-for-${n.id??"anyone"}:${m}`,kind:"agent",name:"Graview",...n.id?{onBehalfOf:n.id,...d?{onBehalfOfName:d}:{}}:{},over:e,robot:{at:e,mode:"thinking"}}),()=>u(null)},[ce]);let U=(0,s.useMemo)(()=>{let e=ae(t,l);return qe(t.store,l,{principal:t.principal,places:t.places,...e.acts?{acts:e.acts}:{}})},[t,l]),ue=(0,s.useMemo)(()=>{let e=O(l);if(e.length===0)return[];let n=new Set(U.candidates.flatMap(d=>d.type==="act"?[d.mutation]:[]));return He(t.store,e,{principal:t.principal,...e.length===1?{focus:e[0]}:{}}).affordances.filter(d=>!d.destructive&&n.has(d.mutation))},[t.store,t.principal,l,U]),V=(0,s.useCallback)(()=>{let e=i.returnTo,n=Be(K.current,l,a);o(),requestAnimationFrame(()=>{if(e?.isConnected&&!e.closest("[inert]"))return e.focus({preventScroll:!0});let d=(n&&n.tabIndex>=0?n:null)??document.querySelector("[data-graview-page-title]")??document.querySelector("main");d&&d.tabIndex<0&&!d.hasAttribute("tabindex")&&d.setAttribute("tabindex","-1"),d?.focus({preventScroll:!0})})},[i.returnTo,l,a,o]),pe=(0,s.useCallback)(e=>{if(e.open.length>0){let n=K.current?.getBoundingClientRect();o(),y({x:n?.left??0,y:n?.top??0,on:e.args.id??O(l)[0],about:O(l)});return}try{Pe(t.store,e,{},{pressed:t.principal?{author:t.principal}:{}}),Ie(t.store,e,{},{author:t.principal}),V()}catch(n){ee(n instanceof Error?n.message:String(n))}},[t.store,t.principal,o,V,y,l]),_=(0,s.useCallback)(async e=>{let n=e.trim();if(!n)return;let d=p?.result?.answer?{said:p.said,answer:p.result.answer,...p.result.reading?{reading:p.result.reading.which}:{}}:void 0,T=l.on==="lens"?t.places.find(M=>M.as===l.place)?.title:(l.on==="list",void 0);Q(""),F(-1),ee(null),re({said:n,result:null}),q({state:"offered"});let w=it(t.store,l,a),S=P.current;S&&H({outcome:"abandoned"});let c=Date.now(),k=t.ai.told?N.current??await Promise.race([N.load().catch(()=>{}),new Promise(M=>setTimeout(M,50))]):void 0,R=t.ai.told&&k?k.examplesHere(t.ai.told,t.store,t.principal,n,l):{examples:[],ids:[]},Ve=[...new Set([...S?[]:i.suggested?[i.suggested]:[],...R.ids])],v=await De(t.ai,{...ae(t,l,n),said:n,...d?{follows:d}:{},...w.length>0?{members:w}:{},...T?{where:T}:{},...R.examples.length>0?{examples:R.examples}:{}});t.desk.record(v.interaction),v.ghost&&v.ghost.proposals.length>0&&t.desk.setGhost({ghost:v.ghost,onCard:!0});let W;if(v.missing)try{let{planFor:M}=await (__graviewPreload(import.meta.url,["./chunk.FQ2QUDZS.js","./chunk.BJUUSIQY.js","./chunk.SMF5S4DQ.js","./chunk.T6ISUVUP.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.OG6FEP3K.js")),G=Date.now(),me=T??(v.reading&&v.reading.which==="held"&&l.on==="record"?v.reading.words.replace(/^the \d+ \S+ in /,""):void 0);W=await M(t,{said:n,missing:v.missing,members:v.reading?.records??w,host:C!==void 0,...$?{compose:$}:{},...me?{where:me}:{}}),t.desk.record({...v.interaction,stages:[...v.interaction.stages??[],{stage:"compose",ms:Date.now()-G}]})}catch{W={refused:`${v.missing.said} That change could not be made here.`}}I.current&&re({said:n,result:v,...W?{plan:W}:{}});let J=t.ai.told;if(!J)return;let _e=Date.now()-c;P.current?.stop?.();let ne={id:et(),conversation:S?.conversation??"",interaction:v.interaction.id};P.current={...ne,conversation:ne.conversation||ne.id};let D=P.current;Ze(()=>void N.load().then(M=>{let G=M.keepTelling(J,{...M.tellingDraftOf(t.store,{words:n,target:l,result:v,...W?{plan:W}:{},ms:_e,...S?{conversation:S.conversation,follows:S.id}:{},examples:Ve}),id:D.id,conversation:D.conversation},t.principal);G&&(D.kept=!0,D.queued&&M.changeTelling(J,G.id,D.queued),D.stop=M.watchTelling(t.desk,J,G),I.current&&P.current===D&&Qe(G))},()=>{}))},[p,t,l,a,C,$,i.suggested,H]),L=p?.plan&&"question"in p.plan?p.plan:void 0,ge=(0,s.useCallback)(async()=>{let e=L?.proposal;if(!(!e||!C||g.state!=="offered")){q({state:"applying"});try{let n=await C(e);if(!I.current)return;H({outcome:n==="declined"?"declined":"accepted"}),q(n==="declined"?{state:"declined",said:"The host declined this change to the app."}:{state:"applied",...typeof n=="object"?{undo:n.undo,...n.note?{note:n.note}:{}}:{}})}catch(n){I.current&&q({state:"declined",said:n instanceof Error?n.message:String(n)})}}},[L,C,g,H]),fe=(0,s.useCallback)(()=>{H({outcome:"declined"}),q({state:"declined",said:"Left as it is."})},[H]),Ye=(0,s.useCallback)(async()=>{g.state!=="applied"||!g.undo||(await g.undo(),H({outcome:"undone"}),I.current&&q({state:"undone"}))},[g,H]),he=(0,s.useRef)(i.asked);(0,s.useEffect)(()=>{let e=he.current;he.current=void 0,e&&_(e)},[]);let x=(0,s.useMemo)(()=>{let e=A.trim();if(!e&&p)return[];let n=Fe(e).split(/\s+/).filter(c=>c&&!at.has(c)),d=/^show\b/i.test(e),T=/^(go|open)\b/i.test(e),w=[];if(!d&&!T)for(let c of ue.filter(k=>oe(k.label,n)).slice(0,X.act))w.push({id:`act:${c.id}`,kind:"act",label:c.label,hint:c.open.length>0?"asks more":"do it",take:()=>pe(c)});let S=e&&!/\?\s*$/.test(e)?Ee(t.store,l,{principal:t.principal,places:t.places,said:e}):[];for(let c of S)w.push({id:`place:${c.place}`,kind:"place",label:c.fit==="full"?`Open ${c.title}`:`Open and adjust ${c.title}`,hint:c.fit==="full"?"a view you have":"adjust it",take:()=>{o(),t.goTo.place(c.place),c.fit==="partial"&&Te(t.desk,{target:{on:"lens",place:c.place,...c.kind?{kind:c.kind}:{}},asked:e})}});if(!T){let c=U.candidates.filter(k=>k.type==="panel");for(let k of c.filter(R=>oe(`show ${R.label}`,n)).slice(0,X.show))w.push({id:k.id,kind:"show",label:`Show ${Ge(k.label)}`,hint:"a panel",take:()=>{o(),Oe(t,{title:k.label,recipe:{...k.panel,title:k.label}})}})}if(!d){for(let c of t.places.filter(k=>oe(k.title,n)&&!S.some(R=>R.place===k.as)).slice(0,X.place))w.push({id:`place:${c.as}`,kind:"place",label:`Go to ${c.title}`,take:()=>(o(),t.goTo.place(c.as))});if(n.length>0){let c=We(t.store,e.replace(/^(go to|open)\s+/i,""),{principal:t.principal,from:O(l),limit:X.record}).hits;for(let k of c)k.about==="node"&&w.push({id:`record:${k.id}`,kind:"record",label:k.label,hint:ye(t.store.schema,k.kind),take:()=>(o(),t.goTo.record(k.id))})}}return e&&w.push({id:"ask",kind:"ask",label:e,take:()=>void _(e)}),w},[A,ue,U,t,l,pe,_,o,p]);(0,s.useEffect)(()=>F(A.trim()?0:-1),[A]),(0,s.useLayoutEffect)(()=>{let e=K.current;if(!e)return;if(typeof e.showPopover=="function")try{e.showPopover()}catch{}le.current?.focus({preventScroll:!0});let n=0,d=null,T=i.from;T&&rt(e,T);let w=()=>{let S=Be(e,l,a);T?st(e,S):ot(e,S);let c=Y.current?S:null;d!==c&&(d?.removeAttribute("data-graview-ai-thinking"),c?.setAttribute("data-graview-ai-thinking",""),d=c),Y.current&<(Y.current,c),n=requestAnimationFrame(w)};return w(),()=>{cancelAnimationFrame(n),d?.removeAttribute("data-graview-ai-thinking")}},[l,a,i.from]),(0,s.useEffect)(()=>{if(p)return;let e=n=>{n.target instanceof Node&&K.current?.contains(n.target)||o()};return document.addEventListener("pointerdown",e,!0),()=>document.removeEventListener("pointerdown",e,!0)},[p,o]);let je=e=>{if(e.key==="ArrowDown"&&x.length>0)e.preventDefault(),F(n=>Math.min(x.length-1,n+1));else if(e.key==="ArrowUp"&&x.length>0)e.preventDefault(),F(n=>Math.max(0,n-1));else if(e.key==="Enter"){e.preventDefault();let n=x[B];n?n.take():L?.proposal&&g.state==="offered"&&tt.test(A.trim())?(Q(""),ge()):L&&g.state==="offered"&&nt.test(A.trim())?(Q(""),fe()):A.trim()&&_(A)}},h=p?.result??null,Ue=x[B];return(0,r.jsxs)("section",{ref:K,popover:"manual",role:"region","aria-label":p?`Answer about ${z}`:`Tell Graview about ${z}`,"data-testid":"quick-ask","data-quick-ask":p?"answer":"bar","data-quick-ask-face":a,"data-graview-offstage":"","data-graview-overlay":"",onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),V())},onMouseDown:e=>e.stopPropagation(),style:pt,children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,r.jsxs)("p",{"data-testid":"quick-ask-about",style:{margin:0,flex:"1 1 auto",minWidth:0,fontSize:"0.75rem",color:"var(--graview-ink-muted)",overflowWrap:"anywhere"},children:["About ",z]}),(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-close","aria-label":"Close",title:"Close",onClick:V,style:gt,children:(0,r.jsx)("span",{"aria-hidden":"true",children:"\u2715"})})]}),p?(0,r.jsxs)("div",{"data-testid":"quick-answer",style:{display:"grid",gap:8},children:[(0,r.jsxs)("p",{"data-testid":"quick-answer-asked",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)",fontStyle:"italic",overflowWrap:"anywhere"},children:["\u201C",p.said,"\u201D"]}),(0,r.jsx)("p",{"data-testid":"quick-answer-text","aria-live":"polite",style:{margin:0,fontSize:"0.9375rem",lineHeight:1.45,color:h?.interaction.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)",overflowWrap:"anywhere"},children:h===null?"Thinking\u2026":h.interaction.outcome==="failed"?h.interaction.failed??"The AI could not answer that here.":Le(p.plan?"question"in p.plan?p.plan.question:p.plan.refused:h.answer,h.ghost&&h.ghost.proposals.length>0?"Here is what I would change.":h.offers.length>0?"These may help.":void 0)}),h?.taken?(0,r.jsxs)("p",{"data-testid":"quick-ask-taken",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["Taking \u201C",h.taken.said,"\u201D as ",h.taken.as,"."]}):null,h?.reading?.close?(0,r.jsxs)("p",{"data-testid":"quick-ask-reading",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["Taking this as ",h.reading.words,"."]}):null,L?(0,r.jsxs)("section",{"data-testid":"quick-ask-plan","data-plan-state":g.state,"aria-label":"What I would do",style:ut,children:[(0,r.jsx)("ol",{style:{margin:0,paddingInlineStart:18,display:"grid",gap:2},children:L.parts.map((e,n)=>(0,r.jsx)("li",{"data-plan-part":e.part,style:{fontStyle:g.state==="applied"?"normal":"italic"},children:e.said},n))}),L.proposal&&C?g.state==="offered"||g.state==="applying"?(0,r.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-yes",disabled:g.state==="applying",onClick:()=>void ge(),style:Z,children:"Yes"}),(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-no",disabled:g.state==="applying",onClick:fe,style:Z,children:"No"})]}):g.state==="applied"?(0,r.jsxs)("div",{role:"status",style:{display:"flex",gap:6,alignItems:"center"},children:[(0,r.jsxs)("span",{"data-testid":"quick-ask-plan-done",children:["Done, as one change.",g.note?` ${g.note}`:""]}),g.undo?(0,r.jsx)("button",{type:"button","data-testid":"quick-ask-plan-undo",onClick:()=>void Ye(),style:Z,children:"Undo"}):null]}):(0,r.jsx)("p",{role:"status",style:{margin:0,color:"var(--graview-ink-muted)"},children:g.state==="undone"?"Taken back.":g.said}):null]}):null,h&&h.offers.length>0?(0,r.jsx)("ul",{"aria-label":"What acts on it",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:6},children:h.offers.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)("button",{type:"button","data-testid":"quick-answer-offer","data-ai-offer":e.id,"data-ai-offer-type":e.type,onClick:()=>{Ne(t,h,e,o,{onCard:e.type==="act"||e.type==="fill"}).then(n=>{n&&I.current&&ee(n)})},style:Z,children:e.type==="panel"?`Show ${Ge(e.label)}`:e.type==="place"?`Go to ${e.label}`:e.type==="act"||e.type==="fill"?`${e.label.replace(/[.?]$/,"")}?`:e.label})},e.id))}):null,de?.onCard&&de.ghost.interaction===h?.interaction.id?(0,r.jsx)(ze,{placement:"card"}):null,h&&te&&t.ai.told&&te.interaction===h.interaction.id?(0,r.jsx)(Xe,{told:t.ai.told,telling:te}):null]}):null,(0,r.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,r.jsx)("input",{ref:le,type:"text",role:"combobox","data-testid":"quick-ask-input","aria-label":p?`Reply about ${z}`:`Tell Graview about ${z}, or go somewhere`,"aria-expanded":x.length>0,"aria-controls":j,"aria-autocomplete":"list",...Ue?{"aria-activedescendant":`${j}-${B}`}:{},autoComplete:"off",enterKeyHint:"go",placeholder:p?"Reply\u2026":"Tell Graview, or go to\u2026",value:A,readOnly:p!==null&&h===null,"aria-busy":p!==null&&h===null,onChange:e=>Q(e.target.value),onKeyDown:je,style:ft}),(0,r.jsx)("div",{id:j,role:"listbox","aria-label":A.trim()?`What \u201C${A.trim()}\u201D finds here`:"What can be done here",hidden:x.length===0,style:{display:x.length===0?"none":"grid",gap:1,maxHeight:280,overflowY:"auto"},children:x.map((e,n)=>(0,r.jsx)("div",{id:`${j}-${n}`,role:"option","aria-selected":n===B,"data-testid":"quick-ask-option","data-quick-ask-kind":e.kind,"data-quick-ask-row":e.id,onMouseEnter:()=>F(n),onMouseDown:d=>d.preventDefault(),onClick:e.take,style:{...ht,background:n===B?"var(--graview-panel-muted)":"transparent",...e.kind==="ask"?{borderTop:"1px solid var(--graview-edge)",marginTop:2}:{}},children:e.kind==="ask"?(0,r.jsxs)("span",{children:["Tell Graview: ",(0,r.jsxs)("span",{style:{fontWeight:600},children:["\u2018",e.label,"\u2019"]})]}):(0,r.jsxs)("span",{children:[e.label,e.hint?(0,r.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",e.hint]}):null]})},e.id))})]}),se?(0,r.jsx)("p",{role:"alert","data-testid":"quick-ask-refused",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-warn)"},children:se}):null,(0,r.jsx)("span",{style:Ce,"aria-live":"polite",children:x.length>0&&A.trim()?`${x.length} ${x.length===1?"way":"ways"} to go on`:""}),p!==null&&h===null?(0,r.jsxs)("span",{ref:Y,role:"status","data-testid":"ai-thinking-mark",style:dt,children:[(0,r.jsx)("style",{children:"@keyframes graview-thinking{from{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){[data-testid=ai-thinking-mark]>span{animation:none!important}}"}),(0,r.jsx)("span",{"aria-hidden":"true",style:ct}),(0,r.jsxs)("span",{children:["Thinking about ",z,"\u2026"]})]}):null]})}function Be(a,i,o){let t=a?.closest("[data-graview-embed]")??document,y=i.on==="list"?[`aggregate:${i.kind}`,`kind:${i.kind}`]:i.on==="lens"&&i.kind?[`aggregate:${i.kind}`]:O(i);for(let u of y)for(let m of t.querySelectorAll(`[data-graview-view="${CSS.escape(u)}"], [data-graview-pick="${CSS.escape(u)}"], [data-graview-record="${CSS.escape(u)}"], [data-graview-listed="${CSS.escape(u)}"]`)){if(a?.contains(m))continue;let b=m.getBoundingClientRect();if(b.width>0&&b.height>0)return m}return o==="pages"?t.querySelector("main [data-graview-page-title]")??t.querySelector("main h1"):null}function ot(a,i){let o={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},t=Math.min(Ke,o.width-2*f),y=a.getBoundingClientRect().height,u=i?.getBoundingClientRect(),m,b,E,C=l=>Math.max(f,Math.min(l,o.height-y-f));if(u&&u.width>0&&u.bottom>0&&u.top<o.height)if(u.right+f+t<=o.width-f)m=u.right+f,b=C(u.top),E="right";else if(u.left-f-t>=f)m=u.left-f-t,b=C(u.top),E="left";else{m=Math.max(f,Math.min(u.left,o.width-t-f));let l=u.bottom+f;b=l+y<=o.height-f?l:C(u.top-f-y),E=l+y<=o.height-f?"below":"above"}else m=(o.width-t)/2,b=C(72),E="top";let $=a.style,g={left:`${Math.round(m)}px`,top:`${Math.round(b)}px`,width:`${Math.round(t)}px`};$.left!==g.left&&($.left=g.left),$.top!==g.top&&($.top=g.top),$.width!==g.width&&($.width=g.width);let q=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");a.getAttribute("data-quick-ask-beside")!==q&&a.setAttribute("data-quick-ask-beside",q),a.getAttribute("data-quick-ask-side")!==E&&a.setAttribute("data-quick-ask-side",E)}function rt(a,i){let o={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},t=Math.min(Ke,o.width-2*f),y=i.left+t>o.width-f?Math.max(f,o.width-f-t):Math.max(f,i.left),u=240,m=i.top+u>o.height-f?Math.max(f,o.height-f-u):Math.max(f,i.top);a.style.left=`${Math.round(y)}px`,a.style.top=`${Math.round(m)}px`,a.style.width=`${Math.round(t)}px`,a.style.maxHeight=`${Math.round(o.height-m-f)}px`,a.setAttribute("data-quick-ask-side","where-the-menu-stood"),a.setAttribute("data-quick-ask-from",`${Math.round(i.left)},${Math.round(i.top)}`)}function st(a,i){let o=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");a.getAttribute("data-quick-ask-beside")!==o&&a.setAttribute("data-quick-ask-beside",o)}function lt(a,i){let o=i?.getBoundingClientRect(),t=i?.getAttribute("data-graview-view")??i?.getAttribute("data-graview-pick")??i?.getAttribute("data-graview-record")??i?.getAttribute("data-graview-listed")??(i?"page":"");if(a.getAttribute("data-thinking-on")!==t&&a.setAttribute("data-thinking-on",t),!o||o.width===0){a.style.visibility!=="hidden"&&(a.style.visibility="hidden");return}let y=a.getBoundingClientRect().width,u=`${Math.round(Math.max(f/2,o.right-y-6))}px`,m=`${Math.round(Math.max(f/2,o.top-10))}px`;a.style.left!==u&&(a.style.left=u),a.style.top!==m&&(a.style.top=m),a.style.visibility!=="visible"&&(a.style.visibility="visible")}var dt={position:"fixed",visibility:"hidden",display:"inline-flex",alignItems:"center",gap:6,padding:"2px 8px",borderRadius:999,fontSize:"0.75rem",lineHeight:1.4,whiteSpace:"nowrap",color:"var(--graview-ink)",background:"var(--graview-float)",border:"1px dashed var(--graview-accent)",boxShadow:"var(--graview-lift-low)",pointerEvents:"none"},ct={width:7,height:7,borderRadius:999,background:"var(--graview-accent)",animation:"graview-thinking 1s ease-in-out infinite alternate"},ut={display:"grid",gap:8,padding:10,borderRadius:10,border:"1px dashed var(--graview-accent)",fontSize:"0.875rem"},pt={position:"fixed",inset:"auto",height:"auto",margin:0,zIndex:we("popover"),boxSizing:"border-box",display:"grid",gap:10,padding:12,borderRadius:12,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",color:"var(--graview-ink)",boxShadow:"var(--graview-lift-high)",maxHeight:"calc(100dvh - 24px)",overflowY:"auto",fontSize:"0.875rem"},gt={display:"inline-grid",placeItems:"center",width:28,height:28,padding:0,font:"inherit",fontSize:"0.875rem",lineHeight:1,color:"var(--graview-ink-muted)",background:"transparent",border:"1px solid transparent",borderRadius:6,boxShadow:"none",cursor:"pointer"},ft={boxSizing:"border-box",width:"100%",height:36,padding:"0 10px",font:"inherit",fontSize:"max(1rem,16px)",color:"var(--graview-ink)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:8},ht={display:"flex",alignItems:"center",minHeight:30,padding:"4px 8px",borderRadius:6,cursor:"pointer",overflowWrap:"anywhere"},Z={display:"inline-flex",alignItems:"center",minHeight:30,padding:"2px 10px",font:"inherit",fontSize:"0.8125rem",borderRadius:8};export{$t as QuickAskCard};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as Ct}from"./chunk.JO2X52D4.js";import{a as Nt,b as Bt,c as Ft,d as he,e as Ut,f as zt,g as qt}from"./chunk.
|
|
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 Ct}from"./chunk.JO2X52D4.js";import{a as Nt,b as Bt,c as Ft,d as he,e as Ut,f as zt,g as qt}from"./chunk.KAIZDIRK.js";import{a as Ke,b as we}from"./chunk.NNK2E2EP.js";import{a as ye}from"./chunk.CEQQIW7Z.js";import{a as Pe,d as _t,f as Lt}from"./chunk.ONAH6MC4.js";import{b as Pt,h as Gt,i as Vt,k as Kt}from"./chunk.73RMM4W7.js";import"./chunk.KFYSKZC4.js";import{h as It}from"./chunk.TRP66PHK.js";import"./chunk.PGT4ZQDG.js";import{e as $t}from"./chunk.VUE6ILQV.js";import{c as jt,h as Ht,i as Ge,j as Ve}from"./chunk.2IOJNFCR.js";import{b as me,e as ge}from"./chunk.AAPXF6NP.js";import{d as Dt}from"./chunk.QDVGHI7R.js";import"./chunk.M5FP4Y4Q.js";import"./chunk.O5P6LXHF.js";import{a as F}from"./chunk.SDO3U72B.js";import{fb as Rt,hb as Wt}from"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import"./chunk.AJZBJBMO.js";var Yt=["good","warn","bad","neutral","accent"],Xt=["value","max","aria-label","placeholder","disabled"],Jt=["click","change"],_e=["_blank","_self"],Qt=["section","div","span","strong","p","hr","a","button","input","progress"],ve={type:{oneOf:Yt}},Le={"gv-card":{host:"section",properties:{tone:ve},events:{},children:"any"},"gv-group":{host:"div",properties:{direction:{type:{oneOf:["row","column"]}}},events:{},children:"any"},"gv-title":{host:"strong",properties:{},events:{},children:"text"},"gv-text":{host:"p",properties:{tone:ve},events:{},children:"text"},"gv-badge":{host:"span",properties:{tone:ve},events:{},children:"text"},"gv-field":{host:"div",properties:{label:{type:"string"}},events:{},children:"text"},"gv-progress":{host:"progress",properties:{value:{type:"number",as:"value"},max:{type:"number",as:"max"},label:{type:"string",as:"aria-label"}},events:{},children:"none"},"gv-divider":{host:"hr",properties:{},events:{},children:"none"},"gv-link":{host:"a",properties:{href:{type:"url"}},events:{},children:"text"},"gv-button":{host:"button",properties:{tone:ve,disabled:{type:"boolean",as:"disabled"}},events:{press:{from:"click"}},children:"text"},"gv-input":{host:"input",properties:{label:{type:"string",as:"aria-label"},value:{type:"string",as:"value"},placeholder:{type:"string",as:"placeholder"}},events:{change:{from:"change",detail:"value"}},children:"none"}},Ne=1e4;var _r=0,Lr=1,Nr=2,Ir=3,Zt=1,Cr=2,Dr=3,jr=1,Hr=3,$r=8,Ie="~",Ce=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),oe=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);function er(t,e){return e.type==="url"?"href":e.as??`data-gv-${t.toLowerCase()}`}var Br=2e3;function tr(t,e){if(e==null)return{ok:!0,value:null};let s=t.type;if(s==="boolean")return typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,reason:"value"};if(s==="number")return typeof e=="number"&&Number.isFinite(e)?{ok:!0,value:String(e)}:{ok:!1,reason:"value"};if(typeof e!="string"||e.length>Br)return{ok:!1,reason:s==="url"?"url":"value"};if(typeof s=="object")return s.oneOf.includes(e)?{ok:!0,value:e}:{ok:!1,reason:"value"};if(s==="url"){let d;try{d=new URL(e)}catch{return{ok:!1,reason:"url"}}return d.protocol!=="https:"||d.hostname===""||!/^https:\/\//i.test(e)?{ok:!1,reason:"url"}:{ok:!0,value:d.href}}return{ok:!0,value:e}}function Fr(t){let e=t.host==="a";return Qt.includes(t.host)&&(t.target===void 0||e&&_e.includes(t.target))&&Object.values(t.properties).every(s=>s.type!=="url"||e)&&Object.values(t.properties).every(s=>s.as===void 0||s.type!=="url"&&Xt.includes(s.as))&&Object.values(t.events).every(s=>Jt.includes(s.from))}function De(t,e){let s=e.kit??Le,d=e.maxNodes??2e3,r=t.ownerDocument,m=[],w=new Map,b={dom:t,name:Ie,component:{host:"div",properties:{},events:{},children:"any"},children:[],listeners:new Map,id:Ie};w.set(Ie,b);let T=e.links?new Set(e.links.origins.flatMap(o=>{try{let p=new URL(o);return p.protocol==="https:"&&p.hostname!==""?[p.origin]:[]}catch{return[]}})):void 0,O=0,g=0,K=!1,h=o=>{m.push(o),m.length>200&&m.shift()},k=()=>({dom:r.createComment(""),children:[],refused:!0,listeners:new Map}),S=(o,p,c)=>{let y=o.component;if(!Ce(y.properties,p))return h({reason:"property",element:o.name,name:p});let u=y.properties[p],a=tr(u,c),M=a.ok&&u.type==="url"&&T&&typeof a.value=="string"&&!T.has(new URL(a.value).origin)?{ok:!1,reason:"url"}:a,R=o.dom,V=er(p,u);if(!M.ok)return R.removeAttribute(V),h({reason:M.reason,element:o.name,name:p});let W=M.value;W===null||W===!1?R.removeAttribute(V):R.setAttribute(V,W===!0?"":W),V==="value"&&"value"in R&&(R.value=typeof W=="string"?W:""),V==="disabled"&&"disabled"in R&&(R.disabled=W!==null&&W!==!1)},v=(o,p,c)=>{let y=o.component;if(!Ce(y.events,p))return h({reason:"event",element:o.name,name:p});let u=o.listeners.get(p);if(u&&(u(),o.listeners.delete(p),g-=1),c==null)return;if(!oe(c)||typeof c.listener!="number")return h({reason:"value",element:o.name,name:p});let a=c.listener,M=y.events[p],R=o.dom,V=()=>e.onEvent(a,M.detail==="value"?String(R.value??""):void 0);R.addEventListener(M.from,V),o.listeners.set(p,()=>R.removeEventListener(M.from,V)),g+=1},G=o=>{if(!o.refused){O-=1,o.id!==void 0&&w.delete(o.id);for(let p of o.listeners.values())p();g-=o.listeners.size,o.listeners.clear();for(let p of o.children)G(p)}},x=(o,p)=>{if(!oe(o)||typeof o.id!="string"||w.has(o.id))return h({reason:"record"}),k();if(O>=d)return h({reason:"budget"}),K||(K=!0,e.onOverBudget?.()),k();let c=o.id,y=p.component.children;if(o.type===$r)return k();if(o.type===Hr){if(y==="none")return h({reason:"child",element:p.name}),k();let V={dom:r.createTextNode(String(o.data??"").slice(0,Ne)),children:[],text:!0,listeners:new Map,id:c};return w.set(c,V),O+=1,V}if(o.type!==jr)return h({reason:"record"}),k();let u=String(o.element);if(!Ce(s,u)||!Fr(s[u]))return h({reason:"element",element:u}),k();if(y!=="any")return h({reason:"child",element:u}),k();let a=s[u],M=r.createElement(a.host);M.setAttribute("data-gv",u.replace(/^gv-/,"")),M.className=`graview-guest-${u.replace(/^gv-/,"")}`,a.host==="a"&&(M.setAttribute("rel","noopener noreferrer"),M.setAttribute("target",a.target??"_blank"),M.setAttribute("referrerpolicy","no-referrer")),a.host==="button"&&M.setAttribute("type","button");let R={dom:M,name:u,component:a,children:[],listeners:new Map,id:c};if(w.set(c,R),O+=1,oe(o.properties))for(let[V,W]of Object.entries(o.properties))S(R,V,W);if(oe(o.attributes))for(let V of Object.keys(o.attributes))h({reason:"attribute",element:u,name:V});if(oe(o.eventListeners))for(let[V,W]of Object.entries(o.eventListeners))v(R,V,W);if(Array.isArray(o.children))for(let V of o.children){let W=x(V,R);R.children.push(W),M.appendChild(W.dom)}return R},A=o=>{if(!Array.isArray(o))return h({reason:"record"});let[p,c]=o,y=typeof c=="string"?w.get(c):void 0;if(!y)return h({reason:"record"});switch(p){case _r:{if(y.text)return h({reason:"record"});let u=Number(o[3]),a=Number.isInteger(u)&&u>=0&&u<=y.children.length?u:y.children.length,M=x(o[2],y);y.dom.insertBefore(M.dom,y.children[a]?.dom??null),y.children.splice(a,0,M);return}case Lr:{let u=Number(o[2]),a=y.children[u];if(!a)return h({reason:"record"});y.children.splice(u,1),a.dom.parentNode?.removeChild(a.dom),G(a);return}case Nr:if(!y.text)return h({reason:"record"});y.dom.data=String(o[2]??"").slice(0,Ne);return;case Ir:{if(y===b||y.text)return h({reason:"record"});let u=String(o[2]),a=o[4]??Zt;return a===Zt?S(y,u,o[3]):a===Dr?v(y,u,o[3]):h(a===Cr?{reason:"attribute",element:y.name,name:u}:{reason:"record"})}default:return h({reason:"record"})}};return{apply(o,p){if(!Array.isArray(o))return h({reason:"record"}),!0;for(let c=0;c<o.length;c+=1){if(p&&c%32===0&&p())return!1;A(o[c])}return!0},get refused(){return m},get size(){return O},get listening(){return g},dispose(){for(let o of b.children)G(o);b.children.length=0,t.replaceChildren()}}}var je=`
|
|
2
2
|
.graview-guest { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--graview-ink, inherit); font: inherit; }
|
|
3
3
|
.graview-guest-card { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--graview-edge, #d0d0d0); border-radius: 10px; background: var(--graview-panel, transparent); }
|
|
4
4
|
.graview-guest-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
|
|
@@ -18,4 +18,4 @@ var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=gl
|
|
|
18
18
|
.graview-guest [data-gv-tone="warn"] { color: var(--graview-warn, inherit); }
|
|
19
19
|
.graview-guest [data-gv-tone="accent"] { color: var(--graview-accent, inherit); }
|
|
20
20
|
.graview-guest [data-gv-tone="neutral"] { color: var(--graview-ink-muted, inherit); }
|
|
21
|
-
`;var rr=new WeakSet;function Ur(t,e){if(t.startsWith("blob:"))return"blob:";try{return new URL(t,e.location.href).origin}catch{return t}}function nr(t,e,s){let d=Ur(e,t),r=`this page's Content-Security-Policy${s?` (${s})`:""} does not allow a worker from ${d}: it needs worker-src ${d}`;return rr.has(t)||(rr.add(t),t.console?.warn?.(`Graview: worker views cannot start on this page, because ${r}. A host that will not allow ${d} serves each view's whole script from its own origin and passes worker: { url } (the @graview/guest README, "What the host page allows").`)),r}function zr(t,e){return t===""?!0:e.startsWith("blob:")?t.startsWith("blob"):e.startsWith(t)||t.startsWith(e)}function ke(t,e){let s="script"in e.source?t.URL.createObjectURL(new t.Blob([e.source.script],{type:"text/javascript"})):void 0,d="script"in e.source?s:e.source.url,r,m,w=!1,b=!1,T=0,O=0,g="",K=0,h=0,k=t.performance,S=k.now(),v,G=u=>{let a=u,M=String(a.effectiveDirective||a.violatedDirective||"").split(" ")[0];/^(worker-src|script-src|script-src-elem|child-src|default-src)$/.test(M)&&zr(String(a.blockedURI??""),d)&&(v=M)},x=t.document;x?.addEventListener("securitypolicyviolation",G);let A=()=>x?.removeEventListener("securitypolicyviolation",G),o=()=>{b||(b=!0,m?.close(),r?.terminate(),r=void 0,t.clearTimeout(T),t.clearInterval(O),A(),s&&t.URL.revokeObjectURL(s))},p=(u,a)=>{b||(o(),e.onStop(u,a))},c=()=>{t.clearTimeout(T),A(),g=Nt();let u=new t.MessageChannel;m=u.port1;let a=Math.max(1,e.silentMs),M=Math.max(10,Math.min(1e3,Math.floor(a/4)));S=k.now();let R=S;O=t.setInterval(()=>{let W=k.now();if(W-R>M*2&&(S+=W-R-M),R=W,W-S>=a)return p("silent");K+=1,u.port1.postMessage({type:"heartbeat",beat:K})},M);let V={graview:"host-hello",protocol:1,nonce:g,view:e.name};r.postMessage(V,[u.port2]),e.onReady(g,u.port1,k.now()-y)},y=k.now();try{r=new t.Worker(d,{name:e.name})}catch(u){r=void 0;let a=u,M=a?.name==="SecurityError"?nr(t,d,v):`the worker could not be made: ${String(a?.message??u)}`;queueMicrotask(()=>p("start",M))}return r&&(T=t.setTimeout(()=>p("start",`it never said it was ready in ${e.readyMs.toLocaleString("en-US")} ms`),e.readyMs),r.onerror=u=>{let a=typeof u.message=="string"&&u.message!==""?u.message:void 0;if(w)return void e.onError?.(a??"an error");t.clearTimeout(T),t.setTimeout(()=>!w&&p("start",v?nr(t,d,v):a?`it failed before it said ready: ${a}`:"it failed before it said ready, and the engine gave no reason (a page policy that refuses it, or a script that does not load)"),0)},r.onmessage=u=>{if(!e.limiter.message()||w||!Lt(u.data)||u.data.protocol!==1){e.onDropped();return}w=!0,c()}),{get worker(){return r},answer(u){let a=u;return typeof a!="object"||a===null||a.type!=="heartbeat"||a.nonce!==g?!1:(typeof a.beat=="number"&&a.beat>h&&a.beat<=K&&(h=a.beat,S=k.now()),!0)},stop:o}}function be(t,e){let s=e(),d=0;return{draw(r){let m=e();m-s>=1e3&&(s=m,d=0);let w=t(),b=r(()=>d+(e()-m)>=w);return d+=e()-m,b&&d<w}}}var qr=200,Yr=64*1024,Xr=120,sr=t=>new TextEncoder().encode(t).length;function $e(){let t=new Map;return{read:async e=>Object.fromEntries(t.get(e)??[]),write:async(e,s,d)=>{let r=t.get(e)??new Map;if(t.set(e,r),d===null)return r.delete(s),{ok:!0};let m=sr(d);for(let[w,b]of r)w!==s&&(m+=sr(b));return m>Yr||!r.has(s)&&r.size>=qr?{ok:!1,sentence:"This view keeps as much as it can for this visit, so this value was not kept."}:(r.set(s,d),{ok:!0})}}}var or=new WeakMap;function dr(t,e){let s=or.get(t)??new Map;or.set(t,s);let d=s.get(e)??$e();return s.set(e,d),d}var Se="What this view keeps for you could not be read just now.",Jr="This value could not be kept just now.",He="The host has not answered yet, so this value is not kept yet.",Qr="This view asked to keep too many values at once, so this one was not kept.",Zr="The host has not answered for too many values, so this one was not kept.",en=200,ir=new WeakMap;function tn(t,e,s){let d=ir.get(t)??new Map;ir.set(t,d);let r=`${e}\0${s}`,m=d.get(r)??{writes:[],lines:new Map,drawings:new Set};return d.set(r,m),m}function lr({view:t,viewer:e="",state:s,onRefused:d,onLate:r,readMs:m=1500,writeMs:w=1e4,now:b=Date.now}){let T=new Map,O=!1,g=!1,K=new Map,h=(c,y)=>{y===null?T.delete(c):T.set(c,y)},k=tn(s,e,t),{writes:S,lines:v,drawings:G}=k,x={landed(c,y){O?h(c,y):K.set(c,y)},onRefused:d,onLate:r};G.add(x);let A=c=>(d?.(c),{ok:!1,sentence:c}),o=(async()=>{try{T=new Map(Object.entries(await s.read(t)).filter(([,c])=>typeof c=="string"));for(let[c,y]of K)h(c,y);O=!0,g&&r?.()}catch{d?.(Se)}})(),p=new Promise(c=>{let y=setTimeout(()=>{g=!0,O||d?.(Se),c()},m);o.then(()=>{clearTimeout(y),c()})});return{ready:p,values:()=>Object.fromEntries(T),get:c=>p.then(()=>new Promise(y=>{let u=()=>{if(!O)return y({ok:!1,sentence:Se});let a=v.get(c);if(!a)return y({ok:!0,value:T.get(c)??null});if(a.late)return y({ok:!1,sentence:He});a.gets.push(u)};u()})),set(c,y){let u=_t(c,y);if(u)return Promise.resolve(A(u));let a=c,M=y;return p.then(()=>new Promise(R=>{if(!O)return R(A(`${Se} So this value was not kept.`));let V={drawing:x,answer:R},W=v.get(a);if(!W){if(v.size>=en)return R(A(Zr));let Y=b();for(;S.length>0&&S[0]<=Y-6e4;)S.shift();if(S.length>=Xr)return R(A(Qr));S.push(Y);let H={late:!1,gets:[],moved:new Set};return v.set(a,H),ur(s,t,k,a,H,M,[V],w)}W.next={value:M,told:W.late?[]:[...W.next?.told??[],V],writeMs:w},W.late&&R(A(He))}))},dispose(){G.delete(x)}}}function ar(t,e){if(!e.ok)for(let s of new Set(t.map(d=>d.drawing)))s.onRefused?.(e.sentence);for(let s of t)s.answer(e)}function ur(t,e,s,d,r,m,w,b){let T=!1,O=setTimeout(()=>{T=!0,r.late=!0,ar([...w,...r.next?.told??[]],{ok:!1,sentence:He}),r.next&&(r.next.told=[]);for(let g of r.gets.splice(0))g()},b);Promise.resolve().then(()=>t.write(e,d,m)).catch(()=>{}).then(g=>{clearTimeout(O);let K=g?.ok===!0,h=g&&!g.ok&&typeof g.sentence=="string"&&g.sentence?g.sentence:Jr;if(K){let S=new Set(T?[]:w.map(v=>v.drawing));for(let v of s.drawings)v.landed(d,m),S.has(v)||r.moved.add(v)}if(!T)ar(w,K?{ok:!0}:{ok:!1,sentence:h});else if(!K)for(let S of s.drawings)S.onRefused?.(h);r.late=!1;let k=r.next;if(r.next=void 0,k)return ur(t,e,s,d,r,k.value,k.told,k.writeMs);s.lines.delete(d);for(let S of r.gets.splice(0))S();for(let S of r.moved)s.drawings.has(S)&&S.onLate?.()})}function fr(t){return!Number.isFinite(t)||t<=60?1:Math.min(4,Math.round(t/60*10)/10)}function pr(t,e){return{...t,pushMs:Math.round(t.pushMs*e),drawMs:Math.round(t.drawMs*e)}}var cr=new WeakMap;function mr(t,e){let s=cr.get(t);return s!==void 0?s:(cr.set(t,e),e)}var rn=F(()=>(__graviewPreload(import.meta.url,["./chunk.GOVRX2YX.js","./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.AJZBJBMO.js"]),import("./chunk.X45EITTK.js"))),nn=F(()=>(__graviewPreload(import.meta.url,["./chunk.UZKBFI52.js","./chunk.MFMC35ET.js","./chunk.GKYJQE5A.js","./chunk.EZQK23AB.js","./chunk.QDVGHI7R.js","./chunk.M5FP4Y4Q.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.2INDKSJI.js"))),sn=F(()=>(__graviewPreload(import.meta.url,["./chunk.RSMCTI2N.js","./chunk.AJZBJBMO.js"]),import("./chunk.UJPX3BUV.js"))),on=F(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.NI4OPHTL.js","./chunk.U5KJQFAP.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.H33XWGAY.js"))),an=F(()=>(__graviewPreload(import.meta.url,["./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.AJZBJBMO.js"]),import("./chunk.ZGLOXN7O.js"))),dn=F(()=>(__graviewPreload(import.meta.url,["./chunk.GKYJQE5A.js","./chunk.EZQK23AB.js","./chunk.QDVGHI7R.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.EJC7ACZT.js"))),ln=F(()=>(__graviewPreload(import.meta.url,["./chunk.ONAH6MC4.js","./chunk.AJZBJBMO.js"]),import("./chunk.AIFT2HNP.js"))),un=F(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.NI4OPHTL.js","./chunk.U5KJQFAP.js","./chunk.FOHZPYUV.js","./chunk.IXYG65TM.js","./chunk.W6L2VAJG.js","./chunk.N3MXLORL.js","./chunk.TQ3MNB6K.js","./chunk.VGYG2IBZ.js","./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.23DATB5Y.js"))),cn=F(()=>(__graviewPreload(import.meta.url,["./chunk.QDVGHI7R.js","./chunk.AJZBJBMO.js"]),import("./chunk.EG7OOJH5.js"))),fn=F(()=>(__graviewPreload(import.meta.url,["./chunk.6L6RUOSF.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.Z3TK2LJM.js"))),pn='a[href^="#"], [data-sight], [data-file]';function mn(t,e,s){switch(t){case"manifest":return s??"Its manifest names something this app does not have.";case"source":return s??`Its code is longer than the ${e.maxSourceBytes.toLocaleString("en-US")} bytes a view may be.`;case"start":return`It could not start${s?`: ${s}.`:"."}`;case"error":return`It failed before it drew anything${s?`: ${s}`:"."}`;case"silent":return`It stopped answering for ${e.silentMs.toLocaleString("en-US")} ms.`;case"nodes":return`It drew more than the ${e.maxNodes.toLocaleString("en-US")} things a view may draw.`;case"flood":return`It sent more than ${e.messages} messages in ${e.messageWindowMs.toLocaleString("en-US")} ms.`;case"slow":return`It took longer than ${e.pushMs.toLocaleString("en-US")} ms to draw what it was shown.`}}function gn(t,e){let s=t.ownerDocument,d=s.defaultView,{manifest:r}=e,m=s.createElement("div");m.className="graview-worker-view",m.setAttribute("role","region"),m.setAttribute("aria-label",r.title??r.name),m.setAttribute("data-worker-view",r.name),m.style.cssText="display:block;position:relative;contain:layout paint style;isolation:isolate;overflow:clip;min-width:0",t.appendChild(m);let w=m.attachShadow({mode:"open"}),b=e.author?s.createElement("p"):void 0;b&&(b.className="graview-worker-view-author",b.setAttribute("data-worker-view-author",r.name),b.style.cssText="margin:4px 0 0;font-size:0.75rem;color:var(--graview-ink-muted, inherit)",b.textContent=e.author,t.appendChild(b));let T={applied:0,refused:0,dropped:0},O=me(e.limits),g={maxSourceBytes:e.limits?.maxSourceBytes??256e3,maxNodes:e.limits?.maxNodes??5e3,messages:e.limits?.messages??120,messageWindowMs:e.limits?.messageWindowMs??1e3,pushMs:e.limits?.pushMs??1e3,silentMs:e.limits?.silentMs??5e3,drawMs:e.limits?.drawMs??100},K={pushMs:g.pushMs,drawMs:g.drawMs},h,k,S,v,G,x,A=!1,o={applied:0,refused:0,dropped:0},p=[],c=()=>{if(!v)return;let n=v.stats;T.applied+=n.applied-o.applied,T.refused+=n.refused-o.refused,T.dropped+=n.dropped-o.dropped,o={...n}},y=()=>{},u,a,M=()=>{let n=w.querySelector("[data-graview-view-root]"),i=d.ResizeObserver;a||!n||typeof i!="function"||(a=new i(E=>{let _=E[E.length-1]?.borderBoxSize?.[0],N=Math.ceil(_?_.blockSize:n.offsetHeight);N!==u&&(u=N,m.setAttribute("data-graview-content-height",String(N)),e.onContentHeight?.(N))}),a.observe(n))},R=()=>{a&&(a.disconnect(),a=void 0,u=void 0,m.removeAttribute("data-graview-content-height"),e.onContentHeight?.(void 0))},V=0,W=()=>{},Y=()=>{},H,vr,X,Be=[],Fe=()=>{W(),W=()=>{},Y(),H?.dispose(),c(),v?.dispose(),v=void 0,G?.stop(),y(),d.clearInterval(V)},D=(n,i)=>{if(A)return;A=!0,Fe(),R(),x?.dispose();let E=mn(n,g,i);m.removeAttribute("data-worker-view-drawn"),m.setAttribute("data-worker-view-failed",n),e.fallback!==!1&&(e.fallback??kr)(m,n,E),e.onFailure?.(n,E)},kr=(n,i,E)=>{let _=k??(()=>{try{return Ve(e.store,e.principal,{manifest:r,...e.input?{input:e.input()}:{},...S?{computed:S}:{}})}catch{return}})(),N=s.createElement("div");N.setAttribute("data-graview-fallback",i),N.style.cssText="padding:12px;display:grid;gap:6px;color:var(--graview-ink, inherit);font-family:var(--graview-font-body, inherit)";let f=s.createElement("strong");f.textContent=r.title??r.name;let I=s.createElement("ul");I.style.cssText="margin:0;padding-left:1.2em";for(let B of[..._?.node?[_.node]:[],..._?.nodes??[]]){let fe=s.createElement("li");fe.textContent=B.label??B.id,I.appendChild(fe)}let C=s.createElement("p");C.style.cssText="margin:0;font-size:0.8125rem;color:var(--graview-ink-muted, inherit)",C.textContent=`This view was stopped. ${E}`,N.append(f,I,C),w.replaceChildren(N)},Ue=jt(r,e.store);if(Ue.length>0)return queueMicrotask(()=>D("manifest",Ue.join(" "))),Ae();for(let n of Ht(e.store,r))queueMicrotask(()=>e.onProblem?.(n));let ze=n=>{if(("source"in n?new TextEncoder().encode(n.source).length:"script"in n?new TextEncoder().encode(n.script).length:0)>g.maxSourceBytes)return["source"];let E="source"in n?ye(n.source):[];return E.length>0?["source",E.join(" ")]:void 0},J=e.worker,qe=typeof J=="function"?void 0:ze(J);if(qe)return queueMicrotask(()=>D(...qe)),Ae();let Ye=qt(d,()=>et(),"blob"),Te=()=>zt(()=>e.theme?.()??he(m),e.brand,Ye),Xe="[[],null]",Je="",ie=0,U,Qe=()=>{let n=e.brand?.()?.views;if(x&&!x.theme(n?.css)&&Je!==n?.css){Je=n?.css??"";let f="The app's stylesheet for its views draws nothing: the open kit leaves all of it out, so views are drawn without it. graview check says which part (brand-views-css).";j?.postMessage({type:"notice",text:f}),e.onProblem?.(f)}x?.motion(n?.motion??"none");let i=n?.fonts??[],E=e.brand?.()?.typography,_=JSON.stringify([i,E??null]);if(_===Xe)return;Xe=_,ie+=1;let N=ie;if(i.length===0){U?.(),U=void 0;return}an().then(({loadViewFonts:f})=>{N===ie&&(U=f(s,i,{...e.asset?{asset:e.asset}:{},...e.fonts?{origins:e.fonts.origins}:{},...E?{typography:E}:{}},I=>{j?.postMessage({type:"notice",text:I}),e.onProblem?.(I)},U))})},Ze="",xe=()=>{Ze=JSON.stringify(Te()),Qe(),v?.push()},et=()=>{v&&JSON.stringify(Te())!==Ze&&xe()},br=Ut(s,et),z,Sr=Ge(e.store,r)?un().then(({computedOn:n})=>{S=n(e.store.schema)}):Promise.resolve(),q,Tr=r.pictures?sn().then(({createGuestPictures:n})=>{A||(z=n(d,{as:"blob",view:`"${r.title??r.name}"`,pictures:r.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>v?.push(),onLeft:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}))}):Promise.resolve();y=()=>{br(),Ye.dispose(),z?.dispose(),re?.dispose(),q?.dispose(),ue?.dispose(),ie+=1,U?.(),U=void 0};let j,Q=n=>j?.postMessage(n),tt=!1,rt=!1,ae=()=>m.toggleAttribute("data-worker-view-drawn",!A&&rt&&x!==void 0&&p.length===0&&ee.size===0&&!z?.waiting()&&!(q?.waiting??0)),Z=d.performance,ee=new Map,de=Z.now(),xr=()=>{if(V)return;let n=Math.max(10,Math.min(250,Math.floor(g.pushMs/4)));de=Z.now(),V=d.setInterval(()=>{let i=Z.now(),E=i-de>n*2?i-de-n:0;de=i;for(let[_,N]of ee){let f=N+E;if(ee.set(_,f),i-f>=g.pushMs)return D("slow")}},n)},Mr=be(()=>g.drawMs,()=>Z.now()),nt=()=>{},Me=n=>{if(A)return;if(!x)return void p.push(n);let i=x;if(!Mr.draw(_=>n[0]==="render"?i.apply(n[1],_):(i.style(n[1]),!0)))return D("slow");n[0]==="render"&&nt()},st=()=>new Set([...e.store.kindsKeptFrom(e.principal),...e.store.modules.disabledKinds]),ot=()=>Gt(e.store.schema,st()),Ee=()=>Vt(e.store.schema,e.places?.()??[],{kept:st(),...e.arrangement?{pages:e.arrangement()}:{}}),te=Kt({sees:n=>e.store.seenBy(e.principal).graph.has(n),places:Ee,lists:ot,schema:e.store.schema,...e.onNavigate?{onNavigate:e.onNavigate}:e.goTo?{onNavigate:n=>Bt(e.goTo(),n)}:{},...e.hrefOf?{hrefOf:e.hrefOf}:!e.onNavigate&&e.goTo?{hrefOf:n=>Ft(e.goTo(),n)}:{},onLost:n=>{j?.postMessage({type:"notice",text:n}),e.onProblem?.(n)}}),$=new Set,it=new Set,re,at=!1,dt=()=>{at||(at=!0,on().then(({createGuestMedia:n})=>{A||(re=n(d,{view:`"${r.title??r.name}"`,pictures:r.pictures!==void 0,shown:()=>k,...e.file?{file:e.file}:{},onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}),re.refresh(w))},()=>e.onProblem?.(`The view "${r.title??r.name}" places a video or a full-screen viewer, and the host's player could not be loaded.`)))},lt=!1,ut=!1,le=new Map,ct=()=>{lt||!r.accepts?.length||(lt=!0,dn().then(({createGuestDrops:n})=>{A||(q=n(d,{shadow:w,manifest:r,store:e.store,principal:e.principal,files:()=>e.files?.(),shown:()=>$,hears:()=>ut,idOf:i=>x?.renderer.idOf(i),send:Q,change:(i,E)=>{if(!v)return{ok:!1,reason:"refused",message:"The view has gone."};let _=v.change(i,E);return c(),_},handed:(i,E)=>le.set(i.href,{file:i,drop:E}),onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)},onBusy:()=>ae()}),q.refresh())},()=>e.onProblem?.(`The view "${r.title??r.name}" takes files, and the host's drop could not be loaded.`)))},ue,ft=[],pt=!1,Er=n=>{ft=n,ue?.bind(n),!(pt||n.length===0)&&(pt=!0,ln().then(({createGuestGestures:i,unheardWords:E})=>{if(!A){if(r.gestures!==!0){let _=E(r.title??r.name);return j?.postMessage({type:"notice",text:_}),e.onProblem?.(_)}ue=i(w,{root:()=>w.querySelector("[data-graview-view-root]")??void 0,idOf:_=>x?.renderer.idOf(_),send:Q}),ue.bind(ft)}},()=>{}))},Or=n=>{let i=e.store.seenBy(e.principal).graph;for(let E of $){let _=i.getNode(E);for(let N of Object.values(_??{}))for(let f of Dt(N))if(f.href===n)return f}},mt=()=>vr??=cn().then(({createGuestSections:n})=>{if(!A)return H=n(d,{shadow:w,idOf:i=>x?.renderer.idOf(i),send:Q,record:i=>$.has(i)?e.store.seenBy(e.principal).graph.getNode(i):void 0,...e.file?{file:e.file}:{},onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}),H.refresh(),H},()=>{e.onProblem?.(`The view "${r.title??r.name}" draws a jump or a file link, and the host's part of it could not be loaded.`)}),gt=n=>{if(n.localName==="graview-video")return dt();n.hasAttribute("data-lightbox")&&(n.setAttribute("aria-haspopup","dialog"),dt())};Promise.all([rn(),nn()]).then(([{createOpenDrawing:n,handedLinks:i,judgeLink:E,linkRefusedWords:_},{createPressReader:N,createSaver:f,fillPrefills:I,judgePress:C,markPresses:B,prefillOf:fe,quietPictures:Ar}])=>{if(A)return;let ne=N(),Rr=l=>Be.some(P=>{try{for(let L=l;L&&L.getRootNode()===w&&!L.hasAttribute("data-graview-view-root");L=L.parentElement)if(L.matches(P))return!0}catch{}return!1}),bt=(l,P)=>{let L=x?.renderer.idOf(l);if(L!==void 0&&Q({type:"dom-event",target:L,event:"acted",pressed:P}),P.ok)return X?.clear(l);Rr(l)||fn().then(({createRefusalNotes:se})=>{A||!l.isConnected||(X??=se(w),X.say(l,P.message??"That was not applied."))},()=>e.onProblem?.(`A press in the view "${r.title??r.name}" was refused: ${P.message??P.reason??"not applied"}`))},Re=f({reader:ne,save:(l,P)=>{if(!v)return;let L=v.pressed(C(e.store,r,$,l));c(),bt(P,{as:l.as,...L})}}),St=()=>Re.flush();d.addEventListener("pagehide",St),W=()=>{d.removeEventListener("pagehide",St),Re.flush()};let Wr=new WeakSet;nt=()=>{te.refresh(w),B(w),Ar(w),I(w,ne,Wr,l=>fe(e.store,e.principal,r,$,l)),re?.refresh(w),q?.refresh(),X?.refresh(),H?H.refresh():w.querySelector(pn)&&mt()};let Tt,xt=new Set,Pr=()=>(Tt!==k&&([Tt,xt]=[k,i(k)]),xt),Mt=new Set;x=n(w,{origin:e.origin??d.location.origin,link:l=>E(l,{handed:Pr(),...e.links?{origins:e.links.origins}:{}}),...e.asset?{asset:e.asset}:{},...e.images?{imageOrigins:e.images.origins}:{},...r.pictures?{picture:l=>z?.drawn(l)}:{},onRefused:l=>{if(l.reason==="url"&&l.element==="a"&&l.address!==void 0&&!Mt.has(l.address)){Mt.add(l.address);let L=_(l.address,e.links?.origins);return j?.postMessage({type:"notice",text:L}),e.onProblem?.(L)}if(l.reason!=="url"||l.element!=="img"||l.address===void 0||it.has(l.address))return;it.add(l.address);let P=It(l.address,{...e.images?{origins:e.images.origins}:{},assets:e.asset!==void 0},l.length);j?.postMessage({type:"notice",text:P}),e.onProblem?.(P)},...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>D("nodes"),send:Q,onFieldSet:l=>ne.filled(l),onAttribute:(l,P)=>{(P==="data-record"||P==="data-place")&&te.link(l),P==="data-lightbox"&>(l),P==="data-drop"&&ct()},decorate:l=>{(l.hasAttribute("data-record")||l.hasAttribute("data-place"))&&te.link(l),gt(l),l.hasAttribute("data-drop")&&ct()},before:(l,P,L)=>{ne.heard(l,P),Re.heard(l,P,L),te.pressed(l,P,L);let se=P.closest("a[href]");se&&L.contains(se)&&!se.hasAttribute("data-graview-link")&&l.type==="click"&&l.stopPropagation();let pe=P.closest("[data-lightbox]"),Et=l.type==="keydown"?l.key:void 0;if(pe&&L.contains(pe)&&l.isTrusted&&(l.type==="click"||(Et==="Enter"||Et===" ")&&pe.localName!=="button")&&(l.preventDefault(),l.stopPropagation(),re?.open(pe)),q?.before(l,P,L))return!1;let Ot=l.type==="click"&&l.isTrusted?P.closest('a[href^="#"]'):null;Ot&&L.contains(Ot)&&(l.preventDefault(),H?H.jump(P,L):mt().then(Kr=>Kr?.jump(P,L)));let We=ne.press(l,P,L);if(!We||!v)return;l.stopPropagation(),X?.clear(P.closest("[data-act]")),l.type==="keydown"&&l.preventDefault();let Gr=v.pressed(C(e.store,r,$,We));c();let At={as:We.as,...Gr},Vr=P.closest("[data-act]");return queueMicrotask(()=>bt(Vr,At)),{pressed:At}}}),Qe();for(let l of p.splice(0))Me(l);M(),ae()},()=>D("start","the view's drawing could not be loaded"));let yt=e.draft?void 0:e.viewerState?.(),ht=Wt(e.principal)??Rt(e.principal).id??e.principal.visitorKey??"",ce=lr({view:r.name,viewer:ht,state:yt??(e.draft?$e():dr(e.store,ht)),onRefused:n=>{e.onProblem?.(n),v&&j?.postMessage({type:"notice",text:n})},onLate:()=>v?.push()});Y=()=>ce.dispose();let Oe=n=>G=ke(d,{source:n,name:r.name,limiter:O,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>T.dropped+=1,onStop:(i,E)=>D(i,E),onError:i=>{tt||D("error",i)},onReady:(i,E,_)=>{j=E,h=fr(mr(d,_)),Object.assign(g,pr(K,h)),xr();let N=ge({store:e.store,principal:e.principal,view:r.name,nonce:i,send:f=>{f.type==="props"&&typeof f.push=="number"&&(ee.set(f.push,Z.now()),ae()),E.postMessage(f)},mine:ce,props:()=>{let f={...Ve(e.store,e.principal,{manifest:r,...e.input?{input:e.input()}:{},theme:Te(),places:Pt(Ee()),...S?{computed:S}:{}}),mine:ce.values()},I=$;return $=new Set([...f.node?[f.node.id]:[],...(f.nodes??[]).map(C=>C.id)]),k&&(I.size!==$.size||[...$].some(C=>!I.has(C)))&&x?.fade(),k=f,f},...z?{hand:z.hand}:{},judgeAct:(f,I)=>{let C=$t(e.store,r,f,I,{shown:$,file:B=>le.get(B)?.file??Or(B),dropped:B=>le.get(B)?.drop});if(C.ok)for(let B of C.spent??[])le.delete(B);return C},onHears:f=>{f.includes("drop")&&(ut=!0)},onGestures:Er,onClicks:(f,I)=>{Ct(m,f),Be=I},onRender:f=>{tt=!0,Me(["render",f])},onPushed:(f,I)=>{if(ee.delete(f),I>=g.pushMs)return D("slow");rt=!0,ae()},onFlood:()=>D("flood"),onStyle:f=>Me(["style",f]),places:()=>[...new Set([...Ee().map(f=>f.as),...ot().map(f=>f.slug)])],...e.limits?{limits:e.limits}:{},limiter:O});v=N,E.onmessage=({data:f})=>{if(!G?.answer(f)&&(N.receive(f),c(),!A&&f?.nonce===i&&f.type==="navigate")){let I={...f.where!==void 0?{where:f.where}:{},...f.section!==void 0?{section:f.section}:{}},C=typeof f.place=="string"?{place:f.place,...I}:typeof f.to=="string"&&{record:f.to,...I};C&&te.go(C)}},xe()}}),wt=r.pictures!==void 0||Ge(e.store,r)||yt!==void 0,vt=()=>Promise.all([ce.ready,Tr.catch(()=>Promise.reject(new Error("the view's pictures could not be loaded"))),Sr.catch(()=>Promise.reject(new Error("the view's computed values could not be worked out")))]),kt=n=>{"source"in n?(wt?Promise.all([Ke(n.source),vt()]).then(([i])=>i):Ke(n.source)).then(i=>{A||Oe({script:i})},i=>D("start",i instanceof Error&&i.message.startsWith("the view's")?i.message:"the view's runtime could not be loaded")):wt?vt().then(()=>{A||Oe(n)},i=>D("start",i instanceof Error?i.message:"the view's pictures could not be loaded")):Oe(n)};return typeof J=="function"?we(J).then(n=>{if(A)return;let i=ze(n);i?D(...i):kt(n)},n=>D("source",`Its code did not arrive${n instanceof Error&&n.message?`: ${n.message}`:""}.`)):kt(J),Ae();function Ae(){return{element:m,shadow:w,get worker(){return G?.worker},update:()=>{v&&xe()},get stats(){return c(),T},get refused(){return x?.refused??[]},get contentHeight(){return u},get css(){return x?.css??""},get pace(){return h},dispose(){A=!0,Fe(),a?.disconnect(),x?.dispose(),m.remove(),b?.remove()}}}}var gr=8e3,yr=t=>({root:t?.shadow.querySelector("[data-graview-view-root]")??void 0,css:t?.css??"",height:t?.contentHeight}),hr=t=>(t?.refused??[]).map(e=>`Refused ${e.reason==="css"?"a rule of the stylesheet":`${e.element?`<${e.element}>`:"something"}${e.name?` ${e.name}`:""}`} (${e.reason}).`);function yn({element:t,definition:e,mounted:s,optionsFor:d,draw:r,mount:m,pressing:w}){return{name:e.manifest.name,title:e.manifest.title??e.manifest.name,source:async()=>{let b=typeof e.worker=="function"?await we(e.worker):e.worker;return"source"in b?b.source:void 0},theme:async()=>{let b=s()?.element;return b?{...he(b)}:{}},drawing:()=>yr(s()),refused:()=>hr(s()),check:async b=>ye(b),presses:async b=>{let T=w?.();if(!T)throw new Error("This page cannot press a view's controls.");let{pressedHere:O}=await T(),g=d({source:b}),K=await O({manifest:g.manifest,source:b,store:g.store,principal:g.principal,...g.input?{input:g.input()}:{},...g.places?{places:g.places()}:{}});if(!K.ok){let k={control:"the view",element:"",does:"nothing",ok:!1,says:K.detail};return{ok:!1,controls:[k],problems:[k]}}let h=K.presses;return h?{ok:h.ok,controls:h.controls,problems:h.problems}:{ok:!0,controls:[],problems:[]}},draft:b=>{let T=s()?.element,O=t.ownerDocument.createElement("div");O.setAttribute("data-graview-section-draft",e.manifest.name),O.style.minWidth="0",t.appendChild(O),T&&(T.style.display="none");let g=()=>{},K=new Promise(S=>g=S),h=setTimeout(()=>g({failed:`It did not draw in ${gr/1e3} seconds.`}),gr),k=m(O,{...d({source:b}),draft:!0,fallback:!1,onFailure:(S,v)=>g({failed:v??`It failed (${S}).`}),onContentHeight:S=>{S!==void 0&&S>0&&g({})}});return K.then(()=>clearTimeout(h)),{drawn:K,drawing:()=>yr(k),refused:()=>hr(k),dispose:()=>{clearTimeout(h),k.dispose(),O.remove(),T&&(T.style.display="")}}},draw:r}}var wr="graview-guest-kit";function ts(t,e){let s=t.ownerDocument,d=s.defaultView;if(!s.getElementById(wr)){let G=s.createElement("style");G.id=wr,G.textContent=je,s.head.appendChild(G)}let r=s.createElement("div");r.className="graview-guest",r.setAttribute("role","group"),r.setAttribute("aria-label",e.title??e.view),r.setAttribute("data-guest-view",e.view),t.appendChild(r);let m={applied:0,refused:0,dropped:0},w=me(e.limits),b=be(()=>e.limits?.drawMs??100,()=>d.performance.now()),T,O,g,K=!1,h={applied:0,refused:0,dropped:0},k=()=>{if(!T)return;let G=T.stats;m.applied+=G.applied-h.applied,m.refused+=G.refused-h.refused,m.dropped+=G.dropped-h.dropped,h={...G}},S=()=>{k(),T?.dispose(),T=void 0,g?.stop()},v=(G,x)=>{K||(K=!0,S(),O?.dispose(),e.onFailure?.(G,x))};return g=ke(d,{source:e.worker,name:e.view,limiter:w,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>m.dropped+=1,onStop:(G,x)=>v(G,x),onReady:(G,x)=>{let A=De(r,{...e.kit?{kit:e.kit}:{},...e.links?{links:e.links}:{},onEvent:(p,c)=>x.postMessage({type:"event",listener:p,...c!==void 0?{detail:c}:{}}),...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>v("budget")});O=A;let o=ge({store:e.store,principal:e.principal,view:e.view,nonce:G,send:p=>x.postMessage(p),onRender:p=>{b.draw(c=>A.apply(p,c))||v("slow")},...e.input?{input:e.input}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},onSize:e.onSize??(p=>r.style.minHeight=`${p}px`),...e.limits?{limits:e.limits}:{},limiter:w});T=o,x.onmessage=p=>{g?.answer(p.data)||(o.receive(p.data),k())},o.push()}}),{element:r,get worker(){return g?.worker},update:()=>T?.push(),get stats(){return k(),m},get refused(){return O?.refused??[]},dispose(){K=!0,S(),O?.dispose(),r.remove()}}}export{Le as GUEST_KIT,je as GUEST_KIT_CSS,_e as KIT_LINK_TARGETS,Yt as KIT_TONES,De as createKitRenderer,er as hostAttribute,tr as kitValue,ts as mountGuestWorker,gn as mountWorkerView,yn as viewPlaceHandle};
|
|
21
|
+
`;var rr=new WeakSet;function Ur(t,e){if(t.startsWith("blob:"))return"blob:";try{return new URL(t,e.location.href).origin}catch{return t}}function nr(t,e,s){let d=Ur(e,t),r=`this page's Content-Security-Policy${s?` (${s})`:""} does not allow a worker from ${d}: it needs worker-src ${d}`;return rr.has(t)||(rr.add(t),t.console?.warn?.(`Graview: worker views cannot start on this page, because ${r}. A host that will not allow ${d} serves each view's whole script from its own origin and passes worker: { url } (the @graview/guest README, "What the host page allows").`)),r}function zr(t,e){return t===""?!0:e.startsWith("blob:")?t.startsWith("blob"):e.startsWith(t)||t.startsWith(e)}function ke(t,e){let s="script"in e.source?t.URL.createObjectURL(new t.Blob([e.source.script],{type:"text/javascript"})):void 0,d="script"in e.source?s:e.source.url,r,m,w=!1,b=!1,T=0,O=0,g="",K=0,h=0,k=t.performance,S=k.now(),v,G=u=>{let a=u,M=String(a.effectiveDirective||a.violatedDirective||"").split(" ")[0];/^(worker-src|script-src|script-src-elem|child-src|default-src)$/.test(M)&&zr(String(a.blockedURI??""),d)&&(v=M)},x=t.document;x?.addEventListener("securitypolicyviolation",G);let A=()=>x?.removeEventListener("securitypolicyviolation",G),o=()=>{b||(b=!0,m?.close(),r?.terminate(),r=void 0,t.clearTimeout(T),t.clearInterval(O),A(),s&&t.URL.revokeObjectURL(s))},p=(u,a)=>{b||(o(),e.onStop(u,a))},c=()=>{t.clearTimeout(T),A(),g=Nt();let u=new t.MessageChannel;m=u.port1;let a=Math.max(1,e.silentMs),M=Math.max(10,Math.min(1e3,Math.floor(a/4)));S=k.now();let R=S;O=t.setInterval(()=>{let W=k.now();if(W-R>M*2&&(S+=W-R-M),R=W,W-S>=a)return p("silent");K+=1,u.port1.postMessage({type:"heartbeat",beat:K})},M);let V={graview:"host-hello",protocol:1,nonce:g,view:e.name};r.postMessage(V,[u.port2]),e.onReady(g,u.port1,k.now()-y)},y=k.now();try{r=new t.Worker(d,{name:e.name})}catch(u){r=void 0;let a=u,M=a?.name==="SecurityError"?nr(t,d,v):`the worker could not be made: ${String(a?.message??u)}`;queueMicrotask(()=>p("start",M))}return r&&(T=t.setTimeout(()=>p("start",`it never said it was ready in ${e.readyMs.toLocaleString("en-US")} ms`),e.readyMs),r.onerror=u=>{let a=typeof u.message=="string"&&u.message!==""?u.message:void 0;if(w)return void e.onError?.(a??"an error");t.clearTimeout(T),t.setTimeout(()=>!w&&p("start",v?nr(t,d,v):a?`it failed before it said ready: ${a}`:"it failed before it said ready, and the engine gave no reason (a page policy that refuses it, or a script that does not load)"),0)},r.onmessage=u=>{if(!e.limiter.message()||w||!Lt(u.data)||u.data.protocol!==1){e.onDropped();return}w=!0,c()}),{get worker(){return r},answer(u){let a=u;return typeof a!="object"||a===null||a.type!=="heartbeat"||a.nonce!==g?!1:(typeof a.beat=="number"&&a.beat>h&&a.beat<=K&&(h=a.beat,S=k.now()),!0)},stop:o}}function be(t,e){let s=e(),d=0;return{draw(r){let m=e();m-s>=1e3&&(s=m,d=0);let w=t(),b=r(()=>d+(e()-m)>=w);return d+=e()-m,b&&d<w}}}var qr=200,Yr=64*1024,Xr=120,sr=t=>new TextEncoder().encode(t).length;function $e(){let t=new Map;return{read:async e=>Object.fromEntries(t.get(e)??[]),write:async(e,s,d)=>{let r=t.get(e)??new Map;if(t.set(e,r),d===null)return r.delete(s),{ok:!0};let m=sr(d);for(let[w,b]of r)w!==s&&(m+=sr(b));return m>Yr||!r.has(s)&&r.size>=qr?{ok:!1,sentence:"This view keeps as much as it can for this visit, so this value was not kept."}:(r.set(s,d),{ok:!0})}}}var or=new WeakMap;function dr(t,e){let s=or.get(t)??new Map;or.set(t,s);let d=s.get(e)??$e();return s.set(e,d),d}var Se="What this view keeps for you could not be read just now.",Jr="This value could not be kept just now.",He="The host has not answered yet, so this value is not kept yet.",Qr="This view asked to keep too many values at once, so this one was not kept.",Zr="The host has not answered for too many values, so this one was not kept.",en=200,ir=new WeakMap;function tn(t,e,s){let d=ir.get(t)??new Map;ir.set(t,d);let r=`${e}\0${s}`,m=d.get(r)??{writes:[],lines:new Map,drawings:new Set};return d.set(r,m),m}function lr({view:t,viewer:e="",state:s,onRefused:d,onLate:r,readMs:m=1500,writeMs:w=1e4,now:b=Date.now}){let T=new Map,O=!1,g=!1,K=new Map,h=(c,y)=>{y===null?T.delete(c):T.set(c,y)},k=tn(s,e,t),{writes:S,lines:v,drawings:G}=k,x={landed(c,y){O?h(c,y):K.set(c,y)},onRefused:d,onLate:r};G.add(x);let A=c=>(d?.(c),{ok:!1,sentence:c}),o=(async()=>{try{T=new Map(Object.entries(await s.read(t)).filter(([,c])=>typeof c=="string"));for(let[c,y]of K)h(c,y);O=!0,g&&r?.()}catch{d?.(Se)}})(),p=new Promise(c=>{let y=setTimeout(()=>{g=!0,O||d?.(Se),c()},m);o.then(()=>{clearTimeout(y),c()})});return{ready:p,values:()=>Object.fromEntries(T),get:c=>p.then(()=>new Promise(y=>{let u=()=>{if(!O)return y({ok:!1,sentence:Se});let a=v.get(c);if(!a)return y({ok:!0,value:T.get(c)??null});if(a.late)return y({ok:!1,sentence:He});a.gets.push(u)};u()})),set(c,y){let u=_t(c,y);if(u)return Promise.resolve(A(u));let a=c,M=y;return p.then(()=>new Promise(R=>{if(!O)return R(A(`${Se} So this value was not kept.`));let V={drawing:x,answer:R},W=v.get(a);if(!W){if(v.size>=en)return R(A(Zr));let Y=b();for(;S.length>0&&S[0]<=Y-6e4;)S.shift();if(S.length>=Xr)return R(A(Qr));S.push(Y);let H={late:!1,gets:[],moved:new Set};return v.set(a,H),ur(s,t,k,a,H,M,[V],w)}W.next={value:M,told:W.late?[]:[...W.next?.told??[],V],writeMs:w},W.late&&R(A(He))}))},dispose(){G.delete(x)}}}function ar(t,e){if(!e.ok)for(let s of new Set(t.map(d=>d.drawing)))s.onRefused?.(e.sentence);for(let s of t)s.answer(e)}function ur(t,e,s,d,r,m,w,b){let T=!1,O=setTimeout(()=>{T=!0,r.late=!0,ar([...w,...r.next?.told??[]],{ok:!1,sentence:He}),r.next&&(r.next.told=[]);for(let g of r.gets.splice(0))g()},b);Promise.resolve().then(()=>t.write(e,d,m)).catch(()=>{}).then(g=>{clearTimeout(O);let K=g?.ok===!0,h=g&&!g.ok&&typeof g.sentence=="string"&&g.sentence?g.sentence:Jr;if(K){let S=new Set(T?[]:w.map(v=>v.drawing));for(let v of s.drawings)v.landed(d,m),S.has(v)||r.moved.add(v)}if(!T)ar(w,K?{ok:!0}:{ok:!1,sentence:h});else if(!K)for(let S of s.drawings)S.onRefused?.(h);r.late=!1;let k=r.next;if(r.next=void 0,k)return ur(t,e,s,d,r,k.value,k.told,k.writeMs);s.lines.delete(d);for(let S of r.gets.splice(0))S();for(let S of r.moved)s.drawings.has(S)&&S.onLate?.()})}function fr(t){return!Number.isFinite(t)||t<=60?1:Math.min(4,Math.round(t/60*10)/10)}function pr(t,e){return{...t,pushMs:Math.round(t.pushMs*e),drawMs:Math.round(t.drawMs*e)}}var cr=new WeakMap;function mr(t,e){let s=cr.get(t);return s!==void 0?s:(cr.set(t,e),e)}var rn=F(()=>(__graviewPreload(import.meta.url,["./chunk.GOVRX2YX.js","./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.AJZBJBMO.js"]),import("./chunk.X45EITTK.js"))),nn=F(()=>(__graviewPreload(import.meta.url,["./chunk.4PB5UFUJ.js","./chunk.VUE6ILQV.js","./chunk.2IOJNFCR.js","./chunk.AAPXF6NP.js","./chunk.QDVGHI7R.js","./chunk.M5FP4Y4Q.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.WFRSGGU5.js"))),sn=F(()=>(__graviewPreload(import.meta.url,["./chunk.OQ3FKUP2.js","./chunk.AJZBJBMO.js"]),import("./chunk.WRIBFLVG.js"))),on=F(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.J7GH2CGV.js","./chunk.SMF5S4DQ.js","./chunk.XP4IVKKR.js","./chunk.R5YGW5ZX.js","./chunk.QMGBAKX6.js","./chunk.PS765ODQ.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.CUJRWBPX.js"))),an=F(()=>(__graviewPreload(import.meta.url,["./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.AJZBJBMO.js"]),import("./chunk.HE7SAJKZ.js"))),dn=F(()=>(__graviewPreload(import.meta.url,["./chunk.2IOJNFCR.js","./chunk.AAPXF6NP.js","./chunk.QDVGHI7R.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.LSS64NAA.js"))),ln=F(()=>(__graviewPreload(import.meta.url,["./chunk.ONAH6MC4.js","./chunk.AJZBJBMO.js"]),import("./chunk.AIFT2HNP.js"))),un=F(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.J7GH2CGV.js","./chunk.SMF5S4DQ.js","./chunk.XP4IVKKR.js","./chunk.R5YGW5ZX.js","./chunk.QMGBAKX6.js","./chunk.PS765ODQ.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.VCEDSOAK.js"))),cn=F(()=>(__graviewPreload(import.meta.url,["./chunk.QDVGHI7R.js","./chunk.AJZBJBMO.js"]),import("./chunk.EG7OOJH5.js"))),fn=F(()=>(__graviewPreload(import.meta.url,["./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.K6EN2YR4.js"))),pn='a[href^="#"], [data-sight], [data-file]';function mn(t,e,s){switch(t){case"manifest":return s??"Its manifest names something this app does not have.";case"source":return s??`Its code is longer than the ${e.maxSourceBytes.toLocaleString("en-US")} bytes a view may be.`;case"start":return`It could not start${s?`: ${s}.`:"."}`;case"error":return`It failed before it drew anything${s?`: ${s}`:"."}`;case"silent":return`It stopped answering for ${e.silentMs.toLocaleString("en-US")} ms.`;case"nodes":return`It drew more than the ${e.maxNodes.toLocaleString("en-US")} things a view may draw.`;case"flood":return`It sent more than ${e.messages} messages in ${e.messageWindowMs.toLocaleString("en-US")} ms.`;case"slow":return`It took longer than ${e.pushMs.toLocaleString("en-US")} ms to draw what it was shown.`}}function gn(t,e){let s=t.ownerDocument,d=s.defaultView,{manifest:r}=e,m=s.createElement("div");m.className="graview-worker-view",m.setAttribute("role","region"),m.setAttribute("aria-label",r.title??r.name),m.setAttribute("data-worker-view",r.name),m.style.cssText="display:block;position:relative;contain:layout paint style;isolation:isolate;overflow:clip;min-width:0",t.appendChild(m);let w=m.attachShadow({mode:"open"}),b=e.author?s.createElement("p"):void 0;b&&(b.className="graview-worker-view-author",b.setAttribute("data-worker-view-author",r.name),b.style.cssText="margin:4px 0 0;font-size:0.75rem;color:var(--graview-ink-muted, inherit)",b.textContent=e.author,t.appendChild(b));let T={applied:0,refused:0,dropped:0},O=me(e.limits),g={maxSourceBytes:e.limits?.maxSourceBytes??256e3,maxNodes:e.limits?.maxNodes??5e3,messages:e.limits?.messages??120,messageWindowMs:e.limits?.messageWindowMs??1e3,pushMs:e.limits?.pushMs??1e3,silentMs:e.limits?.silentMs??5e3,drawMs:e.limits?.drawMs??100},K={pushMs:g.pushMs,drawMs:g.drawMs},h,k,S,v,G,x,A=!1,o={applied:0,refused:0,dropped:0},p=[],c=()=>{if(!v)return;let n=v.stats;T.applied+=n.applied-o.applied,T.refused+=n.refused-o.refused,T.dropped+=n.dropped-o.dropped,o={...n}},y=()=>{},u,a,M=()=>{let n=w.querySelector("[data-graview-view-root]"),i=d.ResizeObserver;a||!n||typeof i!="function"||(a=new i(E=>{let _=E[E.length-1]?.borderBoxSize?.[0],N=Math.ceil(_?_.blockSize:n.offsetHeight);N!==u&&(u=N,m.setAttribute("data-graview-content-height",String(N)),e.onContentHeight?.(N))}),a.observe(n))},R=()=>{a&&(a.disconnect(),a=void 0,u=void 0,m.removeAttribute("data-graview-content-height"),e.onContentHeight?.(void 0))},V=0,W=()=>{},Y=()=>{},H,vr,X,Be=[],Fe=()=>{W(),W=()=>{},Y(),H?.dispose(),c(),v?.dispose(),v=void 0,G?.stop(),y(),d.clearInterval(V)},D=(n,i)=>{if(A)return;A=!0,Fe(),R(),x?.dispose();let E=mn(n,g,i);m.removeAttribute("data-worker-view-drawn"),m.setAttribute("data-worker-view-failed",n),e.fallback!==!1&&(e.fallback??kr)(m,n,E),e.onFailure?.(n,E)},kr=(n,i,E)=>{let _=k??(()=>{try{return Ve(e.store,e.principal,{manifest:r,...e.input?{input:e.input()}:{},...S?{computed:S}:{}})}catch{return}})(),N=s.createElement("div");N.setAttribute("data-graview-fallback",i),N.style.cssText="padding:12px;display:grid;gap:6px;color:var(--graview-ink, inherit);font-family:var(--graview-font-body, inherit)";let f=s.createElement("strong");f.textContent=r.title??r.name;let I=s.createElement("ul");I.style.cssText="margin:0;padding-left:1.2em";for(let B of[..._?.node?[_.node]:[],..._?.nodes??[]]){let fe=s.createElement("li");fe.textContent=B.label??B.id,I.appendChild(fe)}let C=s.createElement("p");C.style.cssText="margin:0;font-size:0.8125rem;color:var(--graview-ink-muted, inherit)",C.textContent=`This view was stopped. ${E}`,N.append(f,I,C),w.replaceChildren(N)},Ue=jt(r,e.store);if(Ue.length>0)return queueMicrotask(()=>D("manifest",Ue.join(" "))),Ae();for(let n of Ht(e.store,r))queueMicrotask(()=>e.onProblem?.(n));let ze=n=>{if(("source"in n?new TextEncoder().encode(n.source).length:"script"in n?new TextEncoder().encode(n.script).length:0)>g.maxSourceBytes)return["source"];let E="source"in n?ye(n.source):[];return E.length>0?["source",E.join(" ")]:void 0},J=e.worker,qe=typeof J=="function"?void 0:ze(J);if(qe)return queueMicrotask(()=>D(...qe)),Ae();let Ye=qt(d,()=>et(),"blob"),Te=()=>zt(()=>e.theme?.()??he(m),e.brand,Ye),Xe="[[],null]",Je="",ie=0,U,Qe=()=>{let n=e.brand?.()?.views;if(x&&!x.theme(n?.css)&&Je!==n?.css){Je=n?.css??"";let f="The app's stylesheet for its views draws nothing: the open kit leaves all of it out, so views are drawn without it. graview check says which part (brand-views-css).";j?.postMessage({type:"notice",text:f}),e.onProblem?.(f)}x?.motion(n?.motion??"none");let i=n?.fonts??[],E=e.brand?.()?.typography,_=JSON.stringify([i,E??null]);if(_===Xe)return;Xe=_,ie+=1;let N=ie;if(i.length===0){U?.(),U=void 0;return}an().then(({loadViewFonts:f})=>{N===ie&&(U=f(s,i,{...e.asset?{asset:e.asset}:{},...e.fonts?{origins:e.fonts.origins}:{},...E?{typography:E}:{}},I=>{j?.postMessage({type:"notice",text:I}),e.onProblem?.(I)},U))})},Ze="",xe=()=>{Ze=JSON.stringify(Te()),Qe(),v?.push()},et=()=>{v&&JSON.stringify(Te())!==Ze&&xe()},br=Ut(s,et),z,Sr=Ge(e.store,r)?un().then(({computedOn:n})=>{S=n(e.store.schema)}):Promise.resolve(),q,Tr=r.pictures?sn().then(({createGuestPictures:n})=>{A||(z=n(d,{as:"blob",view:`"${r.title??r.name}"`,pictures:r.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>v?.push(),onLeft:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}))}):Promise.resolve();y=()=>{br(),Ye.dispose(),z?.dispose(),re?.dispose(),q?.dispose(),ue?.dispose(),ie+=1,U?.(),U=void 0};let j,Q=n=>j?.postMessage(n),tt=!1,rt=!1,ae=()=>m.toggleAttribute("data-worker-view-drawn",!A&&rt&&x!==void 0&&p.length===0&&ee.size===0&&!z?.waiting()&&!(q?.waiting??0)),Z=d.performance,ee=new Map,de=Z.now(),xr=()=>{if(V)return;let n=Math.max(10,Math.min(250,Math.floor(g.pushMs/4)));de=Z.now(),V=d.setInterval(()=>{let i=Z.now(),E=i-de>n*2?i-de-n:0;de=i;for(let[_,N]of ee){let f=N+E;if(ee.set(_,f),i-f>=g.pushMs)return D("slow")}},n)},Mr=be(()=>g.drawMs,()=>Z.now()),nt=()=>{},Me=n=>{if(A)return;if(!x)return void p.push(n);let i=x;if(!Mr.draw(_=>n[0]==="render"?i.apply(n[1],_):(i.style(n[1]),!0)))return D("slow");n[0]==="render"&&nt()},st=()=>new Set([...e.store.kindsKeptFrom(e.principal),...e.store.modules.disabledKinds]),ot=()=>Gt(e.store.schema,st()),Ee=()=>Vt(e.store.schema,e.places?.()??[],{kept:st(),...e.arrangement?{pages:e.arrangement()}:{}}),te=Kt({sees:n=>e.store.seenBy(e.principal).graph.has(n),places:Ee,lists:ot,schema:e.store.schema,...e.onNavigate?{onNavigate:e.onNavigate}:e.goTo?{onNavigate:n=>Bt(e.goTo(),n)}:{},...e.hrefOf?{hrefOf:e.hrefOf}:!e.onNavigate&&e.goTo?{hrefOf:n=>Ft(e.goTo(),n)}:{},onLost:n=>{j?.postMessage({type:"notice",text:n}),e.onProblem?.(n)}}),$=new Set,it=new Set,re,at=!1,dt=()=>{at||(at=!0,on().then(({createGuestMedia:n})=>{A||(re=n(d,{view:`"${r.title??r.name}"`,pictures:r.pictures!==void 0,shown:()=>k,...e.file?{file:e.file}:{},onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}),re.refresh(w))},()=>e.onProblem?.(`The view "${r.title??r.name}" places a video or a full-screen viewer, and the host's player could not be loaded.`)))},lt=!1,ut=!1,le=new Map,ct=()=>{lt||!r.accepts?.length||(lt=!0,dn().then(({createGuestDrops:n})=>{A||(q=n(d,{shadow:w,manifest:r,store:e.store,principal:e.principal,files:()=>e.files?.(),shown:()=>$,hears:()=>ut,idOf:i=>x?.renderer.idOf(i),send:Q,change:(i,E)=>{if(!v)return{ok:!1,reason:"refused",message:"The view has gone."};let _=v.change(i,E);return c(),_},handed:(i,E)=>le.set(i.href,{file:i,drop:E}),onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)},onBusy:()=>ae()}),q.refresh())},()=>e.onProblem?.(`The view "${r.title??r.name}" takes files, and the host's drop could not be loaded.`)))},ue,ft=[],pt=!1,Er=n=>{ft=n,ue?.bind(n),!(pt||n.length===0)&&(pt=!0,ln().then(({createGuestGestures:i,unheardWords:E})=>{if(!A){if(r.gestures!==!0){let _=E(r.title??r.name);return j?.postMessage({type:"notice",text:_}),e.onProblem?.(_)}ue=i(w,{root:()=>w.querySelector("[data-graview-view-root]")??void 0,idOf:_=>x?.renderer.idOf(_),send:Q}),ue.bind(ft)}},()=>{}))},Or=n=>{let i=e.store.seenBy(e.principal).graph;for(let E of $){let _=i.getNode(E);for(let N of Object.values(_??{}))for(let f of Dt(N))if(f.href===n)return f}},mt=()=>vr??=cn().then(({createGuestSections:n})=>{if(!A)return H=n(d,{shadow:w,idOf:i=>x?.renderer.idOf(i),send:Q,record:i=>$.has(i)?e.store.seenBy(e.principal).graph.getNode(i):void 0,...e.file?{file:e.file}:{},onProblem:i=>{j?.postMessage({type:"notice",text:i}),e.onProblem?.(i)}}),H.refresh(),H},()=>{e.onProblem?.(`The view "${r.title??r.name}" draws a jump or a file link, and the host's part of it could not be loaded.`)}),gt=n=>{if(n.localName==="graview-video")return dt();n.hasAttribute("data-lightbox")&&(n.setAttribute("aria-haspopup","dialog"),dt())};Promise.all([rn(),nn()]).then(([{createOpenDrawing:n,handedLinks:i,judgeLink:E,linkRefusedWords:_},{createPressReader:N,createSaver:f,fillPrefills:I,judgePress:C,markPresses:B,prefillOf:fe,quietPictures:Ar}])=>{if(A)return;let ne=N(),Rr=l=>Be.some(P=>{try{for(let L=l;L&&L.getRootNode()===w&&!L.hasAttribute("data-graview-view-root");L=L.parentElement)if(L.matches(P))return!0}catch{}return!1}),bt=(l,P)=>{let L=x?.renderer.idOf(l);if(L!==void 0&&Q({type:"dom-event",target:L,event:"acted",pressed:P}),P.ok)return X?.clear(l);Rr(l)||fn().then(({createRefusalNotes:se})=>{A||!l.isConnected||(X??=se(w),X.say(l,P.message??"That was not applied."))},()=>e.onProblem?.(`A press in the view "${r.title??r.name}" was refused: ${P.message??P.reason??"not applied"}`))},Re=f({reader:ne,save:(l,P)=>{if(!v)return;let L=v.pressed(C(e.store,r,$,l));c(),bt(P,{as:l.as,...L})}}),St=()=>Re.flush();d.addEventListener("pagehide",St),W=()=>{d.removeEventListener("pagehide",St),Re.flush()};let Wr=new WeakSet;nt=()=>{te.refresh(w),B(w),Ar(w),I(w,ne,Wr,l=>fe(e.store,e.principal,r,$,l)),re?.refresh(w),q?.refresh(),X?.refresh(),H?H.refresh():w.querySelector(pn)&&mt()};let Tt,xt=new Set,Pr=()=>(Tt!==k&&([Tt,xt]=[k,i(k)]),xt),Mt=new Set;x=n(w,{origin:e.origin??d.location.origin,link:l=>E(l,{handed:Pr(),...e.links?{origins:e.links.origins}:{}}),...e.asset?{asset:e.asset}:{},...e.images?{imageOrigins:e.images.origins}:{},...r.pictures?{picture:l=>z?.drawn(l)}:{},onRefused:l=>{if(l.reason==="url"&&l.element==="a"&&l.address!==void 0&&!Mt.has(l.address)){Mt.add(l.address);let L=_(l.address,e.links?.origins);return j?.postMessage({type:"notice",text:L}),e.onProblem?.(L)}if(l.reason!=="url"||l.element!=="img"||l.address===void 0||it.has(l.address))return;it.add(l.address);let P=It(l.address,{...e.images?{origins:e.images.origins}:{},assets:e.asset!==void 0},l.length);j?.postMessage({type:"notice",text:P}),e.onProblem?.(P)},...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>D("nodes"),send:Q,onFieldSet:l=>ne.filled(l),onAttribute:(l,P)=>{(P==="data-record"||P==="data-place")&&te.link(l),P==="data-lightbox"&>(l),P==="data-drop"&&ct()},decorate:l=>{(l.hasAttribute("data-record")||l.hasAttribute("data-place"))&&te.link(l),gt(l),l.hasAttribute("data-drop")&&ct()},before:(l,P,L)=>{ne.heard(l,P),Re.heard(l,P,L),te.pressed(l,P,L);let se=P.closest("a[href]");se&&L.contains(se)&&!se.hasAttribute("data-graview-link")&&l.type==="click"&&l.stopPropagation();let pe=P.closest("[data-lightbox]"),Et=l.type==="keydown"?l.key:void 0;if(pe&&L.contains(pe)&&l.isTrusted&&(l.type==="click"||(Et==="Enter"||Et===" ")&&pe.localName!=="button")&&(l.preventDefault(),l.stopPropagation(),re?.open(pe)),q?.before(l,P,L))return!1;let Ot=l.type==="click"&&l.isTrusted?P.closest('a[href^="#"]'):null;Ot&&L.contains(Ot)&&(l.preventDefault(),H?H.jump(P,L):mt().then(Kr=>Kr?.jump(P,L)));let We=ne.press(l,P,L);if(!We||!v)return;l.stopPropagation(),X?.clear(P.closest("[data-act]")),l.type==="keydown"&&l.preventDefault();let Gr=v.pressed(C(e.store,r,$,We));c();let At={as:We.as,...Gr},Vr=P.closest("[data-act]");return queueMicrotask(()=>bt(Vr,At)),{pressed:At}}}),Qe();for(let l of p.splice(0))Me(l);M(),ae()},()=>D("start","the view's drawing could not be loaded"));let yt=e.draft?void 0:e.viewerState?.(),ht=Wt(e.principal)??Rt(e.principal).id??e.principal.visitorKey??"",ce=lr({view:r.name,viewer:ht,state:yt??(e.draft?$e():dr(e.store,ht)),onRefused:n=>{e.onProblem?.(n),v&&j?.postMessage({type:"notice",text:n})},onLate:()=>v?.push()});Y=()=>ce.dispose();let Oe=n=>G=ke(d,{source:n,name:r.name,limiter:O,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>T.dropped+=1,onStop:(i,E)=>D(i,E),onError:i=>{tt||D("error",i)},onReady:(i,E,_)=>{j=E,h=fr(mr(d,_)),Object.assign(g,pr(K,h)),xr();let N=ge({store:e.store,principal:e.principal,view:r.name,nonce:i,send:f=>{f.type==="props"&&typeof f.push=="number"&&(ee.set(f.push,Z.now()),ae()),E.postMessage(f)},mine:ce,props:()=>{let f={...Ve(e.store,e.principal,{manifest:r,...e.input?{input:e.input()}:{},theme:Te(),places:Pt(Ee()),...S?{computed:S}:{}}),mine:ce.values()},I=$;return $=new Set([...f.node?[f.node.id]:[],...(f.nodes??[]).map(C=>C.id)]),k&&(I.size!==$.size||[...$].some(C=>!I.has(C)))&&x?.fade(),k=f,f},...z?{hand:z.hand}:{},judgeAct:(f,I)=>{let C=$t(e.store,r,f,I,{shown:$,file:B=>le.get(B)?.file??Or(B),dropped:B=>le.get(B)?.drop});if(C.ok)for(let B of C.spent??[])le.delete(B);return C},onHears:f=>{f.includes("drop")&&(ut=!0)},onGestures:Er,onClicks:(f,I)=>{Ct(m,f),Be=I},onRender:f=>{tt=!0,Me(["render",f])},onPushed:(f,I)=>{if(ee.delete(f),I>=g.pushMs)return D("slow");rt=!0,ae()},onFlood:()=>D("flood"),onStyle:f=>Me(["style",f]),places:()=>[...new Set([...Ee().map(f=>f.as),...ot().map(f=>f.slug)])],...e.limits?{limits:e.limits}:{},limiter:O});v=N,E.onmessage=({data:f})=>{if(!G?.answer(f)&&(N.receive(f),c(),!A&&f?.nonce===i&&f.type==="navigate")){let I={...f.where!==void 0?{where:f.where}:{},...f.section!==void 0?{section:f.section}:{}},C=typeof f.place=="string"?{place:f.place,...I}:typeof f.to=="string"&&{record:f.to,...I};C&&te.go(C)}},xe()}}),wt=r.pictures!==void 0||Ge(e.store,r)||yt!==void 0,vt=()=>Promise.all([ce.ready,Tr.catch(()=>Promise.reject(new Error("the view's pictures could not be loaded"))),Sr.catch(()=>Promise.reject(new Error("the view's computed values could not be worked out")))]),kt=n=>{"source"in n?(wt?Promise.all([Ke(n.source),vt()]).then(([i])=>i):Ke(n.source)).then(i=>{A||Oe({script:i})},i=>D("start",i instanceof Error&&i.message.startsWith("the view's")?i.message:"the view's runtime could not be loaded")):wt?vt().then(()=>{A||Oe(n)},i=>D("start",i instanceof Error?i.message:"the view's pictures could not be loaded")):Oe(n)};return typeof J=="function"?we(J).then(n=>{if(A)return;let i=ze(n);i?D(...i):kt(n)},n=>D("source",`Its code did not arrive${n instanceof Error&&n.message?`: ${n.message}`:""}.`)):kt(J),Ae();function Ae(){return{element:m,shadow:w,get worker(){return G?.worker},update:()=>{v&&xe()},get stats(){return c(),T},get refused(){return x?.refused??[]},get contentHeight(){return u},get css(){return x?.css??""},get pace(){return h},dispose(){A=!0,Fe(),a?.disconnect(),x?.dispose(),m.remove(),b?.remove()}}}}var gr=8e3,yr=t=>({root:t?.shadow.querySelector("[data-graview-view-root]")??void 0,css:t?.css??"",height:t?.contentHeight}),hr=t=>(t?.refused??[]).map(e=>`Refused ${e.reason==="css"?"a rule of the stylesheet":`${e.element?`<${e.element}>`:"something"}${e.name?` ${e.name}`:""}`} (${e.reason}).`);function yn({element:t,definition:e,mounted:s,optionsFor:d,draw:r,mount:m,pressing:w}){return{name:e.manifest.name,title:e.manifest.title??e.manifest.name,source:async()=>{let b=typeof e.worker=="function"?await we(e.worker):e.worker;return"source"in b?b.source:void 0},theme:async()=>{let b=s()?.element;return b?{...he(b)}:{}},drawing:()=>yr(s()),refused:()=>hr(s()),check:async b=>ye(b),presses:async b=>{let T=w?.();if(!T)throw new Error("This page cannot press a view's controls.");let{pressedHere:O}=await T(),g=d({source:b}),K=await O({manifest:g.manifest,source:b,store:g.store,principal:g.principal,...g.input?{input:g.input()}:{},...g.places?{places:g.places()}:{}});if(!K.ok){let k={control:"the view",element:"",does:"nothing",ok:!1,says:K.detail};return{ok:!1,controls:[k],problems:[k]}}let h=K.presses;return h?{ok:h.ok,controls:h.controls,problems:h.problems}:{ok:!0,controls:[],problems:[]}},draft:b=>{let T=s()?.element,O=t.ownerDocument.createElement("div");O.setAttribute("data-graview-section-draft",e.manifest.name),O.style.minWidth="0",t.appendChild(O),T&&(T.style.display="none");let g=()=>{},K=new Promise(S=>g=S),h=setTimeout(()=>g({failed:`It did not draw in ${gr/1e3} seconds.`}),gr),k=m(O,{...d({source:b}),draft:!0,fallback:!1,onFailure:(S,v)=>g({failed:v??`It failed (${S}).`}),onContentHeight:S=>{S!==void 0&&S>0&&g({})}});return K.then(()=>clearTimeout(h)),{drawn:K,drawing:()=>yr(k),refused:()=>hr(k),dispose:()=>{clearTimeout(h),k.dispose(),O.remove(),T&&(T.style.display="")}}},draw:r}}var wr="graview-guest-kit";function ts(t,e){let s=t.ownerDocument,d=s.defaultView;if(!s.getElementById(wr)){let G=s.createElement("style");G.id=wr,G.textContent=je,s.head.appendChild(G)}let r=s.createElement("div");r.className="graview-guest",r.setAttribute("role","group"),r.setAttribute("aria-label",e.title??e.view),r.setAttribute("data-guest-view",e.view),t.appendChild(r);let m={applied:0,refused:0,dropped:0},w=me(e.limits),b=be(()=>e.limits?.drawMs??100,()=>d.performance.now()),T,O,g,K=!1,h={applied:0,refused:0,dropped:0},k=()=>{if(!T)return;let G=T.stats;m.applied+=G.applied-h.applied,m.refused+=G.refused-h.refused,m.dropped+=G.dropped-h.dropped,h={...G}},S=()=>{k(),T?.dispose(),T=void 0,g?.stop()},v=(G,x)=>{K||(K=!0,S(),O?.dispose(),e.onFailure?.(G,x))};return g=ke(d,{source:e.worker,name:e.view,limiter:w,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>m.dropped+=1,onStop:(G,x)=>v(G,x),onReady:(G,x)=>{let A=De(r,{...e.kit?{kit:e.kit}:{},...e.links?{links:e.links}:{},onEvent:(p,c)=>x.postMessage({type:"event",listener:p,...c!==void 0?{detail:c}:{}}),...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>v("budget")});O=A;let o=ge({store:e.store,principal:e.principal,view:e.view,nonce:G,send:p=>x.postMessage(p),onRender:p=>{b.draw(c=>A.apply(p,c))||v("slow")},...e.input?{input:e.input}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},onSize:e.onSize??(p=>r.style.minHeight=`${p}px`),...e.limits?{limits:e.limits}:{},limiter:w});T=o,x.onmessage=p=>{g?.answer(p.data)||(o.receive(p.data),k())},o.push()}}),{element:r,get worker(){return g?.worker},update:()=>T?.push(),get stats(){return k(),m},get refused(){return O?.refused??[]},dispose(){K=!0,S(),O?.dispose(),r.remove()}}}export{Le as GUEST_KIT,je as GUEST_KIT_CSS,_e as KIT_LINK_TARGETS,Yt as KIT_TONES,De as createKitRenderer,er as hostAttribute,tr as kitValue,ts as mountGuestWorker,gn as mountWorkerView,yn as viewPlaceHandle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as S}from"./chunk.
|
|
1
|
+
import{h as S}from"./chunk.JMXBMLKH.js";import{e as x}from"./chunk.PVAYYFT2.js";import{a as C}from"./chunk.TBY5IR7C.js";import{c as P}from"./chunk.QMGBAKX6.js";import{je as b,ma as y,qa as k,sa as w,va as h}from"./chunk.ZDUKVXBI.js";function v(e,t){try{let n=P(e);return n.t==="call"&&n.fn==="all"&&n.args.length===1&&n.args[0].t==="lit"&&n.args[0].value===t}catch{return!1}}function M(e,t){let n=e.options??{};if(e.name===void 0||e.name==="blocks"){let r=n.blocks;if(!Array.isArray(r)||r.length!==1)return!0;let i=r[0];return typeof i?.list!="string"||!v(i.list,t)||i.limit!==void 0}return e.name==="columns"?n.cap!==void 0||Array.isArray(n.hidden)&&n.hidden.length>0:e.name==="calendar"?n.horizon!==void 0:!1}function V(e,t,n,r,i,c=new Set){let g=i?b({filter:i}).filter??[]:[],l=g.length>0?x(e,n).filters:[],s=g.filter(o=>l.some(a=>a.key===o.key));return s.length===0?r:S(r,{filter:s},{schema:e,graph:t,flagged:c}).nodes}var T=new WeakMap,N=e=>e.charAt(0).toUpperCase()+e.slice(1),R=e=>(e??"").replace(/\s+/g," ").trim();function E(e){let t=e.cloneNode(!0);for(let n of t.querySelectorAll("span"))n.remove();return R(t.textContent).replace(/^[▸▾]\s*/,"")}function W(e,t){let n=e.at;if(!n.isConnected||n.closest("[data-graview-popover], [data-worker-view]"))return;let r=n.closest("[data-graview-page-main], main")??n.closest("[data-graview-face]"),i=t.store.schema,c=e.about?.length===1&&e.about[0].startsWith("aggregate:")?e.about[0].slice(10):void 0,g=c&&!c.includes("+")&&i.tryDefinition(c)?c:void 0,l,s=e.on!==void 0?t.store.graph.getNode(e.on):void 0;if(s)l={name:`${N(h(i.tryDefinition(s.kind),s.kind))} page`,slot:"record",kind:s.kind,record:s.id,elements:r?[r]:[],main:r};else if(e.place!==void 0){let o=t.views.places?.().find(a=>a.as===e.place);o&&(l={name:o.title,slot:"place",kind:o.kind,place:o.as,elements:r?[r]:[],main:r})}else if(g){let o=n.closest(".graview-group-head"),a=o?.closest('[data-testid="list-group"]'),f=o?E(o):"";l=a&&f?{name:f,slot:"group",kind:g,group:f,elements:[a],main:r}:{name:k(i,g),slot:"list",kind:g,elements:r?[r]:[],main:r}}else e.home&&(l={name:"Home",slot:"home",elements:r?[r]:[],main:r});return l}function j(e,t){let n=t.onProposeChange!==void 0&&t.composeChange!==void 0&&C(t.store,t.principal),r=e.slot!=="place"&&typeof t.keptViews?.fork=="function"&&typeof t.keptViews.draftFork=="function"&&t.keptViews.current().may.views===!0;return n||r}var m=/^\d{4}-\d{2}-\d{2}/,L=e=>{if(typeof e=="number")return String(e);if(!(typeof e!="string"||!e.trim())){if(m.test(e)){let t=new Date(`${e.slice(0,10)}T12:00:00`);return Number.isNaN(t.getTime())?void 0:t.toLocaleDateString("en-US",{month:"short",day:"numeric"})}return e.length<=40?e:void 0}};function F(e,t){let n=[],{store:r}=t,i=(e.main?.innerText??"").toLowerCase();if((e.slot==="list"||e.slot==="group")&&e.kind){let c=r.schema.tryDefinition(e.kind),g=Object.keys(c?.fields?.shape??{}).filter(d=>!["label","name","title"].includes(d)),l=r.graph.nodesOfKind(e.kind).filter(d=>i.includes(y(c,d).toLowerCase())).slice(0,6),s=d=>w(c,d).toLowerCase(),o=g.find(d=>l.some(u=>typeof u[d]=="string"&&m.test(String(u[d])))),a=g.find(d=>{let u=l.map(p=>L(p[d])).filter(p=>p!==void 0);return u.length>0&&u.every(p=>!i.includes(p.toLowerCase()))});if(a){let d=l.some(u=>m.test(String(u[a]??"")));n.push(d&&!/date|day/.test(s(a))?`Show the ${s(a)} date on each row`:`Show ${s(a)} on each row`)}let f=t.views.arrangement?.()?.lists?.[e.kind],A=typeof f?.sort=="string"?f.sort:f?.sort?.by;o&&A!==o&&n.push(`Sort these by ${/date|day/.test(s(o))?s(o):`${s(o)} date`}, soonest first`)}return n.push(`Make \u201C${e.name}\u201D easier to read at a glance`),n.slice(0,3)}export{M as a,V as b,T as c,W as d,j as e,F as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as h}from"./chunk.
|
|
1
|
+
import{a as h}from"./chunk.T6ISUVUP.js";import{D as g,Ea as a,H as k,Ha as b,K as w,mc as x}from"./chunk.ZDUKVXBI.js";var s=i=>i?._zod?.def,O=Symbol.for("@graview/core:collaborative"),v=/^\^\\d\{4\}-\\d\{2\}-\\d\{2\}\$$/;function R(i){let t=s(i),u=!0,f;for(let e=0;t&&e<4;e++){if(t.type==="optional"||t.type==="nullable")u=!1;else if(t.type==="default")u=!1,f=t.defaultValue;else break;t=s(t.innerType)}if(!t)return{why:"it is not a zod field"};let l=g(i),r={...u?{required:!0}:{},...f!==void 0?{default:f}:{},...l?{description:l}:{}},p=(t.checks??[]).map(e=>s(e)),c=a(i);if(c)return{spec:{type:c,...r}};if(b(i))return{spec:{type:"app-link",...r}};let d;for(let e=s(i),n=0;e&&d===void 0&&n<4;e=s(e.innerType),n++)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(t.type){case"string":{let e=t.format;return e==="email"?{spec:{type:"email",...r}}:e==="url"?{spec:{type:"url",...r}}:e==="date"?{spec:{type:"date",...r}}:e==="datetime"||p.some(n=>n?.fn===w)?{spec:{type:"datetime",...r}}:p.some(n=>n?.format==="regex"&&(v.test(String(n?.pattern?.source??""))||n?.pattern?.source===k.source))?{spec:{type:"date",...r}}:{spec:{type:"string",...r,...m("string")}}}case"number":{let e={};for(let n of p){let o=n?.value;typeof o=="number"&&(n?.check==="greater_than"&&n.inclusive?e.min=Math.max(e.min??o,o):n?.check==="less_than"&&n.inclusive?e.max=Math.min(e.max??o,o):n?.check==="multiple_of"&&(e.step=o))}return{spec:{type:p.some(n=>n?.format==="safeint"||n?.format==="int")?"integer":"number",...e,...r}}}case"boolean":return{spec:{type:"boolean",...r}};case"enum":{let e=Object.keys(t.entries??{});return e.length>0?{spec:{type:"enum",options:e,...r}}:{why:"it is an enum with no options"}}case"array":{let e=s(t.element);if(e?.type==="enum"){let o=Object.keys(e.entries??{});return o.length>0?{spec:{type:"enum",multiple:!0,options:o,...r}}:{why:"it is a list of an enum with no options"}}let n=a(t.element)??(e?.type==="number"?"number":e?.type==="string"?"string":void 0);return n?{spec:{type:"list",of:n,...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(t.type)}, which a document has no field type for`}}}function T(i){let t=R(i);return"spec"in t?t.spec:void 0}export{T as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as i}from"./chunk.
|
|
1
|
+
import{d as i}from"./chunk.MFNWHXGL.js";import{_ as o}from"./chunk.ASNVH2G4.js";import{b as a}from"./chunk.AJZBJBMO.js";var t=a(o(),1);function s({id:r,label:e,go:n,testId:d}){return n?(0,t.jsx)("button",{type:"button","data-testid":d,"data-record":r,title:`Go to ${e}`,onClick:()=>n(r),style:{all:"unset",display:"inline-flex",maxWidth:"100%",minWidth:0,cursor:"pointer",borderRadius:7},className:"graview-activity-record",children:(0,t.jsx)(i,{label:e})}):(0,t.jsx)(i,{label:e})}export{s as a};
|
|
@@ -1,5 +1,5 @@
|
|
|
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 A}from"./chunk.
|
|
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 A}from"./chunk.3BE4SHZD.js";import{t as F}from"./chunk.GH6QX7JR.js";import{G as v,J as h,Qa as H,Va as O,_ as s,ia as k,ka as D}from"./chunk.ASNVH2G4.js";import{a as T}from"./chunk.SDO3U72B.js";import{Ie as I,Je as B,ve as L,zd as R}from"./chunk.ZDUKVXBI.js";import{b as i}from"./chunk.AJZBJBMO.js";var E=i(v(),1);var P=i(s(),1),N=F.part((e,o)=>(0,P.jsx)(e.Inbox,{...o}),{quiet:!0});function j(e){let{store:o,whileAway:r,notifications:t,aiDesk:l}=k(),n=D(),d=A(),{entries:c}=h(l),p=O().length>0,y=(0,E.useMemo)(()=>B(o),[o,n,o.log.length,o.stopsServed]);return e>0||p||d>0||y||(r?.tidied??0)>0||(t?.length??0)>0||c.length>0}function G(e){return(0,P.jsx)(N,{...e})}var x=i(s(),1),M=e=>e.tabIndex>=0&&!e.disabled&&e.getClientRects().length>0;function _(e){if(!e)return!1;if(M(e))return e.focus({preventScroll:!1}),!0;let o=[...e.querySelectorAll("a[href], button, input, select, textarea, [tabindex]")].find(M);return o?(o.focus(),!0):(e.hasAttribute("tabindex")||e.setAttribute("tabindex","-1"),e.focus(),!0)}var K=`.graview-skips{display:contents}
|
|
2
2
|
.graview-skip{position:absolute;width:0;height:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
|
|
3
3
|
.graview-skip:focus{width:auto;height:auto;overflow:visible;clip-path:none;padding:6px 12px;border-radius:8px;border:1px solid var(--graview-accent);background:var(--graview-float,var(--graview-panel));color:var(--graview-ink);font:inherit;font-size:.875rem;font-weight:600;box-shadow:var(--graview-lift-high);outline:2px solid var(--graview-accent);outline-offset:1px}
|
|
4
4
|
.graview-skips[data-place=bar] .graview-skip:focus{position:fixed;left:8px;top:6px;z-index:${R("toast")}}
|
|
5
|
-
.graview-skips[data-place=here] .graview-skip:focus{position:static;justify-self:start}`;function W({to:e,place:o="bar"}){return e.length===0?null:(0,x.jsxs)("span",{className:"graview-skips","data-place":o,children:[(0,x.jsx)("style",{children:K}),e.map(r=>(0,x.jsx)("button",{type:"button",className:"graview-skip","data-graview-skip":r.testid,"data-testid":`skip-${r.testid}`,...r.opens?{"data-graview-skip-opens":""}:{},onClick:r.go,children:r.label},r.testid))]})}var m=i(v(),1),w=i(s(),1),$=H(T(()=>(__graviewPreload(import.meta.url,["./chunk.
|
|
5
|
+
.graview-skips[data-place=here] .graview-skip:focus{position:static;justify-self:start}`;function W({to:e,place:o="bar"}){return e.length===0?null:(0,x.jsxs)("span",{className:"graview-skips","data-place":o,children:[(0,x.jsx)("style",{children:K}),e.map(r=>(0,x.jsx)("button",{type:"button",className:"graview-skip","data-graview-skip":r.testid,"data-testid":`skip-${r.testid}`,...r.opens?{"data-graview-skip-opens":""}:{},onClick:r.go,children:r.label},r.testid))]})}var m=i(v(),1),w=i(s(),1),$=H(T(()=>(__graviewPreload(import.meta.url,["./chunk.EZF2T3XQ.js","./chunk.LPWANRBL.js","./chunk.3BE4SHZD.js","./chunk.U5P23GO7.js","./chunk.SNDFIJVX.js","./chunk.2TTKQAWQ.js","./chunk.CJHCUHVN.js","./chunk.MFNWHXGL.js","./chunk.DCIYOZYP.js","./chunk.A4TBVXHQ.js","./chunk.7QGDWAHH.js","./chunk.YC2IDHQX.js","./chunk.6YKKZI4H.js","./chunk.WIVNFOQR.js","./chunk.MIE4TJRW.js","./chunk.DEBW4FH6.js","./chunk.RD2FSSLV.js","./chunk.OWHH7JDV.js","./chunk.T3RFZ66S.js","./chunk.TDWJU6GW.js","./chunk.P3Z4ZCL3.js","./chunk.45OLF6BK.js","./chunk.T6ISUVUP.js","./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.7JE3J7H4.js")))),q=$.part((e,o)=>{let r=e.RecordInteractions;return(0,w.jsx)(r,{...o})},{quiet:!0});function Q(e,o,r){let t=e.target;return(t.on==="record"||t.on==="field"?t.id===o:t.on==="selection"?t.ids.includes(o):t.on==="act"?t.id===o:!1)||e.offered.some(n=>n.id===`record:${o}`||n.id.startsWith(`fill:${o}:`))||(e.batches??[]).some(n=>r(n).includes(o))}function U({id:e,style:o,headingStyle:r,className:t}){let{ai:l,aiDesk:n,store:d}=k(),{entries:c}=h(n),p=l.off===!0;(0,m.useEffect)(()=>{p||n.load()},[n,p]);let y=d.log.length,g=(0,m.useMemo)(()=>{let b=S=>d.log.all().flatMap(C=>C.batch===S?C.writes:[]);return c.filter(S=>Q(S,e,b))},[c,e,d,y]);return p||g.length===0?null:(0,w.jsx)(m.Suspense,{fallback:null,children:(0,w.jsx)(q,{entries:g,...o?{style:o}:{},...r?{headingStyle:r}:{},...t?{className:t}:{}})})}var u=i(v(),1);var f=i(s(),1),z={textDecorationLine:"underline",textDecorationColor:"color-mix(in srgb, currentColor 50%, transparent)",textDecorationThickness:1,textUnderlineOffset:"0.2em"};function V({children:e,mark:o="\u2192"}){return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("span",{style:z,children:e}),(0,f.jsx)("span",{"aria-hidden":"true",children:o})]})}var a=i(s(),1);function jr({context:e,stop:o,title:r,label:t,style:l,className:n,children:d,...c}){let p=L(e.views?.arrangement?.()),y=d??(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(V,{mark:"\u2197",children:["In ",p==="Scene"?"the scene":p.replace(/^The /,"the ")]})}),g=t?{"aria-label":t}:{};if(e.overview){let b=e.overview;return(0,a.jsx)("a",{href:o,...c,...g,...r?{title:r}:{},style:l,...n?{className:n}:{},onClick:S=>{S.preventDefault(),b(o)},children:y})}return e.embedded?null:(0,a.jsx)("a",{href:`${e.sceneHref??"/"}${o}`,...c,...g,...r?{title:r}:{},style:l,...n?{className:n}:{},children:y})}function Gr(){return(0,a.jsx)("a",{href:"#fresh","data-testid":"start-fresh",title:"Forget every edit made in this browser and return to the example",onClick:e=>{e.preventDefault(),window.location.assign(I(window.location.href))},style:{color:"inherit",display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24},children:"Start fresh"})}function _r(e){let o=(0,u.useRef)(0),r=(0,u.useCallback)(t=>e.subscribe(()=>{o.current+=1,t()}),[e]);return(0,u.useSyncExternalStore)(r,()=>o.current,()=>0)}function Wr(e){return e===void 0?{}:e==="sm"||e==="md"?{"data-size":e}:{style:{"--graview-control-height":typeof e=="number"?`${e}px`:e}}}var $r=(e,o)=>o?`${e} ${o}`:e;export{j as a,G as b,_ as c,W as d,U as e,V as f,jr as g,Gr as h,_r as i,Wr as j,$r as k};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{e as K,f as H}from"./chunk.
|
|
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{e as K,f as H}from"./chunk.T3RFZ66S.js";import{f as $,h as F,i as P,j as B}from"./chunk.TDWJU6GW.js";import"./chunk.P3Z4ZCL3.js";import"./chunk.45OLF6BK.js";import"./chunk.T6ISUVUP.js";import"./chunk.GH6QX7JR.js";import"./chunk.J4D4BIB4.js";import{G as se,Qa as A,_ as S}from"./chunk.ASNVH2G4.js";import{a as q}from"./chunk.SDO3U72B.js";import"./chunk.ZDUKVXBI.js";import"./chunk.FQLNBIQ5.js";import{b as T}from"./chunk.AJZBJBMO.js";var r=T(se(),1);var j=T(S(),1),Z=A(q(()=>(__graviewPreload(import.meta.url,["./chunk.GH6QX7JR.js","./chunk.J4D4BIB4.js","./chunk.ASNVH2G4.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.43HWCHBN.js")))),U={Part:Z.part((n,t)=>(0,j.jsx)(n.WhenMonth,{...t}),{quiet:!0}),prefetch:()=>Z.prefetch()};var o=T(S(),1),E="try \u201Ctomorrow 3pm\u201D, \u201CFri 10:30\u201D or \u201C17 Oct\u201D";function _(n,t,i,b=!1){let y=Date.UTC(+n.day.slice(0,4),+n.day.slice(5,7)-1,+n.day.slice(8,10),0,t?n.minutes??0:0),x={weekday:b?"long":"short",year:"numeric",month:b?"long":"short",day:"numeric",...t?{hour:"numeric",minute:"2-digit"}:{},timeZone:"UTC"},h;try{h=new Intl.DateTimeFormat(i??"en-US",x)}catch{h=new Intl.DateTimeFormat("en-US",x)}return h.format(y).replace(/ /g," ")}function V(n,t){if(n.length===4)return n;let i=Date.UTC(+n.slice(0,4),+n.slice(5,7)-1,1);try{return new Intl.DateTimeFormat(t??"en-US",{month:"long",year:"numeric",timeZone:"UTC"}).format(i)}catch{return new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric",timeZone:"UTC"}).format(i)}}function me({value:n,time:t,instant:i=!1,partial:b=!1,label:y,name:x,required:h,autoFocus:G,autoSelect:N,locale:s,onChange:J,onLeave:Q,onCancel:X,inputRef:W,boxStyle:Y}){let k=(0,r.useId)(),p=(0,r.useRef)(null),O=(0,r.useRef)(null),I=e=>b&&!t&&e!==void 0?K(e):void 0,C=e=>{let a=I(e);if(a!==void 0)return V(a,s);let l=F(e);return l?_(l,t,s):e??""},[g,D]=(0,r.useState)(()=>C(n)),[R,w]=(0,r.useState)(!1),[ee,L]=(0,r.useState)(n),[ne,te]=(0,r.useState)(n);n!==ne&&(te(n),n!==ee&&(L(n),D(C(n)))),(0,r.useEffect)(()=>{N&&(p.current?.focus(),p.current?.select())},[N]);let d=t&&i?B(s):void 0,M=g===C(n),u=F(n),c=I(M?n:g),f=c!==void 0?void 0:M?u:H(g,{today:$().day,time:t,...u?{base:u}:{},...s?{locale:s}:{}}),re=M?n:c!==void 0?c:f?P(f,{time:t,instant:i}):void 0,v=g.trim()==="",m=!v&&f===void 0&&c===void 0;(0,r.useEffect)(()=>{p.current?.setCustomValidity(m?`Not a date this reads \u2014 ${E}`:"")},[m]);let z=e=>{L(e),J(e)},oe=e=>{D(e);let a=I(e);if(a!==void 0)return z(a);let l=e.trim()===""?void 0:H(e,{today:$().day,time:t,...u?{base:u}:{},...s?{locale:s}:{}});z(l?P(l,{time:t,instant:i}):void 0)},ae=e=>{let a=t?{day:e,minutes:f?.minutes??u?.minutes??540}:{day:e},l=P(a,{time:t,instant:i});D(C(l)),z(l),w(!1),requestAnimationFrame(()=>{p.current?.focus(),p.current?.select()})},ie=v?`Type a date, or pick one \u2014 ${E}`:m?`Not a date this reads \u2014 ${E}`:c!==void 0?`${V(c,s)} (${c.length===4?"a year":"a month"} alone)`:f?`${_(f,t,s,!0)}${d?` ${d.short}`:""}`:"";return(0,o.jsxs)("span",{"data-graview-when":t?i?"instant":"moment":"day",style:{display:"inline-flex",flex:"1 1 14rem",flexWrap:"wrap",alignItems:"center",gap:"4px 6px",maxWidth:"100%",minWidth:0},onBlur:e=>{let a=e.relatedTarget;a&&e.currentTarget.contains(a)||!a&&typeof document<"u"&&!document.hasFocus()||(w(!1),Q?.(re))},children:[(0,o.jsx)("input",{ref:e=>{p.current=e,typeof W=="function"?W(e):W&&(W.current=e)},type:"text",name:x,required:h,autoFocus:G,"aria-label":y,"aria-describedby":`${k}-said`,"aria-invalid":m||void 0,autoComplete:"off",spellCheck:!1,enterKeyHint:"done",placeholder:t?"tomorrow 3pm":"17 Oct",value:g,"data-graview-part":"control",onChange:e=>oe(e.target.value),onKeyDown:e=>{e.key==="Escape"?(e.preventDefault(),X?.()):e.key==="ArrowDown"&&e.altKey&&(e.preventDefault(),w(!0))},style:{flex:"1 1 12ch",minWidth:"10ch",maxWidth:"100%",boxSizing:"border-box",font:"inherit",...Y}}),(0,o.jsx)("button",{ref:O,type:"button","aria-label":`Pick a date for ${y}`,"aria-expanded":R,"aria-controls":`${k}-month`,"data-graview-part":"when-pick",onClick:()=>w(e=>!e),onPointerEnter:()=>U.prefetch(),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:32,minHeight:32,padding:0,borderRadius:6},children:(0,o.jsxs)("svg",{"aria-hidden":"true",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",children:[(0,o.jsx)("rect",{x:"2",y:"3",width:"12",height:"11",rx:"1.5"}),(0,o.jsx)("path",{d:"M2 6.5h12M5.5 1.5v3M10.5 1.5v3"})]})}),(0,o.jsxs)("span",{id:`${k}-said`,"aria-live":"polite","data-graview-part":"when-said",...d?{"data-graview-zone":d.zone,title:`Times are in ${d.zone.replace(/_/g," ")} (${d.short})`}:{},style:{flexBasis:"100%",fontSize:"0.75rem",color:m?"var(--graview-bad)":"var(--graview-ink-faint)"},children:[ie,d&&!m&&!v?(0,o.jsx)("span",{"data-graview-part":"when-zone",children:` \xB7 ${(d.zone.split("/").at(-1)??d.zone).replace(/_/g," ")} time`}):null]}),R?(0,o.jsx)(r.Suspense,{fallback:null,children:(0,o.jsx)(U.Part,{id:`${k}-month`,label:y,selected:f?.day??u?.day,today:$().day,locale:s,onPick:ae,onClose:()=>{w(!1),O.current?.focus()}})}):null]})}export{me as WhenInput,_ as wallAsRead};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as O}from"./chunk.
|
|
1
|
+
import{c as O}from"./chunk.TDWJU6GW.js";import{_ as N}from"./chunk.ZDUKVXBI.js";var H=/^h([1-6])$/,D={section:null,article:null,form:null,region:null,nav:"navigation",navigation:"navigation",main:"main content",header:"header",banner:"header",footer:"footer",contentinfo:"footer",aside:"aside",complementary:"aside",search:"search"},G=e=>typeof e=="object"&&e!==null&&typeof e.getAttribute=="function"&&(e.nodeType===void 0||e.nodeType===1),$=e=>(e??"").replace(/\s+/g," ").trim();function*x(e){yield e;for(let r of Array.from(e.childNodes))G(r)&&(yield*x(r))}var P=e=>(e.getAttribute("data-graview-as")??e.localName??"").toLowerCase();function C(e){let r=H.exec(P(e));return r?Number(r[1]):e.getAttribute("role")==="heading"?Number(e.getAttribute("aria-level")??2):void 0}function R(e){let r=[...x(e)],i=new Map;for(let n of r){let d=n.getAttribute("id");d&&i.set(d,n)}let t=[],g=new Set,a=(n,d)=>{let s=n.toLowerCase();!n||g.has(s)||(g.add(s),t.push({name:n.length>80?`${n.slice(0,79)}\u2026`:n,as:d}))};for(let n of r){if(n.getAttribute("aria-hidden")==="true"||n.getAttribute("hidden")!==null)continue;if(C(n)!==void 0){a($(n.textContent),"heading");continue}let s=P(n),f=(n.getAttribute("role")??"").toLowerCase(),l=f in D?f:s in D?s:void 0;if(!l)continue;let m=(n.getAttribute("aria-labelledby")??"").split(/\s+/).flatMap(u=>i.get(u)?[$(i.get(u).textContent)]:[]).join(" "),c=[...x(n)].find(u=>u!==n&&C(u)!==void 0),o=$(n.getAttribute("aria-label"))||m||(c?$(c.textContent):"")||D[l]||"";a(o,l==="region"?"section":l)}return t}var v="\0";function _(e){let r=[],i=e.length,t=0,g="",a=l=>l.replace(/\\(u\{[0-9a-fA-F]+\}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{2}|.)/gs,(m,c)=>c==="n"?`
|
|
2
2
|
`:c==="t"?" ":c[0]==="u"||c[0]==="x"?String.fromCodePoint(parseInt(c.replace(/[ux{}]/g,""),16)):c),n=l=>{let m=++t;for(;t<i&&e[t]!==l&&e[t]!==`
|
|
3
3
|
`;)t+=e[t]==="\\"?2:1;let c=e.slice(m,t);return t++,a(c)},d=()=>{t++;let l=!1;for(;t<i&&e[t]!==`
|
|
4
4
|
`;){let m=e[t];if(m==="\\")t+=2;else if(m==="[")l=!0,t++;else if(m==="]")l=!1,t++;else{if(m==="/"&&!l)break;t++}}for(t++;t<i&&/[a-z]/i.test(e[t]);)t++},s=()=>{t++;let l="";for(;t<i;){let m=e[t];if(m==="\\")l+=a(e.slice(t,t+2)),t+=2;else{if(m==="`")return t++,l;m==="$"&&e[t+1]==="{"?(t+=2,f(!0),l+=v):(l+=m,t++)}}return l};function f(l){let m=0;for(;t<i;){let c=e[t];if(c==="/"&&e[t+1]==="/"){let o=e.indexOf(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as N,b as g,c as f,d as A,e as m,g as b,h as x}from"./chunk.
|
|
1
|
+
import{a as N,b as g,c as f,d as A,e as m,g as b,h as x}from"./chunk.TDWJU6GW.js";import{E as $,P as y,Z as c}from"./chunk.ZDUKVXBI.js";var E=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],j=["sun","mon","tue","wed","thu","fri","sat"],h="(jan(?:uary)?|feb(?:ruary)?|mar(?:ch)?|apr(?:il)?|may|june?|july?|aug(?:ust)?|sept?(?:ember)?|oct(?:ober)?|nov(?:ember)?|dec(?:ember)?)",W="(sun(?:day)?|mon(?:day)?|tue(?:s|sday)?|wed(?:nesday)?|thu(?:r|rs|rsday)?|fri(?:day)?|sat(?:urday)?)",O=n=>E.indexOf(n.slice(0,3))+1,D=n=>n===void 0?void 0:n.length===2?2e3+Number(n):Number(n);function T(n){try{let r=new Intl.DateTimeFormat(n,{month:"numeric",day:"numeric"}).formatToParts(0).map(o=>o.type);return r.indexOf("month")<r.indexOf("day")}catch{return!0}}function R(n){let r=(e,i)=>({minutes:i,rest:`${n.slice(0,e.index)} ${n.slice(e.index+e[0].length)}`}),o=/\b(noon|midday)\b/.exec(n);if(o)return r(o,12*60);if(o=/\bmidnight\b/.exec(n),o)return r(o,0);if(o=/\b(\d{1,2})(?::(\d{2}))?\s*([ap])\.?m?\.?(?=\s|$)/.exec(n),o){let e=Number(o[1]),i=Number(o[2]??0);return e<1||e>12||i>59?{rest:n,bad:!0}:r(o,(e%12+(o[3]==="p"?12:0))*60+i)}if(o=/\b(\d{1,2}):(\d{2})\b/.exec(n),o){let e=Number(o[1]),i=Number(o[2]);return e>23||i>59?{rest:n,bad:!0}:r(o,e*60+i)}if(o=/\bat\s+(\d{1,2})\b/.exec(n),o){let e=Number(o[1]);return e>23?{rest:n,bad:!0}:r(o,(e>=1&&e<=7?e+12:e)*60)}let t=/\b(morning|afternoon|evening|tonight)\b/.exec(n);return t?{minutes:{morning:9,afternoon:15,evening:18,tonight:20}[t[1]]*60,rest:t[1]==="tonight"?`${n.slice(0,t.index)} today ${n.slice(t.index+t[0].length)}`:`${n.slice(0,t.index)} ${n.slice(t.index+t[0].length)}`}:{rest:n}}function M(n,r,o){let t=n.replace(/\b(on|at|the|of|this)\b/g," ").replace(/\s+/g," ").trim();if(t==="")return null;if(t==="today"||t==="now")return r;if(t==="tomorrow"||t==="tmrw"||t==="tmr")return f(r,1);if(t==="yesterday")return f(r,-1);if(t==="next week")return f(r,7);let e=/^in (\d{1,3}) (day|days|week|weeks)$/.exec(t);if(e)return f(r,Number(e[1])*(e[2].startsWith("week")?7:1));if(e=new RegExp(`^(next )?${W}$`).exec(t),e){let d=(j.indexOf(e[2].slice(0,3))-A(r)+7)%7;return f(r,e[1]&&d===0?7:d)}if(e=/^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(t),e)return m(Number(e[1]),Number(e[2]),Number(e[3]));let i=t.replace(new RegExp(`^${W} `),"");e=new RegExp(`^(\\d{1,2})(?:st|nd|rd|th)? ${h}(?: (\\d{4}))?$`).exec(i);let s=e?{date:e[1],month:e[2],year:e[3]}:void 0;e=new RegExp(`^${h} (\\d{1,2})(?:st|nd|rd|th)?(?: (\\d{4}))?$`).exec(i);let u=s??(e?{date:e[2],month:e[1],year:e[3]}:void 0);if(u)return I(r,D(u.year),O(u.month),Number(u.date));if(e=/^(\d{1,2})[/.-](\d{1,2})(?:[/.-](\d{2}|\d{4}))?$/.exec(i),e){let[a,d]=[Number(e[1]),Number(e[2])],[l,p]=T(o)?[a,d]:[d,a];return I(r,D(e[3]),l,p)}}function I(n,r,o,t){if(r!==void 0)return m(r,o,t);let e=Number(n.slice(0,4)),i=m(e,o,t);return i===void 0?m(e+1,o,t):g(n)-g(i)>183*N?m(e+1,o,t):i}function L(n){if(typeof n=="number")return Number.isInteger(n)&&n>=1e3&&n<=9999?String(n):void 0;let r=String(n).trim().toLowerCase().replace(/,/g," ").replace(/\s+/g," ");if(/^\d{4}$/.test(r))return Number(r)>=1e3?r:void 0;let o=(e,i)=>i>=1&&i<=12&&Number(e)>=1e3?`${e}-${String(i).padStart(2,"0")}`:void 0,t=/^(\d{4})[-/](\d{1,2})$/.exec(r);if(t)return o(t[1],Number(t[2]));if(t=/^(\d{1,2})\/(\d{4})$/.exec(r),t)return o(t[2],Number(t[1]));if(t=new RegExp(`^${h}\\.? (\\d{4})$`).exec(r),t)return o(t[2],O(t[1]))}function P(n,r){let o=n.trim();if(b(o)){let u=x(o);if(u)return r.time?u:{day:u.day}}let t=n.toLowerCase().replace(/,/g," ").replace(/(\d{4}-\d{2}-\d{2})t(\d\d:\d\d)(:\d\d(\.\d+)?)?/,"$1 $2").replace(/\s+/g," ").trim();if(t==="")return;let e=R(t);if(e.bad)return;let i=M(e.rest,r.today,r.locale??$);if(i===void 0||i===null&&e.minutes===void 0)return;let s=i??r.base?.day??r.today;return r.time?{day:s,minutes:e.minutes??r.base?.minutes??9*60}:{day:s}}function B(n){if(n===void 0||n==="web"||n.startsWith("ai:")||n.startsWith("app:"))return;if(n==="api")return"via the API";if(n==="cli")return"via the command line";let[r,...o]=n.split(":"),t=o.join(":");return(r==="mcp"||r==="view")&&t?`via ${t}`:r==="mcp"?"via an agent's tools":`via ${n}`}var S=n=>{if(!n.currency)return{before:!0};try{let r=y(n.locale),o=new Intl.NumberFormat(r,{style:"currency",currency:n.currency}).formatToParts(1),t=o.findIndex(s=>s.type==="currency"),e=o.findIndex(s=>s.type==="integer"),i;try{i=new Intl.DisplayNames([r],{type:"currency"}).of(n.currency)}catch{}return{...t>=0?{symbol:o[t].value}:{},before:t<e,...i?{name:i}:{}}}catch{return{symbol:n.currency,before:!0}}};function H(n){let r=n.locale;if(n.format==="money"){let{symbol:o,before:t,name:e}=S(n),i=c(1250,r,{minimumFractionDigits:2,maximumFractionDigits:2});return{...o?t?{prefix:o}:{suffix:o}:{},placeholder:i,hint:e?`in ${e}`:n.currency?`in ${n.currency}`:"an amount of money"}}return n.format==="percent"?{suffix:"%",placeholder:c(15,r),hint:"as a percent"}:{...n.unit?{suffix:n.unit}:{},placeholder:"",hint:n.unit?`in ${n.unit}`:"a number"}}function v(n,r){return n===void 0||!Number.isFinite(n)?"":r.format==="money"?c(n,r.locale,Number.isInteger(n)?{maximumFractionDigits:0}:{minimumFractionDigits:2,maximumFractionDigits:2}):r.format==="percent"?c(n*100,r.locale,{maximumFractionDigits:4}):c(n,r.locale,{maximumFractionDigits:6})}function C(n){try{let r=new Intl.NumberFormat(y(n)).formatToParts(12345.6);return{group:r.find(o=>o.type==="group")?.value??",",decimal:r.find(o=>o.type==="decimal")?.value??"."}}catch{return{group:",",decimal:"."}}}function K(n,r){let{group:o,decimal:t}=C(r),e=n.replace(/[\s ']/g,"").replace(/[−–]/g,"-");if(t!=="."&&!e.includes(t)&&/^-?\d+\.\d{1,2}$/.test(e))return Number(e);if(o&&(e=e.split(o).join("")),t!=="."&&(e=e.replace(t,".")),!/^-?(\d+\.?\d*|\.\d+)$/.test(e))return;let i=Number(e);return Number.isFinite(i)?i:void 0}function Y(n,r){let o=n.trim();if(o==="")return;let t=r?.format==="money"&&r.currency?S(r).symbol:void 0,e=o;t&&(e=e.split(t).join("")),r?.currency&&(e=e.replace(new RegExp(r.currency,"gi"),"")),e=e.replace(/^[$€£¥₹]|[$€£¥₹]$/g,""),/%\s*$/.test(e)&&(e=e.replace(/%\s*$/,"")),r?.unit&&r.format!=="money"&&(e=e.replace(new RegExp(`\\s*${r.unit.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*$`),""));let s=K(e,r?.locale);if(s!==void 0)return r?.format==="percent"?s/100:s}var w=/^[0-9a-f]{32}$/,F=n=>n.replace(/-/g,"").toLowerCase();function _(n,r,o){if(!(!n||typeof n!="object"))for(let[t,e]of Object.entries(n)){if(!e||typeof e!="object")continue;if(e.system==="google-calendar"&&e.kind===r)return{connection:t,system:"google-calendar",words:"Google Calendar"};if(e.system!=="notion")continue;let s=(Array.isArray(e.sources)?e.sources:[{kind:e.kind,source:e.source}]).find(p=>p&&p.kind===r);if(!s)continue;let u=typeof s.source=="string"&&!w.test(F(s.source))?s.source:void 0,a=o.startsWith(`${r}:${t}-`)?o.slice(`${r}:${t}-`.length):void 0,d=typeof e.database=="string"?F(e.database):void 0,l=a&&w.test(a)?a:d&&w.test(d)?d:void 0;return{connection:t,system:"notion",words:u?`Notion \xB7 ${u}`:"Notion",...l?{href:`https://www.notion.so/${l}`}:{}}}}export{B as a,H as b,v as c,Y as d,L as e,P as f,_ as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as o}from"./chunk.
|
|
1
|
+
import{C as o}from"./chunk.ZDUKVXBI.js";var r=Symbol.for("@graview/core:markdown");function t(e){let n=o(e);return!!n&&(n[r]===1||t(n.innerType))}export{t as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as i}from"./chunk.SDO3U72B.js";var m=i(()=>(__graviewPreload(import.meta.url,["./chunk.JO2X52D4.js","./chunk.
|
|
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 i}from"./chunk.SDO3U72B.js";var m=i(()=>(__graviewPreload(import.meta.url,["./chunk.JO2X52D4.js","./chunk.KAIZDIRK.js","./chunk.NNK2E2EP.js","./chunk.CEQQIW7Z.js","./chunk.ONAH6MC4.js","./chunk.73RMM4W7.js","./chunk.KFYSKZC4.js","./chunk.TRP66PHK.js","./chunk.PGT4ZQDG.js","./chunk.VUE6ILQV.js","./chunk.2IOJNFCR.js","./chunk.AAPXF6NP.js","./chunk.QDVGHI7R.js","./chunk.M5FP4Y4Q.js","./chunk.O5P6LXHF.js","./chunk.SDO3U72B.js","./chunk.ZDUKVXBI.js","./chunk.FQLNBIQ5.js","./chunk.AJZBJBMO.js"]),import("./chunk.SD2UYSV6.js")));function f(r,s){let e=!1,n=()=>{window.removeEventListener("online",n),e||o()},o=()=>void r().then(d=>{e||s(d)},()=>{e||window.addEventListener("online",n)});return o(),()=>{e=!0,window.removeEventListener("online",n)}}var t;function l(r){t=r}function u(){return t}export{m as a,f as b,l as c,u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as b,R as c,S as T,U as p,V as D}from"./chunk.
|
|
1
|
+
import{E as b,R as c,S as T,U as p,V as D}from"./chunk.ZDUKVXBI.js";var S=864e5,N=/^(\d{4})-(\d{2})-(\d{2})/,s=n=>String(n).padStart(2,"0"),g=n=>new Date(n).toISOString().slice(0,10),m=n=>Date.UTC(+n.slice(0,4),+n.slice(5,7)-1,+n.slice(8,10)),W=(n,e)=>g(m(n)+e*S),M=n=>new Date(m(n)).getUTCDay();function A(n,e,t){if(!(e>=1&&e<=12&&t>=1&&t<=31))return;let r=`${String(n).padStart(4,"0")}-${s(e)}-${s(t)}`;return g(m(r))===r?r:void 0}function O(n=new Date){let e=c();return e?p(n.getTime(),e):{day:`${n.getFullYear()}-${s(n.getMonth()+1)}-${s(n.getDate())}`,minutes:n.getHours()*60+n.getMinutes()}}var $=n=>/T\d\d:\d\d(:[\d.]+)?(Z|[+-]\d\d:?\d\d)$/.test(n);function f(n){if(typeof n!="string")return;if($(n)){let r=new Date(n);return Number.isNaN(r.getTime())?void 0:O(r)}let e=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2}))?/.exec(n);if(!e||!A(Number(e[1]),Number(e[2]),Number(e[3])))return;let t=n.slice(0,10);return e[4]===void 0?{day:t}:{day:t,minutes:Number(e[4])*60+Number(e[5])}}function x(n,e){if(!e.time)return n.day;let t=n.minutes??9*60;if(!e.instant)return`${n.day}T${s(Math.floor(t/60))}:${s(t%60)}`;let r=c(),[,i,a,d]=N.exec(n.day);return(r?new Date(D(n.day,t,r)):new Date(Number(i),Number(a)-1,Number(d),Math.floor(t/60),t%60)).toISOString().replace(/\.\d{3}Z$/,"Z")}function Z(n,e=new Date){let t=T(),r=t;try{r=new Intl.DateTimeFormat(n??b,{timeZoneName:"short",timeZone:t}).formatToParts(e).find(i=>i.type==="timeZoneName")?.value??t}catch{r=t}return{zone:t,short:r}}function z(n,e,t,r){let i=f(e);if(!i)return t;let a=n===void 0?void 0:f(n),d=t===void 0?void 0:f(t),o=u=>m(u.day)+(u.minutes??0)*6e4,l=(u,h)=>{let y=o(u)+h;return{day:g(y),...r.time?{minutes:Math.round(y%S/6e4)}:{}}};return a&&d?x(l(d,o(i)-o(a)),r):d&&o(d)>=o(i)?t:r.time?x(l(i,36e5),r):t}var _=/^(start|starts|startsAt|startsOn|startAt|begins|from|opens|checkIn)$/i,w=/^(end|ends|endsAt|endsOn|endAt|until|to|finish|finishes|closes|through|checkOut)$/i;function F(n,e={}){let t=(e.start&&n.includes(e.start)?e.start:void 0)??n.find(i=>_.test(i)),r=(e.end&&n.includes(e.end)?e.end:void 0)??n.find(i=>i!==t&&w.test(i));return t&&r?{start:t,end:r}:void 0}export{S as a,m as b,W as c,M as d,A as e,O as f,$ as g,f as h,x as i,Z as j,z as k,F as l};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as a}from"./chunk.
|
|
1
|
+
import{t as a}from"./chunk.DEBW4FH6.js";import{G as f,_ as s,ia as l}from"./chunk.ASNVH2G4.js";import{b as i}from"./chunk.AJZBJBMO.js";var d=i(f(),1),p=i(s(),1),c=new Set;function B(e){return c.add(e),()=>void c.delete(e)}function S(){let{store:e,principal:o}=l();return(0,d.useMemo)(()=>n=>{let t=n.on===void 0?void 0:e.graph.getNode(n.on);if(!t)return null;let u=[...c].filter(r=>r.store===e&&r.kind===t.kind);return(n.element?u.find(r=>r.root()?.contains(n.element)??!1):u[0])?.section(t.id,o)??null},[e,o])}function v({children:e}){let o=S(),n=(0,d.useMemo)(()=>[o],[o]);return(0,p.jsx)(a,{sections:n,children:e})}export{B as a,S as b,v as c};
|