Skip to content

API Reference

Quick reference of all exports from kokage_ui.

Core

Export Module Description
KokageUI core FastAPI integration — page(), fragment(), crud(), validate() decorators
Page page Full <!DOCTYPE html> document generator

HTML Elements

All elements inherit from Component. Children are positional args, attributes are keyword args.

Export Tag Notes
Component div Base class for all elements
Raw Insert raw (unescaped) HTML
Div <div>
Span <span>
Section <section>
Article <article>
Aside <aside>
Header <header>
Footer <footer>
Main <main>
Nav <nav>
P <p>
H1H6 <h1><h6>
Strong <strong>
Em <em>
Small <small>
Pre <pre>
Code <code>
Blockquote <blockquote>
A <a>
Img <img> Void element
Br <br> Void element
Hr <hr> Void element
Ul <ul>
Ol <ol>
Li <li>
Table <table>
Thead <thead>
Tbody <tbody>
Tfoot <tfoot>
Tr <tr>
Th <th>
Td <td>
Form <form>
Button <button>
Input <input> Void element
Textarea <textarea>
Select <select>
Option <option>
Label <label>
Fieldset <fieldset>
Legend <legend>
Script <script>
Style <style>
Link <link> Void element
Meta <meta> Void element
Title <title>
Head <head>
Body <body>
Html <html>
Figure <figure>
Figcaption <figcaption>
Details <details>
Summary <summary>
Dialog <dialog>
Progress <progress>

DaisyUI Components

Export Description
Card Card with title, image, actions
Stat Single stat item
Stats Stats container
Hero Hero banner section
Alert Alert notification (info/success/warning/error)
Badge Small label badge
NavBar Navigation bar (start/center/end)
DaisyButton Styled button (color/variant/size)
DaisyInput Form input with label
DaisySelect Select dropdown with label
DaisyTextarea Textarea with label
DaisyTable Data table with headers and rows
Toast Toast notification
Layout Reusable page layout builder
Modal Dialog overlay (showModal())
Drawer Sidebar/off-canvas panel
Tab Single tab definition (BaseModel)
Tabs Tabbed navigation (link or content mode)
Step Single step definition (BaseModel)
Steps Progress step indicator
TimelineItem Single timeline item definition (BaseModel)
Timeline Timeline component (vertical/horizontal)
Breadcrumb Navigation breadcrumb trail
Collapse Expandable content section
Accordion Radio-linked collapse group
Dropdown Dropdown menu (click or hover)
FileUpload File upload input with styling
DropZone Drag-and-drop file upload area
DependentSelect Select that depends on another field
Autocomplete Server-side search autocomplete (combobox)
autocomplete_option Helper to create autocomplete option <li>

Pydantic Model → UI

Export Description
ModelForm Auto-generate form from BaseModel
ValidatedModelForm Form with real-time field validation
ModelTable Auto-generate table from BaseModel + rows
ModelDetail Auto-generate detail card from model instance
SortableTable Table with sortable column headers

DataGrid

Export Description
DataGrid Advanced table with sort, filter, pagination, bulk actions, CSV export
DataGridState Parse grid state from request query parameters
ColumnFilter Per-column filter definition (text, select, number_range)

htmx Helpers

Export Description
AutoRefresh Poll URL at interval (hx-trigger="every Ns")
SearchFilter Debounced search input (hx-trigger="keyup changed delay:Nms")
InfiniteScroll Load on scroll (hx-trigger="revealed")
SSEStream Server-Sent Events receiver (htmx SSE extension)
ConfirmDelete Delete button with confirmation (hx-confirm + hx-delete)
HxSwapOOB Out-of-Band swap (hx-swap-oob)
DependentField Field that updates based on another field's value
InlineEdit Click-to-edit inline editing (hx-get display → hx-patch form)

Multi-step Forms

Export Description
FormStep Step definition (title, fields, description)
MultiStepForm Multi-step form with progress and htmx navigation

CRUD

Export Description
CRUDRouter Auto-register all CRUD routes for a model
Storage Abstract storage interface (ABC)
InMemoryStorage Dict-based in-memory storage
Pagination Pagination button group component
SQLModelStorage Async SQL storage via SQLModel (requires kokage-ui[sql])
create_tables Create all SQLModel tables

Admin Dashboard

Export Description
AdminSite Auto-generate admin panel from registered models
ModelAdmin Model registration configuration (BaseModel)

Authentication & Authorization

Export Description
LoginForm Pre-built login form card
RegisterForm Pre-built registration form card
UserMenu User dropdown menu for NavBar
RoleGuard Server-side role-based content guard
protected Route protection decorator (auth + role check)

Theme

Export Description
DarkModeToggle Light/dark theme toggle with sun/moon icons
ThemeSwitcher Theme selector dropdown with color previews

Notifications

Export Description
Notifier Server-side SSE notification dispatcher
NotificationStream Client-side SSE listener with toast display

Data Display

Export Description
Chart Chart.js chart (line, bar, pie, doughnut, radar, scatter)
Dataset Typed Chart.js dataset (BaseModel, extra="allow")
ChartData Typed Chart.js data config (labels + datasets)
ChartOptions Typed Chart.js options config (BaseModel, extra="allow")
CodeBlock Syntax-highlighted code block (Highlight.js)
Markdown Server-side Markdown rendering (requires kokage-ui[markdown])

AI Chat

Export Description
ChatView Streaming chat UI with DaisyUI chat bubbles
ChatMessage Chat message model (role, content, name)
chat_stream Convert async token generator to SSE StreamingResponse

AI Agent

Export Description
AgentView Agent dashboard with tool call visualization, status/metrics bars
AgentEvent Framework-agnostic SSE event (text, tool_call, tool_result, status, error, done)
AgentMessage Agent message model with optional tool_calls
ToolCall Tool call record (name, input, result, call_id)
agent_stream Convert async AgentEvent generator to SSE StreamingResponse