Utility Classes
The Blue Water Design System provides a comprehensive set of utility classes for layout, spacing, and visual styling.
Flexbox Layout
Flex Direction
<div class="flex-column">Vertical layout</div>
<div class="flex-row">Horizontal layout</div>
Flex Wrap
<div class="wrap">Wrapped items</div>
<div class="wrap-reverse">Reverse wrapped items</div>
Justify Content
<div class="justify-start">Start aligned</div>
<div class="justify-end">End aligned</div>
<div class="justify-center">Center aligned</div>
<div class="justify-between">Space between</div>
<div class="justify-around">Space around</div>
<div class="justify-evenly">Space evenly</div>
<div class="justify-stretch">Stretched</div>
Align Items
<div class="align-start">Start aligned</div>
<div class="align-end">End aligned</div>
<div class="align-center">Center aligned</div>
<div class="align-baseline">Baseline aligned</div>
<div class="align-stretch">Stretched</div>
Text Alignment
<div class="text-center">Centered text</div>
<div class="text-left">Left-aligned text</div>
<div class="text-right">Right-aligned text</div>
<div class="text-justify">Justified text</div>
Text Transform
<div class="uppercase">UPPERCASE TEXT</div>
<div class="capitalize">Capitalized Text</div>
<div class="lowercase">lowercase text</div>
Text Truncation
<div class="truncate">This text will be truncated with an ellipsis if it's too long to fit in its container</div>
Elevation (Shadows)
<div class="elevation-xs">Extra small shadow</div>
<div class="elevation-sm">Small shadow</div>
<div class="elevation-md">Medium shadow</div>
<div class="elevation-lg">Large shadow</div>
Border Radius
<div class="radius-sm">Small radius (2px)</div>
<div class="radius-md">Medium radius (4px)</div>
<div class="radius-lg">Large radius (6px)</div>
<div class="radius-xl">Extra large radius (8px)</div>
<div class="radius-circle">Circular radius</div>
Spacing
The system provides a comprehensive set of spacing utilities for padding, margin, and gap. Each spacing size is available in multiple variations:
Spacing Scale
- 4xs: 0.125rem (2px)
- 3xs: 0.25rem (4px)
- 2xs: 0.375rem (6px)
- xs: 0.5rem (8px)
- sm: 0.75rem (12px)
- md: 1rem (16px)
- lg: 1.25rem (20px)
- xl: 1.5rem (24px)
- 2xl: 2rem (32px)
- 3xl: 2.5rem (40px)
- 4xl: 3rem (48px)
Padding
<!-- All sides -->
<div class="padding-4xs">4xs padding all around</div>
<div class="padding">Default padding</div>
<div class="padding-4xl">4xl padding all around</div>
<!-- Individual sides -->
<div class="padding-top">Top padding</div>
<div class="padding-right">Right padding</div>
<div class="padding-bottom">Bottom padding</div>
<div class="padding-left">Left padding</div>
<!-- Axes -->
<div class="padding-horizontal">Horizontal padding</div>
<div class="padding-vertical">Vertical padding</div>
<!-- Remove padding -->
<div class="no-padding">No padding</div>
Margin
<!-- All sides -->
<div class="margin-4xs">4xs margin all around</div>
<div class="margin">Default margin</div>
<div class="margin-4xl">4xl margin all around</div>
<!-- Individual sides -->
<div class="margin-top">Top margin</div>
<div class="margin-right">Right margin</div>
<div class="margin-bottom">Bottom margin</div>
<div class="margin-left">Left margin</div>
<!-- Axes -->
<div class="margin-horizontal">Horizontal margin</div>
<div class="margin-vertical">Vertical margin</div>
<!-- Remove margin -->
<div class="no-margin">No margin</div>
Gap
<div class="gap-4xs">4xs gap between items</div>
<div class="gap">Default gap</div>
<div class="gap-4xl">4xl gap between items</div>
<div class="no-gap">No gap between items</div>
Best Practices
- Use flexbox utilities for layout structure
- Apply consistent spacing using the spacing scale
- Use elevation classes to create visual hierarchy
- Combine multiple utility classes for complex layouts
- Use text utilities for consistent text styling
- Apply border radius utilities for consistent corner rounding