Skip to content

Commit 8f73e0a

Browse files
committed
Add support for list-style from inline CSS
1 parent 5b55273 commit 8f73e0a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

lib/src/css_parser.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,26 @@ Style declarationsToStyle(Map<String, List<css.Expression>> declarations) {
194194
case 'font-weight':
195195
style.fontWeight = ExpressionMapping.expressionToFontWeight(value.first);
196196
break;
197+
case 'list-style':
198+
css.LiteralTerm? position = value.firstWhereOrNull((e) => e is css.LiteralTerm && (e.text == "outside" || e.text == "inside")) as css.LiteralTerm?;
199+
css.UriTerm? image = value.firstWhereOrNull((e) => e is css.UriTerm) as css.UriTerm?;
200+
css.LiteralTerm? type = value.firstWhereOrNull((e) => e is css.LiteralTerm && e.text != "outside" && e.text != "inside") as css.LiteralTerm?;
201+
if (position != null) {
202+
switch (position.text) {
203+
case 'outside':
204+
style.listStylePosition = ListStylePosition.OUTSIDE;
205+
break;
206+
case 'inside':
207+
style.listStylePosition = ListStylePosition.INSIDE;
208+
break;
209+
}
210+
}
211+
if (image != null) {
212+
style.listStyleType = ExpressionMapping.expressionToListStyleType(image) ?? style.listStyleType;
213+
} else if (type != null) {
214+
style.listStyleType = ExpressionMapping.expressionToListStyleType(type) ?? style.listStyleType;
215+
}
216+
break;
197217
case 'list-style-image':
198218
if (value.first is css.UriTerm) {
199219
style.listStyleType = ExpressionMapping.expressionToListStyleType(value.first as css.UriTerm) ?? style.listStyleType;

0 commit comments

Comments
 (0)