graview 0.1.30 → 0.1.33
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.26LLZN3C.js +1 -0
- package/dist/preview/chunk.2NIOHEMX.js +1 -0
- package/dist/preview/chunk.2WPZXIRP.js +2 -0
- package/dist/preview/{chunk.XRJBLH4N.js → chunk.3AGY4QVS.js} +1 -1
- package/dist/preview/chunk.3HXN4BOY.js +1 -0
- package/dist/preview/{chunk.2CIBWZJG.js → chunk.3K6YSVHC.js} +1 -1
- package/dist/preview/chunk.3NDH3EDN.js +47 -0
- package/dist/preview/{chunk.FWCOJDOD.js → chunk.3TVXGJTU.js} +1 -1
- package/dist/preview/{chunk.NDADLJE6.js → chunk.3TY5NFLY.js} +1 -1
- package/dist/preview/{chunk.UWGWXFWZ.js → chunk.47STJVRV.js} +1 -1
- package/dist/preview/{chunk.X37L5TN5.js → chunk.4HNG4UXT.js} +1 -1
- package/dist/preview/{chunk.34ZMMURV.js → chunk.4HRAQNJO.js} +6 -6
- package/dist/preview/{chunk.QTMWHE5O.js → chunk.4HZ7QTXZ.js} +1 -1
- package/dist/preview/{chunk.3JGGBLRB.js → chunk.4MERAWS2.js} +1 -1
- package/dist/preview/chunk.52W7WYME.js +1 -0
- package/dist/preview/chunk.5A4AOFOA.js +1 -0
- package/dist/preview/chunk.5H4VXLZF.js +88 -0
- package/dist/preview/{chunk.XS7YFNDU.js → chunk.5T5XGILP.js} +1 -1
- package/dist/preview/chunk.5UL7YDUD.js +1 -0
- package/dist/preview/chunk.63GXY2ME.js +1 -0
- package/dist/preview/chunk.67TPUXAY.js +1 -0
- package/dist/preview/chunk.6QWV5MVH.js +25 -0
- package/dist/preview/{chunk.PAVR5TK5.js → chunk.6UGEYZAC.js} +1 -1
- package/dist/preview/chunk.6YCBYL2Y.js +2 -0
- package/dist/preview/{chunk.ZYKAS4BT.js → chunk.7GKUVQVF.js} +1 -1
- package/dist/preview/{chunk.T3VPD7JQ.js → chunk.7T7NZZTC.js} +1 -1
- package/dist/preview/chunk.AKFKM4SW.js +3 -0
- package/dist/preview/chunk.AOSMJKLH.js +1 -0
- package/dist/preview/{chunk.DT7LHWU2.js → chunk.AR3DCDHU.js} +1 -1
- package/dist/preview/{chunk.D3IECJ2S.js → chunk.ASCLIM2P.js} +1 -1
- package/dist/preview/chunk.B2GLDIAS.js +1 -0
- package/dist/preview/chunk.BHXGM3PV.js +1 -0
- package/dist/preview/chunk.BNV77BQZ.js +4 -0
- package/dist/preview/chunk.BQ3JHEHV.js +1 -0
- package/dist/preview/chunk.CAVBSL27.js +1 -0
- package/dist/preview/{chunk.YLQB3KBA.js → chunk.CDP2XL66.js} +1 -1
- package/dist/preview/chunk.CIPS2OGR.js +1 -0
- package/dist/preview/chunk.CN3UEF5N.js +90 -0
- package/dist/preview/{chunk.6XMEU2Q2.js → chunk.COQKECUH.js} +1 -1
- package/dist/preview/{chunk.QTA4ROAK.js → chunk.CWHRDBOF.js} +1 -1
- package/dist/preview/chunk.CX3KL2C5.js +1 -0
- package/dist/preview/{chunk.AK3IHFCF.js → chunk.D75KC3LL.js} +1 -1
- package/dist/preview/chunk.DAZ2VSRD.js +1 -0
- package/dist/preview/{chunk.3ADPAGPY.js → chunk.DYSPCGXX.js} +1 -1
- package/dist/preview/chunk.E2YEOMPH.js +1 -0
- package/dist/preview/chunk.EBGAYL32.js +1 -0
- package/dist/preview/chunk.EF3XNU4O.js +1 -0
- package/dist/preview/chunk.EJPI3ST6.js +1 -0
- package/dist/preview/chunk.EKPRNDUV.js +1 -0
- package/dist/preview/chunk.ERIT3R6N.js +1 -0
- package/dist/preview/chunk.EYTBDMTW.js +1 -0
- package/dist/preview/{chunk.HHPGWJDO.js → chunk.FWTIUYXH.js} +1 -1
- package/dist/preview/{chunk.6T2Q6NLO.js → chunk.G5NZVPJU.js} +1 -1
- package/dist/preview/chunk.GBRRGTIH.js +1 -0
- package/dist/preview/{chunk.VG56IUIQ.js → chunk.GO4XBWJO.js} +1 -1
- package/dist/preview/chunk.GV2CQVKV.js +1 -0
- package/dist/preview/chunk.GYICGZMG.js +3 -0
- package/dist/preview/chunk.H7BST3XO.js +1 -0
- package/dist/preview/chunk.H7EPE74C.js +1 -0
- package/dist/preview/{chunk.26CZTUY4.js → chunk.HAIG6NVX.js} +1 -1
- package/dist/preview/{chunk.V7BDAGDE.js → chunk.HLTRQU4Y.js} +1 -1
- package/dist/preview/{chunk.VS7K3SCD.js → chunk.I6FPNX43.js} +1 -1
- package/dist/preview/chunk.IDVAR5HM.js +1 -0
- package/dist/preview/{chunk.3URFMWXZ.js → chunk.IWQCOGHW.js} +2 -2
- package/dist/preview/chunk.J25KOSNW.js +1 -0
- package/dist/preview/chunk.JDUJDAGA.js +1 -0
- package/dist/preview/chunk.JOOQUWLT.js +341 -0
- package/dist/preview/{chunk.4SJUTBDV.js → chunk.JQU5GEU3.js} +1 -1
- package/dist/preview/chunk.K5ME5GCG.js +1 -0
- package/dist/preview/chunk.KSES5U5B.js +1 -0
- package/dist/preview/chunk.KSXB4LDF.js +1 -0
- package/dist/preview/chunk.LR3VDXPI.js +1 -0
- package/dist/preview/{chunk.WYTIOLPP.js → chunk.LXBOVRFI.js} +1 -1
- package/dist/preview/{chunk.42YX6NOY.js → chunk.MAF7C3VM.js} +1 -1
- package/dist/preview/chunk.MNP4JI33.js +5 -0
- package/dist/preview/{chunk.O2LK2AO7.js → chunk.MWGGV7DE.js} +1 -1
- package/dist/preview/chunk.N6OX4NEQ.js +1 -0
- package/dist/preview/chunk.NRAYZY3X.js +1 -0
- package/dist/preview/chunk.NTF7FVB2.js +1 -0
- package/dist/preview/{chunk.DZRTOURR.js → chunk.OC6IWRQ3.js} +1 -1
- package/dist/preview/chunk.OJGHDWI6.js +1 -0
- package/dist/preview/chunk.OKRNJXTV.js +1 -0
- package/dist/preview/chunk.PBSMLINK.js +1 -0
- package/dist/preview/chunk.PHKSMUIA.js +1 -0
- package/dist/preview/{chunk.JN7DIFR3.js → chunk.PIP6Z563.js} +1 -1
- package/dist/preview/chunk.QVVJRSRM.js +1 -0
- package/dist/preview/{chunk.L6OMEYL6.js → chunk.QYZNAUIR.js} +1 -1
- package/dist/preview/chunk.R6K6GF5R.js +1 -0
- package/dist/preview/{chunk.JTNWD2CN.js → chunk.RCKTBOY2.js} +1 -1
- package/dist/preview/{chunk.QNGWEV47.js → chunk.RIJUCHP4.js} +1 -1
- package/dist/preview/chunk.SHTJZ6UX.js +1 -0
- package/dist/preview/{chunk.PKK6FRZR.js → chunk.SYAEBGDC.js} +1 -1
- package/dist/preview/chunk.T5VG5A6V.js +1 -0
- package/dist/preview/{chunk.ERXSYPYL.js → chunk.TAQ764IQ.js} +1 -1
- package/dist/preview/{chunk.RIEHYQLK.js → chunk.TMVCTBAD.js} +50 -24
- package/dist/preview/{chunk.HHI65WFZ.js → chunk.UATVTXZY.js} +1 -1
- package/dist/preview/{chunk.XSTXV6FP.js → chunk.UBFNZMUX.js} +2 -2
- package/dist/preview/{chunk.WAFDCOOG.js → chunk.UGFJKSHU.js} +1 -1
- package/dist/preview/chunk.UHUGOTUU.js +19 -0
- package/dist/preview/chunk.ULRW47RP.js +1 -0
- package/dist/preview/chunk.UNL2HIF2.js +1 -0
- package/dist/preview/chunk.UVR2Z5ZC.js +1 -0
- package/dist/preview/chunk.UZGRRDHD.js +1 -0
- package/dist/preview/{chunk.BPWNWE7N.js → chunk.VG3O4LWB.js} +1 -1
- package/dist/preview/chunk.WAZ7OGBD.js +1 -0
- package/dist/preview/{chunk.3JNMSOFG.js → chunk.XANVHJQ4.js} +1 -1
- package/dist/preview/chunk.XBJYQNVE.js +1 -0
- package/dist/preview/chunk.XKABS745.js +1 -0
- package/dist/preview/chunk.XMC7YDWT.js +1 -0
- package/dist/preview/chunk.XNJEFUF7.js +3 -0
- package/dist/preview/chunk.Y2SFUALD.js +117 -0
- package/dist/preview/chunk.Y6ZNFQK3.js +6 -0
- package/dist/preview/{chunk.J2ITFGN3.js → chunk.YIR7PPF3.js} +1 -1
- package/dist/preview/index.html +51 -0
- package/dist/preview/page.js +6 -6
- package/package.json +6 -6
- package/dist/preview/chunk.2EXGG6BB.js +0 -1
- package/dist/preview/chunk.2NBYNZRD.js +0 -1
- package/dist/preview/chunk.2XAONC66.js +0 -1
- package/dist/preview/chunk.3R4W2P5X.js +0 -1
- package/dist/preview/chunk.3SKKIHU3.js +0 -4
- package/dist/preview/chunk.3VL5WECB.js +0 -1
- package/dist/preview/chunk.4ALKPNXM.js +0 -1
- package/dist/preview/chunk.4HP7UWA2.js +0 -1
- package/dist/preview/chunk.5U5J3ISK.js +0 -1
- package/dist/preview/chunk.6V2RG5JG.js +0 -5
- package/dist/preview/chunk.7BWT5L2L.js +0 -1
- package/dist/preview/chunk.C5CYZNSJ.js +0 -1
- package/dist/preview/chunk.CM6LOIQE.js +0 -88
- package/dist/preview/chunk.FDELO7NY.js +0 -116
- package/dist/preview/chunk.FGVKJWNS.js +0 -6
- package/dist/preview/chunk.GFF2FB2J.js +0 -25
- package/dist/preview/chunk.GLBHQFJ2.js +0 -1
- package/dist/preview/chunk.HSCTWAUV.js +0 -1
- package/dist/preview/chunk.INZUEWC5.js +0 -1
- package/dist/preview/chunk.JH6MU6TX.js +0 -2
- package/dist/preview/chunk.JISMMIMX.js +0 -1
- package/dist/preview/chunk.JPHNKWTY.js +0 -1
- package/dist/preview/chunk.K75FUIZI.js +0 -1
- package/dist/preview/chunk.K776HO42.js +0 -2
- package/dist/preview/chunk.KN3ULTGF.js +0 -1
- package/dist/preview/chunk.KOB6N3SL.js +0 -1
- package/dist/preview/chunk.KQT7WAQE.js +0 -1
- package/dist/preview/chunk.L4DECHXR.js +0 -327
- package/dist/preview/chunk.LQ7V6KEE.js +0 -1
- package/dist/preview/chunk.MD74YVRN.js +0 -3
- package/dist/preview/chunk.MGNP4LAM.js +0 -1
- package/dist/preview/chunk.NCTOBUCT.js +0 -1
- package/dist/preview/chunk.NO52VON3.js +0 -1
- package/dist/preview/chunk.OAF7TUMI.js +0 -1
- package/dist/preview/chunk.OQ4KFN6W.js +0 -1
- package/dist/preview/chunk.OQDETV4X.js +0 -1
- package/dist/preview/chunk.OXQMNIRO.js +0 -1
- package/dist/preview/chunk.OZNW5W4Z.js +0 -1
- package/dist/preview/chunk.QIAKO27D.js +0 -1
- package/dist/preview/chunk.R26DREVU.js +0 -1
- package/dist/preview/chunk.RI3PYG5T.js +0 -19
- package/dist/preview/chunk.RRVIXV7W.js +0 -1
- package/dist/preview/chunk.RYT5U3QM.js +0 -1
- package/dist/preview/chunk.SE5SKFQH.js +0 -1
- package/dist/preview/chunk.SOBC3CTN.js +0 -47
- package/dist/preview/chunk.SOD3PBJM.js +0 -1
- package/dist/preview/chunk.UDSEJKCY.js +0 -1
- package/dist/preview/chunk.UZWWDAGM.js +0 -14
- package/dist/preview/chunk.V5ZYUVMH.js +0 -1
- package/dist/preview/chunk.VOAZBHCG.js +0 -1
- package/dist/preview/chunk.VSZQXB4Q.js +0 -3
- package/dist/preview/chunk.W3S6UXNA.js +0 -1
- package/dist/preview/chunk.Y4UXEL6Y.js +0 -1
- package/dist/preview/chunk.YJUB4OD7.js +0 -1
- package/dist/preview/chunk.YNQDVGZM.js +0 -1
- package/dist/preview/chunk.YV2LJFGS.js +0 -1
- package/dist/preview/chunk.Z2YUYZT4.js +0 -1
- /package/dist/preview/{chunk.EYZ7MHBZ.js → chunk.GZHZLJBF.js} +0 -0
|
@@ -0,0 +1,341 @@
|
|
|
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 kr,F as O,Q as b,Y as le,Z as de,a as H,b as Pe,f as Le,ga as Sr,ja as Pr,m as hr,n as br,na as Lr,oa as Tr,pa as Ar,sa as G,t as xr,w as Z,wa as q,xa as N}from"./chunk.6QWV5MVH.js";import{$b as or,Ac as ke,Cc as pr,Dc as ur,Ec as X,Kb as Ze,Kc as gr,La as Qe,Lc as fr,Mb as Je,Mc as mr,Nb as se,Nc as wr,Ob as xe,Oc as vr,Pb as er,Pc as Se,Qb as rr,Rb as tr,Sb as nr,Sc as yr,Tb as ar,Vb as ir,X as je,Za as Xe,aa as Ye,ba as Ue,bc as sr,ec as lr,fc as dr,xc as cr,yc as Q}from"./chunk.MNP4JI33.js";import{a as qe,b as y}from"./chunk.AJZBJBMO.js";var Nr=qe(S=>{"use strict";var At=O();function Hr(r){var e="https://react.dev/errors/"+r;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)e+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+r+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function V(){}var k={d:{f:V,r:function(){throw Error(Hr(522))},D:V,C:V,L:V,m:V,X:V,S:V,M:V},p:0,findDOMNode:null},Et=Symbol.for("react.portal");function $t(r,e,t){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Et,key:n==null?null:""+n,children:r,containerInfo:e,implementation:t}}var J=At.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function pe(r,e){if(r==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}S.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k;S.createPortal=function(r,e){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error(Hr(299));return $t(r,e,null,t)};S.flushSync=function(r){var e=J.T,t=k.p;try{if(J.T=null,k.p=2,r)return r()}finally{J.T=e,k.p=t,k.d.f()}};S.preconnect=function(r,e){typeof r=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,k.d.C(r,e))};S.prefetchDNS=function(r){typeof r=="string"&&k.d.D(r)};S.preinit=function(r,e){if(typeof r=="string"&&e&&typeof e.as=="string"){var t=e.as,n=pe(t,e.crossOrigin),i=typeof e.integrity=="string"?e.integrity:void 0,a=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;t==="style"?k.d.S(r,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:n,integrity:i,fetchPriority:a}):t==="script"&&k.d.X(r,{crossOrigin:n,integrity:i,fetchPriority:a,nonce:typeof e.nonce=="string"?e.nonce:void 0})}};S.preinitModule=function(r,e){if(typeof r=="string")if(typeof e=="object"&&e!==null){if(e.as==null||e.as==="script"){var t=pe(e.as,e.crossOrigin);k.d.M(r,{crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})}}else e==null&&k.d.M(r)};S.preload=function(r,e){if(typeof r=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){var t=e.as,n=pe(t,e.crossOrigin);k.d.L(r,t,{crossOrigin:n,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}};S.preloadModule=function(r,e){if(typeof r=="string")if(e){var t=pe(e.as,e.crossOrigin);k.d.m(r,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:t,integrity:typeof e.integrity=="string"?e.integrity:void 0})}else k.d.m(r)};S.requestFormReset=function(r){k.d.r(r)};S.unstable_batchedUpdates=function(r,e){return r(e)};S.useFormState=function(r,e,t){return J.H.useFormState(r,e,t)};S.useFormStatus=function(){return J.H.useHostTransitionStatus()};S.version="19.2.8"});var Cr=qe((Qn,Rr)=>{"use strict";function Br(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Br)}catch(r){console.error(r)}}Br(),Rr.exports=Nr()});var Te=y(O(),1),Er=new WeakMap,ce=r=>{let e=Er.get(r);return e||Er.set(r,e={open:null,drawn:0,listeners:new Set}),e},Pt=r=>{for(let e of[...r.listeners])e()},Lt=0;function qn(r,e){let t=ce(r);t.open=e?{...e,at:++Lt}:null,Pt(t)}var $r=r=>e=>{let t=ce(r);return t.listeners.add(e),()=>void t.listeners.delete(e)};function Or(r){let e=()=>r?ce(r).drawn>0:!1;return(0,Te.useSyncExternalStore)(r?$r(r):Tt,e,e)}var Tt=()=>()=>{};function jn(r){let e=()=>ce(r).open;return(0,Te.useSyncExternalStore)($r(r),e,e)}var _=y(O(),1),_r=y(Cr(),1);function Ot(r){let[e,t]=(0,_.useState)(null),[n,i]=(0,_.useState)(null);return(0,_.useLayoutEffect)(()=>{r.current!==n&&i(r.current)}),(0,_.useLayoutEffect)(()=>{if(!n||typeof ResizeObserver>"u")return;let a=()=>Math.round(n.getBoundingClientRect().width);t(a());let o=new ResizeObserver(()=>{let d=a();(0,_r.flushSync)(()=>t(d))});return o.observe(n),()=>o.disconnect()},[n]),e}function Ht(r=!0){let[e,t]=(0,_.useState)();return(0,_.useEffect)(()=>{if(!r)return t(void 0);let n=0,i=()=>t(innerHeight),a=()=>{i(),clearTimeout(n),n=window.setTimeout(i,300)},o=d=>{for(let[p,s]of[[window,"resize"],[window,"orientationchange"],[window.visualViewport,"resize"]])p?.[d](s,a)};return o("addEventListener"),i(),()=>{clearTimeout(n),o("removeEventListener")}},[r]),e}var ue={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(50%)",whiteSpace:"nowrap"};var C=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.JDUJDAGA.js","./chunk.J25KOSNW.js","./chunk.LR3VDXPI.js","./chunk.COQKECUH.js","./chunk.EJPI3ST6.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.UT6642FC.js","./chunk.TI4OSTQV.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.GO4XBWJO.js"))));var w=y(O(),1);var Vr=y(O(),1);var Mr=y(O(),1);function Dr(r){return(0,Mr.useMemo)(()=>r===void 0||r===""?void 0:{__html:r},[r])}var ee=y(b(),1);function Ae({brand:r,size:e=22}){let t=r?.logo,n=t!==void 0&&tr(t)&&nr(t)===null?t:void 0,i=Dr(n),a={display:"inline-flex",flex:"0 0 auto",height:e,color:"var(--graview-accent)"},o=ir(r);if(o)return(0,ee.jsx)("span",{className:"graview-logo graview-emoji-mark","data-testid":"app-mark","aria-hidden":!0,style:{...a,alignItems:"center",fontSize:`${e*.86/16}rem`,lineHeight:1},children:o});if(!t||!ar(t))return null;let d=r?.logoAlt??r?.name??"",p=d!==""&&d!==r?.name;return n?(0,ee.jsx)("span",{className:"graview-logo","data-testid":"app-mark",style:a,...p?{role:"img","aria-label":d}:{"aria-hidden":!0},dangerouslySetInnerHTML:i}):(0,ee.jsx)("img",{className:"graview-logo","data-testid":"app-mark",src:t,alt:p?d:"",style:{...a,width:"auto"}})}function Nt(r){(0,Vr.useEffect)(()=>{if(!r||typeof document>"u")return;let e=[...document.querySelectorAll('link[rel~="icon"]')],t=e.map(i=>i.getAttribute("href")),n;e.length===0&&(n=document.createElement("link"),n.rel="icon",n.setAttribute("data-graview-favicon",""),document.head.appendChild(n),e.push(n));for(let i of e)i.href=r;return()=>{n&&n.remove(),e.forEach((i,a)=>{i!==n&&t[a]!==null&&t[a]!==void 0&&i.setAttribute("href",t[a])})}},[r])}var l=y(b(),1),Bt=C.part((r,e)=>(0,l.jsx)(r.Here,{...e}),{quiet:!0});function Rt(){let r=de(),[e,t]=(0,w.useState)("");return(0,w.useEffect)(()=>r?.store.subscribe((n,i)=>{i.some(a=>a.author.id!==r.principal.id)&&C.load().then(a=>a.sayTheirChange(i,r,t),String)}),[r]),(0,l.jsx)("span",{role:"status",className:"graview-bar-said",children:e})}var Fr="home",Ir="/",z="scene:whole";function Ct(r){let{store:e,principal:t,views:n}=r,i=e.kindsKeptFrom(t),a=e.schema.kinds.filter(g=>!e.modules.disabledKinds.has(g)&&!i.has(g)),o=n?.arrangement?.(),d=n?.places()??[],p=wr(o,e.schema,d),s=mr(e.schema,o,[...e.modules.administered.values()].flatMap(g=>g.kinds??[])),c=(g,P)=>(!e.graph.size.nodes||e.graph.count(g)>0)&&(p?P?p.places.has(`${g}|${P}`):p.kinds.has(g):!s.has(g)),u=[{key:Fr,label:"Home",path:Ir,group:"home",primary:!0}],f=d.filter(g=>a.includes(g.kind)&&g.as!==vr&&!g.hidden),v=new Set(Q(f).map(g=>X(g,d,e.schema).toLowerCase()));for(let g of yr(a,o?.order)){let P=Ye(e.schema,g),R=v.has(P.toLowerCase());u.push({key:`kind:${g}`,label:R?Ue(e.schema,g):P,path:ke(e.schema,g),group:"lists",kind:g,primary:R?!1:c(g)})}for(let g of Q(f)){let P=pr(g.as,ur(g,d)?ke(e.schema,g.kind).slice(1):void 0),R=[g.kind,...g.over??[]].some(K=>a.includes(K)&&c(K,g.as));u.some(K=>K.path===P)||u.push({key:`place:${g.kind}:${g.as}`,label:X(g,d,e.schema),path:P,group:"pictures",kind:g.kind,primary:R})}return a.some(g=>Object.keys(e.schema.tryDefinition(g)?.edges??{}).length>0)&&u.push({key:"connections",label:"Connections",path:"/map",group:"pictures",primary:!1}),u}function _t(r,e){let[t="/",n=""]=e.split("?"),i=r.find(o=>o.path===(n?`${t}?${n}`:t))??r.find(o=>o.path===t);if(i)return i.key;let a=`/${t.split("/").filter(Boolean)[0]??""}`;return r.find(o=>o.group==="lists"&&o.path===a)?.key??null}var Wr=(0,w.createContext)(null),Mt=()=>(0,w.useContext)(Wr),j=30,zr=48,re=640,Oe=4,Ee=2;function Kr(r){let{widths:e,current:t,room:n,more:i,gap:a=Oe,primary:o,most:d=fr}=r;if(e.length===0||!(n>0)||!(i>0)||e.some(u=>!(u>0)))return null;let p=(u,f)=>u.reduce((v,x)=>v+e[x],0)+a*Math.max(0,u.length-1)+(f?a+i:0),s=(u,f)=>t<0||!u.includes(t)||u.slice(0,f).includes(t)?u.slice(0,f):[...u.filter(v=>v!==t).slice(0,f-1),t].sort((v,x)=>v-x),c=s(e.map((u,f)=>f).filter(u=>o?.[u]!==!1||u===t),d);if(p(c,c.length<e.length)<=n)return c.length>=Ee?c:null;for(let u=c.length-1;u>=Ee;u--){let f=s(c,u);if(p(f,!0)<=n)return f}return null}var Dt=`
|
|
2
|
+
.graview-bar{display:block;margin:0;padding:0;container:graview-bar/inline-size;flex:0 0 auto;position:relative;background:var(--graview-bar);border-bottom:1px solid var(--graview-edge);color:var(--graview-ink);font-family:var(--graview-font-body,system-ui)}
|
|
3
|
+
.graview-bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:${zr-1}px;margin:0;padding:0 16px}
|
|
4
|
+
.graview-bar-home,.graview-bar-face,.graview-bar-place,.graview-bar-item,.graview-bar-at{display:inline-flex;align-items:center;box-sizing:border-box;min-width:0;margin:0;border:0;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-decoration:none;color:var(--graview-ink);cursor:pointer;text-align:left}
|
|
5
|
+
.graview-bar-app{display:flex;flex:0 1 auto;max-width:50%}
|
|
6
|
+
.graview-bar-app::after{content:"";flex:0 100000 auto;width:2px;min-width:0}
|
|
7
|
+
.graview-bar-name{margin:0;display:flex;font-family:var(--graview-font-display,var(--graview-font-body,system-ui));font-size:.9375rem;font-weight:600;line-height:1.25}
|
|
8
|
+
.graview-bar-home{gap:8px;min-width:auto;min-height:30px;padding:0;letter-spacing:-.005em}
|
|
9
|
+
.graview-bar-app-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
|
|
10
|
+
.graview-bar-faces{display:inline-flex;flex:0 0 auto;box-sizing:border-box;height:30px;margin:0;padding:2px;gap:2px;border:1px solid var(--graview-edge);border-radius:8px}
|
|
11
|
+
.graview-bar-face{gap:6px;padding:0 10px;border-radius:6px;font-size:.8125rem;white-space:nowrap;color:var(--graview-ink-muted)}
|
|
12
|
+
.graview-bar-face span{min-width:0;max-width:11em;overflow:hidden;text-overflow:ellipsis}
|
|
13
|
+
.graview-bar-face[aria-pressed=true]{color:var(--graview-ink);font-weight:600;background:color-mix(in srgb,var(--graview-accent) 16%,transparent)}
|
|
14
|
+
[data-switch-drawn=icons] .graview-bar-face{padding:0 8px}
|
|
15
|
+
.graview-bar-said,[data-switch-drawn=icons] .graview-bar-face span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
|
|
16
|
+
.graview-bar-mid{display:flex;flex:1 100 0;min-width:0}
|
|
17
|
+
.graview-bar-mid[data-place]{min-width:9em;flex-basis:auto}
|
|
18
|
+
.graview-bar-place-at{position:relative;display:inline-flex;min-width:0;max-width:100%}
|
|
19
|
+
.graview-bar-place{gap:6px;height:30px;max-width:100%;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600}
|
|
20
|
+
.graview-bar-face:hover,.graview-bar-place:hover{border-color:var(--graview-edge);color:var(--graview-ink)}
|
|
21
|
+
.graview-bar-place-words{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
22
|
+
.graview-bar-mid[data-places=standing]{flex:0 0 auto}
|
|
23
|
+
.graview-bar-places{display:flex;align-items:center;gap:${Oe}px;min-width:0;margin:0;padding:0}
|
|
24
|
+
.graview-bar-at{gap:6px;flex:0 0 auto;height:30px;padding:0 8px;border-block:2px solid transparent;border-radius:0;font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--graview-ink-muted)}
|
|
25
|
+
.graview-bar-at:is(:hover,[aria-current],[aria-expanded=true]){color:var(--graview-ink)}
|
|
26
|
+
.graview-bar-at[aria-current]{font-weight:600;border-bottom-color:var(--graview-accent)}
|
|
27
|
+
.graview-bar-ruler{position:absolute;left:0;top:0;display:flex;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}
|
|
28
|
+
.graview-bar-ruler .graview-bar-at{font-weight:600}
|
|
29
|
+
.graview-bar-list{display:grid;align-content:start;width:min(320px,calc(100vw - 24px));height:auto;max-height:min(70vh,560px);overflow:auto;margin:0;padding:6px;border-radius:10px;border:1px solid var(--graview-edge);background:var(--graview-float);box-shadow:var(--graview-lift-high);color:var(--graview-ink)}
|
|
30
|
+
.graview-bar-list[hidden]{display:none}
|
|
31
|
+
.graview-bar-list p{margin:8px 8px 2px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graview-ink-muted)}
|
|
32
|
+
.graview-bar-list ul,.graview-bar-list li{display:grid;margin:0;padding:0;list-style:none}
|
|
33
|
+
.graview-bar-item{align-items:flex-start;gap:10px;width:100%;padding:7px 8px;border-radius:7px;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}
|
|
34
|
+
.graview-bar-item:hover{background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
|
|
35
|
+
.graview-bar-item[aria-current]{font-weight:600;background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
|
|
36
|
+
.graview-bar-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:1.3em;color:var(--graview-ink-muted)}
|
|
37
|
+
.graview-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
|
|
38
|
+
.graview-bar-tools{display:contents}
|
|
39
|
+
.graview-bar-tools>*{margin-left:-8px}
|
|
40
|
+
.graview-bar-tools>:is(.graview-bar-find,.graview-bar-find-open){margin-left:auto}
|
|
41
|
+
.graview-bar-own{display:flex;align-items:center;flex:0 0 auto}
|
|
42
|
+
.graview-bar-own:empty{display:none}
|
|
43
|
+
.graview-bar-find{position:relative;display:flex;min-width:7.5rem;flex:0 600 9rem;--graview-bar-find-end:3.25em}
|
|
44
|
+
.graview-bar-find-slot{display:flex;flex:1;min-width:0}
|
|
45
|
+
.graview-bar-find-keys{position:absolute;right:10px;line-height:30px;pointer-events:none;font-size:.75rem;color:var(--graview-ink-faint)}
|
|
46
|
+
.graview-bar-find:is(:focus-within,:has(input:not(:placeholder-shown))){flex-basis:16rem;--graview-bar-find-end:10px}
|
|
47
|
+
:is(:focus-within,:has(input:not(:placeholder-shown)))>.graview-bar-find-keys,.graview-bar-find-open{display:none}
|
|
48
|
+
.graview-bar-line{display:flex;flex:0 0 auto;padding:6px 8px;background:var(--graview-ground);border-bottom:1px solid var(--graview-edge);font-family:var(--graview-font-body,system-ui)}
|
|
49
|
+
.graview-bar-line .graview-bar-place{height:auto;min-height:32px}
|
|
50
|
+
.graview-bar-line .graview-bar-place-words{white-space:normal}
|
|
51
|
+
@media (pointer:coarse){.graview-bar-find-keys{display:none}}
|
|
52
|
+
@container graview-bar (max-width: ${re-1}px){
|
|
53
|
+
.graview-bar-row{gap:10px;padding:0 12px}
|
|
54
|
+
.graview-bar-app,.graview-bar-home{max-width:none;flex:1 1 auto;min-width:0}
|
|
55
|
+
.graview-bar-name,.graview-bar-app-name{min-width:0}
|
|
56
|
+
.graview-bar-mid,.graview-bar-find{display:none}
|
|
57
|
+
.graview-bar-find-open{display:inline-flex}
|
|
58
|
+
.graview-bar-own{--graview-activity-mark:inline}
|
|
59
|
+
.graview-bar-own .graview-activity-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
|
|
60
|
+
.graview-bar[data-finding] :is(.graview-bar-app,.graview-bar-faces,.graview-bar-find-open){display:none}
|
|
61
|
+
.graview-bar[data-finding] .graview-bar-find{display:flex;flex:1 1 auto;min-width:0}
|
|
62
|
+
}`,Y={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,minWidth:j,height:j,padding:0,borderRadius:8,border:"1px solid transparent",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"0.875rem",cursor:"pointer",flex:"0 0 auto"};function Vt({brand:r,name:e,heading:t=1,home:n,faces:i,places:a,current:o,reach:d,tools:p,find:s=!0,description:c,findBox:u,onFind:f,switch:v="words",scenePlaces:x}){let g=(0,w.useRef)(null),P=de()?.who.size,[R,K]=(0,w.useState)(null),[Me,pt]=(0,w.useState)(null),[A,ut]=(0,w.useState)(!1),[gt,De]=(0,w.useState)(!1),[ft,mt]=(0,w.useState)(!0),[Ve,wt]=(0,w.useState)(null),ne=i?i.pages.current:!x,ye=ne?{places:a,current:o,reach:d}:x,h=ye&&ye.places.length>0?ye:null,Fe=h?h.places.findIndex(m=>m.key===h.current):-1,Ie=!!i&&v==="words",We=h?h.places.map(m=>m.primary===!1?"0":"1").join(""):"",D=(0,w.useCallback)(()=>{let m=g.current;if(!m)return;let $=Qt(m,Fe,Ie,We);$!==void 0&&wt($);let W=$?!0:It(m);W!==null&&mt(W)},[Fe,Ie,We]);(0,w.useLayoutEffect)(()=>{let m=g.current;if(!m)return;let $=()=>{let oe=m.getBoundingClientRect().width;ut(oe<re),m.style.setProperty("--graview-bar-width",`${Math.round(oe)}px`),D()};$();let W=typeof document>"u"?void 0:document.fonts;if(W?.ready.then(D),W?.addEventListener?.("loadingdone",D),typeof ResizeObserver>"u")return()=>W?.removeEventListener?.("loadingdone",D);let be=new ResizeObserver($);be.observe(m);for(let oe of m.querySelectorAll(".graview-bar-tools > *"))be.observe(oe);return()=>{be.disconnect(),W?.removeEventListener?.("loadingdone",D)}},[D]);let he=(0,w.useRef)(f);he.current=f,(0,w.useLayoutEffect)(()=>{he.current?.(s&&R?{slot:R,compact:A,own:Me}:null)},[s,R,A,Me]),(0,w.useLayoutEffect)(()=>()=>he.current?.(null),[]);let vt=(0,w.useCallback)(()=>{De(!0),requestAnimationFrame(()=>R?.querySelector("input")?.focus())},[R]),ze=(0,w.useRef)(null),ae=(0,w.useRef)(!1),Ke=(0,w.useCallback)(()=>{De(!1),ae.current&&(ae.current=!1,requestAnimationFrame(()=>ze.current?.focus()))},[]),yt=t===!1?"span":`h${t}`,ht=n.href!==void 0?"a":"button",bt=m=>$=>{!m||!qr($)||($.preventDefault(),m())},xt=!ne,Ge=h&&!A&&Ve!==null?Ve.split(",").map(Number).filter(m=>m<h.places.length):null,ie=h?(0,l.jsx)(Ut,{places:h.places,current:h.current,reach:h.reach,scene:xt,stands:Ge}):null,kt=h?h.places.map(m=>m.label).join(`
|
|
63
|
+
`):"";(0,w.useLayoutEffect)(D,[D,e,r,kt,h?.current,ne,A,v,s]);let St=v==="icons"||!ft||A?"icons":"words";return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("header",{ref:g,className:"graview-bar","data-testid":"app-bar","data-graview-app-bar":"",...gt&&A?{"data-finding":""}:{},children:[(0,l.jsx)("style",{children:Dt}),(0,l.jsxs)("div",{className:"graview-bar-row",children:[(0,l.jsx)("div",{className:"graview-bar-app",children:(0,l.jsx)(yt,{className:"graview-bar-name",children:(0,l.jsxs)(ht,{...n.href!==void 0?{href:n.href,onClick:bt(n.go)}:{type:"button",onClick:n.go},"data-testid":"app-home",...n.current?{"aria-current":"page"}:{},title:c?`${e} \u2014 ${c}`:`${e} \u2014 home`,className:"graview-bar-home",children:[(0,l.jsx)(Ae,{brand:r,size:20}),(0,l.jsx)("span",{className:"graview-bar-app-name","data-testid":"app-name",children:e})]})})}),i?(0,l.jsx)(Ft,{faces:i,form:v,drawn:St}):null,(0,l.jsx)("div",{className:"graview-bar-mid",...Ge?{"data-places":"standing"}:!A&&ie?{"data-place":""}:{},children:A?null:ie}),!A&&h&&h.places.length>1?(0,l.jsxs)("span",{className:"graview-bar-ruler","aria-hidden":"true","data-graview-bar-ruler":"",children:[h.places.map(m=>(0,l.jsx)("span",{className:"graview-bar-at",children:m.label},m.key)),(0,l.jsxs)("span",{className:"graview-bar-at",children:[$e,(0,l.jsx)(Yr,{})]})]}):null,(0,l.jsxs)("div",{className:"graview-bar-tools",children:[s?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{type:"button",className:"graview-bar-find-open",ref:ze,"data-testid":"app-find-open","aria-label":"Find",title:"Find",onClick:vt,style:{...Y,display:void 0},children:(0,l.jsx)(Gt,{})}),(0,l.jsxs)("div",{className:"graview-bar-find","data-testid":"app-find",onBlur:m=>{let $=m.relatedTarget;$ instanceof Node&&m.currentTarget.contains($)||m.currentTarget.querySelector("input")?.value||Ke()},onKeyDownCapture:m=>{m.key==="Escape"&&A&&(ae.current=!0)},onKeyDown:m=>{m.key!=="Escape"||!A||(!m.defaultPrevented||!m.currentTarget.querySelector("input")?.value?Ke():ae.current=!1)},children:[(0,l.jsx)("div",{ref:K,className:"graview-bar-find-slot",children:u}),(0,l.jsx)(zt,{})]})]}):null,(0,l.jsx)("div",{ref:pt,className:"graview-bar-own","data-graview-bar-own":""}),P?(0,l.jsx)(w.Suspense,{fallback:null,children:(0,l.jsx)(Bt,{scene:!ne,compact:A})}):null,(0,l.jsx)(Rt,{}),p]})]})]}),A&&ie?(0,l.jsx)("div",{className:"graview-bar-line","data-graview-place-line":"","data-testid":"app-place-line",children:ie}):null]})}function Ft({faces:r,form:e,drawn:t}){let n=i=>{let a=r[i];return(0,l.jsxs)("button",{type:"button",className:"graview-bar-face","data-testid":`app-face-${i}`,"aria-pressed":a.current,title:a.label,...a.reach&&!a.current?{onPointerEnter:a.reach,onPointerDown:a.reach,onFocus:a.reach}:{},onClick:()=>{a.current||a.go()},children:[i==="scene"?(0,l.jsx)(jr,{}):(0,l.jsx)(Kt,{}),(0,l.jsx)("span",{children:a.label})]})};return(0,l.jsxs)("div",{className:"graview-bar-faces",role:"group","aria-label":`${r.scene.label} or ${r.pages.label}`,"data-testid":"app-faces","data-switch":e,"data-switch-drawn":t,children:[n("scene"),n("pages")]})}function It(r){let e=r.querySelector(".graview-bar-faces"),t=r.querySelector(".graview-bar-mid"),n=r.querySelector(".graview-bar-find");if(!e||!t||n?.matches(":focus-within")||r.getBoundingClientRect().width<re)return null;let a=Qr(e),o=t.querySelector(".graview-bar-place-words"),d=o?parseFloat(getComputedStyle(o).fontSize)||14:0,p=o?Math.min(o.scrollWidth+34,14*d):0,s=t.getBoundingClientRect().width-p;if(n&&n.getBoundingClientRect().width>0){let c=parseFloat(getComputedStyle(n).flexBasis);isFinite(c)&&(s-=Math.max(0,c-n.getBoundingClientRect().width))}return Gr(r)?!1:e.getAttribute("data-switch-drawn")==="icons"?s>=a+2:s>=-1}function Gr(r){let e=r.querySelector(".graview-bar-app-name");return!!(e&&e.getBoundingClientRect().height>parseFloat(getComputedStyle(e).lineHeight)*1.5)}var qr=r=>r.button===0&&!(r.metaKey||r.ctrlKey||r.shiftKey||r.altKey);function Wt(){let r=globalThis.navigator?.platform??"";return/Mac|iPhone|iPad|iPod/.test(r)?"\u2318K":"Ctrl K"}function zt(){let r=Or(de()?.aiDesk);return(0,l.jsx)("span",{className:"graview-bar-find-keys","data-testid":"app-find-keys","aria-hidden":"true",children:r?"/":Wt()})}function te({size:r,box:e=r,children:t}){return(0,l.jsx)("svg",{width:r,height:r,viewBox:`0 0 ${e} ${e}`,"aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto"},children:t})}function jr(){return(0,l.jsxs)(te,{size:14,children:[(0,l.jsx)("path",{d:"M7 1.5 L12.5 4.5 L7 7.5 L1.5 4.5 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),(0,l.jsx)("path",{d:"M1.5 7.5 L7 10.5 L12.5 7.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",strokeLinecap:"round"})]})}function Kt(){return(0,l.jsxs)(te,{size:14,children:[(0,l.jsx)("rect",{x:"2.25",y:"1.75",width:"9.5",height:"10.5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),(0,l.jsx)("path",{d:"M4.5 5 H9.5 M4.5 7.25 H9.5 M4.5 9.5 H7.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function Yr(){return(0,l.jsx)(te,{size:10,children:(0,l.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Gt(){return(0,l.jsxs)(te,{size:16,children:[(0,l.jsx)("circle",{cx:"7",cy:"7",r:"4.75",fill:"none",stroke:"currentColor",strokeWidth:"1.5"}),(0,l.jsx)("path",{d:"M10.5 10.5 L14 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function qt({place:r}){if(r.key===z)return(0,l.jsx)(jr,{});if(r.group==="home")return(0,l.jsx)(te,{size:13,box:14,children:(0,l.jsx)("path",{d:"M2 6.5 L7 2 L12 6.5 V12 H2 Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})});let e=r.kind?`hsl(${Math.round(Ze(r.kind))} 55% 52%`:"rgb(128 128 128";return(0,l.jsx)("span",{"aria-hidden":"true",style:{display:"inline-block",width:12,height:8,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",background:r.group==="lists"?`${e})`:`linear-gradient(${e}), ${e})) center / 6px 4px no-repeat, ${e} / 0.35)`}})}var jt=[{group:"home"},{group:"lists",heading:"Lists"},{group:"pictures",heading:"Pictures"}],$e="More";function Ur({place:r,current:e,reach:t,standing:n,done:i}){let a=r.key===e,o=t.href?.(r.path);return(0,l.jsxs)(o!==void 0?"a":"button",{className:n?"graview-bar-at":"graview-bar-item","data-testid":`app-place-${r.key}`,"data-place-path":r.path,...a?{"aria-current":"page"}:{},...o!==void 0?{href:o}:{type:"button"},onClick:p=>{i(),t.go&&(o!==void 0&&!qr(p)||(p.preventDefault(),t.go(r)))},children:[n?null:(0,l.jsx)("span",{className:"graview-bar-mark",children:(0,l.jsx)(qt,{place:r})}),n&&a?(0,l.jsx)("span",{"data-testid":"app-place-current",children:r.label}):(0,l.jsx)("span",{children:r.label})]})}function Yt({places:r,current:e,reach:t,id:n,done:i}){return(0,l.jsx)(l.Fragment,{children:jt.map(({group:a,heading:o})=>{let d=r.filter(s=>s.group===a);if(d.length===0)return null;let p=`${n}-${a}`;return(0,l.jsxs)("div",{role:"group",...o?{"aria-labelledby":p}:{"aria-label":d[0].label},"data-place-group":a,children:[o?(0,l.jsx)("p",{id:p,children:o}):null,(0,l.jsx)("ul",{children:d.map(s=>(0,l.jsx)("li",{children:(0,l.jsx)(Ur,{place:s,current:e,reach:t,standing:!1,done:i})},s.key))})]},a)})})}function Ut({places:r,current:e,reach:t,scene:n,stands:i}){let a=q("places"),o=(0,w.useRef)(i);a.open||(o.current=i);let d=o.current,p=r.find(c=>c.key===e)?.label??"Places",s=d?r.filter((c,u)=>!d.includes(u)):r;return(0,l.jsxs)("nav",{className:d?"graview-bar-places":"graview-bar-place-at","aria-label":n?"What the scene shows":"The app\u2019s places",...d?{"data-testid":"app-places-standing"}:{},children:[d?.map(c=>(0,l.jsx)(Ur,{place:r[c],current:e,reach:t,standing:!0,done:()=>{}},r[c].key)),s.length>0?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("button",{type:"button",className:d?"graview-bar-at":"graview-bar-place","data-testid":"app-places-open",...a.trigger,onClick:a.toggle,"aria-label":d?`${$e} \u2014 ${s.length} more ${n?"pictures":"places"}`:`${p} \u2014 ${n?"everything the scene shows":"every place"}`,title:d?s.map(c=>c.label).join(", "):p,children:[d?$e:(0,l.jsx)("span",{className:"graview-bar-place-words","data-testid":"app-place-current",children:p}),(0,l.jsx)(Yr,{})]}),(0,l.jsx)("div",{...a.pane,"data-testid":"app-places",hidden:!a.open,className:"graview-bar-list",style:G,children:(0,l.jsx)(Yt,{places:s,current:e,reach:t,id:a.pane.id,done:()=>a.setOpen(!1)})})]}):null]})}function Qt(r,e,t,n){let i=r.querySelector(".graview-bar-ruler"),a=r.querySelector(".graview-bar-mid");if(!i||!a)return null;let o=r.querySelector(".graview-bar-find");if(o?.matches(":focus-within"))return;if(r.getBoundingClientRect().width<re||Gr(r))return null;let d=[...i.children].map(P=>P.getBoundingClientRect().width),p=d.pop()??0,s=r.querySelector(".graview-bar-faces"),c=s&&t?Qr(s):0,u=s?.getAttribute("data-switch-drawn")==="words"?c:0,f=a.getBoundingClientRect().left,v=o?.getBoundingClientRect(),x=v&&v.width>0?v.right-f-(parseFloat(getComputedStyle(o).minWidth)||0)-8:a.getBoundingClientRect().width,g=[...n].map(P=>P!=="0");return Kr({widths:d,current:e,room:Math.floor(x+u-c),more:p,primary:g})?.join(",")??null}function Qr(r){return[...r.querySelectorAll(".graview-bar-face span")].reduce((e,t)=>e+t.scrollWidth+10,0)}var Xt=r=>`graview:lenses:${r}`,Zt=(r,e)=>r?.name??e.kinds.join(",");function He(r){try{let e=JSON.parse(localStorage.getItem(Xt(r))??"[]");return Array.isArray(e)?e.filter(t=>typeof t?.title=="string"&&typeof t.lens=="string"):[]}catch{return[]}}var Jr={name:"Graview",typography:{body:xe.body,mono:xe.mono},schemes:se},Xr={ground:"--graview-ground",groundDeep:"--graview-ground-deep",wash:"--graview-wash",panel:"--graview-panel",panelMuted:"--graview-panel-muted",panelWarning:"--graview-panel-warning",edge:"--graview-edge",edgeBright:"--graview-edge-bright",ink:"--graview-ink",inkMuted:"--graview-ink-muted",inkFaint:"--graview-ink-faint",accent:"--graview-accent",accentDim:"--graview-accent-dim",accentInk:"--graview-accent-ink",warn:"--graview-warn",good:"--graview-good",bad:"--graview-bad",glow:"--graview-glow",bar:"--graview-bar",float:"--graview-float",liftLow:"--graview-lift-low",liftHigh:"--graview-lift-high",tintAlpha:"--graview-tint-alpha",tintLightness:"--graview-tint-lightness",gridAlpha:"--graview-grid-alpha"};function et(r){return Object.keys(Xr).map(e=>` ${Xr[e]}: ${r[e]};`).join(`
|
|
64
|
+
`)}function Zr(r,e){let t=r===e?r:`${r} ${e}`;return` ${t} [data-graview-view] { transition: none; }
|
|
65
|
+
${t} [data-graview-touched] > * { animation: none; }
|
|
66
|
+
${t} [data-graview-view][data-graview-wrote] > *,
|
|
67
|
+
${t} [data-graview-view][data-graview-read] > * {
|
|
68
|
+
animation: none;
|
|
69
|
+
box-shadow: 0 0 0 2px var(--graview-activity);
|
|
70
|
+
}
|
|
71
|
+
${t} [data-graview-view][data-graview-read] > * { box-shadow: 0 0 0 1px var(--graview-activity); }
|
|
72
|
+
${t} [data-graview-connector][data-graview-activity] { animation: none; stroke-opacity: 1; }`}function rn(r="dark",e=Jr,t={}){let n=on(r,e,t);return t.scope===void 0?n:tn(n,t.scope)}function tn(r,e){let t=`:where(${e}) `,n=o=>o===e||o.startsWith(`${e} `)||o.startsWith(`${e}:`)||o.startsWith(`${e}[`)||o.startsWith(":root")&&o.includes(` ${e} `),i=o=>{let d=o.match(/^\s*/)[0],p=an(o.trim()).map(s=>n(s)?s:`${t}${s}`);return`${d}${p.join(", ")} `},a=o=>{let d="",p=0;for(;p<o.length;){let s=o.indexOf("{",p);if(s===-1)return d+o.slice(p);let c=nn(o,s),u=o.slice(p,s),f=o.slice(s+1,c),v=u.trim().startsWith("@")?u.trim().split(/[\s(]/)[0]:null;v===null?d+=`${i(u)}{${f}}`:v==="@media"||v==="@supports"||v==="@container"||v==="@layer"?d+=`${u}{${a(f)}}`:d+=`${u}{${f}}`,p=c+1}return d};return a(r)}function nn(r,e){let t=0,n=null;for(let i=e;i<r.length;i++){let a=r[i];if(n)a==="\\"?i++:a===n&&(n=null);else if(a==='"'||a==="'")n=a;else if(a==="/"&&r[i+1]==="*")i=r.indexOf("*/",i+2)+1||r.length;else if(a==="{")t++;else if(a==="}"&&--t===0)return i}return r.length}function an(r){let e=[],t=0,n=null,i="";for(let a of r){if(n)a===n&&(n=null);else if(a==='"'||a==="'")n=a;else if(a==="("||a==="[")t++;else if(a===")"||a==="]")t--;else if(a===","&&t===0){e.push(i.trim()),i="";continue}i+=a}return i.trim()&&e.push(i.trim()),e}function on(r,e,t){let n=e.schemes[r],i=t.scope??":root",a=t.scope??"html, body",o=t.scope??"body",d=":root",p=er(e),s=rr(e),c=or(e.kit);return`${i} {
|
|
73
|
+
${et(n)}
|
|
74
|
+
${sr(c)}
|
|
75
|
+
|
|
76
|
+
${dr()}
|
|
77
|
+
--graview-font-body: ${s.body};
|
|
78
|
+
--graview-font-display: ${s.display};
|
|
79
|
+
--graview-font-mono: ${s.mono};
|
|
80
|
+
|
|
81
|
+
--graview-weight-display: ${s.weights.display};
|
|
82
|
+
--graview-weight-body: ${s.weights.body};
|
|
83
|
+
--graview-weight-label: ${s.weights.label};
|
|
84
|
+
|
|
85
|
+
--graview-text-small: .833rem;
|
|
86
|
+
--graview-text-body: 1rem;
|
|
87
|
+
--graview-text-heading: 1.2rem;
|
|
88
|
+
--graview-text-title: 1.728rem;
|
|
89
|
+
|
|
90
|
+
--graview-radius: ${p.radius}px;
|
|
91
|
+
--graview-radius-sm: ${p.radiusSmall}px;
|
|
92
|
+
--graview-pad: ${p.pad}px;
|
|
93
|
+
--graview-pad-sm: ${p.padSmall}px;
|
|
94
|
+
--graview-gap: ${p.gap}px;
|
|
95
|
+
color-scheme: ${r};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
${a} {
|
|
99
|
+
margin: 0;
|
|
100
|
+
background: var(--graview-ground-deep);
|
|
101
|
+
color: var(--graview-ink);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
${o} {
|
|
106
|
+
font: 0.875rem/1.55 var(--graview-font-body);
|
|
107
|
+
font-weight: var(--graview-weight-body);
|
|
108
|
+
font-variant-numeric: tabular-nums;
|
|
109
|
+
-webkit-font-smoothing: antialiased;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
h1, h2, h3, h4 { font-family: var(--graview-font-display); font-weight: var(--graview-weight-display); }
|
|
114
|
+
h1, h2 { letter-spacing: ${Je}; }
|
|
115
|
+
|
|
116
|
+
.graview-logo > svg { display: block; height: 100%; width: auto; }
|
|
117
|
+
code, kbd, samp { font-family: var(--graview-font-mono); }
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
[data-graview-figure] > svg {
|
|
121
|
+
width: 100%;
|
|
122
|
+
height: 100%;
|
|
123
|
+
display: block;
|
|
124
|
+
overflow: visible;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
@property --graview-altitude {
|
|
129
|
+
syntax: "<number>";
|
|
130
|
+
inherits: true;
|
|
131
|
+
initial-value: 0;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
.graview-ground {
|
|
136
|
+
position: relative;
|
|
137
|
+
|
|
138
|
+
isolation: isolate;
|
|
139
|
+
z-index: ${lr("scene")};
|
|
140
|
+
background: var(--graview-wash), var(--graview-ground);
|
|
141
|
+
--graview-altitude: 0;
|
|
142
|
+
transition: --graview-altitude 640ms cubic-bezier(0.33, 0, 0.2, 1);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
.graview-ground::before {
|
|
148
|
+
content: "";
|
|
149
|
+
position: absolute;
|
|
150
|
+
inset: 0;
|
|
151
|
+
pointer-events: none;
|
|
152
|
+
background-image:
|
|
153
|
+
linear-gradient(var(--graview-edge) 1px, transparent 1px),
|
|
154
|
+
linear-gradient(90deg, var(--graview-edge) 1px, transparent 1px);
|
|
155
|
+
background-size: var(--graview-kit-grid-size, 64px) var(--graview-kit-grid-size, 64px);
|
|
156
|
+
opacity: calc(var(--graview-kit-grid, 1) * var(--graview-grid-alpha) * (1 - var(--graview-altitude)));
|
|
157
|
+
mask-image: radial-gradient(120% 90% at 50% 40%, #000 30%, transparent 78%);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
.graview-scroll {
|
|
162
|
+
overflow: auto;
|
|
163
|
+
min-height: 0;
|
|
164
|
+
--graview-scroll-shade: ${r==="light"?"rgba(20,30,32,0.22)":"rgba(0,0,0,0.55)"};
|
|
165
|
+
}
|
|
166
|
+
.graview-scroll[data-graview-more-below] {
|
|
167
|
+
box-shadow: inset 0 -12px 10px -10px var(--graview-scroll-shade);
|
|
168
|
+
}
|
|
169
|
+
.graview-scroll[data-graview-more-above] {
|
|
170
|
+
box-shadow: inset 0 12px 10px -10px var(--graview-scroll-shade);
|
|
171
|
+
}
|
|
172
|
+
.graview-scroll[data-graview-more-above][data-graview-more-below] {
|
|
173
|
+
box-shadow: inset 0 12px 10px -10px var(--graview-scroll-shade), inset 0 -12px 10px -10px var(--graview-scroll-shade);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
.graview-ground::after {
|
|
180
|
+
content: "";
|
|
181
|
+
position: absolute;
|
|
182
|
+
inset: 0;
|
|
183
|
+
pointer-events: none;
|
|
184
|
+
--graview-lattice-tile: var(--graview-lattice-cell, calc(var(--graview-kit-lattice-size, 46px) * 2.2361));
|
|
185
|
+
--graview-lattice-line: var(--graview-edge);
|
|
186
|
+
background-image:
|
|
187
|
+
linear-gradient(to top right, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
|
|
188
|
+
linear-gradient(to top left, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
|
|
189
|
+
linear-gradient(to top right, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
|
|
190
|
+
linear-gradient(to top left, transparent calc(50% - 0.5px), var(--graview-lattice-line) calc(50% - 0.5px), var(--graview-lattice-line) calc(50% + 0.5px), transparent calc(50% + 0.5px));
|
|
191
|
+
|
|
192
|
+
--graview-lattice-rise: calc(var(--graview-lattice-tile) * var(--graview-lattice-tilt, 0.5));
|
|
193
|
+
background-size:
|
|
194
|
+
var(--graview-lattice-tile) var(--graview-lattice-rise),
|
|
195
|
+
var(--graview-lattice-tile) var(--graview-lattice-rise),
|
|
196
|
+
calc(var(--graview-lattice-tile) / 2) calc(var(--graview-lattice-rise) / 2),
|
|
197
|
+
calc(var(--graview-lattice-tile) / 2) calc(var(--graview-lattice-rise) / 2);
|
|
198
|
+
|
|
199
|
+
background-position: var(--graview-lattice-x, 0px) var(--graview-lattice-y, 0px);
|
|
200
|
+
|
|
201
|
+
opacity: calc(var(--graview-kit-lattice, 1) * var(--graview-grid-alpha) * 2 * var(--graview-altitude));
|
|
202
|
+
mask-image: linear-gradient(to top, #000 42%, rgba(0,0,0,0.35) 70%, transparent 92%);
|
|
203
|
+
-webkit-mask-image: linear-gradient(to top, #000 42%, rgba(0,0,0,0.35) 70%, transparent 92%);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
.graview-profile-keeping { display: grid; gap: 6px; }
|
|
208
|
+
.graview-profile-keeping:not(:has(button, a)) { display: none; }
|
|
209
|
+
.graview-profile-keeping > * { justify-self: start; }
|
|
210
|
+
|
|
211
|
+
.graview-host-action:hover,
|
|
212
|
+
.graview-host-action:focus-visible {
|
|
213
|
+
background: var(--graview-wash);
|
|
214
|
+
color: var(--graview-accent);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
@keyframes graview-settle {
|
|
220
|
+
from { opacity: 0; transform: translateY(7px); }
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
[data-graview-pick] {
|
|
225
|
+
cursor: pointer;
|
|
226
|
+
transition: filter 140ms ease, box-shadow 140ms ease;
|
|
227
|
+
}
|
|
228
|
+
[data-graview-pick]:hover {
|
|
229
|
+
filter: brightness(${r==="light"?.96:1.18});
|
|
230
|
+
}
|
|
231
|
+
[data-graview-pick]:focus-visible {
|
|
232
|
+
outline: 2px solid var(--graview-accent);
|
|
233
|
+
outline-offset: 2px;
|
|
234
|
+
border-radius: 7px;
|
|
235
|
+
}
|
|
236
|
+
.graview-activity-record:hover > [data-graview-primitive="chip"] {
|
|
237
|
+
filter: brightness(${r==="light"?.96:1.18});
|
|
238
|
+
}
|
|
239
|
+
.graview-activity-record:focus-visible {
|
|
240
|
+
outline: 2px solid var(--graview-accent);
|
|
241
|
+
outline-offset: 2px;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
[data-graview-slot]:focus-visible {
|
|
245
|
+
outline: none;
|
|
246
|
+
}
|
|
247
|
+
[data-graview-slot]:focus-visible > span:first-of-type {
|
|
248
|
+
box-shadow: 0 0 0 2px var(--graview-ground), 0 0 0 4px var(--graview-accent);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
[data-graview-view] { cursor: pointer; }
|
|
253
|
+
[data-graview-view]:hover { filter: brightness(${r==="light"?.985:1.12}); }
|
|
254
|
+
[data-graview-view]:focus-visible {
|
|
255
|
+
outline: 2px solid var(--graview-accent);
|
|
256
|
+
outline-offset: 3px;
|
|
257
|
+
border-radius: var(--graview-radius);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
button {
|
|
261
|
+
font: inherit;
|
|
262
|
+
font-weight: var(--graview-weight-label);
|
|
263
|
+
color: var(--graview-ink);
|
|
264
|
+
padding: 7px 13px;
|
|
265
|
+
border: 1px solid var(--graview-edge);
|
|
266
|
+
border-radius: var(--graview-radius-sm, 8px);
|
|
267
|
+
background: var(--graview-panel);
|
|
268
|
+
box-shadow: ${r==="light"?"0 1px 2px rgba(24,33,58,0.05)":"none"};
|
|
269
|
+
cursor: pointer;
|
|
270
|
+
transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
button:hover:not(:disabled) {
|
|
274
|
+
border-color: var(--graview-edge-bright);
|
|
275
|
+
box-shadow: ${r==="light"?"0 1px 2px rgba(24,33,58,0.06), 0 6px 16px -8px rgba(24,33,58,0.2)":"0 0 0 1px var(--graview-accent-dim)"};
|
|
276
|
+
}
|
|
277
|
+
button:focus-visible {
|
|
278
|
+
outline: 2px solid var(--graview-accent);
|
|
279
|
+
outline-offset: 2px;
|
|
280
|
+
}
|
|
281
|
+
button:disabled { opacity: 0.45; cursor: default; }
|
|
282
|
+
|
|
283
|
+
code { color: var(--graview-ink-muted); font-size: 0.8125rem; letter-spacing: 0.02em; }
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
[data-graview-view] {
|
|
287
|
+
transition: filter 260ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
[data-graview-stage="dom"] [data-graview-view],
|
|
292
|
+
[data-graview-stage="dom"] [data-graview-view] > [data-graview-natural] {
|
|
293
|
+
pointer-events: none;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
@keyframes graview-touched {
|
|
299
|
+
0% { box-shadow: 0 0 0 0 var(--graview-accent-dim); }
|
|
300
|
+
35% { box-shadow: 0 0 26px 3px var(--graview-accent-dim); }
|
|
301
|
+
100% { box-shadow: 0 0 0 0 transparent; }
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
@keyframes graview-landed {
|
|
305
|
+
0% { box-shadow: 0 0 0 0 var(--graview-activity); opacity: 0.55; }
|
|
306
|
+
30% { box-shadow: 0 0 30px 4px var(--graview-activity); opacity: 1; }
|
|
307
|
+
100% { box-shadow: 0 0 0 0 transparent; opacity: 1; }
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
@keyframes graview-considered {
|
|
312
|
+
0% { outline-color: transparent; }
|
|
313
|
+
25% { outline-color: var(--graview-activity); }
|
|
314
|
+
100% { outline-color: transparent; }
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
@keyframes graview-relation {
|
|
319
|
+
0% { stroke-opacity: 0.28; stroke-width: 1.4; }
|
|
320
|
+
30% { stroke-opacity: 1; stroke-width: 3; }
|
|
321
|
+
100% { stroke-opacity: 0.28; stroke-width: 1.4; }
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
@media (prefers-reduced-motion: reduce) {
|
|
326
|
+
${Zr(`${d}:not([data-graview-motion='full'])`,o)}
|
|
327
|
+
}
|
|
328
|
+
${Zr(`${d}[data-graview-motion='reduce']`,o)}`}var F=y(O(),1);var L=y(b(),1);function sn({scheme:r,onScheme:e,profileHref:t,keeping:n,hostActions:i=ln,signature:a=!1}){let{store:o,principal:d,seats:p,people:s}=le(),c=q("profile"),u=c.open,[f,v]=(0,F.useState)(!1);(0,F.useEffect)(()=>pn(ge),[]),u&&!f&&v(!0),(0,F.useEffect)(()=>{u&&ge()},[u]);let x=d.id===void 0?void 0:o.graph.getNode(d.id),g=x===void 0?d.id===void 0?"Nobody in particular":Qe(d,{graph:o.graph,schema:o.schema,seats:p,people:s}):je(o.schema.tryDefinition(x.kind),x);return(0,L.jsxs)("div",{style:{position:"relative"},children:[(0,L.jsx)("button",{type:"button","data-testid":"profile-button",...c.trigger,onClick:c.toggle,onPointerEnter:ge,onFocus:ge,"aria-label":`${g} \u2014 you, your seat and your settings`,title:`${g} \u2014 you, your seat and your settings`,style:{...Y,borderRadius:999},children:(0,L.jsx)("span",{"aria-hidden":"true","data-testid":"profile-mark",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:j-4,height:j-4,borderRadius:999,fontSize:"0.8125rem",fontWeight:600,background:"var(--graview-panel-muted)",color:"var(--graview-ink)",border:"1px solid var(--graview-edge)"},children:un(g)})}),(0,L.jsxs)("section",{...c.pane,"aria-label":"Profile","data-testid":"profile","data-graview-offstage":"",hidden:!u,style:{...G,width:280,maxWidth:"calc(100vw - 32px)",maxHeight:"min(62cqh, 520px)",overflowY:"auto",overflowX:"hidden",display:u?"grid":"none",gap:12,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[f?(0,L.jsx)(F.Suspense,{fallback:null,children:(0,L.jsx)(dn,{part:"top",name:g,me:x,profileHref:t,hostActions:i,close:()=>c.setOpen(!1)})}):null,(0,L.jsxs)("div",{className:"graview-profile-keeping","data-testid":"profile-keeping",style:fn,children:[(0,L.jsx)("span",{style:gn,children:"Keeping this app"}),n]}),f?(0,L.jsx)(F.Suspense,{fallback:null,children:(0,L.jsx)(cn,{part:"rest",name:g,me:x,scheme:r,onScheme:e,hostActions:i,signature:a,close:()=>c.setOpen(!1)})}):null]})]})}var ln=[],ge=()=>C.prefetch(),dn=C.part((r,e)=>(0,L.jsx)(r.ProfilePane,{...e}),{what:"The rest of your menu"}),cn=C.part((r,e)=>(0,L.jsx)(r.ProfilePane,{...e}),{quiet:!0});function pn(r){let e=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&r()},t=globalThis;if(t.requestIdleCallback){let i=t.requestIdleCallback(e,{timeout:5e3});return()=>t.cancelIdleCallback?.(i)}let n=setTimeout(e,2500);return()=>clearTimeout(n)}function un(r){return(r.trim()[0]??"?").toUpperCase()}var gn={fontSize:"0.75rem",letterSpacing:"0.14em",textTransform:"uppercase",color:"var(--graview-ink-faint)"},fn={paddingTop:10,borderTop:"1px solid var(--graview-edge)"};function mn(r){return!(r==="hidden"||r===!1)}var Ne=y(O(),1);var rt="The whole thing",fe=r=>`scene:${r.kind}:${r.as}`;function tt(r){let{view:e}=r,t=r.places.filter(c=>!r.hidden.has(c.kind)),n=Q(t),i=(c,u)=>{if(c===z)return hr(br(u,!0),"view",null);let f=n.find(v=>fe(v)===c);return f?kr(u,f.over?.find(v=>u.focusId===Z(v))??f.kind,f.as):null},a=[{key:z,label:rt,path:`${Se}${Le(i(z,Pe))}`,group:"home"},...n.map(c=>({key:fe(c),label:X(c,t,r.schema),path:`${Se}${Le(i(fe(c),Pe))}`,group:"pictures",kind:c.kind}))],o=e.within?.view,d=c=>e.focusId===Z(c.kind)&&(o===void 0?t.filter(u=>u.kind===c.kind).at(-1)===c:o===c.as),p=t.find(c=>d(c)&&(o!==void 0||!e.overview)),s=p?n.find(c=>cr(c,p)):void 0;return{places:a,current:s?fe(s):z,to:i}}function wn(){let{store:r,views:e,hiddenKinds:t}=le(),{view:n,go:i}=Ar(),a=e.places(),o=(0,Ne.useMemo)(()=>tt({places:a,hidden:t,view:n,schema:r.schema}),[a,t,n,r.schema]),d=(0,Ne.useMemo)(()=>({go:p=>{let s=o.to(p.key,n);s&&i(s)}}),[o,n,i]);return{places:o.places,current:o.current,reach:d}}var T=y(O(),1);var E=y(b(),1),nt=6e3;function vn(){let r=[],e=0,t=new Set,n=new Map,i,a=()=>{for(let s of[...t])s()},o=s=>{if(clearTimeout(n.get(s.id)),n.delete(s.id),s.kind!=="toast")return;let c=(s.actions?.length??0)+(s.action?1:0),u=s.timeout??(c>0?!1:nt);u!==!1&&n.set(s.id,setTimeout(()=>i?.()?o(s):d(s.id),u))},d=s=>{clearTimeout(n.get(s)),n.delete(s),r.some(c=>c.id===s)&&(r=r.filter(c=>c.id!==s),a())},p=s=>{r=r.some(c=>c.id===s.id)?r.map(c=>c.id===s.id?s:c):[...r,s],o(s),a()};return{notify(s){let c=s.id??`notice-${++e}`;return p({...s,id:c,said:++e}),{id:c,dismiss:()=>d(c),update:u=>{let f=r.find(v=>v.id===c);f&&p({...f,...u,id:c,kind:f.kind,said:u.sentence!==void 0&&u.sentence!==f.sentence?++e:f.said})}}},dismiss:d,hold(s){i=s},list:()=>r,subscribe(s){return t.add(s),()=>t.delete(s)}}}function yn({notices:r}){let e=r.reduce((d,p)=>!d||p.said>d.said?p:d,void 0),[t,n]=(0,T.useState)(""),[i,a]=(0,T.useState)(""),o=(0,T.useRef)(0);return(0,T.useEffect)(()=>{if(!e||e.said===o.current)return;o.current=e.said;let d=e.tone==="bad";(d?a:n)("");let p=setTimeout(()=>(d?a:n)(e.sentence),50);return()=>clearTimeout(p)},[e]),(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)("div",{role:"status","aria-live":"polite","data-testid":"notices-said",style:ue,children:t}),(0,E.jsx)("div",{role:"alert","data-testid":"notices-alarm",style:ue,children:i})]})}var hn=(0,T.createContext)(null);function bn({board:r,anchor:e}){let t=(0,T.useSyncExternalStore)(r.subscribe,r.list,r.list);return(0,T.useEffect)(()=>Sn(Be.prefetch),[]),(0,E.jsxs)(E.Fragment,{children:[t.length>0?(0,E.jsx)(T.Suspense,{fallback:null,children:(0,E.jsx)(kn,{notices:t,anchor:e,board:r})}):null,(0,E.jsx)(yn,{notices:t})]})}var Be=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.MB7LKKUD.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.5T5XGILP.js")))),xn=()=>Be.load().then(()=>{},()=>{}),kn=Be.part((r,e)=>(0,E.jsx)(r.NoticeStacks,{...e}),{quiet:!0});function Sn(r){let e=()=>{(typeof navigator>"u"||navigator.onLine!==!1)&&r()},t=globalThis;if(t.requestIdleCallback){let i=t.requestIdleCallback(e,{timeout:5e3});return()=>t.cancelIdleCallback?.(i)}let n=setTimeout(e,2500);return()=>clearTimeout(n)}var U=y(O(),1);var B=y(b(),1),Pn=C.part((r,e)=>(0,B.jsx)(r.ProblemRows,{...e}),{what:"The problems",as:"li"}),Re=()=>C.prefetch();function Ln({clean:r="All rules hold"}){let e=Tr(),{set:t}=Lr(),n=e.length,[i,a]=(0,U.useState)(!1),o=q("problems",{open:i&&n>0,onOpenChange:a}),d=o.open,p=it(e,r);return(0,U.useEffect)(()=>{if(n===0)return;let s=setTimeout(Re,1500);return()=>clearTimeout(s)},[n>0]),(0,B.jsxs)("div",{style:{position:"relative",display:"inline-flex"},children:[(0,B.jsxs)("button",{type:"button","data-testid":"standing",...o.trigger,"aria-disabled":n===0?!0:void 0,"aria-label":p,onClick:n===0?void 0:o.toggle,onPointerEnter:n===0?void 0:Re,onFocus:n===0?void 0:Re,title:p,style:{...Y,padding:n===0?0:"0 8px",cursor:n===0?"default":"pointer",color:n===0?"var(--graview-ink-muted)":at(e),fontVariantNumeric:"tabular-nums",fontWeight:600},children:[(0,B.jsx)(ot,{tone:n===0?"var(--graview-good)":at(e)}),n>0?(0,B.jsx)("span",{"aria-hidden":"true",children:n}):null]}),d?(0,B.jsx)("ol",{...o.pane,"data-testid":"problems",style:{...G,width:300,maxHeight:"min(48cqh, 420px)",overflow:"auto",margin:0,padding:4,listStyle:"none",display:"grid",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:(0,B.jsx)(U.Suspense,{fallback:null,children:(0,B.jsx)(Pn,{violations:e,pick:s=>{t(s.nodeIds),o.setOpen(!1)}})})}):null]})}function it(r,e){return r.length===0?e:`${Xe(r)} \u2014 open what is broken, and what would fix it`}var at=r=>r.some(e=>e.status==="could-not-judge"||e.status==="over-budget")?"var(--graview-bad)":"var(--graview-warn)";function ot({tone:r}){return(0,B.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:999,flex:"0 0 auto",background:r}})}function Tn(r,e,t=[]){if(r.focusId)return r.focusId;let i=(r.selection??[]).map(xr).find(a=>a!==null)??t.find(a=>e.includes(a))??e[0]??null;return i===null?null:Z(i)}var we=y(b(),1),me=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.ERIT3R6N.js"))));function An(){return me.load().then(()=>{})}var En=[{cardinality:"one",fidelity:"full",slot:"page"},{cardinality:"one",fidelity:"summary",slot:"card"},{cardinality:"one",fidelity:"glyph",slot:"row"},{cardinality:"many",fidelity:"full"},{cardinality:"many",fidelity:"summary"},{cardinality:"many",fidelity:"glyph"}];function $n({schema:r,specs:e,kind:t,view:n}){let i=me.current.frameworkViews(r,e).lookup(t,{cardinality:n.cardinality,fidelity:n.fidelity});return i?(0,we.jsx)(i,{...n}):null}var On=me.part((r,e)=>(0,we.jsx)($n,{...e}),{what:"This view"});function st(r,e,t){for(let n of e.kinds){let i=t?.[n];for(let a of En){let o=p=>(0,we.jsx)(On,{schema:e,specs:t,kind:n,view:p}),d=a.slot!==void 0&&i?.[a.slot]!==void 0;d&&(o.says=(p,s)=>me.current?.frameworkViews(e,t).lookup(n,{cardinality:a.cardinality,fidelity:a.fidelity})?.says?.(p,s)),r.register(n,{cardinality:a.cardinality,fidelity:a.fidelity},d?o:Sr(o))}}return r}function Hn(r,e){return st(Pr(r),r,e)}var Ce=y(O(),1);var M=y(b(),1),lt=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.4HRAQNJO.js","./chunk.Y6ZNFQK3.js","./chunk.BNV77BQZ.js","./chunk.SYAEBGDC.js","./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.UHUGOTUU.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.HJCQ6I3S.js","./chunk.MWGGV7DE.js","./chunk.JQU5GEU3.js","./chunk.HAIG6NVX.js","./chunk.UZGRRDHD.js","./chunk.XANVHJQ4.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.UT6642FC.js","./chunk.G5NZVPJU.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.H7BST3XO.js"))));function Nn({lens:r,view:e}){let t=lt.current.declaredLensView(r);return(0,M.jsx)(t,{...e})}var Bn=lt.part((r,e)=>(0,M.jsx)(Nn,{...e}),{what:"This picture"});function Rn(r){let e=t=>(0,M.jsx)(Ce.Suspense,{fallback:null,children:(0,M.jsx)(Bn,{lens:r,view:t})});return r.lens==="blocks"&&(e.flows=!0),r.create===!1&&(e.creates=!1),e}var dt=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.NRAYZY3X.js","./chunk.RIJUCHP4.js","./chunk.TAQ764IQ.js","./chunk.YIR7PPF3.js","./chunk.3HXN4BOY.js","./chunk.GYICGZMG.js","./chunk.47STJVRV.js","./chunk.EBGAYL32.js","./chunk.DAZ2VSRD.js","./chunk.CWHRDBOF.js","./chunk.3K6YSVHC.js","./chunk.SHTJZ6UX.js","./chunk.WVUJXDXZ.js","./chunk.ULRW47RP.js","./chunk.PBSMLINK.js","./chunk.3TY5NFLY.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.GZHZLJBF.js","./chunk.XMC7YDWT.js","./chunk.6UGEYZAC.js","./chunk.OJGHDWI6.js","./chunk.B2GLDIAS.js","./chunk.6YCBYL2Y.js","./chunk.UGFJKSHU.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.PHKSMUIA.js"))));function Cn({blocks:r,view:e}){let t=dt.current.homeView(r);return(0,M.jsx)(t,{...e})}var _n=dt.part((r,e)=>(0,M.jsx)(Cn,{...e}),{what:"The home"});function Mn(r){let e=t=>(0,M.jsx)(Ce.Suspense,{fallback:null,children:(0,M.jsx)(_n,{blocks:r,view:t})});return Object.defineProperty(e,Symbol.for("graview.home-blocks"),{value:!0}),e}function Dn(r,e){return e.home&&e.home.length>0&&r.home?.(Mn(e.home)),ct(r,e),r.arrange?.(e.pages),r}function ct(r,e,t){for(let n of gr(e).drawn){if(t&&r.places().some(o=>o.title===n.title))continue;let i=Rn(n),a={title:n.title,...n.across?{across:n.across}:{},...t?{beside:t}:{},...n.hidden?{hidden:!0}:{},over:n.kinds};for(let o of n.kinds)r.register(o,{cardinality:"many",fidelity:"full"},i,a),r.register(o,{cardinality:"many",fidelity:"summary"},i,a)}}function Vn(r,e,t){t.length>0&&ct(r,{schema:e,lenses:t.map(({lens:n,...i})=>({...i,name:n}))},!0)}function Fn(r,e,t){Vn(r,e,He(t))}var I=y(O(),1),ve=y(b(),1);var _e=r=>`graview:first-look:${r}`;function In(r,e){if(r.seen!==void 0)try{return typeof r.seen=="function"?r.seen():r.seen}catch{return!0}try{return window.localStorage.getItem(_e(e))!==null}catch{return!1}}function Wn(r,e){if(r.seen===void 0)try{window.localStorage.setItem(_e(e),"seen")}catch{}}var zn=N(H(()=>(__graviewPreload(import.meta.url,["./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.K5ME5GCG.js")))),Kn=zn.part((r,e)=>{let t=r.FirstLookHints;return(0,ve.jsx)(t,{...e})},{quiet:!0});function Gn({firstLook:r,root:e,app:t}){let n=(0,I.useRef)(null);n.current=r===!0?{}:r||null;let[i,a]=(0,I.useState)(()=>n.current!==null&&typeof window<"u"&&!In(n.current,t)),o=(0,I.useCallback)(d=>{if(a(!1),d===null)return;let p=n.current??{};Wn(p,t),p.onDone?.(d)},[t]);return!i||n.current===null?null:(0,ve.jsx)(I.Suspense,{fallback:null,children:(0,ve.jsx)(Kn,{root:e,steps:n.current.steps??[],onEnd:o})})}export{rn as a,tn as b,ce as c,Pt as d,qn as e,Or as f,jn as g,Dr as h,Nt as i,Cr as j,Ot as k,Ht as l,ue as m,C as n,Ct as o,_t as p,Wr as q,Mt as r,Y as s,Vt as t,sn as u,mn as v,wn as w,vn as x,hn as y,bn as z,xn as A,Xt as B,Zt as C,He as D,Ln as E,it as F,ot as G,Tn as H,Dn as I,Vn as J,Fn as K,An as L,Hn as M,Gn as N};
|
|
329
|
+
/*! Bundled license information:
|
|
330
|
+
|
|
331
|
+
react-dom/cjs/react-dom.production.js:
|
|
332
|
+
(**
|
|
333
|
+
* @license React
|
|
334
|
+
* react-dom.production.js
|
|
335
|
+
*
|
|
336
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
337
|
+
*
|
|
338
|
+
* This source code is licensed under the MIT license found in the
|
|
339
|
+
* LICENSE file in the root directory of this source tree.
|
|
340
|
+
*)
|
|
341
|
+
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u}from"./chunk.
|
|
1
|
+
import{c as u}from"./chunk.UGFJKSHU.js";import{_ as l}from"./chunk.MNP4JI33.js";function a(e,n){let s=new Map;for(let o of e){let t=n(o.from),i=n(o.to);if(t===void 0||i===void 0)continue;let d=`${o.kind}|${t}|${i}`,r=s.get(d);r||s.set(d,r={edge:o.kind,from:t,to:i,links:0,froms:new Set,tos:new Set}),r.links+=1,r.froms.add(o.from),r.tos.add(o.to)}return[...s.entries()].sort(([o],[t])=>o<t?-1:o>t?1:0).map(([o,t])=>({key:o,edge:t.edge,from:t.from,to:t.to,links:t.links,fromCount:t.froms.size,toCount:t.tos.size}))}function m(e,n,s){let o=[],t=[];for(let d of e){let r=f(d);if(r!==null){o.includes(r)||o.push(r);continue}s(d)!==void 0&&t.push(d)}let i=n.overview&&n.focusId!==null?f(n.focusId):null;return n.beside&&n.overview&&i===null&&n.focusId!==null&&t.length===0&&o.length===0&&s(n.focusId)!==void 0&&t.push(n.focusId),{districts:o,records:t,lens:i}}function f(e){return e.startsWith("kind:")?e.slice(5)||null:e.startsWith("aggregate:")&&!e.includes("|")&&e.slice(10)||null}function y(e,n){let s=u(e,n.from,n.edge,"out"),o=n.from===n.to?" of their own":"";return`${l(e,n.from,n.fromCount)} \u2192 ${l(e,n.to,n.toCount)}${o}, ${s}`}export{a,m as b,f as c,y as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as C,Q as F,sa as H,ua as A}from"./chunk.6QWV5MVH.js";import"./chunk.MNP4JI33.js";import{b as x}from"./chunk.AJZBJBMO.js";var t=x(C(),1),f=x(F(),1),q={faces:'[data-testid="app-faces"]',problems:'[data-testid="standing"], [data-testid="standing-link"]',activity:'[data-testid="activity-button"]',ask:'[data-testid="app-find"], [data-testid="app-find-open"]',find:'[data-testid="app-find"], [data-testid="app-find-open"]',profile:'[data-testid="profile-button"]',home:'[data-testid="app-home"]'};function D(e){if(!e.isConnected||e.closest("[hidden], [inert], [aria-hidden='true']"))return!1;if(typeof e.checkVisibility!="function")return!0;if(!e.checkVisibility({visibilityProperty:!0}))return!1;let a=e.getBoundingClientRect();return a.width>1&&a.height>1}function S(e,a){if(!e||a==="ask"&&!e.querySelector("[data-graview-quick-ask]"))return null;for(let c of e.querySelectorAll(q[a]))if(D(c))return c;return null}function W(e){let a=(u,h,l)=>e.querySelector(u)?.getAttribute(h)?.trim()||l,c=a('[data-testid="app-face-scene"]',"title","Scene"),n=a('[data-testid="app-face-pages"]',"title","Pages");return[{anchor:"faces",title:`${c} or ${n}`,words:`One app, two ways to see it: ${c} draws every record as one picture, ${n} as lists and pages to read and change.`},{anchor:"problems",title:"Whether all is in order",words:"The dot is green while every rule holds. When one is broken it counts what is wrong, and pressing it shows each one and where."},{anchor:"activity",title:"Activity",words:"What has happened here and who did it, each change with its way back."},{anchor:"ask",title:"Ask",words:"Press \u2318K (Ctrl+K) to ask about what you have selected, or right-click it and choose Ask about this\u2026. The answer stands beside it, and a change it proposes waits for you to accept it."}]}var R=300,O=1200,$=15e3;function _({root:e,steps:a,onEnd:c}){let[n,u]=(0,t.useState)(null),h=(0,t.useRef)(null),l=(0,t.useRef)(!1),p=(0,t.useRef)(c);p.current=c,(0,t.useEffect)(()=>{let r=Date.now(),o=Date.now(),s=null,i,v=new MutationObserver(()=>o=Date.now());v.observe(document.body,{childList:!0,subtree:!0});let k=()=>{let L=e(),E=Date.now();if(L?.querySelector('[data-testid="app-bar"]')){if(s??=E,E-o>=R||E-s>=O){let T=[...W(L),...a].filter(P=>S(L,P.anchor)!==null);if(T.length===0){l.current=!0,p.current(null);return}h.current=document.activeElement,u({list:T,at:0});return}}else if(E-r>=$){l.current=!0,p.current(null);return}i=setTimeout(k,100)};return i=setTimeout(k,100),()=>{clearTimeout(i),v.disconnect()}},[]);let y=(0,t.useCallback)(()=>{let r=h.current;(r instanceof HTMLElement&&r!==document.body&&r.isConnected?r:e()?.querySelector('[data-testid="app-home"]'))?.focus({preventScroll:!0})},[e]),m=(0,t.useCallback)((r,o)=>{if(l.current)return;l.current=!0;let s=document.querySelector("[data-testid='first-look']"),i=document.activeElement,v=i===null||i===document.body||s!==null&&s.contains(i);u(null),p.current(r),!(!o&&!v)&&(y(),requestAnimationFrame(()=>{let k=document.activeElement;(k===null||k===document.body)&&y()}))},[y]),w=(0,t.useCallback)((r,o)=>{let s=e();for(let i=o;i<r.length;i++)if(S(s,r[i].anchor))return i;return-1},[e]),b=(0,t.useCallback)(()=>{if(!n)return;let r=w(n.list,n.at+1);r<0?m("finished",!0):u({list:n.list,at:r})},[n,w,m]);if((0,t.useEffect)(()=>{if(!n)return;let r=e();if(!r)return;let o=0,s=()=>{cancelAnimationFrame(o),o=requestAnimationFrame(()=>{S(e(),n.list[n.at].anchor)||b()})},i=new MutationObserver(s);return i.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden","class","data-switch-drawn"]}),()=>{cancelAnimationFrame(o),i.disconnect()}},[n,e,b]),!n)return null;let g=n.list[n.at],d=w(n.list,n.at+1)<0;return(0,f.jsx)(I,{root:e,step:g,position:n.at+1,total:n.list.length,last:d,onNext:b,onEnd:m},n.at)}var N={...H,width:"min(320px, calc(100vw - 24px))",maxHeight:"min(70vh, 420px)",overflow:"auto",padding:"12px 14px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",color:"var(--graview-ink)",fontFamily:"var(--graview-font-body, system-ui)",fontSize:"0.875rem",lineHeight:1.45,overflowWrap:"anywhere"},M={minHeight:32,padding:"0 12px",borderRadius:8,font:"inherit",fontWeight:600,cursor:"pointer"};function I({root:e,step:a,position:c,total:n,last:u,onNext:h,onEnd:l}){let p=(0,t.useRef)(null),y=(0,t.useRef)(null),m=(0,t.useId)().replace(/:/g,""),w=(0,t.useMemo)(()=>({get current(){return S(e(),a.anchor)}}),[e,a.anchor]),[b]=(0,t.useState)(()=>{let d=w.current?.getBoundingClientRect(),r=typeof document>"u"?0:document.documentElement.clientWidth||innerWidth;return d&&d.left+d.width/2<r/2?"start":"end"});A(p,!0,w,{align:b}),(0,t.useLayoutEffect)(()=>{y.current?.focus({preventScroll:!0})},[]);let g=(0,t.useRef)(l);return g.current=l,(0,t.useEffect)(()=>{let d=o=>{o.target instanceof Node&&p.current?.contains(o.target)||g.current("dismissed",!1)},r=o=>{if(o.key!=="Escape"||o.defaultPrevented)return;let s=o.target;s instanceof Node&&p.current?.contains(s)||s instanceof HTMLInputElement||s instanceof HTMLTextAreaElement||[...document.querySelectorAll("[data-graview-overlay]:not([hidden])")].some(i=>i!==p.current)||g.current("dismissed",!0)};return document.addEventListener("pointerdown",d,!0),document.addEventListener("keydown",r),()=>{document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",r)}},[]),(0,f.jsxs)("div",{ref:p,popover:"manual",role:"dialog","aria-modal":"false","aria-labelledby":`${m}-title`,"aria-describedby":`${m}-words`,tabIndex:-1,"data-testid":"first-look","data-first-look-anchor":a.anchor,"data-graview-overlay":"",onKeyDown:d=>{d.key==="Escape"&&(d.preventDefault(),d.stopPropagation(),l("dismissed",!0))},style:N,children:[(0,f.jsxs)("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--graview-ink-muted)"},"data-testid":"first-look-count",children:[c," of ",n]}),(0,f.jsx)("p",{id:`${m}-title`,style:{margin:"2px 0 4px",fontWeight:600,fontSize:"0.9375rem"},"data-testid":"first-look-title",children:a.title}),(0,f.jsx)("p",{id:`${m}-words`,style:{margin:0},"data-testid":"first-look-words",children:a.words}),(0,f.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"flex-end",gap:8,marginTop:12},children:[u?null:(0,f.jsx)("button",{type:"button","data-testid":"first-look-skip",onClick:()=>l("dismissed",!0),style:{...M,fontWeight:500,border:"1px solid transparent",background:"none",color:"var(--graview-ink-muted)"},children:"Skip"}),(0,f.jsx)("button",{ref:y,type:"button","data-testid":u?"first-look-done":"first-look-next",onClick:()=>u?l("finished",!0):h(),style:{...M,border:"1px solid var(--graview-accent)",background:"var(--graview-accent)",color:"var(--graview-accent-ink)"},children:u?"Done":"Next"})]})]})}export{_ as FirstLookHints,S as firstLookAnchor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,g as b,h as c,i as d,j as e,k as f,l as g}from"./chunk.AKFKM4SW.js";import"./chunk.XANVHJQ4.js";import"./chunk.OKRNJXTV.js";import"./chunk.CAVBSL27.js";import"./chunk.5UL7YDUD.js";import"./chunk.UT6642FC.js";import"./chunk.TI4OSTQV.js";import"./chunk.PBSMLINK.js";import"./chunk.B2GLDIAS.js";import"./chunk.6YCBYL2Y.js";import"./chunk.UGFJKSHU.js";import"./chunk.JOOQUWLT.js";import"./chunk.6QWV5MVH.js";import"./chunk.MNP4JI33.js";import"./chunk.AJZBJBMO.js";export{g as GhostTray,f as InlineAiMenu,e as askAgain,c as askInline,a as askOf,b as drawPanel,d as takeOffer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=new Set(["tell","me","about","what","how","show","describe","the","a","an","and","please"]),$=new Set([...o,"where","is","are","was","find","any","anything","something","things","called","named","which","who","of","for","with","to","in","on","i","my","do","does","have","has","can","you","it","that","this","there","we","our","got","be"]);function k(t){return t.flatMap(e=>{let n=e.repairs.find(s=>!s.missing?.length);return n?[{mutation:n.mutation,args:{...n.args},why:e.message}]:[]})}export{k as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{s as P}from"./chunk.XMC7YDWT.js";import{F as A,N as M,Q as y,Y as m,Z as w,a as p,t as b,x as g,xa as S,y as T}from"./chunk.6QWV5MVH.js";import{b as d}from"./chunk.AJZBJBMO.js";var x=d(A(),1),h=d(y(),1),C=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.UNL2HIF2.js")))),O=C.part((e,n)=>(0,h.jsx)(e.Timeline,{...n}),{what:"The timeline"}),q=()=>C.prefetch();function H({face:e}){return M()?.open?(0,h.jsx)(x.Suspense,{fallback:null,children:(0,h.jsx)(O,{face:e})}):null}var i=d(A(),1),u=d(y(),1),v=new WeakMap,I=e=>{let n=v.get(e);return n||v.set(e,n={ask:null,doors:[],listeners:new Set}),n},k=e=>{for(let n of e.listeners)n()};function N(e,n){let o=I(e);o.ask=n,k(o)}var E=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.E2YEOMPH.js","./chunk.D75KC3LL.js","./chunk.FWTIUYXH.js","./chunk.MAF7C3VM.js","./chunk.JOOQUWLT.js","./chunk.6QWV5MVH.js","./chunk.MNP4JI33.js","./chunk.AJZBJBMO.js"]),import("./chunk.H7EPE74C.js")))),B=E.part((e,n)=>{let o=e.NotifySheet;return(0,u.jsx)(o,{...n})},{what:"Notify me"}),W=E.part((e,n)=>{let o=e.NotifiedList;return(0,u.jsx)(o,{...n})},{quiet:!0}),D=e=>(e.onBehalfOf??e).id!==void 0;function L(e,n,o){let c=a=>o.tryDefinition(a)?.noun??a.replace(/[-_]+/g," "),t=e.on!==void 0?e.on:e.about.length===1?e.about[0]:void 0;if(e.act!==void 0){let a=t!==void 0&&n(t)!==void 0?t:void 0;return{label:"Notify me when someone does this\u2026",choices:[{on:"act",act:e.act,...a!==void 0?{record:a}:{}},...a!==void 0?[{on:"act",act:e.act}]:[]]}}if(t===void 0)return null;let r=n(t);if(r!==void 0)return{label:"Notify me when this changes\u2026",choices:[{on:"changed",record:t},{on:"act",record:t},{on:"reaches",kind:r,condition:"",record:t}]};let s=b(t)!==null?[b(t)]:g(t)?T(t):[];if(s.length!==1||!o.kinds.includes(s[0]))return null;let l=s[0],f=c(l);return{label:`Notify me when ${/^[aeiou]/i.test(f)?"an":"a"} ${f} is added\u2026`,choices:[{on:"created",kind:l},{on:"changed",kind:l},{on:"reaches",kind:l,condition:""}]}}function F(){let{store:e,principal:n,subscriptions:o}=m(),c=D(n);return(0,i.useMemo)(()=>c?t=>{let r=L(t,l=>e.graph.getNode(l)?.kind,e.schema);return r?{id:"notify",items:[{id:"notify-me",label:r.label,run:()=>N(o,{choices:r.choices,returnTo:t.element??null})}]}:null}:null,[c,e,o])}var z=[];function U({children:e}){let n=F(),o=(0,i.useMemo)(()=>n?[n]:z,[n]);return(0,u.jsx)(P,{sections:o,children:e})}function V(){let{subscriptions:e}=m(),n=(0,i.useId)(),o=I(e);(0,i.useEffect)(()=>(o.doors.push(n),k(o),()=>{o.doors.splice(o.doors.indexOf(n),1),k(o)}),[o,n]);let c=(0,i.useMemo)(()=>s=>(o.listeners.add(s),()=>void o.listeners.delete(s)),[o]),t=(0,i.useSyncExternalStore)(c,()=>o.ask,()=>null),r=(0,i.useSyncExternalStore)(c,()=>o.doors[0]===n,()=>!1);return!t||!r?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(B,{ask:t,close:()=>N(e,null)})})}function X({choices:e,label:n="Notify me",style:o,className:c,testId:t="notify-me"}){let{principal:r,subscriptions:s}=m();return D(r)?(0,u.jsx)("button",{type:"button","data-testid":t,className:c,onClick:l=>N(s,{choices:e,returnTo:l.currentTarget}),style:o,children:n}):null}function G(){let e=w(),n=e?.subscriptions,o=e?(e.principal.onBehalfOf??e.principal).id:void 0,[c,t]=(0,i.useState)(0);return(0,i.useEffect)(()=>{if(o===void 0||!n)return;let r=!0,s=()=>void Promise.resolve(n.list(o)).then(f=>r&&t(f.length),()=>r&&t(0));s();let l=n.onChange?.(s);return()=>{r=!1,l?.()}},[n,o]),c}function Y({style:e}){return G()===0?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(W,{...e?{style:e}:{}})})}export{q as a,H as b,F as c,U as d,V as e,X as f,G as g,Y as h};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk.
|
|
1
|
+
import"./chunk.GZHZLJBF.js";import{n as P}from"./chunk.XMC7YDWT.js";import"./chunk.6UGEYZAC.js";import"./chunk.OJGHDWI6.js";import"./chunk.B2GLDIAS.js";import"./chunk.6YCBYL2Y.js";import"./chunk.UGFJKSHU.js";import"./chunk.JOOQUWLT.js";import{F as A,Q as S,Z as b}from"./chunk.6QWV5MVH.js";import{dc as x,fa as L,pa as w}from"./chunk.MNP4JI33.js";import{b as R}from"./chunk.AJZBJBMO.js";var u=R(A(),1);var n=R(S(),1),C={kind:"human"},p={color:"var(--graview-ink-muted)"};function I(e){if(e){if(/^https?:\/\//i.test(e))try{return new URL(e).href}catch{return}return L(e)?e:void 0}}function z(e){let o=b(),t=o?.linkedReads,[i,a]=(0,u.useState)(()=>t?t.answered(e)??"asking":null);return(0,u.useEffect)(()=>{if(!t){a(o?.linkedRecords?"asking":null);return}let d=t.answered(e);if(a(d===void 0?"asking":d),d!==void 0)return;let s=!0;return t.ask(e).then(l=>s&&a(l)),()=>{s=!1}},[t,o?.linkedRecords,e.address,e.kind,e.id]),i}function V({reference:e,as:o}){let t=b(),i=z(e),a={position:"relative",zIndex:x.raised,overflowWrap:"anywhere",minWidth:0,maxWidth:"100%"};if(i==="asking")return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"asking","aria-busy":"true",style:{...p,...a},children:"Linked record"});if(i&&"denied"in i)return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"denied",style:{...p,fontStyle:"italic",...a},children:"linked record (no access)"});if(!i)return(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"missing",style:{...p,fontStyle:"italic",...a},children:"linked record (not found)"});let d=I(i.href),s=t?.linkedRecords,l=t?.principal??C,g=s?.open?c=>{c.metaKey||c.ctrlKey||(c.preventDefault(),s.open(e,l))}:void 0,k=(0,n.jsx)("a",{"data-graview-linked-title":"",...d?{href:d}:{role:"link",tabIndex:0},...g?{onClick:g,onKeyDown:c=>!d&&(c.key==="Enter"||c.key===" ")?g(c):void 0}:{},style:{fontWeight:600,color:"inherit",textUnderlineOffset:3,cursor:d||g?"pointer":"default"},children:i.label});return o==="chip"?(0,n.jsx)("span",{"data-graview-linked":"","data-graview-linked-state":"found",title:i.describe,style:{display:"inline-flex",alignItems:"center",minHeight:24,...a},children:k}):(0,n.jsx)(D,{record:i,title:k,base:a})}function D({record:e,title:o,base:t}){return(0,n.jsxs)("span",{"data-graview-linked":"","data-graview-linked-state":"found",style:{display:"grid",gap:2,padding:"8px 10px",border:"1px solid var(--graview-line)",borderRadius:"var(--graview-radius-sm, 6px)",background:"var(--graview-surface)",...t},children:[(0,n.jsxs)("span",{style:{display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"2px 8px"},children:[o,e.app?(0,n.jsxs)("span",{"data-graview-linked-app":"",style:{...p,fontSize:"0.75rem"},children:["in ",e.app]}):null]}),e.describe?(0,n.jsx)("span",{"data-graview-linked-describe":"",style:{...p,fontSize:"0.8125rem"},children:e.describe}):null,e.card&&e.card.length>0?(0,n.jsx)("span",{"data-graview-linked-card":"",style:{display:"flex",flexWrap:"wrap",gap:"2px 12px",fontSize:"0.8125rem"},children:e.card.map(i=>(0,n.jsxs)("span",{children:[(0,n.jsx)("span",{style:p,children:i.label})," ",i.text]},i.label))}):null]})}function H({relation:e,refs:o,as:t="record",nodeId:i,field:a,style:d}){let s=(0,n.jsx)("span",{"data-graview-linked-list":"",style:{display:"grid",gap:6,minWidth:0,...d},children:o.map(l=>(0,n.jsx)(V,{reference:l,as:t},w(l)))});return i&&a?(0,n.jsx)(K,{nodeId:i,field:a,relation:e,refs:o,drawn:s}):s}function K({nodeId:e,field:o,relation:t,refs:i,drawn:a}){let{fields:d,commit:s}=P(e),l=d.find(f=>f.field===o),[g,k]=(0,u.useState)(!1);if(!l)return a;let c=t.cardinality==="one"?i[0]?w(i[0]):void 0:i.map(w);return(0,n.jsxs)("span",{style:{display:"grid",gap:6,minWidth:0},children:[a,g?(0,n.jsx)(N,{relation:t,value:c,label:"Link another record",onChange:f=>{s(l,f),k(!1)},onCancel:()=>k(!1)}):(0,n.jsx)("button",{type:"button","data-graview-linked-change":"",onClick:()=>k(!0),style:{justifySelf:"start",font:"inherit",fontSize:"0.8125rem",background:"none",border:0,padding:"4px 0",color:"var(--graview-accent)",cursor:"pointer",minHeight:24},children:"Change"})]})}function N({relation:e,value:o,onChange:t,onCancel:i,label:a}){let d=b(),s=d?.linkedRecords,l=d?.principal??C,g=(0,u.useId)(),[k,c]=(0,u.useState)(""),[f,m]=(0,u.useState)("asking");(0,u.useEffect)(()=>{if(!s)return;let r=!0;m("asking");let y=setTimeout(()=>{Promise.resolve().then(()=>s.find({address:e.address,kinds:e.kinds,query:k,limit:20},l)).then(h=>r&&m(Array.isArray(h)?h:"denied"),()=>r&&m([]))},150);return()=>{r=!1,clearTimeout(y)}},[s,e.address,e.kinds.join(","),k,l.kind,l.id]);let v=new Set([o].flat().filter(r=>typeof r=="string")),W=r=>{let y=w(r);if(e.cardinality==="one")return t(y);t(v.has(y)?[...v].filter(h=>h!==y):[...v,y])};return s?(0,n.jsxs)("span",{"data-graview-linked-picker":"",style:{display:"grid",gap:6,minWidth:0},children:[(0,n.jsx)("label",{htmlFor:g,style:{...p,fontSize:"0.8125rem"},children:a}),(0,n.jsx)("input",{id:g,type:"search",value:k,placeholder:`Find one in ${e.address}`,onChange:r=>c(r.target.value),style:{font:"inherit",minHeight:32,padding:"4px 8px",border:"1px solid var(--graview-line)",borderRadius:6,background:"var(--graview-surface)",color:"inherit",minWidth:0}}),f==="asking"?(0,n.jsx)("span",{"aria-busy":"true",style:p,children:"Looking\u2026"}):f==="denied"?(0,n.jsx)("span",{"data-graview-linked-state":"denied",style:{...p,fontStyle:"italic"},children:"linked record (no access)"}):f.length===0?(0,n.jsx)("span",{style:p,children:"Nothing there matches."}):(0,n.jsx)("ul",{role:"list",style:{listStyle:"none",margin:0,padding:0,display:"grid",gap:4},children:f.map(r=>{let y=v.has(w(r));return(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button","data-graview-linked-candidate":w(r),"aria-pressed":y,onClick:()=>W(r),style:{display:"grid",gap:2,width:"100%",textAlign:"start",font:"inherit",padding:"6px 8px",minHeight:32,border:"1px solid var(--graview-line)",borderRadius:6,background:y?"var(--graview-accent-soft, var(--graview-surface))":"var(--graview-surface)",color:"inherit",cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontWeight:600},children:r.label}),r.describe?(0,n.jsx)("span",{style:{...p,fontSize:"0.8125rem"},children:r.describe}):null]})},w(r))})}),i?(0,n.jsx)("button",{type:"button",onClick:i,style:{justifySelf:"start",font:"inherit",fontSize:"0.8125rem",background:"none",border:0,padding:"4px 0",color:"var(--graview-ink-muted)",cursor:"pointer",minHeight:24},children:"Keep it as it is"}):null]}):(0,n.jsxs)("span",{"data-graview-linked-picker":"","data-graview-linked-state":"no-host",style:p,children:["This page cannot read ",e.address,", so nothing there can be linked here."]})}var U=e=>(0,n.jsx)(H,{...e}),j=e=>(0,n.jsx)(N,{...e});export{N as LinkedPicker,H as LinkedRecordView,j as drawLinkedPicker,U as drawLinkedRecord};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as q,E as Z,G as T,J as _,Ja as Q,K as H,La as X,M as C,S as Y,T as j,ca as U,qa as B,qb as K,xb as v,ya as J}from"./chunk.6V2RG5JG.js";var dn=1e4,c=class{constructor(s){this.nodes=s}},en=Symbol.for("@graview/core:far-record"),ln=e=>typeof e=="object"&&e!==null&&e[en]===!0;function un(e){let s={...e.fields,id:`@${e.address}/${e.kind}:${e.id}`,kind:`@${e.address}/${e.kind}`,label:e.label};return Object.defineProperty(s,en,{value:!0}),s}function kn(e){let s=`the linked record in ${e.ref.address}`;return e.reason==="denied"?`${s} is not one this viewer may open`:`${s} has not been read`}var fn="",u=class extends Error{constructor(p,l){super(p);this.sentence=p;this.at=l}},P=class extends u{},R=e=>e!==null&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof c)&&typeof e.id=="string",nn=e=>{let s=new Set;return new c(e.filter(p=>!s.has(p.id)&&s.add(p.id)))},w=e=>e===null?"nothing":e instanceof c?"a set of records":Array.isArray(e)?"a list":R(e)?"a record":typeof e=="string"?"a word":typeof e;function rn(e,s){let p=s.budget??dn,l=(n,a)=>{if(p-=n,p<0)throw new P("this rule looks at too much of the graph to judge in one go",a)},h=s.today??T(),b=s.now??new Date().toISOString(),A=new Map,k=new Set,V=s.bindings,z=(n,a,r,o)=>{let d=`${n?.id}\0${a}`;if(A.has(d))return A.get(d);if(k.has(d))throw new u(`"${a}"${n?` of ${U(n.kind)}`:""} depends on itself`,o);k.add(d);let t=V;V=void 0;try{let i=$(r,n);return A.set(d,i),i}finally{V=t,k.delete(d)}},E=(n,a,r)=>{l(1,r);let o=s.kinds.get(n.kind),d=o?.computed?.get(a);if(d)return z(n,a,d,r);let t=o?.linked?.get(a);if(t){let y=B(Object.hasOwn(n,a)?n[a]:void 0,t);l(y.length,r);let m=s.linked??J(s.graph),g=y.flatMap(x=>{let D=m?m(x):{unread:!0};return"record"in D?[un(D.record)]:(s.onUnread?.({relation:a,ref:x,reason:"denied"in D?"denied":"unread"}),[])});return t.cardinality==="one"?g[0]??null:new c(g)}let i=Object.hasOwn(n,a);if(o?.fields.has(a)||i){let y=i?Q(n,a,h):void 0;return y===void 0?null:y}let f=o?.edges.get(a);if(f){let y=s.graph.out(n.id,a);return l(y.length,r),f==="one"?y[0]??null:new c(y)}if(a==="id")return n.id;if(ln(n))return null;throw new u(`${U(n.kind)} has no field or relation called "${a}"`,r)},N=(n,a,r)=>{if(n instanceof c)return n;if(n===null)return new c([]);if(R(n))return new c([n]);throw new u(`${r}(\u2026) needs a set of records, and was given ${w(n)}`,a)},G=(n,a,r)=>{if(n===null)return null;if(typeof n=="string")return n;if(typeof n=="number"||typeof n=="boolean")return String(n);throw new u(`${r}(\u2026) needs a word, and was given ${w(n)}`,a)},L=(n,a,r)=>{let o=G(n,a,r);if(o===null)return null;let d=Date.parse(o.length===10?`${o}T00:00:00Z`:o);if(Number.isNaN(d))throw new u(`${r}(\u2026) needs a date, and "${o}" is not one`,a);return d},M=(n,a)=>R(n)&&R(a)?n.id===a.id:R(n)&&typeof a=="string"?n.id===a:typeof n=="string"&&R(a)?n===a.id:Array.isArray(n)&&Array.isArray(a)?n.length===a.length&&n.every((r,o)=>M(r,a[o])):n===a,S=(n,a,r)=>{if(n===null)return!1;if(typeof n=="boolean")return n;throw new u(`${r} must be true or false, and was ${w(n)}`,a)},O=(n,a)=>$(a,n);function $(n,a){switch(l(1,n.at),n.t){case"lit":return n.value;case"list":return n.items.map(r=>$(r,a));case"ident":{let r=V&&Object.hasOwn(V,n.name)?V[n.name]:void 0;if(r!==void 0)return r;if(a)return E(a,n.name,n.at);throw new u(`"${n.name}" means nothing in a rule over the whole graph`,n.at)}case"member":{let r=$(n.object,a);if(r===null)return null;if(R(r))return E(r,n.name,n.at);throw new u(`".${n.name}" needs a record before it, and was given ${w(r)}`,n.at)}case"unary":{let r=$(n.operand,a);if(n.op==="!")return!S(r,n.at,"what follows not");if(r===null)return null;if(typeof r!="number")throw new u(`"-" needs a number, and was given ${w(r)}`,n.at);return-r}case"where":{let r=N($(n.set,a),n.at,"where");return l(r.nodes.length,n.at),new c(r.nodes.filter(o=>S(O(o,n.filter),n.at,"a where condition")))}case"binary":return an(n,a);case"call":return sn(n,a)}}function an(n,a){if(n.op==="&&")return S($(n.left,a),n.at,"each side of and")&&S($(n.right,a),n.at,"each side of and");if(n.op==="||")return S($(n.left,a),n.at,"each side of or")||S($(n.right,a),n.at,"each side of or");let r=$(n.left,a),o=$(n.right,a);if(n.op==="&"||n.op==="|"||n.op==="-"&&(r instanceof c||o instanceof c)){let d=N(r,n.at,n.op).nodes,t=N(o,n.at,n.op).nodes;l(d.length+t.length,n.at);let i=new Set(t.map(f=>f.id));return nn(n.op==="|"?[...d,...t]:d.filter(f=>i.has(f.id)===(n.op==="&")))}switch(n.op){case"==":return M(r,o);case"!=":return!M(r,o);case"in":{if(o===null)return!1;if(o instanceof c)return o.nodes.some(d=>M(r,d));if(Array.isArray(o))return o.some(d=>M(r,d));if(typeof o=="string"&&typeof r=="string")return o.includes(r);throw new u(`"in" needs a list or a set on its right, and was given ${w(o)}`,n.at)}case"<":case"<=":case">":case">=":{if(r===null||o===null)return!1;if(!(typeof r=="number"&&typeof o=="number"||typeof r=="string"&&typeof o=="string"))throw new u(`cannot compare ${w(r)} with ${w(o)}`,n.at);return n.op==="<"?r<o:n.op==="<="?r<=o:n.op===">"?r>o:r>=o}default:{if(r===null||o===null)return null;if(n.op==="+"&&(typeof r=="string"||typeof o=="string")){let d=`${G(r,n.at,"+")}${G(o,n.at,"+")}`;if(d.length>1e4)throw new u("that makes a word too long",n.at);return d}if(typeof r!="number"||typeof o!="number")throw new u(`"${n.op}" needs numbers, and was given ${w(r)} and ${w(o)}`,n.at);return(n.op==="/"||n.op==="%")&&o===0?null:n.op==="+"?r+o:n.op==="-"?r-o:n.op==="*"?r*o:n.op==="/"?r/o:r%o}}}function sn(n,a){let r=(t,i=t)=>{if(n.args.length<t||n.args.length>i)throw new u(`${n.fn}(\u2026) takes ${t===i?t:`${t} to ${i}`} argument${i===1?"":"s"}`,n.at)},o=t=>$(n.args[t],a),d=t=>{let i=o(t);if(typeof i!="string")throw new u(`${n.fn}(\u2026) needs a quoted name, like ${n.fn}('name')`,n.at);return i};switch(n.fn){case"out":case"in":{r(1,2);let t=(y,m)=>n.fn==="out"?s.graph.out(y,m):s.graph.in(y,m);if(n.args.length===2){let y=N(o(0),n.at,n.fn).nodes,m=d(1);return nn(y.flatMap(g=>{let x=t(g.id,m);return l(x.length+1,n.at),x}))}let i=d(0);if(!a)throw new u(`${n.fn}('${i}') needs a record to start from`,n.at);let f=t(a.id,i);return l(f.length,n.at),new c(f)}case"all":{r(1,2);let t=s.graph.nodesOfKind(d(0),{archived:n.args.length===2?o(1):!1});return l(t.length,n.at),new c(t)}case"archived":return r(0,1),X(n.args.length===1?o(0):a);case"count":return r(1),N(o(0),n.at,"count").nodes.length;case"exists":return r(1),N(o(0),n.at,"exists").nodes.length>0;case"every":case"some":{r(2);let t=N(o(0),n.at,n.fn);l(t.nodes.length,n.at);let i=f=>S(O(f,n.args[1]),n.at,`the condition in ${n.fn}(\u2026)`);return n.fn==="every"?t.nodes.every(i):t.nodes.some(i)}case"sum":case"min":case"max":{r(2);let t=N(o(0),n.at,n.fn);l(t.nodes.length,n.at);let i=n.args[1],f=i.t==="lit"&&typeof i.value=="string"?i.value:void 0,y=i.t==="ident"?`'${i.name}'`:f!==void 0?`'${f}'`:"\u2026",m=t.nodes.map(g=>i.t==="ident"?E(g,i.name,n.at):f!==void 0?E(g,f,n.at):O(g,i)).filter(g=>{if(g===null)return!1;if(typeof g!="number")throw new u(`${n.fn}(\u2026, ${y}) needs a number for each member, and found ${w(g)}`,n.at);return!0});return n.fn==="sum"?m.reduce((g,x)=>g+x,0):m.length===0?null:n.fn==="min"?Math.min(...m):Math.max(...m)}case"fact":{r(1);let t=d(0),i=s.kinds.get(fn)?.computed?.get(t);if(!i)throw new u(`no fact is called "${t}"`,n.at);return z(null,t,i,n.at)}case"first":return r(1),N(o(0),n.at,"first").nodes[0]??null;case"sort":{r(2,3);let t=N(o(0),n.at,"sort"),i=n.args.length===3?o(2):"asc";if(i!=="asc"&&i!=="desc")throw new u("sort(\u2026) goes 'asc' or 'desc'",n.at);let f=t.nodes.length;l(f+f*Math.ceil(Math.log2(f+1)),n.at);let y=t.nodes.map((g,x)=>({node:g,i:x,key:O(g,n.args[1])})),m=i==="desc"?-1:1;return y.sort((g,x)=>W(g.key,x.key,m,n.at)||g.i-x.i),new c(y.map(g=>g.node))}case"either":{if(n.args.length<1)throw new u("either(\u2026) takes at least one argument",n.at);for(let t=0;t<n.args.length;t++){let i=o(t);if(i!==null&&!(i instanceof c&&i.nodes.length===0))return i}return null}case"present":{r(1);let t=o(0);return t===null||t===""?!1:Array.isArray(t)?t.length>0:t instanceof c?t.nodes.length>0:!0}case"len":{r(1);let t=o(0);if(t===null)return 0;if(typeof t=="string"||Array.isArray(t))return t.length;if(t instanceof c)return t.nodes.length;throw new u(`len(\u2026) needs a word or a list, and was given ${w(t)}`,n.at)}case"contains":case"startsWith":{r(2);let t=o(0),i=o(1);if(t===null||i===null)return!1;if(n.fn==="contains"&&Array.isArray(t))return t.some(m=>M(m,i));let f=G(t,n.at,n.fn),y=G(i,n.at,n.fn);return n.fn==="contains"?f.toLowerCase().includes(y.toLowerCase()):f.startsWith(y)}case"lower":{r(1);let t=G(o(0),n.at,"lower");return t===null?null:t.toLowerCase()}case"today":return r(0),h;case"now":return r(0),b;case"date":{r(1);let t=L(o(0),n.at,"date");return t===null?null:new Date(t).toISOString().slice(0,10)}case"days":case"hours":{r(2);let t=L(o(0),n.at,n.fn),i=L(o(1),n.at,n.fn);if(t===null||i===null)return null;let f=(i-t)/(n.fn==="days"?864e5:36e5);return n.fn==="days"?Math.round(f):f}case"if":return r(3),S(o(0),n.at,"the condition in if(\u2026)")?o(1):o(2);default:throw new u(`"${n.fn}" is not a function the rule language knows`,n.at)}}function W(n,a,r,o){if(n===null||a===null)return n===a?0:n===null?1:-1;if(Array.isArray(n)&&Array.isArray(a)){for(let t=0;t<Math.max(n.length,a.length);t++){let i=W(n[t]??null,a[t]??null,r,o);if(i!==0)return i}return 0}let d=t=>typeof t=="number"||typeof t=="string"||typeof t=="boolean"?typeof t:w(t);if(d(n)!==d(a)||typeof n=="object"||typeof a=="object")throw new u(`sort(\u2026) cannot put ${w(n)} and ${w(a)} in order`,o);return typeof n=="string"?r*(n<a?-1:n>a?1:0):r*(Number(n)-Number(a))}return $(e,s.subject)}var xn=["out","in","all","count","exists","every","some","sum","min","max","present","len","contains","startsWith","lower","today","now","date","days","hours","if","first","sort","either","fact","archived"];var Sn=(e,s,p,l)=>({severity:"error",code:e,path:s,message:p,...l?{fix:l}:{}}),Rn=(e,s,p,l)=>({severity:"warning",code:e,path:s,message:p,...l?{fix:l}:{}}),Vn=e=>e.some(s=>s.severity==="error");function Gn(e){return e.map(s=>`${s.severity==="error"?"\u2717":s.severity==="warning"?"!":"\xB7"} ${s.path||"(document)"}: ${s.message}${s.fix?` \u2014 ${s.fix}`:""}`).join(`
|
|
1
|
+
import{E as q,F as Z,H as T,K as _,Ka as Q,L as H,Ma as X,N as C,T as Y,U as j,da as U,ra as B,rb as K,yb as v,za as J}from"./chunk.MNP4JI33.js";var dn=1e4,c=class{constructor(s){this.nodes=s}},en=Symbol.for("@graview/core:far-record"),ln=e=>typeof e=="object"&&e!==null&&e[en]===!0;function un(e){let s={...e.fields,id:`@${e.address}/${e.kind}:${e.id}`,kind:`@${e.address}/${e.kind}`,label:e.label};return Object.defineProperty(s,en,{value:!0}),s}function kn(e){let s=`the linked record in ${e.ref.address}`;return e.reason==="denied"?`${s} is not one this viewer may open`:`${s} has not been read`}var fn="",u=class extends Error{constructor(p,l){super(p);this.sentence=p;this.at=l}},P=class extends u{},R=e=>e!==null&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof c)&&typeof e.id=="string",nn=e=>{let s=new Set;return new c(e.filter(p=>!s.has(p.id)&&s.add(p.id)))},w=e=>e===null?"nothing":e instanceof c?"a set of records":Array.isArray(e)?"a list":R(e)?"a record":typeof e=="string"?"a word":typeof e;function rn(e,s){let p=s.budget??dn,l=(n,a)=>{if(p-=n,p<0)throw new P("this rule looks at too much of the graph to judge in one go",a)},h=s.today??T(),b=s.now??new Date().toISOString(),A=new Map,k=new Set,V=s.bindings,z=(n,a,r,o)=>{let d=`${n?.id}\0${a}`;if(A.has(d))return A.get(d);if(k.has(d))throw new u(`"${a}"${n?` of ${U(n.kind)}`:""} depends on itself`,o);k.add(d);let t=V;V=void 0;try{let i=$(r,n);return A.set(d,i),i}finally{V=t,k.delete(d)}},E=(n,a,r)=>{l(1,r);let o=s.kinds.get(n.kind),d=o?.computed?.get(a);if(d)return z(n,a,d,r);let t=o?.linked?.get(a);if(t){let y=B(Object.hasOwn(n,a)?n[a]:void 0,t);l(y.length,r);let m=s.linked??J(s.graph),g=y.flatMap(x=>{let D=m?m(x):{unread:!0};return"record"in D?[un(D.record)]:(s.onUnread?.({relation:a,ref:x,reason:"denied"in D?"denied":"unread"}),[])});return t.cardinality==="one"?g[0]??null:new c(g)}let i=Object.hasOwn(n,a);if(o?.fields.has(a)||i){let y=i?Q(n,a,h):void 0;return y===void 0?null:y}let f=o?.edges.get(a);if(f){let y=s.graph.out(n.id,a);return l(y.length,r),f==="one"?y[0]??null:new c(y)}if(a==="id")return n.id;if(ln(n))return null;throw new u(`${U(n.kind)} has no field or relation called "${a}"`,r)},N=(n,a,r)=>{if(n instanceof c)return n;if(n===null)return new c([]);if(R(n))return new c([n]);throw new u(`${r}(\u2026) needs a set of records, and was given ${w(n)}`,a)},G=(n,a,r)=>{if(n===null)return null;if(typeof n=="string")return n;if(typeof n=="number"||typeof n=="boolean")return String(n);throw new u(`${r}(\u2026) needs a word, and was given ${w(n)}`,a)},L=(n,a,r)=>{let o=G(n,a,r);if(o===null)return null;let d=Date.parse(o.length===10?`${o}T00:00:00Z`:o);if(Number.isNaN(d))throw new u(`${r}(\u2026) needs a date, and "${o}" is not one`,a);return d},M=(n,a)=>R(n)&&R(a)?n.id===a.id:R(n)&&typeof a=="string"?n.id===a:typeof n=="string"&&R(a)?n===a.id:Array.isArray(n)&&Array.isArray(a)?n.length===a.length&&n.every((r,o)=>M(r,a[o])):n===a,S=(n,a,r)=>{if(n===null)return!1;if(typeof n=="boolean")return n;throw new u(`${r} must be true or false, and was ${w(n)}`,a)},O=(n,a)=>$(a,n);function $(n,a){switch(l(1,n.at),n.t){case"lit":return n.value;case"list":return n.items.map(r=>$(r,a));case"ident":{let r=V&&Object.hasOwn(V,n.name)?V[n.name]:void 0;if(r!==void 0)return r;if(a)return E(a,n.name,n.at);throw new u(`"${n.name}" means nothing in a rule over the whole graph`,n.at)}case"member":{let r=$(n.object,a);if(r===null)return null;if(R(r))return E(r,n.name,n.at);throw new u(`".${n.name}" needs a record before it, and was given ${w(r)}`,n.at)}case"unary":{let r=$(n.operand,a);if(n.op==="!")return!S(r,n.at,"what follows not");if(r===null)return null;if(typeof r!="number")throw new u(`"-" needs a number, and was given ${w(r)}`,n.at);return-r}case"where":{let r=N($(n.set,a),n.at,"where");return l(r.nodes.length,n.at),new c(r.nodes.filter(o=>S(O(o,n.filter),n.at,"a where condition")))}case"binary":return an(n,a);case"call":return sn(n,a)}}function an(n,a){if(n.op==="&&")return S($(n.left,a),n.at,"each side of and")&&S($(n.right,a),n.at,"each side of and");if(n.op==="||")return S($(n.left,a),n.at,"each side of or")||S($(n.right,a),n.at,"each side of or");let r=$(n.left,a),o=$(n.right,a);if(n.op==="&"||n.op==="|"||n.op==="-"&&(r instanceof c||o instanceof c)){let d=N(r,n.at,n.op).nodes,t=N(o,n.at,n.op).nodes;l(d.length+t.length,n.at);let i=new Set(t.map(f=>f.id));return nn(n.op==="|"?[...d,...t]:d.filter(f=>i.has(f.id)===(n.op==="&")))}switch(n.op){case"==":return M(r,o);case"!=":return!M(r,o);case"in":{if(o===null)return!1;if(o instanceof c)return o.nodes.some(d=>M(r,d));if(Array.isArray(o))return o.some(d=>M(r,d));if(typeof o=="string"&&typeof r=="string")return o.includes(r);throw new u(`"in" needs a list or a set on its right, and was given ${w(o)}`,n.at)}case"<":case"<=":case">":case">=":{if(r===null||o===null)return!1;if(!(typeof r=="number"&&typeof o=="number"||typeof r=="string"&&typeof o=="string"))throw new u(`cannot compare ${w(r)} with ${w(o)}`,n.at);return n.op==="<"?r<o:n.op==="<="?r<=o:n.op===">"?r>o:r>=o}default:{if(r===null||o===null)return null;if(n.op==="+"&&(typeof r=="string"||typeof o=="string")){let d=`${G(r,n.at,"+")}${G(o,n.at,"+")}`;if(d.length>1e4)throw new u("that makes a word too long",n.at);return d}if(typeof r!="number"||typeof o!="number")throw new u(`"${n.op}" needs numbers, and was given ${w(r)} and ${w(o)}`,n.at);return(n.op==="/"||n.op==="%")&&o===0?null:n.op==="+"?r+o:n.op==="-"?r-o:n.op==="*"?r*o:n.op==="/"?r/o:r%o}}}function sn(n,a){let r=(t,i=t)=>{if(n.args.length<t||n.args.length>i)throw new u(`${n.fn}(\u2026) takes ${t===i?t:`${t} to ${i}`} argument${i===1?"":"s"}`,n.at)},o=t=>$(n.args[t],a),d=t=>{let i=o(t);if(typeof i!="string")throw new u(`${n.fn}(\u2026) needs a quoted name, like ${n.fn}('name')`,n.at);return i};switch(n.fn){case"out":case"in":{r(1,2);let t=(y,m)=>n.fn==="out"?s.graph.out(y,m):s.graph.in(y,m);if(n.args.length===2){let y=N(o(0),n.at,n.fn).nodes,m=d(1);return nn(y.flatMap(g=>{let x=t(g.id,m);return l(x.length+1,n.at),x}))}let i=d(0);if(!a)throw new u(`${n.fn}('${i}') needs a record to start from`,n.at);let f=t(a.id,i);return l(f.length,n.at),new c(f)}case"all":{r(1,2);let t=s.graph.nodesOfKind(d(0),{archived:n.args.length===2?o(1):!1});return l(t.length,n.at),new c(t)}case"archived":return r(0,1),X(n.args.length===1?o(0):a);case"count":return r(1),N(o(0),n.at,"count").nodes.length;case"exists":return r(1),N(o(0),n.at,"exists").nodes.length>0;case"every":case"some":{r(2);let t=N(o(0),n.at,n.fn);l(t.nodes.length,n.at);let i=f=>S(O(f,n.args[1]),n.at,`the condition in ${n.fn}(\u2026)`);return n.fn==="every"?t.nodes.every(i):t.nodes.some(i)}case"sum":case"min":case"max":{r(2);let t=N(o(0),n.at,n.fn);l(t.nodes.length,n.at);let i=n.args[1],f=i.t==="lit"&&typeof i.value=="string"?i.value:void 0,y=i.t==="ident"?`'${i.name}'`:f!==void 0?`'${f}'`:"\u2026",m=t.nodes.map(g=>i.t==="ident"?E(g,i.name,n.at):f!==void 0?E(g,f,n.at):O(g,i)).filter(g=>{if(g===null)return!1;if(typeof g!="number")throw new u(`${n.fn}(\u2026, ${y}) needs a number for each member, and found ${w(g)}`,n.at);return!0});return n.fn==="sum"?m.reduce((g,x)=>g+x,0):m.length===0?null:n.fn==="min"?Math.min(...m):Math.max(...m)}case"fact":{r(1);let t=d(0),i=s.kinds.get(fn)?.computed?.get(t);if(!i)throw new u(`no fact is called "${t}"`,n.at);return z(null,t,i,n.at)}case"first":return r(1),N(o(0),n.at,"first").nodes[0]??null;case"sort":{r(2,3);let t=N(o(0),n.at,"sort"),i=n.args.length===3?o(2):"asc";if(i!=="asc"&&i!=="desc")throw new u("sort(\u2026) goes 'asc' or 'desc'",n.at);let f=t.nodes.length;l(f+f*Math.ceil(Math.log2(f+1)),n.at);let y=t.nodes.map((g,x)=>({node:g,i:x,key:O(g,n.args[1])})),m=i==="desc"?-1:1;return y.sort((g,x)=>W(g.key,x.key,m,n.at)||g.i-x.i),new c(y.map(g=>g.node))}case"either":{if(n.args.length<1)throw new u("either(\u2026) takes at least one argument",n.at);for(let t=0;t<n.args.length;t++){let i=o(t);if(i!==null&&!(i instanceof c&&i.nodes.length===0))return i}return null}case"present":{r(1);let t=o(0);return t===null||t===""?!1:Array.isArray(t)?t.length>0:t instanceof c?t.nodes.length>0:!0}case"len":{r(1);let t=o(0);if(t===null)return 0;if(typeof t=="string"||Array.isArray(t))return t.length;if(t instanceof c)return t.nodes.length;throw new u(`len(\u2026) needs a word or a list, and was given ${w(t)}`,n.at)}case"contains":case"startsWith":{r(2);let t=o(0),i=o(1);if(t===null||i===null)return!1;if(n.fn==="contains"&&Array.isArray(t))return t.some(m=>M(m,i));let f=G(t,n.at,n.fn),y=G(i,n.at,n.fn);return n.fn==="contains"?f.toLowerCase().includes(y.toLowerCase()):f.startsWith(y)}case"lower":{r(1);let t=G(o(0),n.at,"lower");return t===null?null:t.toLowerCase()}case"today":return r(0),h;case"now":return r(0),b;case"date":{r(1);let t=L(o(0),n.at,"date");return t===null?null:new Date(t).toISOString().slice(0,10)}case"days":case"hours":{r(2);let t=L(o(0),n.at,n.fn),i=L(o(1),n.at,n.fn);if(t===null||i===null)return null;let f=(i-t)/(n.fn==="days"?864e5:36e5);return n.fn==="days"?Math.round(f):f}case"if":return r(3),S(o(0),n.at,"the condition in if(\u2026)")?o(1):o(2);default:throw new u(`"${n.fn}" is not a function the rule language knows`,n.at)}}function W(n,a,r,o){if(n===null||a===null)return n===a?0:n===null?1:-1;if(Array.isArray(n)&&Array.isArray(a)){for(let t=0;t<Math.max(n.length,a.length);t++){let i=W(n[t]??null,a[t]??null,r,o);if(i!==0)return i}return 0}let d=t=>typeof t=="number"||typeof t=="string"||typeof t=="boolean"?typeof t:w(t);if(d(n)!==d(a)||typeof n=="object"||typeof a=="object")throw new u(`sort(\u2026) cannot put ${w(n)} and ${w(a)} in order`,o);return typeof n=="string"?r*(n<a?-1:n>a?1:0):r*(Number(n)-Number(a))}return $(e,s.subject)}var xn=["out","in","all","count","exists","every","some","sum","min","max","present","len","contains","startsWith","lower","today","now","date","days","hours","if","first","sort","either","fact","archived"];var Sn=(e,s,p,l)=>({severity:"error",code:e,path:s,message:p,...l?{fix:l}:{}}),Rn=(e,s,p,l)=>({severity:"warning",code:e,path:s,message:p,...l?{fix:l}:{}}),Vn=e=>e.some(s=>s.severity==="error");function Gn(e){return e.map(s=>`${s.severity==="error"?"\u2717":s.severity==="warning"?"!":"\xB7"} ${s.path||"(document)"}: ${s.message}${s.fix?` \u2014 ${s.fix}`:""}`).join(`
|
|
2
2
|
`)}var Dn=["money","percent","date","relative","upper","lower","count","words","and","plural","excerpt"],cn={getNode:()=>{},allNodes:()=>[],allEdges:()=>[],nodesOfKind:()=>[],edgesOfKind:()=>[],out:()=>[],in:()=>[],neighbors:()=>[],has:()=>!1};function _n(e,s,p,l=[],h,b=F){return I(e,s,p,l,h,b)}var pn=(e,s)=>e.capital?Y(s):s;function yn(e){return e?s=>{let p=e.tryDefinition(s.kind)?.label;return p?p(s):F(s)}:F}var tn=["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],on=["","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"];function gn(e,s){return!Number.isInteger(e)||e<0||e>99?C(e,s):e<20?tn[e]:e%10===0?on[e/10]:`${on[Math.floor(e/10)]}-${tn[e%10]}`}function hn(e){return/[^aeiou]y$/i.test(e)?`${e.slice(0,-1)}ies`:/(s|x|z|ch|sh)$/i.test(e)?`${e}es`:`${e}s`}var F=e=>String(e.name??e.title??e.label??e.id);function I(e,s,p,l=[],h,b=F){if(s==="plural"){let A=e instanceof c?e.nodes.length:Array.isArray(e)?e.length:typeof e=="number"?e:null;return A===null||l[0]===void 0?"\u2014":A===1?l[0]:l[1]??hn(l[0])}if(e===null)return"\u2014";if(e instanceof c)return s==="count"?String(e.nodes.length):s==="and"?j(e.nodes.map(b)):e.nodes.map(b).join(", ");if(Array.isArray(e)){if(s==="count")return String(e.length);let A=e.map(k=>I(k,void 0,p,[],h,b));return s==="and"?j(A):A.join(", ")}if(typeof e=="object")return b(e);switch(s){case"words":return typeof e=="number"?gn(e,h?.locale):String(e);case"money":return typeof e=="number"?K(e,h):String(e);case"percent":return typeof e=="number"?C(e,h?.locale,{style:"percent",maximumFractionDigits:0}):String(e);case"upper":return String(e).toUpperCase();case"lower":return String(e).toLowerCase();case"excerpt":return v(String(e),Number(l[0])||void 0);case"date":return _(String(e).slice(0,10),h?.locale);case"relative":{let A=Date.parse(String(e).length===10?`${e}T00:00:00Z`:String(e));if(Number.isNaN(A))return String(e);let k=Math.round((A-Date.parse(`${p}T00:00:00Z`))/864e5);return k===0?"today":k===1?"tomorrow":k===-1?"yesterday":k>0?`in ${k} days`:`${-k} days ago`}default:return typeof e=="string"&&q.test(e)?_(e,h?.locale):typeof e=="string"&&Z.test(e)?H(e,h?.locale):String(e)}}function Cn(e,s){let p=s.today??T(),l=s.name??yn(s.graph?.schema);return e.map(h=>{if(h.text!==void 0)return h.text;try{let b=rn(h.expr,{graph:s.graph??cn,subject:s.node,kinds:s.kinds,today:p,budget:s.budget??500,...s.bindings?{bindings:s.bindings}:{}});return pn(h,I(b,h.format,p,h.formatArgs,s.money,l))}catch(b){if(b instanceof u)return"\u2014";throw b}}).join("")}export{c as a,kn as b,fn as c,u as d,P as e,rn as f,xn as g,Sn as h,Rn as i,Vn as j,Gn as k,Dn as l,cn as m,_n as n,pn as o,yn as p,Cn as q};
|