mirror of
https://github.com/zoo-docs/docs.git
synced 2026-10-30 14:56:26 +00:00
@hanzo/docs 17 replaces the Tailwind/Base-UI stack. The home page now says what Zoo is — mission, DSO and PoAI with their papers, ecosystem, community — in gui primitives under a real nav, instead of a template's demo cards. Static search gains its index; the logo is the three-circle mark; linked headings paint at their own size. Co-authored-by: Hanzo Dev <[email protected]>
34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
/**
|
|
* Registers @hanzo/gui's config with the type system, so the shorthand style
|
|
* props this app is written in — `bg` `p` `px` `mb` `items` `justify` `gap`
|
|
* `rounded` — and the tokens they take resolve to concrete types.
|
|
*
|
|
* Derived from `defaultConfig` rather than from `@hanzo/ui/gui-config`: that
|
|
* module imports @hanzo/gui, whose types read this augmentation, and pointing at
|
|
* it closes a cycle that collapses every style prop to `any`. The one thing
|
|
* gui-config adds and this needs is `fonts.mono`, declared on the type here.
|
|
*
|
|
* Ambient and type-only; nothing is emitted.
|
|
*/
|
|
import type { createGui } from '@hanzo/gui';
|
|
import type { defaultConfig } from '@hanzogui/config/v5';
|
|
|
|
type Base = ReturnType<typeof createGui<typeof defaultConfig>>;
|
|
|
|
type Conf = Omit<Base, 'fonts'> & {
|
|
fonts: Base['fonts'] & { mono: Base['fonts']['body'] };
|
|
};
|
|
|
|
/* eslint-disable @typescript-eslint/no-empty-object-type --
|
|
the empty body IS the augmentation: `extends Conf` is what merges the config
|
|
into the interface gui declares, and an interface is the only construct
|
|
module augmentation can merge into. */
|
|
|
|
declare module '@hanzogui/web' {
|
|
interface GuiCustomConfig extends Conf {}
|
|
}
|
|
|
|
declare module '@hanzogui/core' {
|
|
interface GuiCustomConfig extends Conf {}
|
|
}
|