Core Concepts

UI Building Blocks

Pre-built components that give you consistency out of the box

TL;DR: Don't design screens from scratch. Compose them from ready-made blocks. Every list works the same. Every detail page looks the same. Consistency like Retool or Airtable.

The Idea

Traditional development: you build every screen from scratch. Button here, table there, figure out pagination, implement sorting, wire up filters...

Straktur approach: You get building blocks. Each block handles its complexity internally. You compose screens from these blocks. Result: consistent UX across your entire app.

Straktur UI Building Blocks Layout


List Page (DataTable)

The workhorse of any business app. Every list in Straktur uses the same DataTable component.

What You Get Out of the Box

FeatureDescription
Column sortingClick any header to sort. Ascending, descending, or none.
Column visibilityUsers can show/hide columns. Settings persist.
Two view modesTable view or Card view. User toggles between them.
PaginationClassic pagination with configurable page size (10, 25, 50, 100).
Infinite scrollAlternative to pagination. Loads more as you scroll.
SearchGlobal search across visible columns.
FiltersFaceted filters with badges showing active filters.
User preferencesAll settings (sort, columns, view mode, page size) saved per user.
ExportExport visible/filtered data to CSV or JSON.
Row actionsQuick action icons + dropdown menu per row.
Bulk actionsSelect multiple rows, apply action to all.

What It Looks Like

┌─────────────────────────────────────────────────────────────┐
│ [Search...]  [Status ▼] [Industry ▼]    [Table│Cards] [Export] │
├─────────────────────────────────────────────────────────────┤
│ ☐ │ Name          │ Status   │ Industry │ Created  │ ••• │
│ ☐ │ Acme Inc      │ Active   │ Tech     │ Jan 15   │ ••• │
│ ☐ │ Globex Corp   │ Lead     │ Finance  │ Jan 12   │ ••• │
│ ☐ │ Initech       │ Active   │ Tech     │ Jan 10   │ ••• │
├─────────────────────────────────────────────────────────────┤
│ [Bulk actions ▼]              Page 1 of 5  [< 1 2 3 4 5 >] │
└─────────────────────────────────────────────────────────────┘

For Your Prompts

You say...AI knows to...
"Add invoices list page"Use DataTable with standard features
"Add status filter to invoices"Add faceted filter component
"Enable card view for invoices"Configure view toggle
"Add bulk delete for invoices"Implement bulk action handler

Detail Page

When user clicks a row, they see the detail page. Consistent layout: header with key info, sections with grouped data.

What You Get Out of the Box

FeatureDescription
Entity headerAvatar/logo, title, subtitle, status badge, quick actions.
Section cardsGrouped information in collapsible cards.
Property rowsLabel-value pairs with consistent formatting.
Property grid2-3 column layout for dense information.
Related listsEmbedded DataTables for related records (contacts, activities).
TabsOrganize sections into tabs for complex entities.

What It Looks Like

┌─────────────────────────────────────────────────────────────┐
│ [←]  [Logo] Acme Inc                    [Edit] [Delete] [•••] │
│       Technology · Active · San Francisco                    │
├─────────────────────────────────────────────────────────────┤
│ ┌─ Company Details ──────────────────────────────────────┐  │
│ │ Industry      Technology     │  Website    acme.com    │  │
│ │ Employees     150            │  Revenue    $5M         │  │
│ └────────────────────────────────────────────────────────┘  │
│                                                              │
│ ┌─ Contacts (3) ─────────────────────────────────────────┐  │
│ │ John Smith    CEO           [email protected]    [Edit]    │  │
│ │ Jane Doe      CTO           [email protected]    [Edit]    │  │
│ └────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Detail Sheet (Side Panel)

For quick edits without leaving the current page. Opens as a slide-over panel.

What You Get Out of the Box

FeatureDescription
Form with validationZod schemas, error messages, field-level validation.
Dirty trackingWarns before closing if there are unsaved changes.
Auto-save indicatorShows when changes are being saved.
Responsive widthAdjusts to content, max-width on large screens.
Keyboard shortcutsEscape to close, Cmd+S to save.

What It Looks Like

                                    ┌─────────────────────────┐
                                    │ Edit Client        [×]  │
                                    ├─────────────────────────┤
                                    │ Name                    │
                                    │ [Acme Inc           ]   │
                                    │                         │
                                    │ Industry                │
                                    │ [Technology        ▼]   │
                                    │                         │
                                    │ Status                  │
                                    │ [Active            ▼]   │
                                    │                         │
                                    │ Website                 │
                                    │ [https://acme.com   ]   │
                                    ├─────────────────────────┤
                                    │ [Cancel]    [Save]      │
                                    └─────────────────────────┘

Inline Edit

Edit values directly on the detail page without opening a form.

What You Get Out of the Box

FeatureDescription
Click to editClick any value to turn it into an input.
Auto-saveChanges save automatically on blur.
Escape to cancelPress Escape to revert changes.
Loading stateShows spinner while saving.
Error handlingShows error message if save fails.

Available editors: Text, Textarea, Number, Select, Date, Checkbox.


The shell that wraps your entire app.

What You Get Out of the Box

FeatureDescription
Collapsible sidebarMain navigation, collapses to icons on small screens.
Organization switcherSwitch between organizations (if user belongs to multiple).
User menuProfile, settings, logout.
BreadcrumbsAuto-generated from route structure.
Command palette⌘K to search anything - pages, records, actions.
Theme toggleLight/dark mode.

What This Means for Your Prompts

When you tell AI to "add invoices feature", it knows to:

  1. List page → DataTable with all standard features
  2. Detail page → EntityHeader + SectionCards
  3. Edit flow → DetailSheet with form
  4. Navigation → Add to sidebar

You don't specify "add pagination" or "add sorting" - it's included. You focus on what data and what fields, not how the UI works.

"Add invoices feature with fields: number, amount, due_date, status, client relation.
List page should filter by status. Detail page shows invoice items as related list."

AI generates consistent UI using these building blocks.


  • Add New Feature - Step-by-step guide
  • UI Components (coming soon) - Detailed component reference

On this page