@@ -285,7 +285,16 @@ class HtmlParser extends StatelessWidget {
285285 newContext: newContext,
286286 style: tree.style,
287287 shrinkWrap: context.parser.shrinkWrap,
288- children: tree.children.map ((tree) => parseTree (newContext, tree)).toList (),
288+ children: tree.children
289+ .expand ((tree) => [
290+ parseTree (newContext, tree),
291+ if (shrinkWrap &&
292+ tree.style.display == Display .BLOCK &&
293+ tree.element? .localName != "html" &&
294+ tree.element? .localName != "body" )
295+ TextSpan (text: "\n " ),
296+ ])
297+ .toList (),
289298 ),
290299 );
291300 } else if (tree.style.display == Display .LIST_ITEM ) {
@@ -827,7 +836,7 @@ class StyledText extends StatelessWidget {
827836 @override
828837 Widget build (BuildContext context) {
829838 return SizedBox (
830- width: calculateWidth (style.display, renderContext),
839+ width: consumeExpandedBlock (style.display, renderContext),
831840 child: Text .rich (
832841 textSpan,
833842 style: style.generateTextStyle (),
@@ -840,13 +849,10 @@ class StyledText extends StatelessWidget {
840849 );
841850 }
842851
843- double ? calculateWidth (Display ? display, RenderContext context) {
852+ double ? consumeExpandedBlock (Display ? display, RenderContext context) {
844853 if ((display == Display .BLOCK || display == Display .LIST_ITEM ) && ! renderContext.parser.shrinkWrap) {
845854 return double .infinity;
846855 }
847- if (renderContext.parser.shrinkWrap) {
848- return MediaQuery .of (context.buildContext).size.width;
849- }
850856 return null ;
851857 }
852858}
0 commit comments