← Back to overview

Product Design

VIOLET

Patterns, components & craft. The living pattern library and research foundations. Interactive examples that match production.

We build interfaces that feel like a sharp colleague who knows your data inside out — not another generic admin tool. Work Sans. Tight tracking. Spectrum used literally with frequency field. (Full content migrated from n2-ux pattern library.)

EXISTING — from n2UX

UX Patterns

Input Types & Form Fields

We use a small, consistent set of input primitives across flows, record editing, lists, and filters. Goal: speed and familiarity — not "yet another control". Prefer the real shared components (EditableParameter for attributes, the exact filter bar pattern) when possible.

When to use: Free-form data → text / multiline. Constrained choices → Select. Multiple flags → Checkbox group. Temporal → date. Discovery → icon-prefixed search InputBase + chips. Attributes in drawers → inline EditableParameter (click/pencil to edit, Enter/Esc to commit).

Screenshot from source + full live examples available in original n2-ux (using our tokens + patterns). See "FILTER / SEARCH", "TEXT", "SELECT" demos in source.

Form Builders

The form builder is the core of n2flow: define reusable forms by selecting fields from a table schema. Supports sections, role-based access, custom field types (range, tabular), and one-time use for schema fields.

When to use: For data collection flows where structure comes from existing tables. Use "click to add" from palette, drag to sections, set required/readOnly. Preview mode for validation. Publish to use in flows.

Permissions / Access matrix: /settings/users provides a dashboard with role assignment + domain/table access matrix (compact grid overview + per-user expandable inline selects for Owner/Editor/Read/None). Edits are immediate (demo persisted to localStorage). Follows raw MUI + T tokens; supports n2Demo tints.

Screenshot from source of the working replica (interactive — click fields to add). Production note: In real flows and drawers we import the shared EditableParameter and use the exact filter bar implementation shown in the Table Patterns section above. These examples are faithful recreations using the same tokens and sizing.

n2flow Patterns

n2flow uses a consistent list + focused detail pattern for import and collection jobs. Emphasis on current step ownership, progress visibility, and review actions.

When to use: For any multi-step data collection. List for overview + actions; detail for step execution with data review + comments.

Screenshots from source: "Interactive Example — Flows List" (rows + Remind updates live), and detail view with current step, owner, actions. See source for the full replica.

Status Chips & Tags

Color-coded status indicators, priority tags, and filterable labels used throughout dashboards and tables. (Source has detailed examples with live updates.)

Screenshot from source of the chips & tags demo (with interactive states).

Dashboard & Activity

Activity feeds, KPI cards, recent items, and notification patterns with consistent interaction models. (Source shows live activity log patterns.)

See source "Activity Log" page and dashboard demos for full interactive versions.

Table & Datagrid Patterns

Sortable, filterable, paginated tables with row actions, bulk selection, and inline editing. (Source has full "EditableParameter" and filter bar demos.)

Screenshot from source of the table patterns with production notes on shared components.

Navigation, Overlays & Feedback

Side nav, breadcrumbs, modals, drawers, toasts, and saving states. Theming and responsive behavior. (Source details progressive disclosure, drawers, etc.)

Screenshots from source for the navigation and overlay patterns.

States & Theming

Loading skeletons, empty states, error handling, and the platform-wide theme system (light/dark, brand tokens). (Source emphasizes "Revealing complexity only when needed".)

See source for the full theming and states demos.

INFORMATION ARCHITECTURE (IA)

Information Architecture

The structure and organization of content, data, and navigation across the platform. Defines how Schemas, Domains, Tables, Views, and Projects relate to each other and how users discover and navigate information.

  • Hierarchical navigation (Schema → Domain → Table → Record)
  • Cross-domain relationships and Projects as ad-hoc collections
  • Taxonomy, labels, and search discoverability
  • Consistent mental models for data and workflows

Inspired by IA principles: clear hierarchy for findability + polyhierarchy for real user collections + facets/wayfinding for discovery and orientation. (From source IA diagram and data model visual - described in text.)

UX RESEARCH METHODOLOGIES

UX Research Methodologies

Card sorting, tree tests, mental model interviews, and more. Inspired by the same IA principles that shaped our data model.

Details coming soon (from source).

INTERACTIVE DEMOS (recreated from n2-ux#product-design + core site at 5173/)

Live Clickable Pattern Examples

Full source screenshot of the Product Design interactive demos (LIVE EXAMPLES and WORKING REPLICA):

Source Product Design interactive examples

LIVE EXAMPLES from source (matching studio / flow / drawer implementations using our tokens + patterns). The demos below are interactive and clickable — they recreate real core app (localhost:5173) behavior using the documented patterns.

FILTER / SEARCH (LISTS & TABLES) — Interactive

All Approved Pending

Real behavior: typing or clicking a chip instantly filters the list. Matches core filter bar + status chips.

TEXT / SELECT / DATE / INLINE EDITABLE (from Input Types)

Matches Select + MenuItem in FlowDetail.

Directly mirrors form step controls.

2.70 g/cm³ (click the value)

This is the EditableParameter pattern. Click or pencil → InputBase focused, Enter to save, Esc to cancel. Hover affordance on T.bgSoft. Production note: In real flows and drawers we import the shared EditableParameter and use the exact filter bar implementation shown in the Table Patterns section above. These examples are faithful recreations using the same tokens and sizing.

Form Builders - WORKING REPLICA (from source)

The form builder is the core of n2flow: define reusable forms by selecting fields from a table schema. Supports sections, role-based access, custom field types (range, tabular), and one-time use for schema fields.

When to use: For data collection flows where structure comes from existing tables. Use "click to add" from palette, drag to sections, set required/readOnly. Preview mode for validation. Publish to use in flows.

Permissions / Access matrix: /settings/users provides a dashboard with role assignment + domain/table access matrix (compact grid overview + per-user expandable inline selects for Owner/Editor/Read/None). Edits are immediate (demo persisted to localStorage). Follows raw MUI + T tokens; supports n2Demo tints.

FORM BUILDER — Interactive (click fields in palette to add)

Available fields (click to add)
Alloy Designation — Text
Density — Number
Tensile — Range
Approved Supplier — Multi-select
FORM CANVAS
Click items on left → they appear here. Matches core FormBuilder behavior.

Production note: one-time use, role matrix, custom field types.

n2flow Patterns (from source)

n2flow uses a consistent list + focused detail pattern for import and collection jobs. Emphasis on current step ownership, progress visibility, and review actions.

When to use: For any multi-step data collection. List for overview + actions; detail for step execution with data review + comments.

Flows List (click a row)
Detail (live updates)
Click a row on the left…

Matches core /flows behavior (selection, Remind action, step state).

Status Chips & Tags (from source)

Chips and small tags are used heavily in the flows list and My flows for status, filters, "Stalled" indicators, and lightweight metadata. They must be scannable at a glance, use consistent sizing, and avoid error-like colors for non-error states (e.g. stalled).

When to use: Status filter bar (interactive), row-level status, temporary "Stalled" / "Reminder sent" callouts, domain/duration badges.

Draft Pending Review Blocked In Progress Stalled Approved

N2 DEMO THEME REPLICAS (using redStatus + status tokens). (Source screenshot for the full demo.)

Table & Datagrid Pattern (from source)

We deliberately avoid heavy generic DataGrids. Our tables + filter bars + drawers keep the experience feeling like a material data tool.

When to use: Click row → rich record drawer. Checkboxes/Cmd+click → selection state + Secondary Action Bar. Search/filter cluster always shown for discovery. Secondary bar (soft bg + bottom border) only for batch/contextual actions.

Rules (verbatim from source): Primary actions (e.g. New dataset) stay in page header. Exact tokens/sizes from Tables.tsx, TableView.tsx, DatasetDetails.tsx. Appears only in record tables on selection; not on schema lists. Coexists with open RecordDetailsDrawer until explicit Clear.
IDNameStatus

Selection → action bar. Click name cell to inline-edit. Matches core datagrid rules.

Navigation (from source)

The deliberate hierarchy: Left nav → In-page tabs → Breadcrumbs → Drawers. Each has live examples in source.

Left Navigation: Primary persistent entry. Never hide for new users. Active item clearly indicated. (TOC on this playbook page is an example.)
In-Page Tabs: Secondary inside domain/record. Keep visible, lightweight, above the fold.
Breadcrumbs: Lightweight "you are here" + back. Text + chevron only.
Drawers: Final focused layer after breadcrumbs for inspection/editing without losing parent context. Rich record drawers identical across tables (3-col fields, tabular previews, inline edit).

Source: "The deliberate hierarchy we reach for when building new features."

Overlays: Modals & Drawers / Saving, Drafts & Feedback (from source)

Every meaningful save must produce visible, immediate feedback. Drawers for focused editing (same patterns as record details: 3-col extended, sort, visuals, inline EditableParameter everywhere).

States (from source)

Empty: Clear next action, no dead ends.
Loading: Skeletons that match final layout.
Error: Actionable recovery, never just "something went wrong".

Revealing complexity only when needed (progressive disclosure).

Theming — n2 Branding & Marketing Theme (from source)

Work Sans. Tight tracking. Spectrum + Frequency Field used literally. Reds that pop for marketing interactions (focus rings, CTAs). Import N2_MARKETING theme for external-facing work.

See source for full n2Demo theme replicas and CSS var application.

Navigation + Buttons Demo (interactive)

Left Nav (click)

Real nav updates content. Buttons trigger feedback. Drawer slides in.

Buttons, Actions & Feedback — Interactive

Clicking buttons triggers toasts, state changes, or modals matching core patterns.
COMING SOON

UI Component Library

The shared component system (buttons, inputs, cards, data displays, feedback, navigation primitives) with usage guidelines, variants, and code examples.

See the live library in the n2 platform or original n2UX repo for the current implementation.
Information Architecture — Detailed in section above (more coming)
UX Research Methodologies — Coming soon