---
title: "公開 API — zenit Zig UI ドキュメント"
description: "ある機能を ui のトップレベルから取るのか、サブ名前空間から取るのかをひと目で判断できます。"
url: https://zenit.z.express/ja/docs/reference/public-api
language: ja
alternate_en: https://zenit.z.express/docs/reference/public-api.md
alternate_zh: https://zenit.z.express/zh/docs/reference/public-api.md
alternate_es: https://zenit.z.express/es/docs/reference/public-api.md
alternate_ko: https://zenit.z.express/ko/docs/reference/public-api.md
alternate_fr: https://zenit.z.express/fr/docs/reference/public-api.md
alternate_de: https://zenit.z.express/de/docs/reference/public-api.md
project: zenit v0.1.0-alpha (Zig 0.15.2, macOS)
source: https://github.com/version-next/zenit
---

# 公開 API リファレンス

ある機能を ui のトップレベルから取るのか、サブ名前空間から取るのかをひと目で判断できます。

`src/ui/ui.zig` が公開 API のすべてです。アプリが使うのは `ui.*` と `ui.<group>.*` だけで、どちらかの名前を壊すことは API break とみなされます。

`imports.zig`

```zig
const ui = @import("ui");
const zenit_app = @import("zenit_app");

// Tier 1: straight off ui
const title = try ui.text(cx, "Hello", .{});

// Tier 2: through the group
const theme = &ui.theme.dark;
const Router = ui.fx.Router;
```

## Tier 1 · `ui.X`

どのアプリでも使うトップレベルの名前を用途別にまとめています。最初の 5 グループでほとんどの UI ファイルをカバーでき、最後のグループはカスタム描画とフレームワークのホスト向けです。

Runtime  
コンテキスト、ノード、ライフタイム`Cx · Node · Scope · Style · BoxStyle · HandlerRef`

Builders  
ノードの構築`box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode`

Styled  
テーマ安全な構築とスタイルシステム`boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme`

Layout  
レイアウトの値型`Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle`

Paint  
色と描画エフェクト`Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface`

Text  
テキスト属性と折り返し結果`TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection`

Media & cursor  
画像、アイコン、カーソル`ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc`

Reactive  
リアクティブの基本（全体は ui.reactive）`Signal · Memo · createEffect · createMemo`

Control flow  
条件分岐とリスト（ui.control\_flow にもあり）`Show · For · Match`

A11y  
アクセシビリティ属性`A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange`

Components  
制御 / 非制御 prop`ControlledProp`

Advanced  
カスタム描画、レイアウトコールバック、分割タスク`DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame`

## Tier 2 · `ui.<group>.X`

関心事ごとに分類しています。基本機能以上が必要になったときに使ってください。

| 名前空間 | 内容 |
| --- | --- |
| `ui.widgets` | コンポーネントライブラリ全体：Button、Input、Modal、Tabs、VirtualList、Calendar、Notifier、FormOf… |
| `ui.fx` | アニメーション（Tween、Spring、Timeline）、物理、Transition / SnapshotTransition、Router |
| `ui.events` | 完全な Event と EventResult、およびキー・マウス・スクロール・ドラッグ・IME（ImePreeditEvent / ImeCommitEvent）の payload |
| `ui.hooks` | useHover、useFocusRing、useHoverHighlight、useAnimatedBackground、onMount / onCleanup |
| `ui.reactive` | リアクティブシステム全体：Scope、Context、StoreOf、SignalOwner、eqlValue |
| `ui.control_flow` | Show / For / Match とそのオプション型 |
| `ui.focus` | FocusManager、FocusScopeConfig、タブ順序 |
| `ui.actions` | Action、KeyBinding、CommandBinding、ActionDispatcher |
| `ui.theme` | ThemeTokens、ColorTokens と組み込みの light / dark / high\_contrast |
| `ui.icons` | 選択した provider の完全なアイコンカタログ（get、all） |
| `ui.system_icons` | provider に依存しないセマンティックアイコンロール |
| `ui.assets` | SVG Asset 型と旧互換の common アイコン |
| `ui.interaction` | RangeHoverRegistry や drag などのインタラクションプリミティブ |
| `ui.select_headless` | Select の headless ステートマシン（step、commitSelection） |
| `ui.gesture` | ジェスチャー認識と調停（Recognizer、GestureArena） |
| `ui.hit / ui.path` | ヒットテスト（HitQuery、HitBehavior…）とパスジオメトリ（PathCommand、Transform2D…） |
| `ui.platform_services` | クリップボードとファイルダイアログ（引数は cx.system\_sdk） |
| `ui.text_shaping` | フォント解決と計測のフック（setShapeFontResolver…） |
| `ui.console` | Cx ごとのログ：Console、ScopedConsole、Level、Config、Snapshot |
| `ui.devtools` | overlay（ウィンドウ内インスペクター）、mountPanel（独立パネル）、trace、source\_link |

コンポーネントの props と結果型は[コンポーネントサイト](https://zenit.z.express/ja/components)に、アイコン一覧は [Icon Gallery](https://zenit.z.express/ja/docs/guide/icons) にあります。`ui.a11y` はプラットフォームランタイムの接続専用で、アプリ作者には不要です。コンポーネントのアクセシビリティ情報はノードの `A11yProps` に書きます。

## zenit\_app

`zenit_app.App` は単一ウィンドウ用のランタイムヘルパーで、プラットフォーム / GPU / フォントの初期化とイベントループを担います。`zenit_app.MultiWindowApp` は複数の独立したネイティブウィンドウを管理します（上限 16 個、超えると `error.TooManyWindows` を返します）。同じモジュールは `WindowConfig`、`MultiWindowConfig`、`FontConfig`、`ResourcePath` もエクスポートします。高度なホストはより低レベルのインターフェースを使えますが、通常のアプリはここから始めてください。

## 境界

> WARNING
> 
> **内部 API は互換性を約束しません。** `core/`、`reactive/`、`i18n/` などのソースパスから直接インポートしないでください。新しいトップレベル名前空間は `ui.zig` の allowlist テストに登録する必要があります。新しい機能を公開する前に、公開名前空間で安定したインターフェースを設計してください。
