One Column Block Documentation
Overview
The One Column block is a foundational content layout component designed for single-column text presentation. It provides flexible width control, optional center alignment, and comprehensive typography support through the Article component integration.
Purpose and Use Cases
Primary Use Cases
Article content with optimal reading width
Landing page copy with centered presentation
Documentation sections with consistent formatting
Blog posts with readable line lengths
Marketing copy with focused messaging
Design Philosophy
The One Column block prioritizes readability through optimal line lengths, consistent vertical rhythm, and flexible width controls that adapt to various content types and presentation needs.
Component Structure
HTML Architecture
<div class="wrapper one-column-wrapper">
<section class="block one-column-block bg-background">
<div class="container one-column-container py-8">
<div class="flex flex-col gap-12 w-full mx-auto max-w-5xl">
@if($block->heading)
<x-heading
:level="2"
:text="$block->heading"
class="text-3xl lg:text-5xl font-medium tracking-tighter text-foreground text-balance"
/>
@endif
@if($block->article)
<div class="mx-auto {{ $block->center ? 'text-center max-w-3xl' : 'w-full' }}">
<x-article :content="$block->article" />
</div>
@endif
</div>
</div>
</section>
</div>
CSS Classes Reference
Container Classes
.one-column-wrapper
Purpose: Outermost container for the One Column section
Tailwind Classes:
wrapper
+ custom classes from block settingsCustomization: Add full-width backgrounds, borders, or section styling
Usage: Section-wide visual modifications
.one-column-block
Purpose: Main semantic container with default background
Tailwind Classes:
block bg-background
Default Styling:
.one-column-block { display: block; background-color: var(--background); }
Customization: Override background colors, add borders or shadows
.one-column-container
Purpose: Content width and spacing container
Tailwind Classes:
container py-8
Default Styling:
.one-column-container { max-width: responsive; /* container */ padding-top: 2rem; /* py-8 */ padding-bottom: 2rem; /* py-8 */ }
Layout Classes
Main Content Container
Purpose: Primary layout container with max-width control
Tailwind Classes:
flex flex-col gap-12 w-full mx-auto max-w-5xl
Default Styling:
.one-column-content { display: flex; /* flex */ flex-direction: column; /* flex-col */ gap: 3rem; /* gap-12 */ width: 100%; /* w-full */ margin-left: auto; /* mx-auto */ margin-right: auto; /* mx-auto */ max-width: 64rem; /* max-w-5xl (1024px) */ }
Article Container (Conditional)
Purpose: Article content wrapper with center alignment option
Base Classes:
mx-auto
Conditional Classes:
text-center max-w-3xl
(when$block->center
is true)w-full
(when$block->center
is false/null)
Default Styling:
/* Centered layout */ .article-centered { margin-left: auto; margin-right: auto; text-align: center; max-width: 48rem; /* max-w-3xl (768px) */ } /* Full-width layout */ .article-full { margin-left: auto; margin-right: auto; width: 100%; }
Typography Classes
One Column Heading
Tailwind Classes:
text-3xl lg:text-5xl font-medium tracking-tighter text-foreground text-balance
Default Styling:
.one-column-heading { font-size: 1.875rem; /* text-3xl */ font-weight: 500; /* font-medium */ letter-spacing: -0.025em; /* tracking-tighter */ color: var(--foreground); /* text-foreground */ text-wrap: balance; /* text-balance */ } @media (min-width: 1024px) { .one-column-heading { font-size: 3rem; /* lg:text-5xl */ } }
Content Width Control
Max-Width Options
Standard Layout (max-w-5xl)
Width: 64rem (1024px)
Use Case: General content, articles, documentation
Line Length: Optimal for mixed content types
Centered Layout (max-w-3xl)
Width: 48rem (768px) when centered
Use Case: Marketing copy, focused messaging
Line Length: Optimal for reading comprehension
Responsive Behavior
/* Mobile (default) */
.one-column-content {
max-width: 100%;
padding-left: 1rem;
padding-right: 1rem;
}
/* Tablet */
@media (min-width: 768px) {
.one-column-content {
max-width: 64rem; /* max-w-5xl */
}
}
/* Desktop - Centered */
@media (min-width: 1024px) {
.article-centered {
max-width: 48rem; /* max-w-3xl */
}
}
Content Fields
Available Fields
heading (Text): Optional section heading
article (Bard): Main content with rich text support
center (Toggle): Enable center text alignment
width (Select): Content width options (future enhancement)
Field Configuration
# Blueprint configuration
heading:
type: text
instructions: 'Optional heading for the content section'
article:
type: bard
instructions: 'Main content with rich text formatting'
sets:
text:
display: Text
fields:
- type: bard
center:
type: toggle
default: false
instructions: 'Center-align the content text'
Block Settings Integration
Custom Classes
{{ $block->block_settings->block_classes ?? '' }} // Applied to .one-column-wrapper
{{ $block->block_settings->container_classes ?? '' }} // Applied to .one-column-container
Inline Styles
{{ $block->block_settings->block_styles ?? '' }} // Applied to .one-column-block
{{ $block->block_settings->container_styles ?? '' }} // Applied to .one-column-container
Customization Examples
1. Narrow Content Width
<div class="flex flex-col gap-12 w-full mx-auto max-w-2xl">
<!-- Content limited to 42rem (672px) -->
</div>
2. Full Container Width
<div class="flex flex-col gap-12 w-full">
<!-- No max-width restriction -->
</div>
3. Compact Spacing
<div class="flex flex-col gap-8 w-full mx-auto max-w-5xl">
<!-- Reduced gap from 3rem to 2rem -->
</div>
4. Extended Spacing
<div class="flex flex-col gap-16 w-full mx-auto max-w-5xl">
<!-- Increased gap from 3rem to 4rem -->
</div>
5. Custom Background Section
<section class="block one-column-block bg-card border border-border rounded-panel-lg">
<div class="container one-column-container p-12">
<!-- Enhanced container styling -->
</div>
</section>
Typography Integration
Heading Component Features
Semantic HTML: Uses proper heading levels (h2 default)
Responsive Sizing: Scales from mobile to desktop
Typography Scale: Consistent with design system
Text Balance: Prevents orphaned words
Article Component Features
Rich Text Support: Full Bard editor integration
Nested Components: Supports buttons, images, etc.
List Formatting: Styled lists and typography
Link Styling: Consistent link presentation
Layout Variations
Standard Article Layout
<!-- Optimal reading width, left-aligned -->
<div class="mx-auto w-full">
<x-article :content="$block->article" />
</div>
Centered Marketing Copy
<!-- Narrower width, center-aligned -->
<div class="mx-auto text-center max-w-3xl">
<x-article :content="$block->article" />
</div>
Full-Width Content
<!-- Container-wide content -->
<div class="w-full">
<x-article :content="$block->article" />
</div>
Performance Considerations
Content Loading
Lazy Components: Article component loads efficiently
Image Optimization: Embedded images use lazy loading
Text Rendering: Optimal font loading and display
SEO Optimization
Semantic Structure: Proper heading hierarchy
Content Organization: Clear content structure
Reading Experience: Optimal line lengths for engagement
Article Component Integration
Bard Editor Sets
The Article component supports various content sets:
Text Blocks: Standard paragraph content
Button Groups: Call-to-action buttons
Image Blocks: Inline images with captions
Quote Blocks: Pull quotes and testimonials
Code Blocks: Syntax-highlighted code samples
Content Styling
All article content inherits the one-column styling:
Proper spacing between elements
Consistent typography scale
Responsive behavior
Theme color integration