tether-ui 0.2.0 → 0.4.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.
- package/README.md +124 -2
- package/dist/approvals/match.d.ts +14 -0
- package/dist/approvals/match.js +216 -0
- package/dist/approvals/storage.d.ts +4 -0
- package/dist/approvals/storage.js +44 -0
- package/dist/cli/approvals.d.ts +2 -0
- package/dist/cli/approvals.js +113 -0
- package/dist/cli/format.d.ts +2 -2
- package/dist/cli/format.js +25 -5
- package/dist/cli/index.js +30 -21
- package/dist/cli/json.d.ts +62 -3
- package/dist/cli/json.js +66 -40
- package/dist/contract/describe.d.ts +2 -0
- package/dist/contract/describe.js +6 -0
- package/dist/contract/infer.d.ts +2 -2
- package/dist/contract/infer.js +69 -2
- package/dist/contract/read.d.ts +3 -0
- package/dist/contract/read.js +67 -0
- package/dist/contract/scopes.d.ts +5 -0
- package/dist/contract/scopes.js +150 -0
- package/dist/drift/compare.d.ts +4 -1
- package/dist/drift/compare.js +97 -33
- package/dist/drift/evidence.js +1 -0
- package/dist/scanner/collect.d.ts +4 -2
- package/dist/scanner/collect.js +61 -4
- package/dist/scanner/scan.js +127 -61
- package/dist/types.d.ts +103 -2
- package/dist/utils/config.js +18 -2
- package/dist/utils/coverage.d.ts +3 -0
- package/dist/utils/coverage.js +28 -0
- package/dist/utils/scenarios.d.ts +24 -0
- package/dist/utils/scenarios.js +82 -0
- package/dist/utils/storage.js +8 -3
- package/package.json +4 -3
- package/report/out/404/index.html +1 -1
- package/report/out/404.html +1 -1
- package/report/out/__next.__PAGE__.txt +3 -3
- package/report/out/__next._full.txt +3 -3
- package/report/out/__next._tree.txt +2 -2
- package/report/out/_next/static/chunks/330-b092d894bdb2103c.js +1 -0
- package/report/out/_next/static/chunks/app/_not-found/{page-032313fc4524b472.js → page-172b410568146bc8.js} +1 -1
- package/report/out/_next/static/chunks/app/contract/{page-60f6d610ece63f59.js → page-f49364851a596fef.js} +1 -1
- package/report/out/_next/static/chunks/app/drift/{page-655683d6032a79a8.js → page-e0f2eda1e981d86f.js} +1 -1
- package/report/out/_next/static/chunks/app/layout-9a410c21fc0ba3c9.js +1 -0
- package/report/out/_next/static/chunks/app/{page-bdfcce47bd844e7e.js → page-e399a35da3e55f00.js} +1 -1
- package/report/out/_next/static/chunks/app/viewports/{page-6e44561586c30871.js → page-5a01227414ac4842.js} +1 -1
- package/report/out/_next/static/chunks/{main-app-e3082ce30f616b80.js → main-app-e7e077df7256067f.js} +1 -1
- package/report/out/_next/static/chunks/next/dist/client/components/builtin/global-error-94732500710e6d55.js +1 -0
- package/report/out/_next/static/css/b754cdc60c7b43bb.css +1 -0
- package/report/out/_not-found/__next._full.txt +2 -2
- package/report/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/report/out/_not-found/__next._tree.txt +2 -2
- package/report/out/_not-found/index.html +1 -1
- package/report/out/_not-found/index.txt +2 -2
- package/report/out/contract/__next._full.txt +3 -3
- package/report/out/contract/__next._tree.txt +2 -2
- package/report/out/contract/__next.contract.__PAGE__.txt +3 -3
- package/report/out/contract/index.html +1 -1
- package/report/out/contract/index.txt +3 -3
- package/report/out/drift/__next._full.txt +3 -3
- package/report/out/drift/__next._tree.txt +2 -2
- package/report/out/drift/__next.drift.__PAGE__.txt +3 -3
- package/report/out/drift/index.html +1 -1
- package/report/out/drift/index.txt +3 -3
- package/report/out/index.html +1 -1
- package/report/out/index.txt +3 -3
- package/report/out/viewports/__next._full.txt +3 -3
- package/report/out/viewports/__next._tree.txt +2 -2
- package/report/out/viewports/__next.viewports.__PAGE__.txt +3 -3
- package/report/out/viewports/index.html +1 -1
- package/report/out/viewports/index.txt +3 -3
- package/report/out/_next/static/chunks/679-ea0b2616e7a83e6d.js +0 -1
- package/report/out/_next/static/chunks/app/layout-16ba70b55e65864f.js +0 -1
- package/report/out/_next/static/chunks/next/dist/client/components/builtin/global-error-d142454d28d73f8d.js +0 -1
- package/report/out/_next/static/css/5f0345b3d96e2143.css +0 -1
- /package/report/out/_next/static/{MCyQw-tRQ7-eGxwnJHR0Q → TBRjO9Fdl2ToZdlLQ7gIf}/_buildManifest.js +0 -0
- /package/report/out/_next/static/{MCyQw-tRQ7-eGxwnJHR0Q → TBRjO9Fdl2ToZdlLQ7gIf}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/5f0345b3d96e2143.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-21c0bda91597affb.js"/><script src="/_next/static/chunks/c7879cf7-33323d49ba6da96a.js" async=""></script><script src="/_next/static/chunks/158-65f5491737ca4c2e.js" async=""></script><script src="/_next/static/chunks/main-app-e3082ce30f616b80.js" async=""></script><script src="/_next/static/chunks/979-2cc4e681ca63e0b3.js" async=""></script><script src="/_next/static/chunks/679-ea0b2616e7a83e6d.js" async=""></script><script src="/_next/static/chunks/app/drift/page-655683d6032a79a8.js" async=""></script><title>tether — Visual linting</title><meta name="description" content="tether learns your UI’s existing design language, then catches drift as humans and agents make changes."/><link rel="icon" href="/knot.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><a href="#main" class="skip">Skip to report</a><aside class="sidebar"><a class="brand" href="/"><img class="brand-symbol" src="/knot.svg" alt="" width="34" height="34"/>tether<span class="version">0.2</span></a><div class="workspace"><div class="workspace-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg></div><div><strong>Local workspace</strong><small>Latest scan</small></div><span class="connection" title="Local report"></span></div><nav aria-label="Report navigation"><a class="" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="active" aria-current="page" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="" href="/contract/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-fingerprint-pattern" aria-hidden="true"><path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"></path><path d="M14 13.12c0 2.38 0 6.38-1 8.88"></path><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"></path><path d="M2 12a10 10 0 0 1 18-6"></path><path d="M2 16h.01"></path><path d="M21.8 16c.2-2 .131-5.354 0-6"></path><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"></path><path d="M8.65 22c.21-.66.45-1.32.57-2"></path><path d="M9 6.8a6 6 0 0 1 9 5.2v2"></path></svg>Visual contract</a><a class="" href="/viewports/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg>Viewports</a></nav><div class="sidebar-bottom"><div class="local-note"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span>Data stays on this device</span></div></div></aside><div class="main-shell"><header class="topbar"><div>tether <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><b>Visual drift</b></div><span class="local-pill"><i></i> Local report</span></header><main id="main"><div class="page-heading"><div><h1>Visual drift</h1><p>Review changes by category and severity.</p></div><button class="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg>Copy agent brief</button></div><div class="empty" role="status">Loading scan…</div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-21c0bda91597affb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1133,[],\"\"]\n3:I[4297,[],\"\"]\n4:I[469,[\"979\",\"static/chunks/979-2cc4e681ca63e0b3.js\",\"679\",\"static/chunks/679-ea0b2616e7a83e6d.js\",\"354\",\"static/chunks/app/drift/page-655683d6032a79a8.js\"],\"default\"]\n5:I[1872,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[1872,[],\"ViewportBoundary\"]\nb:I[1872,[],\"MetadataBoundary\"]\nd:I[7567,[],\"default\",1]\n:HL[\"/_next/static/css/5f0345b3d96e2143.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"drift\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"drift\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5f0345b3d96e2143.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"page\":\"drift\"}],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MCyQw-tRQ7-eGxwnJHR0Q\"}\n8:C\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\ne:I[2569,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tether — Visual linting\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"tether learns your UI’s existing design language, then catches drift as humans and agents make changes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/knot.svg\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/b754cdc60c7b43bb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-21c0bda91597affb.js"/><script src="/_next/static/chunks/c7879cf7-33323d49ba6da96a.js" async=""></script><script src="/_next/static/chunks/158-65f5491737ca4c2e.js" async=""></script><script src="/_next/static/chunks/main-app-e7e077df7256067f.js" async=""></script><script src="/_next/static/chunks/979-2cc4e681ca63e0b3.js" async=""></script><script src="/_next/static/chunks/330-b092d894bdb2103c.js" async=""></script><script src="/_next/static/chunks/app/drift/page-e0f2eda1e981d86f.js" async=""></script><title>tether — Visual linting</title><meta name="description" content="tether learns your UI’s existing design language, then catches drift as humans and agents make changes."/><link rel="icon" href="/knot.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><a href="#main" class="skip">Skip to report</a><aside class="sidebar"><a class="brand" href="/"><img class="brand-symbol" src="/knot.svg" alt="" width="34" height="34"/>tether<span class="version">0.3</span></a><div class="workspace"><div class="workspace-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg></div><div><strong>Local workspace</strong><small>Latest scan</small></div><span class="connection" title="Local report"></span></div><nav aria-label="Report navigation"><a class="" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="active" aria-current="page" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="" href="/contract/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-fingerprint-pattern" aria-hidden="true"><path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"></path><path d="M14 13.12c0 2.38 0 6.38-1 8.88"></path><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"></path><path d="M2 12a10 10 0 0 1 18-6"></path><path d="M2 16h.01"></path><path d="M21.8 16c.2-2 .131-5.354 0-6"></path><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"></path><path d="M8.65 22c.21-.66.45-1.32.57-2"></path><path d="M9 6.8a6 6 0 0 1 9 5.2v2"></path></svg>Visual contract</a><a class="" href="/viewports/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg>Viewports</a></nav><div class="sidebar-bottom"><div class="local-note"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span>Data stays on this device</span></div></div></aside><div class="main-shell"><header class="topbar"><div>tether <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><b>Visual drift</b></div><span class="local-pill"><i></i> Local report</span></header><main id="main"><div class="page-heading"><div><h1>Visual drift</h1><p>Review changes by category and severity.</p></div><button class="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg>Copy agent brief</button></div><div class="empty" role="status">Loading scan…</div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-21c0bda91597affb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1133,[],\"\"]\n3:I[4297,[],\"\"]\n4:I[6652,[\"979\",\"static/chunks/979-2cc4e681ca63e0b3.js\",\"330\",\"static/chunks/330-b092d894bdb2103c.js\",\"354\",\"static/chunks/app/drift/page-e0f2eda1e981d86f.js\"],\"default\"]\n5:I[1872,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[1872,[],\"ViewportBoundary\"]\nb:I[1872,[],\"MetadataBoundary\"]\nd:I[7567,[],\"default\",1]\n:HL[\"/_next/static/css/b754cdc60c7b43bb.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"drift\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"drift\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b754cdc60c7b43bb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"page\":\"drift\"}],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"TBRjO9Fdl2ToZdlLQ7gIf\"}\n8:C\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\ne:I[2569,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tether — Visual linting\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"tether learns your UI’s existing design language, then catches drift as humans and agents make changes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/knot.svg\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[1133,[],""]
|
|
3
3
|
3:I[4297,[],""]
|
|
4
|
-
4:I[
|
|
4
|
+
4:I[6652,["979","static/chunks/979-2cc4e681ca63e0b3.js","330","static/chunks/330-b092d894bdb2103c.js","354","static/chunks/app/drift/page-e0f2eda1e981d86f.js"],"default"]
|
|
5
5
|
5:I[1872,[],"OutletBoundary"]
|
|
6
6
|
6:"$Sreact.suspense"
|
|
7
7
|
9:I[1872,[],"ViewportBoundary"]
|
|
8
8
|
b:I[1872,[],"MetadataBoundary"]
|
|
9
9
|
d:I[7567,[],"default",1]
|
|
10
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
11
11
|
8:X
|
|
12
|
-
0:{"P":null,"c":["","drift",""],"q":"","i":false,"f":[[["",{"children":["drift",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
12
|
+
0:{"P":null,"c":["","drift",""],"q":"","i":false,"f":[[["",{"children":["drift",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b754cdc60c7b43bb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"page":"drift"}],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,"$8"]},null,false,null],["$","$1","h",{"children":[null,["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],null]}],false]],"m":"$undefined","G":["$d",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TBRjO9Fdl2ToZdlLQ7gIf"}
|
|
13
13
|
8:C
|
|
14
14
|
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
15
15
|
e:I[2569,[],"IconMark"]
|
package/report/out/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/b754cdc60c7b43bb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-21c0bda91597affb.js"/><script src="/_next/static/chunks/c7879cf7-33323d49ba6da96a.js" async=""></script><script src="/_next/static/chunks/158-65f5491737ca4c2e.js" async=""></script><script src="/_next/static/chunks/main-app-e7e077df7256067f.js" async=""></script><script src="/_next/static/chunks/979-2cc4e681ca63e0b3.js" async=""></script><script src="/_next/static/chunks/330-b092d894bdb2103c.js" async=""></script><script src="/_next/static/chunks/app/page-e399a35da3e55f00.js" async=""></script><title>tether — Visual linting</title><meta name="description" content="tether learns your UI’s existing design language, then catches drift as humans and agents make changes."/><link rel="icon" href="/knot.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><a href="#main" class="skip">Skip to report</a><aside class="sidebar"><a class="brand" href="/"><img class="brand-symbol" src="/knot.svg" alt="" width="34" height="34"/>tether<span class="version">0.3</span></a><div class="workspace"><div class="workspace-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg></div><div><strong>Local workspace</strong><small>Latest scan</small></div><span class="connection" title="Local report"></span></div><nav aria-label="Report navigation"><a class="active" aria-current="page" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="" href="/contract/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-fingerprint-pattern" aria-hidden="true"><path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"></path><path d="M14 13.12c0 2.38 0 6.38-1 8.88"></path><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"></path><path d="M2 12a10 10 0 0 1 18-6"></path><path d="M2 16h.01"></path><path d="M21.8 16c.2-2 .131-5.354 0-6"></path><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"></path><path d="M8.65 22c.21-.66.45-1.32.57-2"></path><path d="M9 6.8a6 6 0 0 1 9 5.2v2"></path></svg>Visual contract</a><a class="" href="/viewports/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg>Viewports</a></nav><div class="sidebar-bottom"><div class="local-note"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span>Data stays on this device</span></div></div></aside><div class="main-shell"><header class="topbar"><div>tether <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><b>Overview</b></div><span class="local-pill"><i></i> Local report</span></header><main id="main"><div class="page-heading"><div><h1>Overview</h1><p>Changes since your baseline scan.</p></div><button class="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg>Copy agent brief</button></div><div class="empty" role="status">Loading scan…</div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-21c0bda91597affb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1133,[],\"\"]\n3:I[4297,[],\"\"]\n4:I[6652,[\"979\",\"static/chunks/979-2cc4e681ca63e0b3.js\",\"330\",\"static/chunks/330-b092d894bdb2103c.js\",\"974\",\"static/chunks/app/page-e399a35da3e55f00.js\"],\"default\"]\n5:I[1872,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[1872,[],\"ViewportBoundary\"]\na:I[1872,[],\"MetadataBoundary\"]\nc:I[7567,[],\"default\",1]\n:HL[\"/_next/static/css/b754cdc60c7b43bb.css\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b754cdc60c7b43bb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"page\":\"overview\"}],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"TBRjO9Fdl2ToZdlLQ7gIf\"}\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nd:I[2569,[],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"tether — Visual linting\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"tether learns your UI’s existing design language, then catches drift as humans and agents make changes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/knot.svg\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
|
package/report/out/index.txt
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[1133,[],""]
|
|
3
3
|
3:I[4297,[],""]
|
|
4
|
-
4:I[
|
|
4
|
+
4:I[6652,["979","static/chunks/979-2cc4e681ca63e0b3.js","330","static/chunks/330-b092d894bdb2103c.js","974","static/chunks/app/page-e399a35da3e55f00.js"],"default"]
|
|
5
5
|
5:I[1872,[],"OutletBoundary"]
|
|
6
6
|
6:"$Sreact.suspense"
|
|
7
7
|
8:I[1872,[],"ViewportBoundary"]
|
|
8
8
|
a:I[1872,[],"MetadataBoundary"]
|
|
9
9
|
c:I[7567,[],"default",1]
|
|
10
|
-
:HL["/_next/static/css/
|
|
11
|
-
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
11
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b754cdc60c7b43bb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"page":"overview"}],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TBRjO9Fdl2ToZdlLQ7gIf"}
|
|
12
12
|
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
13
13
|
d:I[2569,[],"IconMark"]
|
|
14
14
|
7:null
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[1133,[],""]
|
|
3
3
|
3:I[4297,[],""]
|
|
4
|
-
4:I[
|
|
4
|
+
4:I[6652,["979","static/chunks/979-2cc4e681ca63e0b3.js","330","static/chunks/330-b092d894bdb2103c.js","230","static/chunks/app/viewports/page-5a01227414ac4842.js"],"default"]
|
|
5
5
|
5:I[1872,[],"OutletBoundary"]
|
|
6
6
|
6:"$Sreact.suspense"
|
|
7
7
|
9:I[1872,[],"ViewportBoundary"]
|
|
8
8
|
b:I[1872,[],"MetadataBoundary"]
|
|
9
9
|
d:I[7567,[],"default",1]
|
|
10
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
11
11
|
8:X
|
|
12
|
-
0:{"P":null,"c":["","viewports",""],"q":"","i":false,"f":[[["",{"children":["viewports",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
12
|
+
0:{"P":null,"c":["","viewports",""],"q":"","i":false,"f":[[["",{"children":["viewports",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b754cdc60c7b43bb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"page":"viewports"}],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,"$8"]},null,false,null],["$","$1","h",{"children":[null,["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],null]}],false]],"m":"$undefined","G":["$d",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TBRjO9Fdl2ToZdlLQ7gIf"}
|
|
13
13
|
8:C
|
|
14
14
|
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
15
15
|
e:I[2569,[],"IconMark"]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:HL["/_next/static/css/
|
|
2
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"viewports","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"
|
|
1
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
2
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"viewports","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"TBRjO9Fdl2ToZdlLQ7gIf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[
|
|
2
|
+
2:I[6652,["979","static/chunks/979-2cc4e681ca63e0b3.js","330","static/chunks/330-b092d894bdb2103c.js","230","static/chunks/app/viewports/page-5a01227414ac4842.js"],"default"]
|
|
3
3
|
3:I[1872,[],"OutletBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
8:I[1872,[],"ViewportBoundary"]
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
a:I[2569,[],"IconMark"]
|
|
8
8
|
c:I[1133,[],""]
|
|
9
9
|
d:I[4297,[],""]
|
|
10
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
11
11
|
7:X
|
|
12
12
|
f:X
|
|
13
13
|
f:C
|
|
14
|
-
0:{"buildId":"
|
|
14
|
+
0:{"buildId":"TBRjO9Fdl2ToZdlLQ7gIf","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"page":"viewports"}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"tether — Visual linting"}],["$","meta","1",{"name":"description","content":"tether learns your UI’s existing design language, then catches drift as humans and agents make changes."}],["$","link","2",{"rel":"icon","href":"/knot.svg"}],["$","$La","3",{}]]}]}]}],null]}],"isPartial":"$@b","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}]}]]}],"isPartial":"$@e","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b754cdc60c7b43bb.css","precedence":"next"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":"$@10","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@11","rootVaryParams":null,"needsRuntimeRequest":"$@12"}
|
|
15
15
|
5:null
|
|
16
16
|
7:300
|
|
17
17
|
12:true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/5f0345b3d96e2143.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-21c0bda91597affb.js"/><script src="/_next/static/chunks/c7879cf7-33323d49ba6da96a.js" async=""></script><script src="/_next/static/chunks/158-65f5491737ca4c2e.js" async=""></script><script src="/_next/static/chunks/main-app-e3082ce30f616b80.js" async=""></script><script src="/_next/static/chunks/979-2cc4e681ca63e0b3.js" async=""></script><script src="/_next/static/chunks/679-ea0b2616e7a83e6d.js" async=""></script><script src="/_next/static/chunks/app/viewports/page-6e44561586c30871.js" async=""></script><title>tether — Visual linting</title><meta name="description" content="tether learns your UI’s existing design language, then catches drift as humans and agents make changes."/><link rel="icon" href="/knot.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><a href="#main" class="skip">Skip to report</a><aside class="sidebar"><a class="brand" href="/"><img class="brand-symbol" src="/knot.svg" alt="" width="34" height="34"/>tether<span class="version">0.2</span></a><div class="workspace"><div class="workspace-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg></div><div><strong>Local workspace</strong><small>Latest scan</small></div><span class="connection" title="Local report"></span></div><nav aria-label="Report navigation"><a class="" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="" href="/contract/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-fingerprint-pattern" aria-hidden="true"><path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"></path><path d="M14 13.12c0 2.38 0 6.38-1 8.88"></path><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"></path><path d="M2 12a10 10 0 0 1 18-6"></path><path d="M2 16h.01"></path><path d="M21.8 16c.2-2 .131-5.354 0-6"></path><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"></path><path d="M8.65 22c.21-.66.45-1.32.57-2"></path><path d="M9 6.8a6 6 0 0 1 9 5.2v2"></path></svg>Visual contract</a><a class="active" aria-current="page" href="/viewports/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg>Viewports</a></nav><div class="sidebar-bottom"><div class="local-note"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span>Data stays on this device</span></div></div></aside><div class="main-shell"><header class="topbar"><div>tether <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><b>Viewports</b></div><span class="local-pill"><i></i> Local report</span></header><main id="main"><div class="page-heading"><div><h1>Viewports</h1><p>Screenshots and layout issues at each screen size.</p></div><button class="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg>Copy agent brief</button></div><div class="empty" role="status">Loading scan…</div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-21c0bda91597affb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1133,[],\"\"]\n3:I[4297,[],\"\"]\n4:I[469,[\"979\",\"static/chunks/979-2cc4e681ca63e0b3.js\",\"679\",\"static/chunks/679-ea0b2616e7a83e6d.js\",\"230\",\"static/chunks/app/viewports/page-6e44561586c30871.js\"],\"default\"]\n5:I[1872,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[1872,[],\"ViewportBoundary\"]\nb:I[1872,[],\"MetadataBoundary\"]\nd:I[7567,[],\"default\",1]\n:HL[\"/_next/static/css/5f0345b3d96e2143.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"viewports\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"viewports\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5f0345b3d96e2143.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"page\":\"viewports\"}],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MCyQw-tRQ7-eGxwnJHR0Q\"}\n8:C\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\ne:I[2569,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tether — Visual linting\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"tether learns your UI’s existing design language, then catches drift as humans and agents make changes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/knot.svg\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/knot.svg"/><link rel="stylesheet" href="/_next/static/css/b754cdc60c7b43bb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-21c0bda91597affb.js"/><script src="/_next/static/chunks/c7879cf7-33323d49ba6da96a.js" async=""></script><script src="/_next/static/chunks/158-65f5491737ca4c2e.js" async=""></script><script src="/_next/static/chunks/main-app-e7e077df7256067f.js" async=""></script><script src="/_next/static/chunks/979-2cc4e681ca63e0b3.js" async=""></script><script src="/_next/static/chunks/330-b092d894bdb2103c.js" async=""></script><script src="/_next/static/chunks/app/viewports/page-5a01227414ac4842.js" async=""></script><title>tether — Visual linting</title><meta name="description" content="tether learns your UI’s existing design language, then catches drift as humans and agents make changes."/><link rel="icon" href="/knot.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="shell"><a href="#main" class="skip">Skip to report</a><aside class="sidebar"><a class="brand" href="/"><img class="brand-symbol" src="/knot.svg" alt="" width="34" height="34"/>tether<span class="version">0.3</span></a><div class="workspace"><div class="workspace-icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scan-line" aria-hidden="true"><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path><path d="M7 12h10"></path></svg></div><div><strong>Local workspace</strong><small>Latest scan</small></div><span class="connection" title="Local report"></span></div><nav aria-label="Report navigation"><a class="" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg>Overview</a><a class="" href="/drift/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Drift</a><a class="" href="/contract/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-fingerprint-pattern" aria-hidden="true"><path d="M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"></path><path d="M14 13.12c0 2.38 0 6.38-1 8.88"></path><path d="M17.29 21.02c.12-.6.43-2.3.5-3.02"></path><path d="M2 12a10 10 0 0 1 18-6"></path><path d="M2 16h.01"></path><path d="M21.8 16c.2-2 .131-5.354 0-6"></path><path d="M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"></path><path d="M8.65 22c.21-.66.45-1.32.57-2"></path><path d="M9 6.8a6 6 0 0 1 9 5.2v2"></path></svg>Visual contract</a><a class="active" aria-current="page" href="/viewports/"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg>Viewports</a></nav><div class="sidebar-bottom"><div class="local-note"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><span>Data stays on this device</span></div></div></aside><div class="main-shell"><header class="topbar"><div>tether <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><b>Viewports</b></div><span class="local-pill"><i></i> Local report</span></header><main id="main"><div class="page-heading"><div><h1>Viewports</h1><p>Screenshots and layout issues at each screen size.</p></div><button class="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard" aria-hidden="true"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></svg>Copy agent brief</button></div><div class="empty" role="status">Loading scan…</div></main></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-21c0bda91597affb.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1133,[],\"\"]\n3:I[4297,[],\"\"]\n4:I[6652,[\"979\",\"static/chunks/979-2cc4e681ca63e0b3.js\",\"330\",\"static/chunks/330-b092d894bdb2103c.js\",\"230\",\"static/chunks/app/viewports/page-5a01227414ac4842.js\"],\"default\"]\n5:I[1872,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[1872,[],\"ViewportBoundary\"]\nb:I[1872,[],\"MetadataBoundary\"]\nd:I[7567,[],\"default\",1]\n:HL[\"/_next/static/css/b754cdc60c7b43bb.css\",\"style\"]\n8:X\n0:{\"P\":null,\"c\":[\"\",\"viewports\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"viewports\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b754cdc60c7b43bb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"page\":\"viewports\"}],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"TBRjO9Fdl2ToZdlLQ7gIf\"}\n8:C\na:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\ne:I[2569,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"tether — Visual linting\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"tether learns your UI’s existing design language, then catches drift as humans and agents make changes.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/knot.svg\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[1133,[],""]
|
|
3
3
|
3:I[4297,[],""]
|
|
4
|
-
4:I[
|
|
4
|
+
4:I[6652,["979","static/chunks/979-2cc4e681ca63e0b3.js","330","static/chunks/330-b092d894bdb2103c.js","230","static/chunks/app/viewports/page-5a01227414ac4842.js"],"default"]
|
|
5
5
|
5:I[1872,[],"OutletBoundary"]
|
|
6
6
|
6:"$Sreact.suspense"
|
|
7
7
|
9:I[1872,[],"ViewportBoundary"]
|
|
8
8
|
b:I[1872,[],"MetadataBoundary"]
|
|
9
9
|
d:I[7567,[],"default",1]
|
|
10
|
-
:HL["/_next/static/css/
|
|
10
|
+
:HL["/_next/static/css/b754cdc60c7b43bb.css","style"]
|
|
11
11
|
8:X
|
|
12
|
-
0:{"P":null,"c":["","viewports",""],"q":"","i":false,"f":[[["",{"children":["viewports",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/
|
|
12
|
+
0:{"P":null,"c":["","viewports",""],"q":"","i":false,"f":[[["",{"children":["viewports",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/b754cdc60c7b43bb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"page":"viewports"}],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,null]},null,false,"$8"]},null,false,null],["$","$1","h",{"children":[null,["$","$L9",null,{"children":"$La"}],["$","div",null,{"hidden":true,"children":["$","$Lb",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lc"}]}]}],null]}],false]],"m":"$undefined","G":["$d",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TBRjO9Fdl2ToZdlLQ7gIf"}
|
|
13
13
|
8:C
|
|
14
14
|
a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
15
15
|
e:I[2569,[],"IconMark"]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[679],{469:(e,s,i)=>{"use strict";i.d(s,{default:()=>F});var n=i(3365),a=i(1521),t=i(9568),l=i.n(t),c=i(3382);function r({label:e,capture:s,viewport:i}){let[t,l]=(0,a.useState)(!1);(0,a.useEffect)(()=>l(!1),[s?.screenshot]);let c=function(e,s){if(!e||![e.x,e.y,e.width,e.height,s.width,s.height].every(Number.isFinite)||e.width<=0||e.height<=0||s.width<=0||s.height<=0)return;let i=Math.max(0,e.x),n=Math.max(0,e.y),a=Math.min(s.width,e.x+e.width),t=Math.min(s.height,e.y+e.height);if(!(a<=i)&&!(t<=n))return{x:i,y:n,width:a-i,height:t-n}}(s?.bounds,i),d=!!s?.screenshot&&!t;return(0,n.jsxs)("figure",{className:"evidence-capture",children:[(0,n.jsx)("figcaption",{children:e}),d?(0,n.jsxs)("div",{className:"evidence-image",style:{aspectRatio:`${i.width} / ${i.height}`},children:[(0,n.jsx)("img",{src:`/${s.screenshot}`,alt:`${e.toLowerCase()} capture at ${i.name}`,onError:()=>l(!0)}),c&&(0,n.jsx)("span",{className:"evidence-outline","aria-label":"Matched element",style:{left:`${c.x/i.width*100}%`,top:`${c.y/i.height*100}%`,width:`${c.width/i.width*100}%`,height:`${c.height/i.height*100}%`}})]}):(0,n.jsx)("div",{className:"evidence-unavailable",children:"Capture unavailable."}),(0,n.jsx)("p",{className:"muted",children:d&&c?"Outline shows the visible portion of the matched element.":d&&s?.bounds?"Element outside this capture or bounds unavailable. No outline shown.":d?"No exact element location available. No outline shown.":"The screenshot may be missing from this checkout."})]})}function d({issue:e,report:s,onClose:i}){let t=(0,a.useRef)(null),[l,o]=(0,a.useState)(0),h=e.evidence??s.scan.snapshots.filter(s=>s.route===e.route&&e.viewports.includes(s.viewport.name)).map(e=>({viewport:e.viewport,current:{screenshot:e.screenshot}})),x=h[l];return(0,a.useEffect)(()=>{t.current?.showModal()},[]),(0,n.jsx)("dialog",{ref:t,className:"finding-dialog","aria-labelledby":"finding-title",onClose:i,onClick:e=>{e.target===t.current&&t.current?.close()},children:(0,n.jsxs)("div",{className:"finding-content",children:[(0,n.jsxs)("header",{className:"finding-header",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:`severity ${e.severity}`,children:e.severity}),(0,n.jsx)("h2",{id:"finding-title",children:e.title})]}),(0,n.jsx)("button",{autoFocus:!0,"aria-label":"Close evidence",onClick:()=>t.current?.close(),children:(0,n.jsx)(c.A,{size:20})})]}),(0,n.jsxs)("dl",{className:"finding-facts",children:[(0,n.jsx)("dt",{children:"Property"}),(0,n.jsx)("dd",{children:(0,n.jsx)("code",{children:e.property})}),(0,n.jsx)("dt",{children:"Current"}),(0,n.jsx)("dd",{children:(0,n.jsx)("code",{children:e.current})}),(0,n.jsx)("dt",{children:"Expected"}),(0,n.jsx)("dd",{children:(0,n.jsx)("code",{children:e.expected.join(" \xb7 ")||"Review baseline"})}),(0,n.jsx)("dt",{children:"Element"}),(0,n.jsx)("dd",{children:(0,n.jsx)("code",{children:e.selector})}),(0,n.jsx)("dt",{children:"Identity"}),(0,n.jsxs)("dd",{children:[(0,n.jsx)("code",{children:e.identity??"Legacy selector"})," \xb7"," ",e.identityConfidence??"low"," confidence"]})]}),x?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("label",{className:"evidence-viewport",children:["Viewport"," ",(0,n.jsx)("select",{value:l,onChange:e=>o(Number(e.target.value)),children:h.map((e,s)=>(0,n.jsxs)("option",{value:s,children:[e.viewport.name," \xb7 ",e.viewport.width," \xd7 ",e.viewport.height]},e.viewport.name))}),(0,n.jsx)("code",{children:e.route})]}),(0,n.jsxs)("div",{className:"evidence-pair",children:[(0,n.jsx)(r,{label:"CURRENT",capture:x.current,viewport:x.viewport}),(0,n.jsx)(r,{label:"BASELINE",capture:x.baseline,viewport:x.viewport})]})]}):(0,n.jsx)("p",{children:"No screenshot evidence was recorded for this finding. Run a new check to collect it."})]})})}var o=i(9376),h=i(6504),x=i(21),j=i(4639),m=i(2665),p=i(8768),u=i(3960),v=i(634),g=i(4582),N=i(7494),w=i(8232),y=i(1613),f=i(6687),b=i(1838),k=i(2293);let S={overview:"Overview",drift:"Visual drift",contract:"Visual contract",viewports:"Viewports"},A={colors:"Color",fontFamilies:"Typography",fontSizes:"Typography",fontWeights:"Typography",lineHeights:"Typography",spacing:"Spacing",radii:"Radius",shadows:"Shadow",borders:"Border",elementHeights:"Height",layout:"Layout"},C=["All","Color","Typography","Spacing","Radius","Layout","Shadow","Border","Height"];function z(e){return new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function E({children:e}){return(0,n.jsx)("span",{className:"count",children:e})}function $({severity:e}){return(0,n.jsxs)("span",{className:`severity ${e}`,children:[(0,n.jsx)("i",{}),e]})}function R(){return(0,n.jsx)("p",{className:"muted",children:"No recurring values in this category."})}function T({issue:e,onInspect:s}){return(0,n.jsxs)("article",{className:"issue-card",children:[(0,n.jsxs)("div",{className:"issue-heading",children:[(0,n.jsx)("span",{className:"category",children:A[e.category]}),(0,n.jsx)($,{severity:e.severity})]}),(0,n.jsx)("h3",{children:e.title}),(0,n.jsxs)("div",{className:"comparison",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"micro",children:"CURRENT"}),(0,n.jsxs)("code",{className:"current",children:["colors"===e.category&&(0,n.jsx)("i",{className:"tiny-swatch",style:{background:e.current}}),e.current]})]}),(0,n.jsx)(o.A,{size:15,className:"muted"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"micro",children:"EXPECTED"}),(0,n.jsx)("p",{className:"expected",children:e.expected.join(" \xb7 ")||"Review baseline"})]})]}),(0,n.jsxs)("div",{className:"issue-meta",children:[(0,n.jsx)("code",{children:e.selector}),(0,n.jsxs)("span",{children:[e.route," ",(0,n.jsx)("span",{className:"dot",children:"\xb7"})," ",e.viewports.join(", ")]})]}),(0,n.jsxs)("button",{className:"evidence-button",onClick:()=>s(e),children:["View evidence ",(0,n.jsx)(h.A,{size:14})]}),(0,n.jsxs)("details",{children:[(0,n.jsx)("summary",{children:"Inspect property"}),(0,n.jsx)("code",{children:e.property})]})]})}function F({page:e}){let[s,i]=(0,a.useState)(null),[t,r]=(0,a.useState)(""),[$,R]=(0,a.useState)("All"),[M,H]=(0,a.useState)("all"),[I,V]=(0,a.useState)(!1),[B,D]=(0,a.useState)(!1),[P,U]=(0,a.useState)(null),[O,_]=(0,a.useState)(null);async function W(){if(s)try{await navigator.clipboard.writeText(s.agentMarkdown),V(!0),D(!1),setTimeout(()=>V(!1),2200)}catch{D(!0)}}(0,a.useEffect)(()=>{fetch("/report.json",{cache:"no-store"}).then(e=>{if(!e.ok)throw Error("No scan data found. Run tether check, then reopen tether report.");return e.json()}).then(i).catch(e=>r(e.message))},[]),(0,a.useEffect)(()=>{if(!O)return;let e=e=>{"Escape"===e.key&&_(null)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[O]);let q=[{key:"overview",href:"/",icon:x.A},{key:"drift",href:"/drift/",icon:j.A},{key:"contract",href:"/contract/",icon:m.A},{key:"viewports",href:"/viewports/",icon:p.A}],X=new Set,G=(s?.issues??[]).filter(e=>{let s=A[e.category];return!X.has(s)&&(X.add(s),!0)}).slice(0,4),J=s?.issues.filter(e=>("All"===$||A[e.category]===$)&&("all"===M||e.severity===M))??[];return(0,n.jsxs)("div",{className:"shell",children:[(0,n.jsx)("a",{href:"#main",className:"skip",children:"Skip to report"}),(0,n.jsxs)("aside",{className:"sidebar",children:[(0,n.jsxs)(l(),{href:"/",className:"brand",children:[(0,n.jsx)("img",{className:"brand-symbol",src:"/knot.svg",alt:"",width:34,height:34}),"tether",(0,n.jsx)("span",{className:"version",children:"0.2"})]}),(0,n.jsxs)("div",{className:"workspace",children:[(0,n.jsx)("div",{className:"workspace-icon",children:(0,n.jsx)(u.A,{size:18})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Local workspace"}),(0,n.jsx)("small",{children:"Latest scan"})]}),(0,n.jsx)("span",{className:"connection",title:"Local report"})]}),(0,n.jsx)("nav",{"aria-label":"Report navigation",children:q.map(({key:i,href:a,icon:t})=>(0,n.jsxs)(l(),{href:a,className:e===i?"active":"","aria-current":e===i?"page":void 0,children:[(0,n.jsx)(t,{size:17}),"drift"===i?"Drift":S[i],"drift"===i&&!!s?.issues.length&&(0,n.jsx)(E,{children:s.issues.length})]},i))}),(0,n.jsx)("div",{className:"sidebar-bottom",children:(0,n.jsxs)("div",{className:"local-note",children:[(0,n.jsx)(v.A,{size:16}),(0,n.jsx)("span",{children:"Data stays on this device"})]})})]}),(0,n.jsxs)("div",{className:"main-shell",children:[(0,n.jsxs)("header",{className:"topbar",children:[(0,n.jsxs)("div",{children:["tether ",(0,n.jsx)(g.A,{size:13}),(0,n.jsx)("b",{children:S[e]})]}),(0,n.jsxs)("span",{className:"local-pill",children:[(0,n.jsx)("i",{})," Local report"]})]}),(0,n.jsxs)("main",{id:"main",children:[(0,n.jsxs)("div",{className:"page-heading",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{children:S[e]}),(0,n.jsx)("p",{children:"overview"===e?"Changes since your baseline scan.":"drift"===e?"Review changes by category and severity.":"contract"===e?"Saved colors, typography, spacing, and other styles.":"Screenshots and layout issues at each screen size."})]}),(0,n.jsxs)("button",{className:"button",onClick:W,disabled:!s,children:[I?(0,n.jsx)(N.A,{size:15}):(0,n.jsx)(w.A,{size:15}),I?"Copied to clipboard":"Copy agent brief"]})]}),B&&(0,n.jsxs)("p",{role:"status",className:"notice",children:["Clipboard unavailable."," ",(0,n.jsx)("a",{href:"data:text/markdown;charset=utf-8,"+encodeURIComponent(s?.agentMarkdown??""),download:"tether-agent.md",children:"Download the agent brief"}),"."]}),t&&(0,n.jsxs)("div",{role:"alert",className:"empty",children:[(0,n.jsx)(y.A,{}),(0,n.jsx)("h2",{children:"No scan yet"}),(0,n.jsx)("p",{children:t}),(0,n.jsx)("code",{children:"tether init && tether check"})]}),!t&&!s&&(0,n.jsx)("div",{className:"empty",role:"status",children:"Loading scan…"}),s&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"scan-strip",children:[(0,n.jsxs)("span",{className:"scan-state",children:[(0,n.jsx)(f.A,{size:15})," Scan complete"]}),(0,n.jsx)("code",{children:s.scan.url}),(0,n.jsx)("span",{className:"scan-time",children:z(s.scan.createdAt)}),(0,n.jsxs)("span",{className:"snapshot-label",children:[s.scan.snapshots.length," snapshots"]})]}),s.scan.snapshots.some(e=>e.truncated)&&(0,n.jsx)("p",{className:"notice",children:"Partial coverage: an element limit was reached. Increase maxElements and scan again."}),"overview"===e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("section",{className:"stats-grid","aria-label":"Findings by severity",children:[{label:"Total drift findings",count:s.issues.length},...["high","medium","low"].map(e=>({label:`${e[0].toUpperCase()}${e.slice(1)} priority`,count:s.issues.filter(s=>s.severity===e).length}))].map(e=>(0,n.jsxs)("div",{className:"stat",children:[(0,n.jsx)("span",{className:"stat-label",children:e.label}),(0,n.jsx)("strong",{children:e.count})]},e.label))}),(0,n.jsxs)("p",{className:"scan-context",children:[s.elementCount," elements inspected \xb7"," ",new Set(s.scan.snapshots.map(e=>e.route)).size," ",1===new Set(s.scan.snapshots.map(e=>e.route)).size?"route":"routes"," ","\xb7"," ",new Set(s.scan.snapshots.map(e=>e.viewport.name)).size," ","viewport sizes"]}),(0,n.jsxs)("div",{className:"overview-columns",children:[(0,n.jsxs)("section",{children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsxs)("h2",{children:["Visual drift ",(0,n.jsx)(E,{children:s.issues.length})]}),(0,n.jsxs)(l(),{href:"/drift/",children:["View all deviations ",(0,n.jsx)(h.A,{size:14})]})]}),(0,n.jsx)("p",{className:"section-description",children:"One finding from each affected category."}),(0,n.jsxs)("div",{className:"issue-list",children:[G.map(e=>(0,n.jsx)(T,{issue:e,onInspect:U},e.id)),!s.issues.length&&(0,n.jsxs)("div",{className:"empty",children:[(0,n.jsx)(f.A,{}),(0,n.jsx)("h3",{children:"No drift detected"}),(0,n.jsx)("p",{children:"The scan matches your visual contract."})]})]})]}),(0,n.jsxs)("aside",{className:"overview-aside",children:[(0,n.jsxs)("div",{className:"contract-summary",children:[(0,n.jsx)("div",{className:"small-icon",children:(0,n.jsx)(m.A,{size:22})}),(0,n.jsx)("h3",{children:"Baseline styles"}),(0,n.jsx)("p",{children:"Styles saved from your baseline scan."}),(0,n.jsx)("div",{className:"palette-strip",children:s.contract.colors.slice(0,7).map(e=>(0,n.jsx)("span",{style:{background:e.value},title:e.value},e.value))}),(0,n.jsxs)("div",{className:"summary-pairs",children:[(0,n.jsx)("span",{children:"Color palette"}),(0,n.jsxs)("b",{children:[s.contract.colors.length," colors"]}),(0,n.jsx)("span",{children:"Type scale"}),(0,n.jsxs)("b",{children:[s.contract.fontSizes.length," sizes"]}),(0,n.jsx)("span",{children:"Spacing scale"}),(0,n.jsxs)("b",{children:[s.contract.spacing.length," values"]})]}),(0,n.jsxs)(l(),{className:"text-link",href:"/contract/",children:["View contract ",(0,n.jsx)(o.A,{size:15})]})]}),(0,n.jsxs)("div",{className:"viewport-summary",children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsx)("h3",{children:"Responsive checks"}),(0,n.jsx)(p.A,{size:16})]}),Array.from(new Map(s.scan.snapshots.map(e=>[e.viewport.name,e.viewport])).values()).map(e=>{let i=s.issues.filter(s=>"layout"===s.category&&s.viewports.includes(e.name)).length;return(0,n.jsxs)("div",{className:"viewport-line",children:[(0,n.jsxs)("span",{children:[e.name," ",(0,n.jsxs)("small",{children:[e.width,"px"]})]}),i?(0,n.jsxs)("span",{className:"layout-warning",children:[i," layout issues"]}):(0,n.jsx)(N.A,{size:15,className:"green"})]},e.name)}),(0,n.jsxs)(l(),{href:"/viewports/",className:"text-link",children:["Inspect screenshots ",(0,n.jsx)(o.A,{size:15})]})]}),(0,n.jsxs)("div",{className:"baseline-note",children:[(0,n.jsx)(v.A,{size:15}),(0,n.jsxs)("span",{children:["Baseline created ",z(s.baselineAt),(0,n.jsx)("br",{}),"Stored locally in ",(0,n.jsx)("code",{children:".tether/"})]})]})]})]})]}),"drift"===e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"filter-toolbar",children:[(0,n.jsx)("div",{className:"filters","aria-label":"Filter by category",children:C.map(e=>(0,n.jsx)("button",{onClick:()=>R(e),"aria-pressed":$===e,className:$===e?"selected":"",children:e},e))}),(0,n.jsxs)("label",{className:"severity-select",children:[(0,n.jsx)("span",{className:"sr-only",children:"Severity"}),(0,n.jsxs)("select",{value:M,onChange:e=>H(e.target.value),children:[(0,n.jsx)("option",{value:"all",children:"All severities"}),(0,n.jsx)("option",{value:"high",children:"High severity"}),(0,n.jsx)("option",{value:"medium",children:"Medium severity"}),(0,n.jsx)("option",{value:"low",children:"Low severity"})]})]})]}),(0,n.jsxs)("div",{className:"results-line",children:[J.length," ",1===J.length?"deviation":"deviations",(0,n.jsx)("span",{children:"Sorted by severity"})]}),(0,n.jsx)("div",{className:"drift-grid",children:J.map(e=>(0,n.jsx)(T,{issue:e,onInspect:U},e.id))}),!J.length&&(0,n.jsxs)("div",{className:"empty",children:[(0,n.jsx)(f.A,{}),(0,n.jsx)("h2",{children:"No matching deviations"}),(0,n.jsx)("p",{children:"No deviations match these filters."})]})]}),"contract"===e&&(0,n.jsx)(L,{report:s}),"viewports"===e&&(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{className:"viewport-grid",children:s.scan.snapshots.map(e=>{let i=s.issues.filter(s=>s.route===e.route&&s.viewports.includes(e.viewport.name)),a=i.filter(e=>"layout"===e.category);return(0,n.jsxs)("article",{className:"viewport-card",children:[(0,n.jsxs)("div",{className:"viewport-card-heading",children:[e.viewport.width<500?(0,n.jsx)(b.A,{size:18}):(0,n.jsx)(p.A,{size:18}),(0,n.jsx)("h3",{children:e.viewport.name}),(0,n.jsxs)("span",{children:[e.viewport.width," \xd7 ",e.viewport.height]})]}),(0,n.jsx)("button",{className:"screenshot-button",onClick:()=>_("/"+e.screenshot),"aria-label":`Enlarge ${e.viewport.name} screenshot for ${e.route}`,children:(0,n.jsx)("img",{src:"/"+e.screenshot,alt:`${e.route} at ${e.viewport.width} pixels`})}),(0,n.jsxs)("div",{className:"viewport-caption",children:[(0,n.jsx)("code",{children:e.route}),(0,n.jsxs)("span",{children:[i.length," deviations"]})]}),(0,n.jsxs)("div",{className:a.length?"viewport-status warning":"viewport-status",children:[a.length?(0,n.jsx)(y.A,{size:14}):(0,n.jsx)(f.A,{size:14}),a.length?a.map(e=>e.title).join(" \xb7 "):"Content fits the viewport"]}),(0,n.jsxs)("a",{href:"/"+e.screenshot,download:!0,className:"download-shot",children:[(0,n.jsx)(k.A,{size:13}),"Download capture"]})]},`${e.route}-${e.viewport.name}`)})})})]})]})]}),P&&s&&(0,n.jsx)(d,{issue:P,report:s,onClose:()=>U(null)},P.id),O&&(0,n.jsxs)("div",{className:"preview",role:"dialog","aria-modal":"true","aria-label":"Screenshot preview",onClick:()=>_(null),children:[(0,n.jsx)("button",{autoFocus:!0,onClick:()=>_(null),"aria-label":"Close preview",children:(0,n.jsx)(c.A,{size:22})}),(0,n.jsx)("img",{src:O,alt:"Full viewport capture",onClick:e=>e.stopPropagation()})]})]})}function L({report:e}){let s=e.contract,i=e=>[...e].sort((e,s)=>parseFloat(e.value)-parseFloat(s.value));return(0,n.jsxs)("div",{className:"contract-content",children:[(0,n.jsxs)("div",{className:"contract-banner",children:[(0,n.jsx)(m.A,{size:20}),(0,n.jsxs)("div",{children:[(0,n.jsx)("b",{children:"Saved tokens"}),(0,n.jsxs)("span",{children:["Recurring values \xb7 target of ",s.minOccurrences,"+ distinct elements per token"]})]}),(0,n.jsxs)("span",{className:"contract-date",children:["Baseline \xb7 ",z(e.baselineAt)]})]}),(0,n.jsxs)("section",{className:"token-section",children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsxs)("h2",{children:["01 ",(0,n.jsx)("span",{children:"Color palette"})]}),(0,n.jsxs)(E,{children:[s.colors.length," tokens"]})]}),(0,n.jsxs)("div",{className:"color-grid",children:[s.colors.map(e=>(0,n.jsxs)("div",{className:"color-token",children:[(0,n.jsx)("div",{className:"swatch",style:{background:e.value}}),(0,n.jsxs)("div",{children:[(0,n.jsx)("code",{children:e.value}),(0,n.jsxs)("small",{children:[e.count," elements"]})]})]},e.value)),!s.colors.length&&(0,n.jsx)(R,{})]})]}),(0,n.jsxs)("div",{className:"contract-two-columns",children:[(0,n.jsxs)("section",{className:"token-section",children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsxs)("h2",{children:["02 ",(0,n.jsx)("span",{children:"Typography"})]}),(0,n.jsxs)(E,{children:[s.fontSizes.length," sizes"]})]}),(0,n.jsxs)("div",{className:"type-info",children:[(0,n.jsx)("span",{children:s.fontFamilies.map(e=>e.value).join(" \xb7 ")}),(0,n.jsx)("code",{children:s.fontWeights.map(e=>e.value).join(" / ")})]}),(0,n.jsxs)("div",{className:"type-scale",children:[i(s.fontSizes).reverse().map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("code",{children:e.value}),(0,n.jsx)("span",{style:{fontSize:e.value},children:"The quick brown fox"}),(0,n.jsxs)("small",{children:["\xd7",e.count]})]},e.value)),!s.fontSizes.length&&(0,n.jsx)(R,{})]}),(0,n.jsxs)("p",{className:"token-footnote",children:["Line heights:"," ",s.lineHeights.map(e=>e.value).join(" \xb7 ")||"Browser default"]})]}),(0,n.jsxs)("section",{className:"token-section",children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsxs)("h2",{children:["03 ",(0,n.jsx)("span",{children:"Spacing"})]}),(0,n.jsxs)(E,{children:[s.spacing.length," steps"]})]}),(0,n.jsx)("p",{className:"token-caption",children:"Margins, padding, and gaps."}),(0,n.jsxs)("div",{className:"spacing-scale",children:[i(s.spacing).map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("code",{children:e.value}),(0,n.jsx)("div",{className:"spacing-track",children:(0,n.jsx)("span",{style:{width:`${Math.min(4*Math.abs(parseFloat(e.value)),260)}px`}})}),(0,n.jsxs)("small",{children:["\xd7",e.count]})]},e.value)),!s.spacing.length&&(0,n.jsx)(R,{})]})]})]}),(0,n.jsxs)("div",{className:"contract-two-columns",children:[(0,n.jsxs)("section",{className:"token-section",children:[(0,n.jsxs)("div",{className:"section-heading",children:[(0,n.jsxs)("h2",{children:["04 ",(0,n.jsx)("span",{children:"Corner radii"})]}),(0,n.jsxs)(E,{children:[s.radii.length," tokens"]})]}),(0,n.jsxs)("div",{className:"radius-grid",children:[i(s.radii).map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"radius-example",style:{borderRadius:e.value}}),(0,n.jsx)("code",{children:e.value}),(0,n.jsxs)("small",{children:[e.count," elements"]})]},e.value)),!s.radii.length&&(0,n.jsx)(R,{})]})]}),(0,n.jsxs)("section",{className:"token-section",children:[(0,n.jsx)("div",{className:"section-heading",children:(0,n.jsxs)("h2",{children:["05 ",(0,n.jsx)("span",{children:"Shadows & borders"})]})}),(0,n.jsxs)("div",{className:"shadow-grid",children:[s.shadows.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"shadow-example",style:{boxShadow:e.value},children:"Aa"}),(0,n.jsx)("code",{children:e.value})]},e.value)),!s.shadows.length&&(0,n.jsx)(R,{})]}),(0,n.jsx)("div",{className:"border-list",children:s.borders.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{style:{borderTop:e.value}}),(0,n.jsx)("code",{children:e.value}),(0,n.jsxs)("small",{children:["\xd7",e.count]})]},e.value))})]})]}),(0,n.jsxs)("section",{className:"token-section control-section",children:[(0,n.jsx)("div",{className:"section-heading",children:(0,n.jsxs)("h2",{children:["06 ",(0,n.jsx)("span",{children:"Control heights"})]})}),(0,n.jsxs)("div",{children:[i(s.elementHeights).map(e=>(0,n.jsxs)("span",{className:"control-token",children:[(0,n.jsx)("code",{children:e.value}),(0,n.jsxs)("small",{children:[e.count," controls"]})]},e.value)),!s.elementHeights.length&&(0,n.jsx)(R,{})]})]})]})}},5679:(e,s,i)=>{Promise.resolve().then(i.bind(i,469))}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{376:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,894,23))},894:()=>{}},e=>{e.O(0,[611,347,158,358],()=>e(e.s=376)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[337],{4486:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,7567,23))}},e=>{e.O(0,[347,158,358],()=>e(e.s=4486)),_N_E=e.O()}]);
|