🚧 Under Construction
This component documentation is currently being developed. Some features may be incomplete.
Quick Link Compact Item
View in Pattern LabHTML Markup
<a class="hoo-qllink" href="?">
<article class="hoo-qlcompact">
<figure class="hoo-ql-media">
<img src="/htwoo-core/images/placeholders/ph-16by9.png" class="hoo-ql-img" alt="" loading="lazy">
</figure>
<div class="hoo-qlinfo">
<div class="hoo-qltitle">Quick-link title</div>
</div>
<menu class="hoo-qlmenu">
<li class="hoo-qlmenuitem">
</li>
</menu>
</article></a>
Quick Link Compact Item
The compact quick link item is designed for space-constrained environments where maximum information density is required. It provides essential navigation functionality in a minimal 48px height format.
Overview
The compact variant optimizes space usage while maintaining usability and accessibility. It’s perfect for sidebars, toolbars, or any interface where vertical space is at a premium while still requiring quick access to important resources.
Features
- Minimal Height: Fixed 48px height for consistent layouts
- Icon Integration: 48px × 48px icon area with rounded corners
- Single Line Title: Truncated with ellipsis for long titles
- Edit Capabilities: Built-in edit menu for content management
- Hover Feedback: Visual feedback for interactive elements
- Flexible Width: Adapts to container constraints
Structure
The component consists of:
- Container:
.hoo-qlcompact- Main compact container - Icon Area:
.hoo-ql-media- Icon/image display area - Info Area:
.hoo-qlinfo- Title container - Title:
.hoo-qltitle- Primary link text (clamped to 2 lines) - Menu:
.hoo-qlmenu- Edit mode actions
Data Structure
{
"quick-link": {
"href": "/target-url",
"title": "Compact Quick Link Title",
"qlimg": {
"src": "path/to/icon.png",
"alt": "Icon description"
}
}
}
CSS Classes
.hoo-qllink: Link wrapper element.hoo-qlcompact: Main compact container.hoo-ql-media: Icon container (48px × 48px with 4px border radius).hoo-qlinfo: Title information container.hoo-qltitle: Primary title text (2-line clamp).hoo-qlmenu: Edit mode menu container.hoo-qlmenuitem: Menu item wrapper.mode-edit: Edit mode modifier class
Styling
Dimensions
- Height: Fixed 48px for consistent alignment
- Gap: 12px between icon and text content
- Icon: 48px × 48px with 4px border radius
- Border Radius: 4px for the overall container
Interactive States
- Default: Neutral text color with transparent border
- Hover: Theme color border (
#0078d4) - Active: Solid border for touch feedback
- Focus: Keyboard focus ring for accessibility
Edit Mode Behavior
- Hover: Light gray border (
#c8c6c4) with visible menu - Menu: Positioned absolutely for overlay display
- Actions: Edit and delete options as needed
Typography
- Font Size: 14px base size
- Line Height: 21px for optimal readability
- Line Clamp: Maximum 2 lines with ellipsis overflow
- Font Weight: 400 (normal)
Layout Behavior
- Flexbox: Horizontal layout with center alignment
- Flex Grow: Icon maintains fixed size, text grows to fill
- Text Wrap: Balanced wrapping for better line breaks
- Overflow: Hidden with ellipsis for long titles
Accessibility
- Semantic Markup: Proper article and link structure
- Keyboard Support: Tab navigation and Enter/Space activation
- Screen Reader: Descriptive content for assistive technology
- Focus Indicators: Clear visual focus states
- Touch Targets: Minimum 44px touch target size
Use Cases
Sidebar Navigation
<aside class="sidebar">
<nav class="quick-links">
{{#each compactLinks}}
{{> molecules-ql-compact-item }}
{{/each}}
</nav>
</aside>
Toolbar Integration
<div class="toolbar">
<div class="toolbar-section">
{{#each toolbarLinks}}
{{> molecules-ql-compact-item}}
{{/each}}
</div>
</div>
Dense Lists
<div class="resource-list">
{{#each resources}}
{{> molecules-ql-compact-item }}
{{/each}}
</div>
Performance Considerations
- Icon Optimization: Use SVG icons when possible for scalability
- Lazy Loading: Implement for long lists of compact items
- Virtual Scrolling: Consider for very large collections
- Efficient Rendering: Minimize DOM manipulation in edit modes
Usage Guidelines
- Content: Keep titles short and descriptive
- Grouping: Use consistent spacing between related items
- Icons: Maintain consistent icon style and size
- Hierarchy: Use visual cues to indicate importance
- Spacing: Allow adequate breathing room despite compact design