DryUI Build Experiment A: Branching Task List
Start Here
Before writing code, identify the target:
- Full page
- Section of a page
- Repeated component or list item
- Form or workflow
- Dashboard or data surface
- Polish pass
If more than one applies, follow the most specific branch first. For a dashboard page, follow Dashboard or data surface, then Full page.
Full Page
- Create one root wrapper with a specific
data-layout="<page-name>". - In
src/layout.css, create the matching selector. - Add
container: <page-name> / inline-sizeto the page wrapper. - Put all page-level
display: gridanddisplay: flexinsrc/layout.css. - Use mobile-first base layout.
- Use
@container <page-name> (...)for responsive shifts. - Do not use
@mediafor layout breakpoints. - Do not put color, background, border, shadow, text, position, z-index, width, height, or inline-size in
src/layout.css. - Use
data-layout-areafor children that participate in named grid areas. - Verify mobile and desktop screenshots.
Dashboard Or Data Surface
- Name the primary user task: monitor, compare, triage, configure, report, or act.
- Choose density: compact, standard, or spacious.
- Define regions before markup:
- header
- filters/actions
- summary metrics
- primary visualization
- data table or detail list
- secondary detail/action area if needed
- Use named grid areas when regions need stable placement.
- Prefer data hierarchy over decorative cards.
- Use cards only for distinct interactive or comparable units.
- Use
TableorDataGridfor tabular data. - Use
ChartorSparklinefor chart content. - Include loading, empty, error, disabled, and dense-data states.
- Test long labels, many rows, narrow containers, and primary action visibility after collapse.
Section Of A Page
- Add a specific
data-layout="<section-name>". - Scope section layout in
src/layout.css. - Use the parent page container unless the section needs independent responsive behavior.
- Do not create a second container query by default.
- Ensure the section works when surrounding content changes.
Repeated Component Or List Item
- Prefer component CSS for visual styling.
- Use
data-layoutonly for structural raw elements. - Add a component-level container only if it must adapt to allocated space.
- Avoid page assumptions inside reusable components.
Form Or Workflow
- Use DryUI form primitives.
- Wrap controls in field/label structure.
- Group fields by task.
- Include validation, disabled, loading, success, and error states.
- Keep the primary submit action obvious and keyboard accessible.
Polish Pass
- Check hierarchy.
- Check spacing rhythm.
- Check states.
- Check responsive collapse.
- Only then adjust visual styling.


