Batoi UIFExamples
Library · UI components

Component Gallery

Live dependency-free components with copy-ready markup for server-rendered applications, Micro Apps, dashboards, RAD screens, and mobile-ready product interfaces.

34 Patterns
0 Runtime deps
ARIA Ready states
Examples

Framework-native components

Each card pairs a working preview with the lean HTML contract used by Batoi UIF.

Copy-ready Accessible defaults
Overlay

Modal

Dialog role, modal state, Escape close, and focus handoff.

<button class="uif-btn" data-uif-action="open" data-uif-target="#modal">Open modal</button>
<div id="modal" data-uif="modal" hidden>
  <div data-uif-role="dialog">
    <button data-uif-action="close">Close</button>
  </div>
</div>
Overlay

Drawer

Side-panel pattern for filters, details, and edit forms.

<button data-uif-action="open" data-uif-target="#drawer">Open drawer</button>
<aside id="drawer" class="uif-drawer uif-drawer-right" data-uif="drawer" hidden>
  <button data-uif-action="close">Close</button>
</aside>
Overlay

Dropdown

Toggleable menu with outside-click and Escape handling.

<div data-uif="dropdown">
  <button data-uif-role="trigger">Actions</button>
  <div data-uif-role="panel" hidden>...</div>
</div>
Navigation

Pagination

Compact paging controls for server-rendered lists.

<nav data-uif="pagination" aria-label="Pages">
  <button>Prev</button><button>1</button><button>Next</button>
</nav>
Feedback

Toast

Declarative notifications for saves, errors, and workflow events.

<button data-uif-action="toast" data-uif-message="Settings saved" data-uif-type="success">
  Show toast
</button>
Feedback

Accordion

Disclosure pattern for dense settings and help content.

All changes are reversible and audited.
<section data-uif="accordion">
  <button data-uif-role="trigger">Details</button>
  <div data-uif-role="panel">Content</div>
</section>
Feedback

Progress

Accessible progressbar state for upload and workflow steps.

<div data-uif="progress" data-uif-value="68"><span style="width:68%"></span></div>
Input

Combobox

Filterable option list with `uif:select` events.

<div data-uif="combobox">
  <input data-uif-role="input">
  <button data-uif-role="option" data-uif-value="Ada">Ada</button>
</div>
Input

File Upload

Drop-ready shell for server-mediated uploads.

<label data-uif="file-upload">
  <input type="file">
</label>
Layout

Cards, Badges, Alerts

Stable UI primitives for dashboards and app pages.

Policy check passed. Workspace scope matches agent permissions.
Active Review Blocked
<div class="uif-alert" data-uif="alert">Policy check passed.</div>
<span class="uif-badge uif-badge-success">Active</span>
Actions

Button Matrix

Semantic button variants, outline styles, icon-only controls, and dense page actions.

<button class="uif-btn uif-btn-success">Success</button>
<button class="uif-btn uif-btn-outline-danger">Danger</button>
<a class="uif-page-btn uif-page-btn-primary" href="#">Manage</a>
Toolbar

Search, Filters, Actions

Reusable action bars for table pages, reports, and admin workspaces.

3 filters
<section class="uif-toolbar-shell">
  <div class="uif-toolbar">
    <label class="uif-search"><input placeholder="Search..."></label>
    <button class="uif-btn uif-btn-sm">New</button>
  </div>
</section>
Forms

Form Section Grid

Professional 12-column form sections for dense server-rendered entry pages.

Customer Details

Aligned fields with responsive column spans.

<section class="uif-form-section">
  <div class="uif-form-grid-12">
    <label class="uif-field uif-col-6">...</label>
  </div>
</section>
Loading

Skeleton Loaders

Shared loading blocks for profile cards, report rows, and dashboards.

<div class="uif-skeleton-card">
  <span class="uif-skeleton uif-skeleton-avatar"></span>
  <span class="uif-skeleton uif-skeleton-line"></span>
</div>
Data

Summary Block

Key-value grids for profiles, report metadata, and right-rail detail summaries.

Workspace Snapshot

Compact metadata for operational pages.

Owner
Ashwini Rath
Platform Admin
Plan
Enterprise
Renews Jun 30
SLA
99.94%
30-day rolling
<section class="uif-summary-block">
  <div class="uif-kv-grid"><div class="uif-kv-item">...</div></div>
</section>
Data

Inspector Panel

Right-rail review cards for selected records, approvals, and drilldowns.

<aside class="uif-inspector">
  <div class="uif-inspector-head">...</div>
  <section class="uif-inspector-section">...</section>
</aside>
Dashboard

Stat Cards

KPI tiles with semantic trend states and reusable icon slots.

Revenue
$248K
Quarter-to-date bookings
+14.2% MoM
Incidents
3
Open operational exceptions
1 critical path
<article class="uif-stat-card">
  <div class="uif-stat-card-value">$248K</div>
  <div class="uif-stat-card-trend is-positive">+14.2%</div>
</article>
Workflow

Stepper and Timeline

Shared progress patterns for approvals, onboarding, and operational workflows.

1
Request
Submitted by agent
2
Review
Policy checks running
3
Approve
Needs owner sign-off
<div class="uif-stepper-item is-current">
  <div class="uif-stepper-badge">2</div>
  <div class="uif-stepper-title">Review</div>
</div>
Fallback

Empty State

Reusable fallback for empty reports, no search matches, and unconfigured workflows.

No matching records

Adjust filters or create a new record to populate this view.

<section class="uif-empty-state">
  <h3 class="uif-empty-state-title">No matching records</h3>
</section>
Filters

Filter Builder

Active filter chips, saved-view actions, and report filter summaries.

Active Filters

Current report constraints.

Status: Submitted Owner: Mira Date: This quarter
<section class="uif-filterbar">
  <span class="uif-filter-chip">Status: Submitted <button>×</button></span>
</section>
Commands

Command Palette

Searchable actions using the existing `command-menu` component behavior.

<div class="uif-command-menu" data-uif="command-menu">
  <input data-uif-role="search">
  <button data-uif-role="item">Open command center</button>
</div>
Native Inputs

Date and Color Pickers

Native browser controls with consistent UIF shells.

<span class="uif-input-shell"><input type="date"></span>
<span class="uif-color-picker"><input type="color"></span>
Notifications

Notification Center

Modal-based notification surface using UIF overlay behavior.

<div data-uif="modal" hidden>
  <div class="uif-notification-panel" data-uif-role="dialog">...</div>
</div>
Sizing

Button Size Matrix

Side-by-side button scales for forms, toolbars, and dense table pages.

UI buttons
Page buttonsSmallDefaultLarge
<button class="uif-btn uif-btn-sm">Small</button>
<button class="uif-btn">Default</button>
<a class="uif-page-btn uif-page-btn-lg">Large</a>
Tables

Table Utilities

Selectable rows, bulk action state, sortable headers, and status badges.

2 selected
AccountValueStatus
Metro Finance$42KProposal
Kalinga Retail$118KRisk
<div class="uif-table-bulkbar"><strong>2</strong> selected</div>
<table class="uif-table uif-data-grid" data-uif="table">...</table>
Headers

Hero Banner

Profile and report headers with avatar, actions, and metadata chips.

MF
Customer Record

Metro Finance

Enterprise account with active procurement review.

Record #2048FinanceReview due
<section class="uif-hero-banner">
  <div class="uif-hero-main">...</div>
  <div class="uif-hero-meta">...</div>
</section>
Layout

Section Shells and Card Headers

Titled page sections with actions and stacked inner cards.

Review Queue

Open Items

Reusable shell for dashboard bands.

Pending approval

3 items need review.

3 pending
<section class="uif-section-shell">
  <div class="uif-section-head">...</div>
  <article class="uif-card-shell">...</article>
</section>
Charts

Chart Cards and Legends

Standard wrapper for chart titles, chart surfaces, metadata, and legends.

Weekly Revenue

Reusable wrapper for SVG charts.

W14-W20
Chart surface
RevenueTarget
<section class="uif-chart-card">
  <div class="uif-chart-card-head">...</div>
  <div class="uif-chart-card-body">...</div>
</section>
Metrics

Metrics and Progress Bars

Ranked metric rows for productivity, utilization, and progress reports.

Billable hours32.5 hrs
78% of target
Overdue tasks7
Needs review
<div class="uif-metric-row">
  <div class="uif-progress-bar uif-progress-bar-success"><span style="width:78%"></span></div>
</div>
Menus

Dropdown Menus

Grouped action menus for rows, tables, and toolbar controls.

<div class="uif-dropdown-menu" data-uif="dropdown">
  <button data-uif-role="trigger">Actions</button>
  <div class="uif-menu-surface" data-uif-role="panel" hidden>...</div>
</div>
Forms

Form Utilities

Dirty-state notes, validation-ready fields, serialization output, and action rows.

Unsaved changes detected.
<form class="uif-form-section" data-uif="form">
  <input name="member_name" data-uif-rule="required">
  <div class="uif-note">Unsaved changes detected.</div>
</form>
Framework

AJAX, Loading, and Toasts

Standard states for async buttons, panels, and feedback toasts.

Panel loading target
Shared loading surface
<button class="uif-btn" aria-busy="true"><span class="uif-spinner uif-spinner-inline"></span>Saving</button>
<button data-uif-action="toast" data-uif-message="Saved">Show toast</button>
Inputs

Autosuggest Selects

Searchable single-select and multi-select patterns backed by regular form fields.

<div data-uif="combobox">
  <input class="uif-input" data-uif-role="input" placeholder="Search...">
  <button data-uif-role="option">Finance</button>
</div>
Feedback

Spinners

Shared loading indicators for inline text, buttons, and panels.

<span class="uif-spinner uif-spinner-sm uif-text-primary"></span>
<button class="uif-btn"><span class="uif-spinner uif-spinner-inline"></span>Saving</button>
Utilities

Standardized Text Colors

Semantic text utilities for emphasis without custom page CSS.

Primary text.uif-text-primary
Success text.uif-text-success
Danger text.uif-text-danger
<strong class="uif-text-success">Success text</strong>
<span class="uif-text-muted">Muted text</span>
Utilities

Spacing Utilities

Margin, padding, grid, gap, and flex utilities for quick app composition.

m-0 ... m-4mt-*mb-*p-0 ... p-6px-*py-*uif-gap-*uif-grid-*
`.uif-p-4` wrapper with inner spacing utilities
<section class="uif-p-4 uif-mt-3">
  <div class="uif-py-3 uif-px-4">Content</div>
</section>
Feedback

Alert Matrix

Semantic alert variants for success, warnings, errors, and neutral guidance.

Success alert
Record saved and audit trail updated.
Warning alert
Authorization expires in 48 hours.
Danger alert
Policy blocked this action.
Info alert
Sync will retry automatically.
<section class="uif-alert uif-alert-success">Saved</section>
<section class="uif-alert uif-alert-danger">Blocked</section>