see_more_text 1.0.1
see_more_text: ^1.0.1 copied to clipboard
A Flutter widget that displays text with expandable/collapsible functionality, supporting HTML content, links, hashtags, and mentions.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 2025-01-XX #
🚀 Initial Release #
✨ Features
- Core Widget: Complete implementation of
SeeMoreTextwidget with expand/collapse functionality - HTML Support: Clean HTML tags or preserve raw HTML content for specialized rendering
- Interactive Elements: Clickable URLs, hashtags, and mentions with customizable callbacks
- Rich Styling: Comprehensive styling options for all text elements and states
- Performance Optimization: Efficient text measurement with caching for improved performance
- Accessibility: Full accessibility support with semantic labels and screen reader compatibility
🏗️ Architecture
- Professional Engineering Standards: Codebase follows Flutter engineering best practices
- Type Safety: Strong typing with comprehensive error handling and validation
- Modular Design: Clean separation of concerns with utility classes and models
- Professional Documentation: Comprehensive API documentation with examples
🛠️ Utilities
- HtmlCleaner: Robust HTML cleaning and normalization with error recovery
- Linkify: Advanced text parsing for URLs, hashtags, and mentions
- TextMeasure: Efficient text measurement and layout calculations
- Constants: Centralized configuration and styling constants
📦 Package Structure
- Models: Immutable configuration classes with proper equality and hash code
- Types: Type-safe callback definitions and enums
- Constants: Centralized configuration management
- Comprehensive Testing: 100% test coverage with widget, unit, and integration tests
🎨 Customization Options
- Expandable/collapsible text with smooth transitions
- Custom "see more" and "see less" text with individual styling
- Configurable maximum lines and trim modes
- Extensive styling options for different element types
- Text alignment and direction support
- Callback support for expansion state changes
🔗 Interactive Features
- URL detection and tap handling with custom styling
- Hashtag recognition with configurable callbacks
- Mention parsing with customizable appearance
- Flexible callback system for user interactions
🛡️ Error Handling
- Graceful handling of malformed HTML content
- Input validation with meaningful error messages
- Fallback rendering for edge cases
- Debug utilities for development
✅ Testing & Quality
- Comprehensive widget testing for all functionality
- Unit tests for utility classes and helper methods
- Integration tests for interactive elements
- Performance testing for large content handling
- Accessibility testing for screen reader compatibility
📚 Documentation
- Complete API reference with parameter descriptions
- Usage examples from basic to advanced scenarios
- Best practices guide for performance and accessibility
- Contributing guidelines for open source development
🌐 Platform Support
- Full support for iOS, Android, Web, macOS, Windows, and Linux
- Flutter SDK 3.0.0+ compatibility
- Dart SDK 2.17.0+ support
🔧 Technical Details #
Breaking Changes
- Initial release, no breaking changes
Dependencies
- Flutter SDK:
>=3.0.0 <4.0.0 - Dart SDK:
>=2.17.0 <4.0.0 - No external dependencies for core functionality
Migration Guide
- Not applicable for initial release
👥 Contributors #
- Initial development team following professional engineering standards
- Comprehensive code review and testing protocols
- Professional documentation and examples
Future Roadmap #
1.1.0 Planned Features #
- Enhanced animation options for expand/collapse transitions
- Rich text formatting support beyond HTML
- Custom link detection patterns
- Advanced text selection capabilities
1.2.0 Performance Enhancements #
- Virtual scrolling for extremely long content
- Improved memory management for large text blocks
- Advanced caching strategies
2.0.0 Major Features #
- Plugin architecture for custom text processors
- Advanced HTML rendering with CSS support
- Real-time collaborative editing features
- Enhanced accessibility features
For complete details about each release, see the GitHub releases page.