- Introduce a new ToolbarScope parameter in SbMarkdownEditor, SbMarkEditor, and SbRichTextEditor to filter toolbar contributors based on context.
- Update related services and interfaces to support scoped contributions, enhancing the flexibility of toolbar item management.
- Add disposal handling in SbSelectOption to unregister options properly.
- Implement CSS coverage fixes for various components to ensure consistent styling across the application.
- Introduce a _disposed flag to prevent operations on disposed instances.
- Enhance error handling in DisposeAsync and editor destruction methods to log exceptions without crashing.
- Ensure proper checks before invoking interop methods to maintain stability during component lifecycle events.
- Replace hardcoded package versions with version variables in SufiChain.SufiBlazor and SufiChain.SufiBlazor.Demo.Localization project files.
- Change import order in Directory.Build.props to prioritize versions.props before common.props.
- Add SourceLanguage and IncludeDefaultToolbarItems parameters to SbMarkdownEditor
- Refactor toolbar item loading logic into a separate method for better readability
- Update JavaScript interop to handle source language in editor initialization
- Improve error handling in destroyEditor method to prevent crashes on disconnection
- Add SbMarkdownEditor component with EasyMDE and CodeMirror integration
- Implement IMdToolbarContributor interface for extensible toolbar customization
- Add MdToolbarService and MdToolbarOptions for toolbar management
- Include vendor libraries (CodeMirror, EasyMDE, Mermaid, Highlight.js)
- Add markdown editor interop and JavaScript integration
- Refactor SbMarkdownViewer to support both embedded and standalone modes
- Add demo page and localization keys for markdown editor
- Normalize whitespace and line endings across all component files