graview 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/preview/chunk.26CZTUY4.js +1 -0
  2. package/dist/preview/chunk.2CIBWZJG.js +1 -0
  3. package/dist/preview/chunk.2EXGG6BB.js +1 -0
  4. package/dist/preview/chunk.2NBYNZRD.js +1 -0
  5. package/dist/preview/chunk.2XAONC66.js +1 -0
  6. package/dist/preview/chunk.34ZMMURV.js +27 -0
  7. package/dist/preview/chunk.3ADPAGPY.js +28 -0
  8. package/dist/preview/chunk.3JGGBLRB.js +1 -0
  9. package/dist/preview/chunk.3JNMSOFG.js +1 -0
  10. package/dist/preview/chunk.3R4W2P5X.js +1 -0
  11. package/dist/preview/chunk.3SKKIHU3.js +4 -0
  12. package/dist/preview/{chunk.5BGA2VUS.js → chunk.3URFMWXZ.js} +4 -4
  13. package/dist/preview/chunk.3VL5WECB.js +1 -0
  14. package/dist/preview/chunk.42YX6NOY.js +2 -0
  15. package/dist/preview/chunk.4ALKPNXM.js +1 -0
  16. package/dist/preview/chunk.4HP7UWA2.js +1 -0
  17. package/dist/preview/chunk.4SJUTBDV.js +1 -0
  18. package/dist/preview/chunk.5U5J3ISK.js +1 -0
  19. package/dist/preview/chunk.6T2Q6NLO.js +1 -0
  20. package/dist/preview/chunk.6V2RG5JG.js +5 -0
  21. package/dist/preview/chunk.6XMEU2Q2.js +1 -0
  22. package/dist/preview/chunk.7BWT5L2L.js +1 -0
  23. package/dist/preview/chunk.AK3IHFCF.js +1 -0
  24. package/dist/preview/chunk.BPWNWE7N.js +1 -0
  25. package/dist/preview/chunk.C5CYZNSJ.js +1 -0
  26. package/dist/preview/chunk.CM6LOIQE.js +88 -0
  27. package/dist/preview/chunk.D3IECJ2S.js +17 -0
  28. package/dist/preview/chunk.DT7LHWU2.js +1 -0
  29. package/dist/preview/chunk.DZRTOURR.js +1 -0
  30. package/dist/preview/chunk.ERXSYPYL.js +84 -0
  31. package/dist/preview/chunk.EYZ7MHBZ.js +0 -0
  32. package/dist/preview/chunk.FDELO7NY.js +116 -0
  33. package/dist/preview/chunk.FGVKJWNS.js +6 -0
  34. package/dist/preview/chunk.FWCOJDOD.js +1 -0
  35. package/dist/preview/chunk.GFF2FB2J.js +25 -0
  36. package/dist/preview/chunk.GLBHQFJ2.js +1 -0
  37. package/dist/preview/chunk.HHI65WFZ.js +3 -0
  38. package/dist/preview/chunk.HHPGWJDO.js +2 -0
  39. package/dist/preview/chunk.HJCQ6I3S.js +1 -0
  40. package/dist/preview/chunk.HSCTWAUV.js +1 -0
  41. package/dist/preview/chunk.INZUEWC5.js +1 -0
  42. package/dist/preview/chunk.J2ITFGN3.js +1 -0
  43. package/dist/preview/chunk.JH6MU6TX.js +2 -0
  44. package/dist/preview/chunk.JISMMIMX.js +1 -0
  45. package/dist/preview/chunk.JN7DIFR3.js +1 -0
  46. package/dist/preview/chunk.JPHNKWTY.js +1 -0
  47. package/dist/preview/chunk.JTNWD2CN.js +1 -0
  48. package/dist/preview/chunk.K75FUIZI.js +1 -0
  49. package/dist/preview/chunk.K776HO42.js +2 -0
  50. package/dist/preview/chunk.KN3ULTGF.js +1 -0
  51. package/dist/preview/chunk.KOB6N3SL.js +1 -0
  52. package/dist/preview/chunk.KQT7WAQE.js +1 -0
  53. package/dist/preview/chunk.L4DECHXR.js +327 -0
  54. package/dist/preview/chunk.L6OMEYL6.js +10 -0
  55. package/dist/preview/chunk.LQ7V6KEE.js +1 -0
  56. package/dist/preview/chunk.MB7LKKUD.js +1 -0
  57. package/dist/preview/chunk.MD74YVRN.js +3 -0
  58. package/dist/preview/chunk.MGNP4LAM.js +1 -0
  59. package/dist/preview/chunk.NCTOBUCT.js +1 -0
  60. package/dist/preview/chunk.NDADLJE6.js +1 -0
  61. package/dist/preview/chunk.NO52VON3.js +1 -0
  62. package/dist/preview/chunk.O2LK2AO7.js +1 -0
  63. package/dist/preview/chunk.OAF7TUMI.js +1 -0
  64. package/dist/preview/chunk.OQ4KFN6W.js +1 -0
  65. package/dist/preview/chunk.OQDETV4X.js +1 -0
  66. package/dist/preview/chunk.OXQMNIRO.js +1 -0
  67. package/dist/preview/chunk.OZNW5W4Z.js +1 -0
  68. package/dist/preview/chunk.PAVR5TK5.js +1 -0
  69. package/dist/preview/chunk.PKK6FRZR.js +2 -0
  70. package/dist/preview/chunk.Q5WEOX3Q.js +1 -0
  71. package/dist/preview/chunk.QIAKO27D.js +1 -0
  72. package/dist/preview/chunk.QNGWEV47.js +1 -0
  73. package/dist/preview/{chunk.EYF6ONTA.js → chunk.QTA4ROAK.js} +1 -1
  74. package/dist/preview/chunk.QTMWHE5O.js +1 -0
  75. package/dist/preview/chunk.R26DREVU.js +1 -0
  76. package/dist/preview/chunk.RI3PYG5T.js +19 -0
  77. package/dist/preview/chunk.RIEHYQLK.js +1101 -0
  78. package/dist/preview/chunk.RRVIXV7W.js +1 -0
  79. package/dist/preview/chunk.RYT5U3QM.js +1 -0
  80. package/dist/preview/chunk.SE5SKFQH.js +1 -0
  81. package/dist/preview/chunk.SHPXD6FC.js +1 -0
  82. package/dist/preview/chunk.SOBC3CTN.js +47 -0
  83. package/dist/preview/chunk.SOD3PBJM.js +1 -0
  84. package/dist/preview/chunk.T3VPD7JQ.js +1 -0
  85. package/dist/preview/chunk.TI4OSTQV.js +1 -0
  86. package/dist/preview/chunk.UDSEJKCY.js +1 -0
  87. package/dist/preview/chunk.UGFDSE37.js +1 -0
  88. package/dist/preview/chunk.UT6642FC.js +1 -0
  89. package/dist/preview/chunk.UWGWXFWZ.js +1 -0
  90. package/dist/preview/{chunk.IKT7JQUW.js → chunk.UZWWDAGM.js} +1 -1
  91. package/dist/preview/chunk.V5ZYUVMH.js +1 -0
  92. package/dist/preview/chunk.V7BDAGDE.js +35 -0
  93. package/dist/preview/chunk.VG56IUIQ.js +9 -0
  94. package/dist/preview/chunk.VOAZBHCG.js +1 -0
  95. package/dist/preview/chunk.VS7K3SCD.js +9 -0
  96. package/dist/preview/chunk.VSZQXB4Q.js +3 -0
  97. package/dist/preview/chunk.W3S6UXNA.js +1 -0
  98. package/dist/preview/chunk.WAFDCOOG.js +3 -0
  99. package/dist/preview/chunk.WYTIOLPP.js +1 -0
  100. package/dist/preview/chunk.X37L5TN5.js +1 -0
  101. package/dist/preview/chunk.XDYAG276.js +1 -0
  102. package/dist/preview/chunk.XRJBLH4N.js +1 -0
  103. package/dist/preview/chunk.XS7YFNDU.js +1 -0
  104. package/dist/preview/chunk.XSTXV6FP.js +6 -0
  105. package/dist/preview/chunk.Y4UXEL6Y.js +1 -0
  106. package/dist/preview/chunk.YJUB4OD7.js +1 -0
  107. package/dist/preview/chunk.YLQB3KBA.js +1 -0
  108. package/dist/preview/chunk.YNQDVGZM.js +1 -0
  109. package/dist/preview/chunk.YV2LJFGS.js +1 -0
  110. package/dist/preview/chunk.Z2YUYZT4.js +1 -0
  111. package/dist/preview/chunk.ZYKAS4BT.js +1 -0
  112. package/dist/preview/page.js +6 -6
  113. package/package.json +6 -6
  114. package/dist/preview/chunk.22H4JXTH.js +0 -8
  115. package/dist/preview/chunk.25OYH6MY.js +0 -1
  116. package/dist/preview/chunk.2GBQJXJH.js +0 -19
  117. package/dist/preview/chunk.2VUG6EAN.js +0 -1
  118. package/dist/preview/chunk.337WDTG3.js +0 -2
  119. package/dist/preview/chunk.3HLLQ5CJ.js +0 -1
  120. package/dist/preview/chunk.46KUPBQC.js +0 -1
  121. package/dist/preview/chunk.4H7CQE56.js +0 -1
  122. package/dist/preview/chunk.4HGBVU5B.js +0 -1
  123. package/dist/preview/chunk.4RO5DA22.js +0 -1
  124. package/dist/preview/chunk.4TUNX4WM.js +0 -29
  125. package/dist/preview/chunk.6LJ66MB7.js +0 -1
  126. package/dist/preview/chunk.6R4EI47C.js +0 -1
  127. package/dist/preview/chunk.7S22MBNN.js +0 -1
  128. package/dist/preview/chunk.A73BXXE4.js +0 -3
  129. package/dist/preview/chunk.AHDOKM4O.js +0 -1
  130. package/dist/preview/chunk.ARE3MEDN.js +0 -1
  131. package/dist/preview/chunk.ASFZTYFO.js +0 -1
  132. package/dist/preview/chunk.BBJZ6O7J.js +0 -1
  133. package/dist/preview/chunk.BCBH6WJF.js +0 -1
  134. package/dist/preview/chunk.CAZAB352.js +0 -1
  135. package/dist/preview/chunk.CY7MDLRS.js +0 -1
  136. package/dist/preview/chunk.DAVRLRGB.js +0 -1
  137. package/dist/preview/chunk.DCIC3YHX.js +0 -1
  138. package/dist/preview/chunk.EW4JFOJY.js +0 -1
  139. package/dist/preview/chunk.FP27W5MU.js +0 -1
  140. package/dist/preview/chunk.G2OOBROL.js +0 -1040
  141. package/dist/preview/chunk.GCKSQ52O.js +0 -1
  142. package/dist/preview/chunk.GE5EAN36.js +0 -2
  143. package/dist/preview/chunk.HOPIZMJR.js +0 -2
  144. package/dist/preview/chunk.IBGO4BUF.js +0 -1
  145. package/dist/preview/chunk.IDI2BQ7Y.js +0 -9
  146. package/dist/preview/chunk.IH42QTOM.js +0 -1
  147. package/dist/preview/chunk.ISRS7GOT.js +0 -321
  148. package/dist/preview/chunk.J6CBMLGR.js +0 -1
  149. package/dist/preview/chunk.JRCV6HVV.js +0 -1
  150. package/dist/preview/chunk.KWW3YHQ4.js +0 -23
  151. package/dist/preview/chunk.MKNXV4TM.js +0 -8
  152. package/dist/preview/chunk.MRK6QJV5.js +0 -25
  153. package/dist/preview/chunk.MVNIKZIC.js +0 -1
  154. package/dist/preview/chunk.N2WTNKEV.js +0 -1
  155. package/dist/preview/chunk.N7HCALRK.js +0 -61
  156. package/dist/preview/chunk.NRRUGG22.js +0 -1
  157. package/dist/preview/chunk.OGL4PHTY.js +0 -1
  158. package/dist/preview/chunk.ONDILMIX.js +0 -1
  159. package/dist/preview/chunk.PFQFPJ5L.js +0 -16
  160. package/dist/preview/chunk.PN2H6X7O.js +0 -1
  161. package/dist/preview/chunk.PWHJHFC4.js +0 -1
  162. package/dist/preview/chunk.Q3HVA6L4.js +0 -1
  163. package/dist/preview/chunk.RZLNDVGN.js +0 -107
  164. package/dist/preview/chunk.SBHVVJY7.js +0 -1
  165. package/dist/preview/chunk.SNBIZ3B6.js +0 -1
  166. package/dist/preview/chunk.TBG2QBOS.js +0 -1
  167. package/dist/preview/chunk.VR735ZQL.js +0 -1
  168. package/dist/preview/chunk.VSXCXPK2.js +0 -1
  169. package/dist/preview/chunk.W3LDQ6B2.js +0 -1
  170. package/dist/preview/chunk.WCNONCTL.js +0 -6
  171. package/dist/preview/chunk.WHTNSETN.js +0 -1
  172. package/dist/preview/chunk.XG67BWH6.js +0 -1
  173. package/dist/preview/chunk.XRM6WXPW.js +0 -1
  174. package/dist/preview/chunk.Y5LPZLDE.js +0 -1
  175. package/dist/preview/chunk.YETBY2LM.js +0 -1
  176. package/dist/preview/chunk.YSYT3ASK.js +0 -1
  177. package/dist/preview/chunk.ZEUBAAVQ.js +0 -1
  178. package/dist/preview/chunk.ZJDRD6PO.js +0 -1
@@ -0,0 +1,88 @@
1
+ import{a as Ve,c as qe}from"./chunk.4ALKPNXM.js";import{a as Te,b as Pe,j as Me}from"./chunk.XSTXV6FP.js";import"./chunk.G4JJXA63.js";import"./chunk.C5CYZNSJ.js";import"./chunk.JPHNKWTY.js";import{b as Fe}from"./chunk.34ZMMURV.js";import{a as Le,b as Ie,c as Ke,d as j}from"./chunk.FGVKJWNS.js";import{j as Ee,k as Oe}from"./chunk.3SKKIHU3.js";import"./chunk.HJCQ6I3S.js";import{e as ne}from"./chunk.O2LK2AO7.js";import"./chunk.26CZTUY4.js";import"./chunk.3JNMSOFG.js";import"./chunk.PKK6FRZR.js";import"./chunk.OAF7TUMI.js";import"./chunk.YV2LJFGS.js";import"./chunk.QNGWEV47.js";import"./chunk.ERXSYPYL.js";import{e as Ce}from"./chunk.J2ITFGN3.js";import{a as ke}from"./chunk.QIAKO27D.js";import"./chunk.UT6642FC.js";import"./chunk.QTA4ROAK.js";import"./chunk.2CIBWZJG.js";import"./chunk.RRVIXV7W.js";import"./chunk.7BWT5L2L.js";import"./chunk.VSZQXB4Q.js";import{m as $e}from"./chunk.RI3PYG5T.js";import{a as Re,b as De}from"./chunk.UWGWXFWZ.js";import{h as Ae}from"./chunk.SE5SKFQH.js";import{e as Se,f as Ne}from"./chunk.W3S6UXNA.js";import"./chunk.4SJUTBDV.js";import"./chunk.Q5WEOX3Q.js";import"./chunk.VOAZBHCG.js";import"./chunk.QTMWHE5O.js";import"./chunk.6T2Q6NLO.js";import"./chunk.WVUJXDXZ.js";import{a as be}from"./chunk.OZNW5W4Z.js";import"./chunk.NDADLJE6.js";import"./chunk.AK3IHFCF.js";import"./chunk.HHPGWJDO.js";import"./chunk.42YX6NOY.js";import"./chunk.EYZ7MHBZ.js";import{s as ye}from"./chunk.KQT7WAQE.js";import"./chunk.PAVR5TK5.js";import"./chunk.OQDETV4X.js";import{g as me}from"./chunk.3VL5WECB.js";import{d as te}from"./chunk.JH6MU6TX.js";import{c as he}from"./chunk.WAFDCOOG.js";import{h as J,u as xe}from"./chunk.L4DECHXR.js";import{$ as X,G as et,R as fe,S as we,Z as V,ia as ve,k as ce,m as ge,n as ue,pa as ee,qa as Y,s as U}from"./chunk.GFF2FB2J.js";import{$ as le,J as se,Ja as Z,M as D,W as G,Z as de,ba as pe}from"./chunk.6V2RG5JG.js";import{b as Q}from"./chunk.AJZBJBMO.js";var f=Q(et(),1);var tt=300,nt=14,z=50,it=3,at=2;function Be(e,n,o){let p=e.tryDefinition(n)?.fields?.shape;return(p?.[o]===void 0?void 0:be(p[o]))?.type}var ot=(e,n)=>Object.keys(e.tryDefinition(n)?.fields?.shape??{}),rt=e=>e==="date"||e==="datetime",_e=/^(due|dueOn|dueAt|dueDate|deadline|by)$/i,st=/^(date|on|day|when|at|start|starts|startsOn|startsAt|begins|from|sown|scheduled|scheduledFor|planned|plannedFor)$/i,dt=/^(done|finished|complete|completed|closed)$/i;function ae(e,n){let o=e.tryDefinition(n),p=ot(e,n),a=p.filter(u=>rt(Be(e,n,u)));if(a.length===0)return;let i=o?.fieldRoles??{},s=u=>i[u]!==void 0&&a.includes(i[u])?i[u]:void 0,c=s("start")??s("when")??a.find(u=>_e.test(u))??a.find(u=>st.test(u));if(!c)return;let S=s("end")??a.find(u=>u!==c&&/^(end|ends|until|to|finish|finished|harvested|through)$/i.test(u)),g=p.find(u=>dt.test(u)&&Be(e,n,u)==="boolean");return{field:c,due:_e.test(c),...S?{end:S}:{},...g?{done:g}:{}}}function ie(e,n){return Math.round((Date.parse(`${n.slice(0,10)}T00:00:00Z`)-Date.parse(`${e.slice(0,10)}T00:00:00Z`))/864e5)}var q=e=>typeof e=="string"&&/^\d{4}-\d{2}-\d{2}/.test(e)?e.slice(0,10):void 0;function Ge(e,n,o,p){let a=ne(e,n);if(a&&o.length>0&&o.length<=tt)return{shape:"board",field:a.field};let i=ae(e,n);if(i&&!i.due){let s=r=>{let y=q(r[i.field]),h=q(Z(r,i.field,p));return y&&h?ie(y,h):0},c=o.map(r=>({from:q(Z(r,i.field,p)),to:i.end&&q(r[i.end])?L(q(r[i.end]),s(r)):void 0})).filter(r=>r.from!==void 0).map(r=>({from:r.from,to:r.to&&r.to>r.from?r.to:r.from})),S=`${p.slice(0,7)}-01`,g=L(`${L(S,31).slice(0,7)}-01`,-1),u=c.filter(r=>r.from<=g&&r.to>=S),w=c.map(r=>ie(r.from,r.to)).sort((r,y)=>r-y),l=w[Math.floor(w.length/2)]??0;if(u.length>0&&l<=nt){let r=L(p,-((new Date(`${p}T00:00:00Z`).getUTCDay()+6)%7)),y=L(r,6),h=u.every(m=>m.from>=r&&m.to<=y);return{shape:"calendar",start:i.field,...i.end?{end:i.end}:{},...i.done?{done:i.done}:{},range:h?"week":"month"}}}return{shape:"table"}}function je(e,n){let o=ae(e,n);return o?{by:o.field,direction:o.due?"asc":"desc"}:void 0}function ze(e,n,o={}){switch(n.shape){case"board":return{lens:"columns",kind:e,column:n.field};case"calendar":return{lens:"calendar",kind:e,start:n.start,...n.end?{end:n.end}:{},...n.done?{done:n.done}:{},range:n.range};case"table":return{lens:"blocks",kind:e,as:"row",...o.group?.by?{group:o.group.by}:{},...o.sort?{sort:{by:o.sort.by,...o.sort.direction==="desc"?{direction:"desc"}:{}}}:{}}}}var lt=60;function He(e,n,o,p){let a=e.tryDefinition(n),i=o.slice(0,lt),s=new Map;i.forEach(w=>{let l=G(a,w);te(w,a,{glance:!0,said:[l]}).forEach((r,y)=>{if(r.long||r.files||r.app)return;let h=s.get(r.key);h?h.count++:s.set(r.key,{label:r.label,count:1,at:y})})});let c=Math.max(1,Math.ceil(i.length/3)),S=[...s.entries()].filter(([,w])=>w.count>=c).sort((w,l)=>w[1].at-l[1].at).slice(0,it).map(([w,l])=>({about:"field",key:w,label:l.label})),g=new Map;for(let w of i){let l=new Set;for(let[r,y]of[["out",p.outEdges(w.id)],["in",p.inEdges(w.id)]])for(let h of y){let m=p.getNode(r==="out"?h.to:h.from);if(!m||m.id===w.id)continue;let b=`${h.kind}|${r}`;if(l.has(b))continue;l.add(b);let A=g.get(b);A?A.count++:g.set(b,{edge:h.kind,direction:r,far:m.kind,count:1})}}let u=[...g.entries()].sort((w,l)=>l[1].count-w[1].count).slice(0,at).map(([w,l])=>{let r=he(e,l.direction==="out"?n:l.far,l.edge,l.direction);return{about:"edge",key:w,label:r.charAt(0).toUpperCase()+r.slice(1),edge:l.edge,direction:l.direction}});return[...S,...u]}function We(e,n,o,p){if(o.about==="field"){let s=e.tryDefinition(n.kind);return{text:te(n,s,{excerpt:!0}).find(S=>S.key===o.key)?.value??""}}let i=(o.direction==="out"?p.outEdges(n.id):p.inEdges(n.id)).filter(s=>s.kind===o.edge).map(s=>p.getNode(o.direction==="out"?s.to:s.from)).filter(s=>s!==void 0).map(s=>G(e.tryDefinition(s.kind),s));return i.length===0?{text:""}:i.length===1?{text:i[0]}:{text:`${i[0]} +${i.length-1}`,title:i.join(", ")}}function Ze(e,n,o=()=>{}){let p=new Map;for(let a of e){let i=a.nodeIds.filter(c=>n.has(c));if(i.length===0&&!(a.subjectId!==void 0&&n.has(a.subjectId)))continue;let s=p.get(a.invariant)??{invariant:a.invariant,label:o(a.invariant)||a.label||a.message,violations:[],records:new Set};s.violations.push(a);for(let c of i)s.records.add(c);a.subjectId!==void 0&&n.has(a.subjectId)&&s.records.add(a.subjectId),p.set(a.invariant,s)}return[...p.values()].sort((a,i)=>i.violations.length-a.violations.length).map(a=>({invariant:a.invariant,label:a.label,violations:a.violations,records:[...a.records]}))}var Ue=6;function Ye(e,n,o,p){let a=ae(e,n);if(!a)return;let i=ne(e,n),s=g=>{if(a.done!==void 0&&g[a.done]===!0)return!0;if(!i)return!1;let u=i.values.indexOf(String(g[i.field]));return u>=0&&i.tiers[u]==="done"},c=0,S=0;for(let g of o){let u=q(Z(g,a.field,p));if(!u||s(g))continue;let w=ie(p,u);a.due&&w<0?c++:w>=0&&w<=Ue&&S++}if(!(c===0&&S===0))return{field:a.field,due:a.due,overdue:c,soon:S}}function L(e,n){return new Date(Date.parse(`${e.slice(0,10)}T00:00:00Z`)+n*864e5).toISOString().slice(0,10)}function oe(e,n,o){return n==="overdue"?[{key:e.field,value:`before:${o}`}]:[{key:e.field,value:`after:${L(o,-1)}`},{key:e.field,value:`before:${L(o,Ue+1)}`}]}function Je(e,n,o,p){let a=new Set,i=new Set;for(let s of e)if(!(s.at<=o))for(let c of s.primitives)c.op==="add-node"&&c.node?.kind===n?a.add(c.node.id):c.op==="patch-node"&&c.id!==void 0&&p(c.id)===n&&i.add(c.id);for(let s of a)i.delete(s);return{added:[...a].filter(s=>p(s)===n).length,changed:[...i].filter(s=>p(s)===n).length}}var t=Q(fe(),1),Qe="as",pt=(e,n)=>`graview:kind-seen:${e}:${n}`;function ct(e){try{return localStorage.getItem(e)}catch{return null}}function gt(e,n){try{localStorage.setItem(e,n)}catch{}}var ut=(e,n)=>({...ce(ue(e,!1),n),relation:null});function Yt({kind:e,members:n,flagged:o=[],label:p,retired:a=0}){let{store:i,brand:s,principal:c,views:S,view:g}=V(),{go:u}=Y(),w=X(),l=i.schema,r=l.tryDefinition(e),y=p??le(l,e),h=i.today()??new Date().toISOString().slice(0,10),m=n,b=(0,f.useId)(),A=(0,f.useMemo)(()=>Ge(l,e,m,h),[l,e,m,h]),x=g.within?.[Qe]==="table"?{shape:"table"}:A,k=Re(g),C=x.shape==="table"&&!k.sort?je(l,e):void 0,v=C?{...k,sort:C}:k,R=(0,f.useMemo)(()=>new Set(o),[o]),O=(0,f.useMemo)(()=>Ae(m,v,{schema:l,graph:i.graph,flagged:R,today:h}),[m,v,l,i,R,h,w]),I=(0,f.useMemo)(()=>Ne(l,Se(l,e)),[l,e]),M=S.arrangement?.()?.lists?.[e]?.filters,K=$=>u(De(g,$)),B=(0,f.useMemo)(()=>({name:s?.name??"app",schema:l,...i.policy?{policy:i.policy}:{}}),[s,l,i]),H=JSON.stringify(ze(e,x,v)),P=(0,f.useMemo)(()=>{let $=Me(JSON.parse(H),{app:B,sight:Pe(B,c)});return Te($)?void 0:$},[H,B,c]),W=x.shape!=="table"&&P!==void 0;return(0,t.jsxs)("section",{"aria-labelledby":b,className:"graview-kind-stop","data-testid":"kind-stop","data-graview-kind-stop":e,"data-graview-shape":x.shape,children:[(0,t.jsx)("style",{children:xt}),(0,t.jsx)(ft,{kind:e,plural:y,count:m.length,headingId:b,description:r?.description}),(0,t.jsx)(vt,{kind:e,plural:y,members:m,today:h,arrangement:v,onArrange:K}),(m.length>1||a>0)&&!W?(0,t.jsx)($e,{schema:l,graph:i.graph,kind:e,arrangement:v,onChange:K,offers:I,...M?{filters:M}:{},kept:{shown:O.nodes.length,of:m.length},testId:"kind-arrange",chips:{nodes:m,flagged:R,today:h},...a>0?{past:{count:a,widen:()=>u(Ce(g,!0))}}:{}}):null,m.length>0?(0,t.jsx)(bt,{derived:A,shape:x,draft:P}):null,(0,t.jsx)("div",{className:"graview-kind-stop-body","data-testid":"kind-stop-body",children:m.length===0?(0,t.jsx)("p",{className:"graview-kind-stop-empty","data-testid":"kind-stop-empty",children:"Nothing here yet."}):W?(0,t.jsx)(yt,{draft:P,nodes:m}):O.nodes.length===0?(0,t.jsxs)("p",{className:"graview-kind-stop-empty","data-testid":"kind-stop-none-kept",children:["None of the ",D(m.length)," ",y.toLowerCase()," ",v.query?`says \u201C${v.query}\u201D`:"is kept by these filters","."," ",(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-link",onClick:()=>K({}),children:"Show them all"})]}):(0,t.jsx)(kt,{kind:e,nodes:O.nodes,groups:O.grouped?O.groups.map($=>({key:$.key,label:$.label,nodes:$.nodes})):void 0,flagged:R,plural:y,arrangement:v})})]})}function ft({kind:e,plural:n,count:o,headingId:p,description:a}){let{store:i,setSelection:s,setMenuAt:c}=V(),S=(0,f.useMemo)(()=>({about:[U(e)]}),[e]),{affordances:g}=Ee(S),{apply:u,preview:w}=Oe(),l=(0,f.useMemo)(()=>{let x=k=>i.allMutations().find(C=>C.name===k.mutation)?.creates?.includes(e)??!1;return g.find(k=>!k.destructive&&!k.setsAside&&x(k))},[g,i,e]),[r,y]=(0,f.useState)(!1),[h,m]=(0,f.useState)(null),b=(0,f.useRef)(null),A=(0,f.useRef)(null);(0,f.useEffect)(()=>{let x=A.current;!x||x.closest('[data-testid="kind-stop"]')?.contains(document.activeElement)||x.focus({preventScroll:!0})},[e]);let T=(x,k)=>{try{w(x,k),u(x,k),m(null),y(!1),requestAnimationFrame(()=>b.current?.focus())}catch(C){return m(me(i.schema,i.allMutations(),C)),[]}};return(0,t.jsxs)("header",{className:"graview-kind-stop-head",children:[(0,t.jsxs)("div",{className:"graview-kind-stop-title",children:[(0,t.jsx)("h2",{id:p,ref:A,tabIndex:-1,"data-testid":"kind-stop-title",children:n}),(0,t.jsxs)("p",{"data-testid":"kind-stop-count",children:[de(i.schema,e,o),a?` \xB7 ${a}`:""]})]}),(0,t.jsxs)("div",{className:"graview-kind-stop-acts",children:[l?(0,t.jsx)("button",{ref:b,type:"button",className:"graview-kind-stop-primary","data-testid":"kind-stop-primary","data-affordance":l.id,"aria-expanded":l.open.length>0?r:void 0,onClick:()=>{m(null),l.open.length===0?T(l):y(x=>!x)},children:l.label}):null,(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-quiet","data-testid":"kind-stop-acts","aria-haspopup":"menu","aria-label":`What can be done with the ${n.toLowerCase()}`,onClick:x=>{let k=x.currentTarget.getBoundingClientRect();s([U(e)]),c({x:Math.round(k.left),y:Math.round(k.bottom+4),on:U(e)})},children:"Acts\u2026"})]}),r&&l?(0,t.jsx)("div",{className:"graview-kind-stop-ask","data-testid":"kind-stop-ask","aria-label":l.label,role:"group",children:(0,t.jsx)(ke,{affordance:l,onApply:x=>T(l,x),onCancel:()=>{y(!1),b.current?.focus()}})}):null,h?(0,t.jsx)("p",{role:"alert",className:"graview-kind-stop-failed","data-testid":"kind-stop-failed",children:h}):null]})}var wt=J.part((e,n)=>(0,t.jsx)(e.ProblemRows,{...n}),{what:"The problems",as:"li"});function vt({kind:e,plural:n,members:o,today:p,arrangement:a,onArrange:i}){let{store:s,brand:c,setSelection:S}=V(),g=s.schema,u=ee(),w=(0,f.useMemo)(()=>new Set(o.map(v=>v.id)),[o]),l=(0,f.useMemo)(()=>Ze(u,w,v=>s.allInvariants().find(R=>R.name===v)?.label),[u,w,s]),r=(0,f.useMemo)(()=>Ye(g,e,o,p),[g,e,o,p]),y=pt(xe(c,g),e),[h]=(0,f.useState)(()=>ct(y));(0,f.useEffect)(()=>()=>gt(y,new Date().toISOString()),[y]);let m=X(),b=(0,f.useMemo)(()=>h?Je(s.log.all(),e,h,v=>s.graph.getNode(v)?.kind):null,[h,s,e,m]),[A,T]=(0,f.useState)(null),x=v=>i({...a,filter:[...(a.filter??[]).filter(R=>!v?.some(O=>O.key===R.key)),...v??[]]}),k=l.reduce((v,R)=>v+R.violations.length,0),C=[];if(r&&(r.overdue>0||r.soon>0)){let v=r.field;C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-dates",children:[r.overdue>0?(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-fact","data-tone":"warn",onClick:()=>x(oe(r,"overdue",p)),"aria-label":`${D(r.overdue)} overdue \u2014 show only these`,children:[D(r.overdue)," overdue"]}):null,r.soon>0?(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-fact",onClick:()=>x(oe(r,"soon",p)),"aria-label":`${D(r.soon)} in the next 7 days \u2014 show only these`,children:[D(r.soon)," ",r.due?"due":""," in the next 7 days"]}):null,(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:[" by ",pe(g.tryDefinition(e),v).toLowerCase()]})]},"dates"))}if(l.length>0&&C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-problems","data-graview-problems":k,children:[(0,t.jsxs)("span",{className:"graview-kind-stop-warn",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0 "}),k===1?"1 problem":`${D(k)} problems`]}),(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:[" in ",n.toLowerCase(),":"]}),(0,t.jsx)("ul",{className:"graview-kind-stop-rules",children:l.map(v=>(0,t.jsx)(ht,{group:v,open:A===v.invariant,onToggle:()=>T(R=>R===v.invariant?null:v.invariant),onPick:R=>S([R])},v.invariant))}),(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-only-problems",onClick:()=>x([{key:"is",value:"flagged"}]),children:["Show only the ",n.toLowerCase()," with a problem"]})]},"problems")),b&&(b.added>0||b.changed>0)){let v=[b.added>0?`${D(b.added)} added`:"",b.changed>0?`${D(b.changed)} changed`:""].filter(Boolean);C.push((0,t.jsxs)("li",{"data-testid":"kind-stop-since",children:[(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["Since you last looked (",se(h.slice(0,10)),"):"]})," ",v.join(", ")]},"since"))}return C.length===0?null:(0,t.jsx)("ul",{className:"graview-kind-stop-going-on","aria-label":`What is going on in the ${n.toLowerCase()}`,"data-testid":"kind-stop-going-on",children:C})}function ht({group:e,open:n,onToggle:o,onPick:p}){let a=(0,f.useId)();return(0,t.jsxs)("li",{"data-graview-rule":e.invariant,children:[(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-rule","aria-expanded":n,"aria-controls":a,onClick:o,onPointerEnter:J.prefetch,onFocus:J.prefetch,children:[(0,t.jsx)("span",{"aria-hidden":"true",className:"graview-kind-stop-chevron","data-open":n||void 0,children:"\u203A"}),e.label," ",(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["\xB7 ",D(e.violations.length)]})]}),n?(0,t.jsx)("ol",{id:a,className:"graview-kind-stop-problem-rows","data-testid":"kind-stop-problem-rows",children:(0,t.jsx)(f.Suspense,{fallback:null,children:(0,t.jsx)(wt,{violations:e.violations,pick:i=>{let s=i.subjectId??e.records[0]??i.nodeIds[0];s!==void 0&&p(s)}})})}):null]})}var mt={board:"Board",calendar:"Calendar",table:"Table"};function bt({derived:e,shape:n,draft:o}){let{view:p}=V(),{go:a}=Y(),{keep:i}=Ve(qe()),[s,c]=(0,f.useState)(!1),S=e.shape==="table"?[]:[e.shape,"table"];return(0,t.jsxs)("div",{className:"graview-kind-stop-shape","data-testid":"kind-stop-shape",children:[S.length>0?(0,t.jsx)("span",{role:"group","aria-label":"Show as",className:"graview-kind-stop-switch",children:S.map(g=>(0,t.jsx)("button",{type:"button","aria-pressed":n.shape===g,"data-testid":`kind-stop-as-${g}`,onClick:()=>a(ge(p,Qe,g===e.shape?null:g)),children:mt[g]},g))}):null,(0,t.jsx)("span",{className:"graview-kind-stop-quiet-text","data-testid":"kind-stop-derived",children:o?`${o.said.replace(/\.$/,"")}, derived from the declaration`:"Derived from the declaration"}),o?(0,t.jsx)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-keep",disabled:s,title:`Keep \u201C${o.title}\u201D as a lens: a place of its own`,onClick:()=>{c(!0),i(o).finally(()=>c(!1))},children:"Keep as a lens"}):null]})}function yt({draft:e,nodes:n}){let o=Fe(e.drawn);return(0,t.jsx)("div",{className:"graview-kind-stop-lens","data-graview-draft":e.lens.name,children:(0,t.jsx)(we,{mode:"scene",children:(0,t.jsx)(ye,{kind:e.kind,view:e.title,children:(0,t.jsx)(o,{nodes:n,label:e.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})})}function kt({kind:e,nodes:n,groups:o,flagged:p,plural:a,arrangement:i}){let{store:s,views:c,view:S,selection:g,setSelection:u,setMenuAt:w,principal:l}=V(),{go:r}=Y(),y=s.schema,h=s.graph,m=(0,f.useMemo)(()=>(o?o.flatMap(d=>d.nodes):n).map(d=>d.id),[n,o]),b=Le(m),A=(0,f.useMemo)(()=>s.permittedMutations(l).some(d=>{let N=d.subject?.kinds;return N!==void 0&&(N==="*"||N.includes(e))}),[s,l,e]),T=(0,f.useRef)(null),x=d=>{b.choose(d),requestAnimationFrame(()=>{let N=b.list.current;((d[0]===void 0?null:N?.querySelector(`[data-graview-choose-box="${CSS.escape(d[0])}"]`))??N)?.focus({preventScroll:!0})})},k=b.chosen.length,C=c.lookup(e,{cardinality:"one",fidelity:"glyph"}),v=C!==void 0&&!ve(C)?C:void 0,R=d=>g.includes(d),O=ee(),I=(0,f.useMemo)(()=>He(y,e,n,h),[y,e,n,h]),[M,K]=(0,f.useState)(z);(0,f.useEffect)(()=>K(z),[i.query,i.filter?.length,i.sort?.by,i.group?.by]);let B=y.tryDefinition(e),H=d=>O.filter(N=>N.nodeIds.includes(d)||N.subjectId===d).map(N=>N.message),P=i.sort?.by,W=`${a}${i.sort?`, in order of ${I.find(d=>d.key===P)?.label.toLowerCase()??P}`:""}`,$=M,Xe=d=>{let N=G(B,d),F=p.has(d.id)?H(d.id):[];return(0,t.jsxs)("tr",{"data-graview-pick":d.id,tabIndex:-1,"data-graview-record":d.id,"data-flagged":F.length>0||void 0,...A?{"data-graview-choose":d.id}:{},children:[A?(0,t.jsx)("td",{className:"graview-choose-at",children:(0,t.jsx)("input",{...b.boxProps(d.id,N),onPointerEnter:j,onFocus:j})}):null,(0,t.jsxs)("th",{scope:"row",className:"graview-kind-stop-name",children:[v?(0,t.jsx)("div",{"data-graview-pick":d.id,className:"graview-kind-stop-own-row",children:(0,t.jsx)(v,{node:d,cardinality:"one",fidelity:"glyph",mode:"scene",selected:R(d.id),...F.length>0?{flagged:[d.id]}:{}})}):(0,t.jsx)("button",{type:"button","data-testid":"kind-stop-row-go",title:`Go to ${N}`,onClick:()=>r(ut(S,d.id)),children:N}),F.length>0?(0,t.jsxs)("span",{className:"graview-kind-stop-flag",title:F.join(" \xB7 "),children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,t.jsx)("span",{className:"graview-kind-stop-hidden",children:`Problem: ${F.join(". ")}`})]}):null]}),I.map(_=>{let E=We(y,d,_,h);return(0,t.jsx)("td",{"data-label":_.label,"data-short":E.text.length>0&&E.text.length<=14||void 0,"data-empty":E.text?void 0:"",...E.title?{title:E.title}:{},children:E.text?(0,t.jsx)("span",{children:E.text}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("b",{"aria-hidden":"true",children:"\u2014"}),(0,t.jsx)("i",{className:"graview-kind-stop-hidden",children:"none"})]})},_.key)}),(0,t.jsx)("td",{className:"graview-kind-stop-row-acts",children:(0,t.jsx)("button",{type:"button","data-testid":"kind-stop-row-acts","aria-haspopup":"menu","aria-label":`What can be done with ${N}`,onClick:_=>{let E=_.currentTarget.getBoundingClientRect();u([d.id]),w({x:Math.round(E.left),y:Math.round(E.bottom+4),on:d.id})},children:(0,t.jsx)("span",{"aria-hidden":"true",children:"\u22EF"})})})]},d.id)},re=d=>{let N=d.slice(0,Math.max(0,$));return $-=N.length,N.map(Xe)};return(0,t.jsxs)("div",{className:"graview-kind-stop-table-at",...A?{...b.listProps,ref:d=>{T.current=d,b.list.current=d},tabIndex:-1,role:"group","aria-label":k>0?`${a}, ${k} chosen`:a,"data-graview-choosable":""}:{},children:[A?(0,t.jsx)("style",{children:Ie}):null,(0,t.jsxs)("table",{className:"graview-kind-stop-table","data-testid":"kind-stop-table",children:[(0,t.jsx)("caption",{className:"graview-kind-stop-hidden",children:W}),(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{children:[A?(0,t.jsx)("td",{className:"graview-choose-at graview-choose-all",children:(0,t.jsx)("input",{type:"checkbox",className:"graview-choose-box","data-testid":"kind-stop-choose-all","aria-label":`Choose all ${D(n.length)} ${a.toLowerCase()}`,checked:k>0&&k===n.length,ref:d=>{d&&(d.indeterminate=k>0&&k<n.length)},onPointerEnter:j,onFocus:j,onChange:()=>k===n.length?b.clear():b.choose(m)})}):null,(0,t.jsx)("th",{scope:"col","aria-sort":P==="label"?i.sort?.direction==="desc"?"descending":"ascending":void 0,children:"Name"}),I.map(d=>(0,t.jsx)("th",{scope:"col","aria-sort":d.about==="field"&&d.key===P?i.sort?.direction==="desc"?"descending":"ascending":void 0,children:d.label},d.key)),(0,t.jsx)("th",{scope:"col",children:(0,t.jsx)("span",{className:"graview-kind-stop-hidden",children:"Acts"})})]})}),o?o.map(d=>$<=0?null:(0,t.jsxs)("tbody",{"data-graview-group":d.key,children:[(0,t.jsx)("tr",{className:"graview-kind-stop-group",children:(0,t.jsxs)("th",{scope:"rowgroup",colSpan:I.length+(A?3:2),children:[d.label," ",(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text",children:["\xB7 ",D(d.nodes.length)]})]})}),re(d.nodes)]},d.key||"-")):(0,t.jsx)("tbody",{children:re(n)})]}),A?(0,t.jsx)(Ke,{store:s,chosen:b.chosen,principal:l,anchor:()=>T.current?.closest('[data-testid="kind-stop"]')??null,of:m.length,onChooseAll:()=>b.choose(m),onClear:b.clear,onActed:x}):null,n.length>M?(0,t.jsxs)("p",{className:"graview-kind-stop-more",children:[(0,t.jsxs)("span",{className:"graview-kind-stop-quiet-text","data-testid":"kind-stop-shown",children:[D(M)," of ",D(n.length)," shown"]})," ",(0,t.jsxs)("button",{type:"button",className:"graview-kind-stop-link","data-testid":"kind-stop-more",onClick:()=>K(d=>d+z),children:["Show ",D(Math.min(z,n.length-M))," more"]})]}):null]})}var xt=`
2
+ .graview-kind-stop{container-type:inline-size;box-sizing:border-box;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 18px 12px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-panel);color:var(--graview-ink);box-shadow:var(--graview-lift-low);overflow:auto;overscroll-behavior:contain}
3
+ [data-graview-map-panel] .graview-kind-stop{height:auto;padding:4px 6px 12px;border:0;box-shadow:none;background:none;overflow:visible}
4
+ .graview-kind-stop :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
5
+ .graview-kind-stop button{font:inherit;cursor:pointer}
6
+ .graview-kind-stop :is(.graview-kind-stop-link,.graview-kind-stop-rule,.graview-kind-stop-name button,.graview-kind-stop-row-acts button,.graview-kind-stop-fact,.graview-kind-stop-switch button){box-shadow:none}
7
+ .graview-kind-stop-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px}
8
+ .graview-kind-stop-title{flex:1 1 16rem;min-width:0}
9
+ .graview-kind-stop-title h2{margin:0;outline-offset:2px;font-size:var(--graview-text-heading);line-height:1.3;overflow-wrap:anywhere}
10
+ .graview-kind-stop-title p{margin:2px 0 0;font-size:.875rem;color:var(--graview-ink-muted);overflow-wrap:anywhere}
11
+ .graview-kind-stop-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
12
+ .graview-kind-stop-primary,.graview-kind-stop-quiet{min-height:32px;padding:0 14px;border-radius:8px;font-size:.875rem}
13
+ .graview-kind-stop-primary{border:1px solid var(--graview-accent);background:var(--graview-accent);color:var(--graview-accent-ink);font-weight:600}
14
+ .graview-kind-stop-quiet{border:1px solid var(--graview-edge);background:transparent;color:var(--graview-ink)}
15
+ .graview-kind-stop-ask{flex:1 1 100%;min-width:0;padding:10px 12px;border:1px solid var(--graview-edge);border-radius:10px}
16
+ .graview-kind-stop-failed{flex:1 1 100%;margin:0;font-size:var(--graview-text-small);color:var(--graview-warn)}
17
+ .graview-kind-stop-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
18
+ .graview-kind-stop-going-on{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.875rem}
19
+ .graview-kind-stop-going-on>li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
20
+ .graview-kind-stop-fact{min-height:28px;padding:0 10px;border:1px solid var(--graview-edge);border-radius:999px;background:transparent;color:var(--graview-ink)}
21
+ .graview-kind-stop-fact[data-tone=warn],.graview-kind-stop-warn{color:var(--graview-warn);font-weight:600}
22
+ .graview-kind-stop-quiet-text{color:var(--graview-ink-muted)}
23
+ .graview-kind-stop-rules{list-style:none;margin:0;padding:0;flex:1 1 100%;display:grid;gap:2px}
24
+ .graview-kind-stop-rule{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:100%;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;color:var(--graview-ink);text-align:left;overflow-wrap:anywhere}
25
+ .graview-kind-stop-rule:hover{border-color:var(--graview-edge)}
26
+ .graview-kind-stop-chevron{display:inline-block;width:.8em}
27
+ .graview-kind-stop-chevron[data-open]{transform:rotate(90deg)}
28
+ .graview-kind-stop-problem-rows{list-style:none;margin:2px 0 6px 18px;padding:0;max-width:44rem}
29
+ .graview-kind-stop-link{min-height:28px;padding:0 4px;border:0;background:none;color:var(--graview-accent);text-decoration:underline;text-underline-offset:2px}
30
+ .graview-kind-stop-link:disabled{opacity:.6;cursor:default}
31
+ .graview-kind-stop-shape{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--graview-text-small)}
32
+ .graview-kind-stop-switch{display:inline-flex;border:1px solid var(--graview-edge);border-radius:8px;overflow:hidden}
33
+ .graview-kind-stop-switch button{min-height:28px;padding:0 12px;border:0;background:transparent;color:var(--graview-ink-muted)}
34
+ .graview-kind-stop-switch button+button{border-left:1px solid var(--graview-edge)}
35
+ .graview-kind-stop-switch button[aria-pressed=true]{background:color-mix(in srgb,var(--graview-accent) 16%,transparent);color:var(--graview-ink);font-weight:600}
36
+ .graview-kind-stop-body{flex:1 0 auto;min-width:0}
37
+ .graview-kind-stop-empty{margin:24px 0;color:var(--graview-ink-muted)}
38
+ .graview-kind-stop-lens{min-width:0}
39
+
40
+ .graview-kind-stop-table-at{min-width:0}
41
+ .graview-kind-stop-table{width:100%;border-collapse:collapse;font-size:.875rem}
42
+ .graview-kind-stop-table th,.graview-kind-stop-table td{padding:7px 8px;text-align:left;vertical-align:top;border-top:1px solid var(--graview-edge);overflow-wrap:break-word}
43
+ .graview-kind-stop-table td{color:var(--graview-ink)}
44
+ .graview-kind-stop-table td>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
45
+ .graview-kind-stop-table td[data-short]{white-space:nowrap;font-variant-numeric:tabular-nums}
46
+ .graview-kind-stop-table thead th{border-top:0;font-size:var(--graview-text-small);font-weight:600;letter-spacing:.04em;color:var(--graview-ink-muted)}
47
+ .graview-kind-stop-name{font-weight:500;min-width:8rem;max-width:22rem}
48
+ .graview-kind-stop-name button{display:inline-block;min-width:24px;min-height:24px;padding:0;border:0;background:none;color:var(--graview-ink);font-weight:500;text-align:left;text-decoration:underline;text-decoration-color:var(--graview-edge);text-underline-offset:3px}
49
+ .graview-kind-stop-name button:hover{text-decoration-color:currentColor}
50
+ .graview-kind-stop-own-row{display:inline-block;max-width:100%;cursor:pointer}
51
+ .graview-kind-stop-flag{margin-left:6px;color:var(--graview-warn)}
52
+ .graview-kind-stop-group th{padding-top:12px;font-weight:600;color:var(--graview-ink)}
53
+ .graview-kind-stop-row-acts{width:1%;white-space:nowrap;text-align:right}
54
+ .graview-kind-stop-row-acts button{min-width:32px;min-height:28px;border:1px solid var(--graview-edge-bright,var(--graview-edge));border-radius:7px;background:none;color:var(--graview-ink);font-size:1.125rem;font-weight:700;line-height:1}
55
+ .graview-kind-stop-row-acts button:hover{background:color-mix(in srgb,var(--graview-ink) 8%,transparent)}
56
+ .graview-kind-stop-table td[data-empty] b{font-weight:400;color:var(--graview-ink-faint)}
57
+ .graview-kind-stop-table tr[data-graview-pick]{cursor:default}
58
+ .graview-kind-stop-more{margin:10px 0 0;font-size:.875rem}
59
+ .graview-kind-stop-table-at[data-graview-choosable]{outline:none}
60
+ [data-graview-choosable]:hover .graview-choose-all .graview-choose-box{opacity:1}
61
+ .graview-kind-stop-table .graview-choose-at{width:1%;padding-right:0;vertical-align:middle}
62
+ @container (max-width: 559px){
63
+ .graview-kind-stop{padding:12px}
64
+ .graview-kind-stop-acts{flex:1 1 100%}
65
+ .graview-kind-stop-primary{flex:1 1 auto}
66
+ .graview-kind-stop-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
67
+ .graview-kind-stop-table,.graview-kind-stop-table tbody,.graview-kind-stop-table tr{display:block}
68
+ .graview-kind-stop-table tr{position:relative;padding:8px 40px 8px 0;border-top:1px solid var(--graview-edge)}
69
+ .graview-kind-stop-table th,.graview-kind-stop-table td{display:block;padding:1px 0;border:0}
70
+ .graview-kind-stop-table td>span{display:inline}
71
+ .graview-kind-stop-table td[data-short]{white-space:normal}
72
+ .graview-kind-stop-table td[data-label]::before{content:attr(data-label) " \xB7 ";color:var(--graview-ink-muted)}
73
+ .graview-kind-stop-row-acts{position:absolute;top:6px;right:0;width:auto}
74
+ .graview-kind-stop-table [data-graview-choose]{padding-left:34px}
75
+ .graview-kind-stop-table td.graview-choose-at{position:absolute;left:0;top:8px;width:auto;padding:0}
76
+ .graview-kind-stop-table thead .graview-choose-at{position:static}
77
+ }
78
+ @media (pointer: coarse){
79
+ .graview-kind-stop-table-at:not([data-graview-choosing]) .graview-choose-at{display:none}
80
+ .graview-kind-stop-table-at:not([data-graview-choosing]) [data-graview-choose]{padding-left:0}
81
+ }
82
+ @media (pointer: coarse){
83
+ .graview-kind-stop-primary,.graview-kind-stop-quiet,.graview-kind-stop-fact,.graview-kind-stop-rule,.graview-kind-stop-link,.graview-kind-stop-switch button,.graview-kind-stop-row-acts button{min-height:44px}
84
+ .graview-kind-stop-row-acts button{min-width:44px}
85
+ .graview-kind-stop-name button{min-height:44px}
86
+ }
87
+ @media (prefers-reduced-motion: reduce){.graview-kind-stop *{transition:none!important;animation:none!important}}
88
+ `;export{Yt as KindStop};
@@ -0,0 +1,17 @@
1
+ import{a as j,b as D}from"./chunk.XRJBLH4N.js";import"./chunk.3JNMSOFG.js";import"./chunk.PKK6FRZR.js";import"./chunk.OAF7TUMI.js";import{a as I}from"./chunk.QIAKO27D.js";import"./chunk.UT6642FC.js";import{a as k,b as V}from"./chunk.MB7LKKUD.js";import"./chunk.7BWT5L2L.js";import"./chunk.OZNW5W4Z.js";import"./chunk.NDADLJE6.js";import"./chunk.AK3IHFCF.js";import"./chunk.HHPGWJDO.js";import"./chunk.42YX6NOY.js";import"./chunk.3VL5WECB.js";import"./chunk.JH6MU6TX.js";import"./chunk.WAFDCOOG.js";import"./chunk.L4DECHXR.js";import{G as Q,R as H,ua as x}from"./chunk.GFF2FB2J.js";import{Z as B,dc as q}from"./chunk.6V2RG5JG.js";import{b}from"./chunk.AJZBJBMO.js";var t=b(Q(),1);var a=b(H(),1);function U(r){let n=[];return r.applied.length>0&&r.intent&&n.push(`${r.intent}.`),r.unchanged.length>0&&n.push(`${r.unchanged.length} already so.`),r.allOrNothing&&n.push("None of it was kept."),n.join(" ")}function ie({store:r,chosen:n,principal:d,context:v,via:S,anchor:E,of:g,onChooseAll:A,onClear:p,onActed:F}){let[K,W]=(0,t.useState)(0);(0,t.useEffect)(()=>r.subscribe(()=>W(e=>e+1)),[r]);let m=n.join(`
2
+ `),{acts:h,withheld:N}=(0,t.useMemo)(()=>j(r,n,{...d?{principal:d}:{},...v?{context:v}:{}}),[r,m,d,v,K]),[L,u]=(0,t.useState)(!1),[l,c]=(0,t.useState)(null),[s,O]=(0,t.useState)(null),w=(0,t.useRef)(null),M=(0,t.useId)(),f=(0,t.useMemo)(()=>[...new Set(n.map(e=>r.graph.getNode(e)?.kind))],[r,m]),_=f.length===1&&f[0]?`${B(r.schema,f[0],n.length)} chosen`:`${n.length} chosen`,P=typeof matchMedia=="function"&&matchMedia("(pointer: coarse), (max-width: 599px)").matches?2:3,C=h.filter(e=>!e.more),G=C.slice(0,P),T=[...C.slice(P),...h.filter(e=>e.more)];(0,t.useEffect)(()=>{c(null),u(!1)},[m]),(0,t.useLayoutEffect)(()=>{let e=w.current;if(!e)return;if(typeof e.showPopover=="function"&&!x(e))try{e.showPopover()}catch{}let i=()=>{V(e,E?.()??null),dispatchEvent(new Event(k))};i(),addEventListener("resize",i),addEventListener("scroll",i,!0);let o=typeof ResizeObserver=="function"?new ResizeObserver(i):null;return o?.observe(e),()=>{if(o?.disconnect(),removeEventListener("resize",i),removeEventListener("scroll",i,!0),e.isConnected&&x(e))try{e.hidePopover()}catch{}dispatchEvent(new Event(k))}},[E]);let y=(0,t.useRef)({asking:l,onClear:p});y.current={asking:l,onClear:p},(0,t.useEffect)(()=>{let e=i=>{if(i.key!=="Escape"||i.defaultPrevented)return;let o=document.activeElement;if(!(!(w.current?.contains(o)??!1)&&(o instanceof HTMLTextAreaElement||o instanceof HTMLInputElement&&o.type!=="checkbox"||o instanceof HTMLSelectElement))){if(i.preventDefault(),i.stopPropagation(),y.current.asking){c(null);return}y.current.onClear()}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]);let R=(e,i={})=>{let o=D(r,{mutation:e.mutation,subject:e.subject,args:{...e.args,...i},label:e.label},n,{...d?{author:d}:{},...S?{via:S}:{},...v?{context:v}:{}});c(null),u(!1),O(o.refused.length>0||o.applied.length===0?o:null),F(o.refused.map(z=>z.id))},J=e=>{O(null),u(!1),e.open.length>0?c(e):R(e)},$=e=>(0,a.jsxs)("button",{type:"button",className:"graview-several-act","data-testid":"several-act","data-act":e.id,"data-mutation":e.mutation,...e.destructive?{"data-tone":"warn"}:{},"aria-pressed":l?.id===e.id?!0:void 0,onClick:()=>J(e),children:[e.label,e.open.length>0?"\u2026":""]},e.id);return(0,a.jsxs)("div",{ref:w,popover:"manual",role:"region","aria-label":"The chosen records",className:"graview-several-bar","data-testid":"several-bar","data-graview-foot":"","data-graview-overlay":"","data-graview-popover":"","data-graview-offstage":"",style:X,children:[(0,a.jsx)("style",{children:Y}),(0,a.jsxs)("div",{className:"graview-several-line",children:[(0,a.jsx)("span",{role:"status","aria-live":"polite",className:"graview-several-count","data-testid":"several-count",children:_}),(0,a.jsxs)("div",{role:"group","aria-label":`What to do with the ${n.length} chosen`,className:"graview-several-acts",children:[G.map($),T.length>0?(0,a.jsx)("button",{type:"button",className:"graview-several-act","data-testid":"several-more","aria-expanded":L,"aria-controls":M,onClick:()=>u(e=>!e),children:"More"}):null,A&&g!==void 0&&g>n.length?(0,a.jsxs)("button",{type:"button",className:"graview-several-quiet","data-testid":"several-all",onClick:A,children:["Choose all ",g]}):null,(0,a.jsx)("button",{type:"button",className:"graview-several-quiet","data-testid":"several-clear","aria-keyshortcuts":"Escape",title:"Put the choice down \u2014 Escape",onClick:p,children:"Clear"})]})]}),L?(0,a.jsx)("div",{id:M,role:"group","aria-label":"More",className:"graview-several-acts","data-testid":"several-more-acts",children:T.map($)}):null,h.length===0?(0,a.jsx)("p",{className:"graview-several-said","data-testid":"several-none",children:N.length>0?`Nothing here can be done to all of them by you: ${N[0].message}`:"Nothing can be done to all of these at once."}):null,l?(0,a.jsx)("div",{className:"graview-several-ask",role:"group","aria-label":`${l.label}, for all ${n.length}`,"data-testid":"several-ask",children:(0,a.jsx)(I,{store:r,affordance:l.affordance,onApply:e=>R(l,e),onCancel:()=>c(null)})}):null,s?(0,a.jsxs)("div",{role:"alert",className:"graview-several-said","data-testid":"several-outcome",children:[U(s),s.refused.length>0?(0,a.jsxs)(a.Fragment,{children:[" ",s.refused.length===1?"One was not changed, and is still chosen:":`${s.refused.length} were not changed, and are still chosen:`,(0,a.jsx)("ul",{"data-testid":"several-refused",children:s.refused.map(e=>(0,a.jsxs)("li",{"data-record":e.id,children:["\u201C",e.label,"\u201D \u2014 ",e.message]},e.id))})]}):null]}):null]})}var X={position:"fixed",inset:"auto",margin:0,zIndex:q("toast"),boxSizing:"border-box",width:"max-content",height:"auto",bottom:"calc(16px + env(safe-area-inset-bottom, 0px))",left:16,overflow:"visible"},Y=`
3
+ .graview-several-bar{display:grid;gap:8px;padding:8px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-float);color:var(--graview-ink);box-shadow:var(--graview-lift-high);font-size:.875rem;line-height:1.4;max-height:70vh;overflow:auto}
4
+ .graview-several-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}
5
+ .graview-several-count{font-weight:600;white-space:nowrap}
6
+ .graview-several-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
7
+ .graview-several-act,.graview-several-quiet{min-height:32px;padding:0 12px;border-radius:8px;font:inherit;cursor:pointer;box-shadow:none}
8
+ .graview-several-act{border:1px solid var(--graview-edge);background:transparent;color:var(--graview-ink);font-weight:600}
9
+ .graview-several-act:hover,.graview-several-act[aria-pressed=true],.graview-several-act[aria-expanded=true]{background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
10
+ .graview-several-act[data-tone=warn]{color:var(--graview-warn)}
11
+ .graview-several-quiet{border:0;background:none;color:var(--graview-ink-muted);text-decoration:underline;text-underline-offset:2px}
12
+ .graview-several-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
13
+ .graview-several-said{margin:0;max-width:52ch;overflow-wrap:anywhere}
14
+ .graview-several-said ul{margin:4px 0 0;padding-left:18px}
15
+ .graview-several-ask{padding:8px 4px 2px;border-top:1px solid var(--graview-edge)}
16
+ @media (pointer: coarse){.graview-several-act,.graview-several-quiet{min-height:44px}}
17
+ `;export{ie as SeveralBar};
@@ -0,0 +1 @@
1
+ import{A as Y,C as Z,F as ee,a as T,d as K,f as z,i as D,j as W,n as _,o as j,p as U,s as J,u as Q,w as X}from"./chunk.L4DECHXR.js";import{$ as I,G as se,R as $,Z as G,la as V,sa as q}from"./chunk.GFF2FB2J.js";import{Kb as M,Tb as P,Vb as O,tc as N}from"./chunk.6V2RG5JG.js";import{b as k}from"./chunk.AJZBJBMO.js";var o=k(se(),1);function ie(e){let t=[e?.typography?.body,e?.typography?.display,e?.typography?.mono],n=[];for(let a of t){let r=a?.split(",")[0]?.trim().replace(/^["']|["']$/g,"");!r||O(r)||r.toLowerCase()!==M.toLowerCase()&&(n.includes(r)||n.push(r))}return n}function ne(e){let t=ie(e);return t.length===0?null:`https://fonts.googleapis.com/css2?${t.map(a=>`family=${encodeURIComponent(a).replace(/%20/g,"+")}:wght@400;500;600;700`).join("&")}&display=swap`}var l=k($(),1);function be({rootRef:e,firstLook:t,app:n}){let a=(0,o.useCallback)(()=>e.current,[e]);return t?(0,l.jsx)(ee,{firstLook:t,root:a,app:n}):null}function ve(e,t){let{app:n}=e;return(0,o.useMemo)(()=>{let a=Y(t(n.schema,n.viewSpecs),n),r=e.views?V(a,e.views(n.schema,a)):a;return Z(r,n.schema,Q(e.brand??n.brand,n.schema)),r},[e.views,n.schema,n.viewSpecs,n.lenses,n.pages,n.home])}function ce(e,t){return new N({schema:e.schema,mutations:e.mutations??[],invariants:e.invariants??[],...t?{snapshot:t}:{},...e.policy?{policy:e.policy}:{},...e.intelligence?{intelligence:e.intelligence}:{}})}function te(e){if(typeof document>"u")return e==="dark"?"dark":"light";let t=document.documentElement.dataset.theme;return t==="dark"||t==="light"?t:e==="dark"||e==="light"?e:typeof matchMedia=="function"&&matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function de(e,t){let[n,a]=(0,o.useState)(()=>te(t));return(0,o.useEffect)(()=>{if(!e||typeof document>"u")return;let r=()=>a(te(t));r();let i=new MutationObserver(r);i.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});let d=typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null;return d?.addEventListener?.("change",r),()=>{i.disconnect(),d?.removeEventListener?.("change",r)}},[e,t]),n}var A=e=>e?e.getBoundingClientRect().height:0;function Se(e,t,n){let a=(0,o.useRef)(n);a.current=n;let r=n!==void 0;(0,o.useLayoutEffect)(()=>{let i=e.current;if(!i||!r)return;let d=()=>{let u=[...i.children],b=u.find(v=>v.hasAttribute("data-graview-app-bar")),y=u.find(v=>v.hasAttribute("data-embed-content")),h=y?.querySelector("[data-embed-measure]")??null,c=u.find(v=>v.hasAttribute("data-graview-place-line"));return{strip:b,line:c,content:y,measure:h}},s=-1,f=()=>{let{strip:u,line:b,content:y,measure:h}=d(),c=Math.ceil(A(u)+A(b)+A(h||y));c!==s&&(s=c,a.current?.(c))};if(f(),typeof ResizeObserver>"u")return;let m=new ResizeObserver(f),E=()=>{m.disconnect();let{strip:u,line:b,content:y,measure:h}=d();for(let c of[i,u,b,y,h])c&&m.observe(c)};E();let g=new MutationObserver(()=>{E(),f()});return g.observe(i,{childList:!0}),()=>{m.disconnect(),g.disconnect()}},[e,t,r])}var we=480,le=0;function Ee(e){let{app:t,seed:n,scheme:a="auto",brand:r=t.brand,fonts:i=!0,height:d="100%",label:s}=e,f=(0,o.useRef)(null);q(f);let m=d==="viewport"?"100dvh":d,E=z(typeof m=="string"&&/vh\b/.test(m)),g=(0,o.useMemo)(()=>`graview-embed-${++le}`,[]),u=(0,o.useMemo)(()=>e.store??e.remote?.store??ce(t,n),[e.store,e.remote,t,n]),b=e.presence??e.remote?.presence,y=e.hostContext?.theme,h=de(a==="auto"&&y===void 0,r?.scheme),c=a==="auto"?y??h:a,v=(0,o.useMemo)(()=>T(c,r,{scope:`.${g}`}),[c,r,g]);K(e.favicon?P(r):void 0),(0,o.useEffect)(()=>{if(!i||typeof document>"u")return;let w=ne(r);if(!w||document.querySelector(`link[href="${w}"]`))return;let p=document.createElement("link");p.rel="stylesheet",p.href=w,document.head.appendChild(p)},[r,i]);let L=(0,o.useRef)(void 0);(0,o.useLayoutEffect)(()=>{let w=f.current,p=L.current;if(L.current=s,!w||!s)return;let ae=S=>{let R=S.getAttribute("aria-label")??"",x=p&&p!==s?R.startsWith(`${p} \xB7 `)?R.slice(p.length+3):R===p?"":R:R;x===s&&(S.getAttribute("role")==="region"||S.tagName==="SECTION"&&!S.hasAttribute("role"))&&S.setAttribute("role","group");let B=x.startsWith(`${s} \xB7 `)||x===s?x:x?`${s} \xB7 ${x}`:s;B!==R&&S.setAttribute("aria-label",B)},H=()=>w.querySelectorAll("aside, nav, main, header, footer, section[aria-label]:not([role]), [role=region], [role=complementary], [role=navigation], [role=search]").forEach(S=>{S.hasAttribute("data-graview-named-by-lens")||ae(S)});H();let C=new MutationObserver(H);return C.observe(w,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-label"]}),()=>C.disconnect()},[s]);let oe=E?`${m}`.replace(/([\d.]+)[sdl]?vh\b/g,(w,p)=>`${+p*E/100}px`):m;return{rootRef:f,scope:g,css:v,scheme:c,store:u,presence:b,brand:r,auto:d==="auto",height:oe}}function Re({rootRef:e,board:t}){let n=(0,o.useCallback)(()=>e.current?.querySelector("[data-embed-content]")??e.current,[e]);return(0,l.jsx)(J,{board:t,anchor:n})}function xe(e,t,n){return{brand:n,locale:e.locale,principal:e.principal,seats:e.seats,presence:t,people:e.people,memory:e.memory,presenceTtlMs:e.presenceTtlMs,onKeepLens:e.onKeepLens,ai:e.ai,files:e.files,resolveApp:e.resolveApp,history:e.history,linkedRecords:e.linkedRecords,menuSections:e.menuSections,app:e.app}}function Ae({name:e,heading:t,faces:n,at:a,without:r,home:i,reach:d,standing:s,hostActions:f,keeping:m,onFind:E,switch:g}){let{brand:u,store:b,principal:y,views:h}=G();I();let c=r?.has("places")?[]:D({store:b,principal:y,views:h}),v=U();return(0,l.jsx)(_,{brand:u,name:e,description:u?.subtitle,heading:t,faces:n,home:i,places:c,current:a===null?null:W(c,a),reach:d,onFind:E,...g?{switch:g}:{},...n?{scenePlaces:v}:{},tools:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(X,{clean:s}),(0,l.jsx)(j,{...f?{hostActions:f}:{},...m?{keeping:m}:{}})]})})}var ke=e=>e===!1?2:Math.min(e+1,6);function Fe(e){let[t,n]=(0,o.useState)(e),a=(0,o.useRef)(void 0),r=(0,o.useRef)(void 0),i=(0,o.useMemo)(()=>({go:a,at:n,pending:r}),[]),d=(0,o.useCallback)(s=>{if(a.current){a.current(s);return}r.current=s,n(s)},[]);return{at:t,setAt:n,steering:i,steer:d}}function ue(e){let t=typeof e=="object"&&e!==null?e.name:void 0;return{name:typeof t=="string"&&t.length>0?t:typeof e=="object"?"Error":typeof e}}var F=()=>typeof performance<"u"?performance.now():Date.now();function Le(e,t){let n=(0,o.useRef)({onError:e,face:t});return n.current={onError:e,face:t},(0,o.useCallback)((a,r)=>n.current.onError?.(ue(a),{module:r.module,face:n.current.face}),[])}function He(e,t){let n=(0,o.useRef)(null);n.current===null&&(n.current=F());let a=(0,o.useRef)({onReady:e,face:t});a.current={onReady:e,face:t};let r=(0,o.useRef)(!1);return(0,o.useCallback)(i=>{r.current||(r.current=!0,a.current.onReady?.({ms:Math.max(0,F()-(n.current??F())),face:i}))},[])}var re=class extends o.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t,n){console.error(`[graview] ${this.props.module} threw while rendering`,t,n.componentStack),this.props.report(t,{module:this.props.module})}render(){return this.state.failed?(0,l.jsxs)("div",{role:"alert","data-graview-face-error":this.props.module,...this.props.content?{"data-embed-content":""}:{},style:this.props.content?{flex:"1 1 auto",display:"grid",alignContent:"center",justifyItems:"center",gap:8,padding:24,background:"var(--graview-ground)",color:"var(--graview-ink)",fontSize:"0.9375rem"}:{display:"inline-flex",alignItems:"center",gap:6,fontSize:"0.8125rem",color:"var(--graview-ink-muted)"},children:[(0,l.jsx)("span",{children:this.props.content?"This part of the app could not draw.":"Could not draw."}),(0,l.jsx)("button",{type:"button",onClick:()=>this.setState({failed:!1}),style:{padding:"3px 11px",fontSize:"0.8125rem"},children:"Try again"})]}):this.props.children}};export{be as a,ve as b,ce as c,Se as d,we as e,Ee as f,Re as g,xe as h,Ae as i,ke as j,Fe as k,Le as l,He as m,re as n};
@@ -0,0 +1 @@
1
+ import{b as dt}from"./chunk.6T2Q6NLO.js";import{a as ct}from"./chunk.AK3IHFCF.js";import{f as ft}from"./chunk.HHPGWJDO.js";import{a as C,f as q}from"./chunk.42YX6NOY.js";import{D as Q,E as X,G as k,J as G,K as tt,M as nt,Ra as ot,Ta as st,W as _,Wa as it,Y as M,_ as et,ba as rt,da as at,rb as lt,rc as ut}from"./chunk.6V2RG5JG.js";import"./chunk.AJZBJBMO.js";function J(t){let e=[],n=!0;for(let r of t){if(r.text.length===0)continue;let s=r.as==="close"||r.text===","||r.text===":"||r.text.startsWith("'")||n;e.push({part:r,space:!s}),n=r.as==="open"}return e}function D(t,e){return J(t).map(({part:n,space:r})=>`${r?" ":""}${e?n.said??n.text:n.text}`).join("")}function wt(t){return D(t,!1)}function Ot(t){return D(t,!0)}function pt(t,e=!1){let n=e?t.said:t.text;return t.record!==void 0?`${t.record} \u2014 ${n}`:n}function z(t){let e=u=>J(u).map(({part:a,space:o})=>({...a,space:o})),n=e(t.parts),r=t.when&&t.when.length>0?e(t.when):void 0,s=u=>`${D(n,u)}${r?`, when ${D(r,u)}`:""}`;return{...t,parts:n,...r?{when:r}:{},text:s(!1),said:s(!0)}}function Et(t,e=!1){return t.line?pt(t.line,e):t.message}var mt=60,O=t=>({text:t,as:"name"}),c=(t,e)=>e===void 0?{text:t,as:"word"}:{text:t,as:"word",said:e},L=(t,e)=>e===void 0||e===t?{text:t,as:"value"}:{text:t,as:"value",said:e},R=(t,e)=>({text:t,as:"op",said:e}),v={text:"(",as:"open"},w={text:")",as:"close"},N={text:"\u2014",as:"value",said:"empty"},V={">=":["\u2265","at least"],"<=":["\u2264","at most"],"<":["<","less than"],">":[">","more than"],"==":["=","is"],"!=":["\u2260","is not"]},B={">=":"<","<=":">","<":">=",">":"<=","==":"!=","!=":"=="},Pt={"+":["+","plus"],"-":["\u2212","minus"],"*":["\xD7","times"],"/":["\xF7","divided by"],"%":["mod","modulo"]},gt=t=>t.t==="binary"&&t.op in V;function I(t){return t.length>1&&t[1]===t[1].toUpperCase()&&/[A-Z]/.test(t[1])?t:t.charAt(0).toLowerCase()+t.slice(1)}function ht(t){let{schema:e}=t,n=l=>l===null?void 0:e.tryDefinition(l),r=(l,m)=>{let g=n(l)?.edges;return g&&Object.hasOwn(g,m)?g[m]:void 0},s=(l,m)=>{let g=r(l,m)?.to;return Array.isArray(g)&&g.length===1?g[0]:null},u=(l,m)=>{let g=(e.edge(m)?.from??[]).filter(W=>{let K=r(W,m)?.to;return l===null||K==="*"||Array.isArray(K)&&K.includes(l)});return g.length===1?g[0]:null},a=(l,m)=>r(l,m)?M(m).toLowerCase():I(rt(n(l),m)),o=l=>I(et(e,l)),d=l=>I(ft(e).get(l)?.label??M(l)),x=l=>I(at(n(l),l)),i=(l,m)=>{let g=l===null?void 0:t.formatOf?.(l,m);if(g?.format)return g;let W=t.said?.get(m);return W?{...g,format:W}:g},p=l=>_(e.tryDefinition(l.kind),l),h=t.money?.locale,y=(l,m)=>{if(l==null)return N;if(l instanceof C){if(l.nodes.length===0)return N;let A=l.nodes.slice(0,3).map(p),Z=l.nodes.length-A.length;return L(Z>0?`${A.join(", ")} and ${Z} more`:A.length>1?`${A.slice(0,-1).join(", ")} and ${A[A.length-1]}`:A[0])}if(Array.isArray(l))return L(`{${l.map(A=>y(A,m).text).join(", ")}}`,l.map(A=>y(A,m).text).join(" or "));if(typeof l=="object")return L(p(l));if(typeof l=="boolean")return L(l?"yes":"no");let g=m?.format??(m?i(m.kind,m.key):void 0);if(typeof l=="number")return L(g&&g.format!=="date"?lt(l,{...t.money,...g}):nt(l,h));if(Q.test(l)||g?.format==="date")return L(G(l.slice(0,10),h));if(X.test(l))return L(tt(l,h));let W=m&&m.kind!==null?n(m.kind)?.display?.format?.[m.key]:void 0;if(W)return L(W(l));let K=l.length>mt?`${l.slice(0,mt-1).trimEnd()}\u2026`:l;return L(/^[a-z][a-z0-9]*([-_][a-z0-9]+)*$/.test(K)?K.replace(/[-_]+/g," "):K)};return{definition:n,relation:r,farOf:s,nearOf:u,fieldName:a,plural:o,noun:x,factName:d,formatOf:i,valueWords:y,locale:h}}function P(t,e,n){if(t.t==="ident")return{kind:e,key:t.name};if(t.t==="member")return{kind:E(t.object,e,n),key:t.name};if(t.t==="call"&&(t.fn==="sum"||t.fn==="min"||t.fn==="max")&&t.args.length===2){let r=E(t.args[0],e,n),s=t.args[1];if(s.t==="ident")return{kind:r,key:s.name};if(s.t==="lit"&&typeof s.value=="string")return{kind:r,key:s.value}}if(t.t==="binary"&&(t.op==="+"||t.op==="-"))return P(t.left,e,n)??P(t.right,e,n);if(t.t==="call"&&t.fn==="if"&&t.args.length===3)return P(t.args[1],e,n)??P(t.args[2],e,n)}function E(t,e,n){switch(t.t){case"ident":return n.relation(e,t.name)?n.farOf(e,t.name):null;case"member":return n.farOf(E(t.object,e,n),t.name);case"where":return E(t.set,e,n);case"binary":return t.op==="|"||t.op==="&"||t.op==="-"?E(t.left,e,n):null;case"call":{let r=s=>{let u=t.args[s];return u?.t==="lit"&&typeof u.value=="string"?u.value:void 0};return t.fn==="all"?r(0)??null:t.fn==="out"?t.args.length===2?n.farOf(E(t.args[0],e,n),r(1)??""):n.farOf(e,r(0)??""):t.fn==="in"?t.args.length===2?n.nearOf(E(t.args[0],e,n),r(1)??""):n.nearOf(e,r(0)??""):(t.fn==="first"||t.fn==="sort")&&t.args[0]?E(t.args[0],e,n):null}default:return null}}function j(t){return t.t==="binary"?t.op==="||"?U(t)?4:1:t.op==="&&"?2:t.op in V||t.op==="in"?4:t.op==="+"||t.op==="-"?5:t.op==="*"||t.op==="/"||t.op==="%"?6:4.5:t.t==="unary"&&t.op==="!"?3:t.t==="where"?3.5:9}var $=t=>t.t==="lit",b=(t,e)=>t.t==="call"&&t.fn===e;function F(t,e){return t.t==="binary"&&t.op===e?[...F(t.left,e),...F(t.right,e)]:[t]}function U(t){if(t.t!=="binary"||t.op!=="||")return;let e=[];e.push(...F(t,"||"));let n,r=[];for(let s of e){if(s.t!=="binary"||s.op!=="=="||!$(s.right)||typeof s.right.value!="string"||n&&JSON.stringify(yt(n))!==JSON.stringify(yt(s.left)))return;n=s.left,r.push(s.right)}return n?{subject:n,values:r}:void 0}var yt=t=>JSON.parse(JSON.stringify(t,(e,n)=>e==="at"?void 0:n));function f(t,e,n,r){let s=(u,a,o=e)=>j(u)<a?[v,...f(u,o,n),w]:f(u,o,n);switch(t.t){case"lit":return[n.valueWords(t.value,r)];case"list":return[n.valueWords(t.items.map(u=>u.t==="lit"?u.value:null),r)];case"ident":return[O(n.fieldName(e,t.name))];case"member":{let u=b(t.object,"first")&&t.object.args[0]&&b(t.object.args[0],"all"),a=E(t.object,e,n);if(u&&a)return e!==null&&n.fieldName(e,t.name)===n.fieldName(a,t.name)&&n.definition(e)?.fields?.shape&&Object.prototype.hasOwnProperty.call(n.definition(e).fields.shape,t.name)?[O(`${n.noun(a)}'s ${n.fieldName(a,t.name)}`)]:[O(n.fieldName(a,t.name))];let o=f(t.object,e,n),d=o[o.length-1];return o.length===1&&d?.as==="name"?[O(`${d.text}'s ${n.fieldName(a,t.name)}`)]:[...o,c("'s"),O(n.fieldName(a,t.name))]}case"unary":return t.op==="-"?[R("\u2212","minus"),...s(t.operand,7)]:T(t.operand,e,n);case"where":{let u=E(t.set,e,n),a=f(t.filter,u,n),o=a.every(d=>d.as==="name"||d.as==="word"&&d.text==="not");return[...s(t.set,4),...o?[]:[c("with")],...j(t.filter)<=2?[v,...a,w]:a]}case"binary":return bt(t,e,n);case"call":return Lt(t,e,n)}}function T(t,e,n){return gt(t)?bt({...t,op:B[t.op]},e,n):b(t,"present")||b(t,"exists")?[...f(t.args[0],e,n),R("=","is"),N]:t.t==="ident"?[c("not"),O(n.fieldName(e,t.name))]:[c("not"),v,...f(t,e,n),w]}function bt(t,e,n){let r=(a,o)=>j(a)<o?[v,...f(a,e,n),w]:f(a,e,n);if(t.op==="&&"||t.op==="||"){let a=U(t);if(a){let d=P(a.subject,e,n);return[...f(a.subject,e,n),R("\u2208","is one of"),n.valueWords(a.values.map(x=>x.value),d)]}let o=t.op==="&&"?2:1;return[...r(t.left,o),c(t.op==="&&"?"and":"or"),...r(t.right,o+.5)]}if(t.op in V){if($(t.right)&&typeof t.right.value=="boolean"&&(t.op==="=="||t.op==="!="))return t.op==="=="===t.right.value?f(t.left,e,n):T(t.left,e,n);let[a,o]=V[t.op],d=P(t.left,e,n),x=P(t.right,e,n);return[...S(t.left,e,n,x),R(a,o),...S(t.right,e,n,d)]}if(t.op==="in")return[...r(t.left,5),R("\u2208","is one of"),...S(t.right,e,n,P(t.left,e,n))];let s=Pt[t.op];if(s){let a=j(t);return[...r(t.left,a),R(s[0],s[1]),...r(t.right,a+.5)]}let u={"|":"or","&":"and also","-":"except"};return[...r(t.left,5),c(u[t.op]??t.op),...r(t.right,5)]}function S(t,e,n,r){return t.t==="lit"||t.t==="list"?f(t,e,n,r):j(t)<5?[v,...f(t,e,n),w]:f(t,e,n)}function Lt(t,e,n){let r=a=>t.args[a],s=a=>{let o=t.args[a];return o?.t==="lit"&&typeof o.value=="string"?o.value:void 0},u=a=>{let o=r(a);return j(o)<9&&o.t!=="where"?[v,...f(o,e,n),w]:f(o,e,n)};switch(t.fn){case"out":{let a=s(t.args.length-1)??"",o=O(M(a).toLowerCase());return t.args.length===2?[o,c("of"),...u(0)]:[o]}case"in":{let a=s(t.args.length-1)??"",o=t.args.length===2?n.nearOf(E(r(0),e,n),a):n.nearOf(e,a),d=O(o?n.plural(o):M(a).toLowerCase());return t.args.length===2?[d,c("of"),...u(0)]:[d]}case"all":{let a=s(0),o=t.args[1]?.t==="lit"?t.args[1].value:void 0,d=o===!0?[c("archived")]:o==="all"?[c("archived or not")]:[];return o===!0?[...d,O(a?n.plural(a):"everything")]:[O(a?n.plural(a):"everything"),...d]}case"fact":{let a=s(0);return[O(a?n.factName(a):"fact")]}case"count":return[c("number of"),...u(0)];case"exists":return[...u(0),R("\u2260","is not"),N];case"present":return[...f(r(0),e,n),R("\u2260","is not"),N];case"some":case"every":{let a=E(r(0),e,n),o=r(1);return[...t.fn==="some"?[c("some")]:[],...u(0),c(t.fn==="some"?"with":"all with"),...j(o)<=2?[v,...f(o,a,n),w]:f(o,a,n)]}case"sum":case"min":case"max":{let a=E(r(0),e,n),o=r(1),d=o.t==="lit"&&typeof o.value=="string"?[O(n.fieldName(a,o.value))]:j(o)<9?[v,...f(o,a,n),w]:f(o,a,n);return[c(t.fn==="sum"?"total":t.fn==="min"?"least":"most"),...d,c("of"),...u(0)]}case"first":{let a=r(0);if(b(a,"all")){let o=a.args[0]?.value;if(typeof o=="string")return[O(`the ${n.noun(o)}`)]}return[c("first of"),...u(0)]}case"sort":return[...u(0),c("by"),...f(r(1),E(r(0),e,n),n)];case"len":return[c("length of"),...f(r(0),e,n)];case"lower":return f(r(0),e,n);case"contains":case"startsWith":return[...f(r(0),e,n),c(t.fn==="contains"?"contains":"starts with"),...S(r(1),e,n,P(r(0),e,n))];case"today":return[L("today")];case"now":return[L("now")];case"date":return $(r(0))&&typeof r(0).value=="string"?[L(G(String(r(0).value),n.locale))]:f(r(0),e,n);case"days":case"hours":{let a=t.fn,[o,d]=[r(0),r(1)];return b(d,"today")||b(d,"now")?[c(`${a} since`),...f(o,e,n)]:b(o,"today")||b(o,"now")?[c(`${a} until`),...f(d,e,n)]:[c(`${a} from`),...f(o,e,n),c("to"),...f(d,e,n)]}case"if":return[v,...f(r(1),e,n),c("if"),...f(r(0),e,n),c(","),c("else"),...f(r(2),e,n),w];case"either":return t.args.flatMap((a,o)=>o===0?f(a,e,n):[c(","),c("else"),...f(a,e,n)]);default:return[c(t.fn),v,...t.args.flatMap((a,o)=>o===0?f(a,e,n):[c(","),...f(a,e,n)]),w]}}function H(t,e){let n=ht(e),r=t.over==="graph"?null:t.over;return z({...r===null?{}:{kind:r},parts:f(t.require,r,n),...t.when?{when:f(t.when,r,n)}:{}})}function Y(t,e,n){let r=ht(e),s=t.over==="graph"?null:t.over,u=n.subject,a=i=>{try{return q(i,{...n,budget:2e3})}catch{return}},o=(i,p)=>{let h=S(i,s,r,p);if(i.t==="lit"||i.t==="list"||b(i,"today")||b(i,"now")||b(i,"date"))return h;let y=a(i);if(y===void 0)return h;let l=P(i,s,r),m=r.valueWords(y,l?{...l,format:r.formatOf(l.kind,l.key)??(p?r.formatOf(p.kind,p.key):void 0)}:p);return y instanceof C?[...h,c(":"),m]:[...h,m]},d=i=>{if(i.t==="binary"&&i.op==="&&"){let p=[];p.push(...F(i,"&&"));let h=p.filter(y=>a(y)!==!0);return(h.length>0?h:p).flatMap((y,l)=>[...l>0?[c("and")]:[],...j(y)<=2?[v,...d(y),w]:d(y)])}if(i.t==="binary"&&i.op==="||"){let p=U(i);if(p){let y=P(p.subject,s,r);return[...o(p.subject),R("\u2209","is not one of"),r.valueWords(p.values.map(l=>l.value),y)]}let h=[];return h.push(...F(i,"||")),h.flatMap((y,l)=>[...l>0?[c("and")]:[],...j(y)<=2?[v,...d(y),w]:d(y)])}if(i.t==="binary"&&i.op in V){if($(i.right)&&typeof i.right.value=="boolean"&&(i.op==="=="||i.op==="!="))return i.op==="=="===i.right.value?T(i.left,s,r):f(i.left,s,r);let p=B[i.op],[h,y]=V[p],l=P(i.left,s,r),m=P(i.right,s,r);if($(i.right)&&i.right.value===null)return[...p==="=="?S(i.left,s,r,m):o(i.left,m),R(h,y),N];let g=p==="=="&&($(i.right)||$(i.left));return[...g?S(i.left,s,r,m):o(i.left,m),R(h,y),...g?S(i.right,s,r,l):o(i.right,l)]}if(i.t==="binary"&&i.op==="in")return[...o(i.left),R("\u2209","is not one of"),...S(i.right,s,r,P(i.left,s,r))];if(i.t==="unary"&&i.op==="!"){let p=i.operand;return gt(p)?d({...p,op:B[p.op]}):b(p,"present")||b(p,"exists")?[...o(p.args[0]),R("\u2260","is not"),N]:p.t==="ident"?f(p,s,r):[c("not"),v,...T(p,s,r),w]}if(b(i,"present")||b(i,"exists"))return[...f(i.args[0],s,r),R("=","is"),N];if(b(i,"some"))return[...f(i,s,r).slice(1),R("=","is"),N];if(b(i,"every")&&i.args.length===2){let p=a(i.args[0]);if(p instanceof C){let h=p.nodes.filter(y=>{try{return q(i.args[1],{...n,subject:y,budget:2e3})!==!0}catch{return!0}});return[...f(i,s,r),c(","),c("not"),r.valueWords(new C(h))]}}return i.t==="ident"?[c("not"),O(r.fieldName(s,i.name))]:[c("not"),v,...f(i,s,r),w]},x;try{x=d(t.require)}catch{x=[c("not"),v,...f(t.require,s,r),w]}return z({...s===null?{}:{kind:s},parts:x,...u?{record:_(e.schema.tryDefinition(u.kind),u)}:{}})}function xt(t){let e=new Map;for(let n of t??[])n.expr?.t==="ident"&&n.format&&(n.format==="money"||n.format==="percent"||n.format==="date")&&e.set(n.expr.name,n.format);return e}function At(t){return(e,n)=>{let r=t[e]?.fields?.[n],s=r?.format??(r?.type==="date"?"date":void 0);return s||r?.unit?{...s?{format:s}:{},...r?.unit?{unit:r.unit}:{}}:void 0}}function vt(t,e){return{schema:e,said:xt(t.says),...t.declared?{formatOf:At(t.declared)}:{},...t.money?{money:t.money}:{}}}function Yt(t,e){return t.shape?H(t.shape,vt(t.shape,e)):void 0}var Rt=new WeakMap;function jt(t,e){let n=new Map(t.allInvariants().map(r=>[r.name,r]));return e.map(r=>{let s=Wt(r),u=n.get(s.invariant)?.shape;if(!u||s.status&&s.status!=="violated")return s;let a=s.subjectId?t.graph.getNode(s.subjectId):void 0;if(u.over!=="graph"&&!a)return s;let o=u.kinds;o||(o=Rt.get(t.schema),o||Rt.set(t.schema,o=ct(t.schema)));try{let d=t.today?.()??u.today?.()??k(),x=Y(u,vt(u,t.schema),{graph:t.graph,subject:a??null,kinds:o,today:d});return{...s,line:x,...u.says?{}:{message:`${s.message} \u2014 ${x.text}`}}}catch{return s}})}function St(){it((t,e,n,r)=>jt({graph:t,schema:t.schema,allInvariants:()=>e,today:()=>r},n)),dt(Nt)}function Nt(t,e,n,r){let s=e.graph,u=st.from(t.schema,s.snapshot(),{validate:!1});for(let x of n?[...r].reverse().map(ot):r)try{u.applyPrimitives([x],{restoring:!0})}catch{}let a=x=>t.violations(void 0,x),o=a(n?u:s),d=a(n?s:u);return{...ut(t.allInvariants(),o,d),violationsAfter:d}}function Wt(t){if(!t.line)return t;let{line:e,...n}=t,r=` \u2014 ${e.text}`;return n.message.endsWith(r)?{...n,message:n.message.slice(0,-r.length)}:n}St();export{Y as brokenLineOf,St as judgeWithLines,Nt as judgedForASeat,Et as problemWords,Yt as ruleLine,H as ruleLineOf,pt as ruleLineWords,J as ruleSpacing,Ot as ruleSpoken,wt as ruleText,Wt as unlined,jt as withLines};
@@ -0,0 +1,84 @@
1
+ import{cc as e}from"./chunk.6V2RG5JG.js";var a=`
2
+ .graview-spec{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--graview-ink)}
3
+
4
+ .graview-spec-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;box-sizing:border-box;max-width:100%;padding:5px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius-sm,8px);background:var(--graview-panel);font-size:.875rem}
5
+ .graview-spec-row[data-selected]{border-color:var(--graview-accent)}
6
+ .graview-spec-row>*{flex:0 0 auto;min-width:0;max-width:100%}
7
+ .graview-spec-row>.graview-spec-title,.graview-spec-row>.graview-spec-text{flex:1 1 9rem;overflow-wrap:anywhere}
8
+ .graview-spec-row>.graview-spec-title{font-size:.9375rem}
9
+ .graview-spec-row>.graview-spec-progress{grid-template-columns:auto minmax(3rem,5rem) auto;align-items:center;column-gap:6px}
10
+ .graview-spec-list[data-as="row"] .graview-spec-row{border-width:0 0 1px;border-radius:0;background:transparent;padding:6px 2px}
11
+ [data-graview-rows] .graview-spec-row{border-width:0;border-radius:0;background:transparent;padding:2px 0}
12
+ [data-graview-rows] .graview-spec-row>.graview-spec-title{font-size:var(--graview-text-body);font-weight:500}
13
+ .graview-spec-page{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--graview-edge)}
14
+ .graview-spec-title{font-family:var(--graview-font-display,inherit);font-weight:600;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
15
+ .graview-spec-text{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
16
+ .graview-spec-text[data-graview-tone]{color:var(--graview-spec-tone)}
17
+
18
+ .graview-spec-badge{align-self:flex-start;display:inline-block;max-width:100%;box-sizing:border-box;padding:1px 8px;border:1px solid currentColor;border-radius:999px;background:var(--graview-panel);color:var(--graview-spec-tone,var(--graview-ink-muted));font-size:.8125rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
19
+ .graview-spec-row .graview-spec-badge,.graview-spec-group[data-direction="row"] .graview-spec-badge{align-self:center}
20
+ .graview-spec [data-graview-tone="good"]{--graview-spec-tone:var(--graview-good)}
21
+ .graview-spec [data-graview-tone="bad"]{--graview-spec-tone:var(--graview-bad)}
22
+ .graview-spec [data-graview-tone="warn"]{--graview-spec-tone:var(--graview-warn)}
23
+ .graview-spec [data-graview-tone="accent"]{--graview-spec-tone:var(--graview-accent)}
24
+ .graview-spec [data-graview-tone="neutral"]{--graview-spec-tone:var(--graview-ink-muted)}
25
+ .graview-spec-field{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;min-width:0;font-size:.875rem;line-height:1.4}
26
+ .graview-spec-label{color:var(--graview-ink-muted)}
27
+ .graview-spec-value{min-width:0;color:var(--graview-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
28
+ .graview-spec-link { position: relative; z-index: ${e.raised}; color: var(--graview-accent); text-decoration: underline; display: inline-flex; align-items: center; min-height: 24px; }
29
+ .graview-spec-progress{display:grid;gap:4px;font-size:.8125rem}
30
+ .graview-spec-progress>.graview-spec-label,.graview-spec-progress>.graview-spec-value{white-space:nowrap}
31
+ .graview-spec-track{display:block;height:6px;border-radius:999px;background:var(--graview-edge);overflow:hidden}
32
+ .graview-spec-fill{display:block;height:100%;background:var(--graview-accent)}
33
+ .graview-spec-group{display:flex;flex-direction:column;gap:6px;min-width:0}
34
+
35
+ .graview-spec-group[data-direction="row"]{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px 16px}
36
+ .graview-spec-group[data-direction="row"]>*{flex:1 1 12rem;min-width:0}
37
+ .graview-spec-group[data-direction="row"]>.graview-spec-number{flex-basis:7rem}
38
+ .graview-spec-group[data-direction="row"]>:is(.graview-spec-badge,.graview-spec-badges,.graview-spec-figure,.graview-spec-link){flex:0 1 auto}
39
+ .graview-spec-group[data-direction="row"]>:is(.graview-spec-headline,.graview-spec-divider){flex-basis:100%}
40
+ .graview-spec-row .graview-spec-group{flex:1 1 9rem}
41
+
42
+ .graview-spec-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}
43
+ .graview-spec-badges:empty{display:none}
44
+ .graview-spec-badges>.graview-spec-badge{align-self:center}
45
+ .graview-spec-divider{width:100%;margin:2px 0;border:0;border-top:1px solid var(--graview-edge)}
46
+ .graview-spec-figure{display:inline-flex;width:22px;height:22px}
47
+ .graview-spec-row[data-graview-tall]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;border-radius:10px;padding:8px 12px}
48
+ .graview-spec-row[data-graview-tall] .graview-spec-badge{align-self:flex-start}
49
+ .graview-spec-home,.graview-spec-place{gap:14px}
50
+ .graview-spec-headline{margin:0;font-family:var(--graview-font-display,inherit);font-weight:600;letter-spacing:-0.01em;line-height:1.15;overflow-wrap:anywhere;font-size:1.125rem}
51
+ .graview-spec-headline[data-level="1"]{font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.05;text-wrap:balance}
52
+ .graview-spec-headline[data-level="2"]{font-size:clamp(1.25rem,3vw,1.625rem);margin-top:8px}
53
+ .graview-spec-number{display:grid;gap:2px;justify-items:start}
54
+ .graview-spec-number-value{font-family:var(--graview-font-display,inherit);font-weight:600;font-size:1.75rem;line-height:1.05;letter-spacing:-0.015em;font-variant-numeric:tabular-nums}
55
+ .graview-spec-card .graview-spec-number-value,.graview-spec-row .graview-spec-number-value{font-size:1.25rem}
56
+ .graview-spec-number .graview-spec-label{font-size:.8125rem}
57
+
58
+ .graview-spec-number[data-emphasis="large"] .graview-spec-number-value{font-size:clamp(2.25rem,6vw,3.25rem);line-height:1}
59
+ .graview-spec-card .graview-spec-number[data-emphasis="large"] .graview-spec-number-value,.graview-spec-row .graview-spec-number[data-emphasis="large"] .graview-spec-number-value{font-size:1.75rem}
60
+ .graview-spec-listing { display: grid; gap: 10px; min-width: 0; position: relative; z-index: ${e.raised}; }
61
+ .graview-spec-list-group{display:grid;gap:8px;min-width:0}
62
+ .graview-spec-list-heading{margin:6px 0 0;font-family:var(--graview-font-display,inherit);font-size:1rem;font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--graview-edge-bright,var(--graview-edge))}
63
+ .graview-spec-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;min-width:0}
64
+
65
+ .graview-spec-list[data-as="card"]{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:10px;align-items:start}
66
+ .graview-spec-list[data-as="names"]{display:flex;flex-wrap:wrap;gap:4px 12px}
67
+ .graview-spec-item{position:relative;min-width:0}
68
+ .graview-spec-item-name{font-size:.875rem;font-weight:600}
69
+ .graview-spec-item-link{all:unset;position:absolute;inset:0;z-index:${e.raised};min-height:24px;border-radius:10px;cursor:pointer}
70
+ .graview-spec-item-link:hover{background:color-mix(in srgb,var(--graview-accent) 6%,transparent)}
71
+ .graview-spec-item-link:focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
72
+ .graview-spec-item .graview-spec-listing { z-index: ${e.raised}; }
73
+ .graview-spec-empty,.graview-spec-more{color:var(--graview-ink-muted)}
74
+ .graview-spec-see-all{position:static;font-weight:600}
75
+ .graview-spec-show-more{font:inherit;font-weight:600;color:var(--graview-accent);background:none;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,8px);min-height:32px;padding:4px 12px;cursor:pointer}
76
+ .graview-spec-show-more:focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
77
+
78
+ .graview-spec-card .graview-spec-text,.graview-spec-card .graview-spec-value{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-height:4.35em}
79
+ .graview-spec-row .graview-spec-text,.graview-spec-row .graview-spec-value{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;max-height:1.45em}
80
+ .graview-spec-card .graview-spec-text>*,.graview-spec-row .graview-spec-text>*{margin-block:0}
81
+ .graview-spec-row .graview-spec-value,.graview-spec-row .graview-spec-text{white-space:normal !important}
82
+
83
+ .graview-spec-progress>.graview-spec-value{display:inline;-webkit-line-clamp:none;line-clamp:none;max-height:none;overflow:visible;white-space:nowrap !important}
84
+ `;export{a};
File without changes