App
Root application wrapper that provides base structure and dark mode text inheritance.
Quick Start
<%= kui(:app) do %>
<%= yield %>
<% end %>
Locals
| Local | Type | Default |
|---|---|---|
css_classes: |
String |
"" |
**component_options |
Hash |
{} |
Usage
Wrap your application content in kui(:app) to set bg-background,
text-foreground, and antialiased on the root wrapper. This ensures text
colors inherit correctly in dark mode.
<%= kui(:app) do %>
<%= kui(:header) do %>
<%= kui(:container) do %>
<nav>...</nav>
<% end %>
<% end %>
<%= kui(:main) do %>
<%= kui(:container) do %>
<%= yield %>
<% end %>
<% end %>
<%= kui(:footer) do %>
<%= kui(:container) do %>
<p>© 2026</p>
<% end %>
<% end %>
<% end %>
Theme
# lib/kiso/themes/layout.rb
Kiso::Themes::App = ClassVariants.build(
base: "bg-background text-foreground antialiased"
)
Accessibility
| Attribute | Value |
|---|---|
data-slot |
"app" |
App renders a <div>. It is purely structural with no semantic role.