mirror of
https://github.com/hanzoai/finance.git
synced 2026-10-30 18:36:28 +00:00
Catch this repo up to the published 8.x fleet standard.
Packages (verified latest on npm, not assumed):
@hanzo/gui ^7.3.0 → ^8.0.1
@hanzo/ui ^8.0.0 → ^8.0.39
@hanzogui/config ^7.3.0 → ^8.0.1
@hanzogui/next-theme ^7.3.0 → ^8.0.0
@hanzo/data ^1.2.0 → ^1.2.2
@hanzogui/lucide-icons-2 — dropped; it is a hard dependency of @hanzo/ui now,
so naming it here was a second place for one fact to live.
8.x moved DataTable / LineChart / Sparkline off the root barrel (the root is a
client boundary and Next 16 refuses `export *` across one), so those imports
now come from @hanzo/ui/product. The product barrel hard-imports
react-native-svg with no declared dependency on it, so web declares it.
ONE gui config. Both packages carried their own `createGui(defaultConfig)` —
exactly the fork @hanzo/ui/gui-config exists to prevent ("a second app that
copied it would fork it"). Both copies are deleted; gui.d.ts and GuiRoot read
the canonical scale, so the finance board now renders with the type ladder,
radii and spacing the console renders it with.
ONE Hanzo mark. web/src/components/Logo.tsx hand-copied the 7-path glyph
byte-for-byte; it now re-exports @hanzo/ui/product's HanzoMark. No bundle cost —
/signin and /auth/callback stayed at 104 kB.
Post-Tailwind theming: @hanzo/ui 8.x ships its identity as plain CSS custom
properties, so the app imports @hanzo/ui/theme.css + the motion/skeleton rules
and marks <html class="dark">. Body type binds --font-geist-sans. Verified in
the built CSS bundle: --background, --font-geist-sans, .dark and .hz-skeleton
all land alongside the finance brand chrome. (No Tailwind, shadcn or Radix was
ever present in this repo — nothing to strip.)
TypeScript 7 native: @typescript/native-preview, and typecheck/build run tsgo.
Both packages are clean under it. tsgo is stricter than tsc about side-effect
imports of unresolvable modules (TS2882), which is what web/css.d.ts declares —
Next only ships a `*.module.css` declaration.
next.config: @hanzo/gui and all ~114 @hanzogui/* packages ship built dist in
8.x, so the readdirSync sweep that fed transpilePackages is gone. Only the two
packages that publish raw TypeScript source (@hanzo/finance-ui, @hanzo/data)
still need transpiling.
Also: POS/NEG sign colors are exported from one place instead of the hex being
re-spelled in cards.tsx, and ad-hoc `as never` color casts go through
@hanzo/ui's sanctioned `asColor`.
Verified: pnpm install --frozen-lockfile, then the exact web/Dockerfile CI gate —
finance-ui tsgo + 27/27 vitest + next build, 11/11 static pages, exit 0. Booted
the standalone server and rendered the landing page and /signin.
Co-authored-by: Hanzo Dev <[email protected]>
18 lines
671 B
TypeScript
18 lines
671 B
TypeScript
/**
|
|
* Registers THE canonical Hanzo Gui config (`@hanzo/ui/gui-config`) with the type
|
|
* system so @hanzo/gui + @hanzo/ui shorthand style props (bg/px/py/items/justify/
|
|
* rounded/gap/$colorN …) are typed. Same config object `GuiRoot` mounts at runtime,
|
|
* and the same one the console mounts — so the shared finance board renders identically
|
|
* on both. `GuiCustomConfig` is declared in @hanzogui/web and flows through
|
|
* @hanzogui/core / @hanzo/gui.
|
|
*/
|
|
import type { Conf } from '@hanzo/ui/gui-config'
|
|
|
|
declare module '@hanzogui/web' {
|
|
interface GuiCustomConfig extends Conf {}
|
|
}
|
|
|
|
declare module '@hanzogui/core' {
|
|
interface GuiCustomConfig extends Conf {}
|
|
}
|