graview 0.1.39 → 0.1.40
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.WQPNGBR7.js → chunk.242EUAPE.js} +1 -1
- package/dist/preview/chunk.2CF2XKOS.js +1 -0
- package/dist/preview/chunk.2FGYWAID.js +1 -0
- package/dist/preview/{chunk.NSNGPQGT.js → chunk.2FLPDPEL.js} +1 -1
- package/dist/preview/{chunk.ZTMDU3OH.js → chunk.2GDXNTY5.js} +1 -1
- package/dist/preview/{chunk.C4CFYTCW.js → chunk.2JB4Y2ET.js} +1 -1
- package/dist/preview/chunk.2NXH7VAI.js +1 -0
- package/dist/preview/chunk.2OSNYF5C.js +1 -0
- package/dist/preview/{chunk.Z7JRBKA7.js → chunk.2RVUDRRY.js} +1 -1
- package/dist/preview/{chunk.5OJJ2TKZ.js → chunk.2WACBAUN.js} +2 -2
- package/dist/preview/chunk.35PHXNOC.js +1 -0
- package/dist/preview/{chunk.WJQY4E45.js → chunk.3Q75TIGL.js} +1 -1
- package/dist/preview/{chunk.HHUCPVG5.js → chunk.42XSBKPO.js} +1 -1
- package/dist/preview/{chunk.6CFP5UYP.js → chunk.47KHZCNG.js} +1 -1
- package/dist/preview/{chunk.U7QMA4H7.js → chunk.4QPVS2ZM.js} +1 -1
- package/dist/preview/{chunk.NG3YMQ36.js → chunk.4VG2KN7G.js} +1 -1
- package/dist/preview/{chunk.6XU2CXRZ.js → chunk.5RABSIF7.js} +1 -1
- package/dist/preview/{chunk.7EFNLMKU.js → chunk.67WWRC6Y.js} +1 -1
- package/dist/preview/{chunk.QMFUPTR4.js → chunk.6AVZWLRF.js} +1 -1
- package/dist/preview/{chunk.C2OAKTZX.js → chunk.6CRRPXKP.js} +1 -1
- package/dist/preview/{chunk.WXYUWBKX.js → chunk.6FNMDAX5.js} +1 -1
- package/dist/preview/{chunk.U4E5GQTK.js → chunk.6J37UQKG.js} +1 -1
- package/dist/preview/chunk.6JEU3ZNE.js +1 -0
- package/dist/preview/{chunk.RXSHFG6S.js → chunk.6PSWHBL2.js} +1 -1
- package/dist/preview/chunk.74NOI7QN.js +1 -0
- package/dist/preview/{chunk.VC4JPG7O.js → chunk.7LIKEE5Z.js} +1 -1
- package/dist/preview/{chunk.2NSTEREJ.js → chunk.7WPCP2LZ.js} +1 -1
- package/dist/preview/{chunk.JEZTPXEB.js → chunk.ACBUAIDF.js} +1 -1
- package/dist/preview/{chunk.EWWJMS6G.js → chunk.AKQXF7GW.js} +1 -1
- package/dist/preview/chunk.AUBGUDO5.js +1 -0
- package/dist/preview/{chunk.G46WGK5E.js → chunk.AVKDWISO.js} +1 -1
- package/dist/preview/{chunk.5JPRFXYQ.js → chunk.AWX7GP72.js} +1 -1
- package/dist/preview/chunk.BFNVG5JE.js +1 -0
- package/dist/preview/chunk.BNVMMOOY.js +1 -0
- package/dist/preview/{chunk.5XNVN4HE.js → chunk.BSAXZQSY.js} +1 -1
- package/dist/preview/{chunk.B7TB6YRZ.js → chunk.BXT6FDT4.js} +1 -1
- package/dist/preview/{chunk.FCXBCKED.js → chunk.C2PECN4C.js} +1 -1
- package/dist/preview/{chunk.OJKS3UQS.js → chunk.CL2ZS5EQ.js} +1 -1
- package/dist/preview/chunk.CN5WAKHJ.js +5 -0
- package/dist/preview/{chunk.I7CU2E3C.js → chunk.CNFL5IN5.js} +1 -1
- package/dist/preview/{chunk.M5QFUGGG.js → chunk.D25XEVKO.js} +1 -1
- package/dist/preview/{chunk.P3JYH6HO.js → chunk.DL26BKT7.js} +1 -1
- package/dist/preview/{chunk.23WYWIAJ.js → chunk.DPZTW24D.js} +1 -1
- package/dist/preview/chunk.ESSSNLEO.js +1 -0
- package/dist/preview/chunk.ETOGQE2V.js +1 -0
- package/dist/preview/{chunk.XLZ2QRRS.js → chunk.FDE3TSTK.js} +1 -1
- package/dist/preview/{chunk.37ASLBGE.js → chunk.FFZBOP65.js} +1 -1
- package/dist/preview/chunk.FOQZADMA.js +25 -0
- package/dist/preview/{chunk.5R4E5C76.js → chunk.G6VZNRQ5.js} +1 -1
- package/dist/preview/{chunk.OM5CDW2S.js → chunk.GT2BITLW.js} +1 -1
- package/dist/preview/{chunk.CF7DHTKL.js → chunk.GTV2VZAS.js} +2 -2
- package/dist/preview/{chunk.IXYBIDAN.js → chunk.GY6RYJHM.js} +1 -1
- package/dist/preview/chunk.GZIVMOY4.js +117 -0
- package/dist/preview/{chunk.UIUHGA6W.js → chunk.H5ADMSE7.js} +1 -1
- package/dist/preview/{chunk.XBOZTQQA.js → chunk.H5HWN7A2.js} +1 -1
- package/dist/preview/{chunk.7WSXVXP3.js → chunk.H6XKMLDQ.js} +1 -1
- package/dist/preview/{chunk.OYMM2UWE.js → chunk.H7POIT3V.js} +1 -1
- package/dist/preview/{chunk.CMN6VVK2.js → chunk.HB7ELBVK.js} +1 -1
- package/dist/preview/{chunk.IAZRY42B.js → chunk.HPAGOEZG.js} +1 -1
- package/dist/preview/{chunk.4BBJ62ZO.js → chunk.I7XSDXQ3.js} +1 -1
- package/dist/preview/{chunk.WTZOOAIW.js → chunk.IDUPJMJO.js} +1 -1
- package/dist/preview/chunk.IFTWVUJO.js +2 -0
- package/dist/preview/{chunk.FMN5XDLE.js → chunk.ISXFH3CK.js} +1 -1
- package/dist/preview/chunk.J4IULZFD.js +1 -0
- package/dist/preview/chunk.JACGQ2PR.js +4 -0
- package/dist/preview/{chunk.YXGI7H4Y.js → chunk.JDRLSVOI.js} +1 -1
- package/dist/preview/chunk.JLDBFX6O.js +1 -0
- package/dist/preview/{chunk.LCYMYLOP.js → chunk.JQEYZB5I.js} +1 -1
- package/dist/preview/{chunk.ZR5KVYWZ.js → chunk.L3A6YLMT.js} +2 -2
- package/dist/preview/chunk.LLEFYJPJ.js +344 -0
- package/dist/preview/chunk.LOZJQ5ZX.js +1 -0
- package/dist/preview/{chunk.GXKECZ4S.js → chunk.LPBM5AES.js} +1 -1
- package/dist/preview/{chunk.QEXXLWEU.js → chunk.LPE4FLC6.js} +2 -2
- package/dist/preview/{chunk.TU4KG22J.js → chunk.MIM2QLF5.js} +2 -2
- package/dist/preview/{chunk.P4WYBSYA.js → chunk.N2K25KH3.js} +1 -1
- package/dist/preview/{chunk.KJNUZYXS.js → chunk.N6MVK3KD.js} +1 -1
- package/dist/preview/{chunk.3ZNQ5YKX.js → chunk.NGDXH66B.js} +1 -1
- package/dist/preview/chunk.O5JKDFDH.js +1 -0
- package/dist/preview/chunk.O6F3K6CU.js +1 -0
- package/dist/preview/{chunk.HA3PPIEQ.js → chunk.OW7NSJ4H.js} +1 -1
- package/dist/preview/chunk.P5ODICND.js +32 -0
- package/dist/preview/{chunk.67USHK26.js → chunk.PPG2SEIY.js} +1 -1
- package/dist/preview/chunk.PYNYHNDS.js +1 -0
- package/dist/preview/{chunk.JBTU2PJ4.js → chunk.Q4TZHWQX.js} +1 -1
- package/dist/preview/chunk.QCWZSSNC.js +1 -0
- package/dist/preview/chunk.QIV65FWE.js +1 -0
- package/dist/preview/chunk.R5WY567U.js +88 -0
- package/dist/preview/{chunk.GP2F7TIN.js → chunk.RCM7NOPF.js} +2 -1
- package/dist/preview/{chunk.F5UVEF2R.js → chunk.S2U5CEP4.js} +1 -1
- package/dist/preview/chunk.S356ACK2.js +1 -0
- package/dist/preview/{chunk.W4OX4BMP.js → chunk.SIGC3G7S.js} +1 -1
- package/dist/preview/{chunk.LP3QUPCE.js → chunk.STI447YW.js} +1 -1
- package/dist/preview/chunk.T3TYD7QI.js +1 -0
- package/dist/preview/{chunk.BYKR7NEE.js → chunk.T73RB7LC.js} +1 -1
- package/dist/preview/chunk.TD2LNFUB.js +1 -0
- package/dist/preview/{chunk.2BJRS3YJ.js → chunk.TGVUIFKD.js} +1 -1
- package/dist/preview/{chunk.AYHCQWSU.js → chunk.TIH2PDFH.js} +1 -1
- package/dist/preview/chunk.TKUNRFDE.js +1 -0
- package/dist/preview/{chunk.6DHHUBSC.js → chunk.TNESS3LQ.js} +1 -1
- package/dist/preview/chunk.UHI3D7JC.js +1 -0
- package/dist/preview/{chunk.XLI44BBI.js → chunk.UOPKRN55.js} +1 -1
- package/dist/preview/{chunk.RM7NVN7B.js → chunk.UTCB3CE7.js} +2 -2
- package/dist/preview/{chunk.H5CZZZLX.js → chunk.UUBYFBPN.js} +1 -1
- package/dist/preview/{chunk.ROINZMNO.js → chunk.UWW6ZEPY.js} +2 -2
- package/dist/preview/chunk.V5MYKNL7.js +5 -0
- package/dist/preview/{chunk.DYNBWIPF.js → chunk.VDAMCTNL.js} +1 -1
- package/dist/preview/{chunk.ROKRQRID.js → chunk.VF7P3ZVZ.js} +1 -1
- package/dist/preview/chunk.VIYECFKZ.js +6 -0
- package/dist/preview/{chunk.ITEF3U2E.js → chunk.VJXXCUKS.js} +1 -1
- package/dist/preview/{chunk.EBHKKOPO.js → chunk.VNUHESMZ.js} +1 -1
- package/dist/preview/chunk.VZYCILPJ.js +1 -0
- package/dist/preview/chunk.W4HBRXMY.js +1 -0
- package/dist/preview/chunk.W7R2GFBW.js +47 -0
- package/dist/preview/chunk.WBLHCH5M.js +1 -0
- package/dist/preview/{chunk.CC47O2DW.js → chunk.WVDKYUF3.js} +1 -1
- package/dist/preview/{chunk.BEC5ZH2L.js → chunk.XEKLEHC3.js} +1 -1
- package/dist/preview/{chunk.FILCNVGH.js → chunk.XFZKP4IF.js} +1 -1
- package/dist/preview/{chunk.CAMQ7MYJ.js → chunk.XQHDP5C3.js} +1 -1
- package/dist/preview/{chunk.UB3O3QJQ.js → chunk.XRYTJNA7.js} +1 -1
- package/dist/preview/chunk.YO24NALN.js +1 -0
- package/dist/preview/{chunk.4PNFX3TX.js → chunk.YWNHCZQ5.js} +1 -1
- package/dist/preview/{chunk.4ECICQ2S.js → chunk.YYFLTMNN.js} +1 -1
- package/dist/preview/{chunk.CTK2P4JV.js → chunk.YYIKSH2F.js} +2 -2
- package/dist/preview/{chunk.B2IRADR2.js → chunk.Z5AB2DBF.js} +1 -1
- package/dist/preview/{chunk.C6X7CKU6.js → chunk.Z7LDT55A.js} +1 -1
- package/dist/preview/{chunk.EDC4EMIX.js → chunk.ZGCRMNER.js} +1 -1
- package/dist/preview/{chunk.2IX3CZNP.js → chunk.ZHLQWMV5.js} +1 -1
- package/dist/preview/{chunk.2GGDOFTF.js → chunk.ZJMDLRC5.js} +1 -1
- package/dist/preview/{chunk.N2SV3KX7.js → chunk.ZK3X23EU.js} +1 -1
- package/dist/preview/{chunk.JCR3ECUM.js → chunk.ZOR6FKNI.js} +1 -1
- package/dist/preview/{chunk.STBJV6HJ.js → chunk.ZRLXVYPG.js} +1 -1
- package/dist/preview/index.html +45 -43
- package/dist/preview/page.js +8 -8
- package/package.json +6 -6
- package/dist/preview/chunk.2HF54MYG.js +0 -1
- package/dist/preview/chunk.2RCNSHXK.js +0 -1
- package/dist/preview/chunk.546WEHEX.js +0 -47
- package/dist/preview/chunk.57OPL5WD.js +0 -1
- package/dist/preview/chunk.5ZMENPY4.js +0 -5
- package/dist/preview/chunk.6HBEYRJU.js +0 -1
- package/dist/preview/chunk.6L7IDF3J.js +0 -1
- package/dist/preview/chunk.ALDLAQ7V.js +0 -1
- package/dist/preview/chunk.BCHHBGM6.js +0 -1
- package/dist/preview/chunk.BL4S3I2N.js +0 -1
- package/dist/preview/chunk.BS3FX4PX.js +0 -1
- package/dist/preview/chunk.BTSXYZ6Z.js +0 -25
- package/dist/preview/chunk.BZSU4HH2.js +0 -1
- package/dist/preview/chunk.DAA7IDQ4.js +0 -1
- package/dist/preview/chunk.E3HXXUKY.js +0 -1
- package/dist/preview/chunk.EM4Y4YAD.js +0 -2
- package/dist/preview/chunk.FGDHEVH4.js +0 -1
- package/dist/preview/chunk.FJBQ4UP3.js +0 -32
- package/dist/preview/chunk.G23VFYGF.js +0 -88
- package/dist/preview/chunk.HFDYFPMJ.js +0 -1
- package/dist/preview/chunk.HGS32FT2.js +0 -1
- package/dist/preview/chunk.J3M2MZHG.js +0 -1
- package/dist/preview/chunk.KIJCOW25.js +0 -1
- package/dist/preview/chunk.L7DQKPJV.js +0 -117
- package/dist/preview/chunk.LP2DJ5ZB.js +0 -6
- package/dist/preview/chunk.N7N5OFPL.js +0 -1
- package/dist/preview/chunk.ORXFUK6F.js +0 -344
- package/dist/preview/chunk.OXTUXWMU.js +0 -1
- package/dist/preview/chunk.P5325GYR.js +0 -1
- package/dist/preview/chunk.PMER4LVT.js +0 -1
- package/dist/preview/chunk.PONWLTTB.js +0 -1
- package/dist/preview/chunk.QCF6Z2AZ.js +0 -1
- package/dist/preview/chunk.RWB4235L.js +0 -1
- package/dist/preview/chunk.SK33IHL2.js +0 -4
- package/dist/preview/chunk.TCUB6IDY.js +0 -1
- package/dist/preview/chunk.TJCTTJWE.js +0 -1
- package/dist/preview/chunk.UCZR33MK.js +0 -1
- package/dist/preview/chunk.UGCNMAPC.js +0 -1
- package/dist/preview/chunk.XDYAG276.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk.FCXBCKED.js";import"./chunk.FILCNVGH.js";import"./chunk.B2IRADR2.js";import"./chunk.J3M2MZHG.js";import"./chunk.UT6642FC.js";import"./chunk.KJNUZYXS.js";import"./chunk.4BBJ62ZO.js";import"./chunk.UCZR33MK.js";import"./chunk.CC47O2DW.js";import"./chunk.2IX3CZNP.js";import"./chunk.6DHHUBSC.js";import"./chunk.NSNGPQGT.js";import"./chunk.H5CZZZLX.js";import"./chunk.Z7JRBKA7.js";import"./chunk.5ZMENPY4.js";import"./chunk.AJZBJBMO.js";export{b as actOnSeveral,a as actsForSeveral};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as a,k as o}from"./chunk.6HBEYRJU.js";import"./chunk.U7QMA4H7.js";import"./chunk.GP2F7TIN.js";import"./chunk.C6X7CKU6.js";import"./chunk.2GGDOFTF.js";import"./chunk.ZTMDU3OH.js";import"./chunk.HFDYFPMJ.js";import"./chunk.RWB4235L.js";import"./chunk.CTK2P4JV.js";import"./chunk.6XU2CXRZ.js";import"./chunk.3ZNQ5YKX.js";import"./chunk.7EFNLMKU.js";import"./chunk.WVUJXDXZ.js";import"./chunk.KJNUZYXS.js";import"./chunk.4BBJ62ZO.js";import"./chunk.UCZR33MK.js";import"./chunk.CC47O2DW.js";import"./chunk.2IX3CZNP.js";import"./chunk.6DHHUBSC.js";import"./chunk.GZHZLJBF.js";import"./chunk.HHUCPVG5.js";import"./chunk.OJGHDWI6.js";import"./chunk.WXYUWBKX.js";import"./chunk.NSNGPQGT.js";import"./chunk.H5CZZZLX.js";import"./chunk.Z7JRBKA7.js";import"./chunk.ORXFUK6F.js";import{ma as n}from"./chunk.BTSXYZ6Z.js";import"./chunk.SDO3U72B.js";import"./chunk.5ZMENPY4.js";import"./chunk.AJZBJBMO.js";var w=new WeakMap;function s(e,i){let t=w.get(e);t||w.set(e,t=new Map);let r=t.get(i);return r||t.set(i,r=a(o(e,n(e)),e,i)),r}export{s as frameworkViews};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as Ke}from"./chunk.SDO3U72B.js";import{Da as Cn,Ec as Nn,Gc as jn,Ha as yt,I as In,Ja as _n,Jc as Gn,Ua as Ln,Yc as Wn,Zb as Hn,ld as Fn,qd as Fe,rd as mt,tc as Dn}from"./chunk.5ZMENPY4.js";import{a as We,b as C}from"./chunk.AJZBJBMO.js";var so=We(w=>{"use strict";var Et=Symbol.for("react.transitional.element"),Ar=Symbol.for("react.portal"),kr=Symbol.for("react.fragment"),Pr=Symbol.for("react.strict_mode"),Rr=Symbol.for("react.profiler"),Tr=Symbol.for("react.consumer"),Mr=Symbol.for("react.context"),Or=Symbol.for("react.forward_ref"),Vr=Symbol.for("react.suspense"),Ir=Symbol.for("react.memo"),to=Symbol.for("react.lazy"),Cr=Symbol.for("react.activity"),Xn=Symbol.iterator;function _r(e){return e===null||typeof e!="object"?null:(e=Xn&&e[Xn]||e["@@iterator"],typeof e=="function"?e:null)}var no={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},oo=Object.assign,ro={};function ge(e,t,n){this.props=e,this.context=t,this.refs=ro,this.updater=n||no}ge.prototype.isReactComponent={};ge.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ge.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function io(){}io.prototype=ge.prototype;function At(e,t,n){this.props=e,this.context=t,this.refs=ro,this.updater=n||no}var kt=At.prototype=new io;kt.constructor=At;oo(kt,ge.prototype);kt.isPureReactComponent=!0;var Jn=Array.isArray;function xt(){}var O={H:null,A:null,T:null,S:null},ao=Object.prototype.hasOwnProperty;function Pt(e,t,n){var o=n.ref;return{$$typeof:Et,type:e,key:t,ref:o!==void 0?o:null,props:n}}function Lr(e,t){return Pt(e.type,t,e.props)}function Rt(e){return typeof e=="object"&&e!==null&&e.$$typeof===Et}function Hr(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Qn=/\/+/g;function bt(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Hr(""+e.key):t.toString(36)}function Dr(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(xt,xt):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function me(e,t,n,o,r){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(i){case"bigint":case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case Et:case Ar:a=!0;break;case to:return a=e._init,me(a(e._payload),t,n,o,r)}}if(a)return r=r(e),a=o===""?"."+bt(e,0):o,Jn(r)?(n="",a!=null&&(n=a.replace(Qn,"$&/")+"/"),me(r,t,n,"",function(u){return u})):r!=null&&(Rt(r)&&(r=Lr(r,n+(r.key==null||e&&e.key===r.key?"":(""+r.key).replace(Qn,"$&/")+"/")+a)),t.push(r)),1;a=0;var d=o===""?".":o+":";if(Jn(e))for(var s=0;s<e.length;s++)o=e[s],i=d+bt(o,s),a+=me(o,t,n,i,r);else if(s=_r(e),typeof s=="function")for(e=s.call(e),s=0;!(o=e.next()).done;)o=o.value,i=d+bt(o,s++),a+=me(o,t,n,i,r);else if(i==="object"){if(typeof e.then=="function")return me(Dr(e),t,n,o,r);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return a}function Xe(e,t,n){if(e==null)return e;var o=[],r=0;return me(e,o,"","",function(i){return t.call(n,i,r++)}),o}function Nr(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var eo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},jr={map:Xe,forEach:function(e,t,n){Xe(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Xe(e,function(){t++}),t},toArray:function(e){return Xe(e,function(t){return t})||[]},only:function(e){if(!Rt(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};w.Activity=Cr;w.Children=jr;w.Component=ge;w.Fragment=kr;w.Profiler=Rr;w.PureComponent=At;w.StrictMode=Pr;w.Suspense=Vr;w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=O;w.__COMPILER_RUNTIME={__proto__:null,c:function(e){return O.H.useMemoCache(e)}};w.cache=function(e){return function(){return e.apply(null,arguments)}};w.cacheSignal=function(){return null};w.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var o=oo({},e.props),r=e.key;if(t!=null)for(i in t.key!==void 0&&(r=""+t.key),t)!ao.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(o[i]=t[i]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var a=Array(i),d=0;d<i;d++)a[d]=arguments[d+2];o.children=a}return Pt(e.type,r,o)};w.createContext=function(e){return e={$$typeof:Mr,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:Tr,_context:e},e};w.createElement=function(e,t,n){var o,r={},i=null;if(t!=null)for(o in t.key!==void 0&&(i=""+t.key),t)ao.call(t,o)&&o!=="key"&&o!=="__self"&&o!=="__source"&&(r[o]=t[o]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var d=Array(a),s=0;s<a;s++)d[s]=arguments[s+2];r.children=d}if(e&&e.defaultProps)for(o in a=e.defaultProps,a)r[o]===void 0&&(r[o]=a[o]);return Pt(e,i,r)};w.createRef=function(){return{current:null}};w.forwardRef=function(e){return{$$typeof:Or,render:e}};w.isValidElement=Rt;w.lazy=function(e){return{$$typeof:to,_payload:{_status:-1,_result:e},_init:Nr}};w.memo=function(e,t){return{$$typeof:Ir,type:e,compare:t===void 0?null:t}};w.startTransition=function(e){var t=O.T,n={};O.T=n;try{var o=e(),r=O.S;r!==null&&r(n,o),typeof o=="object"&&o!==null&&typeof o.then=="function"&&o.then(xt,eo)}catch(i){eo(i)}finally{t!==null&&n.types!==null&&(t.types=n.types),O.T=t}};w.unstable_useCacheRefresh=function(){return O.H.useCacheRefresh()};w.use=function(e){return O.H.use(e)};w.useActionState=function(e,t,n){return O.H.useActionState(e,t,n)};w.useCallback=function(e,t){return O.H.useCallback(e,t)};w.useContext=function(e){return O.H.useContext(e)};w.useDebugValue=function(){};w.useDeferredValue=function(e,t){return O.H.useDeferredValue(e,t)};w.useEffect=function(e,t){return O.H.useEffect(e,t)};w.useEffectEvent=function(e){return O.H.useEffectEvent(e)};w.useId=function(){return O.H.useId()};w.useImperativeHandle=function(e,t,n){return O.H.useImperativeHandle(e,t,n)};w.useInsertionEffect=function(e,t){return O.H.useInsertionEffect(e,t)};w.useLayoutEffect=function(e,t){return O.H.useLayoutEffect(e,t)};w.useMemo=function(e,t){return O.H.useMemo(e,t)};w.useOptimistic=function(e,t){return O.H.useOptimistic(e,t)};w.useReducer=function(e,t,n){return O.H.useReducer(e,t,n)};w.useRef=function(e){return O.H.useRef(e)};w.useState=function(e){return O.H.useState(e)};w.useSyncExternalStore=function(e,t,n){return O.H.useSyncExternalStore(e,t,n)};w.useTransition=function(){return O.H.useTransition()};w.version="19.2.8"});var N=We((ma,lo)=>{"use strict";lo.exports=so()});var So=We(et=>{"use strict";var Zr=Symbol.for("react.transitional.element"),Xr=Symbol.for("react.fragment");function ho(e,t,n){var o=null;if(n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),"key"in t){n={};for(var r in t)r!=="key"&&(n[r]=t[r])}else n=t;return t=n.ref,{$$typeof:Zr,type:e,key:o,ref:t!==void 0?t:null,props:n}}et.Fragment=Xr;et.jsx=ho;et.jsxs=ho});var Ce=We((Ea,wo)=>{"use strict";wo.exports=So()});var fe={focusId:null,relation:null,expanded:[],pins:{}},Be=e=>{let t=Number(e);return Number.isFinite(t)?t:null};function te(e){let t=new URLSearchParams;e.focusId&&t.set("focus",e.focusId),e.relation&&t.set("relation",e.relation),e.overview&&t.set("overview","1"),e.zoom&&t.set("zoom","1"),e.past&&t.set("past","1"),e.shown&&e.shown.length>0&&t.set("show",[...e.shown].sort().join(",")),e.selection!==void 0&&e.selection.length>0&&t.set("sel",[...e.selection].sort().join(",")),e.expanded.length>0&&t.set("expand",[...e.expanded].sort().join(","));for(let o of Object.keys(e.pins).sort()){let r=e.pins[o];t.set(`pin.${o}`,`${qe(r.x)},${qe(r.y)}`)}e.pan&&(e.pan.x!==0||e.pan.y!==0)&&t.set("pan",`${qe(e.pan.x)},${qe(e.pan.y)}`);for(let o of Object.keys(e.within??{}).sort()){let r=e.within[o];r.length>0&&t.set(`in.${o}`,r)}e.q&&e.q.trim().length>0&&t.set("q",e.q);let n=t.toString();return n?`#${n}`:"#"}function Sr(e){return e&&e.startsWith("agg:")?`aggregate:${e.slice(4)}`:e}function $e(e){let t=e.includes("#")?e.slice(e.indexOf("#")+1):e,n=new URLSearchParams(t),o=Object.create(null);for(let[h,p]of n){if(!h.startsWith("pin."))continue;let[g,b]=p.split(","),A=g===void 0?null:Be(g),m=b===void 0?null:Be(b);A===null||m===null||(o[h.slice(4)]={x:A,y:m})}let r=Object.create(null);for(let[h,p]of n)!h.startsWith("in.")||p.length===0||(r[h.slice(3)]=p);let i=n.get("view");i&&i.length>0&&r.view===void 0&&(r.view=i);let a=n.get("pan")?.split(",")??[],d=a[0]===void 0?null:Be(a[0]),s=a[1]===void 0?null:Be(a[1]),u=(n.get("sel")??"").split(",").filter(h=>h.length>0).sort(),f=n.get("overview")==="1";return{...u.length>0?{selection:u}:{},...f?{overview:!0}:{},...n.get("zoom")==="1"?{zoom:!0}:{},...n.get("past")==="1"?{past:!0}:{},...n.get("show")?{shown:[...new Set(n.get("show").split(",").filter(Boolean))].sort()}:{},...d!==null&&s!==null?{pan:{x:d,y:s}}:{},...Object.keys(r).length>0?{within:r}:{},...n.get("q")?.trim()?{q:n.get("q")}:{},focusId:Sr(n.get("focus")),relation:n.get("relation"),expanded:(n.get("expand")??"").split(",").filter(h=>h.length>0&&(f||!h.startsWith("kind:"))).sort(),pins:o}}function Ji(e){let t=$e(e);return te(t)==="#"?{...t,overview:!0}:t}function Qi(e){let t=te(e);return t==="#overview=1"?"":t}function qe(e){return Math.round(e*100)/100}function Bn(e,t){return te(e)===te(t)}var Kn="edge:";function qn(e){if(!e.startsWith(Kn))return null;let t=e.slice(Kn.length).split(":");if(t.length!==3)return null;let[n,o,r]=t;if(!n||!o||!r)return null;try{return{kind:decodeURIComponent(n),from:decodeURIComponent(o),to:decodeURIComponent(r)}}catch{return null}}function gt(e){let{pan:t,...n}=e;return{...n,pins:{}}}function q(e,t){if(t===e.focusId)return{...e,focusId:t};let n=gt(e);return{...n.within?.q!==void 0?ae(n,"q",null):n,focusId:t}}function $n(e,t){return{...e,relation:t}}function ae(e,t,n){let o={...e.within??{}};if(n===null?delete o[t]:o[t]=n,Object.keys(o).length===0){let{within:r,...i}=e;return i}return{...e,within:o}}function pe(e,t){if(t!==e.overview&&(e=gt(e)),!t){let n=e.expanded.filter(o=>!o.startsWith("kind:"));return{...e,overview:!1,expanded:n}}return{...e,overview:t}}function ze(e,t){if(t.length===0){let{selection:n,...o}=e;return o}return{...e,selection:[...t]}}function Ve(e,t){if(t!==(e.zoom===!0)&&(e=gt(e)),!t){let{zoom:n,...o}=e;return o}return{...e,zoom:!0}}function Ue(e,t){let n=new Set(e.expanded);return n.has(t)?n.delete(t):n.add(t),{...e,expanded:[...n].sort()}}var Ze="aggregate:",Ye="kind:";function ht(e){return`${Ye}${e}`}function ye(e){return e.startsWith(Ye)?e.slice(Ye.length):null}var na="kinds:beyond";function wr(e){let t=ye(e);return t?[t]:se(e)}function ne(...e){return`${Ze}${[...e].sort().join("+")}`}function zn(e){return e.startsWith(Ze)}function se(e){return!zn(e)||e.includes("|")?[]:e.slice(Ze.length).split("+").filter(Boolean)}function Un(e,t,n={}){let o=ye(t);if(o!==null&&e.overview&&n.ownPicture!==!0)return Ue(e,t);let r=o!==null?ne(o):t;if(e.zoom&&e.focusId===r&&!(o!==null&&n.carry))return Ve(e,!1);if(o!==null&&n.carry){let i=pe({...q(e,r),relation:null},!1);return ae(Ve(i,!0),"q",n.carry)}return Ve({...q(e,r),relation:null},!0)}function vr(e,t,n){return ae(pe(q(e,ne(t)),!1),"view",n)}function oa(e,t){return e.id<t.id?-1:e.id>t.id?1:0}var Yn="aggregate:";function St(e){return e.startsWith(Yn)&&e.includes("|")}var wt=e=>e?.off===!0,br=e=>e!==void 0&&!wt(e)&&(e.fast!==void 0||e.thinking!==void 0||e.answer!==void 0||e.decide!==void 0||e.complete!==void 0||e.turn!==void 0),Zn=e=>e!==void 0&&!wt(e)&&(e.fast!==void 0||e.decide!==void 0),xr=e=>e?.suggestOnOpen!==!1&&Zn(e),Er=e=>e?.hoverChips===!0&&Zn(e);var vt={};var uo=C(N(),1),Gr={turns:[],outcomes:new Map,busy:!1,pending:null,draft:null,draftNote:null},co=e=>`graview:seat:${e}`;function Wr(e){if(!e)return{};try{let t=sessionStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return{...Array.isArray(n.turns)?{turns:n.turns}:{},...Array.isArray(n.outcomes)?{outcomes:new Map(n.outcomes)}:{},...n.draft?.drawn?{draft:n.draft}:{}}}catch{return{}}}function Fr(e,t){if(e)try{sessionStorage.setItem(e,JSON.stringify({turns:t.turns.slice(-40),outcomes:[...t.outcomes],draft:t.draft}))}catch{}}function Tt(e){let t=e===null?null:co(e),n={...Gr,...Wr(t)},o=new Set,r=(i,a=!0)=>{n=i,a&&Fr(t,n);for(let d of[...o])d()};return{get:()=>n,subscribe(i){return o.add(i),()=>void o.delete(i)},setTurns:i=>r({...n,turns:i(n.turns)}),settle:(i,a)=>r({...n,outcomes:new Map(n.outcomes).set(i,a)}),setBusy:i=>r({...n,busy:i},!1),ask:i=>r({...n,pending:i.trim()||null}),takePending(){let i=n.pending;return i!==null&&r({...n,pending:null},!1),i},setDraft:(i,a=null)=>r({...n,draft:i,draftNote:a})}}function Kr(e){return(0,uo.useSyncExternalStore)(e.subscribe,e.get,e.get)}var po=C(N(),1),Br={entries:[],ghost:null,loaded:!1};function fo(e,t){let n=new Map(e.map(o=>[o.id,o]));for(let o of t)n.set(o.id,{...n.get(o.id),...o});return[...n.values()].sort((o,r)=>o.at<r.at?1:o.at>r.at?-1:0)}function Mt(e){let t=Br,n=new Set,o=r=>{t=r;for(let i of[...n])i()};return{get:()=>t,subscribe:r=>(n.add(r),()=>n.delete(r)),record:r=>{o({...t,entries:fo(t.entries,[r])}),Promise.resolve(e()?.keep?.(r)).catch(i=>{console.warn("The host did not keep an AI interaction:",i)})},setGhost:r=>o({...t,ghost:r}),load:()=>{if(t.loaded)return;o({...t,loaded:!0});let r=e()?.load;r&&Promise.resolve(r()).then(i=>o({...t,entries:fo(t.entries,i)})).catch(i=>{console.warn("The host's AI interactions could not be read:",i)})}}}function qr(e){return(0,po.useSyncExternalStore)(e.subscribe,e.get,e.get)}function yo(e){return e?.closest?.("[data-graview-pick]")?.getAttribute("data-graview-pick")??null}var Je=C(N(),1),Qe=(0,Je.createContext)(void 0),$r=()=>(0,Je.useContext)(Qe);var k=C(N(),1),Ie=(0,k.createContext)(null);function go(){return(0,k.useContext)(Ie)}function zr(e,t){let n=go(),o=(0,k.useMemo)(()=>n?n.live.seenBy(t):e,[n,e,t]),r=(0,k.useRef)(0),i=(0,k.useCallback)(a=>o.subscribe(()=>{r.current+=1,a()}),[o]);return(0,k.useSyncExternalStore)(i,()=>r.current,()=>0),o}var Ur=Ke(()=>(__graviewPreload(import.meta.url,["./chunk.TI4OSTQV.js","./chunk.AJZBJBMO.js"]),import("./chunk.J2CR4RRH.js"))),mo,Yr=400;function Ot(e,t,n){let o=(0,k.useContext)(Ie),r=o!==null&&o.owns(e,t),[i,a]=(0,k.useState)(null),[d,s]=(0,k.useState)(mo);(0,k.useEffect)(()=>{if(d||r||i===null)return;let E=!0;return Ur().then(R=>{mo=R,E&&s(R)},()=>{}),()=>{E=!1}},[d,r,i]);let[u,f]=(0,k.useState)(0),h=(0,k.useMemo)(()=>r||i===null||i>=e.log.length||!d?void 0:d.askDeclaration(n,i),[r,e,i,n,d,u]),p=h&&"waiting"in h?h.waiting:void 0,[g,b]=(0,k.useState)(void 0);(0,k.useEffect)(()=>{if(!p)return;let E=!0,R=setTimeout(()=>E&&b(p),Yr);return p.then(()=>E&&f(I=>I+1)),()=>{E=!1,clearTimeout(R)}},[p]);let A=p!==void 0&&g!==p,m=(0,k.useMemo)(()=>{if(r||i===null||i>=e.log.length||!d||A)return null;try{let E=d.pastAt(e,i,n);return{seq:i,at:E.past?.at,store:E}}catch{return null}},[r,e,i,n,d,A,u]),v=(0,k.useRef)(null),y=A?v.current:m;(0,k.useEffect)(()=>{v.current=y},[y]);let x=(0,k.useCallback)(E=>a(E===null?null:E>=e.log.length?Number.POSITIVE_INFINITY:E),[e]),P=(0,k.useCallback)((E,R)=>[e,y?.store].some(I=>I!==void 0&&(I===E||I.seenBy(R)===E)),[e,y]),D=i!==null,L=(0,k.useMemo)(()=>({past:y,open:D,show:x,live:e,host:n,owns:P}),[y,D,x,e,n,P]);return r?o:L}var vo=e=>`graview:setting:${e}`;function bo(){return localStorage}function xo(e,t){try{let n=(t??bo()).getItem(vo(e.name));if(n!==null&&e.options.some(o=>o.value===n))return n}catch{}return e.initial}function Eo(e,t,n){try{(n??bo()).setItem(vo(e.name),t)}catch{}}function Ao(e,t){if(typeof document>"u")return;let n=document.documentElement;if(e.honored==="root-font-size"){n.style.fontSize=t===e.initial?"":t;return}let o=`graview${e.name.replace(/-([a-z0-9])/g,(r,i)=>i.toUpperCase()).replace(/^[a-z]/,r=>r.toUpperCase())}`;t===e.initial?delete n.dataset[o]:n.dataset[o]=t}var _=C(N(),1);function Vt(e){return Fe(e)}var Jr=12,Qr=4;function ei(e,t,n){let o=Vt(t);return e.get(o)??{participant:o,who:t.id??t.kind,at:null,mode:"docked",since:n,trail:[]}}var tt=(e,t)=>t===null||e[e.length-1]===t?e:[...e,t].slice(-Jr);function ko(e,t){let n=e.filter(r=>r.length>0);if(n.length===0)return null;if(n.length<=Qr)return n[0];let o=new Set(n.map(r=>t(r)).filter(r=>r!==void 0));return o.size===1?ht([...o][0]):n[0]}function It(e,t,n){let o=new Map(e);if(t.type==="rest"){for(let[a,d]of e)d.mode!=="asking"&&d.mode!=="docked"&&t.at-d.since>=t.holdMs&&o.set(a,{...d,mode:"docked",at:null,trail:[],say:void 0,confidence:void 0});return o}if(t.author.kind!=="agent")return o;let r=ei(e,t.author,t.at),i=a=>o.set(r.participant,{...r,...a,since:t.at});switch(t.type){case"read":{let a=ko(t.ids,n);return i({at:a,mode:"reading",trail:tt(r.trail,a)}),o}case"about-to-write":case"write":{let a=ko(t.ids,n);return i({at:a,mode:"writing",trail:tt(r.trail,a),say:void 0,confidence:void 0}),o}case"refused":return i({at:t.where,mode:"refused",say:t.say,confidence:void 0,trail:tt(r.trail,t.where)}),o;case"asking":return i({at:t.where??r.at,mode:"asking",say:t.say,...t.confidence!==void 0?{confidence:t.confidence}:{confidence:void 0},trail:tt(r.trail,t.where)}),o;case"said":return i({say:t.say,...t.confidence!==void 0?{confidence:t.confidence}:{confidence:void 0},...t.caption?{caption:t.caption}:{}}),o;case"over":return i({over:t.over}),o;case"home":return i({at:null,mode:"docked",trail:[],say:void 0,confidence:void 0,over:null}),o;default:return o}}var Po="graview:session";function Ro(e){let t=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID().slice(0,8):Math.random().toString(36).slice(2,10);try{let n=e??sessionStorage,o=n.getItem(Po);if(o)return o;let r=t();return n.setItem(Po,r),r}catch{return t()}}var Ct={name:"share-where",title:"Where you are",description:"Whether the others here see which stop you are on.",honored:"root-attribute",options:[{value:"shared",label:"Shown"},{value:"private",label:"Hidden"}],initial:"shared"},_t={name:"share-over",title:"What you point at",description:"Whether the others see the thing under your pointer, outlined in your color.",honored:"root-attribute",options:[{value:"private",label:"Kept to yourself"},{value:"shared",label:"Outlined for others"}],initial:"private"},To=[Ct,_t],ni=800;function Mo(e){let{channel:t,store:n,view:o,principal:r,session:i,robots:a,seatWho:d,settingValues:s,setView:u,ttlMs:f=1e4,people:h,seats:p}=e,[g,b]=(0,_.useState)(()=>new Map),[A,m]=(0,_.useState)(null),[v,y]=(0,_.useState)(null),[x,P]=(0,_.useState)(null),D=typeof r.id=="string"&&r.id.length>0,L=D&&(s[Ct.name]??Ct.initial)==="shared",E=L&&(s[_t.name]??_t.initial)==="shared",R=Vt({kind:r.kind,...r.id?{id:r.id}:{},session:i}),I=D?Ln(r,{graph:n.graph,schema:n.schema,...p?{seats:p}:{},...h?{people:h}:{}}):"",G=d?a.get(`agent:${d}:${i}`):void 0,W=(0,_.useMemo)(()=>!t||!L?null:{participant:R,kind:r.kind,name:I,...r.onBehalfOf?.id?{onBehalfOf:r.onBehalfOf.id,...r.onBehalfOf.name?{onBehalfOfName:r.onBehalfOf.name}:{}}:{},hue:Hn(r.id??"nobody"),stop:x??te(o),...E?{over:A}:{},...G?{robot:{at:G.at,mode:G.mode}}:{},at:new Date().toISOString()},[t,L,E,R,I,r.id,r.kind,r.onBehalfOf?.id,r.onBehalfOf?.name,o,x,A,G?.at,G?.mode]);(0,_.useEffect)(()=>{if(!t||!W)return;t.here(W);let V=setInterval(()=>t.here({...W,at:new Date().toISOString()}),ni);return()=>clearInterval(V)},[t,W]),(0,_.useEffect)(()=>t?t.onWho(K=>b(mt(new Map,K,Date.now(),f))):void 0,[t,f]);let Z=g.size>0;(0,_.useEffect)(()=>{if(!Z)return;let V=setInterval(()=>{b(K=>{let Q=mt(K,[],Date.now(),f);return Q.size===K.size?K:Q})},Math.max(250,Math.min(1e3,f/4)));return()=>clearInterval(V)},[Z,f]),(0,_.useEffect)(()=>{if(!t||typeof window>"u")return;let V=()=>t.leave();return window.addEventListener("pagehide",V),()=>window.removeEventListener("pagehide",V)},[t]),(0,_.useEffect)(()=>{if(!E||typeof document>"u")return;let V=null,K=Q=>{let Ee=yo(Q.target);Ee!==V&&(V=Ee,m(Ee))};return document.addEventListener("pointermove",K,{passive:!0}),()=>document.removeEventListener("pointermove",K)},[E]);let X=(0,_.useRef)(null),$=v?g.get(v)??null:null,de=(0,_.useCallback)(V=>{X.current=null,y(V)},[]);return(0,_.useEffect)(()=>{if(v){if(!$){y(null);return}$.stop!==X.current?.stop&&(X.current={stop:$.stop,at:Date.now()},u($e($.stop)))}},[v,$,u]),(0,_.useEffect)(()=>{let V=X.current;!v||V===null||Date.now()-V.at<400||Bn(o,$e(V.stop))||y(null)},[o,v]),(0,_.useEffect)(()=>{if(!v||typeof document>"u")return;let V=K=>{K.key==="Escape"&&y(null)};return document.addEventListener("keydown",V),()=>document.removeEventListener("keydown",V)},[v]),(0,_.useMemo)(()=>({who:g,sharing:W?{participant:R,name:I}:null,following:$,follow:de,sayWhere:P}),[g,W,R,I,$,de])}var U=C(N(),1);function Oo(e){return Fe(e.author)}function oi(e,t){return e.length>1?"co-edited":t==="rule"?"rule":t==="agent"?"autonomous":"directed"}function Vo(e,t,n,o,r){let i=new Map;for(let[s,u]of e)o-u.at<r&&i.set(s,u);let a=new Set(n.flatMap(s=>s.nodeIds)),d=(s,u,f)=>{let h=i.get(s),p=h?.participants.includes(Oo(u))?h.participants:[...h?.participants??[],Oo(u)];i.set(s,{at:o,manner:oi(p,u.author.kind),intent:u.intent,wrote:(h?.wrote??!1)||(f.wrote??!1),read:(h?.read??!1)||(f.read??!1),broke:(h?.broke??!1)||a.has(s),participants:p})};for(let s of t){for(let u of s.writes)d(u,s,{wrote:!0});for(let u of s.reads)s.writes.includes(u)||d(u,s,{read:!0})}for(let s of n)for(let u of s.nodeIds){let f=i.get(u);i.set(u,{at:o,manner:f?.manner??"rule",intent:f?.intent??s.message,wrote:f?.wrote??!1,read:f?.read??!1,broke:!0,participants:f?.participants??["rule::"]})}return i}var ri=2600;function Io(e,t=ri){let[n,o]=(0,U.useState)(()=>new Map),r=(0,U.useRef)(n);r.current=n;let i=(0,U.useRef)(null),a=(0,U.useCallback)(s=>{r.current=s,o(s),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{r.current=new Map,o(new Map)},t)},[t]);(0,U.useEffect)(()=>{let s=e.violations(),u=e.subscribe((f,h)=>{let p=e.violations(),g=Gn(e.allInvariants(),s,p).introduces;s=p,a(Vo(r.current,h,g.map(b=>({nodeIds:b.nodeIds,message:b.message})),Date.now(),t))});return()=>{u(),i.current&&clearTimeout(i.current)}},[e,t,a]);let d=(0,U.useCallback)(s=>{s.reads.length!==0&&a(Vo(r.current,[ii(s)],[],Date.now(),t))},[t,a]);return{activity:n,noteAttention:d}}function ii(e){return{id:`attention:${e.intent}`,seq:-1,batch:"attention",author:e.author,intent:e.intent,mutation:null,primitives:[],inverse:[],reads:e.reads,writes:[],at:new Date().toISOString()}}var l=C(N(),1);function Co(){let e=null,t=new Set,n=new Set,o=r=>{for(let i of n)i(r)};return{subscribe(r){return t.add(r),t.size===1&&o(!0),()=>{t.delete(r),t.size===0&&(e=null,o(!1))}},snapshot:()=>e,set(r){if(!(e===r||e&&r&&e.x===r.x&&e.y===r.y)){e=r;for(let i of t)i()}},get listeners(){return t.size},onActive(r){return n.add(r),()=>void n.delete(r)}}}var nt=C(N(),1),ai=e=>e.definitions.some(t=>Cn(t).size>0);function _o(e,t,n){let[o,r]=(0,nt.useState)(void 0),i=(n.roles??[]).join("\0");return(0,nt.useEffect)(()=>{if(!t||!ai(e.schema)){r(void 0);return}let a=!0,d=!1,s=e.graph,u=()=>{d||(d=!0,queueMicrotask(()=>{d=!1,a&&e.reread()}))},f=_n(t,{kind:n.kind,...n.id===void 0?{}:{id:n.id},...n.roles?{roles:n.roles}:{}},u);return yt(s,f.read),r(f),e.reread(),()=>{a=!1,yt(s,void 0)}},[e,t,n.kind,n.id,i]),o}function Lo(){let e=!1,t=new Set;return{moving:()=>e,set(n){if(n!==e){e=n;for(let o of t)o()}},subscribe(n){return t.add(n),()=>t.delete(n)}}}var le=C(Ce(),1),si="graview:place-menu",_e=(0,l.createContext)(null),jo=(0,l.createContext)("scene");function li({mode:e,children:t}){return(0,le.jsx)(jo.Provider,{value:e,children:t})}function di(){return(0,l.useContext)(jo)}var Go={kind:"human"},ui=[],ci=[],fi=[],Lt=[];function Wo(e,t){let n=(0,l.useId)();(0,l.useEffect)(()=>{if(!globalThis.__graviewWatch)return;let o=t??Go,r=()=>jn(e,o,n);r();let i,a=e.subscribe(()=>{clearTimeout(i),i=setTimeout(r,250)});return()=>{clearTimeout(i),a(),globalThis.__graviewWatch?.unseen?.({words:[],from:n,gone:!0})}},[e,t,n])}var pi={off:!0};function yi({store:e,views:t,initialView:n,scheme:o="dark",initialSelection:r,principal:i,seats:a=ui,onSeat:d,people:s=ci,memory:u,presenceTtlMs:f,app:h,settings:p=h?.settings??fi,presence:g,brand:b,locale:A,timeZone:m,onKeepLens:v,providers:y,ai:x,files:P,resolveApp:D,history:L,linkedRecords:E,menuSections:R,keptViews:I,subscriptions:G,signIn:W,view:Z,onViewChange:X,children:$}){let de=(0,l.useContext)(_e),V=R??de?.menuSections,K=W??de?.signIn,Q=I??de?.keptViews,[Ee,ir]=(0,l.useState)(null),ue=Ee??i??a[0]?.principal??Go,He=Ot(e,ue,L),Zt=He.past&&He.live===e?He.past.store:e,H=(0,l.useMemo)(()=>Zt.seenBy(ue),[Zt,ue]);Wo(e,ue);let[re]=(0,l.useState)(()=>Ro(u)),[Xt,ar]=(0,l.useState)(!1),Jt=(0,l.useCallback)(()=>ar(!0),[]),ie=(0,l.useMemo)(()=>g?[...p,...To]:p,[p,g]),[dt]=(0,l.useState)(()=>n??jt(t,e.schema)),[sr,Qt]=(0,l.useState)(()=>ze(dt??fe,r??dt?.selection??[])),Ae=(0,l.useRef)(dt??fe).current,[en,lr]=(0,l.useState)(null),[tn,dr]=(0,l.useState)(null),J=(0,l.useContext)(_e),[nn]=(0,l.useState)(()=>J?.seatTalk??Tt(b?.name??e.schema.kinds.join(","))),ut=x??J?.ai??vt,De=(0,l.useMemo)(()=>ut.off?pi:ut,[ut]),on=(0,l.useRef)(De.interactions);on.current=De.interactions;let[rn]=(0,l.useState)(()=>J?.aiDesk??Mt(()=>on.current)),[ur]=(0,l.useState)(()=>J?.subscriptions??Nn()),an=G??J?.subscriptions??ur,ct=v??J?.onKeepLens,Ne=h??J?.app,je=A??J?.locale,cr=b?.locale??Ne?.brand?.locale,Ge=m??J?.timeZone;In({reader:je,app:cr,readerTimeZone:Ge,appTimeZone:b?.timeZone??Ne?.brand?.timeZone});let sn=(0,l.useRef)(null),ln=(0,l.useCallback)(c=>{sn.current=c},[]),dn=(0,l.useCallback)(c=>sn.current?.whereIs(c)??null,[]),[un]=(0,l.useState)(()=>Co()),[cn]=(0,l.useState)(()=>Lo()),[ft,fr]=(0,l.useState)(null),[ke,fn]=(0,l.useState)(()=>new Map),Pe=(0,l.useRef)(ke);Pe.current=ke;let Re=(0,l.useRef)(null),pt=(0,l.useCallback)(c=>H.graph.getNode(c)?.kind,[H]),ee=(0,l.useCallback)(c=>{let S=It(Pe.current,c,pt);Pe.current=S,fn(S),Re.current&&clearTimeout(Re.current),[...S.values()].some(M=>M.mode!=="docked"&&M.mode!=="asking")&&(Re.current=setTimeout(()=>{let M=It(Pe.current,{type:"rest",at:Date.now(),holdMs:Nt},pt);Pe.current=M,fn(M)},Nt+20))},[pt]),pn=(0,l.useCallback)(c=>ee({...c,at:c.at??Date.now()}),[ee]),yn=(0,l.useCallback)(c=>{fr(c),c&&ee({type:"home",author:{kind:"agent",id:c,session:re},at:Date.now()})},[ee,re]);(0,l.useEffect)(()=>H.subscribe((c,S)=>{for(let T of S)T.author.kind==="agent"&&ee({type:"write",author:T.author,ids:T.writes,at:Date.now()})}),[H,ee]),(0,l.useEffect)(()=>()=>{Re.current&&clearTimeout(Re.current)},[]);let z=(0,l.useMemo)(()=>({...ue,session:re}),[ue,re]),mn=_o(H,E,z),gn=(0,l.useCallback)(c=>{ir(c),d?.(c)},[d]),[Te,pr]=(0,l.useState)(()=>Object.fromEntries(ie.map(c=>[c.name,xo(c,u)])));(0,l.useEffect)(()=>{for(let c of ie)Ao(c,Te[c.name]??c.initial)},[ie,Te]);let hn=(0,l.useCallback)((c,S)=>{let T=ie.find(M=>M.name===c);!T||!T.options.some(M=>M.value===S)||(Eo(T,S,u),pr(M=>({...M,[c]:S})))},[ie,u]),[Sn,yr]=(0,l.useState)(null),{activity:wn,noteAttention:vn}=Io(H),bn=(0,l.useCallback)(c=>{vn(c),ee({type:"read",author:c.author,ids:c.reads,at:Date.now()})},[vn,ee]),ce=(0,l.useCallback)(c=>{if(ye(c)!==null||se(c).length>0||St(c))return!0;let S=qn(c);return S?H.graph.allEdges().some(T=>T.kind===S.kind&&T.from===S.from&&T.to===S.to):H.graph.getNode(c)!==void 0},[H]),xn=(0,l.useCallback)(c=>{let S=c.selection??Lt,T=S.filter(ce),M=T.length===S.length?c:ze(c,T);return M.focusId!==null&&!ce(M.focusId)&&(M=q(M,null)),M},[ce]),Me=(0,l.useCallback)(c=>{let S=xn(c),T=No(H,z,S.shown);if(S.focusId!==null&&T.size>0){let M=se(S.focusId),Vn=H.graph.getNode(S.focusId);(M.length>0?M.every(hr=>T.has(hr)):Vn?T.has(Vn.kind):!1)&&(S={...S,focusId:null})}if(!S.overview&&S.focusId===null){let M=Ae.focusId!==null&&!ce(Ae.focusId)?jt(t,e.schema)??{...fe,overview:!0}:Ae;M.focusId!==null&&ce(M.focusId)?S={...S,focusId:M.focusId}:M.overview===!0&&(S={...S,overview:!0})}return S},[xn,ce,H,Ae,z,t,e.schema]),B=Me(Z??sr),En=(0,l.useMemo)(()=>No(H,z,B.shown),[H,z,B.shown]),An=(0,l.useMemo)(()=>[...H.modules.administered.entries()].map(([c,S])=>{let T=H.mayAdminister(c,z);return{name:c,...S.description?{description:S.description}:{},kinds:S.kinds??[],canShow:T,shown:T&&(B.shown??[]).includes(c)}}),[H,z,B.shown]),Oe=(0,l.useCallback)(c=>{let S=T=>Me(typeof c=="function"?c(T):c);if(Z!==void 0){X?.(S(Z));return}X&&X(S(B)),Qt(T=>S(T))},[B,X,Z,Me]);(0,l.useEffect)(()=>{Z===void 0&&Qt(c=>{let S=Me(c);return S===c?c:S})},[B,Z,Me]);let kn=B.selection??Lt,Pn=(0,l.useCallback)(c=>{Oe(S=>ze(S,typeof c=="function"?c(S.selection??Lt):c))},[Oe]),{who:Rn,following:Tn,follow:Mn,sayWhere:mr,sharing:On}=Mo({channel:g,store:H,view:B,principal:z,session:re,robots:ke,seatWho:ft,settingValues:Te,setView:Oe,seats:a,people:s,...f!==void 0?{ttlMs:f}:{}}),gr=(0,l.useMemo)(()=>({store:H,scheme:o,views:t,view:B,setView:Oe,homeView:Ae,selection:kn,setSelection:Pn,menuAt:en,setMenuAt:lr,whereIs:dn,pointer:un,motion:cn,registerScene:ln,robots:ke,noteSeat:pn,seatWho:ft,registerSeatWho:yn,actsDoor:tn,registerActsDoor:dr,seatTalk:nn,aiDesk:rn,...u?{memory:u}:{},who:Rn,following:Tn,follow:Mn,sayWhere:mr,sharing:On,session:re,ai:De,resolveApp:D,linkedRecords:E,menuSections:V,...Q?{keptViews:Q}:{},subscriptions:an,signIn:K,linkedReads:mn,movedByHand:Xt,noteMoved:Jt,emphasis:Sn,setEmphasis:yr,activity:wn,noteAttention:bn,principal:z,seats:a,people:s,takeSeat:gn,settings:ie,settingValues:Te,chooseSetting:hn,hiddenKinds:En,administered:An,...y?{providers:y}:{},...b?{brand:b}:{},...ct?{onKeepLens:ct}:{},app:Ne,...je?{locale:je}:{},...Ge?{timeZone:Ge}:{}}),[H,o,t,B,Oe,kn,Pn,en,dn,un,cn,ln,ke,pn,ft,yn,tn,nn,rn,u,Rn,Tn,Mn,On,re,De,D,E,V,Q,an,K,mn,Xt,Jt,Sn,wn,bn,z,a,s,gn,ie,Te,hn,En,An,y,b,ct,Ne,je,Ge]);return(0,le.jsx)(_e.Provider,{value:gr,children:(0,le.jsx)(Ie.Provider,{value:He,children:(0,le.jsx)(wi,{children:P?(0,le.jsx)(Qe.Provider,{value:P,children:$}):$})})})}var Fo=(0,l.createContext)(null),Ht,Dt=new Set,mi=e=>(Dt.add(e),()=>void Dt.delete(e)),Ho=()=>Ht;function gi(e){if(!Ht){Ht=e;for(let t of[...Dt])t()}}var hi=300;function Si(e){let t=0;return async(n,o)=>{let r=++t;return await new Promise(i=>setTimeout(i,hi)),r===t?e(n,o):[]}}function wi({children:e}){let{store:t,view:n,views:o,principal:r,hiddenKinds:i,selection:a,ai:d}=oe(),s=ot(),u=n.q,f=n.focusId,h=!!(u&&u.trim().length>0),p=(0,l.useSyncExternalStore)(mi,Ho,Ho),g=(0,l.useMemo)(()=>h&&p?{flagged:new Set(t.violations().flatMap(x=>x.nodeIds)),touched:p.touchWeights(t.log.all())}:null,[t,s,h,p]),b=f?t.graph.getNode(f)?.kind??ye(f)??(se(f).length===1?se(f)[0]:void 0):void 0,A=(0,l.useMemo)(()=>d.near&&Si(d.near),[d.near]),m=(0,l.useMemo)(()=>!u||!g||!p?null:p.search(t,u,{...b?{inKind:b}:{},principal:r,places:o.places(),kinds:t.schema.kinds.filter(x=>!i.has(x)),from:[...a,...f&&t.graph.has(f)?[f]:[]],flagged:g.flagged,touched:g.touched,limit:200,rank:A}),[t,u,r,o,i,a,f,b,g,A]),[v,y]=(0,l.useState)();return(0,l.useEffect)(()=>void m?.later?.then(x=>y([m,x])),[m]),(0,le.jsx)(Fo.Provider,{value:v?.[0]===m?v[1]:m,children:e})}var Do=new WeakMap;function Qa(e){let t=Do.get(e);return t||Do.set(e,t=new Set(e.matched)),t}function vi(){return(0,l.useContext)(Fo)}function oe(){let e=(0,l.useContext)(_e);if(!e)throw new Error("useGraview must be used inside a <GraviewProvider>.");return e}function Gt(){return(0,l.useContext)(_e)??null}function ot(){let{store:e}=oe(),t=(0,l.useRef)(null),n=(0,l.useRef)(null),o=(0,l.useCallback)(()=>(n.current!==e&&(n.current=e,t.current=null),t.current??=e.graph.allNodes(),t.current),[e]),r=(0,l.useCallback)(i=>e.subscribe(()=>{t.current=null,i()}),[e]);return(0,l.useSyncExternalStore)(r,o,o)}function bi(e){let{store:t}=oe(),n=(0,l.useCallback)(r=>t.subscribe(r),[t]),o=(0,l.useCallback)(()=>e===null?void 0:t.graph.getNode(e),[t,e]);return(0,l.useSyncExternalStore)(n,o,o)}function No(e,t,n){let o=new Set(e.modules.disabledKinds);for(let r of e.kindsKeptFrom(t))o.add(r);for(let[r,i]of e.modules.administered)if(!(e.mayAdminister(r,t)&&(n??[]).includes(r)))for(let a of i.kinds??[])o.add(a);return o}var Nt=2600;var Ko=new WeakSet,xi=e=>Ko.has(e),Ei=e=>void Ko.add(e);function jt(e,t){let n=Fn(e.arrangement?.()?.first,t,e.places());if(!(!n||n.to==="home"))return n.to==="place"?{...fe,focusId:ne(n.place.kind),within:{view:n.place.as}}:{...fe,focusId:ne(n.kind)}}var Bo=C(N(),1),Ai=(0,Bo.createContext)(!1);var rt=Symbol.for("graview.default-view");function qo(e){return Object.defineProperty(e,rt,{value:!0,enumerable:!1}),e}function $o(e){return typeof e=="function"&&e[rt]===!0}var it=Symbol.for("graview.replaces-page");function zo(e){return Object.defineProperty(e,it,{value:!0,enumerable:!1}),e}function Uo(e){return typeof e=="function"&&e[it]===!0}function ki(e){return Wn(e)}function Pi(e,t){if(t===e)return e;for(let r of t.registrations())e.register(r.kind,r,r.view,r);let n=t.arrangement?.();n&&e.arrange?.(n);let o=t.homeView?.();return o&&e.home?.(o),e}var F=C(N(),1),Y=C(Ce(),1),Wt=new Set,at=0;function Xo(e){return()=>{at+=1;let t=e();return t.then(()=>void(at-=1),()=>void(at-=1)),t}}var Ri=()=>at,Yo=!1;function Ft(){for(let e of[...Wt])e()}function Ti(){Yo||typeof window>"u"||(Yo=!0,window.addEventListener("online",Ft))}function Kt(e){let t,n=!1,o=!1,r,i=0,a=new Set,d=()=>{i+=1;for(let p of[...a])p()},s=p=>(a.add(p),()=>void a.delete(p)),u=()=>i,f=()=>void h().catch(()=>{});function h(){if(n)return Promise.resolve(t);if(r)return r;let p=e().then(g=>(t=g,n=!0,o=!1,r=void 0,Wt.delete(f),d(),g),g=>{throw r=void 0,o=!0,Wt.add(f),Ti(),d(),g});return p.catch(()=>{}),r=p,p}return{load:h,prefetch:f,get current(){return t},get failed(){return o},part(p,g={}){let b=g.what??"This part";function A(y){(0,F.useSyncExternalStore)(s,u,u);let x=(0,F.useRef)(null),P=(0,F.useRef)(null),D=(0,F.useRef)(!1);return(0,F.useEffect)(()=>{o&&r===void 0&&f()},[]),n&&typeof document<"u"&&x.current!==null&&document.activeElement===x.current&&(D.current=!0),(0,F.useLayoutEffect)(()=>{if(!(!n||!D.current)){D.current=!1;for(let L=P.current?.nextElementSibling??null;L!==null;L=L.nextElementSibling){let E=L.matches(Zo)?L:L.querySelector(Zo);if(E instanceof HTMLElement){E.focus();return}}}}),n?(0,Y.jsxs)(Y.Fragment,{children:[D.current?(0,Y.jsx)("span",{ref:P,hidden:!0}):null,p(t,y)]}):g.quiet?null:(0,Y.jsx)(Mi,{what:b,button:x,...g.as?{as:g.as}:{}})}let m=(0,F.lazy)(Xo(()=>h().then(()=>({default:A}),()=>({default:A}))));function v(y){let[x]=(0,F.useState)(()=>n||o);return(0,F.createElement)(x?A:m,y)}return v}}}var Zo="button,a[href],input,select,textarea,[tabindex]:not([tabindex='-1'])";function Mi({what:e,button:t,as:n="p"}){let r=typeof navigator<"u"&&navigator.onLine===!1?`${e} will load when you're back online.`:`${e} didn't load.`;return(0,Y.jsxs)(n,{"data-testid":"lazy-part-missing",style:{margin:0,fontSize:"0.875rem",color:"var(--graview-ink-muted)"},children:[(0,Y.jsx)("span",{role:"status",children:r})," ",(0,Y.jsx)("button",{ref:t,type:"button","data-testid":"lazy-part-retry",onClick:Ft,style:{font:"inherit",fontWeight:600,color:"var(--graview-ink)",background:"none",border:"1px solid var(--graview-edge)",borderRadius:6,padding:"2px 10px"},children:"Try again"})]})}var Se=C(N(),1);function Oi(){let{selection:e,setSelection:t}=oe();return(0,Se.useMemo)(()=>({selection:e,set:n=>t(n),clear:()=>t([]),toggle:n=>t(o=>o.includes(n)?o.filter(r=>r!==n):[...o,n]),isSelected:n=>e.includes(n)}),[e,t])}function Vi(){let{store:e}=oe(),t=ot();return(0,Se.useMemo)(()=>Ii(e),[e,t])}var Jo=new WeakMap;function Ii(e){let t=Jo.get(e);if(!t){let n={violations:null};e.subscribe(()=>{n.violations=null}),Jo.set(e,n),t=n}return t.violations??=e.violations(),t.violations}function Ci(){let{view:e,setView:t}=oe();return(0,Se.useMemo)(()=>({view:e,url:te(e),focus:n=>t(o=>q(o,n)),show:n=>t(o=>$n(o,n)),toggle:n=>t(o=>Ue(o,n)),go:n=>t(n)}),[e,t])}var he={at:0,depth:0,listeners:new Set,tell(){for(let e of this.listeners)e()}};typeof window<"u"&&window.addEventListener("popstate",e=>{let t=e.state;he.at=typeof t?.graview=="number"?t.graview:0,he.at>he.depth&&(he.depth=he.at),he.tell()});var j=C(N(),1),qt={profile:{trigger:"profile-button",pane:"profile",opens:"press",focus:"into",drawn:["shell","embed"]},problems:{trigger:"standing",pane:"problems",opens:"press",focus:"into",drawn:["shell","embed"]},places:{trigger:"app-places-open",pane:"app-places",opens:"press",focus:"into",drawn:["embed"]},here:{trigger:"here-open",pane:"here-list",opens:"press",focus:"into",drawn:["shell","embed","pages"]},suggested:{trigger:"suggested-button",pane:"suggested",opens:"press",focus:"into",drawn:["shell","embed","pages"]},activity:{trigger:"activity-button",pane:"activity",opens:"press",focus:"into",drawn:["shell","embed","pages"]},find:{trigger:"find-box",pane:"find-strip",opens:"typing",focus:"stays",drawn:["shell"]},districts:{trigger:"beyond-more",pane:"beyond-list",opens:"press",focus:"into",drawn:["shell","embed"]},acts:{trigger:null,pane:"context-menu",opens:"context-menu",focus:"into",drawn:["shell","embed","pages"]},arrange:{trigger:"arrange-add",pane:"arrange-list",opens:"press",focus:"into",drawn:["pages"]},"studio-ask":{trigger:"studio-agent",pane:"studio-agent-panel",opens:"press",focus:"into",drawn:["studio"]}},_i={position:"fixed",inset:"auto",margin:0,zIndex:Dn("popover"),boxSizing:"border-box"},st=6,we=8,Li=e=>typeof e.showPopover=="function";function lt(e){try{return e.matches(":popover-open")}catch{return!1}}function Hi(e){if(typeof e=="function"){let o=e();return o?{left:o.x,right:o.x,top:o.y,bottom:o.y}:null}let t=e.current;if(!t||!t.isConnected)return null;let n=t.getBoundingClientRect();return{left:n.left,right:n.right,top:n.top,bottom:n.bottom}}function $t(e,t,n={}){let o=Hi(t);if(!o)return;let r={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},i=e.dataset.graviewDesignedHeight??=e.style.maxHeight;e.style.maxHeight=i;let a=e.getBoundingClientRect(),d=r.height-o.bottom-st-we,s=o.top-st-we,u=a.height<=d||d>=s,f=Math.max(96,Math.floor(u?d:s)),h=Math.min(a.height,f);a.height>f&&(e.style.maxHeight=i?`min(${i}, ${f}px)`:`${f}px`);let p=a.width,g=n.align==="start"?o.left:o.right-p,b=typeof t=="function"?null:t.current?.closest("[data-graview-embed]")?.getBoundingClientRect();b&&p<=b.right-b.left&&(g<b.left?g=o.left+p<=b.right?o.left:b.left:g+p>b.right&&(g=o.right-p>=b.left?o.right-p:b.right-p));let A=p>=r.width-2*we?Math.max(0,(r.width-p)/2):Math.max(we,Math.min(g,r.width-we-p)),m=u?o.bottom+st:Math.max(we,o.top-st-h);e.style.left=`${Math.round(A)}px`,e.style.top=`${Math.round(m)}px`}function Qo(e,t,n,o={}){let r=o.align??"end";(0,j.useLayoutEffect)(()=>{let i=e.current;if(!t||!i)return;if(Li(i)&&!lt(i))try{i.showPopover(),Ni()}catch{}let a=0,d=u=>{u?.target instanceof Node&&i.contains(u.target)||(cancelAnimationFrame(a),a=requestAnimationFrame(()=>$t(i,n,{align:r})))};$t(i,n,{align:r}),addEventListener("resize",d),addEventListener("scroll",d,!0);let s=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>d());return s?.observe(i),()=>{if(cancelAnimationFrame(a),removeEventListener("resize",d),removeEventListener("scroll",d,!0),s?.disconnect(),i.isConnected&<(i))try{i.hidePopover()}catch{}}},[t,e,r])}var zt=new Set;function Di(e){return zt.add(e),()=>zt.delete(e)}function Ni(){for(let e of zt)if(!(!e.isConnected||!lt(e)))try{e.hidePopover(),e.showPopover()}catch{}}var ve=null,ji='button:not([disabled]), [href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])';function Gi(e){for(let t of e.querySelectorAll(ji))if(t.closest("[hidden]")===null&&getComputedStyle(t).visibility!=="hidden")return t;return e}var Bt=()=>{let e=document.activeElement;return e===null||e===document.body};function Wi(e,t={}){let{at:n,returnTo:o,onOpenChange:r}=t,i=t.popover!==!1,[a,d]=(0,j.useState)(!1),s=t.open??a,u=(0,j.useRef)(null),f=(0,j.useRef)(null),h=(0,j.useCallback)(y=>{u.current=y},[]),p=(0,j.useCallback)(y=>{f.current=y},[]),g=`graview-popover-${(0,j.useId)().replace(/:/g,"")}`,b=(0,j.useRef)({onOpenChange:r,returnTo:o,controlled:t.open!==void 0});b.current={onOpenChange:r,returnTo:o,controlled:t.open!==void 0};let A=(0,j.useCallback)(y=>{b.current.controlled||d(y),b.current.onOpenChange?.(y)},[]),m=(0,j.useCallback)(()=>{(document.querySelector(`[aria-controls="${g}"]`)??u.current??b.current.returnTo?.()??null)?.focus({preventScroll:!0})},[g]),v=(0,j.useCallback)(y=>{let x=f.current,P=typeof document>"u"?null:document.activeElement,D=P===null||P===document.body||x!==null&&x.contains(P);A(!1),!(!y||!D)&&(m(),requestAnimationFrame(()=>{Bt()&&m()}))},[A,m]);return Qo(f,i&&s,n??u,t.align?{align:t.align}:{}),(0,j.useEffect)(()=>{if(!i||!s)return;let y={name:e,close:()=>v(!1)};if(ve&&ve.close!==y.close&&ve.close(),ve=y,qt[e].focus==="into"){let R=f.current;R&&!R.contains(document.activeElement)&&Gi(R).focus({preventScroll:!0})}let x=R=>{R.key==="Escape"&&v(!0)},P=R=>{let I=R.target;if(!(I instanceof Node))return;let G=f.current;if(G?.contains(I)||u.current?.contains(I))return;let W=I instanceof Element?I.closest('[role="dialog"], [role="alertdialog"]'):null;W&&!(G&&W.contains(G))||(v(!1),qt[e].focus==="into"&&requestAnimationFrame(()=>{(Bt()||G!==null&&G.contains(document.activeElement))&&m()}))},D=null,L=null,E=R=>{let I=R.target;if(!(I instanceof Element))return;let G=f.current,W=I.closest('[role="dialog"], [role="alertdialog"]');!W||G&&(G.contains(W)||W.contains(G))||(D=W,v(!1))};return document.addEventListener("keydown",x),document.addEventListener("pointerdown",P,!0),document.addEventListener("focusin",E),()=>{document.removeEventListener("keydown",x),document.removeEventListener("pointerdown",P,!0),document.removeEventListener("focusin",E);let R=D;R&&typeof MutationObserver<"u"&&(L?.disconnect(),L=new MutationObserver(()=>{R.isConnected||(L?.disconnect(),requestAnimationFrame(()=>{(Bt()||document.activeElement.closest("[hidden]")!==null)&&m()}))}),L.observe(document.body,{childList:!0,subtree:!0}),setTimeout(()=>L?.disconnect(),10*6e4)),ve?.close===y.close&&(ve=null)}},[i,s,e,v,m]),{open:s,setOpen:y=>y?A(!0):v(!0),toggle:()=>s?v(!0):A(!0),trigger:{ref:h,"aria-expanded":s,"aria-controls":g,"data-graview-popover-trigger":e},pane:{ref:p,id:g,popover:"manual",tabIndex:-1,"data-graview-popover":e,"data-graview-overlay":""}}}var be=C(N(),1);var er=(0,be.createContext)(null);function Fi(){let e=(0,be.useContext)(er),t=Gt(),n=(o,r,i)=>t?.setView(a=>ae(ae(pe(q(a,ne(o)),!1),"view",r),"filter",i?.filter??null));return(0,be.useMemo)(()=>e??{record:o=>{t&&(t.setView(r=>q(pe(r,!1),o)),t.setSelection([o]))},place:(o,r)=>{let i=t?.views.places().find(a=>a.as===o);i&&n(i.kind,i.as,r)},list:(o,r)=>n(o,null,r)},[e,t])}var xe=C(N(),1);var Ki=Kt(Ke(()=>(__graviewPreload(import.meta.url,["./chunk.BTSXYZ6Z.js","./chunk.SDO3U72B.js","./chunk.5ZMENPY4.js","./chunk.AJZBJBMO.js"]),import("./chunk.37ASLBGE.js"))));function Bi(e,t,n){let o,r=!1,i=()=>{let{hidden:d,removed:s}=t.current();o||r||d.length+s.length===0||(o=()=>{},Ki.load().then(u=>{r||(o=u.watchTidied(e,t,n))},String))};i();let a=t.onChange?.(i);return()=>{r=!0,a?.(),o?.()}}function qi(e,t){let[n,o]=(0,xe.useState)();return(0,xe.useEffect)(()=>t?Bi(e,t,r=>o([e,r])):void 0,[e,t]),n?.[0]===e?n[1]:e}var tr=C(N(),1),$i=(0,tr.createContext)(!1);var nr=C(N(),1),zi=(0,nr.createContext)(null);var or=C(N(),1),Ut='button:not([disabled]), a[href], input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), summary, [tabindex]:not([tabindex="-1"])',Yt=e=>e instanceof HTMLElement&&(e.matches(Ut)||e.hasAttribute("tabindex")),Le=e=>typeof e.checkVisibility=="function"?e.checkVisibility():e.getClientRects().length>0;function Ui(e,t){let n=s=>s.replace(/["\\]/g,"\\$&"),o=t.getAttribute("data-testid"),r=t.getAttribute("data-graview-pick"),i=t.getAttribute("aria-label"),a=o?`[data-testid="${n(o)}"]`:r?`[data-graview-pick="${n(r)}"]`:i?`${t.tagName.toLowerCase()}[aria-label="${n(i)}"]`:null;if(!a)return null;let d=e.querySelector(a);return d&&Yt(d)&&Le(d)?d:null}var Yi=e=>e.isConnected&&Yt(e)&&!e.matches(":disabled")&&e instanceof HTMLElement&&Le(e);function rr(e,t){let n=t?Ui(e,t):null;if(n)return n;let o=e.querySelector("[data-graview-view][tabindex]");if(o&&Le(o))return o;for(let r of e.querySelectorAll(Ut))if(Le(r))return r;return Yt(e)&&Le(e)?e:null}function Zi(e){(0,or.useEffect)(()=>{let t=e.current;if(!t||typeof MutationObserver>"u")return;let n=[],o=m=>{let v=m.target;if(v instanceof Element){n=[];for(let y=v;y&&y!==t.parentElement;y=y.parentElement)n.push(y)}},r=!1,i=!1,a=t.ownerDocument,d=()=>!i&&a.defaultView!==null,s=(m,v)=>void setTimeout(()=>d()&&v(),m),u=m=>void requestAnimationFrame(()=>d()&&m()),f=m=>{if(r=!1,i)return;let v=a.activeElement;if(!(!(v===null||v===a.body||v===a.documentElement)||n.length===0)){if(Yi(n[0])){m&&n[0]instanceof HTMLElement&&n[0].focus({preventScroll:!0});return}for(let x of n.slice(1)){if(!x.isConnected)continue;let P=rr(x,n[0]);if(P){P.focus({preventScroll:!0}),n=[];return}}}},h=(m,v=Date.now()+2500)=>{s(100,()=>{f(m);let y=a.activeElement;(y===null||y===a.body||y===a.documentElement)&&n.length>0&&Date.now()<v&&h(m,v)})},p=()=>{r||n.length===0||(r=!0,s(60,()=>u(()=>{f(!1),h(!1)})))},g=m=>{if(!(m instanceof KeyboardEvent&&!["Enter"," ","Escape"].includes(m.key))){if(!(m instanceof KeyboardEvent)){let v=m.target instanceof Element?m.target.closest(Ut):null,y=a.activeElement,x=y===null||y===a.body||y===a.documentElement;if(v&&x&&t.contains(v)){n=[];for(let P=v;P&&P!==t.parentElement;P=P.parentElement)n.push(P);s(150,()=>u(()=>{f(!1),h(!1)}));return}}!(m instanceof KeyboardEvent)&&!(m.target instanceof Node&&n[0]?.contains(m.target))||s(150,()=>u(()=>{f(!0),h(!0)}))}},b=new MutationObserver(()=>{n.length>0&&!n[0].isConnected&&p()}),A=m=>{m.relatedTarget===null&&p()};return t.addEventListener("focusin",o),t.addEventListener("focusout",A),t.addEventListener("click",g),t.addEventListener("keydown",g),b.observe(t,{childList:!0,subtree:!0}),()=>{i=!0,t.removeEventListener("focusin",o),t.removeEventListener("focusout",A),t.removeEventListener("click",g),t.removeEventListener("keydown",g),b.disconnect()}},[e])}export{fe as a,te as b,$e as c,Ji as d,Qi as e,Bn as f,Kn as g,qn as h,gt as i,q as j,$n as k,ae as l,pe as m,ze as n,Ve as o,Ue as p,Ze as q,ht as r,ye as s,na as t,wr as u,ne as v,zn as w,se as x,Un as y,vr as z,oa as A,Yn as B,St as C,br as D,xr as E,Er as F,N as G,Tt as H,Kr as I,qr as J,yo as K,Qe as L,$r as M,Ie as N,go as O,zr as P,Ot as Q,Ce as R,si as S,li as T,di as U,Wo as V,yi as W,gi as X,Qa as Y,vi as Z,oe as _,Gt as $,ot as aa,bi as ba,xi as ca,Ei as da,jt as ea,er as fa,Fi as ga,Ai as ha,qo as ia,$o as ja,zo as ka,Uo as la,ki as ma,Pi as na,Xo as oa,Ri as pa,Kt as qa,qi as ra,$i as sa,zi as ta,Oi as ua,Vi as va,Ci as wa,he as xa,Zi as ya,_i as za,lt as Aa,Qo as Ba,Di as Ca,Wi as Da};
|
|
2
|
-
/*! Bundled license information:
|
|
3
|
-
|
|
4
|
-
react/cjs/react.production.js:
|
|
5
|
-
(**
|
|
6
|
-
* @license React
|
|
7
|
-
* react.production.js
|
|
8
|
-
*
|
|
9
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
10
|
-
*
|
|
11
|
-
* This source code is licensed under the MIT license found in the
|
|
12
|
-
* LICENSE file in the root directory of this source tree.
|
|
13
|
-
*)
|
|
14
|
-
|
|
15
|
-
react/cjs/react-jsx-runtime.production.js:
|
|
16
|
-
(**
|
|
17
|
-
* @license React
|
|
18
|
-
* react-jsx-runtime.production.js
|
|
19
|
-
*
|
|
20
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
21
|
-
*
|
|
22
|
-
* This source code is licensed under the MIT license found in the
|
|
23
|
-
* LICENSE file in the root directory of this source tree.
|
|
24
|
-
*)
|
|
25
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{r as b}from"./chunk.ORXFUK6F.js";import{G as w,J as P,R as p,_ as v,qa as R}from"./chunk.BTSXYZ6Z.js";import{a as A}from"./chunk.SDO3U72B.js";import{id as k}from"./chunk.5ZMENPY4.js";import{b as a}from"./chunk.AJZBJBMO.js";var L=a(p(),1),B=b.part(e=>(0,L.jsx)(e.ActivityRail,{calls:[]}),{quiet:!0});var l=a(w(),1),g=a(p(),1),C=R(A(()=>(__graviewPreload(import.meta.url,["./chunk.2NSTEREJ.js","./chunk.CAMQ7MYJ.js","./chunk.EWWJMS6G.js","./chunk.2RCNSHXK.js","./chunk.ZTMDU3OH.js","./chunk.RWB4235L.js","./chunk.UT6642FC.js","./chunk.67USHK26.js","./chunk.UIUHGA6W.js","./chunk.TI4OSTQV.js","./chunk.GZHZLJBF.js","./chunk.HHUCPVG5.js","./chunk.OJGHDWI6.js","./chunk.WXYUWBKX.js","./chunk.NSNGPQGT.js","./chunk.H5CZZZLX.js","./chunk.Z7JRBKA7.js","./chunk.ORXFUK6F.js","./chunk.BTSXYZ6Z.js","./chunk.SDO3U72B.js","./chunk.5ZMENPY4.js","./chunk.AJZBJBMO.js"]),import("./chunk.57OPL5WD.js")))),T=C.part((e,r)=>{let t=e.RecordInteractions;return(0,g.jsx)(t,{...r})},{quiet:!0});function F(e,r,t){let o=e.target;return(o.on==="record"||o.on==="field"?o.id===r:o.on==="selection"?o.ids.includes(r):o.on==="act"?o.id===r:!1)||e.offered.some(n=>n.id===`record:${r}`||n.id.startsWith(`fill:${r}:`))||(e.batches??[]).some(n=>t(n).includes(r))}function I({id:e,style:r,headingStyle:t,className:o}){let{ai:d,aiDesk:n,store:f}=v(),{entries:y}=P(n),s=d.off===!0;(0,l.useEffect)(()=>{s||n.load()},[n,s]);let S=f.log.length,m=(0,l.useMemo)(()=>{let x=u=>f.log.all().flatMap(h=>h.batch===u?h.writes:[]);return y.filter(u=>F(u,e,x))},[y,e,f,S]);return s||m.length===0?null:(0,g.jsx)(l.Suspense,{fallback:null,children:(0,g.jsx)(T,{entries:m,...r?{style:r}:{},...t?{headingStyle:t}:{},...o?{className:o}:{}})})}var c=a(w(),1),i=a(p(),1);function po({context:e,stop:r,title:t,label:o,style:d,className:n,children:f,...y}){let s=k(e.views?.arrangement?.()),S=f??(0,i.jsxs)(i.Fragment,{children:["In ",s==="Scene"?"the scene":s.replace(/^The /,"the ")," ",(0,i.jsx)("span",{"aria-hidden":"true",children:"\u2197"})]}),m=o?{"aria-label":o}:{};if(e.overview){let x=e.overview;return(0,i.jsx)("a",{href:r,...y,...m,...t?{title:t}:{},style:d,...n?{className:n}:{},onClick:u=>{u.preventDefault(),x(r)},children:S})}return e.embedded?null:(0,i.jsx)("a",{href:`${e.sceneHref??"/"}${r}`,...y,...m,...t?{title:t}:{},style:d,...n?{className:n}:{},children:S})}function lo(){return(0,i.jsx)("a",{href:"#fresh","data-testid":"start-fresh",title:"Forget every edit made in this browser and return to the example",onClick:e=>{e.preventDefault();let r=new URL(window.location.href);r.searchParams.set("fresh","1"),window.location.assign(r.toString())},style:{color:"inherit",display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24},children:"Start fresh"})}function co(e){let r=(0,c.useRef)(0),t=(0,c.useCallback)(o=>e.subscribe(()=>{r.current+=1,o()}),[e]);return(0,c.useSyncExternalStore)(t,()=>r.current,()=>0)}export{B as a,I as b,po as c,lo as d,co as e};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as n}from"./chunk.6HBEYRJU.js";import"./chunk.U7QMA4H7.js";import"./chunk.GP2F7TIN.js";import"./chunk.C6X7CKU6.js";import"./chunk.2GGDOFTF.js";import"./chunk.ZTMDU3OH.js";import"./chunk.HFDYFPMJ.js";import"./chunk.RWB4235L.js";import"./chunk.CTK2P4JV.js";import"./chunk.6XU2CXRZ.js";import"./chunk.3ZNQ5YKX.js";import"./chunk.7EFNLMKU.js";import"./chunk.WVUJXDXZ.js";import{e as p}from"./chunk.KJNUZYXS.js";import"./chunk.4BBJ62ZO.js";import"./chunk.UCZR33MK.js";import"./chunk.CC47O2DW.js";import"./chunk.2IX3CZNP.js";import"./chunk.6DHHUBSC.js";import"./chunk.GZHZLJBF.js";import"./chunk.HHUCPVG5.js";import"./chunk.OJGHDWI6.js";import"./chunk.WXYUWBKX.js";import"./chunk.NSNGPQGT.js";import"./chunk.H5CZZZLX.js";import"./chunk.Z7JRBKA7.js";import"./chunk.ORXFUK6F.js";import{R as m}from"./chunk.BTSXYZ6Z.js";import"./chunk.SDO3U72B.js";import"./chunk.5ZMENPY4.js";import{b as t}from"./chunk.AJZBJBMO.js";var i=t(m(),1),a=new WeakMap;function s(o){let e=a.get(o);if(!e){let r=p(o);e=c=>c.mode==="fullscreen"?(0,i.jsx)(n,{blocks:r,slot:"home",heading:2,firstHeading:1}):(0,i.jsx)(n,{blocks:r,slot:"home",heading:3,firstHeading:2}),a.set(o,e)}return e}export{s as homeView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{q as ce}from"./chunk.7EFNLMKU.js";import{a as Z,b as C,c as ee,d as te,g as oe,j as re,k as P,l as se,p as le,s as de}from"./chunk.RM7NVN7B.js";import{a as ie,b as ne,c as ae}from"./chunk.J3M2MZHG.js";import"./chunk.UT6642FC.js";import"./chunk.IAZRY42B.js";import"./chunk.FMN5XDLE.js";import{a as X}from"./chunk.UIUHGA6W.js";import"./chunk.TI4OSTQV.js";import"./chunk.4BBJ62ZO.js";import"./chunk.NSNGPQGT.js";import"./chunk.H5CZZZLX.js";import"./chunk.Z7JRBKA7.js";import{e as _,m as J}from"./chunk.ORXFUK6F.js";import{G as me,J as U,R as V,_ as j}from"./chunk.BTSXYZ6Z.js";import"./chunk.SDO3U72B.js";import{fa as B,tc as Y}from"./chunk.5ZMENPY4.js";import{b as O}from"./chunk.AJZBJBMO.js";var a=O(me(),1);var d=O(V(),1),ke=new Set(["show","go","to","open","the","a","an","me"]),ge=s=>s.toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g,""),W=(s,p)=>{let r=ge(s);return p.every(t=>r.includes(t))},pe=s=>s&&`${s[0].toLowerCase()}${s.slice(1)}`,I={act:4,show:3,place:3,record:4},we=360,h=12;function Oe({face:s,opening:p,close:r}){let t=X(),{setMenuAt:v}=j(),n=(0,a.useMemo)(()=>p.target??Z(p.pointed??{about:[]},e=>t.store.graph.has(e)),[p,t.store]),f=(0,a.useMemo)(()=>oe(t.store,n,t.places),[t.store,n,t.places]),[u,y]=(0,a.useState)(""),[b,m]=(0,a.useState)(-1),[l,$]=(0,a.useState)(null),[A,L]=(0,a.useState)(null),E=(0,a.useRef)(null),z=(0,a.useRef)(null),T=(0,a.useId)(),R=(0,a.useRef)(!0),{ghost:G}=U(t.desk);(0,a.useEffect)(()=>()=>{R.current=!1;let e=t.desk.get().ghost;e?.onCard&&t.desk.setGhost({...e,onCard:!1})},[t.desk]);let M=(0,a.useMemo)(()=>{let e=P(t,n);return ee(t.store,n,{principal:t.principal,places:t.places,...e.acts?{acts:e.acts}:{}})},[t,n]),K=(0,a.useMemo)(()=>{let e=C(n);if(e.length===0)return[];let i=new Set(M.candidates.flatMap(c=>c.type==="act"?[c.mutation]:[]));return ie(t.store,e,{principal:t.principal,...e.length===1?{focus:e[0]}:{}}).affordances.filter(c=>!c.destructive&&i.has(c.mutation))},[t.store,t.principal,n,M]),q=(0,a.useCallback)(()=>{let e=p.returnTo,i=ue(E.current,n,s);r(),requestAnimationFrame(()=>{if(e?.isConnected&&!e.closest("[inert]"))return e.focus({preventScroll:!0});let c=(i&&i.tabIndex>=0?i:null)??document.querySelector("[data-graview-page-title]")??document.querySelector("main");c&&c.tabIndex<0&&!c.hasAttribute("tabindex")&&c.setAttribute("tabindex","-1"),c?.focus({preventScroll:!0})})},[p.returnTo,n,s,r]),F=(0,a.useCallback)(e=>{if(e.open.length>0){let i=E.current?.getBoundingClientRect();r(),v({x:i?.left??0,y:i?.top??0,on:e.args.id??C(n)[0],about:C(n)});return}try{ae(t.store,e,{}),ne(t.store,e,{},{author:t.principal}),q()}catch(i){L(i instanceof Error?i.message:String(i))}},[t.store,t.principal,r,q,v,n]),H=(0,a.useCallback)(async e=>{let i=e.trim();if(!i)return;let c=l?.result?.answer?{said:l.said,answer:l.result.answer}:void 0;y(""),m(-1),L(null),$({said:i,result:null});let S=await re(t.ai,{...P(t,n,i),said:i,...c?{follows:c}:{}});t.desk.record(S.interaction),S.ghost&&S.ghost.proposals.length>0&&t.desk.setGhost({ghost:S.ghost,onCard:!0}),R.current&&$({said:i,result:S})},[l,t,n]),N=(0,a.useRef)(p.asked);(0,a.useEffect)(()=>{let e=N.current;N.current=void 0,e&&H(e)},[]);let k=(0,a.useMemo)(()=>{let e=u.trim();if(!e&&l)return[];let i=ge(e).split(/\s+/).filter(o=>o&&!ke.has(o)),c=/^show\b/i.test(e),S=/^(go|open)\b/i.test(e),x=[];if(!c&&!S)for(let o of K.filter(g=>W(g.label,i)).slice(0,I.act))x.push({id:`act:${o.id}`,kind:"act",label:o.label,hint:o.open.length>0?"asks more":"do it",take:()=>F(o)});let Q=e&&!/\?\s*$/.test(e)?te(t.store,n,{principal:t.principal,places:t.places,said:e}):[];for(let o of Q)x.push({id:`place:${o.place}`,kind:"place",label:o.fit==="full"?`Open ${o.title}`:`Open and adjust ${o.title}`,hint:o.fit==="full"?"a view you have":"adjust it",take:()=>{r(),t.goTo.place(o.place),o.fit==="partial"&&_(t.desk,{target:{on:"lens",place:o.place,...o.kind?{kind:o.kind}:{}},asked:e})}});if(!S){let o=M.candidates.filter(g=>g.type==="panel");for(let g of o.filter(D=>W(`show ${D.label}`,i)).slice(0,I.show))x.push({id:g.id,kind:"show",label:`Show ${pe(g.label)}`,hint:"a panel",take:()=>{r(),se(t,{title:g.label,recipe:{...g.panel,title:g.label}})}})}if(!c){for(let o of t.places.filter(g=>W(g.title,i)&&!Q.some(D=>D.place===g.as)).slice(0,I.place))x.push({id:`place:${o.as}`,kind:"place",label:`Go to ${o.title}`,take:()=>(r(),t.goTo.place(o.as))});if(i.length>0){let o=ce(t.store,e.replace(/^(go to|open)\s+/i,""),{principal:t.principal,from:C(n),limit:I.record}).hits;for(let g of o)g.about==="node"&&x.push({id:`record:${g.id}`,kind:"record",label:g.label,hint:B(t.store.schema,g.kind),take:()=>(r(),t.goTo.record(g.id))})}}return e&&x.push({id:"ask",kind:"ask",label:e,take:()=>void H(e)}),x},[u,K,M,t,n,F,H,r,l]);(0,a.useEffect)(()=>m(u.trim()?0:-1),[u]),(0,a.useLayoutEffect)(()=>{let e=E.current;if(!e)return;if(typeof e.showPopover=="function")try{e.showPopover()}catch{}z.current?.focus({preventScroll:!0});let i=0,c=()=>{be(e,ue(e,n,s)),i=requestAnimationFrame(c)};return c(),()=>cancelAnimationFrame(i)},[n,s]),(0,a.useEffect)(()=>{if(l)return;let e=i=>{i.target instanceof Node&&E.current?.contains(i.target)||r()};return document.addEventListener("pointerdown",e,!0),()=>document.removeEventListener("pointerdown",e,!0)},[l,r]);let fe=e=>{if(e.key==="ArrowDown"&&k.length>0)e.preventDefault(),m(i=>Math.min(k.length-1,i+1));else if(e.key==="ArrowUp"&&k.length>0)e.preventDefault(),m(i=>Math.max(0,i-1));else if(e.key==="Enter"){e.preventDefault();let i=k[b];i?i.take():u.trim()&&H(u)}},w=l?.result??null,he=k[b];return(0,d.jsxs)("section",{ref:E,popover:"manual",role:"region","aria-label":l?`Answer about ${f}`:`Ask about ${f}`,"data-testid":"quick-ask","data-quick-ask":l?"answer":"bar","data-quick-ask-face":s,"data-graview-offstage":"","data-graview-overlay":"",onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),q())},onMouseDown:e=>e.stopPropagation(),style:ve,children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,d.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 ",f]}),(0,d.jsx)("button",{type:"button","data-testid":"quick-ask-close","aria-label":"Close",title:"Close",onClick:q,style:ye,children:(0,d.jsx)("span",{"aria-hidden":"true",children:"\u2715"})})]}),l?(0,d.jsxs)("div",{"data-testid":"quick-answer",style:{display:"grid",gap:8},children:[(0,d.jsxs)("p",{"data-testid":"quick-answer-asked",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)",fontStyle:"italic",overflowWrap:"anywhere"},children:["\u201C",l.said,"\u201D"]}),(0,d.jsx)("p",{"data-testid":"quick-answer-text","aria-live":"polite",style:{margin:0,fontSize:"0.9375rem",lineHeight:1.45,color:w?.interaction.outcome==="failed"?"var(--graview-warn)":"var(--graview-ink)",overflowWrap:"anywhere"},children:w===null?"Thinking\u2026":w.interaction.outcome==="failed"?w.interaction.failed??"The AI could not answer that here.":w.answer??""}),w&&w.offers.length>0?(0,d.jsx)("ul",{"aria-label":"What acts on it",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:6},children:w.offers.map(e=>(0,d.jsx)("li",{children:(0,d.jsx)("button",{type:"button","data-testid":"quick-answer-offer","data-ai-offer":e.id,"data-ai-offer-type":e.type,onClick:()=>{le(t,w,e,r).then(i=>{i&&R.current&&L(i)})},style:xe,children:e.type==="panel"?`Show ${pe(e.label)}`:e.type==="place"?`Go to ${e.label}`:e.label})},e.id))}):null,G?.onCard&&G.ghost.interaction===w?.interaction.id?(0,d.jsx)(de,{placement:"card"}):null]}):null,(0,d.jsxs)("div",{style:{display:"grid",gap:4},children:[(0,d.jsx)("input",{ref:z,type:"text",role:"combobox","data-testid":"quick-ask-input","aria-label":l?`Ask a follow-up about ${f}`:`Ask about ${f}, or go somewhere`,"aria-expanded":k.length>0,"aria-controls":T,"aria-autocomplete":"list",...he?{"aria-activedescendant":`${T}-${b}`}:{},autoComplete:"off",enterKeyHint:"go",placeholder:l?"Ask a follow-up\u2026":"Ask, or go to\u2026",value:u,readOnly:l!==null&&w===null,"aria-busy":l!==null&&w===null,onChange:e=>y(e.target.value),onKeyDown:fe,style:Ae}),(0,d.jsx)("div",{id:T,role:"listbox","aria-label":u.trim()?`What \u201C${u.trim()}\u201D finds here`:"What can be done here",hidden:k.length===0,style:{display:k.length===0?"none":"grid",gap:1,maxHeight:280,overflowY:"auto"},children:k.map((e,i)=>(0,d.jsx)("div",{id:`${T}-${i}`,role:"option","aria-selected":i===b,"data-testid":"quick-ask-option","data-quick-ask-kind":e.kind,"data-quick-ask-row":e.id,onMouseEnter:()=>m(i),onMouseDown:c=>c.preventDefault(),onClick:e.take,style:{...Se,background:i===b?"var(--graview-panel-muted)":"transparent",...e.kind==="ask"?{borderTop:"1px solid var(--graview-edge)",marginTop:2}:{}},children:e.kind==="ask"?(0,d.jsxs)("span",{children:["Ask: ",(0,d.jsxs)("span",{style:{fontWeight:600},children:["\u2018",e.label,"\u2019"]})]}):(0,d.jsxs)("span",{children:[e.label,e.hint?(0,d.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",e.hint]}):null]})},e.id))})]}),A?(0,d.jsx)("p",{role:"alert","data-testid":"quick-ask-refused",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-warn)"},children:A}):null,(0,d.jsx)("span",{style:J,"aria-live":"polite",children:k.length>0&&u.trim()?`${k.length} ${k.length===1?"way":"ways"} to go on`:""})]})}function ue(s,p,r){let t=s?.closest("[data-graview-embed]")??document,v=p.on==="list"?[`aggregate:${p.kind}`,`kind:${p.kind}`]:p.on==="lens"&&p.kind?[`aggregate:${p.kind}`]:C(p);for(let n of v)for(let f of t.querySelectorAll(`[data-graview-view="${CSS.escape(n)}"], [data-graview-pick="${CSS.escape(n)}"]`)){if(s?.contains(f))continue;let u=f.getBoundingClientRect();if(u.width>0&&u.height>0)return f}return r==="pages"?t.querySelector("main [data-graview-page-title]")??t.querySelector("main h1"):null}function be(s,p){let r={width:document.documentElement.clientWidth||innerWidth,height:innerHeight},t=Math.min(we,r.width-2*h),v=s.getBoundingClientRect().height,n=p?.getBoundingClientRect(),f,u,y,b=A=>Math.max(h,Math.min(A,r.height-v-h));if(n&&n.width>0&&n.bottom>0&&n.top<r.height)if(n.right+h+t<=r.width-h)f=n.right+h,u=b(n.top),y="right";else if(n.left-h-t>=h)f=n.left-h-t,u=b(n.top),y="left";else{f=Math.max(h,Math.min(n.left,r.width-t-h));let A=n.bottom+h;u=A+v<=r.height-h?A:b(n.top-h-v),y=A+v<=r.height-h?"below":"above"}else f=(r.width-t)/2,u=b(72),y="top";let m=s.style,l={left:`${Math.round(f)}px`,top:`${Math.round(u)}px`,width:`${Math.round(t)}px`};m.left!==l.left&&(m.left=l.left),m.top!==l.top&&(m.top=l.top),m.width!==l.width&&(m.width=l.width);let $=p?.getAttribute("data-graview-view")??p?.getAttribute("data-graview-pick")??(p?"page":"");s.getAttribute("data-quick-ask-beside")!==$&&s.setAttribute("data-quick-ask-beside",$),s.getAttribute("data-quick-ask-side")!==y&&s.setAttribute("data-quick-ask-side",y)}var ve={position:"fixed",inset:"auto",margin:0,zIndex:Y("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"},ye={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"},Ae={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},Se={display:"flex",alignItems:"center",minHeight:30,padding:"4px 8px",borderRadius:6,cursor:"pointer",overflowWrap:"anywhere"},xe={display:"inline-flex",alignItems:"center",minHeight:30,padding:"2px 10px",font:"inherit",fontSize:"0.8125rem",borderRadius:8};export{Oe as QuickAskCard};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as J,b as We}from"./chunk.5A4AOFOA.js";import"./chunk.KSXB4LDF.js";import"./chunk.W4OX4BMP.js";import{i as $e,j as Re,k as Le}from"./chunk.SK33IHL2.js";import"./chunk.C6X7CKU6.js";import"./chunk.HJCQ6I3S.js";import"./chunk.EBHKKOPO.js";import"./chunk.P4WYBSYA.js";import"./chunk.FCXBCKED.js";import"./chunk.FILCNVGH.js";import"./chunk.EWWJMS6G.js";import{a as Pe,b as k}from"./chunk.2RCNSHXK.js";import"./chunk.ZTMDU3OH.js";import"./chunk.RWB4235L.js";import"./chunk.3ZNQ5YKX.js";import"./chunk.7EFNLMKU.js";import"./chunk.ITEF3U2E.js";import"./chunk.B2IRADR2.js";import"./chunk.J3M2MZHG.js";import{b as ze,c as Ee}from"./chunk.UT6642FC.js";import"./chunk.IAZRY42B.js";import"./chunk.FMN5XDLE.js";import"./chunk.TI4OSTQV.js";import"./chunk.B7TB6YRZ.js";import"./chunk.KJNUZYXS.js";import"./chunk.4BBJ62ZO.js";import"./chunk.UCZR33MK.js";import"./chunk.CC47O2DW.js";import"./chunk.2IX3CZNP.js";import"./chunk.6DHHUBSC.js";import{u as Ie}from"./chunk.HHUCPVG5.js";import"./chunk.OJGHDWI6.js";import"./chunk.WXYUWBKX.js";import{g as Ce}from"./chunk.NSNGPQGT.js";import"./chunk.H5CZZZLX.js";import{c as Me}from"./chunk.Z7JRBKA7.js";import{m as He}from"./chunk.ORXFUK6F.js";import{Da as Te,G as tt,R as Se,_ as N,h as xe,u as ke,ua as Q,za as Ae}from"./chunk.BTSXYZ6Z.js";import"./chunk.SDO3U72B.js";import{Xb as ye,Yb as we,ja as K,ka as W,tc as be,ub as ve}from"./chunk.5ZMENPY4.js";import{b as G}from"./chunk.AJZBJBMO.js";var o=G(tt(),1);var t=G(Se(),1);function mt(d,r,a){let p=r.on??r.about[r.about.length-1];$e(d,r.about,{...a,pins:J(),...p===void 0?{}:{focus:p}})}function ft({placement:d="float",chosen:r=!0}={}){let{menuAt:a}=N();return d==="menu"&&a===null?r?(0,t.jsx)(nt,{}):null:(0,t.jsx)(it,{placement:d})}function nt(){let{store:d,setMenuAt:r,view:a}=N(),{selection:p}=Q(),h=(0,o.useRef)(null),[H,v]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{let b=h.current?.offsetParent??h.current?.parentElement;if(!b)return;let m=Math.round(b.getBoundingClientRect().width);m!==H&&v(m)});let y=p.length===1&&!a.overview?d.graph.getNode(p[0]):void 0;return!y||H===null||H>=De?(0,t.jsx)("span",{ref:h,hidden:!0}):(0,t.jsx)("button",{type:"button",ref:h,"data-testid":"chosen-acts","aria-label":`What can be done with ${k(d,y.id)}`,"aria-haspopup":"menu",onClick:b=>{let m=b.currentTarget.getBoundingClientRect();r({x:Math.round(m.right),y:Math.round(m.bottom+4),on:y.id})},style:{position:"absolute",right:"calc(14px + var(--graview-dock, 0px))",top:98,zIndex:"var(--graview-layer-overview, 10)",minHeight:30,padding:"0 12px",borderRadius:8,fontSize:"0.8125rem",background:"var(--graview-float)",boxShadow:"var(--graview-lift-low)"},children:"Acts\u2026"})}var De=564;function it({placement:d}){let{store:r,menuAt:a,setMenuAt:p,view:h,signIn:H}=N(),v=(0,o.useRef)(null),y=(0,o.useRef)(null),b=(0,o.useRef)(null),m=(0,o.useRef)(null);a?.returnTo&&(m.current=a.returnTo);let Oe=e=>{let i=e.closest("[data-graview-asking]")?.getAttribute("data-graview-asking"),n=e.getAttribute("data-pin-for"),g=i??e.getAttribute("data-affordance")??(n===null?null:`pin:${n}`)??e.getAttribute("data-menu-item");y.current=g===null?null:{key:g,element:e}};(0,o.useEffect)(()=>{let e=v.current,i=y.current;if(i===null||document.activeElement!==document.body||i.element.isConnected)return;let n=i.key;if(!e){y.current=null;let I=m.current;m.current=null,(I?.isConnected?I:b.current)?.focus();return}((n.startsWith("pin:")?e.querySelector(`[data-pin-for="${CSS.escape(n.slice(4))}"]`):null)??e.querySelector(`[data-affordance="${CSS.escape(n)}"]:not([disabled])`)??e).focus()});let[Fe,qe]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{let e=v.current?.offsetParent??v.current?.parentElement;if(e instanceof HTMLElement&&(b.current=e),!e)return;let i=e.getBoundingClientRect();qe(n=>n&&n.left===i.left&&n.top===i.top&&n.width===i.width&&n.height===i.height?n:{left:i.left,top:i.top,width:i.width,height:i.height})});let{selection:Be,set:je,clear:_e}=Q(),s=a?.about??Be,[D,Ue]=(0,o.useState)(()=>J()),O=a?.on??s[s.length-1],F=a?.about,Ve=(0,o.useMemo)(()=>({pins:D,...O===void 0?{}:{focus:O},...F?{about:F}:{}}),[D,O,F]),Ye=(0,o.useMemo)(()=>new Set(r.allMutations().filter(e=>e.pinned).map(e=>e.name)),[r]),{affordances:c,withheld:X,observations:Z}=Re(Ve),M=we(X,H),f=M?rt:X,Ge=a===null?null:{face:a.face??"scene",on:a.on,about:s,field:a.field,place:a.place,href:a.href,act:a.act,element:a.returnTo},ee=Ie(Ge),te=Z.some(e=>e.id.startsWith("schema:waits:")),{apply:Ke,preview:Qe}=Le(),[C,z]=(0,o.useState)(null),[Je,ne]=(0,o.useState)(!1),[ie,re]=(0,o.useState)(!1),[P,$]=(0,o.useState)(""),[ae,q]=(0,o.useState)(null),B=(0,o.useRef)([]),j=(e,i)=>{try{return Qe(e,i),Ke(e,i),q(null),p(null),B.current=[],!0}catch(n){return q(Ce(r.schema,r.allMutations(),n)),B.current=n instanceof ve?n.issues.map(g=>String(g.path[0]??"")).filter(Boolean):[],!1}},R=[...new Set(s.flatMap(e=>{let i=r.graph.getNode(e);return i?[i.kind]:[]}))],x=R.length>0?R:[...new Set(s.flatMap(e=>ke(e)))],u=s.length===1?xe(s[0]):null,_=u?{from:r.graph.getNode(u.from),to:r.graph.getNode(u.to)}:null,oe=u?Ee(r,u):void 0,le=oe?.provisional?oe:void 0,se=u?(()=>{let e=r.schema.tryDefinition(r.graph.getNode(u.from)?.kind??"")?.edges?.[u.kind],i=r.graph.getNode(u.to);return e?.inverse&&i?`From ${k(r,i.id)}: ${e.inverse}`:null})():null;(0,o.useEffect)(()=>{z(null),ne(!1),re(!1),q(null),$("")},[s,a?.about]);let l=a!==null,Xe=d==="menu"&&!l,S=(0,o.useRef)(a);S.current=a;let de=Te("acts",{open:l&&d==="menu",onOpenChange:e=>{e||p(null)},at:()=>S.current?{x:S.current.x,y:S.current.y}:null,returnTo:()=>{let e=S.current?.returnTo;if(e?.isConnected)return e;let i=S.current?.on;return i?document.querySelector(`[data-graview-view="${CSS.escape(i)}"]`):null},align:"start"}),ue=(Fe?.width??Number.POSITIVE_INFINITY)<De;if((0,o.useLayoutEffect)(()=>{let e=v.current?.offsetParent;if(!e||!ue||l)return;let i=v.current?.getBoundingClientRect().height??0,n=`${Math.round(i)+20}px`;if(e.style.paddingBottom===n)return;let g=e.style.paddingBottom;return e.style.paddingBottom=n,()=>{e.style.paddingBottom=g}}),s.length===0&&!l)return null;let pe=a?.title!==void 0||s.length>0&&!(s.length===1&&s[0]===h.focusId),ce=Math.max(1,Math.min(9,c.length)),A=[...c.filter(e=>e.provider==="invariant"&&!e.destructive),...c.filter(e=>e.pinned&&e.provider!=="invariant"&&!e.destructive),...c.filter(e=>!e.ties&&!e.destructive&&!e.pinned&&e.provider!=="invariant"),...c.filter(e=>e.ties&&!e.destructive&&!e.pinned&&e.provider!=="invariant"),...c.filter(e=>e.destructive)],ge=A.length>ce&&!l,he=P.trim().toLowerCase(),w=ge&&he.length>0?A.filter(e=>`${e.label} ${e.why}`.toLowerCase().includes(he)):null,U=w??(Je||l?A:A.slice(0,ce)),me=w?0:A.length-U.length,L=[];for(let e of U){let i=!l&&e.provider==="invariant",n=!l&&!i&&e.pinned!==void 0&&!e.destructive,g=!l&&!i&&!n&&e.ties===!0&&!e.destructive,I=i?e.why:n?"pinned":g?"its ties":null,et=i?"violation":n||g?"ties":null,Y=L[L.length-1];Y&&Y.heading===I?Y.items.push(e):L.push({heading:I,tone:et,items:[e]})}let V=c.find(e=>e.id===C),E=s.length===1?k(r,s[0]):null,fe=e=>{if(!E)return e;let i=e.startsWith(`"${E}"`)?e.slice(E.length+2):e.startsWith(E)?e.slice(E.length):null;if(i===null)return e;let n=i.trimStart();return n.length===0?e:n[0].toUpperCase()+n.slice(1)},Ze=new Set(l?[]:U.filter(e=>e.provider==="invariant").map(e=>e.why)),T=Z.filter(e=>!Ze.has(e.text)).map(e=>({...e,text:fe(e.text)}));return Xe?null:(0,t.jsxs)("section",{...l?de.pane:{},ref:e=>{v.current=e,l&&de.pane.ref(e)},"aria-label":"Inspector","data-graview-offstage":"","data-testid":l?"context-menu":"inspector-strip",tabIndex:-1,onFocus:e=>Oe(e.target),onBlur:e=>{e.relatedTarget!==null&&(y.current=null)},onMouseDown:e=>e.stopPropagation(),style:{...l?Ae:{position:"absolute",zIndex:be("rail")},boxSizing:"border-box",display:"flex",flexDirection:"column",gap:7,padding:"9px 12px",borderRadius:"var(--graview-radius, 12px)",border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",...l?{width:300,maxHeight:"min(52cqh, 420px)",overflow:"auto"}:ue?{left:10,right:10,width:"auto",bottom:10,maxHeight:"min(42cqh, 300px)",overflow:"auto"}:{left:14,top:h.overview?"min(296px, 38cqh)":44,width:236,maxHeight:h.overview?"calc(100cqh - min(296px, 38cqh) - 20px)":"calc(68cqh - 94px)",overflow:"auto"}},children:[(0,t.jsx)("h2",{style:{...He,margin:0},children:"Inspector"}),(0,t.jsxs)("div",{style:{display:pe||!l?"flex":"none",alignItems:"baseline",flexWrap:"wrap",gap:"2px 8px",minWidth:0,paddingRight:l?0:24},children:[pe?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("strong",{style:{fontSize:"0.9375rem",whiteSpace:"nowrap"},children:a?.title??(s.length===1?k(r,s[0]):`${s.length} selected`)}),R.length>0||u?(0,t.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",whiteSpace:"nowrap"},children:u?"relation":R.map(e=>W(r.schema.tryDefinition(e),e)).join(" \xB7 ")}):null,s.length===1&&!u&&a?.face!=="pages"?(0,t.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",whiteSpace:"nowrap"},children:h.expanded.includes(s[0])?"\xB7 double-click closes":"\xB7 double-click opens"}):null]}):null,(0,t.jsx)("span",{style:{flex:"1 1 auto"}})]}),l?null:(0,t.jsx)("button",{type:"button",onClick:()=>{p(null),_e()},"aria-label":"Clear selection",title:"Clear selection",style:{position:"absolute",top:6,right:6,flex:"0 0 auto",width:24,height:24,display:"grid",placeItems:"center",padding:0,fontSize:"0.875rem",lineHeight:1,borderRadius:7},children:"\xD7"}),u&&_?(0,t.jsxs)("div",{style:{display:"grid",gap:6},children:[se?(0,t.jsx)("p",{"data-testid":"edge-said",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:se}):null,le?(0,t.jsx)("p",{"data-testid":"edge-provisional",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:ze(le)}):null,(0,t.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[["from",_.from],["to",_.to]].map(([e,i],n)=>(0,t.jsxs)(o.Fragment,{children:[n===1?(0,t.jsx)("span",{"aria-hidden":"true",style:{color:"var(--graview-ink-faint)"},children:"\u2192"}):null,i?(0,t.jsx)("button",{type:"button","data-testid":`edge-${e}`,onClick:()=>je([i.id]),title:`Select ${k(r,i.id)}`,style:{fontSize:"0.8125rem",padding:"3px 9px",borderRadius:6},children:k(r,i.id)}):(0,t.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:"gone"})]},e))})]}):null,!u&&s.length===1&&ye(r,s[0])?(0,t.jsx)("p",{"data-testid":"left-alone",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:"Left alone: nothing automated changes it."}):null,T.length>0?(0,t.jsx)("div",{"data-testid":"observations",title:T.map(e=>e.text).join(`
|
|
2
|
-
`),style:{display:"grid",gap:3},children:T.slice(0,2).map(e=>(0,t.jsxs)("p",{style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:[e.text,e===T[1]&&T.length>2?(0,t.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" +",T.length-2]}):null]},e.id))}):null,l?ee.start.map(e=>(0,t.jsx)(Ne,{section:e,close:()=>p(null)},e.id)):null,ae?(0,t.jsx)("p",{"data-testid":"refused",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-warn)"},children:ae}):null,ge?(0,t.jsx)("input",{"data-testid":"action-filter",value:P,onChange:e=>$(e.target.value),placeholder:`Filter ${A.length} actions\u2026`,"aria-label":"Filter actions",onKeyDown:e=>{if(e.key==="Escape"){e.stopPropagation(),P.length>0?$(""):e.currentTarget.blur();return}if(e.key==="Enter"&&w?.length===1){let i=w[0];if(i.destructive)return;i.open.length>0?z(i.id):j(i)&&$("")}},style:{font:"inherit",fontSize:"0.875rem",padding:"5px 9px",borderRadius:8,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)"}}):null,w!==null&&w.length===0?(0,t.jsxs)("p",{"data-testid":"no-matches",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:["Nothing offered here matches \u201C",P.trim(),"\u201D."]}):null,M&&c.length===0||c.length===0&&!te&&s.length===0?null:c.length===0&&!te?(0,t.jsx)("p",{"data-testid":"no-affordances",style:{margin:0,fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)"},children:f.length>0?`Nothing you may do with ${u?"this relation":x.length===1?K(W(r.schema.tryDefinition(x[0]),x[0])):"this mix of kinds"} \u2014 ${f.length} action${f.length===1?"":"s"} withheld.`:u?`Nothing can be done with this line yet \u2014 nothing this app declares makes or breaks \u201C${Me(r.schema,r.graph.getNode(u.from)?.kind??"",u.kind,"out")}\u201D.`:`Nothing can be done with ${x.length===1?K(W(r.schema.tryDefinition(x[0]),x[0])):"this mix of kinds"} yet \u2014 nothing this app declares acts on ${x.length===1?"it":"them"}.`}):(0,t.jsxs)("ol",{"data-testid":"affordances",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexDirection:"column",flexWrap:"nowrap",gap:2},children:[L.map((e,i)=>(0,t.jsxs)(o.Fragment,{children:[e.heading?(0,t.jsxs)("li",{"data-graview-heading":e.tone,style:{fontSize:"0.75rem",lineHeight:1.4,color:e.tone==="violation"?"var(--graview-warn)":"var(--graview-ink-faint)",...e.tone!=="violation"?{letterSpacing:"0.12em",textTransform:"uppercase",fontSize:"0.75rem"}:{},padding:"2px 2px 1px",marginTop:i>0?6:0},children:[e.tone==="violation"?"\u26A0 ":"",e.tone==="violation"?fe(e.heading):e.heading]}):i>0?(0,t.jsx)("li",{"aria-hidden":"true",style:{borderTop:"1px solid var(--graview-edge)",margin:"6px 0 3px"}}):null,e.items.map(n=>(0,t.jsxs)("li",{style:{display:"flex",gap:2,alignItems:"stretch"},children:[(0,t.jsxs)("button",{type:"button","data-affordance":n.id,"data-rank":n.rank,"data-graview-destructive":n.destructive||void 0,"aria-pressed":C===n.id,title:n.why,style:{padding:"5px 10px",fontSize:"0.875rem",borderRadius:8,width:"100%",textAlign:"left",borderWidth:1,borderStyle:"solid",borderColor:C===n.id?"var(--graview-accent)":l?"transparent":"var(--graview-edge)",background:l?"none":"var(--graview-panel)",boxShadow:"none",...n.destructive?{color:"var(--graview-warn)"}:{},...C===n.id?{color:"var(--graview-accent)"}:{}},onClick:()=>{if(n.open.length>0){z(C===n.id?null:n.id);return}j(n)},children:[n.label,n.open.length>0?(0,t.jsx)("span",{style:{color:"var(--graview-ink-faint)"},children:" \u2026"}):null,w?.length===1&&w[0]?.id===n.id&&!n.destructive?(0,t.jsx)("span",{"aria-hidden":"true",title:"Enter runs it",style:{float:"right",color:"var(--graview-ink-faint)",fontSize:"0.75rem"},children:"\u21B5"}):null]}),(0,t.jsx)("button",{type:"button","data-testid":"pin-toggle","data-pin-for":n.mutation,"aria-pressed":n.pinned!==void 0,"aria-label":n.pinned!==void 0?`Unpin ${n.label}`:`Pin ${n.label}`,title:n.pinned==="declared"?"Pinned by the app \u2014 unpin it for yourself":n.pinned==="user"?"Unpin":"Pin to the top",onClick:()=>Ue(We(D,n.mutation,Ye.has(n.mutation))),style:{flex:"0 0 auto",width:24,minHeight:24,display:"grid",placeItems:"center",padding:0,fontSize:"0.75rem",border:"1px solid transparent",background:"none",boxShadow:"none",borderRadius:7,color:n.pinned==="user"?"var(--graview-accent)":n.pinned==="declared"?"var(--graview-ink-muted)":"var(--graview-ink-faint)"},children:n.pinned!==void 0?"\u2605":"\u2606"})]},n.id))]},`${e.heading??"plain"}-${i}`)),me>0?(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>ne(!0),title:`Show all ${c.length} actions`,style:{padding:"4px 10px",fontSize:"0.875rem",borderRadius:8},children:["Show ",me," more"]})}):null]}),M?(0,t.jsx)("button",{type:"button","data-testid":"sign-in",onClick:()=>{p(null),M.run()},style:{padding:"5px 10px",fontSize:"0.875rem",borderRadius:8,width:"100%",textAlign:"left"},children:M.label}):null,f.length>0?(0,t.jsxs)("ul",{"data-testid":"withheld",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexDirection:"column",flexWrap:"nowrap",gap:2},children:[f.slice(0,l||ie?f.length:3).map(e=>(0,t.jsxs)("li",{style:{display:"grid",gap:2},children:[(0,t.jsx)("button",{type:"button",disabled:!0,"data-affordance":e.id,"data-rank":e.rank,"data-withheld":e.refusal.wouldNeed.join(",")||"nobody",style:{padding:"4px 10px",fontSize:"0.875rem",borderRadius:8,borderStyle:"dashed",width:"100%",textAlign:"left",background:"none"},children:(0,t.jsx)("s",{children:e.label})}),(0,t.jsx)("span",{"data-testid":"withheld-why",style:{fontSize:"0.8125rem",lineHeight:1.4,color:"var(--graview-ink-muted)",padding:"0 10px"},children:e.refusal.message})]},e.id)),!l&&!ie&&f.length>3?(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button","data-testid":"withheld-more",onClick:()=>re(!0),title:`Show all ${f.length} actions this seat may not take`,style:{padding:"4px 10px",fontSize:"0.875rem",borderRadius:8},children:["Show ",f.length-3," more withheld"]})}):null]}):null,l?ee.end.map(e=>(0,t.jsx)(Ne,{section:e,close:()=>p(null)},e.id)):null,V?(0,t.jsx)(Pe,{affordance:V,onApply:e=>{if(j(V,e))z(null);else return B.current},onCancel:()=>z(null)}):null]})}var rt=[];function Ne({section:d,close:r}){return(0,t.jsxs)("div",{"data-menu-section":d.id,...d.heading?{role:"group","aria-label":d.heading}:{},style:{display:"grid",gap:2,borderTop:"1px solid var(--graview-edge)",paddingTop:5},children:[d.heading?(0,t.jsx)("p",{"aria-hidden":"true",style:{margin:0,padding:"2px 2px 1px",fontSize:"0.75rem",lineHeight:1.4,letterSpacing:"0.12em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:d.heading}):null,d.items&&d.items.length>0?(0,t.jsx)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexDirection:"column",gap:2},children:d.items.map(a=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button","data-menu-item":a.id,onClick:()=>{r(),a.run()},style:{padding:"5px 10px",fontSize:"0.875rem",borderRadius:8,width:"100%",textAlign:"left",borderWidth:1,borderStyle:"solid",borderColor:"transparent",background:"none",boxShadow:"none"},children:[a.label,a.hint?(0,t.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",a.hint]}):null]})},a.id))}):null,d.render?.(r)]})}export{ft as InspectorPane,mt as prepareActs};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{K as M,M as H,rb as N}from"./chunk.5ZMENPY4.js";var F=()=>(__graviewPreload(import.meta.url,["./chunk.M5QFUGGG.js","./chunk.PXQVXBNG.js","./chunk.5ZMENPY4.js","./chunk.AJZBJBMO.js"]),import("./chunk.AYHCQWSU.js"));function D(n,u,c){let d=new Map;for(let k of c?.kinds??[])for(let a of n.nodesOfKind(k))u.has(a.id)||d.set(a.id,a);let o=new Set([...u,...d.keys()]),p=new Set(c?.edges??[]),h=[];if(p.size>0)for(let k of o)for(let a of n.outEdges(k))p.has(a.kind)&&o.has(a.to)&&h.push({kind:a.kind,from:a.from,to:a.to});return{nodes:[...d.values()],edges:h}}function L(n,u,c){let d=[];return()=>{let o=c();for(;d.length>0&&d[0]<=o-u;)d.shift();return d.length>=n?!1:(d.push(o),!0)}}function z(n={},u=Date.now){return{act:L(n.acts??30,n.actWindowMs??6e4,u),message:L(n.messages??120,n.messageWindowMs??1e3,u)}}var R=n=>typeof n=="object"&&n!==null&&!Array.isArray(n);function K(n,u){let c=structuredClone(u),d=n.schema.tryDefinition(c.kind),o=c.label;return{...c,label:d?.label?d.label(c):typeof o=="string"&&o.length>0?o:c.id}}function J(n){let u=n.limiter??z(n.limits,n.now),c=n.limits?.maxHeight??4e3,d=`view:${n.view}`,o={applied:0,refused:0,dropped:0},p=()=>n.store.seenBy(n.principal),h=e=>K(n.store,e),k=()=>{if(n.props)return n.props();let e=p(),t=e.graph,r=n.input?.()??{},y=r.node?t.getNode(r.node.id):void 0,i=r.nodes?.flatMap(s=>{let g=t.getNode(s.id);return g?[g]:[]}),f=new Set([...y?[y.id]:[],...(i??[]).map(s=>s.id)]),l=[];for(let s of f)for(let g of t.outEdges(s))f.has(g.to)&&l.push({kind:g.kind,from:g.from,to:g.to});let m=D(t,f,n.reads),v=new Set(l.map(s=>`${s.kind} ${s.from} ${s.to}`));for(let s of m.edges)v.has(`${s.kind} ${s.from} ${s.to}`)||l.push(s);let P=m.nodes.length>0?[...i??[],...m.nodes]:i,x=s=>s?.filter(g=>t.has(g)),T=e.permittedMutations(n.principal).map(s=>({name:s.name,title:s.title??s.name,...s.description!==void 0?{description:s.description}:{},...s.subject?{subject:{kinds:s.subject.kinds,arg:s.subject.arg}}:{}}));return{view:n.view,...y?{node:h(y)}:{},...P?{nodes:P.map(h)}:{},edges:l,...r.label!==void 0?{label:r.label}:{},...r.fidelity!==void 0?{fidelity:r.fidelity}:{},...r.cardinality!==void 0?{cardinality:r.cardinality}:{},...r.mode!==void 0?{mode:r.mode}:{},...r.selected!==void 0?{selected:r.selected}:{},...r.implicated?{implicated:x(r.implicated)}:{},...r.flagged?{flagged:x(r.flagged)}:{},acts:T,...n.theme?{theme:n.theme()}:{},locale:M(),timeZone:H(),...n.placesShown?{places:n.placesShown().map(({as:s,title:g,kind:$})=>({as:s,title:g,kind:$}))}:{}}},a=!1,S=0,A=()=>{if(a)return;S+=1;let e=k();n.send({type:"props",props:n.hand?n.hand(e):e,push:S})},G=!1,j=n.store.subscribe(()=>{G||(G=!0,queueMicrotask(()=>{G=!1,A()}))}),w=(e,t)=>(o.refused+=1,{ok:!1,reason:e,message:t}),E=(e,t,r)=>b([{name:e,args:t}],r),b=(e,t,r)=>{if(!u.act())return w("rate-limited","Too many acts asked for at once; this one was not applied.");let y=[];for(let{name:i,args:f}of e){if(t){let l=t(i,f);if(!l.ok)return w(l.reason,l.message);i=l.name,f=l.args}if(!n.store.allMutations().some(l=>l.name===i))return w("unknown-act","There is no act by that name here.");y.push({name:i,args:f})}try{let i=n.store.applyAll(y,{author:n.principal,via:d,...r?{intent:r}:{}});return o.applied+=1,{ok:!0,intent:i.intent}}catch(i){return i instanceof N?w("refused",i.refusal.message):w("failed","The act could not be applied.")}},O=(e,t,r)=>{let y=Array.isArray(r);if(typeof t!="string"||(y?r.length===0||r.length>100||!r.every(R):!R(r)))return o.refused+=1,n.send({type:"answer",id:e,ok:!1,reason:"malformed",message:"An act is asked for by name, with its arguments as an object, or a list of 1 to 100 of them for several as one change."});let i=b((y?r:[r]).map(f=>({name:t,args:f})),n.judgeAct);n.send(i.ok?{type:"answer",id:e,ok:!0,intent:i.intent}:{type:"answer",id:e,ok:!1,reason:i.reason,message:i.message})};return{receive(e){if(!a){if(!u.message()){o.dropped+=1,n.onFlood?.();return}if(!R(e)||e.nonce!==n.nonce){o.dropped+=1;return}if(e.type==="act"&&(typeof e.id=="string"||typeof e.id=="number"))return O(e.id,e.name,e.args);if(e.type==="navigate"&&n.onArrive&&(typeof e.place=="string"||typeof e.to=="string")){let t={...e.where!==void 0?{where:e.where}:{},...e.section!==void 0?{section:e.section}:{}},r=typeof e.place=="string"?{place:e.place,...t}:{record:e.to,...t},y=n.onArrive;F().then(({judgeDestination:i,listsOf:f})=>{if(a)return;let l=new Set([...n.store.kindsKeptFrom(n.principal),...n.store.modules.disabledKinds]),m=i(r,{sees:v=>p().graph.has(v),places:n.placesShown?.()??[],lists:f(n.store.schema,l),schema:n.store.schema});m.ok?y(m.arrival):(o.dropped+=1,n.onLost?.(m.says))});return}if(e.type==="navigate"&&typeof e.place=="string"){n.places?.().includes(e.place)?n.onNavigatePlace?.(e.place):o.dropped+=1;return}if(e.type==="navigate"&&typeof e.to=="string"){p().graph.has(e.to)?n.onNavigate?.(e.to):o.dropped+=1;return}if(e.type==="render"&&Array.isArray(e.records)&&n.onRender){n.onRender(e.records);return}if(e.type==="style"&&typeof e.css=="string"&&n.onStyle){n.onStyle(e.css);return}if(e.type==="hears"&&Array.isArray(e.events)&&n.onHears){n.onHears(e.events.filter(t=>typeof t=="string").slice(0,20));return}if(e.type==="pushed"&&typeof e.push=="number"&&typeof e.ms=="number"&&n.onPushed){n.onPushed(e.push,e.ms);return}if(e.type==="size"&&typeof e.height=="number"&&Number.isFinite(e.height)){n.onSize?.(Math.max(0,Math.min(c,Math.round(e.height))));return}o.dropped+=1}},push:A,pressed(e){return a?{ok:!1,reason:"refused",message:"The view has gone."}:e.ok?E(e.name,e.args):(o.refused+=1,e)},change(e,t){return a?{ok:!1,reason:"refused",message:"The view has gone."}:b(e,void 0,t)},get stats(){return o},dispose(){a=!0,j()}}}export{D as a,z as b,K as c,J as d};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import{a as zt,b as Bt,c as It,d as In}from"./chunk.QEXXLWEU.js";import{a as Dt}from"./chunk.BEC5ZH2L.js";import{a as zn,b as Rt,c as Bn,d as Et,e as Mt,f as Lt}from"./chunk.SK33IHL2.js";import{c as Wt,g as Ht,h as Vt}from"./chunk.6HBEYRJU.js";import{e as Ct}from"./chunk.C6X7CKU6.js";import{a as Tt,b as dn,c as Pt,d as Nt}from"./chunk.FILCNVGH.js";import{b as wt,c as de,d as be,e as Pe}from"./chunk.ZTMDU3OH.js";import{m as At}from"./chunk.GXKECZ4S.js";import{a as Ot,b as $t}from"./chunk.6XU2CXRZ.js";import{f as St,h as kt}from"./chunk.3ZNQ5YKX.js";import{e as xt}from"./chunk.7EFNLMKU.js";import{e as vt}from"./chunk.KJNUZYXS.js";import{l as bt,m as Dn}from"./chunk.HHUCPVG5.js";import{m as Pn,n as Nn}from"./chunk.NSNGPQGT.js";import{k as je,m as yt}from"./chunk.ORXFUK6F.js";import{G as Ne,R as ee,T as pt,_ as ae,aa as ft,l as Ze,va as ht,wa as en}from"./chunk.BTSXYZ6Z.js";import{$c as mt,Fc as Tn,Ma as lt,Nb as ut,Qa as st,Ra as dt,Sa as ct,U as tt,V as rt,W as En,X as at,Y as Je,Zb as fe,aa as Ve,ba as ve,ea as Ge,fa as ln,ga as it,ia as Mn,ja as ot,ka as sn,lb as Ln,mc as Xe,nc as gt,sc as Ae}from"./chunk.5ZMENPY4.js";import{b as Y}from"./chunk.AJZBJBMO.js";var Wn=Y(ee(),1);function De(e,t,n){let r=e.nodes?.length??0;if(e.total===void 0||e.total<=r)return n;let a=e.nodes?.[0]?.kind,i=a?ln(t,a).toLowerCase():"more";return(0,Wn.jsxs)("div",{style:{display:"grid",gridTemplateRows:"minmax(0, 1fr) auto",height:"100%",minHeight:0},children:[n,(0,Wn.jsxs)("p",{"data-testid":"lens-more",style:{margin:"4px 0 0",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:["+",e.total-r," more ",i]})]})}var Gt=Y(ee(),1),Nr=(e,t)=>{if(e===!1||t===!1)return!1;let n=e===void 0||e===!0?{}:e,r=t===void 0||t===!0?{}:t;return{sort:n.sort!==!1&&r.sort!==!1,filter:n.filter!==!1&&r.filter!==!1,group:n.group!==!1&&r.group!==!1}},Dr=["sort","filter","group","q","archived"];function Re(e,t={}){let{store:n}=ae(),{view:r,go:a}=en(),s=Dr.some(E=>r.within?.[E]!==void 0)?Ot(r):t.arrangedBy??{},p=e.nodes??[],g=t.kind??p[0]?.kind??e.node?.kind,b=s.archived!==void 0&&s.archived!==!1&&g!==void 0&&!t.subject?n.graph.nodesOfKind(g,{archived:s.archived}):p,d=t.subject??(t.only?b.filter(t.only):b),h=t.subject?[]:t.only?b.filter(E=>!t.only(E)):[],f=t.kind??d[0]?.kind,l=Nr(t.allow,t.lensAllows),c=f?xt(n.schema,String(f)):void 0,S=c?St(s,c).arrangement:{},u=kt(d,l===!1?{}:S,{schema:n.schema,graph:n.graph,flagged:new Set(e.flagged??[]),...t.search?{searchIn:t.search}:{}}),x=e.retired!==void 0&&e.retired>0&&(p[0]?.kind??f)===f?e.retired:0,A=f&&l!==!1&&e.fidelity==="full"&&e.budget===void 0&&(d.length>1||x>0)?(0,Gt.jsx)(At,{schema:n.schema,graph:n.graph,kind:String(f),arrangement:S,allow:l,query:t.query!==!1,...t.filters?{filters:t.filters,chips:{nodes:d,flagged:new Set(e.flagged??[])}}:{},onChange:E=>a($t(r,E)),kept:{shown:u.nodes.length,of:d.length},...x>0?{past:{count:x,widen:()=>a(Ct(r,!0))}}:{}}):null;return{nodes:[...h,...u.nodes],arranged:u,arrangement:S,bar:A}}function qe(e,t,n){let r=new Set((n??[]).map(i=>i.kind)),a=new Set((n??[]).map(i=>i.id));return e.allNodes().filter(i=>r.has(i.kind)?a.has(i.id):Ve(t.tryDefinition(i.kind),i))}var ze=Y(Ne(),1);var j=Y(ee(),1),zr=["slots","x","y","fill"],cn=class extends Error{constructor(n,r){super(`${n}
|
|
2
|
-
${r}`);this.hint=r;this.name="BoardBindingError"}},jt=e=>Math.max(0,Math.min(1,e));function Hn(e,t,n,r){let a=c=>c,i=c=>r?ve(r.tryDefinition(c.kind),c):String(a(c).label??c.id);if(r&&r.tryDefinition(n.slots)===void 0)throw new cn(`No kind is declared for "${n.slots}".`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let s=e.filter(c=>c.kind===n.slots);if(!r&&s.length===0)throw new cn(`Nothing to arrange: no "${n.slots}" nodes.`,'Check the lens bindings: { slots: "<kind>", x: "<field>", y: "<field>", fill: "<edge kind>" }');let p=t.filter(c=>c.kind===n.fill),g=new Map(e.map(c=>[c.id,c])),b=new Map(e.map((c,S)=>[c.id,S])),d=s.map(c=>{let S=a(c),u=n.fillFrom==="occupant",x=p.filter(A=>(u?A.to:A.from)===c.id).map(A=>g.get(u?A.from:A.to)).filter(A=>A!==void 0).sort((A,E)=>(b.get(A.id)??0)-(b.get(E.id)??0)).map(A=>({id:A.id,label:i(A)}));return{id:c.id,code:String(S[n.slotCode??""]??"").trim()||i(c),label:i(c),x:jt(Number(S[n.x]??.5)),y:jt(Number(S[n.y]??.5)),occupants:x}}).sort((c,S)=>c.y-S.y||c.x-S.x),h=new Set(d.flatMap(c=>c.occupants.map(S=>S.id))),f=new Set([...h].map(c=>g.get(c)?.kind).filter(c=>c!==void 0)),l=e.filter(c=>f.has(c.kind)&&!h.has(c.id)).map(c=>({id:c.id,label:i(c)})).sort((c,S)=>c.label<S.label?-1:c.label>S.label?1:0);return{slots:d,empty:d.filter(c=>c.occupants.length===0).map(c=>c.id),spare:l}}function Br({nodes:e,occupants:t,label:n,fidelity:r,mode:a,options:i,schema:s,implicated:p=[],flagged:g=[]}){let{store:b}=ae(),d=qe(b.graph,b.schema,e),h=t?[...d.filter(o=>o.kind===i.slots),...t.map(o=>b.graph.getNode(o)).filter(o=>o!==void 0)]:d,f=Hn(h,b.graph.allEdges(),i,s),l=new Set(p),c=new Set(g),S=ht(),u=new Map;for(let o of S)for(let O of o.nodeIds)u.set(O,[...u.get(O)??[],o.message]);let x=o=>o?u.get(o)??[]:[];if(r==="glyph")return(0,j.jsx)(be,{label:`${n??"Board"} \xB7 ${f.slots.length-f.empty.length}/${f.slots.length}`,hue:fe("board")});if(r==="summary"){let o=f.slots.filter(O=>f.empty.includes(O.id));return(0,j.jsx)(de,{title:n??"Board",meta:`${f.slots.length-f.empty.length}/${f.slots.length}`,tone:o.length>0?"warning":"muted",fit:!0,children:o.length>0?(0,j.jsx)(Pe,{pick:!0,max:5,items:o.map(O=>({id:O.id,label:O.code}))}):(0,j.jsx)("span",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:"Every slot filled."})})}let A=i.aspect??.68,E=(0,ze.useRef)(null),[z,w]=(0,ze.useState)(!1),[C,m]=(0,ze.useState)(null),M=160,[D,H]=(0,ze.useState)(!1);(0,ze.useEffect)(()=>{let o=E.current;if(!o||typeof ResizeObserver>"u")return;let O=new ResizeObserver(P=>{let N=P[0]?.contentRect;if(!N)return;let y=N.height<M;H(y),w(!y&&A<1&&N.width/N.height>1.3),m(y?null:N.height)});return O.observe(o),()=>O.disconnect()},[A]);let k=(o,O)=>z?{x:1-O,y:o}:{x:o,y:O},F=(()=>{let o=new Map,O=(P,N,y)=>{let $=o.get(y)??{ids:[],codes:[]};$.ids.includes(P)||($.ids.push(P),$.codes.includes(N)||$.codes.push(N)),o.set(y,$)};for(let P of f.slots){for(let N of x(P.id))O(P.id,P.code,N);for(let N of P.occupants)for(let y of x(N.id))O(N.id,N.label,y)}return[...o.entries()].map(([P,N])=>({id:N.ids[0],code:N.codes.join(", "),text:P}))})(),T=a==="fullscreen",Q=F.length===0?null:(0,j.jsxs)("ul",{"data-graview-primitive":"board-key",style:{margin:"2px 0 0",padding:0,listStyle:"none",display:"grid",gap:3,flex:"0 0 auto"},children:[F.slice(0,T?6:2).map(o=>(0,j.jsxs)("li",{"data-graview-pick":o.id,"data-graview-emphasis":l.size===0?"plain":l.has(o.id)?"lit":"dimmed",title:o.text,style:{display:T?"grid":"flex",gap:T?1:7,alignItems:T?"start":"baseline",fontSize:"0.8125rem",lineHeight:1.45,color:"var(--graview-ink-muted)",minHeight:24,width:"fit-content",maxWidth:"100%",padding:T?"2px 0":"3px 6px",marginLeft:T?0:-6,borderRadius:7,cursor:"pointer"},children:[(0,j.jsxs)("span",{style:{flex:"0 0 auto",fontWeight:600,color:"var(--graview-warn)",letterSpacing:"0.02em"},children:["\u26A0 ",o.code]}),(0,j.jsx)("span",{style:{minWidth:0,...T?{}:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},children:o.text})]},o.id)),F.length>(T?6:2)?(0,j.jsxs)("li",{style:{fontSize:"0.8125rem",color:"var(--graview-ink-faint)"},children:["+",F.length-(T?6:2)," more"]}):null]}),se=i.arrange==="shelf",oe=f.slots.every(o=>o.code.length<=3&&!/\s/.test(o.code)),J=(o,O)=>{let P=o.occupants.length===0,N=l.size>0&&!l.has(o.id)&&!o.occupants.some(G=>l.has(G.id)),y=c.has(o.id),$=o.occupants.some(G=>c.has(G.id)),L=y,K=[...x(o.id),...o.occupants.flatMap(G=>x(G.id))],Z=o.occupants.length===1?o.occupants[0]:null,le=i.pickTarget==="slot"?o.id:Z?Z.id:o.id,V=G=>Z?{}:{"data-graview-pick":G.id,"data-graview-emphasis":l.size===0?"plain":N?"dimmed":"lit"},he=G=>c.has(G.id)?"var(--graview-warn)":"var(--graview-ink-muted)",_=i.emptyLabel??"empty";return(0,j.jsxs)("div",{"data-graview-pick":le,"data-graview-slot":o.id,"data-graview-mark":oe?"disc":"token","data-graview-flagged":y&&$?"both":y?"slot":$?"occupant":void 0,"data-graview-emphasis":l.size===0?"plain":N?"dimmed":"lit",title:[P?`${o.label} \u2014 nobody in it`:`${o.occupants.map(G=>G.label).join(", ")} at ${o.label}`,...K].join(`
|
|
3
|
-
`),style:{...O,display:"grid",justifyItems:oe?"center":"start",gap:3,opacity:N?.5:1,transition:"opacity 160ms ease"},children:[oe?(0,j.jsxs)("span",{style:{position:"relative",width:34,height:34,borderRadius:999,display:"grid",placeItems:"center",fontSize:"0.75rem",letterSpacing:"0.02em",border:P?"1.5px dashed var(--graview-warn)":`1px solid ${L?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:P?"transparent":L?"var(--graview-panel-warning)":"var(--graview-panel)",color:P||L?"var(--graview-warn)":"var(--graview-ink)",boxShadow:P?void 0:"var(--graview-lift-low)"},children:[o.code,y&&!P?(0,j.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",top:-3,right:-3,fontSize:"0.6875rem",lineHeight:1,color:"var(--graview-warn)"},children:"\u26A0"}):null]}):(0,j.jsxs)("span",{style:{display:"grid",gap:1,minWidth:0,maxWidth:180,padding:"5px 10px 6px",borderRadius:8,border:P?"1.5px dashed var(--graview-warn)":`1px solid ${L?"var(--graview-warn)":"var(--graview-edge-bright)"}`,background:P?"transparent":L?"var(--graview-panel-warning)":"var(--graview-panel)",boxShadow:P?void 0:"var(--graview-lift-low)"},children:[(0,j.jsxs)("span",{style:{fontSize:"0.8125rem",fontWeight:550,lineHeight:1.25,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:P||L?"var(--graview-warn)":"var(--graview-ink)"},children:[o.code,y&&!P?" \u26A0":null]}),P?(0,j.jsx)("span",{style:{fontSize:"0.75rem",lineHeight:1.3,color:"var(--graview-warn)"},children:_}):(0,j.jsx)("span",{style:{display:"flex",flexWrap:"wrap",gap:"0 8px",fontSize:"0.75rem",lineHeight:1.3},children:o.occupants.map(G=>(0,j.jsxs)("span",{...V(G),style:{whiteSpace:"nowrap",color:he(G)},children:[G.label,c.has(G.id)?" \u26A0":""]},G.id))})]}),oe?P?(0,j.jsx)("span",{style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:"var(--graview-warn)"},children:_}):o.occupants.map(G=>(0,j.jsxs)("span",{...V(G),style:{fontSize:"0.75rem",whiteSpace:"nowrap",color:he(G)},children:[G.label,c.has(G.id)?" \u26A0":""]},G.id)):null]},o.id)},ce=i.zones??[],ue=ce.map((o,O)=>({label:o.label,slots:f.slots.filter(P=>P.y>=o.from&&(P.y<o.to||O===ce.length-1&&P.y<=o.to))})),W=new Set(ue.flatMap(o=>o.slots.map(O=>O.id))),R=f.slots.filter(o=>!W.has(o.id));(R.length>0||ue.length===0)&&ue.push({label:"",slots:R});let v={boxSizing:"border-box",borderRadius:12,border:"1px solid var(--graview-edge)",background:"linear-gradient(var(--graview-panel-muted), var(--graview-panel-muted)), var(--graview-panel)",overflow:"hidden"};return(0,j.jsxs)(de,{title:n??"Board",meta:f.slots.length===0?void 0:f.empty.length===0?`all ${f.slots.length} filled`:`${f.empty.length} unfilled`,...T?{style:{flex:"1 1 auto",minHeight:0,height:"100%"}}:{},children:[(0,j.jsxs)("div",{ref:E,style:{display:"flex",gap:28,alignItems:"stretch",justifyContent:"center",flex:"1 1 auto",minHeight:0},children:[T&&Q?(0,j.jsxs)("div",{style:{width:260,flex:"0 0 auto",alignSelf:"center",display:"grid",gap:8},children:[(0,j.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"What is marked"}),Q]}):null,se?(0,j.jsx)("div",{"data-graview-primitive":"board","data-graview-arrange":"shelf",style:{...v,overflow:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"stretch",display:"grid",alignContent:"start"},children:ue.map((o,O)=>(0,j.jsxs)("section",{"data-graview-zone":o.label||void 0,style:{display:"grid",gap:8,padding:"10px 14px 14px",...O>0?{borderTop:"1px dashed var(--graview-edge)"}:{}},children:[o.label?(0,j.jsx)("span",{style:{fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:o.label}):null,o.slots.length>0?(0,j.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"10px 12px",alignItems:"flex-start"},children:o.slots.map(P=>J(P,{}))}):(0,j.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"nothing here"})]},o.label||`band-${O}`))}):(0,j.jsxs)("div",{style:{display:"flex",gap:5,alignItems:"stretch",minWidth:0,...D?{flex:"1 1 auto",alignSelf:"flex-start"}:{}},children:[!z&&ce.length>0?(0,j.jsx)("div",{"aria-hidden":"true",style:{position:"relative",width:15,flex:"0 0 auto",alignSelf:"stretch"},children:ce.map(o=>(0,j.jsx)("span",{title:o.label,style:{position:"absolute",top:`${o.from*100}%`,height:`${(o.to-o.from)*100}%`,right:0,writingMode:"vertical-rl",transform:"rotate(180deg)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink-faint)"},children:o.label},o.label))}):null,(0,j.jsxs)("div",{"data-graview-primitive":"board","data-graview-arrange":"exact",style:{...v,position:"relative",aspectRatio:`${z?1/A:A}`,...D?{width:"100%",height:"auto",flex:"1 1 auto",minWidth:0,alignSelf:"flex-start"}:{height:"100%",flex:"0 1 auto",...C!==null?{width:Math.round(C*(z?1/A:A))}:{}},maxWidth:"100%"},children:[ce.map(o=>(0,j.jsx)("div",{"aria-hidden":"true",style:{position:"absolute",...z?{top:0,bottom:0,left:`${(1-o.to)*100}%`,width:`${(o.to-o.from)*100}%`,borderLeft:"1px dashed var(--graview-edge)"}:{left:0,right:0,top:`${o.from*100}%`,height:`${(o.to-o.from)*100}%`,borderBottom:"1px dashed var(--graview-edge)"}}},o.label)),z?ce.map(o=>(0,j.jsx)("span",{"aria-hidden":"true",title:o.label,style:{position:"absolute",bottom:3,left:`${(1-o.to)*100}%`,width:`${(o.to-o.from)*100}%`,textAlign:"center",fontSize:"0.6875rem",letterSpacing:"0.14em",textTransform:"uppercase",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"var(--graview-ink-faint)"},children:o.label},`label-${o.label}`)):null,f.slots.map(o=>J(o,{position:"absolute",left:`${k(o.x,o.y).x*100}%`,top:`${k(o.x,o.y).y*100}%`,transform:"translate(-50%, -50%)",width:"max-content",maxWidth:"100%"}))]})]}),f.spare.length>0?(0,j.jsxs)("div",{style:{display:"grid",gap:6,alignContent:"start",minWidth:0},children:[(0,j.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},children:"Not in"}),(0,j.jsx)(Pe,{pick:!0,max:10,items:f.spare.map(o=>({...o,emphasis:l.size===0?"plain":l.has(o.id)?"lit":"dimmed"}))})]}):null]}),T?null:Q]})}function qt(e){function t(n){let{store:r}=ae(),a=Hn(qe(r.graph,r.schema,n.nodes),r.graph.allEdges(),e,r.schema),s=[...a.slots.flatMap(d=>d.occupants.map(h=>h.id)),...a.spare.map(d=>d.id)].map(d=>r.graph.getNode(d)).filter(d=>d!==void 0),{arranged:p,bar:g}=Re(n,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{group:!1},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},subject:s}),b=(0,j.jsx)(Br,{schema:r.schema,...n,options:e,...e.arranging===!1?{}:{occupants:p.nodes.map(d=>d.id)}});return De(n,r.schema,g?(0,j.jsxs)("div",{style:{display:"grid",gap:6,height:"100%",minHeight:0,gridTemplateRows:"auto 1fr"},children:[g,b]}):b)}return{name:"board",requiredRoles:[...zr],options:e,View:t,build(n,r,a){return Hn(n,r,e,a)}}}var vn=Y(Ne(),1);var Ft=864e5;function Vn(e){if(typeof e!="string")return null;if(Pn(e))return Nn(e)?.day??null;let t=/^(\d{4}-\d{2}-\d{2})/.exec(e);return t?t[1]:null}function gn(e){if(typeof e!="string")return null;if(Pn(e))return Nn(e)?.minutes??null;let t=/^\d{4}-\d{2}-\d{2}[T ](\d{2}):(\d{2})/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}var un=e=>Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7))-1,Number(e.slice(8,10))),mn=e=>new Date(e).toISOString().slice(0,10);function xe(e,t){return mn(un(e)+t*Ft)}function We(e,t){let n=Number(e.slice(0,4)),r=Number(e.slice(5,7))-1+t,a=Number(e.slice(8,10)),i=new Date(Date.UTC(n,r+1,0)).getUTCDate();return mn(Date.UTC(n,r,Math.min(a,i)))}var Gn=e=>new Date(un(e)).getUTCDay();function Fe(e,t=1){let n=(Gn(e)-t+7)%7;return xe(e,-n)}var jn=e=>`${e.slice(0,7)}-01`;function pe(e,t){return Math.round((un(t)-un(e))/Ft)}function _e(e,t){return Array.from({length:t},(n,r)=>xe(e,r))}var _t=e=>at(e,"short"),Ee=e=>tt(e,{weekday:"short"}),qn=e=>Je(e);function He(e,t){let n=t?.fieldRoles?.when;return e&&!e.start&&n?{...e,start:n}:e}function Ut(e,t){return t===void 0?!1:typeof t=="string"?e[t]===!0:t.is.includes(e[t.field])}var pn=["start"],Ir=["day","week","month","quarter","year","agenda"];function fn(e){return e.horizon?["day","week","month","quarter","year","years","agenda"]:Ir}function Kt(e,t){return e==="years"?t?.title??"Years":`The ${e}`}function Yt(){let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}var Fn=class extends Error{constructor(n,r){super(`The calendar lens has no binding for ${r.map(a=>`"${a}"`).join(", ")} on "${n}". Bind them in the lens declaration: bindings: { ${n}: { start: "<field>" } }.`);this.kind=n;this.missing=r;this.name="CalendarBindingError"}};function hn(e,t,n){let r=He(t[e.kind],n?.tryDefinition(e.kind));if(!r)return null;let a=e,i=n?.tryDefinition(e.kind)?.fields.shape,s=pn.filter(h=>{let f=r[h];return f?i?!(f in i):!(f in a):!0});if(s.length>0)throw new Fn(e.kind,s);let p=Vn(a[r.start]);if(p===null)return null;let g=(r.end?Vn(a[r.end]):null)??p,b=gn(a[r.start]),d=r.label?a[r.label]:void 0;return{id:e.id,kind:e.kind,label:typeof d=="string"&&d.length>0?d:ve(n?.tryDefinition(e.kind),e),from:p,to:pe(p,g)<0?p:g,at:r.allDay&&a[r.allDay]===!0?null:b,allDay:r.allDay&&a[r.allDay]===!0||b===null,done:Ut(a,r.done)}}function Qt(e,t,n,r){let a=hn(e,t,n);if(!a)return[];let i=He(t[e.kind],n?.tryDefinition(e.kind)).start,s=e,p=s[i],g=s[lt(i)];if(typeof p!="string"||!st(g))return[a];let b=pe(a.from,a.to);return("next"in r?[ct(p,g,r.next)]:dt(p,g,{from:xe(r.from,-b),to:r.to,limit:400})).map(h=>({...a,from:h.slice(0,10),to:xe(h.slice(0,10),b),repeats:!0}))}function yn(e,t){return e.filter(n=>pe(n.from,t)>=0&&pe(t,n.to)>=0).sort((n,r)=>n.allDay!==r.allDay?n.allDay?-1:1:n.at!==r.at?(n.at??0)-(r.at??0):n.label.localeCompare(r.label))}function Jt(e,t,n){let r=ut(e.schema,e.allMutations()).get(t)?.get(n)??[],a=new Map(e.allMutations().map(s=>[s.name,s]));for(let s of r){let p=a.get(s),g=p?.subject;if(!p||!g)continue;let b=p.input?.shape??{};if(n in b)return{name:p.name,arg:g.arg}}let i=e.allMutations().find(s=>s.derived?.act==="edit"&&s.derived.kind===t);return i?.subject?{name:i.name,arg:i.subject.arg}:null}var Xt=(e,t)=>({from:jn(e),to:Zt(e),label:En(e,{short:!0,year:t})});function Zt(e){return mn(Date.UTC(Number(e.slice(0,4)),Number(e.slice(5,7)),0))}function Wr(e){let t=Math.floor((Number(e.slice(5,7))-1)/3);return`${e.slice(0,4)}-${String(t*3+1).padStart(2,"0")}-01`}function er(e,t,n={}){let r=n.weekStartsOn??1,a=(g,b)=>({from:g,to:g,label:String(Number(g.slice(8,10))),...b?{outside:!0}:{}});if(e==="day")return{title:Ee(t),grain:"day",columns:1,cells:[a(t)]};if(e==="week"){let g=Fe(t,r);return{title:`${Ee(g)} \u2013 ${Ee(xe(g,6))}`,grain:"day",columns:7,cells:_e(g,7).map(b=>a(b))}}if(e==="agenda")return{title:`From ${Ee(t)}`,grain:"day",columns:1,cells:_e(t,42).map(g=>a(g))};if(e==="quarter"){let g=Wr(t),b=Zt(We(g,2)),d=[];for(let h=Fe(g,r);pe(h,b)>=0;h=xe(h,7))d.push({from:h,to:xe(h,6),label:rt(h),...pe(h,g)>0&&pe(xe(h,6),g)>0?{outside:!0}:{}});return{title:`Q${Math.floor((Number(t.slice(5,7))-1)/3)+1} ${t.slice(0,4)}`,grain:"week",columns:4,cells:d}}if(e==="year"){let g=t.slice(0,4);return{title:g,grain:"month",columns:4,cells:Array.from({length:12},(b,d)=>Xt(`${g}-${String(d+1).padStart(2,"0")}-01`,!1))}}if(e==="years"){let g=Number(t.slice(0,4)),b=g+Math.max(1,n.horizon?.years??1)-1,d=n.horizon?.from!==void 0||n.horizon?.to!==void 0,h=d?n.horizon?.from??g:Math.min(g,n.fit?.first??g),l=(d?Math.max(h,n.horizon?.to??h+Math.max(1,n.horizon?.years??1)-1):Math.max(b,n.fit?.last??b))-h+1,c=Array.from({length:l},(S,u)=>String(h+u));return l>Hr?{title:`${n.horizon?.title??"Years"} \xB7 ${c[0]}\u2013${c[c.length-1]}`,grain:"year",columns:5,years:c,cells:c.map(S=>({from:`${S}-01-01`,to:`${S}-12-31`,label:S}))}:{title:`${n.horizon?.title??"Years"} \xB7 ${c[0]}\u2013${c[c.length-1]}`,grain:"month",columns:4,years:c,cells:c.flatMap(S=>Array.from({length:12},(u,x)=>Xt(`${S}-${String(x+1).padStart(2,"0")}-01`,!0)))}}let i=jn(t),s=Fe(i,r),p=t.slice(0,7);return{title:En(t),grain:"day",columns:7,cells:_e(s,42).map(g=>a(g,g.slice(0,7)!==p))}}function nr(e,t,n){return e.filter(r=>pe(r.from,n)>=0&&pe(t,r.to)>=0).sort((r,a)=>r.allDay!==a.allDay?r.allDay?-1:1:r.from!==a.from?r.from.localeCompare(a.from):r.at!==a.at?(r.at??0)-(a.at??0):r.label.localeCompare(a.label))}var Hr=10;function tr(e){return e==="year"?"year":e==="month"?"month":e==="week"?"week":"day"}var rr=Y(Ne(),1);var te=Y(ee(),1);function _n({label:e,glyph:t,onPress:n}){return(0,te.jsx)("button",{type:"button","aria-label":e,title:e,onClick:n,style:Ue,children:t})}var Ue={minHeight:24,minWidth:24,padding:"2px 9px",borderRadius:6,fontSize:"0.8125rem",borderWidth:1,borderStyle:"solid",borderColor:"transparent",color:"var(--graview-ink-muted)",background:"transparent"},ar={day:12,week:4,month:3,year:5};function ir({span:e,weekStartsOn:t,entries:n,today:r,perCell:a,emphasisOf:i,broken:s,hue:p,onOpen:g,onMove:b}){let d=(0,rr.useRef)(null),h=je(d),f=h===null?e.columns:Math.max(1,Math.floor(h/44)),l=f<e.columns,c=l?f:e.columns,S=!l&&e.grain==="day"&&e.columns===7?_e(Fe(e.cells[0]?.from??r,t),7):e.grain==="day"&&e.columns===1?e.cells.map(u=>u.from):null;return l&&e.grain==="day"&&e.columns>1?(0,te.jsx)("div",{ref:d,"data-calendar-shape":"agenda",style:{display:"grid",minHeight:0,flex:1},children:(0,te.jsx)(wn,{days:e.cells.map(u=>u.from),entries:n,today:r,emphasisOf:i,broken:s,hue:p,onMove:(u,x)=>b(u,{from:x,to:x,label:x},"day")})}):(0,te.jsxs)("div",{ref:d,"data-calendar-shape":l?"wrapped":"grid",style:{display:"grid",gap:4,gridTemplateRows:S?"auto 1fr":"1fr",minHeight:0,flex:1},children:[S?(0,te.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(${c}, minmax(0, 1fr))`,gap:4},children:S.map(u=>(0,te.jsx)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-muted)",textAlign:"center"},children:e.columns===7?_t(Gn(u)):Ee(u)},u))}):null,(0,te.jsx)("div",{tabIndex:0,"aria-label":`The days of ${e.title}`,style:{display:"grid",gridTemplateColumns:`repeat(${c}, minmax(0, 1fr))`,gridAutoRows:"max-content",gap:4,minHeight:0,overflow:"auto"},children:e.cells.map((u,x)=>{let A=nr(n,u.from,u.to),E=A.slice(0,a),z=A.slice(a),w=z.filter(m=>s.has(m.id)).length,C=pe(u.from,r)>=0&&pe(r,u.to)>=0;return(0,te.jsxs)("div",{"data-calendar-day":e.grain==="day"?u.from:void 0,"data-calendar-cell":u.from,"data-calendar-grain":e.grain,"data-calendar-count":A.length,"data-calendar-outside":u.outside||void 0,onDragOver:m=>{m.dataTransfer.types.includes("text/graview-node")&&(m.preventDefault(),m.dataTransfer.dropEffect="move")},onDrop:m=>{let M=m.dataTransfer.getData("text/graview-node");M&&(m.preventDefault(),m.stopPropagation(),b(M,u,e.grain))},style:{minHeight:62,display:"flex",flexDirection:"column",gap:2,padding:4,borderRadius:7,border:"1px solid var(--graview-edge)",background:C?"var(--graview-panel)":u.outside?"var(--graview-panel-muted)":"transparent"},children:[(0,te.jsxs)("span",{style:{display:"flex",alignItems:"baseline",gap:4},children:[(0,te.jsx)("span",{style:{fontSize:"0.75rem",fontVariantNumeric:"tabular-nums",color:C?"var(--graview-accent)":"var(--graview-ink-faint)"},children:u.label}),e.grain!=="day"&&A.length>0?(0,te.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)",marginLeft:"auto"},children:A.length}):null]}),E.map(m=>(0,te.jsx)(or,{entry:m,cell:u,rowStart:x%c===0,emphasis:i(m.id),flagged:s.has(m.id),hue:p(m)},`${m.id}:${m.from}:${u.from}`)),z.length>0?(0,te.jsxs)("button",{type:"button","data-testid":`calendar-more-${u.from}`,onClick:()=>g(u),title:`Open ${u.label}`,style:{minHeight:24,padding:"1px 5px",fontSize:"0.75rem",borderRadius:5,border:"1px dashed var(--graview-edge)",background:"transparent",color:w>0?"var(--graview-warn)":"var(--graview-ink-muted)",textAlign:"left"},children:["+",z.length," more",w>0?` \xB7 ${w} flagged`:""]}):null]},u.from)})})]})}function wn({days:e,entries:t,today:n,emphasisOf:r,broken:a,hue:i,onMove:s}){let p=e.map(g=>({day:g,here:yn(t,g)})).filter(({here:g})=>g.length>0);return p.length===0?(0,te.jsx)("p",{"data-testid":"calendar-empty",style:{margin:0,fontSize:"0.875rem",color:"var(--graview-ink-muted)"},children:"Nothing is scheduled in the next six weeks."}):(0,te.jsx)("ol",{tabIndex:0,"aria-label":"What is scheduled",style:{margin:0,padding:0,listStyle:"none",display:"grid",alignContent:"start",gap:10,overflow:"auto",minHeight:0},children:p.map(({day:g,here:b})=>(0,te.jsxs)("li",{"data-calendar-day":g,onDragOver:d=>{d.dataTransfer.types.includes("text/graview-node")&&(d.preventDefault(),d.dataTransfer.dropEffect="move")},onDrop:d=>{let h=d.dataTransfer.getData("text/graview-node");h&&(d.preventDefault(),d.stopPropagation(),s(h,g))},style:{display:"grid",gap:4},children:[(0,te.jsxs)("span",{style:{fontSize:"0.75rem",letterSpacing:"0.16em",textTransform:"uppercase",color:g===n?"var(--graview-accent)":"var(--graview-ink-muted)"},children:[Ee(g),g===n?" \xB7 today":""]}),b.map(d=>(0,te.jsx)(or,{entry:d,cell:{from:g,to:g,label:g},emphasis:r(d.id),flagged:a.has(d.id),hue:i(d)},`${d.id}:${d.from}:${g}`))]},g))})}function or({entry:e,cell:t,emphasis:n,flagged:r,hue:a,rowStart:i=!1}){let s=pe(t.from,e.from)>=0,p=pe(e.to,t.to)>=0,g=!(s&&p),b=e.at!==null&&s&&e.from===t.from?`${qn(e.at)} ${e.label}`:e.label;return(0,te.jsx)("span",{"data-graview-pick":e.id,"data-calendar-entry":e.id,"data-calendar-repeat":e.repeats?e.from:void 0,draggable:!e.repeats,onDragStart:d=>{d.dataTransfer.setData("text/graview-node",e.id),d.dataTransfer.effectAllowed="move"},"data-graview-emphasis":n,"data-calendar-part":g?s?"opens":p?"closes":"through":void 0,"data-calendar-in":t.from,title:g?`${e.label} \xB7 ${e.from} \u2013 ${e.to}`:`${e.label}${e.at===null?" \xB7 all day":` \xB7 ${qn(e.at)}`}${e.repeats?" \xB7 repeats":""}`,style:{display:"block",minHeight:24,boxSizing:"border-box",padding:"3px 6px",fontSize:"0.75rem",lineHeight:1.35,borderRadius:g?s?"5px 0 0 5px":p?"0 5px 5px 0":0:5,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",textDecoration:e.done?"line-through":"none",opacity:n==="dimmed"?.35:e.done?.6:1,background:`color-mix(in oklab, hsl(${Math.round(a)} 70% 55%) ${n==="lit"?38:20}%, transparent)`,color:"var(--graview-ink)",...n==="lit"?{outline:"1px solid var(--graview-accent)"}:{},...r?{borderLeft:"3px solid var(--graview-warn)",paddingLeft:4}:{}},children:s||i?e.repeats?(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)("span",{"aria-hidden":"true",children:"\u21BB "}),b]}):b:" "})}var X=Y(ee(),1);function Vr(e){let t=1/0,n=-1/0;for(let r of e)r&&(t=Math.min(t,Number(r.from.slice(0,4))),n=Math.max(n,Number(r.to.slice(0,4))));return Number.isFinite(t)&&Number.isFinite(n)?{first:t,last:n}:void 0}function lr(e){let t=n=>function(a){let{store:i}=ae(),{view:s}=en(),p=n?{...e,range:n}:e,g=s.within?.range??p.range??"month",b=Object.keys(e.bindings),{nodes:d,arranged:h,arrangement:f,bar:l}=Re(a,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{sort:!1,group:g==="agenda"},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},...e.search?{search:e.search}:{},...e.filters?{filters:e.filters}:{},...b[0]?{kind:(a.nodes??[]).find(A=>b.includes(String(A.kind)))?.kind??b[0]}:{}}),c=g==="agenda"&&h.grouped&&f.group?h.groups.map(A=>({label:A.label,ids:new Set(A.nodes.map(E=>E.id))})):void 0,S=new Set((a.nodes??[]).map(A=>String(A.kind))),u=b.filter(A=>!S.has(A)&&i.schema.tryDefinition(A)!==void 0).flatMap(A=>{let E=i.schema.tryDefinition(A);return i.graph.nodesOfKind(A).filter(z=>s.past===!0||Ve(E,z))}),x=u.length===0?d:[...d,...a.budget!==void 0?u.slice(0,a.budget):u];return De(a,i.schema,(0,X.jsx)(Gr,{schema:i.schema,...a,nodes:x,options:{...p,today:p.today??i.today()??Yt()},...l?{bar:l}:{},...c?{groups:c}:{}}))};return{name:"calendar",requiredRoles:[...pn],bindings:e.bindings,options:e,View:t(),at:n=>t(n),ranges:()=>fn(e).map(n=>({range:n,title:Kt(n,e.horizon)})),place:(n,r)=>n.map(a=>hn(a,e.bindings,r)).filter(a=>a!==null)}}function Gr({nodes:e,label:t,fidelity:n,mode:r,options:a,schema:i,selectedIds:s=[],implicated:p=[],flagged:g=[],bar:b,groups:d}){let{view:h,go:f}=en(),{store:l,principal:c}=ae(),S=h.within?.at??a.today,u=h.within?.range??a.range??"month",x=a.weekStartsOn??1,A=new Set([...p,...s]),E=R=>A.size===0?"plain":A.has(R)?"lit":"dimmed",z=new Set(g),w=u==="years"&&h.within?.at===void 0?Vr((e??[]).map(R=>hn(R,a.bindings,i))):void 0,C=er(u,S,{weekStartsOn:x,...a.horizon?{horizon:a.horizon}:{},...w?{fit:w}:{}}),M=n==="glyph"||n==="summary"?{next:a.today}:{from:C.cells[0]?.from??S,to:C.cells[C.cells.length-1]?.to??S},D=(e??[]).flatMap(R=>Qt(R,a.bindings,i,M)),H=a.hueOf??(R=>fe(R.kind));if(n==="glyph")return(0,X.jsx)(be,{label:`${t??"Calendar"} \xB7 ${D.length}`,hue:fe("calendar")});if(n==="summary"){let R=yn(D,a.today);return(0,X.jsx)(de,{title:t??"Calendar",meta:`${D.length} dated`,tone:"muted",children:(0,X.jsx)(Pe,{max:6,items:R.length>0?R.map(v=>({id:v.id,label:v.label,hue:H(v)})):D.filter(v=>pe(a.today,v.from)>=0).sort((v,o)=>v.from.localeCompare(o.from)).slice(0,6).map(v=>({id:v.id,label:`${v.from.slice(5)} ${v.label}`,hue:H(v)}))})})}let k=r==="fullscreen",[F,T]=(0,vn.useState)(null),Q=(R,v,o)=>{let O=l.graph.getNode(R);if(!O)return;let P=He(a.bindings[O.kind],l.schema.tryDefinition(O.kind));if(!P)return;let N=Jt(l,O.kind,P.start);if(!N){T({text:`Nothing declared writes the ${Mn(l.schema.definitions.find(V=>V.kind===O.kind),P.start).toLowerCase()}, so this cannot be moved from here.`,tone:"refused"});return}let y=v.from,$=O[P.start],K=gn($)===null?y:`${y}${String($).slice(10)}`,Z={name:N.name,args:{[N.arg]:R,[P.start]:K}},le=l.permits(Z,c);if(!le.ok){T({text:le.refusal.message,tone:"refused"});return}try{l.apply(Z,{author:c}),T(o==="day"?null:{text:`Moved to ${Ee(y)} \u2014 a ${o} is coarser than the ${Mn(l.schema.definitions.find(V=>V.kind===O.kind),P.start).toLowerCase()} holds, so it takes the first day of the cell. Undo puts it back.`,tone:"rounded"})}catch(V){T({text:V instanceof Error?V.message:String(V),tone:"refused"})}},se=R=>{let v=u==="years"?We(`${C.years?.[0]??S.slice(0,4)}${S.slice(4)}`,R*12*Math.max(1,C.years?.length??a.horizon?.years??1)):u==="year"?We(S,R*12):u==="quarter"?We(S,R*3):u==="month"?We(S,R):u==="week"?xe(S,R*7):xe(S,R);f(Ze(h,"at",v))},oe=(R,v)=>{let o=Ze(h,"range",R);v!==void 0&&(o=Ze(o,"at",v)),f(o)},J=(0,vn.useRef)(null),ce=je(J),ue=ce!==null&&ce<420,W=R=>R==="years"?a.horizon?.title??"years":R.charAt(0).toUpperCase()+R.slice(1);return(0,X.jsx)(de,{title:t??"Calendar",meta:C.title,style:{gap:10,...k?{flex:"1 1 auto",minHeight:0,height:"100%"}:{}},children:(0,X.jsxs)("div",{ref:J,"data-testid":"calendar","data-calendar-range":u,"data-calendar-at":S,style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0,gap:8},children:[(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:6},children:[(0,X.jsxs)("nav",{"aria-label":"When",style:{display:"flex",gap:4},children:[(0,X.jsx)(_n,{label:"Previous",glyph:"\u2039",onPress:()=>se(-1)}),(0,X.jsx)("button",{type:"button","data-testid":"calendar-today",onClick:()=>f(Ze(h,"at",a.today)),style:Ue,children:"Today"}),(0,X.jsx)(_n,{label:"Next",glyph:"\u203A",onPress:()=>se(1)})]}),ue?(0,X.jsx)("select",{"aria-label":"Range","data-testid":"calendar-ranges",value:u,onChange:R=>oe(R.target.value),style:{...Ue,borderRadius:999,borderColor:"var(--graview-edge)",background:void 0,backgroundColor:"transparent",marginLeft:"auto",maxWidth:"50%",paddingRight:24,appearance:"none",WebkitAppearance:"none",backgroundImage:"linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%)",backgroundPosition:"calc(100% - 13px) 55%, calc(100% - 9px) 55%",backgroundSize:"4px 4px, 4px 4px",backgroundRepeat:"no-repeat"},children:fn(a).map(R=>(0,X.jsx)("option",{value:R,children:W(R)},R))}):(0,X.jsx)("div",{role:"group","aria-label":"Range","data-testid":"calendar-ranges",style:{display:"flex",flexWrap:"wrap",gap:4,marginLeft:"auto"},children:fn(a).map(R=>(0,X.jsx)("button",{type:"button","aria-pressed":R===u,"data-testid":`calendar-range-${R}`,onClick:()=>oe(R),style:{...Ue,borderRadius:999,borderColor:"var(--graview-edge)",...R==="years"?{}:{textTransform:"capitalize"},...R===u?{borderColor:"var(--graview-accent)",color:"var(--graview-accent)",background:"var(--graview-panel)"}:{}},children:R==="years"?a.horizon?.title??"years":R},R))})]}),F?(0,X.jsx)("p",{"data-testid":F.tone==="refused"?"calendar-refused":"calendar-rounded",role:"status",style:{margin:0,fontSize:"0.8125rem",color:F.tone==="refused"?"var(--graview-warn)":"var(--graview-ink-muted)"},children:F.text}):null,C.years?(0,X.jsx)("nav",{"aria-label":"Years","data-testid":"calendar-years",style:{display:"flex",flexWrap:"wrap",gap:4},children:C.years.map(R=>(0,X.jsx)("button",{type:"button","data-testid":`calendar-year-${R}`,onClick:()=>oe("year",`${R}-01-01`),style:Ue,children:R},R))}):null,b,u==="agenda"&&d?(0,X.jsx)("div",{"data-testid":"calendar-groups",style:{display:"grid",gap:10,minHeight:0,overflow:"auto"},children:d.map(R=>(0,X.jsxs)("section",{"data-testid":"calendar-group",style:{display:"grid",gap:4},children:[(0,X.jsxs)("h3",{style:{margin:0,fontSize:"0.8125rem",letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--graview-ink-muted)"},children:[R.label," ",(0,X.jsx)("span",{style:{fontWeight:400},children:R.ids.size})]}),(0,X.jsx)(wn,{days:C.cells.map(v=>v.from),entries:D.filter(v=>R.ids.has(v.id)),today:a.today,emphasisOf:E,broken:z,hue:H,onMove:(v,o)=>Q(v,{from:o,to:o,label:o},"day")})]},R.label))}):u==="agenda"?(0,X.jsx)(wn,{days:C.cells.map(R=>R.from),entries:D,today:a.today,emphasisOf:E,broken:z,hue:H,onMove:(R,v)=>Q(R,{from:v,to:v,label:v},"day")}):(0,X.jsx)(ir,{span:C,weekStartsOn:x,entries:D,today:a.today,perCell:a.perCell??ar[C.grain],emphasisOf:E,broken:z,hue:H,onOpen:R=>oe(tr(C.grain),R.from),onMove:Q})]})})}var re=Y(Ne(),1);var Ke=Y(Ne(),1),Se=Y(ee(),1),bn={padding:"5px 10px",fontSize:"0.875rem",borderRadius:8,width:"100%",textAlign:"left",borderWidth:1,borderStyle:"solid",borderColor:"transparent",background:"none",boxShadow:"none"};function sr({choices:e,close:t}){let[n,r]=(0,Ke.useState)(!1),a=(0,Ke.useRef)(null);return(0,Ke.useLayoutEffect)(()=>{n&&a.current?.querySelector("button:not([disabled])")?.focus()},[n]),(0,Se.jsxs)("div",{children:[(0,Se.jsxs)("button",{type:"button","data-menu-item":"move-to","aria-expanded":n,onClick:()=>r(i=>!i),style:bn,children:["Move to ",(0,Se.jsx)("span",{"aria-hidden":"true",children:"\u203A"})]}),n?(0,Se.jsx)("ul",{ref:a,"aria-label":"Move to","data-testid":"move-to",style:{margin:"2px 0 0 12px",padding:0,listStyle:"none",display:"flex",flexDirection:"column",gap:2},children:e.map(i=>i.run?(0,Se.jsx)("li",{children:(0,Se.jsx)("button",{type:"button","data-move-to":i.to,onClick:()=>{t(),i.run()},style:bn,children:i.label})},i.to):(0,Se.jsxs)("li",{style:{display:"grid",gap:2},children:[(0,Se.jsx)("button",{type:"button",disabled:!0,"data-move-to":i.to,"data-withheld":"",style:{...bn,borderStyle:"dashed"},children:(0,Se.jsx)("s",{children:i.label})}),(0,Se.jsx)("span",{"data-testid":"move-to-why",style:{fontSize:"0.8125rem",lineHeight:1.4,color:"var(--graview-ink-muted)",padding:"0 10px"},children:i.why})]},i.to))}):null]})}function dr({choose:e,close:t}){return(0,Se.jsx)("button",{type:"button","data-menu-item":"choose-several",onClick:()=>{t(),e()},style:bn,children:"Choose several"})}var I=Y(ee(),1),jr=`
|
|
4
|
-
.graview-columns { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
|
|
5
|
-
.graview-columns-column { flex: 1 1 13rem; min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 8px; border-radius: 10px; border: 1px solid var(--graview-edge); background: color-mix(in srgb, var(--graview-panel) 60%, transparent); }
|
|
6
|
-
.graview-columns-column[data-droppable="true"] { border-color: var(--graview-accent); }
|
|
7
|
-
.graview-columns-column[data-over="true"] { background: color-mix(in srgb, var(--graview-accent) 10%, transparent); }
|
|
8
|
-
.graview-columns-heading { margin: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 0.875rem; font-weight: 600; color: var(--graview-ink); }
|
|
9
|
-
.graview-columns-count { font-weight: 400; color: var(--graview-ink-muted); font-variant-numeric: tabular-nums; }
|
|
10
|
-
.graview-columns-cards { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
|
|
11
|
-
.graview-columns-empty { margin: 0; font-size: 0.8125rem; color: var(--graview-ink-muted); }
|
|
12
|
-
.graview-columns-card[draggable="true"] { cursor: grab; }
|
|
13
|
-
.graview-columns-card[data-carried="true"] { outline: 2px solid var(--graview-accent); outline-offset: 2px; border-radius: 10px; opacity: 0.6; }
|
|
14
|
-
.graview-columns-slot { min-height: 2.25rem; display: flex; align-items: center; padding: 6px 10px; border-radius: 10px; border: 2px dashed var(--graview-accent); color: var(--graview-ink-muted); font-size: 0.8125rem; }
|
|
15
|
-
.graview-columns-toggle, .graview-columns-rest { font: inherit; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; width: 100%; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; text-align: left; }
|
|
16
|
-
.graview-columns-rest { justify-content: center; font-size: 0.8125rem; color: var(--graview-ink-muted); min-height: 28px; border-radius: 7px; border: 1px dashed var(--graview-edge); }
|
|
17
|
-
.graview-columns-toggle:focus-visible, .graview-columns-rest:focus-visible { outline: 2px solid var(--graview-accent); outline-offset: 2px; }
|
|
18
|
-
.graview-columns-move { position: relative; z-index: ${Ae.raised}; display: flex; justify-content: flex-end; margin-top: 4px; }
|
|
19
|
-
.graview-columns-move[data-open="true"] { z-index: ${Ae.over}; }
|
|
20
|
-
.graview-columns-move > button, .graview-columns-menu button, .graview-columns-said button { font: inherit; font-size: 0.8125rem; min-height: 28px; padding: 2px 10px; border-radius: 7px; border: 1px solid var(--graview-edge); background: var(--graview-panel); color: var(--graview-ink); cursor: pointer; }
|
|
21
|
-
.graview-columns-move > button:focus-visible, .graview-columns-menu button:focus-visible, .graview-columns-said button:focus-visible { outline: 2px solid var(--graview-accent); outline-offset: 2px; }
|
|
22
|
-
.graview-columns-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: ${Ae.over}; display: flex; flex-direction: column; gap: 4px; padding: 6px; min-width: 10rem; border-radius: 9px; border: 1px solid var(--graview-edge); background: var(--graview-panel); box-shadow: 0 6px 18px rgb(0 0 0 / 0.18); }
|
|
23
|
-
.graview-columns-menu button { text-align: left; }
|
|
24
|
-
.graview-columns-said { margin: 0 0 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0.8125rem; color: var(--graview-ink); }
|
|
25
|
-
.graview-columns-said[data-tone="refused"] { color: var(--graview-warn); }
|
|
26
|
-
.graview-columns-card { position: relative; -webkit-touch-callout: none; }
|
|
27
|
-
.graview-columns-card .graview-choose-at { position: absolute; top: 6px; right: 6px; z-index: ${Ae.raised}; display: flex; }
|
|
28
|
-
[data-graview-choosable] { outline: none; }
|
|
29
|
-
@media (pointer: coarse) { [data-graview-choosable]:not([data-graview-choosing]) .graview-columns-card .graview-choose-at { display: none; } }
|
|
30
|
-
`;function cr(e){function t(n){let{store:r}=ae();ft();let a=Object.keys(e.bindings).filter(w=>r.schema.tryDefinition(w)!==void 0),i=n.nodes??[],s=new Set(i.map(w=>String(w.kind))),p=w=>r.graph.nodesOfKind(w).filter(C=>Ve(r.schema.tryDefinition(w),C)),g=n.total!==void 0&&n.total>i.length,b=a[0],d=b===void 0?[]:s.has(b)?i.filter(w=>w.kind===b):p(b),{arranged:h,arrangement:f,bar:l}=Re(n,{lensAllows:{group:!1},subject:d,...b===void 0?{}:{kind:b},query:e.search!==void 0||d.length>mt,...e.search?{search:e.search}:{},...e.filters?{filters:e.filters}:{}}),c=l?new Map(h.nodes.map((w,C)=>[w.id,C])):void 0,S=(w,C)=>{if(!c||w!==b)return C;let m=C.filter(M=>c.has(M.id));return f.sort===void 0?m:[...m].sort((M,D)=>c.get(M.id)-c.get(D.id))},u=a.map(w=>{let C=e.bindings[w].column,m=Tt(r.schema,w,C),M=(T,Q)=>Q==="label"?ve(r.schema.tryDefinition(T.kind),T):T[Q],D=S(w,Xe(s.has(w)?i.filter(T=>T.kind===w):p(w).slice(0,n.budget??1/0),e.sort,M)),H=p(w),k=s.has(w)&&!g?D:S(w,H),F=new Set(e.hidden??[]);return{kind:w,field:C,all:m,born:new Map(H.map((T,Q)=>[T.id,Q])),columns:m.filter(T=>T.value===null||!F.has(T.value)).map(T=>({column:T,cards:D.filter(Q=>dn(Q,C,m)===T.value),count:k.filter(Q=>dn(Q,C,m)===T.value).length})).filter(T=>T.column.value!==null||T.count>0)}}),x=u.reduce((w,C)=>w+C.columns.reduce((m,M)=>m+M.count,0),0),A=n.label??"Board";if(n.fidelity==="glyph")return(0,I.jsx)(be,{label:`${A} \xB7 ${x}`,hue:fe("columns")});if(n.fidelity==="summary")return(0,I.jsx)(de,{title:A,meta:b?Ge(r.schema,b,x):String(x),tone:"muted",children:(0,I.jsx)("p",{style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},"data-testid":"columns-summary",children:u.flatMap(w=>w.columns.map(C=>`${C.column.label} ${C.count}`)).join(" \xB7 ")})});let E=(0,I.jsx)(qr,{boards:u,title:A,options:e}),z=l?(0,I.jsxs)("div",{style:{display:"grid",gap:6},children:[l,E]}):E;return De(n,r.schema,n.mode==="fullscreen"?(0,I.jsx)("div",{style:{padding:"14px 16px"},children:z}):(0,I.jsx)(de,{title:A,meta:b?Ge(r.schema,b,x):void 0,children:z}))}return{name:"columns",requiredRoles:["column"],bindings:e.bindings,View:t}}function qr({boards:e,title:t,options:n}){let{store:r,principal:a}=ae(),i=(0,re.useRef)(null),[s,p]=(0,re.useState)(null),[g,b]=(0,re.useState)(null),[d,h]=(0,re.useState)(null),[f,l]=(0,re.useState)(null),[c,S]=(0,re.useState)(""),[u,x]=(0,re.useState)(()=>new Set),[A,E]=(0,re.useState)(()=>new Set(n.collapsed??[])),[z,w]=(0,re.useState)(null),C=(0,re.useId)();(0,re.useLayoutEffect)(()=>{if(!z)return;i.current?.querySelector(z)?.focus(),w(null)});let m=v=>{let o=r.graph.getNode(v);return o?ve(r.schema.tryDefinition(o.kind),o):v},M=(0,re.useMemo)(()=>e.flatMap(v=>v.columns.flatMap(o=>o.cards.map(O=>O.id))),[e]),D=zt(M),H=(0,re.useMemo)(()=>r.permittedMutations(a).some(v=>{let o=v.subject?.kinds;return o!==void 0&&(o==="*"||e.some(O=>o.includes(O.kind)))}),[r,a,e]),k=v=>{D.choose(v),requestAnimationFrame(()=>{((v[0]===void 0?null:i.current?.querySelector(`[data-graview-choose-box="${nn(v[0])}"]`))??i.current)?.focus({preventScroll:!0})})},F=(v,o)=>Pt(r,a,v,o.field,o.columns.map(O=>O.column)),T=v=>n.move?`[data-columns-move="${nn(v)}"] > button`:`[data-graview-listed="${nn(v)}"] .graview-spec-item-link`,Q=(v,o,O,P)=>{try{let N=r.apply(o.call,{author:a});p({text:`Moved \u201C${m(v)}\u201D to ${O}.`,tone:"moved",batch:N.batch,id:v}),P==="keyboard"&&w(T(v)),P==="carry"&&w(`[data-graview-listed="${nn(v)}"] .graview-spec-item-link`),P==="menu"&&Fr(()=>i.current?.querySelector(`[data-graview-listed="${nn(v)}"] .graview-spec-item-link`)??null)}catch(N){p({text:N instanceof Error?N.message:String(N),tone:"refused"})}},se=()=>{if(s?.batch)try{r.undo(s.batch,{author:a}),p({text:`\u201C${m(s.id??"")}\u201D is back where it was.`,tone:"moved"}),s.id&&w(T(s.id))}catch(v){p({text:v instanceof Error?v.message:String(v),tone:"refused"})}},oe=(0,re.useRef)({move:Q,boards:e,choosing:D,choosable:H});oe.current={move:Q,boards:e,choosing:D,choosable:H},(0,re.useEffect)(()=>{let o=[...new Set(e.map(O=>O.kind))].map(O=>Dt({store:r,kind:O,root:()=>i.current,section:(P,N)=>{let y=oe.current.boards.find(V=>V.kind===O),$=r.graph.getNode(P);if(!y||!$)return null;let L=Nt(r,N,$,y.field,y.all).map(V=>({to:V.to,label:V.label,...V.why!==void 0?{why:V.why}:{},...V.move?{run:()=>oe.current.move(P,V.move,V.label,"menu")}:{}})),{choosing:K,choosable:Z}=oe.current,le=Z&&K.chosen.length===0&&typeof matchMedia=="function"&&matchMedia("(pointer: coarse)").matches?()=>K.toggle(P):void 0;return L.length===0&&!le?null:{id:"move-to",at:"start",render:V=>(0,I.jsxs)(I.Fragment,{children:[L.length>0?(0,I.jsx)(sr,{choices:L,close:V}):null,le?(0,I.jsx)(dr,{choose:le,close:V}):null]})}}}));return()=>o.forEach(O=>O())},[r,e]);let J=(v,o)=>v.all.find(O=>O.value===o)?.label??v.columns.find(O=>O.column.value===o)?.column.label??String(o),ce=(v,o,O)=>v.columns.find(P=>P.column.value===o)?.cards.filter(P=>P.id!==O)??[],ue=(v,o,O,P)=>{let N=ce(v,o,P).length+1;return`${J(v,o)}, ${Math.min(O,N-1)+1} of ${N}.`},W=(v,o,O,P)=>{let N=m(o.id),y=()=>{v.preventDefault(),v.stopPropagation()};if(f?.id!==o.id){if(v.key!==" "||P.length===0||!(v.target instanceof HTMLElement)||!v.target.classList.contains("graview-spec-item-link"))return;y();let L=dn(o,O.field,O.all),K=Math.max(0,O.columns.find(Z=>Z.column.value===L)?.cards.findIndex(Z=>Z.id===o.id)??0);l({id:o.id,from:L,to:L,at:K}),S(`${N}, picked up. ${ue(O,L,K,o.id)} Arrow keys move it, Space drops it, Escape puts it back.`);return}let $=O.columns.map(L=>L.column.value).filter(L=>L===f.from||P.some(K=>K.to===L));if(v.key==="ArrowLeft"||v.key==="ArrowRight"){y();let L=$[$.indexOf(f.to)+(v.key==="ArrowLeft"?-1:1)];if(L===void 0)return S(`No column further ${v.key==="ArrowLeft"?"left":"right"} takes ${N}. ${ue(O,f.to,f.at,o.id)}`);let K=Math.min(f.at,ce(O,L,o.id).length);return l({...f,to:L,at:K}),S(ue(O,L,K,o.id))}if(v.key==="ArrowUp"||v.key==="ArrowDown"){y();let L=Math.max(0,Math.min(ce(O,f.to,o.id).length,f.at+(v.key==="ArrowUp"?-1:1)));return l({...f,at:L}),S(ue(O,f.to,L,o.id))}if(v.key===" "||v.key==="Enter"){y(),l(null);let L=f.to===f.from?void 0:P.find(K=>K.to===f.to);return L?(S(`${N}, dropped in ${J(O,f.to)}.`),Q(o.id,L,J(O,f.to),"carry")):S(`${N}, dropped back in ${J(O,f.from)}.`)}if(v.key==="Escape")return y(),l(null),S(`${N}, put back in ${J(O,f.from)}.`)},R=v=>{if(f?.id!==v)return;let o=e.find(O=>O.kind===r.graph.getNode(v)?.kind);l(null),o&&S(`${m(v)}, put back in ${J(o,f.from)}.`)};return(0,I.jsxs)("div",{"data-testid":"columns-lens",...H?{...D.listProps,tabIndex:-1,role:"group","aria-label":D.chosen.length>0?`${t}, ${D.chosen.length} chosen`:t,"data-graview-choosable":""}:{},ref:v=>{i.current=v,D.list.current=v},children:[(0,I.jsx)("style",{children:jr}),H?(0,I.jsx)("style",{children:Bt}):null,(0,I.jsxs)("p",{className:"graview-columns-said",role:"status","data-tone":s?.tone,"data-testid":"columns-said",style:s?void 0:{position:"absolute",width:1,height:1,overflow:"hidden",clipPath:"inset(50%)"},children:[s?(0,I.jsx)("span",{children:s.text}):null,s?.batch?(0,I.jsx)("button",{type:"button","data-testid":"columns-undo",onClick:se,children:"Undo"}):null]}),(0,I.jsx)("p",{"aria-live":"assertive","data-testid":"columns-announce",style:yt,children:c}),(0,I.jsx)("span",{id:C,hidden:!0,children:"Space picks it up; the arrow keys carry it between and along the columns; Space drops it and Escape puts it back. Its menu moves it too."}),e.map(v=>(0,I.jsx)("section",{"data-columns-kind":v.kind,"data-columns-field":v.field,"aria-label":`${it(r.schema,v.kind)} by ${v.field}`,children:(0,I.jsx)("div",{className:"graview-columns",children:v.columns.map(({column:o,cards:O,count:P})=>{let N=o.value??"",y=g!==null&&o.value!==null&&g.to.includes(o.value)||f!==null&&f.to!==f.from&&f.to===o.value&&v.columns.some(_=>_.cards.some(G=>G.id===f.id)),$=o.value!==null&&(n.collapsed??[]).includes(o.value),L=$&&A.has(N),K=n.cap!==void 0&&!u.has(N)&&O.length>n.cap,Z=K?new Set([...O].sort((_,G)=>(v.born.get(G.id)??0)-(v.born.get(_.id)??0)).slice(0,n.cap).map(_=>_.id)):null,le=Z?O.filter(_=>Z.has(_.id)||_.id===f?.id):O,V=f!==null&&f.to===o.value&&f.to!==f.from&&v.columns.some(_=>_.cards.some(G=>G.id===f.id)),he=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("span",{children:o.label}),(0,I.jsx)("span",{className:"graview-columns-count","data-testid":"columns-count",children:P})]});return(0,I.jsxs)("section",{className:"graview-columns-column","data-graview-column":N,"data-droppable":y||void 0,"data-over":y&&(d===N||V)||void 0,"aria-label":`${t} \xB7 ${o.label}, ${P}`,"data-graview-named-by-lens":"",onDragOver:_=>{y&&(_.preventDefault(),_.dataTransfer.dropEffect="move",h(N))},onDragLeave:()=>h(_=>_===N?null:_),onDrop:_=>{let G=_.dataTransfer.getData("text/graview-node"),we=r.graph.getNode(G);if(h(null),b(null),!we||o.value===null)return;let ne=F(we,v).find(U=>U.to===o.value);ne&&(_.preventDefault(),_.stopPropagation(),Q(G,ne,o.label,"drag"))},children:[(0,I.jsx)("h3",{className:"graview-columns-heading",children:$?(0,I.jsx)("button",{type:"button",className:"graview-columns-toggle","aria-expanded":!L,"data-testid":"columns-toggle",onClick:()=>E(_=>_.has(N)?new Set([..._].filter(G=>G!==N)):new Set([..._,N])),children:he}):he}),L?null:le.length===0&&!V?(0,I.jsx)("p",{className:"graview-columns-empty",children:"Nothing here."}):(0,I.jsx)("ul",{className:"graview-columns-cards",children:(0,I.jsx)(Wt.Provider,{value:o.value===null?null:{field:v.field,values:[o.value,o.label]},children:(()=>{let _=le.map(we=>{let ne=F(we,v);return(0,I.jsx)(_r,{card:we,moves:ne,button:n.move===!0,carried:f?.id===we.id,...ne.length>0?{describedBy:C}:{},...H?{choosing:D}:{},labelOf:U=>J(v,U),onMove:(U,me)=>Q(we.id,U,me,"keyboard"),onDrag:U=>b(U?{id:we.id,to:ne.map(me=>me.to)}:null),onCarryKey:U=>W(U,we,v,ne),onLeave:()=>R(we.id)},we.id)});if(!V)return _;let G=(0,I.jsx)("li",{className:"graview-columns-slot","data-testid":"columns-slot","aria-hidden":"true",children:m(f.id)},"graview-carried-slot");return[..._.slice(0,f.at),G,..._.slice(f.at)]})()})}),!L&&K?(0,I.jsxs)("button",{type:"button",className:"graview-columns-rest","data-testid":"columns-rest",onClick:()=>x(_=>new Set([..._,N])),children:["Show ",O.length-le.length," more"]}):null]},N)})})},v.kind)),H?(0,I.jsx)(It,{store:r,chosen:D.chosen,principal:a,anchor:()=>i.current?.closest('[data-testid="kind-stop"], [data-embed-content]')??null,of:M.length,onChooseAll:()=>D.choose(M),onClear:D.clear,onActed:k}):null]})}var nn=e=>typeof globalThis.CSS?.escape=="function"?globalThis.CSS.escape(e):e.replace(/["\\]/g,"\\$&");function Fr(e){let t=0,n=()=>{let r=e(),a=typeof document>"u"?null:document.activeElement;r&&a!==r&&(a===null||a===document.body||a.closest("[data-graview-menu-home], [data-graview-page-title], h1, main")!==null||!a.isConnected)&&r.focus({preventScroll:!0}),++t<6&&requestAnimationFrame(n)};requestAnimationFrame(n)}function _r({card:e,moves:t,button:n,carried:r,describedBy:a,labelOf:i,onMove:s,onDrag:p,onCarryKey:g,onLeave:b,choosing:d}){let{store:h,views:f}=ae(),[l,c]=(0,re.useState)(!1),S=(0,re.useRef)(null),u=(0,re.useRef)(null),x=ve(h.schema.tryDefinition(e.kind),e),A=f.lookup(e.kind,{cardinality:"one",fidelity:"summary"});(0,re.useLayoutEffect)(()=>{l&&S.current?.querySelector("button")?.focus()},[l]);let E=()=>{c(!1),u.current?.focus()},z=w=>{let C=[...S.current?.querySelectorAll("button")??[]],m=C.indexOf(document.activeElement);w.key==="Escape"?(w.preventDefault(),w.stopPropagation(),E()):(w.key==="ArrowDown"||w.key==="ArrowUp")&&(w.preventDefault(),w.stopPropagation(),C[(m+(w.key==="ArrowDown"?1:C.length-1))%C.length]?.focus())};return(0,I.jsxs)("li",{className:"graview-spec-item graview-columns-card","data-graview-listed":e.id,"data-as":"card","data-carried":r||void 0,...d&&d.chosen.length>0?{"data-graview-choose":e.id}:{},draggable:t.length>0||void 0,onKeyDown:g,onKeyUp:w=>{w.key===" "&&w.target instanceof HTMLElement&&w.target.classList.contains("graview-spec-item-link")&&w.preventDefault()},onBlur:w=>{r&&!w.currentTarget.contains(w.relatedTarget)&&b()},onDragStart:w=>{t.length!==0&&(w.dataTransfer.setData("text/graview-node",e.id),w.dataTransfer.effectAllowed="move",p(!0))},onDragEnd:()=>p(!1),children:[(0,I.jsx)(Ht,{node:e,label:x,...a?{describedBy:a}:{}}),A?(0,I.jsx)(pt,{mode:"scene",children:(0,I.jsx)(wt.Provider,{value:x,children:(0,I.jsx)(A,{node:e,cardinality:"one",fidelity:"summary",mode:"scene",selected:!1})})}):(0,I.jsx)("span",{className:"graview-spec-item-name","aria-hidden":"true",children:x}),d?(0,I.jsx)("span",{className:"graview-choose-at",children:(0,I.jsx)("input",{...d.boxProps(e.id,x),onPointerEnter:In,onFocus:In})}):null,n&&t.length>0?(0,I.jsxs)("div",{className:"graview-columns-move","data-columns-move":e.id,"data-open":l||void 0,onBlur:w=>{w.currentTarget.contains(w.relatedTarget)||c(!1)},children:[(0,I.jsx)("button",{ref:u,type:"button","aria-haspopup":"menu","aria-expanded":l,"aria-label":`Move \u201C${x}\u201D to another column`,"data-testid":"columns-move",onClick:()=>c(w=>!w),children:"Move\u2026"}),l?(0,I.jsx)("div",{ref:S,role:"menu","aria-label":`Move \u201C${x}\u201D to`,className:"graview-columns-menu",onKeyDown:z,onMouseDown:w=>w.preventDefault(),children:t.map(w=>(0,I.jsx)("button",{type:"button",role:"menuitem","data-columns-to":w.to,title:w.title,onClick:()=>{c(!1),s(w,i(w.to))},children:i(w.to)},w.to))}):null]}):null]})}var ke=Y(Ne(),1);var q=Y(ee(),1),Ur=["rows","columns","link"],tn=class extends Error{constructor(n,r){super(`${n}
|
|
31
|
-
${r}`);this.hint=r;this.name="CoverageBindingError"}},Un=(e,t)=>t&&e[t]!==void 0?String(e[t]):"",Kr=40,Yr=24;function Qr(e,t={}){let n=t.rows??Kr,r=t.columns??Yr;if(e.rows.length<=n&&e.columns.length<=r)return e;let a=new Map;for(let d of e.cells)a.set(d.rowId,(a.get(d.rowId)??0)+1),a.set(`col:${d.columnId}`,(a.get(`col:${d.columnId}`)??0)+1);let i=(d,h,f)=>{if(d.length<=h)return d;let l=new Set(d.map((c,S)=>({item:c,index:S,count:a.get(f(c))??0})).sort((c,S)=>S.count-c.count||c.index-S.index).slice(0,h).map(c=>c.item.id));return d.filter(c=>l.has(c.id))},s=i(e.rows,n,d=>d.id),p=i(e.columns,r,d=>`col:${d.id}`),g=new Set(s.map(d=>d.id)),b=new Set(p.map(d=>d.id));return{...e,rows:s,columns:p,cells:e.cells.filter(d=>g.has(d.rowId)&&b.has(d.columnId)),of:{rows:e.rows.length,columns:e.columns.length}}}function fr(e,t,n,r){let a=m=>m,i=m=>r?ve(r.tryDefinition(m.kind),m):String(a(m).label??m.id),s=r?[n.rows,n.columns].filter(m=>r.tryDefinition(m)===void 0):[];if(s.length>0)throw new tn(`No kind is declared for ${s.map(m=>`"${m}"`).join(" or ")}.`,'Check the lens bindings: { rows: "<kind>", columns: "<kind>", link: "<edge kind>" }');if(r&&typeof n.link!="string"){let m=Tn(r,n.columns,n.link.path);if(!m.ok||!m.reached.has(n.rows)){let M=Tn(r,n.columns,[...n.link.path].reverse());throw new tn(M.ok&&M.reached.has(n.rows)?`The path runs from the ${n.rows} to the ${n.columns}; it is walked from the columns.`:`The path [${n.link.path.join(", ")}] cannot get from a ${n.columns} to a ${n.rows}.`,`Name it column end first: link: { path: [${[...n.link.path].reverse().map(D=>JSON.stringify(D)).join(", ")}] }`)}}let p=e.filter(m=>m.kind===n.rows),g=e.filter(m=>m.kind===n.columns);if(!r&&p.length===0&&g.length===0)throw new tn(`Nothing to lay out: no "${n.rows}" and no "${n.columns}" nodes.`,'Check the lens bindings: { rows: "<kind>", columns: "<kind>", link: "<edge kind>" }');let b=n.groupOrder??[],d=m=>{let M=b.indexOf(m);return M===-1?b.length:M},h=n.badge?t.filter(m=>m.kind===n.badge.edge):[],f=new Set(p.map(m=>m.id)),l=new Set(g.map(m=>m.id)),c=[];if(typeof n.link=="string"){let m=n.link,M=t.filter(T=>T.kind===m),D=T=>r?.tryDefinition?.(T)?.edges?.[m]?.to,H=(D(n.columns)??[]).some(T=>T===n.rows||T==="*"),k=(D(n.rows)??[]).some(T=>T===n.columns||T==="*"),F=H||!k;for(let T of M){let Q=F?T.to:T.from,se=F?T.from:T.to;f.has(Q)&&l.has(se)&&c.push({rowId:Q,columnId:se})}}else{let m=new Map;for(let D of new Set(n.link.path))m.set(D,new Map);for(let D of t){let H=m.get(D.kind);if(!H)continue;let k=H.get(D.from);k?k.push(D.to):H.set(D.from,[D.to]);let F=H.get(D.to);F?F.push(D.from):H.set(D.to,[D.from])}let M=new Set;for(let D of g){let H=[{id:D.id,via:[]}];for(let k of n.link.path){let F=[],T=new Set,Q=m.get(k);for(let se of H)for(let oe of Q.get(se.id)??[])T.has(`${se.id}|${oe}`)||(T.add(`${se.id}|${oe}`),F.push({id:oe,via:[...se.via,se.id]}));H=F}for(let k of H){if(!f.has(k.id))continue;let F=`${k.id}|${D.id}`;M.has(F)||(M.add(F),c.push({rowId:k.id,columnId:D.id,via:k.via.slice(1)}))}}}let S=new Set(n.requiredGroups??[]),u=n.requiredVia?new Set(t.filter(m=>m.kind===n.requiredVia.edge).map(m=>m.to)):null,x=new Set(c.map(m=>m.rowId)),A=new Set(c.map(m=>m.columnId)),E=new Set(h.map(m=>m.to)),z=(m,M)=>M==="label"?i(m):a(m)[M],w=Xe(p,n.sort,z).map(m=>{let M=a(m),D=Un(M,n.rowGroup);return{id:m.id,ref:Un(M,n.rowRef),label:i(m),group:D,required:u?u.has(m.id):S.size===0||S.has(D),covered:x.has(m.id),badged:E.has(m.id)}}).sort((m,M)=>d(m.group)-d(M.group)||(n.sort!==void 0?0:m.ref<M.ref?-1:m.ref>M.ref?1:0)),C=Xe(g,n.columnSort,z).map(m=>({id:m.id,label:i(m),used:A.has(m.id),group:Un(a(m),n.columnGroup)})).sort((m,M)=>m.group<M.group?-1:m.group>M.group?1:n.columnSort!==void 0?0:m.id<M.id?-1:m.id>M.id?1:0).map(({group:m,...M})=>M);return{rows:w,columns:C,cells:c,gaps:w.filter(m=>m.required&&!m.covered).map(m=>m.id),unasked:C.filter(m=>!m.used).map(m=>m.id)}}var ur=316,Kn=58,Yn=176,Jr=Math.sin(Kn*Math.PI/180),Xr=Math.cos(Kn*Math.PI/180),Zr=e=>{let t=e.reduce((r,a)=>Math.max(r,a.length),0),n=Math.min(Yn,Math.max(46,t*5.4+12));return Math.ceil(n*Jr)+8},gr=Math.ceil(Yn*Xr),mr=(e,t)=>ln(e,t).toLowerCase(),hr=(e,t)=>sn(e.tryDefinition(t),t);function ea(e,t,n){return t.rows===t.columns?`${e} with none across`:`${Ge(n,t.rows,e)} with no ${hr(n,t.columns)}`}function na(e,t,n){return t.rows===t.columns?`${e} with none down`:`${Ge(n,t.columns,e)} on no ${hr(n,t.rows)}`}function ta({nodes:e,label:t,fidelity:n,mode:r,options:a,schema:i,implicated:s=[],flagged:p=[],budget:g,rowsKept:b}){let{store:d}=ae(),h=sa(),f=(0,ke.useRef)(null),l=je(f),[c,S]=(0,ke.useState)(null),u=fr(qe(d.graph,d.schema,e).filter(k=>k.kind===a.rows||k.kind===a.columns).filter(k=>b===void 0||a.rows===a.columns||k.kind!==a.rows||b.has(k.id)),d.graph.allEdges(),a,i),x=n==="full"?Qr(u,g!==void 0?{rows:g,columns:g}:{}):u,A=typeof a.link=="string"?a.link:void 0,E=b!==void 0&&u.cells.length===0&&u.columns.length>0&&(A===void 0||d.graph.allEdges().some(k=>k.kind===A))?void 0:gt(d.schema,a,{rows:u.rows.length,columns:u.columns.length,cells:u.cells.length});if(n==="glyph")return(0,q.jsx)(be,{label:`${t??"Coverage"} \xB7 ${E?"nothing linked":x.gaps.length===0?"complete":`${x.gaps.length} missing`}`,hue:fe("coverage")});if(E)return(0,q.jsx)(de,{title:t??"Coverage",tone:"muted",fit:!0,...r==="fullscreen"?{style:{flex:"1 1 auto",minHeight:0,height:"100%"}}:{},children:(0,q.jsx)("p",{"data-coverage-unlinked":"",style:{margin:0,color:"var(--graview-ink-muted)"},children:E})});if(n==="summary"){let k=x.rows.filter(F=>x.gaps.includes(F.id));return(0,q.jsxs)(de,{title:t??"Coverage",meta:`${x.rows.length-x.gaps.length}/${x.rows.length}`,tone:x.gaps.length>0?"warning":"muted",fit:!0,children:[(0,q.jsx)(la,{grid:x}),k.length>0?(0,q.jsx)(Pe,{pick:!0,max:4,items:k.map(F=>({id:F.id,label:F.ref||F.label}))}):null]})}let z=new Set(s),w=new Set(p),C=c!==null&&c.every(k=>z.has(k))?c:null,m=r==="fullscreen",M=Zr(x.columns.map(k=>k.label)),D=l===null?ur:Math.max(96,Math.min(ur,Math.round(l*.36))),H=l!==null&&(l<420||D+x.columns.length*28+gr>l);return(0,q.jsx)(de,{title:t??"Coverage",...m?{style:{flex:"1 1 auto",minHeight:0,height:"100%"}}:{},meta:x.rows.length===0||x.columns.length===0?void 0:x.gaps.length===0&&x.unasked.length===0?"complete":[x.gaps.length>0?ea(x.gaps.length,a,d.schema):"",x.unasked.length>0?na(x.unasked.length,a,d.schema):""].filter(Boolean).join(" \xB7 "),selected:!1,fit:!0,children:(0,q.jsxs)("div",{ref:f,"data-coverage-shape":H?"stacked":"matrix",onClick:k=>S(pr(k.target)),onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&S(pr(k.target))},style:{position:"relative",display:"flex",flexDirection:"column",flex:"1 1 auto",minHeight:0,paddingRight:H?0:gr},children:[H?null:(0,q.jsxs)("div",{style:{display:"flex",alignItems:"flex-end",flex:"0 0 auto",position:"sticky",top:0,zIndex:Ae.over,background:"var(--graview-panel)",paddingTop:6},children:[(0,q.jsx)("div",{ref:h.corner,style:{width:D,flex:"0 0 auto",alignSelf:"stretch",position:"sticky",left:0,zIndex:Ae.raised,background:"var(--graview-panel)"}}),(0,q.jsx)("div",{ref:h.heads,style:{display:"flex",flex:1,minWidth:0,height:M},children:x.columns.map(k=>(0,q.jsx)("div",{"data-graview-pick":k.id,"data-graview-emphasis":z.size===0?"plain":z.has(k.id)?"lit":"dimmed",title:k.label,"data-graview-column":k.id,style:{flex:1,minWidth:28,boxSizing:"border-box",borderLeft:"1px solid transparent",pointerEvents:"none",position:"relative",display:"flex",alignItems:"flex-end",justifyContent:"center"},children:(0,q.jsxs)("span",{style:{position:"absolute",bottom:3,padding:"3px 0",pointerEvents:"auto",cursor:"pointer",left:"50%",visibility:h.hidden.has(k.id)?"hidden":"visible",transformOrigin:"left bottom",transform:`rotate(-${Kn}deg)`,whiteSpace:"nowrap",maxWidth:Yn,overflow:"hidden",textOverflow:"ellipsis",fontSize:"0.75rem",letterSpacing:"0.005em",color:k.used?z.size>0&&!z.has(k.id)?"var(--graview-ink-faint)":"var(--graview-ink)":"var(--graview-warn)"},children:[k.used?"":"\u26A0 ",k.label]})},k.id))})]}),x.of?(0,q.jsxs)("p",{"data-testid":"coverage-more",style:{margin:"4px 0 6px",fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:[[x.of.rows>x.rows.length?`the ${x.rows.length} most connected of ${x.of.rows} ${mr(d.schema,a.rows)}`:null,x.of.columns>x.columns.length?`${x.columns.length} of ${x.of.columns} ${mr(d.schema,a.columns)} across`:null].filter(Boolean).join(" \xB7 ").replace(/^./,k=>k.toUpperCase())," ","\u2014 what is missing is still counted over all of them."]}):null,(0,q.jsx)("div",{children:x.rows.map((k,F)=>{let T=x.rows[F-1],Q=T===void 0||T.group!==k.group,se=k.required&&!k.covered,oe=z.size>0&&!z.has(k.id);return(0,q.jsxs)("div",{children:[Q&&k.group?(0,q.jsx)("div",{style:{fontSize:"0.6875rem",letterSpacing:"0.16em",textTransform:"uppercase",color:"var(--graview-ink-faint)",padding:"9px 0 3px"},children:(0,q.jsx)("span",{style:{position:"sticky",left:0,display:"inline-block",paddingRight:8,background:"var(--graview-panel)"},children:k.group})}):null,(0,q.jsxs)("div",{style:{display:"flex",flexDirection:H?"column":"row",alignItems:"stretch",borderTop:"1px solid var(--graview-edge)",opacity:oe?.72:1},children:[(0,q.jsxs)("div",{"data-graview-pick":k.id,"data-graview-emphasis":z.size===0?"plain":oe?"dimmed":"lit",title:k.label,style:{width:H?"auto":D,flex:"0 0 auto",position:H?"static":"sticky",left:0,zIndex:Ae.raised,background:"var(--graview-panel)",display:"flex",alignItems:"center",gap:7,padding:"6px 10px 6px 0",boxSizing:"border-box",fontSize:"0.8125rem",minWidth:0,color:se||w.has(k.id)?"var(--graview-warn)":"var(--graview-ink)"},children:[k.ref?(0,q.jsx)("span",{style:{flex:"0 0 auto",fontVariantNumeric:"tabular-nums",color:"var(--graview-ink-faint)"},children:k.ref}):null,(0,q.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k.label}),a.badge?(0,q.jsx)("span",{title:k.badged?a.badge.title:a.badge.missingTitle,style:{marginLeft:"auto",flex:"0 0 auto",fontSize:"0.75rem",color:k.badged?"var(--graview-ink-faint)":"var(--graview-warn)"},children:k.badged?a.badge.symbol:"\u25CB"}):null]}),(0,q.jsx)("div",{style:{display:"flex",flex:1,minWidth:0,...H?{flexWrap:"wrap",gap:6,padding:"0 0 8px"}:{}},children:x.columns.map(J=>{let ce=x.cells.find(W=>W.rowId===k.id&&W.columnId===J.id),ue=ce!==void 0;return(0,q.jsxs)("div",{"data-graview-mark":"",...ue?{"data-graview-pick":J.id,"data-graview-emphasis":z.size===0?"plain":z.has(J.id)&&z.has(k.id)?"lit":"dimmed","data-graview-joins":JSON.stringify(ra(ce))}:{},title:ue?`${J.label} answers ${k.ref||k.label}`:`${J.label} does not answer ${k.ref||k.label}`,style:H?{flex:"0 0 auto",minHeight:24,boxSizing:"border-box",display:"inline-flex",alignItems:"center",gap:6,padding:"2px 9px 2px 7px",borderRadius:6,border:"1px solid var(--graview-edge)",fontSize:"0.75rem",color:ue?"var(--graview-ink)":"var(--graview-ink-faint)"}:{flex:1,minWidth:28,boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",borderLeft:"1px solid var(--graview-edge)"},children:[(0,q.jsx)("span",{style:oa(ue,se,z.has(J.id)&&z.has(k.id),z.size>0)}),H?(0,q.jsx)("span",{children:J.label}):null]},J.id)})})]})]},k.id)})}),C?(0,q.jsx)(ia,{box:f,joins:C,shape:`${H?"stacked":"matrix"} ${l??""}`}):null]})})}var ra=e=>[e.rowId,e.columnId,...e.via??[]];function pr(e){let t=e?.closest?.("[data-graview-joins]")?.getAttribute("data-graview-joins");if(!t)return null;try{let n=JSON.parse(t);return Array.isArray(n)&&n.every(r=>typeof r=="string")?n:null}catch{return null}}var xn=(e,t,n)=>Math.min(n,Math.max(t,e));function aa(e){let t=e.getBoundingClientRect(),n=typeof document.createRange=="function"?document.createRange():null;n?.selectNodeContents(e);let r=typeof n?.getBoundingClientRect=="function"?n.getBoundingClientRect():null;return r&&r.width>0&&r.height>0?r:t}function ia({box:e,joins:t,shape:n}){let[r,a]=(0,ke.useState)([]),i=JSON.stringify(t);return(0,ke.useLayoutEffect)(()=>{let s=e.current;if(!s||typeof window>"u")return;let p=()=>{let d=s.getBoundingClientRect(),h=s.offsetWidth>0&&d.width>0?d.width/s.offsetWidth:1,f=[...s.querySelectorAll("[data-graview-joins]")].find(S=>S.getAttribute("data-graview-joins")===i);if(!f){a([]);return}let l=f.getBoundingClientRect(),c=[];for(let S of JSON.parse(i)){let u=[...s.querySelectorAll("[data-graview-pick]")].find(C=>C.getAttribute("data-graview-pick")===S&&!C.closest("[data-graview-mark]"));if(!u)continue;let x=aa(u),A=xn(l.left+l.width/2,x.left,x.right),E=xn(l.top+l.height/2,x.top,x.bottom),z=xn(A,l.left,l.right),w=xn(E,l.top,l.bottom);c.push({id:S,x1:(z-d.left)/h,y1:(w-d.top)/h,x2:(A-d.left)/h,y2:(E-d.top)/h})}a(c)};p();let g=0,b=()=>{g===0&&(g=requestAnimationFrame(()=>{g=0,p()}))};return document.addEventListener("scroll",b,{capture:!0,passive:!0}),window.addEventListener("resize",b,{passive:!0}),()=>{document.removeEventListener("scroll",b,{capture:!0}),window.removeEventListener("resize",b),g!==0&&cancelAnimationFrame(g)}},[e,i,n]),(0,q.jsx)("svg",{"aria-hidden":"true","data-coverage-join":i,style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none",zIndex:Ae.over},children:r.map(s=>(0,q.jsxs)("g",{"data-coverage-join-to":s.id,children:[(0,q.jsx)("line",{x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,stroke:"var(--graview-accent)",strokeWidth:1.6,strokeLinecap:"round"}),(0,q.jsx)("circle",{cx:s.x2,cy:s.y2,r:2.6,fill:"var(--graview-accent)"})]},s.id))})}function oa(e,t,n,r){return e?{width:13,height:13,borderRadius:4,background:n||!r?"var(--graview-accent)":"var(--graview-accent-dim)",boxShadow:n&&r?"0 0 12px -2px var(--graview-accent)":void 0}:{width:5,height:5,borderRadius:1,background:t?"var(--graview-warn)":"var(--graview-edge)",opacity:t?.5:1}}function la({grid:e}){let t=e.rows.filter(a=>a.required),n=t.filter(a=>a.covered).length,r=t.length===0?1:n/t.length;return(0,q.jsx)("div",{role:"img","aria-label":`${n} of ${t.length} covered`,style:{height:6,borderRadius:999,overflow:"hidden",background:"var(--graview-edge)"},children:(0,q.jsx)("div",{style:{width:`${Math.round(r*100)}%`,height:"100%",background:r===1?"var(--graview-accent)":"var(--graview-warn)"}})})}function yr(e){function t(n){let{store:r}=ae(),a=qe(r.graph,r.schema,n.nodes).filter(g=>g.kind===e.rows),{arranged:i,bar:s}=Re(n,{lensAllows:{sort:!1,group:!1},subject:a,kind:e.rows,...e.search?{search:e.search}:{},...e.filters?{filters:e.filters}:{}}),p=(0,q.jsx)(ta,{schema:r.schema,...n,options:e,...s?{rowsKept:new Set(i.nodes.map(g=>g.id))}:{}});return s?(0,q.jsxs)("div",{style:{display:"grid",gap:6,height:"100%",minHeight:0,gridTemplateRows:"auto 1fr"},children:[s,p]}):p}return{name:"coverage",requiredRoles:[...Ur],options:e,View:t,build(n,r,a){return fr(n,r,e,a)}}}function sa(){let e=(0,ke.useRef)(null),t=(0,ke.useRef)(null),[n,r]=(0,ke.useState)(new Set);return(0,ke.useEffect)(()=>{let a=t.current;if(!a||typeof window>"u")return;let i=a.parentElement;for(;i&&!/(auto|scroll)/.test(getComputedStyle(i).overflowX);)i=i.parentElement;if(!i)return;let s=0,p=()=>{s=0;let b=e.current?.getBoundingClientRect().right??0,d=new Set;for(let h of a.querySelectorAll("[data-graview-column]")){let f=h.getBoundingClientRect();f.left+f.width/2<b&&d.add(h.dataset.graviewColumn)}r(h=>h.size===d.size&&[...d].every(f=>h.has(f))?h:d)},g=()=>{s===0&&(s=requestAnimationFrame(p))};return p(),i.addEventListener("scroll",g,{passive:!0}),()=>{i.removeEventListener("scroll",g),s!==0&&cancelAnimationFrame(s)}},[]),{corner:e,heads:t,hidden:n}}var vr=["regions","outline"],Ye=class extends Error{constructor(n,r){super(`${n}
|
|
32
|
-
${r}`);this.hint=r;this.name="PlanBindingError"}},Sn='Check the lens bindings: { regions: "<kind>", outline: "<field>", markers?: "<kind>", at?: "<field>", within?: "<edge>" }',wr=e=>typeof e=="object"&&e!==null&&typeof e.x=="number"&&typeof e.y=="number";function kn(e,t,n,r){let a=u=>u,i=u=>r?ve(r.tryDefinition(u.kind),u):String(a(u).label??u.id);if(r&&r.tryDefinition(n.regions)===void 0)throw new Ye(`No kind is declared for "${n.regions}".`,Sn);if(n.markers&&r&&r.tryDefinition(n.markers)===void 0)throw new Ye(`No kind is declared for "${n.markers}".`,Sn);let s=e.filter(u=>u.kind===n.regions);if(!r&&s.length===0)throw new Ye(`Nothing to draw: no "${n.regions}" nodes.`,Sn);let g=r?.tryDefinition(n.regions)?.fields?.shape;if(g!==void 0&&!(n.outline in g))throw new Ye(`"${n.regions}" has no field called "${n.outline}".`,Sn);let b=(()=>{let u=new Map;if(n.nests)for(let x of t)x.kind===n.nests&&u.set(x.from,x.to);return x=>{let A=0,E=u.get(x),z=new Set([x]);for(;E!==void 0&&!z.has(E)&&A<s.length;)z.add(E),A+=1,E=u.get(E);return A}})(),d=n.markers?e.filter(u=>u.kind===n.markers):[],h=new Map;if(n.within)for(let u of t)u.kind===n.within&&h.set(u.from,u.to);let f=[],l=new Map;for(let u of d){let x=n.at===void 0?void 0:a(u)[n.at],A=h.get(u.id);if(!wr(x)||A===void 0){f.push({id:u.id,label:i(u)});continue}let E=n.markerKind===void 0?void 0:a(u)[n.markerKind],z=l.get(A)??[];z.push({id:u.id,label:i(u),at:x,...typeof E=="string"?{what:E}:{}}),l.set(A,z)}let c=[],S=[];for(let u of s){let x=a(u)[n.outline];if(!Array.isArray(x)||x.length<3||!x.every(wr)){c.push({id:u.id,label:i(u)});continue}let A=n.regionKind===void 0?void 0:a(u)[n.regionKind];S.push({id:u.id,label:i(u),outline:x,center:Et(x),depth:b(u.id),markers:l.get(u.id)??[],...typeof A=="string"?{what:A}:{}})}return S.sort((u,x)=>u.depth-x.depth),{regions:S,undrawn:c,strays:f}}var Be=Y(Ne(),1);var B=Y(ee(),1);function br({map:e,options:t,implicated:n,flagged:r}){return(0,B.jsxs)("ul",{style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:".25rem"},children:[e.regions.map(a=>{let i=Cn(a.id,n,r);return(0,B.jsxs)("li",{"data-graview-pick":a.id,...i?{"data-graview-emphasis":i}:{},style:{display:"flex",flexWrap:"wrap",gap:".5rem",justifyContent:"space-between",minWidth:0,padding:".25rem .4rem",borderRadius:".35rem",background:i==="flagged"?Jn(a.what,i,t.hues):void 0},children:[(0,B.jsx)("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:a.label}),(0,B.jsxs)("span",{style:{opacity:.7,whiteSpace:"nowrap"},children:[a.what?`${a.what} \xB7 `:"",a.markers.length]})]},a.id)}),e.undrawn.map(a=>(0,B.jsxs)("li",{"data-graview-pick":a.id,style:{display:"flex",gap:".5rem",opacity:.7,padding:".25rem .4rem"},children:[(0,B.jsx)("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:a.label}),(0,B.jsx)("span",{style:{whiteSpace:"nowrap"},children:t.undrawnLabel??"not drawn"})]},a.id))]})}var Qn=1e3,xr=.022,rn={minHeight:"1.9rem",padding:".25rem .65rem",borderRadius:".35rem",border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)",font:"inherit",fontSize:"0.9375rem",cursor:"pointer"},Cn=(e,t,n)=>{if(n?.includes(e))return"flagged";if(t?.includes(e))return"implicated"},On=(e,t)=>(e===void 0?void 0:t?.[e])??fe(e??"region"),Jn=(e,t,n)=>t==="flagged"?"color-mix(in oklab, var(--graview-warn) 26%, var(--graview-panel))":`color-mix(in oklab, hsl(${On(e,n)} 52% 48%) 24%, var(--graview-panel))`,Sr=(e,t,n)=>t==="flagged"?"var(--graview-warn)":`color-mix(in oklab, hsl(${On(e,n)} 48% 42%) 78%, var(--graview-ink))`;function da(e){let t=e.currentTarget.getBoundingClientRect(),n=r=>Math.round(Math.max(0,Math.min(1,r))*1e3)/1e3;return{x:n(t.width===0?0:(e.clientX-t.left)/t.width),y:n(t.height===0?0:(e.clientY-t.top)/t.height)}}function kr({schema:e,options:t,nodes:n,label:r,fidelity:a,selected:i,implicated:s,flagged:p}){let{store:g}=ae(),b=g.graph.allEdges(),d=g.graph.allNodes(),h=n===void 0?void 0:new Set(n.map(y=>y.id)),f=h===void 0?d:d.filter(y=>y.kind!==t.regions||h.has(y.id)),l=kn(f,b,t,e),c=l.regions.length,S=l.regions.reduce((y,$)=>y+$.markers.length,0);if(a==="glyph")return(0,B.jsx)(be,{label:`${r??"Ground"} \xB7 ${c}`,...l.undrawn.length>0?{meta:`+${l.undrawn.length} undrawn`}:{},selected:i});if(a==="summary")return(0,B.jsx)(de,{title:r??"The plan",subtitle:`${c} drawn \xB7 ${S} standing in them`,children:(0,B.jsx)(br,{map:l,options:t,...s?{implicated:s}:{},...p?{flagged:p}:{}})});let u=(0,Be.useMemo)(()=>{let y=1/0,$=1/0,L=-1/0,K=-1/0,Z=V=>{V.x<y&&(y=V.x),V.x>L&&(L=V.x),V.y<$&&($=V.y),V.y>K&&(K=V.y)};for(let V of l.regions){for(let he of V.outline)Z(he);for(let he of V.markers)Z(he.at)}if(!Number.isFinite(y)||L-y<=0||K-$<=0)return{x0:0,y0:0,x1:1,y1:1};let le=Math.max(L-y,K-$)*.04;return{x0:y-le,y0:$-le,x1:L+le,y1:K+le}},[l.regions]),x=(u.x1-u.x0)/(u.y1-u.y0),A=t.aspect??Math.min(3.2,Math.max(.55,x)),E=Math.round(Qn/(u.x1-u.x0)),z=Math.round(E*(u.x1-u.x0)),w=Math.round(z/A),C={x:u.x0*E,y:u.y0*E-(w-E*(u.y1-u.y0))/2,w:z,h:w},m=E,M=C.w,D=(s?.length??0)>0||(p?.length??0)>0,H=(0,Be.useRef)(null),{touchable:k,legible:F}=bt(H,{units:C.w,target:M*xr*2}),T=Dn("--graview-font-display","serif"),Q=Dn("--graview-font-body","sans-serif"),{named:se,placed:oe,tagged:J}=(0,Be.useMemo)(()=>{let y=[],$=M*.012,L=Qn*.004,K=(ne,U)=>!y.some(me=>me!==U&&Lt({x0:ne.x0-L,y0:ne.y0-L,x1:ne.x1+L,y1:ne.y1+L},me)),Z=[...l.regions].sort((ne,U)=>Bn(U.outline)-Bn(ne.outline)),le=new Map,V=new Map;for(let ne of Z){let U=Rt(ne.outline),me=Math.max(0,(U.bottom-U.top)*m*.55),Me=null;for(let $e of[.12,.26,.42,.6,.78]){let Ce=U.top+$e*(U.bottom-U.top),Le=zn(ne.outline,Ce),$n=Math.max(0,(Le.x1-Le.x0)*E-$*2),ye=Mt(ne.label,{room:$n,height:me,size:M*.023,floor:M*.015,measure:T});if(ye===null)continue;let Ie=Math.max(...ye.lines.map(Pr=>T(Pr,ye.fontSize))),Te=ye.lines.length*ye.fontSize*1.15,Zn=U.top*m+$+Te/2,et=U.bottom*m-$-Te/2,on=et<Zn?(U.top+U.bottom)*m/2:Math.min(Math.max(Ce*m,Zn),et),An=zn(ne.outline,on/m),Rn=An.x0*E+$;if(Ie>(An.x1-An.x0)*E-$*2)continue;let nt={x0:Rn,y0:on-Te/2,x1:Rn+Ie,y1:on+Te/2};if(K(nt)){y.push(nt),Me={fitted:ye,x:Rn,y:on};break}}le.set(ne.id,Me?.fitted??null),Me!==null&&V.set(ne.id,{x:Me.x,y:Me.y})}let he=M*.018,_=new Map,G=M*.011+M*.004,we=new Map;for(let ne of l.regions)for(let U of ne.markers){let me={x0:U.at.x*E-G,y0:U.at.y*m-G,x1:U.at.x*E+G,y1:U.at.y*m+G};we.set(U.id,me),y.push(me)}for(let ne of k?l.regions:[])for(let U of ne.markers){let me=M*.018,Me=Q(U.label,he),$e=U.at.x*E,Ce=U.at.y*m,Le=he*1.15,$n=[{x:$e+me,y:Ce,anchor:"start"},{x:$e-me,y:Ce,anchor:"end"},{x:$e+me*.7,y:Ce-Le,anchor:"start"},{x:$e-me*.7,y:Ce-Le,anchor:"end"},{x:$e+me*.7,y:Ce+Le,anchor:"start"},{x:$e-me*.7,y:Ce+Le,anchor:"end"},{x:$e,y:Ce-Le*1.1,anchor:"start"},{x:$e,y:Ce+Le*1.1,anchor:"start"}];for(let ye of $n){let Ie=ye.anchor==="start"?ye.x:ye.x-Me,Te={x0:Ie,y0:ye.y-he*.62,x1:Ie+Me,y1:ye.y+he*.62};if(!(Ie<C.x+4||Ie+Me>C.x+C.w-4)&&!(Te.y0<C.y+2||Te.y1>C.y+C.h-2)&&K(Te,we.get(U.id))){y.push(Te),_.set(U.id,{at:{x:ye.x,y:ye.y},anchor:ye.anchor,size:he});break}}}return{named:le,placed:V,tagged:_}},[l.regions,Qn,m,k,T,Q]),ce=(0,Be.useMemo)(()=>{let y=[];for(let $ of l.regions)(se.get($.id)?.whole??!1)===!1&&y.push({id:$.id,label:$.label,what:$.what,round:!1});for(let $ of l.regions)for(let L of $.markers)(!k||!J.has(L.id))&&y.push({id:L.id,label:L.label,what:L.what,round:!0});return y},[l.regions,se,J,k]),{principal:ue}=ae(),[W,R]=(0,Be.useState)(null),v=t.draw!==void 0,o=t.place!==void 0,O=y=>{if(W===null)return;y.stopPropagation();let $=da(y);if(W.kind==="marker"){g.apply({name:t.place.act,args:{[t.place.id]:W.id,[t.place.at]:$}},{author:ue,intent:`Placed ${W.label} on the map`}),R(null);return}R({...W,corners:[...W.corners,$]})},P=()=>{W===null||W.kind!=="region"||W.corners.length<3||(g.apply({name:t.draw.act,args:{[t.draw.id]:W.id,[t.draw.outline]:W.corners}},{author:ue,intent:`Drew ${W.label} on the map \u2014 ${W.corners.length} corners`}),R(null))},N=W===null?l.regions.length===0?"Nothing drawn yet. Choose an area below, then click its corners here.":null:W.kind==="marker"?`Click where ${W.label} stands.`:W.corners.length<3?`Click the corners of ${W.label} \u2014 ${3-W.corners.length} more to make an area.`:`${W.corners.length} corners. Keep clicking, or press Done.`;return F?(0,B.jsxs)(de,{title:r??"The plan",subtitle:`${c} drawn \xB7 ${S} standing in them`,...l.undrawn.length>0?{meta:`${l.undrawn.length} ${t.undrawnLabel??"not drawn yet"}`}:{},selected:i,fit:!0,children:[(0,B.jsx)("div",{style:{position:"relative",width:"100%",aspectRatio:`${C.w} / ${C.h}`,overflow:"hidden"},children:(0,B.jsxs)("svg",{ref:H,viewBox:`${C.x} ${C.y} ${C.w} ${C.h}`,width:"100%",height:"100%",preserveAspectRatio:"xMidYMid meet",role:W!==null?"application":k?"group":"img","aria-label":W===null?`${r??"The plan"}: ${c} drawn, ${S} standing in them`:N??"Drawing",onClick:O,"data-testid":"plan-canvas",style:{display:"block",position:"absolute",inset:0,cursor:W===null?void 0:"crosshair",border:"1px dashed color-mix(in oklab, var(--graview-edge) 80%, transparent)",borderRadius:".4rem",backgroundImage:"linear-gradient(color-mix(in oklab, var(--graview-edge) 35%, transparent) 1px, transparent 1px),linear-gradient(90deg, color-mix(in oklab, var(--graview-edge) 35%, transparent) 1px, transparent 1px)",backgroundSize:"10% 10%"},children:[(0,B.jsx)("text",{x:C.x+C.w-M*.028,y:C.y+M*.034,fontSize:M*.022,textAnchor:"middle",fill:"var(--graview-ink)",opacity:.55,children:"N"}),N!==null&&l.regions.length===0?(0,B.jsx)("text",{x:C.x+C.w/2,y:C.y+C.h/2,textAnchor:"middle",dominantBaseline:"middle",fontSize:M*.026,fill:"var(--graview-ink)",opacity:.7,style:{pointerEvents:"none",fontFamily:"var(--graview-font-body)"},children:N}):null,W!==null&&W.kind==="region"&&W.corners.length>0?(0,B.jsxs)("g",{style:{pointerEvents:"none"},children:[(0,B.jsx)("polyline",{points:W.corners.map(y=>`${y.x*E},${y.y*m}`).join(" "),fill:W.corners.length>=3?"color-mix(in oklab, var(--graview-accent) 22%, transparent)":"none",stroke:"var(--graview-accent)",strokeWidth:3,strokeDasharray:"8 6"}),W.corners.map((y,$)=>(0,B.jsx)("circle",{cx:y.x*E,cy:y.y*m,r:M*.008,fill:"var(--graview-accent)"},$))]}):null,l.regions.map(y=>{let $=Cn(y.id,s,p),L=D&&$===void 0?.34:1,K=y.outline.map(Z=>`${Z.x*E},${Z.y*m}`).join(" ");return(0,B.jsx)("g",{"data-graview-pick":y.id,...$?{"data-graview-emphasis":$}:{},role:"button","aria-label":`${y.label}${y.what?`, ${y.what}`:""}, ${y.markers.length} standing in it`,style:{opacity:L,cursor:"pointer"},children:(0,B.jsx)("polygon",{points:K,fill:Jn(y.what,$,t.hues),stroke:Sr(y.what,$,t.hues),strokeWidth:$==="flagged"?5:2.5,strokeLinejoin:"round"})},y.id)}),l.regions.flatMap(y=>y.markers.map($=>{let L=Cn($.id,s,p),K=D&&L===void 0?.34:1;return(0,B.jsxs)("g",{...k?{"data-graview-pick":$.id,role:"button","aria-label":`${$.label}${$.what?`, ${$.what}`:""}, in ${y.label}`}:{"aria-hidden":!0},...L?{"data-graview-emphasis":L}:{},style:{opacity:K,cursor:k?"pointer":"default"},children:[k?(0,B.jsx)("circle",{cx:$.at.x*E,cy:$.at.y*m,r:M*xr,fill:"transparent"}):null,(0,B.jsx)("circle",{cx:$.at.x*E,cy:$.at.y*m,r:M*.011,fill:L==="flagged"?"var(--graview-warn)":`hsl(${On($.what,t.hues)} 55% 45%)`,stroke:"var(--graview-panel)",strokeWidth:M*.004}),J.has($.id)?(0,B.jsx)("text",{x:J.get($.id).at.x,y:J.get($.id).at.y,textAnchor:J.get($.id).anchor,dominantBaseline:"middle",fontSize:J.get($.id).size,fill:"var(--graview-ink)",stroke:"var(--graview-panel)",strokeWidth:Math.max(2,J.get($.id).size*.3),paintOrder:"stroke","data-testid":`marker-label-${$.id}`,style:{pointerEvents:"none",fontFamily:"var(--graview-font-body)"},children:$.label}):null]},$.id)})),l.regions.map(y=>{let $=se.get(y.id),L=oe.get(y.id);if(!$||L===void 0)return null;let K=Cn(y.id,s,p);return(0,B.jsx)("text",{x:L.x,y:L.y-($.lines.length-1)*$.fontSize*1.15/2,textAnchor:"start",dominantBaseline:"middle",fontSize:$.fontSize,fill:"var(--graview-ink)",opacity:D&&K===void 0?.34:1,stroke:"var(--graview-panel)",strokeWidth:Math.max(2,$.fontSize*.26),paintOrder:"stroke","data-testid":`region-label-${y.id}`,style:{pointerEvents:"none",fontFamily:"var(--graview-font-display)"},children:$.lines.map((Z,le)=>(0,B.jsx)("tspan",{x:L.x,dy:le===0?0:$.fontSize*1.15,children:Z},Z+String(le)))},`label-${y.id}`)})]})}),ce.length>0?(0,B.jsx)("ul",{"data-testid":"map-key",style:{margin:".5rem 0 0",padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:".2rem .75rem",fontSize:"0.875rem"},children:ce.map(y=>(0,B.jsxs)("li",{"data-graview-pick":y.id,style:{display:"flex",alignItems:"center",gap:".35rem",minWidth:0,minHeight:"max(1.5rem, 24px)",padding:"0 .15rem",cursor:"pointer"},children:[(0,B.jsx)("span",{"aria-hidden":"true",style:{width:y.round?".55rem":".7rem",height:y.round?".55rem":".7rem",flex:"0 0 auto",borderRadius:y.round?"50%":".15rem",background:y.round?`hsl(${On(y.what,t.hues)} 55% 45%)`:Jn(y.what,void 0,t.hues),border:y.round?void 0:`1px solid ${Sr(y.what,void 0,t.hues)}`}}),(0,B.jsx)("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:y.label})]},y.id))}):null,W!==null?(0,B.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:".5rem",marginTop:".5rem",alignItems:"center"},children:[l.regions.length>0&&N!==null?(0,B.jsx)("span",{style:{fontSize:"0.9375rem",opacity:.8,flexBasis:"100%"},"aria-live":"polite",children:N}):null,W.kind==="region"?(0,B.jsxs)("button",{type:"button",onClick:P,disabled:W.corners.length<3,"data-testid":"draw-done",style:{...rn,background:"var(--graview-accent)",color:"var(--graview-accent-ink)",borderColor:"transparent"},children:["Done \u2014 keep ",W.label]}):null,W.kind==="region"&&W.corners.length>0?(0,B.jsx)("button",{type:"button",onClick:()=>R({...W,corners:W.corners.slice(0,-1)}),style:rn,children:"Undo a corner"}):null,(0,B.jsx)("button",{type:"button",onClick:()=>R(null),style:rn,"data-testid":"draw-cancel",children:"Stop"})]}):(0,B.jsxs)(B.Fragment,{children:[v&&l.undrawn.length>0?(0,B.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:".4rem",marginTop:".5rem",alignItems:"center"},children:[(0,B.jsxs)("span",{style:{fontSize:"0.875rem",opacity:.75},children:[t.undrawnLabel??"Not drawn yet",":"]}),l.undrawn.map(y=>(0,B.jsxs)("button",{type:"button",style:rn,onClick:()=>R({kind:"region",id:y.id,label:y.label,corners:[]}),"data-testid":`draw-${y.id}`,children:["Draw ",y.label]},y.id))]}):null,o&&l.strays.length>0?(0,B.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:".4rem",marginTop:".5rem",alignItems:"center"},children:[(0,B.jsxs)("span",{style:{fontSize:"0.875rem",opacity:.75},children:[t.strayLabel??"Not placed",":"]}),l.strays.map(y=>(0,B.jsxs)("button",{type:"button",style:rn,onClick:()=>R({kind:"marker",id:y.id,label:y.label}),"data-testid":`place-${y.id}`,children:["Place ",y.label]},y.id))]}):null,t.help!==void 0&&(l.undrawn.length>0||l.strays.length>0)?(0,B.jsx)("p",{style:{margin:".5rem 0 0",fontSize:"0.875rem"},children:(0,B.jsx)("a",{href:t.help.href,"data-testid":"map-help",children:t.help.label})}):null,!v&&(l.undrawn.length>0||l.strays.length>0)?(0,B.jsxs)("p",{style:{margin:".5rem 0 0",fontSize:"0.875rem",opacity:.75},children:[l.undrawn.map(y=>y.label).join(", "),l.undrawn.length>0?` \u2014 ${t.undrawnLabel??"not drawn yet"}. `:"",l.strays.map(y=>y.label).join(", "),l.strays.length>0?` \u2014 ${t.strayLabel??"not placed"}.`:""]}):null]})]}):(0,B.jsx)(de,{title:r??"The plan",subtitle:`${c} drawn \xB7 ${S} standing in them`,selected:i,children:(0,B.jsx)(br,{map:l,options:t,...s?{implicated:s}:{},...p?{flagged:p}:{}})})}var Or=Y(ee(),1);function Cr(e){function t(n){let{store:r}=ae();return(0,Or.jsx)(kr,{schema:r.schema,...n,options:e})}return{name:"plan",requiredRoles:[...vr],options:e,View:t,build(n,r,a){return kn(n,r,e,a)}}}var ge=Y(ee(),1);function ca(e,t,n){let r=t.flatMap(i=>(i.subject&&i.subject.kinds!=="*"?i.subject.kinds:[null]).map(p=>({name:i.name,title:i.title??i.name,kind:p}))),a=[];for(let i of n){let s={kind:"human",id:"themselves",roles:[i]};for(let p of r){let g=p.kind??void 0,b=Ln(e,s,p.name,g).ok,d=!b&&Ln(e,s,p.name,g,void 0,"themselves").ok;a.push({role:i,act:p.name,kind:p.kind,may:b?"yes":d?"self":"no"})}}return{roles:n,acts:r,cells:a}}function ua({label:e,fidelity:t,mode:n}){let{store:r}=ae(),a=r.policy,i=a?.roles??[],s=r.allMutations().filter(h=>!h.derived).map(h=>({name:h.name,...h.title?{title:h.title}:{},...h.subject?{subject:h.subject}:{}})),p=ca(a,s,i),g=e??"Who may do what";if(!a||i.length===0)return(0,ge.jsxs)("div",{"data-testid":"reach-lens",style:{padding:14,color:"var(--graview-ink-muted)",fontSize:"0.875rem"},children:[g,": this installation has no policy, so everyone may do everything."]});if(t==="glyph")return(0,ge.jsx)(be,{label:`${g} \xB7 ${i.length} ${i.length===1?"role":"roles"}`,hue:fe("role")});let b=n==="fullscreen",d=h=>h==="yes"?"\u25CF":h==="self"?"\u25D0":"\xB7";return(0,ge.jsxs)("div",{"data-testid":"reach-lens",style:{display:"grid",gap:10,padding:b?0:14,borderRadius:"var(--graview-radius, 12px)",background:b?"transparent":"var(--graview-panel)",border:b?"none":"1px solid var(--graview-edge)",color:"var(--graview-ink)",minWidth:0},children:[(0,ge.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10},children:[(0,ge.jsx)("span",{style:{fontFamily:"var(--graview-font-display)",fontSize:"1.125rem",fontWeight:600},children:g}),(0,ge.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:"\u25CF may \xB7 \u25D0 on their own record \xB7 read from the policy"})]}),(0,ge.jsx)("div",{"data-scroller":!0,style:{overflowX:"auto"},children:(0,ge.jsxs)("table",{style:{borderCollapse:"collapse",fontSize:"0.875rem",minWidth:"100%"},children:[(0,ge.jsx)("thead",{children:(0,ge.jsxs)("tr",{children:[(0,ge.jsx)("th",{scope:"col",style:{textAlign:"left",padding:"4px 10px 6px 0",fontWeight:500,color:"var(--graview-ink-faint)",fontSize:"0.75rem",letterSpacing:"0.12em",textTransform:"uppercase"},children:"Role"}),p.acts.map(h=>(0,ge.jsxs)("th",{scope:"col",title:h.kind?`${h.title}, on ${ot(sn(r.schema.tryDefinition(h.kind),h.kind))}`:h.title,style:{textAlign:"left",padding:"4px 10px 6px",fontWeight:500,whiteSpace:"nowrap",color:"var(--graview-ink-muted)",fontSize:"0.8125rem"},children:[h.title,h.kind?(0,ge.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",h.kind]}):null]},`${h.name}|${h.kind??""}`))]})}),(0,ge.jsx)("tbody",{children:p.roles.map(h=>(0,ge.jsxs)("tr",{children:[(0,ge.jsx)("th",{scope:"row",style:{textAlign:"left",padding:"6px 10px 6px 0",fontWeight:600,whiteSpace:"nowrap",borderTop:"1px solid var(--graview-edge)"},children:h}),p.acts.map(f=>{let l=p.cells.find(c=>c.role===h&&c.act===f.name&&c.kind===f.kind);return(0,ge.jsx)("td",{"data-graview-reach":l.may,title:`${h} ${l.may==="yes"?"may":l.may==="self"?"may, on their own record,":"may not"} ${f.title.toLowerCase()}`,style:{padding:"6px 10px",textAlign:"center",borderTop:"1px solid var(--graview-edge)",color:l.may==="no"?"var(--graview-ink-faint)":"var(--graview-accent)",fontSize:l.may==="no"?"0.875rem":"0.8125rem"},children:d(l.may)},`${f.name}|${f.kind??""}`)})]},h))})]})})]})}var $r={name:"reach",requiredRoles:[],View:ua};var Oe=Y(Ne(),1);var ie=Y(ee(),1),Rr=["start","end"];function ga(e,t,{pad:n=45,minimum:r=480}={}){if(e.length===0)return{start:0,end:t};let a=Math.min(...e.map(b=>b.start)),i=Math.max(...e.map(b=>b.end)),s=Math.max(0,a-n),p=Math.min(t,i+n),g=r-(p-s);return g>0&&(s=Math.max(0,s-g/2),p=Math.min(t,s+r)),{start:Math.floor(s),end:Math.ceil(p)}}function ma(e){let t=[...e].sort((i,s)=>i.start-s.start||i.end-s.end||i.id.localeCompare(s.id)),n=[],r=t.map(i=>{let s=n.findIndex(p=>p<=i.start);return s===-1?(s=n.length,n.push(i.end)):n[s]=i.end,{...i,lane:s,lanes:1}}),a=Math.max(1,n.length);return r.map(i=>({...i,lanes:a}))}var Xn=class extends Error{constructor(t,n){super(`The timeline lens needs ${n.join(" and ")} for "${t}". Add them to the lens bindings: { ${t}: { ${n.map(r=>`${r}: "<field name>"`).join(", ")} } }.`),this.name="TimelineBindingError"}};function Er(e,t,n){let r=He(t[e.kind],n?.tryDefinition(e.kind));if(!r)return null;let a=e,i=n?.tryDefinition(e.kind)?.fields.shape,s=Rr.filter(d=>{let h=r[d];return h?i?!(h in i):!(h in a):!0});if(s.length>0)throw new Xn(e.kind,s);let p=Number(a[r.start]??Number.NaN),g=Number(a[r.end]??p);if(!Number.isFinite(p))return null;let b=[];if(r.columns){let d=a[r.columns];Array.isArray(d)&&b.push(...d.map(String))}if(r.column){let d=a[r.column];d!=null&&b.push(String(d))}return{id:e.id,kind:e.kind,label:ve(n?.tryDefinition(e.kind),e),columnIds:b,start:p,end:Number.isFinite(g)?Math.max(g,p):p}}function pa(e,t){let n=Math.round(t),r=a=>`linear-gradient(hsl(${n} 55% var(--graview-tint-lightness) / ${a}), hsl(${n} 55% var(--graview-tint-lightness) / ${a})), var(--graview-panel)`;return e==="lit"?{border:"1px solid var(--graview-accent)",background:r("calc(var(--graview-tint-alpha) * 1.15)"),color:"var(--graview-ink)",boxShadow:"0 0 16px -4px var(--graview-accent)"}:e==="dimmed"?{border:"1px solid var(--graview-edge)",background:r("calc(var(--graview-tint-alpha) * 0.25)"),color:"var(--graview-ink-muted)"}:{border:`1px solid hsl(${n} 50% var(--graview-tint-lightness) / 0.42)`,background:r("var(--graview-tint-alpha)"),color:"var(--graview-ink)"}}var fa=.045,an=52,Mr=4,ha=44,ya=240;function wa({nodes:e,label:t,fidelity:n,mode:r,options:a,schema:i,selectedIds:s=[],implicated:p=[],flagged:g=[]}){let b=new Set([...p,...s]),d=w=>b.size===0?"plain":b.has(w)?"lit":"dimmed",h=new Set(g),f=(e??[]).map(w=>Er(w,a.bindings,i)).filter(w=>w!==null),l=a.hueOf??(w=>fe(w.kind));if(n==="glyph")return(0,ie.jsx)(be,{label:`${t??"Timeline"} \xB7 ${f.length}`,hue:fe("timeline")});if(n==="summary")return(0,ie.jsx)(de,{title:t??"Timeline",meta:`${f.length} items`,tone:"muted",children:(0,ie.jsx)(Pe,{max:a.columns.length,items:a.columns.map(w=>({id:w.id,label:`${w.label} ${f.filter(C=>C.columnIds.includes(w.id)).length}`,hue:fe(w.id)}))})});let c=a.format??String,S=ga(f,a.extent,{...a.minWindow===void 0?{}:{minimum:a.minWindow}}),u=S.end-S.start,x=w=>(w-S.start)/u*100,A=a.tick??Math.max(60,Math.round(u/8/60)*60),E=[];for(let w=Math.ceil(S.start/A)*A;w<=S.end;w+=A)E.push(w);let z=r==="fullscreen";return(0,ie.jsx)(de,{title:t??"Timeline",meta:`${c(S.start)} \u2013 ${c(S.end)}`,style:{gap:12,...z?{flex:"1 1 auto",minHeight:0,height:"100%"}:{}},children:(0,ie.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[(0,ie.jsx)(xa,{columns:a.columns}),(0,ie.jsxs)("div",{"data-graview-timeline-grid":"",style:{position:"relative",flex:1,minHeight:Math.max(ya,Math.ceil(u/A)*ha)},children:[E.map((w,C)=>(0,ie.jsx)("div",{style:{position:"absolute",left:an-8,right:0,top:C===E.length-1?"calc(100% - 1px)":`${x(w)}%`,height:1,background:"var(--graview-edge)"},children:(0,ie.jsx)("span",{style:{position:"absolute",left:-(an-8),...C===E.length-1?{bottom:2}:{top:-7},width:an-16,textAlign:"right",fontSize:"0.75rem",letterSpacing:"0.06em",color:"var(--graview-ink-faint)"},children:c(w)})},w)),(0,ie.jsx)("div",{style:{position:"absolute",inset:0,left:an,display:"flex",gap:Mr},children:a.columns.map(w=>(0,ie.jsx)(Sa,{spans:f.filter(C=>C.columnIds.includes(w.id)),window:S,format:c,hue:l,emphasisOf:d,brokenIds:h},w.id))})]})]})})}function va(){let e=(0,Oe.useRef)(null),[t,n]=(0,Oe.useState)(new Set);return(0,Oe.useLayoutEffect)(()=>{let r=e.current;if(!r)return;let a=[...r.querySelectorAll("[data-graview-span-name]")].filter(i=>i.scrollWidth>i.clientWidth+.5).map(i=>i.getAttribute("data-graview-span-name")).filter(i=>!t.has(i));a.length>0&&n(new Set([...t,...a]))}),(0,Oe.useLayoutEffect)(()=>{let r=e.current;if(!r||typeof ResizeObserver>"u")return;let a=Math.round(r.clientWidth),i=new ResizeObserver(()=>{let s=Math.round(r.clientWidth);s!==a&&(a=s,n(new Set))});return i.observe(r),()=>i.disconnect()},[]),{column:e,oneLine:t}}var ba=(e,t)=>t===0?e:e.slice(0,t),Ar=[0,3,1];function xa({columns:e}){let t=(0,Oe.useRef)(null),[n,r]=(0,Oe.useState)(0);(0,Oe.useLayoutEffect)(()=>{let i=t.current;if(!i)return;[...i.children].some(p=>p.scrollWidth>p.clientWidth+.5)&&n<Ar.length-1&&r(n+1)}),(0,Oe.useLayoutEffect)(()=>{let i=t.current;if(!i||typeof ResizeObserver>"u")return;let s=i.clientWidth,p=new ResizeObserver(()=>{i.clientWidth!==s&&(s=i.clientWidth,r(0))});return p.observe(i),()=>p.disconnect()},[]);let a=Ar[n];return(0,ie.jsx)("div",{ref:t,style:{display:"flex",gap:Mr,paddingLeft:an,paddingBottom:10},children:e.map(i=>{let s=ba(i.label,a);return(0,ie.jsx)("div",{"data-graview-day-head":i.id,title:s===i.label?void 0:i.label,...s===i.label?{}:{"aria-label":i.label},style:{flex:1,minWidth:0,overflow:"hidden",whiteSpace:"nowrap",fontSize:"0.75rem",letterSpacing:a===1?0:"0.18em",textTransform:"uppercase",textAlign:"center",color:"var(--graview-ink-muted)"},children:s},i.id)})})}function Sa({spans:e,window:t,format:n,hue:r,emphasisOf:a,brokenIds:i}){let s=t.end-t.start,p=l=>(l-t.start)/s*100,g=l=>(l.end-l.start)/s<fa,b=ma(e.filter(l=>!g(l))),d=[...e.filter(g)].sort((l,c)=>l.start-c.start),h=Math.max(1,...b.map(l=>l.lanes)),f=va();return(0,ie.jsxs)("div",{ref:f.column,"data-graview-day-column":"",style:{position:"relative",flex:1,minWidth:0},children:[b.map(l=>{let c=100/h,S=Math.max(1.6,p(l.end)-p(l.start));return(0,ie.jsx)("div",{"data-graview-span":l.id,"data-graview-pick":l.id,"data-graview-emphasis":a(l.id),"data-graview-flagged":i.has(l.id)?"":void 0,title:`${l.label} \xB7 ${n(l.start)}\u2013${n(l.end)}`,style:{position:"absolute",top:`${p(l.start)}%`,height:`${S}%`,left:`${l.lane*c}%`,width:`${c}%`,padding:"0 2px 2px 0",boxSizing:"border-box"},children:(0,ie.jsx)("div",{"data-graview-span-name":l.id,style:{height:"100%",minHeight:15,borderRadius:6,padding:"3px 6px",fontSize:"0.75rem",lineHeight:1.25,overflow:"hidden",overflowWrap:"normal",wordBreak:"normal",...f.oneLine.has(l.id)?{display:"block",whiteSpace:"nowrap",textOverflow:"ellipsis"}:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},...pa(a(l.id),r(l)),...i.has(l.id)?{borderLeft:"3px solid var(--graview-warn)",paddingLeft:4}:{}},children:S>=3.4?l.label:null})},l.id)}),d.map(l=>{let c=a(l.id);return(0,ie.jsxs)("div",{"data-graview-span":l.id,"data-graview-pick":l.id,"data-graview-emphasis":c,"data-graview-moment":"",title:`${l.label} \xB7 ${n(l.start)}`,style:{position:"absolute",top:`${p(l.start)}%`,right:0,maxWidth:"100%",boxSizing:"border-box",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:5,minHeight:24,padding:"0 4px 0 8px",borderRadius:999,background:"linear-gradient(90deg, transparent, var(--graview-ground) 35%)"},children:[(0,ie.jsx)("span",{style:{fontSize:"0.6875rem",letterSpacing:"0.04em",whiteSpace:"nowrap",color:c==="lit"?"var(--graview-accent)":"var(--graview-ink-faint)"},children:n(l.start)}),(0,ie.jsx)("span",{style:{fontSize:"0.75rem",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:c==="dimmed"?"var(--graview-ink-faint)":"var(--graview-ink)"},children:l.label}),(0,ie.jsx)("span",{style:{width:7,height:7,borderRadius:999,flex:"0 0 auto",background:i.has(l.id)?"var(--graview-warn)":c==="dimmed"?"var(--graview-edge)":`hsl(${Math.round(r(l))} 60% var(--graview-tint-lightness))`,boxShadow:i.has(l.id)?"0 0 0 3px var(--graview-warn)":c==="lit"?"0 0 0 3px var(--graview-accent-dim)":c==="dimmed"?void 0:`0 0 8px hsl(${Math.round(r(l))} 60% var(--graview-tint-lightness) / 0.45)`}})]},l.id)})]})}function Lr(e){function t(n){let{store:r}=ae(),a=Object.keys(e.bindings),{nodes:i,bar:s}=Re(n,{...e.arranging!==void 0?{allow:e.arranging}:{},lensAllows:{group:!1},...e.arrangedBy?{arrangedBy:e.arrangedBy}:{},...a[0]?{kind:(n.nodes??[]).find(g=>a.includes(String(g.kind)))?.kind??a[0]}:{}}),p=(0,ie.jsx)(wa,{schema:r.schema,...n,nodes:i,options:e});return De(n,r.schema,s?(0,ie.jsxs)("div",{style:{display:"grid",gap:6,height:"100%",minHeight:0,gridTemplateRows:"auto 1fr"},children:[s,p]}):p)}return{name:"timeline",requiredRoles:[...Rr],bindings:e.bindings,options:e,View:t,place(n,r){return n.map(a=>Er(a,e.bindings,r)).filter(a=>a!==null)}}}var Qe=Y(ee(),1),Tr=new WeakMap;function ka(e){return e===1440?t=>Je(Math.floor(t/60)*60+Math.round(t%60)):e===24?t=>Je(Math.floor(t)*60):t=>String(t)}function Ca(e){let t=e.options;switch(e.lens){case"timeline":{let n=typeof t.extent=="number"?t.extent:1440;return Lr({...t,extent:n,format:ka(n)}).View}case"calendar":return lr({...t,...typeof t.today=="string"?{today:t.today}:{}}).View;case"coverage":return yr(t).View;case"board":return qt(t).View;case"plan":return Cr(t).View;case"reach":return $r.View;case"columns":return cr(t).View;case"blocks":return Oa(vt(Array.isArray(t.blocks)?t.blocks:[]),e.as)}}function Oa(e,t){return n=>{let r=(0,Qe.jsx)(Vt,{blocks:e,slot:"place",view:t,heading:n.mode==="fullscreen"?2:3});return n.fidelity==="glyph"?(0,Qe.jsx)("span",{className:"graview-spec-title",children:n.label}):n.mode==="fullscreen"?(0,Qe.jsx)("div",{style:{padding:"14px 16px"},children:r}):(0,Qe.jsx)(de,{title:n.label??"",children:r})}}function Mo(e){let t=Tr.get(e);if(!t){let n=Ca(e),r=a=>(0,Qe.jsx)(n,{...a,label:e.title});Tr.set(e,t=r)}return t}export{ka as a,Mo as b};
|