OTFotf

Blocks

Full-section product blocks — sidebars, modals, dashboards, layouts.

Blocks are the largest pieces in @otfdashkit/ui. They're full sections (or full layouts) designed to slot into a real product. The kits use them as starting points and customize the bits that need customizing.

App shells

BlockWhat it is
SidebarLayoutDashboardSidebar nav + top bar + main. The dashboard kit's default shell.
SidebarLayoutGroupsSidebar with collapsible group headers — taller nav trees
SidebarLayoutMinimalSidebar with icons-only at narrow widths, full at wide
SidebarLayoutSearchSidebar with persistent ⌘K-anchor + recent items
SidebarLayoutUserSidebar emphasising user/profile entry points
StackedLayoutBrandedTop-nav + breadcrumb + main. For marketing-shaped product areas.
StackedLayoutTabsTop-nav + secondary tab strip
import { SidebarLayoutDashboard } from '@otfdashkit/ui'

export default function App() {
  return (
    <SidebarLayoutDashboard
      sidebar={<MySidebar />}
      header={<MyHeader />}
    >
      <DashboardContent />
    </SidebarLayoutDashboard>
  )
}

Modals

BlockWhat it is
FeedbackModal"How are we doing?" with rating + free-text + screenshot upload
InviteModalInvite teammates by email, set role per invite
ManageTagsModalAdd / rename / delete tags with color picker
SelectUsersModalMulti-select user picker (typeahead + checked state)

Dashboard widgets

BlockWhat it is
MetricCardKPI card with sparkline, delta, optional trend arrow
BarListTop-N list with horizontal bars (Cal Newport's "BarList" pattern)
ActivityHeatmapGitHub-style activity grid
TaskCardSingle task tile (status, assignee, due date, priority)
SortableTaskListDrag-orderable task list with priority grouping
MessagesCardRecent-messages widget with avatars + relative time
import { MetricCard, BarList } from '@otfdashkit/ui'

<div className="grid grid-cols-2 gap-4">
  <MetricCard
    label="Revenue"
    value="$48.2K"
    delta="+12%"
    trend="up"
    series={revenueSeries}
  />
  <BarList
    title="Top referrers"
    items={[
      { name: 'Hacker News', value: 4220 },
      { name: 'Twitter',     value: 2180 },
      { name: 'Reddit',      value: 1450 },
    ]}
  />
</div>

Files / chat / collab

BlockWhat it is
FileCardsGrid of file cards with thumbnail, type badge, owner avatar
FilesListList variant of the same
ChatDetailTwo-pane chat view — list + open thread
WorkspaceMembersMembers table with role pickers + remove action

Settings + permissions

BlockWhat it is
NotificationSettingsCategorised notification toggles
OrganizationMenuWorkspace switcher dropdown
RolesMenuRole assignment menu (Owner / Admin / Member / Guest)
UserMenuUser dropdown (avatar trigger → profile / settings / sign out)
IntegrationCardConnect / disconnect a third-party (icon + status + CTA)

Floating actions

BlockWhat it is
FloatingActionButtonBottom-right circular FAB with optional dropdown of secondary actions

See also

  • Composite — single-purpose finished components
  • Advanced — Kanban / Gantt / CommandBar / Filters

On this page