✨ Features
- callouts: Add
CalloutExtensionfor:::tip/:::info/:::danger/:::cautionadmonition blocks in Markdown rendering (#305) - callouts: Add
IconHelper,IconPickercomponent, and SVG icon route for heroicon selection (#304) - callouts: Icons now always render (with or without title) — better visual identification at a glance
- callouts: Improved icon hierarchy —
cautionuses warning triangle,dangeruses prohibitive x-circle - callouts: Icons upgraded to Heroicons v2 outline at 32px with
stroke-width="1.5"for crisper details - callouts: Title font-size increased to 1.125rem, content font-size set to 0.75rem
- callouts: CSS styling included in PDF exports — callouts render with colors and borders in generated PDFs
- editor: New
CalloutMarkdownEditorfield extendingMarkdownEditor— adds 4 dedicated toolbar buttons (Tip, Info, Caution, Danger) that insert callout templates at cursor position - editor:
CalloutMarkdownEditorreplacesMarkdownEditorin all blog post, docs, CMS, profile and author bio forms - editor:
IconPickerform field with searchable grid, SVG preview, and live Alpine.js state binding
🐛 Fixed
- callouts: Split
CalloutParserintoCalloutStartParser+CalloutParserfollowing CommonMark 2.x patterns (correcttryContinue()signature returning?BlockContinue) - callouts: Proper
BlockContinue::finished()on:::closing delimiter (prevents infinite loop) - callouts:
CalloutStartParsernow returns->at($cursor)— correct cursor advancement after parsing - icon-picker: Remove re-render flag from
$wire.set()to prevent Alpine state reset on icon selection
🧪 Tests
CalloutMarkdownEditorTest— class extension, view path, button structure and accessibility attributesAuthorBioFieldEnhancementsTest— updated assertions forCalloutMarkdownEditorDocSettingsTest— PDF template includes callout CSS styling