@screenbook/ui 1.1.2 → 1.2.0

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.
@@ -1,6 +1,6 @@
1
1
  import { renderers } from './renderers.mjs';
2
2
  import { c as createExports, s as serverEntrypointModule } from './chunks/_@astrojs-ssr-adapter_BCPoO8PO.mjs';
3
- import { manifest } from './manifest_BGl49hHW.mjs';
3
+ import { manifest } from './manifest_Ci-MV1jo.mjs';
4
4
 
5
5
  const serverIslandMap = new Map();;
6
6
 
@@ -95,7 +95,7 @@ function deserializeManifest(serializedManifest) {
95
95
  };
96
96
  }
97
97
 
98
- const manifest = deserializeManifest({"hrefRoot":"file:///home/runner/work/screenbook/screenbook/packages/ui/","cacheDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/node_modules/.astro/","outDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/","srcDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/src/","publicDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/public/","buildClientDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/client/","buildServerDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/server/","adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"page","component":"_server-islands.astro","params":["name"],"segments":[[{"content":"_server-islands","dynamic":false,"spread":false}],[{"content":"name","dynamic":true,"spread":false}]],"pattern":"^\\/_server-islands\\/([^/]+?)\\/?$","prerender":false,"isIndex":false,"fallbackRoutes":[],"route":"/_server-islands/[name]","origin":"internal","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"endpoint","isIndex":false,"route":"/_image","pattern":"^\\/_image\\/?$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/endpoint/node.js","pathname":"/_image","prerender":false,"fallbackRoutes":[],"origin":"internal","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/save-mock","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/save-mock\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"save-mock","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/save-mock.ts","pathname":"/api/save-mock","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/coverage.Cb0pX2ic.css"}],"routeData":{"route":"/coverage","isIndex":false,"type":"page","pattern":"^\\/coverage\\/?$","segments":[[{"content":"coverage","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/coverage.astro","pathname":"/coverage","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"inline","content":".editor-container[data-astro-cid-nmyy7qaa]{position:fixed;inset:60px 0 0;background:#141822}\n"},{"type":"external","src":"/_astro/MockFormEditor.OiYzJAtR.css"}],"routeData":{"route":"/editor","isIndex":false,"type":"page","pattern":"^\\/editor\\/?$","segments":[[{"content":"editor","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/editor.astro","pathname":"/editor","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"inline","content":".graph-controls[data-astro-cid-oy34yelw]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.view-toggle[data-astro-cid-oy34yelw]{display:flex;gap:8px;background:var(--color-surface);padding:4px;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.toggle-btn[data-astro-cid-oy34yelw]{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.toggle-btn[data-astro-cid-oy34yelw]:hover{color:var(--color-text)}.toggle-btn[data-astro-cid-oy34yelw].active{background:var(--color-accent);color:var(--color-bg)}.toggle-btn[data-astro-cid-oy34yelw] svg[data-astro-cid-oy34yelw]{width:16px;height:16px}.graph-stats[data-astro-cid-oy34yelw]{display:flex;gap:16px}.stat[data-astro-cid-oy34yelw]{font-size:var(--text-sm);color:var(--color-text-muted)}.hidden[data-astro-cid-oy34yelw]{display:none!important}.legend-api[data-astro-cid-oy34yelw]{background:#14b8a6!important;border-color:#5eead4!important}.legend-mock[data-astro-cid-oy34yelw]{border-color:#14b8a6!important;border-width:2px!important}.stat-mock[data-astro-cid-oy34yelw]{color:#14b8a6}\n"}],"routeData":{"route":"/graph","isIndex":false,"type":"page","pattern":"^\\/graph\\/?$","segments":[[{"content":"graph","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/graph.astro","pathname":"/graph","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/impact.Cvhl64u1.css"}],"routeData":{"route":"/impact","isIndex":false,"type":"page","pattern":"^\\/impact\\/?$","segments":[[{"content":"impact","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/impact.astro","pathname":"/impact","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/_id_.BqQf-JH6.css"}],"routeData":{"route":"/screen/[id]","isIndex":false,"type":"page","pattern":"^\\/screen\\/([^/]+?)\\/?$","segments":[[{"content":"screen","dynamic":false,"spread":false}],[{"content":"id","dynamic":true,"spread":false}]],"params":["id"],"component":"src/pages/screen/[id].astro","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"}],"routeData":{"route":"/","isIndex":true,"type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}}],"base":"/","trailingSlash":"ignore","compressHTML":true,"componentMetadata":[["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/coverage.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/editor.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/screen/[id].astro",{"propagation":"none","containsHead":true}]],"renderers":[],"clientDirectives":[["idle","(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value==\"object\"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};\"requestIdleCallback\"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var n=(a,t)=>{let i=async()=>{await(await a())()};if(t.value){let e=matchMedia(t.value);e.matches?i():e.addEventListener(\"change\",i,{once:!0})}};(self.Astro||(self.Astro={})).media=n;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value==\"object\"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000noop-middleware":"_noop-middleware.mjs","\u0000virtual:astro:actions/noop-entrypoint":"noop-entrypoint.mjs","\u0000@astro-page:src/pages/api/save-mock@_@ts":"pages/api/save-mock.astro.mjs","\u0000@astro-page:src/pages/coverage@_@astro":"pages/coverage.astro.mjs","\u0000@astro-page:src/pages/editor@_@astro":"pages/editor.astro.mjs","\u0000@astro-page:src/pages/graph@_@astro":"pages/graph.astro.mjs","\u0000@astro-page:src/pages/impact@_@astro":"pages/impact.astro.mjs","\u0000@astro-page:src/pages/screen/[id]@_@astro":"pages/screen/_id_.astro.mjs","\u0000@astro-page:src/pages/index@_@astro":"pages/index.astro.mjs","\u0000@astrojs-ssr-virtual-entry":"entry.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000@astro-page:../../node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/endpoint/node@_@js":"pages/_image.astro.mjs","\u0000@astrojs-ssr-adapter":"_@astrojs-ssr-adapter.mjs","\u0000@astrojs-manifest":"manifest_BGl49hHW.mjs","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/unstorage@1.17.3/node_modules/unstorage/drivers/fs-lite.mjs":"chunks/fs-lite_COtHaKzy.mjs","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/services/sharp.js":"chunks/sharp_ADxfwDJE.mjs","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro?astro&type=script&index=0&lang.ts":"_astro/graph.astro_astro_type_script_index_0_lang.BxaPom9e.js","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro?astro&type=script&index=0&lang.ts":"_astro/impact.astro_astro_type_script_index_0_lang.VjeLQGe6.js","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts":"_astro/index.astro_astro_type_script_index_0_lang.D9WgmwrZ.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.mjs":"_astro/c4Diagram-YG6GDRKO.BqntXNsZ.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-NV44I4VS.mjs":"_astro/flowDiagram-NV44I4VS.CV4Oenkb.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-Q2GNP2WA.mjs":"_astro/erDiagram-Q2GNP2WA.B4hpr69H.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-NY62KEGX.mjs":"_astro/gitGraphDiagram-NY62KEGX.BeY3JZYI.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-WHAUD3N6.mjs":"_astro/infoDiagram-WHAUD3N6.D2_J_fR6.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AYHSOK5B.mjs":"_astro/quadrantDiagram-AYHSOK5B.Cma08fPv.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-UZGBJVZJ.mjs":"_astro/requirementDiagram-UZGBJVZJ.BlhVOrX0.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.mjs":"_astro/sequenceDiagram-WL72ISMW.3cZYkaSP.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-2ON5EDUG.mjs":"_astro/classDiagram-2ON5EDUG.DMv55r4w.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-WZHVMYZB.mjs":"_astro/classDiagram-v2-WZHVMYZB.DMv55r4w.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.mjs":"_astro/stateDiagram-FKZM4ZOC.DdlRd9N7.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.mjs":"_astro/stateDiagram-v2-4FDKWEC3.DCPDjwi7.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-XKPGCS4Q.mjs":"_astro/journeyDiagram-XKPGCS4Q.7c4ngVDw.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.mjs":"_astro/timeline-definition-IT6M3QCI.BshW8mMW.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-3W4ZIXB7.mjs":"_astro/kanban-definition-3W4ZIXB7.D_eWex6x.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-S2PKOQOG.mjs":"_astro/diagram-S2PKOQOG.T8h5wODN.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.mjs":"_astro/diagram-QEK2KX5R.BoqLvsuS.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-VD42YOAC.mjs":"_astro/blockDiagram-VD42YOAC.6LO7yu7m.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/katex@0.16.27/node_modules/katex/dist/katex.mjs":"_astro/katex.XbL3y5x-.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs":"_astro/dagre-6UL2VRFP.tCLd0f1c.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-PRI3JC2R.mjs":"_astro/xychartDiagram-PRI3JC2R.Mg5_s08f.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs":"_astro/pieDiagram-ADFJNKIX.D18DPyo6.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.mjs":"_astro/mindmap-definition-VGOIOE7T.CjNYt18e.js","@/components/MockFormEditor":"_astro/MockFormEditor.0L29BkPy.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-VXUJARFQ.mjs":"_astro/architectureDiagram-VXUJARFQ.BF0V2v9-.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.mjs":"_astro/cose-bilkent-S5V4N54A.DlRxGhCG.js","@astrojs/react/client.js":"_astro/client.9unXo8s5.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-TZEHDZUN.mjs":"_astro/sankeyDiagram-TZEHDZUN.HRsqw4ej.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.mjs":"_astro/diagram-PSM6KHXK.CJA_rnN3.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-JELNMOA3.mjs":"_astro/ganttDiagram-JELNMOA3.DdpXJeX3.js","astro:scripts/before-hydration.js":""},"inlinedScripts":[["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts","const l=document.getElementById(\"search\"),g=document.getElementById(\"screen-list\"),c=document.querySelectorAll(\".tag\");let s=null;function n(){const t=l?.value.toLowerCase()??\"\";g?.querySelectorAll(\".card-link\")?.forEach(e=>{const i=e.dataset.title??\"\",r=e.dataset.id??\"\",o=e.dataset.tags??\"\",d=i.includes(t)||r.includes(t),u=!s||o.includes(s);e.style.display=d&&u?\"block\":\"none\"})}l?.addEventListener(\"input\",n);c.forEach(t=>{t.addEventListener(\"click\",()=>{const a=t.dataset.tag;s===a?(s=null,c.forEach(e=>{e.classList.remove(\"active\"),e.setAttribute(\"aria-pressed\",\"false\")})):(c.forEach(e=>{e.classList.remove(\"active\"),e.setAttribute(\"aria-pressed\",\"false\")}),s=a??null,t.classList.add(\"active\"),t.setAttribute(\"aria-pressed\",\"true\")),n()})});"]],"assets":["/_astro/_id_.BqQf-JH6.css","/_astro/coverage.Cb0pX2ic.css","/_astro/coverage.BzPU-EGZ.css","/_astro/impact.Cvhl64u1.css","/logo.svg","/_astro/MockFormEditor.0L29BkPy.js","/_astro/MockFormEditor.OiYzJAtR.css","/_astro/_baseUniq.D9ouiLRJ.js","/_astro/arc.CLU0JlVT.js","/_astro/architectureDiagram-VXUJARFQ.BF0V2v9-.js","/_astro/blockDiagram-VD42YOAC.6LO7yu7m.js","/_astro/c4Diagram-YG6GDRKO.BqntXNsZ.js","/_astro/channel._8es88oH.js","/_astro/chunk-4BX2VUAB.b97OIY94.js","/_astro/chunk-55IACEB6.Cf9hglsl.js","/_astro/chunk-B4BG7PRW.vDfM6vb1.js","/_astro/chunk-DI55MBZ5.8pHdnkw9.js","/_astro/chunk-FMBD7UC4.l_Ue7ZYJ.js","/_astro/chunk-QN33PNHL.CyBZ7SCx.js","/_astro/chunk-QZHKN3VN.BC5tI2Vw.js","/_astro/chunk-TZMSLE5B.DxkkbOL4.js","/_astro/classDiagram-2ON5EDUG.DMv55r4w.js","/_astro/classDiagram-v2-WZHVMYZB.DMv55r4w.js","/_astro/client.9unXo8s5.js","/_astro/clone.COAvtnt5.js","/_astro/cose-bilkent-S5V4N54A.DlRxGhCG.js","/_astro/cytoscape.esm.DtBltrT8.js","/_astro/dagre-6UL2VRFP.tCLd0f1c.js","/_astro/defaultLocale.C4B-KCzX.js","/_astro/diagram-PSM6KHXK.CJA_rnN3.js","/_astro/diagram-QEK2KX5R.BoqLvsuS.js","/_astro/diagram-S2PKOQOG.T8h5wODN.js","/_astro/erDiagram-Q2GNP2WA.B4hpr69H.js","/_astro/flowDiagram-NV44I4VS.CV4Oenkb.js","/_astro/ganttDiagram-JELNMOA3.DdpXJeX3.js","/_astro/gitGraphDiagram-NY62KEGX.BeY3JZYI.js","/_astro/graph.CO6LxWoK.js","/_astro/graph.astro_astro_type_script_index_0_lang.BxaPom9e.js","/_astro/impact.astro_astro_type_script_index_0_lang.VjeLQGe6.js","/_astro/index.WFquGv8Z.js","/_astro/infoDiagram-WHAUD3N6.D2_J_fR6.js","/_astro/init.Gi6I4Gst.js","/_astro/journeyDiagram-XKPGCS4Q.7c4ngVDw.js","/_astro/kanban-definition-3W4ZIXB7.D_eWex6x.js","/_astro/katex.XbL3y5x-.js","/_astro/layout.Cn9EjNLq.js","/_astro/linear.BlE_mLsy.js","/_astro/mermaid.core.CgCLOZ6t.js","/_astro/min.OtQS-qlD.js","/_astro/mindmap-definition-VGOIOE7T.CjNYt18e.js","/_astro/ordinal.BYWQX77i.js","/_astro/pieDiagram-ADFJNKIX.D18DPyo6.js","/_astro/quadrantDiagram-AYHSOK5B.Cma08fPv.js","/_astro/requirementDiagram-UZGBJVZJ.BlhVOrX0.js","/_astro/sankeyDiagram-TZEHDZUN.HRsqw4ej.js","/_astro/sequenceDiagram-WL72ISMW.3cZYkaSP.js","/_astro/stateDiagram-FKZM4ZOC.DdlRd9N7.js","/_astro/stateDiagram-v2-4FDKWEC3.DCPDjwi7.js","/_astro/timeline-definition-IT6M3QCI.BshW8mMW.js","/_astro/treemap-KMMF4GRG.BxXN_YfK.js","/_astro/xychartDiagram-PRI3JC2R.Mg5_s08f.js"],"buildFormat":"directory","checkOrigin":true,"allowedDomains":[],"serverIslandNameMap":[],"key":"EoprQf2rQrRBIAw8HesJb6iO5xu3hwlfC20OFHiaHSk=","sessionConfig":{"driver":"fs-lite","options":{"base":"/home/runner/work/screenbook/screenbook/packages/ui/node_modules/.astro/sessions"}}});
98
+ const manifest = deserializeManifest({"hrefRoot":"file:///home/runner/work/screenbook/screenbook/packages/ui/","cacheDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/node_modules/.astro/","outDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/","srcDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/src/","publicDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/public/","buildClientDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/client/","buildServerDir":"file:///home/runner/work/screenbook/screenbook/packages/ui/dist/server/","adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"page","component":"_server-islands.astro","params":["name"],"segments":[[{"content":"_server-islands","dynamic":false,"spread":false}],[{"content":"name","dynamic":true,"spread":false}]],"pattern":"^\\/_server-islands\\/([^/]+?)\\/?$","prerender":false,"isIndex":false,"fallbackRoutes":[],"route":"/_server-islands/[name]","origin":"internal","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"endpoint","isIndex":false,"route":"/_image","pattern":"^\\/_image\\/?$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/endpoint/node.js","pathname":"/_image","prerender":false,"fallbackRoutes":[],"origin":"internal","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/api/save-mock","isIndex":false,"type":"endpoint","pattern":"^\\/api\\/save-mock\\/?$","segments":[[{"content":"api","dynamic":false,"spread":false}],[{"content":"save-mock","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/api/save-mock.ts","pathname":"/api/save-mock","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/coverage.Cb0pX2ic.css"}],"routeData":{"route":"/coverage","isIndex":false,"type":"page","pattern":"^\\/coverage\\/?$","segments":[[{"content":"coverage","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/coverage.astro","pathname":"/coverage","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"inline","content":".editor-container[data-astro-cid-nmyy7qaa]{position:fixed;inset:60px 0 0;background:#141822}\n"},{"type":"external","src":"/_astro/MockFormEditor.OiYzJAtR.css"}],"routeData":{"route":"/editor","isIndex":false,"type":"page","pattern":"^\\/editor\\/?$","segments":[[{"content":"editor","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/editor.astro","pathname":"/editor","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"inline","content":".graph-controls[data-astro-cid-oy34yelw]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.view-toggle[data-astro-cid-oy34yelw]{display:flex;gap:8px;background:var(--color-surface);padding:4px;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.toggle-btn[data-astro-cid-oy34yelw]{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.toggle-btn[data-astro-cid-oy34yelw]:hover{color:var(--color-text)}.toggle-btn[data-astro-cid-oy34yelw].active{background:var(--color-accent);color:var(--color-bg)}.toggle-btn[data-astro-cid-oy34yelw] svg[data-astro-cid-oy34yelw]{width:16px;height:16px}.graph-stats[data-astro-cid-oy34yelw]{display:flex;gap:16px}.stat[data-astro-cid-oy34yelw]{font-size:var(--text-sm);color:var(--color-text-muted)}.hidden[data-astro-cid-oy34yelw]{display:none!important}.legend-api[data-astro-cid-oy34yelw]{background:#14b8a6!important;border-color:#5eead4!important}.legend-mock[data-astro-cid-oy34yelw]{border-color:#14b8a6!important;border-width:2px!important}.stat-mock[data-astro-cid-oy34yelw]{color:#14b8a6}\n"}],"routeData":{"route":"/graph","isIndex":false,"type":"page","pattern":"^\\/graph\\/?$","segments":[[{"content":"graph","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/graph.astro","pathname":"/graph","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/impact.Cvhl64u1.css"}],"routeData":{"route":"/impact","isIndex":false,"type":"page","pattern":"^\\/impact\\/?$","segments":[[{"content":"impact","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/impact.astro","pathname":"/impact","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"},{"type":"external","src":"/_astro/_id_.BqQf-JH6.css"}],"routeData":{"route":"/screen/[id]","isIndex":false,"type":"page","pattern":"^\\/screen\\/([^/]+?)\\/?$","segments":[[{"content":"screen","dynamic":false,"spread":false}],[{"content":"id","dynamic":true,"spread":false}]],"params":["id"],"component":"src/pages/screen/[id].astro","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[{"type":"external","src":"/_astro/coverage.BzPU-EGZ.css"}],"routeData":{"route":"/","isIndex":true,"type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"fallbackRoutes":[],"distURL":[],"origin":"project","_meta":{"trailingSlash":"ignore"}}}],"base":"/","trailingSlash":"ignore","compressHTML":true,"componentMetadata":[["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/coverage.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/editor.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro",{"propagation":"none","containsHead":true}],["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/screen/[id].astro",{"propagation":"none","containsHead":true}]],"renderers":[],"clientDirectives":[["idle","(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value==\"object\"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};\"requestIdleCallback\"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var n=(a,t)=>{let i=async()=>{await(await a())()};if(t.value){let e=matchMedia(t.value);e.matches?i():e.addEventListener(\"change\",i,{once:!0})}};(self.Astro||(self.Astro={})).media=n;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value==\"object\"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000noop-middleware":"_noop-middleware.mjs","\u0000virtual:astro:actions/noop-entrypoint":"noop-entrypoint.mjs","\u0000@astro-page:src/pages/api/save-mock@_@ts":"pages/api/save-mock.astro.mjs","\u0000@astro-page:src/pages/coverage@_@astro":"pages/coverage.astro.mjs","\u0000@astro-page:src/pages/editor@_@astro":"pages/editor.astro.mjs","\u0000@astro-page:src/pages/graph@_@astro":"pages/graph.astro.mjs","\u0000@astro-page:src/pages/impact@_@astro":"pages/impact.astro.mjs","\u0000@astro-page:src/pages/screen/[id]@_@astro":"pages/screen/_id_.astro.mjs","\u0000@astro-page:src/pages/index@_@astro":"pages/index.astro.mjs","\u0000@astrojs-ssr-virtual-entry":"entry.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000@astro-page:../../node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/endpoint/node@_@js":"pages/_image.astro.mjs","\u0000@astrojs-ssr-adapter":"_@astrojs-ssr-adapter.mjs","\u0000@astrojs-manifest":"manifest_Ci-MV1jo.mjs","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/unstorage@1.17.3/node_modules/unstorage/drivers/fs-lite.mjs":"chunks/fs-lite_COtHaKzy.mjs","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/astro@5.16.6_@types+node@25.0.3_jiti@2.6.1_lightningcss@1.30.2_rollup@4.54.0_tsx@4.21.0_typescript@5.9.3_yaml@2.8.2/node_modules/astro/dist/assets/services/sharp.js":"chunks/sharp_ADxfwDJE.mjs","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro?astro&type=script&index=0&lang.ts":"_astro/graph.astro_astro_type_script_index_0_lang.BxaPom9e.js","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro?astro&type=script&index=0&lang.ts":"_astro/impact.astro_astro_type_script_index_0_lang.VjeLQGe6.js","/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts":"_astro/index.astro_astro_type_script_index_0_lang.D9WgmwrZ.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.mjs":"_astro/c4Diagram-YG6GDRKO.BqntXNsZ.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-NV44I4VS.mjs":"_astro/flowDiagram-NV44I4VS.CV4Oenkb.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-Q2GNP2WA.mjs":"_astro/erDiagram-Q2GNP2WA.B4hpr69H.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-NY62KEGX.mjs":"_astro/gitGraphDiagram-NY62KEGX.BeY3JZYI.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-WHAUD3N6.mjs":"_astro/infoDiagram-WHAUD3N6.D2_J_fR6.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AYHSOK5B.mjs":"_astro/quadrantDiagram-AYHSOK5B.Cma08fPv.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-UZGBJVZJ.mjs":"_astro/requirementDiagram-UZGBJVZJ.BlhVOrX0.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.mjs":"_astro/sequenceDiagram-WL72ISMW.3cZYkaSP.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-2ON5EDUG.mjs":"_astro/classDiagram-2ON5EDUG.DMv55r4w.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-WZHVMYZB.mjs":"_astro/classDiagram-v2-WZHVMYZB.DMv55r4w.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.mjs":"_astro/stateDiagram-FKZM4ZOC.DdlRd9N7.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.mjs":"_astro/stateDiagram-v2-4FDKWEC3.DCPDjwi7.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-XKPGCS4Q.mjs":"_astro/journeyDiagram-XKPGCS4Q.7c4ngVDw.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.mjs":"_astro/timeline-definition-IT6M3QCI.BshW8mMW.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-3W4ZIXB7.mjs":"_astro/kanban-definition-3W4ZIXB7.D_eWex6x.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-S2PKOQOG.mjs":"_astro/diagram-S2PKOQOG.T8h5wODN.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.mjs":"_astro/diagram-QEK2KX5R.BoqLvsuS.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-VD42YOAC.mjs":"_astro/blockDiagram-VD42YOAC.6LO7yu7m.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/katex@0.16.27/node_modules/katex/dist/katex.mjs":"_astro/katex.XbL3y5x-.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs":"_astro/dagre-6UL2VRFP.tCLd0f1c.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-PRI3JC2R.mjs":"_astro/xychartDiagram-PRI3JC2R.Mg5_s08f.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs":"_astro/pieDiagram-ADFJNKIX.D18DPyo6.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.mjs":"_astro/mindmap-definition-VGOIOE7T.CjNYt18e.js","@/components/MockFormEditor":"_astro/MockFormEditor.0L29BkPy.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-VXUJARFQ.mjs":"_astro/architectureDiagram-VXUJARFQ.BF0V2v9-.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.mjs":"_astro/cose-bilkent-S5V4N54A.DlRxGhCG.js","@astrojs/react/client.js":"_astro/client.9unXo8s5.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-TZEHDZUN.mjs":"_astro/sankeyDiagram-TZEHDZUN.HRsqw4ej.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.mjs":"_astro/diagram-PSM6KHXK.CJA_rnN3.js","/home/runner/work/screenbook/screenbook/node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-JELNMOA3.mjs":"_astro/ganttDiagram-JELNMOA3.DdpXJeX3.js","astro:scripts/before-hydration.js":""},"inlinedScripts":[["/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts","const l=document.getElementById(\"search\"),g=document.getElementById(\"screen-list\"),c=document.querySelectorAll(\".tag\");let s=null;function n(){const t=l?.value.toLowerCase()??\"\";g?.querySelectorAll(\".card-link\")?.forEach(e=>{const i=e.dataset.title??\"\",r=e.dataset.id??\"\",o=e.dataset.tags??\"\",d=i.includes(t)||r.includes(t),u=!s||o.includes(s);e.style.display=d&&u?\"block\":\"none\"})}l?.addEventListener(\"input\",n);c.forEach(t=>{t.addEventListener(\"click\",()=>{const a=t.dataset.tag;s===a?(s=null,c.forEach(e=>{e.classList.remove(\"active\"),e.setAttribute(\"aria-pressed\",\"false\")})):(c.forEach(e=>{e.classList.remove(\"active\"),e.setAttribute(\"aria-pressed\",\"false\")}),s=a??null,t.classList.add(\"active\"),t.setAttribute(\"aria-pressed\",\"true\")),n()})});"]],"assets":["/_astro/_id_.BqQf-JH6.css","/_astro/coverage.Cb0pX2ic.css","/_astro/coverage.BzPU-EGZ.css","/_astro/impact.Cvhl64u1.css","/logo.svg","/_astro/MockFormEditor.0L29BkPy.js","/_astro/MockFormEditor.OiYzJAtR.css","/_astro/_baseUniq.D9ouiLRJ.js","/_astro/arc.CLU0JlVT.js","/_astro/architectureDiagram-VXUJARFQ.BF0V2v9-.js","/_astro/blockDiagram-VD42YOAC.6LO7yu7m.js","/_astro/c4Diagram-YG6GDRKO.BqntXNsZ.js","/_astro/channel._8es88oH.js","/_astro/chunk-4BX2VUAB.b97OIY94.js","/_astro/chunk-55IACEB6.Cf9hglsl.js","/_astro/chunk-B4BG7PRW.vDfM6vb1.js","/_astro/chunk-DI55MBZ5.8pHdnkw9.js","/_astro/chunk-FMBD7UC4.l_Ue7ZYJ.js","/_astro/chunk-QN33PNHL.CyBZ7SCx.js","/_astro/chunk-QZHKN3VN.BC5tI2Vw.js","/_astro/chunk-TZMSLE5B.DxkkbOL4.js","/_astro/classDiagram-2ON5EDUG.DMv55r4w.js","/_astro/classDiagram-v2-WZHVMYZB.DMv55r4w.js","/_astro/client.9unXo8s5.js","/_astro/clone.COAvtnt5.js","/_astro/cose-bilkent-S5V4N54A.DlRxGhCG.js","/_astro/cytoscape.esm.DtBltrT8.js","/_astro/dagre-6UL2VRFP.tCLd0f1c.js","/_astro/defaultLocale.C4B-KCzX.js","/_astro/diagram-PSM6KHXK.CJA_rnN3.js","/_astro/diagram-QEK2KX5R.BoqLvsuS.js","/_astro/diagram-S2PKOQOG.T8h5wODN.js","/_astro/erDiagram-Q2GNP2WA.B4hpr69H.js","/_astro/flowDiagram-NV44I4VS.CV4Oenkb.js","/_astro/ganttDiagram-JELNMOA3.DdpXJeX3.js","/_astro/gitGraphDiagram-NY62KEGX.BeY3JZYI.js","/_astro/graph.CO6LxWoK.js","/_astro/graph.astro_astro_type_script_index_0_lang.BxaPom9e.js","/_astro/impact.astro_astro_type_script_index_0_lang.VjeLQGe6.js","/_astro/index.WFquGv8Z.js","/_astro/infoDiagram-WHAUD3N6.D2_J_fR6.js","/_astro/init.Gi6I4Gst.js","/_astro/journeyDiagram-XKPGCS4Q.7c4ngVDw.js","/_astro/kanban-definition-3W4ZIXB7.D_eWex6x.js","/_astro/katex.XbL3y5x-.js","/_astro/layout.Cn9EjNLq.js","/_astro/linear.BlE_mLsy.js","/_astro/mermaid.core.CgCLOZ6t.js","/_astro/min.OtQS-qlD.js","/_astro/mindmap-definition-VGOIOE7T.CjNYt18e.js","/_astro/ordinal.BYWQX77i.js","/_astro/pieDiagram-ADFJNKIX.D18DPyo6.js","/_astro/quadrantDiagram-AYHSOK5B.Cma08fPv.js","/_astro/requirementDiagram-UZGBJVZJ.BlhVOrX0.js","/_astro/sankeyDiagram-TZEHDZUN.HRsqw4ej.js","/_astro/sequenceDiagram-WL72ISMW.3cZYkaSP.js","/_astro/stateDiagram-FKZM4ZOC.DdlRd9N7.js","/_astro/stateDiagram-v2-4FDKWEC3.DCPDjwi7.js","/_astro/timeline-definition-IT6M3QCI.BshW8mMW.js","/_astro/treemap-KMMF4GRG.BxXN_YfK.js","/_astro/xychartDiagram-PRI3JC2R.Mg5_s08f.js"],"buildFormat":"directory","checkOrigin":true,"allowedDomains":[],"serverIslandNameMap":[],"key":"H75ixNLf0gsnYKVlyk+evXOd0A62SiK6zVOLUifBAe8=","sessionConfig":{"driver":"fs-lite","options":{"base":"/home/runner/work/screenbook/screenbook/packages/ui/node_modules/.astro/sessions"}}});
99
99
  if (manifest.sessionConfig) manifest.sessionConfig.driverModule = () => import('./chunks/fs-lite_COtHaKzy.mjs');
100
100
 
101
101
  export { manifest };
@@ -40,7 +40,7 @@ Run the build command to generate coverage data.
40
40
  </code> </div>` : renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "data-astro-cid-vq7rje7m": true }, { "default": ($$result3) => renderTemplate`<div class="coverage-hero" data-astro-cid-vq7rje7m> <div${addAttribute(`coverage-percentage ${getPercentageBg(coverage.percentage)}`, "class")} data-astro-cid-vq7rje7m> <span${addAttribute(`percentage-value ${getPercentageColor(coverage.percentage)}`, "class")} data-astro-cid-vq7rje7m> ${coverage.percentage}%
41
41
  </span> <span class="percentage-label" data-astro-cid-vq7rje7m>Coverage</span> </div> <div class="coverage-stats" data-astro-cid-vq7rje7m> <div class="stat-card" data-astro-cid-vq7rje7m> <div class="stat-value" data-astro-cid-vq7rje7m>${coverage.covered}</div> <div class="stat-label" data-astro-cid-vq7rje7m>Documented</div> </div> <div class="stat-card" data-astro-cid-vq7rje7m> <div class="stat-value" data-astro-cid-vq7rje7m>${coverage.total}</div> <div class="stat-label" data-astro-cid-vq7rje7m>Total Routes</div> </div> <div class="stat-card" data-astro-cid-vq7rje7m> <div class="stat-value" data-astro-cid-vq7rje7m>${coverage.missing.length}</div> <div class="stat-label" data-astro-cid-vq7rje7m>Missing</div> </div> </div> </div> <div class="coverage-grid" data-astro-cid-vq7rje7m> <div class="coverage-section" data-astro-cid-vq7rje7m> <h2 class="section-title" data-astro-cid-vq7rje7m> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-vq7rje7m> <path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z" data-astro-cid-vq7rje7m></path> </svg>
42
42
  By Owner
43
- </h2> <div class="owner-list" data-astro-cid-vq7rje7m> ${Object.entries(coverage.byOwner).map(([owner, data]) => renderTemplate`<div class="owner-item" data-astro-cid-vq7rje7m> <div class="owner-info" data-astro-cid-vq7rje7m> <span class="owner-name" data-astro-cid-vq7rje7m>${owner}</span> <span class="owner-count" data-astro-cid-vq7rje7m>${data.count} screen${data.count > 1 ? "s" : ""}</span> </div> <div class="owner-bar" data-astro-cid-vq7rje7m> <div class="owner-bar-fill"${addAttribute(`width: ${Math.round(data.count / coverage.covered * 100)}%`, "style")} data-astro-cid-vq7rje7m></div> </div> </div>`)} </div> </div> <div class="coverage-section" data-astro-cid-vq7rje7m> <h2 class="section-title" data-astro-cid-vq7rje7m> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-vq7rje7m> <path stroke-linecap="round" stroke-linejoin="round" d="M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z" data-astro-cid-vq7rje7m></path> <path stroke-linecap="round" stroke-linejoin="round" d="M6 6h.008v.008H6V6z" data-astro-cid-vq7rje7m></path> </svg>
43
+ </h2> <div class="owner-list" data-astro-cid-vq7rje7m> ${Object.entries(coverage.byOwner).map(([owner, data]) => renderTemplate`<div class="owner-item" data-astro-cid-vq7rje7m> <div class="owner-info" data-astro-cid-vq7rje7m> <span class="owner-name" data-astro-cid-vq7rje7m>${owner}</span> <span class="owner-count" data-astro-cid-vq7rje7m> ${data.count} screen${data.count > 1 ? "s" : ""} </span> </div> <div class="owner-bar" data-astro-cid-vq7rje7m> <div class="owner-bar-fill"${addAttribute(`width: ${Math.round(data.count / coverage.covered * 100)}%`, "style")} data-astro-cid-vq7rje7m></div> </div> </div>`)} </div> </div> <div class="coverage-section" data-astro-cid-vq7rje7m> <h2 class="section-title" data-astro-cid-vq7rje7m> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-vq7rje7m> <path stroke-linecap="round" stroke-linejoin="round" d="M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z" data-astro-cid-vq7rje7m></path> <path stroke-linecap="round" stroke-linejoin="round" d="M6 6h.008v.008H6V6z" data-astro-cid-vq7rje7m></path> </svg>
44
44
  By Tag
45
45
  </h2> <div class="tags-grid" data-astro-cid-vq7rje7m> ${Object.entries(coverage.byTag).sort(([, a], [, b]) => b - a).map(([tag, count]) => renderTemplate`<a${addAttribute(`/?tag=${encodeURIComponent(tag)}`, "href")} class="tag-card" data-astro-cid-vq7rje7m> <span class="tag-name" data-astro-cid-vq7rje7m>${tag}</span> <span class="tag-count" data-astro-cid-vq7rje7m>${count}</span> </a>`)} </div> </div> </div> ${coverage.missing.length > 0 && renderTemplate`<div class="coverage-section missing-section" data-astro-cid-vq7rje7m> <h2 class="section-title" data-astro-cid-vq7rje7m> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-vq7rje7m> <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z" data-astro-cid-vq7rje7m></path> </svg>
46
46
  Missing Documentation (${coverage.missing.length})
@@ -85,7 +85,9 @@ const $$Graph = createComponent(async ($$result, $$props, $$slots) => {
85
85
  }
86
86
  lines.push("");
87
87
  lines.push(" %% Styling");
88
- lines.push(` classDef apiNode fill:#14b8a6,stroke:#5eead4,stroke-width:2px,color:#042f2e`);
88
+ lines.push(
89
+ ` classDef apiNode fill:#14b8a6,stroke:#5eead4,stroke-width:2px,color:#042f2e`
90
+ );
89
91
  for (const api of apis) {
90
92
  const id = api.replace(/\./g, "_");
91
93
  lines.push(` class ${id} apiNode`);
@@ -104,7 +106,9 @@ Run the build command to generate screen metadata.
104
106
  Navigation
105
107
  </button> <button class="toggle-btn" data-view="api" aria-pressed="false" data-astro-cid-oy34yelw> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-oy34yelw> <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 14.25h13.5m-13.5 0a3 3 0 01-3-3m3 3a3 3 0 100 6h13.5a3 3 0 100-6m-16.5-3a3 3 0 013-3h13.5a3 3 0 013 3m-19.5 0a4.5 4.5 0 01.9-2.7L5.737 5.1a3.375 3.375 0 012.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 01.9 2.7m0 0a3 3 0 01-3 3m0 3h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008zm-3 6h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008z" data-astro-cid-oy34yelw></path> </svg>
106
108
  API Dependencies
107
- </button> </div> <div class="graph-stats" data-astro-cid-oy34yelw> <span class="stat" data-astro-cid-oy34yelw>${screens.length} screens</span> <span class="stat" data-astro-cid-oy34yelw>${apiCount} APIs</span> ${mockCount > 0 && renderTemplate`<span class="stat stat-mock" data-astro-cid-oy34yelw>📱 ${mockCount} with mock</span>`} </div> </div> <div class="graph-container" id="navigation-graph" role="img"${addAttribute(`Navigation graph showing ${screens.length} screens and their navigation relationships`, "aria-label")} data-astro-cid-oy34yelw> <pre class="mermaid" data-graph="navigation" aria-hidden="true" data-astro-cid-oy34yelw>${navigationGraph}</pre> </div> <div class="graph-container hidden" id="api-graph" role="img"${addAttribute(`API dependency graph showing ${screens.length} screens and ${apiCount} APIs`, "aria-label")} data-astro-cid-oy34yelw> <pre class="mermaid" data-graph="api" aria-hidden="true" data-astro-cid-oy34yelw>${apiGraph}</pre> </div> <div class="graph-legend" id="navigation-legend" data-astro-cid-oy34yelw> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node legend-mock" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen with mock 📱</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-edge" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Navigation flow</span> </div> </div> <div class="graph-legend hidden" id="api-legend" data-astro-cid-oy34yelw> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node legend-api" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>API</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-edge" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Depends on</span> </div> </div> ` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro?astro&type=script&index=0&lang.ts")} ` })} `;
109
+ </button> </div> <div class="graph-stats" data-astro-cid-oy34yelw> <span class="stat" data-astro-cid-oy34yelw>${screens.length} screens</span> <span class="stat" data-astro-cid-oy34yelw>${apiCount} APIs</span> ${mockCount > 0 && renderTemplate`<span class="stat stat-mock" data-astro-cid-oy34yelw>📱 ${mockCount} with mock</span>`} </div> </div> <div class="graph-container" id="navigation-graph" role="img"${addAttribute(`Navigation graph showing ${screens.length} screens and their navigation relationships`, "aria-label")} data-astro-cid-oy34yelw> <pre class="mermaid" data-graph="navigation" aria-hidden="true" data-astro-cid-oy34yelw> ${navigationGraph}
110
+ </pre> </div> <div class="graph-container hidden" id="api-graph" role="img"${addAttribute(`API dependency graph showing ${screens.length} screens and ${apiCount} APIs`, "aria-label")} data-astro-cid-oy34yelw> <pre class="mermaid" data-graph="api" aria-hidden="true" data-astro-cid-oy34yelw> ${apiGraph}
111
+ </pre> </div> <div class="graph-legend" id="navigation-legend" data-astro-cid-oy34yelw> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node legend-mock" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen with mock 📱</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-edge" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Navigation flow</span> </div> </div> <div class="graph-legend hidden" id="api-legend" data-astro-cid-oy34yelw> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node legend-api" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>API</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-node" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Screen</span> </div> <div class="graph-legend-item" data-astro-cid-oy34yelw> <div class="legend-edge" data-astro-cid-oy34yelw></div> <span data-astro-cid-oy34yelw>Depends on</span> </div> </div> ` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro?astro&type=script&index=0&lang.ts")} ` })} `;
108
112
  }, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro", void 0);
109
113
 
110
114
  const $$file = "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/graph.astro";
@@ -26,15 +26,21 @@ Analyze which screens are affected when an API changes.
26
26
  </p> </div> ${screens.length === 0 ? renderTemplate`<div class="empty-state" data-astro-cid-kf663cba> <svg class="empty-state-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" data-astro-cid-kf663cba></path> </svg> <h2 class="empty-state-title" data-astro-cid-kf663cba>No screen data</h2> <p class="empty-state-description" data-astro-cid-kf663cba>
27
27
  Run the build command to generate screen metadata.
28
28
  </p> <code class="empty-state-code" data-astro-cid-kf663cba> <span class="prompt" data-astro-cid-kf663cba>$</span> screenbook build
29
- </code> </div>` : renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "data-astro-cid-kf663cba": true }, { "default": async ($$result3) => renderTemplate` <div class="impact-search" data-astro-cid-kf663cba> <form method="get" class="search-form" role="search" data-astro-cid-kf663cba> <div class="search-wrapper impact-search-wrapper" data-astro-cid-kf663cba> <svg class="search-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" data-astro-cid-kf663cba></path> </svg> <label for="api-input" class="sr-only" data-astro-cid-kf663cba>API name to analyze</label> <input type="text" id="api-input" name="api" class="search-input" placeholder="Enter API name (e.g., InvoiceAPI.getDetail)"${addAttribute(apiQuery, "value")} list="api-suggestions" data-astro-cid-kf663cba> <datalist id="api-suggestions" data-astro-cid-kf663cba> ${allApis.map((api) => renderTemplate`<option${addAttribute(api, "value")} data-astro-cid-kf663cba></option>`)} </datalist> <button type="submit" class="search-button" data-astro-cid-kf663cba>
29
+ </code> </div>` : renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "data-astro-cid-kf663cba": true }, { "default": async ($$result3) => renderTemplate` <div class="impact-search" data-astro-cid-kf663cba> <form method="get" class="search-form" role="search" data-astro-cid-kf663cba> <div class="search-wrapper impact-search-wrapper" data-astro-cid-kf663cba> <svg class="search-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" data-astro-cid-kf663cba></path> </svg> <label for="api-input" class="sr-only" data-astro-cid-kf663cba>
30
+ API name to analyze
31
+ </label> <input type="text" id="api-input" name="api" class="search-input" placeholder="Enter API name (e.g., InvoiceAPI.getDetail)"${addAttribute(apiQuery, "value")} list="api-suggestions" data-astro-cid-kf663cba> <datalist id="api-suggestions" data-astro-cid-kf663cba> ${allApis.map((api) => renderTemplate`<option${addAttribute(api, "value")} data-astro-cid-kf663cba></option>`)} </datalist> <button type="submit" class="search-button" data-astro-cid-kf663cba>
30
32
  Analyze
31
- </button> </div> </form> ${allApis.length > 0 && !apiQuery && renderTemplate`<div class="api-suggestions" data-astro-cid-kf663cba> <p class="suggestions-label" data-astro-cid-kf663cba>Available APIs:</p> <div class="tags" data-astro-cid-kf663cba> ${allApis.slice(0, 10).map((api) => renderTemplate`<a${addAttribute(`/impact?api=${encodeURIComponent(api)}`, "href")} class="tag" data-astro-cid-kf663cba> ${api} </a>`)} ${allApis.length > 10 && renderTemplate`<span class="tag tag-more" data-astro-cid-kf663cba>+${allApis.length - 10} more</span>`} </div> </div>`} </div> ${result && renderTemplate`<div class="impact-results" data-astro-cid-kf663cba> <div class="impact-summary" data-astro-cid-kf663cba> <div class="stats" data-astro-cid-kf663cba> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-total" data-astro-cid-kf663cba>${result.totalCount}</div> <div class="stat-label" data-astro-cid-kf663cba>Total Affected</div> </div> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-direct" data-astro-cid-kf663cba>${result.direct.length}</div> <div class="stat-label" data-astro-cid-kf663cba>Direct</div> </div> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-transitive" data-astro-cid-kf663cba>${result.transitive.length}</div> <div class="stat-label" data-astro-cid-kf663cba>Transitive</div> </div> </div> <button id="copy-markdown" class="copy-button"${addAttribute(markdown, "data-markdown")} aria-label="Copy impact analysis as Markdown" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" data-astro-cid-kf663cba></path> </svg>
33
+ </button> </div> </form> ${allApis.length > 0 && !apiQuery && renderTemplate`<div class="api-suggestions" data-astro-cid-kf663cba> <p class="suggestions-label" data-astro-cid-kf663cba>Available APIs:</p> <div class="tags" data-astro-cid-kf663cba> ${allApis.slice(0, 10).map((api) => renderTemplate`<a${addAttribute(`/impact?api=${encodeURIComponent(api)}`, "href")} class="tag" data-astro-cid-kf663cba> ${api} </a>`)} ${allApis.length > 10 && renderTemplate`<span class="tag tag-more" data-astro-cid-kf663cba>
34
+ +${allApis.length - 10} more
35
+ </span>`} </div> </div>`} </div> ${result && renderTemplate`<div class="impact-results" data-astro-cid-kf663cba> <div class="impact-summary" data-astro-cid-kf663cba> <div class="stats" data-astro-cid-kf663cba> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-total" data-astro-cid-kf663cba>${result.totalCount}</div> <div class="stat-label" data-astro-cid-kf663cba>Total Affected</div> </div> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-direct" data-astro-cid-kf663cba> ${result.direct.length} </div> <div class="stat-label" data-astro-cid-kf663cba>Direct</div> </div> <div class="stat" data-astro-cid-kf663cba> <div class="stat-value stat-transitive" data-astro-cid-kf663cba> ${result.transitive.length} </div> <div class="stat-label" data-astro-cid-kf663cba>Transitive</div> </div> </div> <button id="copy-markdown" class="copy-button"${addAttribute(markdown, "data-markdown")} aria-label="Copy impact analysis as Markdown" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" data-astro-cid-kf663cba></path> </svg>
32
36
  Copy as Markdown
33
- </button> </div> ${result.totalCount === 0 ? renderTemplate`<div class="no-impact" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-kf663cba></path> </svg> <p data-astro-cid-kf663cba>No screens depend on <code data-astro-cid-kf663cba>${apiQuery}</code></p> </div>` : renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "data-astro-cid-kf663cba": true }, { "default": async ($$result4) => renderTemplate` <div class="impact-graph" role="img"${addAttribute(`Impact analysis graph showing ${result.direct.length} direct and ${result.transitive.length} transitive dependencies for ${apiQuery}`, "aria-label")} data-astro-cid-kf663cba> <div class="graph-container" data-astro-cid-kf663cba> <pre class="mermaid" aria-hidden="true" data-astro-cid-kf663cba>${mermaidGraph}</pre> </div> <div class="graph-legend" data-astro-cid-kf663cba> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node legend-direct" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Direct dependency</span> </div> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node legend-transitive" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Transitive</span> </div> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Not affected</span> </div> </div> </div> <div class="impact-details" data-astro-cid-kf663cba> ${result.direct.length > 0 && renderTemplate`<div class="section" data-astro-cid-kf663cba> <h3 class="section-title" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z" data-astro-cid-kf663cba></path> </svg>
37
+ </button> </div> ${result.totalCount === 0 ? renderTemplate`<div class="no-impact" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-kf663cba></path> </svg> <p data-astro-cid-kf663cba>
38
+ No screens depend on <code data-astro-cid-kf663cba>${apiQuery}</code> </p> </div>` : renderTemplate`${renderComponent($$result3, "Fragment", Fragment, { "data-astro-cid-kf663cba": true }, { "default": async ($$result4) => renderTemplate` <div class="impact-graph" role="img"${addAttribute(`Impact analysis graph showing ${result.direct.length} direct and ${result.transitive.length} transitive dependencies for ${apiQuery}`, "aria-label")} data-astro-cid-kf663cba> <div class="graph-container" data-astro-cid-kf663cba> <pre class="mermaid" aria-hidden="true" data-astro-cid-kf663cba> ${mermaidGraph}
39
+ </pre> </div> <div class="graph-legend" data-astro-cid-kf663cba> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node legend-direct" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Direct dependency</span> </div> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node legend-transitive" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Transitive</span> </div> <div class="graph-legend-item" data-astro-cid-kf663cba> <div class="legend-node" data-astro-cid-kf663cba></div> <span data-astro-cid-kf663cba>Not affected</span> </div> </div> </div> <div class="impact-details" data-astro-cid-kf663cba> ${result.direct.length > 0 && renderTemplate`<div class="section" data-astro-cid-kf663cba> <h3 class="section-title" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z" data-astro-cid-kf663cba></path> </svg>
34
40
  Direct Dependencies (${result.direct.length})
35
- </h3> <div class="screen-link-list" data-astro-cid-kf663cba> ${result.direct.map((screen) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="screen-link impact-screen direct" data-astro-cid-kf663cba> <div class="screen-link-info" data-astro-cid-kf663cba> <div class="screen-link-title" data-astro-cid-kf663cba>${screen.title}</div> <div class="screen-link-id" data-astro-cid-kf663cba>${screen.route}</div> </div> ${screen.owner && screen.owner.length > 0 && renderTemplate`<div class="screen-link-owner" data-astro-cid-kf663cba> ${screen.owner.join(", ")} </div>`} </a>`)} </div> </div>`} ${result.transitive.length > 0 && renderTemplate`<div class="section" data-astro-cid-kf663cba> <h3 class="section-title" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5" data-astro-cid-kf663cba></path> </svg>
41
+ </h3> <div class="screen-link-list" data-astro-cid-kf663cba> ${result.direct.map((screen) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="screen-link impact-screen direct" data-astro-cid-kf663cba> <div class="screen-link-info" data-astro-cid-kf663cba> <div class="screen-link-title" data-astro-cid-kf663cba> ${screen.title} </div> <div class="screen-link-id" data-astro-cid-kf663cba>${screen.route}</div> </div> ${screen.owner && screen.owner.length > 0 && renderTemplate`<div class="screen-link-owner" data-astro-cid-kf663cba> ${screen.owner.join(", ")} </div>`} </a>`)} </div> </div>`} ${result.transitive.length > 0 && renderTemplate`<div class="section" data-astro-cid-kf663cba> <h3 class="section-title" data-astro-cid-kf663cba> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-kf663cba> <path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5" data-astro-cid-kf663cba></path> </svg>
36
42
  Transitive Dependencies (${result.transitive.length})
37
- </h3> <div class="screen-link-list" data-astro-cid-kf663cba> ${result.transitive.map(({ screen, path }) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="screen-link impact-screen transitive" data-astro-cid-kf663cba> <div class="screen-link-info" data-astro-cid-kf663cba> <div class="screen-link-title" data-astro-cid-kf663cba>${screen.title}</div> <div class="screen-link-path" data-astro-cid-kf663cba> ${path.join(" \u2192 ")} </div> </div> </a>`)} </div> </div>`} </div> ` })}`} </div>`}` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro?astro&type=script&index=0&lang.ts")} ` })} `;
43
+ </h3> <div class="screen-link-list" data-astro-cid-kf663cba> ${result.transitive.map(({ screen, path }) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="screen-link impact-screen transitive" data-astro-cid-kf663cba> <div class="screen-link-info" data-astro-cid-kf663cba> <div class="screen-link-title" data-astro-cid-kf663cba> ${screen.title} </div> <div class="screen-link-path" data-astro-cid-kf663cba> ${path.join(" \u2192 ")} </div> </div> </a>`)} </div> </div>`} </div> ` })}`} </div>`}` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro?astro&type=script&index=0&lang.ts")} ` })} `;
38
44
  }, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro", void 0);
39
45
 
40
46
  const $$file = "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/impact.astro";
@@ -7,10 +7,13 @@ const $$Index = createComponent(($$result, $$props, $$slots) => {
7
7
  const screens = loadScreens();
8
8
  const allTags = [...new Set(screens.flatMap((s) => s.tags ?? []))];
9
9
  return renderTemplate`${renderComponent($$result, "Layout", $$Layout, { "title": "Screens", "currentPage": "screens" }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<div class="container"> <div class="page-header"> <h1 class="page-title">Screens</h1> <p class="page-description">
10
- Browse all screens in your application. Click on a screen to see details and navigation flows.
10
+ Browse all screens in your application. Click on a screen to see details
11
+ and navigation flows.
11
12
  </p> </div> ${screens.length === 0 ? renderTemplate`<div class="empty-state"> <svg class="empty-state-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"> <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"></path> </svg> <h2 class="empty-state-title">No screens found</h2> <p class="empty-state-description">
12
13
  Get started by generating screen metadata from your routes.
13
- </p> <div class="empty-state-steps"> <div class="empty-state-step"> <span class="step-number">1</span> <div class="step-content"> <div class="step-title">Generate screen.meta.ts files</div> <code class="step-code">screenbook generate</code> </div> </div> <div class="empty-state-step"> <span class="step-number">2</span> <div class="step-content"> <div class="step-title">Build the screen catalog</div> <code class="step-code">screenbook build</code> </div> </div> <div class="empty-state-step"> <span class="step-number">3</span> <div class="step-content"> <div class="step-title">Restart the dev server</div> <code class="step-code">screenbook dev</code> </div> </div> </div> <div class="empty-state-features"> <p class="features-title">What you'll get:</p> <ul class="features-list"> <li>Screen catalog with search & filter</li> <li>Navigation graph visualization</li> <li>Impact analysis for API changes</li> <li>CI lint for documentation coverage</li> </ul> </div> </div>` : renderTemplate`${renderComponent($$result2, "Fragment", Fragment, {}, { "default": ($$result3) => renderTemplate` <div class="search-wrapper"> <svg class="search-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path> </svg> <label for="search" class="sr-only">Search screens</label> <input type="text" id="search" placeholder="Search screens..." class="search-input"> </div> ${allTags.length > 0 && renderTemplate`<div class="tags" role="group" aria-label="Filter by tag"> ${allTags.map((tag) => renderTemplate`<button class="tag"${addAttribute(tag, "data-tag")} aria-pressed="false">${tag}</button>`)} </div>`}<h2 class="sr-only">All Screens</h2> <div class="screen-grid" id="screen-list" aria-live="polite"> ${screens.map((screen) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="card-link"${addAttribute(screen.tags?.join(",") ?? "", "data-tags")}${addAttribute(screen.title.toLowerCase(), "data-title")}${addAttribute(screen.id.toLowerCase(), "data-id")}> <div class="card"> <h3 class="card-title">${screen.title}</h3> <div class="card-route">${screen.route}</div> <div class="card-meta"> <span class="card-meta-item"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5l-3.9 19.5m-2.1-19.5l-3.9 19.5"></path> </svg> ${screen.id} </span> ${screen.owner && screen.owner.length > 0 && renderTemplate`<span class="card-meta-item"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"></path> </svg> ${screen.owner.join(", ")} </span>`} </div> ${screen.tags && screen.tags.length > 0 && renderTemplate`<div class="card-tags"> ${screen.tags.map((tag) => renderTemplate`<span class="card-tag">${tag}</span>`)} </div>`} </div> </a>`)} </div> ` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts")} ` })}`;
14
+ </p> <div class="empty-state-steps"> <div class="empty-state-step"> <span class="step-number">1</span> <div class="step-content"> <div class="step-title">Generate screen.meta.ts files</div> <code class="step-code">screenbook generate</code> </div> </div> <div class="empty-state-step"> <span class="step-number">2</span> <div class="step-content"> <div class="step-title">Build the screen catalog</div> <code class="step-code">screenbook build</code> </div> </div> <div class="empty-state-step"> <span class="step-number">3</span> <div class="step-content"> <div class="step-title">Restart the dev server</div> <code class="step-code">screenbook dev</code> </div> </div> </div> <div class="empty-state-features"> <p class="features-title">What you'll get:</p> <ul class="features-list"> <li>Screen catalog with search & filter</li> <li>Navigation graph visualization</li> <li>Impact analysis for API changes</li> <li>CI lint for documentation coverage</li> </ul> </div> </div>` : renderTemplate`${renderComponent($$result2, "Fragment", Fragment, {}, { "default": ($$result3) => renderTemplate` <div class="search-wrapper"> <svg class="search-icon" aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path> </svg> <label for="search" class="sr-only">
15
+ Search screens
16
+ </label> <input type="text" id="search" placeholder="Search screens..." class="search-input"> </div> ${allTags.length > 0 && renderTemplate`<div class="tags" role="group" aria-label="Filter by tag"> ${allTags.map((tag) => renderTemplate`<button class="tag"${addAttribute(tag, "data-tag")} aria-pressed="false"> ${tag} </button>`)} </div>`}<h2 class="sr-only">All Screens</h2> <div class="screen-grid" id="screen-list" aria-live="polite"> ${screens.map((screen) => renderTemplate`<a${addAttribute(`/screen/${screen.id}`, "href")} class="card-link"${addAttribute(screen.tags?.join(",") ?? "", "data-tags")}${addAttribute(screen.title.toLowerCase(), "data-title")}${addAttribute(screen.id.toLowerCase(), "data-id")}> <div class="card"> <h3 class="card-title">${screen.title}</h3> <div class="card-route">${screen.route}</div> <div class="card-meta"> <span class="card-meta-item"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 8.25h15m-16.5 7.5h15m-1.8-13.5l-3.9 19.5m-2.1-19.5l-3.9 19.5"></path> </svg> ${screen.id} </span> ${screen.owner && screen.owner.length > 0 && renderTemplate`<span class="card-meta-item"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"></path> </svg> ${screen.owner.join(", ")} </span>`} </div> ${screen.tags && screen.tags.length > 0 && renderTemplate`<div class="card-tags"> ${screen.tags.map((tag) => renderTemplate`<span class="card-tag">${tag}</span>`)} </div>`} </div> </a>`)} </div> ` })}`} </div> ${renderScript($$result2, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro?astro&type=script&index=0&lang.ts")} ` })}`;
14
17
  }, "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro", void 0);
15
18
 
16
19
  const $$file = "/home/runner/work/screenbook/screenbook/packages/ui/src/pages/index.astro";
@@ -151,7 +151,8 @@ Back to screens
151
151
  </a> <div class="detail-header"> <h1 class="detail-title">${screen.title}</h1> <div class="detail-route"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244"></path> </svg> ${screen.route} </div> </div> <div class="detail-content"> <div> <!-- Information --> <div class="section"> <h2 class="section-title">Information</h2> <div class="info-list"> <div class="info-item"> <span class="info-label">ID</span> <span class="info-value"><code>${screen.id}</code></span> </div> ${screen.owner && screen.owner.length > 0 && renderTemplate`<div class="info-item"> <span class="info-label">Owner</span> <span class="info-value">${screen.owner.join(", ")}</span> </div>`} ${screen.tags && screen.tags.length > 0 && renderTemplate`<div class="info-item"> <span class="info-label">Tags</span> <span class="info-value"> <div class="card-tags"> ${screen.tags.map((tag) => renderTemplate`<span class="card-tag">${tag}</span>`)} </div> </span> </div>`} ${screen.description && renderTemplate`<div class="info-item"> <span class="info-label">Description</span> <span class="info-value">${screen.description}</span> </div>`} </div> </div> <!-- Dependencies --> ${screen.dependsOn && screen.dependsOn.length > 0 && renderTemplate`<div class="section"> <h2 class="section-title">Dependencies</h2> <div class="dep-list"> ${screen.dependsOn.map((dep) => {
152
152
  const count = apiCounts.get(dep) || 1;
153
153
  const otherCount = count - 1;
154
- return renderTemplate`<a${addAttribute(`/impact?api=${encodeURIComponent(dep)}`, "href")} class="dep-item dep-item-link"> <div class="dep-item-main"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"></path> </svg> <span>${dep}</span> </div> <div class="dep-item-meta"> ${otherCount > 0 && renderTemplate`<span class="dep-count">+${otherCount} other${otherCount > 1 ? "s" : ""}</span>`} <svg class="dep-arrow" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z"></path> </svg> </div> </a>`;
154
+ return renderTemplate`<a${addAttribute(`/impact?api=${encodeURIComponent(dep)}`, "href")} class="dep-item dep-item-link"> <div class="dep-item-main"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"></path> </svg> <span>${dep}</span> </div> <div class="dep-item-meta"> ${otherCount > 0 && renderTemplate`<span class="dep-count">
155
+ +${otherCount} other${otherCount > 1 ? "s" : ""} </span>`} <svg class="dep-arrow" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z"></path> </svg> </div> </a>`;
155
156
  })} </div> </div>`} <!-- External Links --> ${screen.links && screen.links.length > 0 && renderTemplate`<div class="section"> <h2 class="section-title">Links</h2> <div class="dep-list"> ${screen.links.map((link) => renderTemplate`<a${addAttribute(link.url, "href")} target="_blank" rel="noopener noreferrer" class="dep-item"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path> </svg> ${link.label} </a>`)} </div> </div>`} <!-- Mock Preview --> ${screen.mock && renderTemplate`<div class="section"> <h2 class="section-title">UI Wireframe</h2> ${renderComponent($$result2, "MockPreview", $$MockPreview, { "mock": screen.mock, "screenId": screen.id })} </div>`} </div> <div> <!-- Entry Points --> ${entryScreens.length > 0 && renderTemplate`<div class="sidebar-card"> <h3 class="sidebar-card-title"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 15L3 9m0 0l6-6M3 9h12a6 6 0 010 12h-3"></path> </svg>
156
157
  Entry Points
157
158
  </h3> <div class="screen-link-list"> ${entryScreens.map((s) => renderTemplate`<a${addAttribute(`/screen/${s.id}`, "href")} class="screen-link"> <div class="screen-link-info"> <span class="screen-link-title">${s.title}</span> <span class="screen-link-id">${s.id}</span> </div> <svg class="screen-link-arrow" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5"></path> </svg> </a>`)} </div> </div>`} <!-- Next Screens --> ${nextScreens.length > 0 && renderTemplate`<div class="sidebar-card"> <h3 class="sidebar-card-title"> <svg aria-hidden="true" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"></path> </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@screenbook/ui",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "UI for Screenbook - screen catalog and navigation graph viewer",
5
5
  "type": "module",
6
6
  "scripts": {