Available Content Types
Beagle provides eight content types, each with unique properties and use cases:Text
Displays text with optional formatting options.- Basic Text
- Bold Header
- Selectable Code
JSON
Displays JSON data in an interactive, collapsible tree view.Label
Displays a label-value pair, perfect for key-value data.Loading
Displays a loading indicator for pending operations.Section
Groups related content under a collapsible header.Box
Arranges content in a horizontal or vertical layout with flexible positioning.List
Displays a vertical list of content items.Tab Bar
Displays multiple tabs, each containing a list of content.When to Use Each Type
1
Text
Use for:
- Simple messages
- Headers and titles
- Stack traces
- Any string content that needs formatting
2
JSON
Use for:
- Request/response bodies
- Configuration objects
- Event parameters
- Any structured data
3
Label
Use for:
- Key-value pairs
- Metadata (URL, status, duration)
- Object properties
- Configuration values
4
Loading
Use for:
- Pending network requests
- Async operations in progress
- Loading states
5
Section
Use for:
- Grouping related content
- Collapsible headers/bodies
- Organizing large detail views
6
Box
Use for:
- Horizontal layouts (e.g., footer with left and right content)
- Custom spacing and alignment
- Flexible positioning
7
List
Use for:
- Vertical content arrangement
- Main container for detail views
- Combining multiple content types
8
Tab Bar
Use for:
- Multiple related views (Info, Request, Response)
- Organizing large amounts of data
- Different aspects of the same log
Building Detail Views: Real Examples
Here are complete examples from Beagle’s built-in plugins:Best Practices
Always provide a unique
key for section, box, list, and tab-bar content types. This ensures proper React rendering and state management.Content Composition Tips
- Start with the container: Choose between
list(single view) ortab-bar(multiple views) - Group with sections: Use sections to organize related content under collapsible headers
- Label metadata first: Put key-value pairs at the top for quick scanning
- JSON for complex data: Use JSON content for nested objects and arrays
- Text for messages: Use text content for strings, with appropriate formatting
- Loading for pending: Show loading states for async operations