Skip to content

deps(web): bump the npm-minor-patch group in /web with 6 updates#13

Closed
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/npm_and_yarn/web/npm-minor-patch-3680922234
Closed

deps(web): bump the npm-minor-patch group in /web with 6 updates#13
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/npm_and_yarn/web/npm-minor-patch-3680922234

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 25, 2026

Bumps the npm-minor-patch group in /web with 6 updates:

Package From To
react 19.2.4 19.2.5
react-dom 19.2.4 19.2.5
@tailwindcss/postcss 4.2.2 4.2.4
eslint-config-next 16.2.1 16.2.4
tailwindcss 4.2.2 4.2.4
ts-jest 29.4.6 29.4.9

Updates react from 19.2.4 to 19.2.5

Release notes

Sourced from react's releases.

19.2.5 (April 8th, 2026)

React Server Components

Commits

Updates react-dom from 19.2.4 to 19.2.5

Release notes

Sourced from react-dom's releases.

19.2.5 (April 8th, 2026)

React Server Components

Commits

Updates @tailwindcss/postcss from 4.2.2 to 4.2.4

Release notes

Sourced from @​tailwindcss/postcss's releases.

v4.2.4

Fixed

  • Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)

v4.2.3

Fixed

  • Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)
  • Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
  • Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
  • Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
  • Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
  • Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
  • Upgrade: never migrate files that are ignored by git (#19846)
  • Add .env and .env.* to default ignored content files (#19846)
  • Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
  • Canonicalization: migrate start-fullinset-s-full, start-autoinset-s-auto, start-pxinset-s-px, and start-<number>inset-s-<number> as well as negative versions (#19849)
  • Canonicalization: migrate end-fullinset-e-full, end-autoinset-e-auto, end-pxinset-e-px, and end-<number>inset-e-<number> as well as negative versions (#19849)
  • Canonicalization: move the - sign inside the arbitrary value -left-[9rem]left-[-9rem] (#19858)
  • Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))]-ml-(--width) (#19858)
  • Improve performance when scanning JSONL / NDJSON files (#19862)
  • Support NODE_PATH environment variable in standalone CLI (#19617)
Changelog

Sourced from @​tailwindcss/postcss's changelog.

[4.2.4] - 2026-04-21

Fixed

  • Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)

[4.2.3] - 2026-04-20

Fixed

  • Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)
  • Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
  • Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
  • Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
  • Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
  • Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
  • Upgrade: never migrate files that are ignored by git (#19846)
  • Add .env and .env.* to default ignored content files (#19846)
  • Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
  • Canonicalization: migrate start-fullinset-s-full, start-autoinset-s-auto, start-pxinset-s-px, and start-<number>inset-s-<number> as well as negative versions (#19849)
  • Canonicalization: migrate end-fullinset-e-full, end-autoinset-e-auto, end-pxinset-e-px, and end-<number>inset-e-<number> as well as negative versions (#19849)
  • Canonicalization: move the - sign inside the arbitrary value -left-[9rem]left-[-9rem] (#19858)
  • Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))]-ml-(--width) (#19858)
  • Improve performance when scanning JSONL / NDJSON files (#19862)
  • Support NODE_PATH environment variable in standalone CLI (#19617)
Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​tailwindcss/postcss since your current version.


Updates eslint-config-next from 16.2.1 to 16.2.4

Release notes

Sourced from eslint-config-next's releases.

v16.2.4

[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • chore: Bump reqwest to 0.13.2 (Fixes Google Fonts with Turbopack for Windows on ARM64) (#92713)
  • Turbopack: fix filesystem watcher config not applying follow_symlinks(false) (#92631)
  • Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router) (#92580)
  • Compiler: Support boolean and number primtives in next.config defines (#92731)
  • turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation (#92725)
  • Turbopack: shorter error for ChunkGroupInfo::get_index_of (#92814)
  • Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index (#92828)
  • Adding more system info to the 'initialize project' trace (#92427)

Credits

Huge thanks to @​Badbird5907, @​lukesandberg, @​andrewimm, @​sokra, and @​mischnic for helping!

v16.2.3

[!NOTE] This release is backporting security and bug fixes. For more information about the fixed security vulnerability, please see https://vercel.com/changelog/summary-of-cve-2026-23869. The release does not include all pending features/changes on canary.

Core Changes

  • Ensure app-page reports stale ISR revalidation errors via onRequestError (#92282)
  • Fix [Bug]: manifest.ts breaks HMR in Next.js 16.2 (#91981 through #92273)
  • Deduplicate output assets and detect content conflicts on emit (#92292)
  • Fix styled-jsx race condition: styles lost due to concurrent rendering (#92459)
  • turbo-tasks-backend: stability fixes for task cancellation and error handling (#92254)

Credits

Huge thanks to @​icyJoseph, @​sokra, @​wbinnssmith, @​eps1lon and @​ztanner for helping!

v16.2.2

[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • backport: Move expanded adapters docs to API reference (#92115) (#92129)
  • Backport: TypeScript v6 deprecations for baseUrl and moduleResolution (#92130)
  • [create-next-app] Skip interactive prompts when CLI flags are provided (#91840)
  • next.config.js: Accept an option for serverFastRefresh (#91968)
  • Turbopack: enable server HMR for app route handlers (#91466)
  • Turbopack: exclude metadata routes from server HMR (#92034)
  • Fix CI for glibc linux builds
  • Backport: disable bmi2 in qfilter #92177
  • [backport] Fix CSS HMR on Safari (#92174)

... (truncated)

Commits

Updates tailwindcss from 4.2.2 to 4.2.4

Release notes

Sourced from tailwindcss's releases.

v4.2.4

Fixed

  • Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)

v4.2.3

Fixed

  • Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)
  • Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
  • Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
  • Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
  • Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
  • Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
  • Upgrade: never migrate files that are ignored by git (#19846)
  • Add .env and .env.* to default ignored content files (#19846)
  • Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
  • Canonicalization: migrate start-fullinset-s-full, start-autoinset-s-auto, start-pxinset-s-px, and start-<number>inset-s-<number> as well as negative versions (#19849)
  • Canonicalization: migrate end-fullinset-e-full, end-autoinset-e-auto, end-pxinset-e-px, and end-<number>inset-e-<number> as well as negative versions (#19849)
  • Canonicalization: move the - sign inside the arbitrary value -left-[9rem]left-[-9rem] (#19858)
  • Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))]-ml-(--width) (#19858)
  • Improve performance when scanning JSONL / NDJSON files (#19862)
  • Support NODE_PATH environment variable in standalone CLI (#19617)
Changelog

Sourced from tailwindcss's changelog.

[4.2.4] - 2026-04-21

Fixed

  • Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)

[4.2.3] - 2026-04-20

Fixed

  • Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)
  • Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
  • Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
  • Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
  • Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
  • Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
  • Upgrade: never migrate files that are ignored by git (#19846)
  • Add .env and .env.* to default ignored content files (#19846)
  • Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
  • Canonicalization: migrate start-fullinset-s-full, start-autoinset-s-auto, start-pxinset-s-px, and start-<number>inset-s-<number> as well as negative versions (#19849)
  • Canonicalization: migrate end-fullinset-e-full, end-autoinset-e-auto, end-pxinset-e-px, and end-<number>inset-e-<number> as well as negative versions (#19849)
  • Canonicalization: move the - sign inside the arbitrary value -left-[9rem]left-[-9rem] (#19858)
  • Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))]-ml-(--width) (#19858)
  • Improve performance when scanning JSONL / NDJSON files (#19862)
  • Support NODE_PATH environment variable in standalone CLI (#19617)
Commits

Updates ts-jest from 29.4.6 to 29.4.9

Release notes

Sourced from ts-jest's releases.

v29.4.9

Please refer to CHANGELOG.md for details.

v29.4.8

No release notes provided.

v29.4.7

Please refer to CHANGELOG.md for details.

Changelog

Sourced from ts-jest's changelog.

29.4.7 (2026-04-01)

Features

Commits
  • bac2e77 chore(release): bump version to 29.4.9
  • f8a9cc9 fix: use correct registry for npm OIDC trusted publishing
  • e2eec26 fix: npm permissions
  • 263f2ac chore: remove npm auth token
  • 5df0e45 OIDC
  • f82c144 Merge pull request #5250 from kulshekhar/copilot/bump-patch-version
  • e6ec5ae Update CHANGELOG.md
  • 62c3199 Update CHANGELOG.md
  • 052e751 Bump patch version to 29.4.7
  • f79e77b Merge pull request #5249 from ext/feature/ts6-peer
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for ts-jest since your current version.


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

jiashuoz and others added 2 commits April 24, 2026 20:43
e2a is an authenticated email gateway for AI agents. SMTP relay
verifies SPF/DKIM, signs HMAC X-E2A-Auth-* headers bound to each
message, and delivers via webhook (cloud agents) or WebSocket (local
agents). Outbound API for agent-to-agent and agent-to-human sends.
Optional human-in-the-loop approval for outbound mail.

Built and used internally at Mnexa AI before going open. See README.md
for what it does, the hosted instance at e2a.dev, and how to self-host
with `docker compose up`.

Apache 2.0 — see LICENSE.

Signed-off-by: Josh Zhang <jszjosh@gmail.com>
Bumps the npm-minor-patch group in /web with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.5` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.4` | `19.2.5` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.2.4` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.2.1` | `16.2.4` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.2.4` |
| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.6` | `29.4.9` |


Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react)

Updates `react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom)

Updates `@tailwindcss/postcss` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-postcss)

Updates `eslint-config-next` from 16.2.1 to 16.2.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/commits/v16.2.4/packages/eslint-config-next)

Updates `tailwindcss` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss)

Updates `ts-jest` from 29.4.6 to 29.4.9
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.4.6...v29.4.9)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: react-dom
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: eslint-config-next
  dependency-version: 16.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: tailwindcss
  dependency-version: 4.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
- dependency-name: ts-jest
  dependency-version: 29.4.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Apr 25, 2026
@dependabot dependabot Bot requested a review from jiashuoz as a code owner April 25, 2026 03:45
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Apr 25, 2026
@jiashuoz jiashuoz closed this Apr 25, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Apr 25, 2026

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/web/npm-minor-patch-3680922234 branch April 25, 2026 05:14
jiashuoz added a commit that referenced this pull request May 23, 2026
Port the seven mocked pages to the Loft visual grammar and apply tokens
across out-of-scope routes (blog, docs, api-docs, 404, 500). Built on
top of the foundations from #105 — same token surface, no new deps.

New shared primitive:
- components/loft/PageShell.tsx — eyebrow + Instrument-Serif h1 +
  optional Topbar crumbs + responsive content wrapper. Every dashboard
  page uses it as a single hand-off from app shell to page content.

Pages ported:
- /                       cream surface, Instrument-Serif hero with
                          ember italic, ember CTA, ink CodeBlock per
                          tab (CLI/Claude/Python/Webhook), 3-step grid,
                          HITL editorial 2-col, 6-card use-cases grid.
- /(app)/layout.tsx       drops the max-w-4xl wrapper; adds mobile
                          slide-in sheet (hamburger + backdrop + ESC,
                          delegated link-click closes the sheet).
- /get-started            PageShell + redesigned AddressChoice with
                          chips, ember code preview, recommendation
                          callout. Sub-components updated lightly:
                          serif headers, Loft warn/danger/success tones,
                          ink CodeBlock.
- /dashboard              PageShell + 4-card stats strip (renders `—`
                          per BACKEND_TODO #1). AgentCard rebuilt with
                          Loft Chip/Dot primitives, ink mono ID line,
                          ember Connect button.
- /dashboard/pending      PageShell + card list with mono identifier
                          line and warn-toned expiry countdown.
- /dashboard/pending/review  PageShell with Outbound·review eyebrow,
                          ember Approve & send, danger-bordered Reject.
                          Renders `reviewed_at` only (no reviewer name)
                          per BACKEND_TODO #6.
- /api-keys               PageShell + table with mono-chip Prefix
                          column. Last used + Scopes columns hidden
                          per BACKEND_TODO #3 / #11.
- /domains                PageShell + stats strip (Total / Verified /
                          Pending / Agents·7d — the last is `—` per #1).
                          DomainCard rebuilt with chips, mono identifier
                          line. DKIM row hidden per #4 / #5.
- /settings               PageShell + Usage strip (all `—` per #1) +
                          Notifications stub ("Coming soon" per #12) +
                          Profile (Edit name disabled per #8) + Signing
                          secrets (existing UX preserved, restyled) +
                          Export + Danger zone (Loft danger tones).

Out-of-scope:
- /blog                   reading layout uses Loft tokens, ember italic
                          on hero. Per-post MDX layouts inherit via
                          globals.css; not individually restyled.
- /docs, /docs/python     redirect pages restyled to Loft tokens.
- /api-docs               wrapped in an ink-bordered container; Scalar
                          iframe keeps its own theme (TODO: pass Loft
                          tokens into public/scalar.html).
- /not-found, /error      new pages — italic clamp-sized 404/500 in
                          ember Instrument Serif, mono path readout,
                          ember CTA back to /dashboard.

Tests:
- page.test.tsx, domains/page.test.tsx — rewritten where copy/markup
  shifted; everything else mounts unchanged.
- npm run lint && npm test && npm run build all green
  (146 tests, 24 routes).

Graceful degradation (renders `—` or hides until backend ships):
- Dashboard stats strip ............. BACKEND_TODO #1
- Per-agent stats row ............... BACKEND_TODO #2
- API keys: Last used column ........ BACKEND_TODO #3 (hidden)
- API keys: Scopes column ........... BACKEND_TODO #11 (intentionally
                                       omitted)
- Domains: DKIM DNS row ............. BACKEND_TODO #4/#5 (hidden)
- Domains: per-record status ........ BACKEND_TODO #4 (single global
                                       Verified/Unverified chip only)
- Domains: Agents·7d stat ........... BACKEND_TODO #1
- Settings → Usage cards ............ BACKEND_TODO #1 (all `—`)
- Settings → Edit name .............. BACKEND_TODO #8 (button disabled
                                       with tooltip)
- Settings → Notifications .......... BACKEND_TODO #12 ("Coming soon")
- Pending review: reviewer name ..... BACKEND_TODO #6 (reviewed_at only)
- ⌘K search affordance .............. BACKEND_TODO #13 (gated on
                                       NEXT_PUBLIC_SEARCH_ENABLED,
                                       off by default)

Not in this PR (separate work streams):
- Magic-link approval landing — Go templates in
  internal/agent/hitl_magic_api.go. Touches Go, not web/.
- Five dashboard sub-components (ActivityPanel, HITLEditor,
  WebhookEditor, AgentModeSwitcher, ConnectInstructions) — kept their
  existing Tailwind markup, which already bridges to Loft tokens via
  globals.css @theme inline. Visual grammar (eyebrows, serif headings,
  chips) wasn't applied; flagged for a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jiashuoz added a commit that referenced this pull request May 23, 2026
Port the seven mocked pages to the Loft visual grammar and apply tokens
across out-of-scope routes (blog, docs, api-docs, 404, 500). Built on
top of the foundations from #105 — same token surface, no new deps.

New shared primitive:
- components/loft/PageShell.tsx — eyebrow + Instrument-Serif h1 +
  optional Topbar crumbs + responsive content wrapper. Every dashboard
  page uses it as a single hand-off from app shell to page content.

Pages ported:
- /                       cream surface, Instrument-Serif hero with
                          ember italic, ember CTA, ink CodeBlock per
                          tab (CLI/Claude/Python/Webhook), 3-step grid,
                          HITL editorial 2-col, 6-card use-cases grid.
- /(app)/layout.tsx       drops the max-w-4xl wrapper; adds mobile
                          slide-in sheet (hamburger + backdrop + ESC,
                          delegated link-click closes the sheet).
- /get-started            PageShell + redesigned AddressChoice with
                          chips, ember code preview, recommendation
                          callout. Sub-components updated lightly:
                          serif headers, Loft warn/danger/success tones,
                          ink CodeBlock.
- /dashboard              PageShell + 4-card stats strip (renders `—`
                          per BACKEND_TODO #1). AgentCard rebuilt with
                          Loft Chip/Dot primitives, ink mono ID line,
                          ember Connect button.
- /dashboard/pending      PageShell + card list with mono identifier
                          line and warn-toned expiry countdown.
- /dashboard/pending/review  PageShell with Outbound·review eyebrow,
                          ember Approve & send, danger-bordered Reject.
                          Renders `reviewed_at` only (no reviewer name)
                          per BACKEND_TODO #6.
- /api-keys               PageShell + table with mono-chip Prefix
                          column. Last used + Scopes columns hidden
                          per BACKEND_TODO #3 / #11.
- /domains                PageShell + stats strip (Total / Verified /
                          Pending / Agents·7d — the last is `—` per #1).
                          DomainCard rebuilt with chips, mono identifier
                          line. DKIM row hidden per #4 / #5.
- /settings               PageShell + Usage strip (all `—` per #1) +
                          Notifications stub ("Coming soon" per #12) +
                          Profile (Edit name disabled per #8) + Signing
                          secrets (existing UX preserved, restyled) +
                          Export + Danger zone (Loft danger tones).

Out-of-scope:
- /blog                   reading layout uses Loft tokens, ember italic
                          on hero. Per-post MDX layouts inherit via
                          globals.css; not individually restyled.
- /docs, /docs/python     redirect pages restyled to Loft tokens.
- /api-docs               wrapped in an ink-bordered container; Scalar
                          iframe keeps its own theme (TODO: pass Loft
                          tokens into public/scalar.html).
- /not-found, /error      new pages — italic clamp-sized 404/500 in
                          ember Instrument Serif, mono path readout,
                          ember CTA back to /dashboard.

Tests:
- page.test.tsx, domains/page.test.tsx — rewritten where copy/markup
  shifted; everything else mounts unchanged.
- npm run lint && npm test && npm run build all green
  (146 tests, 24 routes).

Graceful degradation (renders `—` or hides until backend ships):
- Dashboard stats strip ............. BACKEND_TODO #1
- Per-agent stats row ............... BACKEND_TODO #2
- API keys: Last used column ........ BACKEND_TODO #3 (hidden)
- API keys: Scopes column ........... BACKEND_TODO #11 (intentionally
                                       omitted)
- Domains: DKIM DNS row ............. BACKEND_TODO #4/#5 (hidden)
- Domains: per-record status ........ BACKEND_TODO #4 (single global
                                       Verified/Unverified chip only)
- Domains: Agents·7d stat ........... BACKEND_TODO #1
- Settings → Usage cards ............ BACKEND_TODO #1 (all `—`)
- Settings → Edit name .............. BACKEND_TODO #8 (button disabled
                                       with tooltip)
- Settings → Notifications .......... BACKEND_TODO #12 ("Coming soon")
- Pending review: reviewer name ..... BACKEND_TODO #6 (reviewed_at only)
- ⌘K search affordance .............. BACKEND_TODO #13 (gated on
                                       NEXT_PUBLIC_SEARCH_ENABLED,
                                       off by default)

Not in this PR (separate work streams):
- Magic-link approval landing — Go templates in
  internal/agent/hitl_magic_api.go. Touches Go, not web/.
- Five dashboard sub-components (ActivityPanel, HITLEditor,
  WebhookEditor, AgentModeSwitcher, ConnectInstructions) — kept their
  existing Tailwind markup, which already bridges to Loft tokens via
  globals.css @theme inline. Visual grammar (eyebrows, serif headings,
  chips) wasn't applied; flagged for a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant