|
1 | | -from . import engine as css_engine |
2 | | -from . import parser |
| 1 | +from . import engine as css_engine, parser |
3 | 2 | from .constants import ( # noqa |
4 | 3 | ALIGN_CONTENT_CHOICES, ALIGN_ITEMS_CHOICES, ALIGN_SELF_CHOICES, AUTO, |
5 | 4 | BACKGROUND_COLOR_CHOICES, BORDER_COLLAPSE_CHOICES, BORDER_COLOR_CHOICES, |
6 | 5 | BORDER_SPACING_CHOICES, BORDER_STYLE_CHOICES, BORDER_WIDTH_CHOICES, |
7 | 6 | BOX_OFFSET_CHOICES, CAPTION_SIDE_CHOICES, CLEAR_CHOICES, CLIP_CHOICES, |
8 | | - COLOR_CHOICES, DIRECTION_CHOICES, DISPLAY_CHOICES, EMPTY_CELLS_CHOICES, |
9 | | - FLEX_BASIS_CHOICES, FLEX_DIRECTION_CHOICES, FLEX_GROW_CHOICES, |
10 | | - FLEX_SHRINK_CHOICES, FLEX_START, FLEX_WRAP_CHOICES, FLOAT_CHOICES, |
11 | | - GRID_AUTO_CHOICES, GRID_AUTO_FLOW_CHOICES, GRID_GAP_CHOICES, |
| 7 | + COLOR_CHOICES, DIRECTION_CHOICES, DISC, DISPLAY_CHOICES, |
| 8 | + EMPTY_CELLS_CHOICES, FLEX_BASIS_CHOICES, FLEX_DIRECTION_CHOICES, |
| 9 | + FLEX_GROW_CHOICES, FLEX_SHRINK_CHOICES, FLEX_START, FLEX_WRAP_CHOICES, |
| 10 | + FLOAT_CHOICES, GRID_AUTO_CHOICES, GRID_AUTO_FLOW_CHOICES, GRID_GAP_CHOICES, |
12 | 11 | GRID_PLACEMENT_CHOICES, GRID_TEMPLATE_AREA_CHOICES, GRID_TEMPLATE_CHOICES, |
13 | 12 | INITIAL, INLINE, INVERT, JUSTIFY_CONTENT_CHOICES, LETTER_SPACING_CHOICES, |
14 | | - LTR, MARGIN_CHOICES, MAX_SIZE_CHOICES, MEDIUM, MIN_SIZE_CHOICES, NORMAL, |
15 | | - NOWRAP, ORDER_CHOICES, ORPHANS_CHOICES, OUTLINE_COLOR_CHOICES, |
16 | | - OUTLINE_STYLE_CHOICES, OUTLINE_WIDTH_CHOICES, OVERFLOW_CHOICES, |
| 13 | + LIST_IMAGE_CHOICES, LIST_POSITION_CHOICES, LIST_TYPE_CHOICES, LTR, |
| 14 | + MARGIN_CHOICES, MAX_SIZE_CHOICES, MEDIUM, MIN_SIZE_CHOICES, NORMAL, NOWRAP, |
| 15 | + ORDER_CHOICES, ORPHANS_CHOICES, OUTLINE_COLOR_CHOICES, |
| 16 | + OUTLINE_STYLE_CHOICES, OUTLINE_WIDTH_CHOICES, OUTSIDE, OVERFLOW_CHOICES, |
17 | 17 | PADDING_CHOICES, PAGE_BREAK_AFTER_CHOICES, PAGE_BREAK_BEFORE_CHOICES, |
18 | | - PAGE_BREAK_INSIDE_CHOICES, POSITION_CHOICES, QUOTES_CHOICES, ROW, |
19 | | - SEPARATE, SHOW, SIZE_CHOICES, STATIC, STRETCH, TABLE_LAYOUT_CHOICES, |
| 18 | + PAGE_BREAK_INSIDE_CHOICES, POSITION_CHOICES, QUOTES_CHOICES, ROW, SEPARATE, |
| 19 | + SHOW, SIZE_CHOICES, STATIC, STRETCH, TABLE_LAYOUT_CHOICES, |
20 | 20 | TEXT_ALIGN_CHOICES, TEXT_DECORATION_CHOICES, TEXT_INDENT_CHOICES, |
21 | 21 | TEXT_TRANSFORM_CHOICES, TOP, TRANSPARENT, UNICODE_BIDI_CHOICES, |
22 | 22 | VISIBILITY_CHOICES, VISIBLE, WHITE_SPACE_CHOICES, WIDOWS_CHOICES, |
23 | 23 | WORD_SPACING_CHOICES, Z_INDEX_CHOICES, OtherProperty, |
24 | 24 | TextAlignInitialValue, default, |
25 | 25 | ) |
26 | 26 | from .exceptions import ValidationError |
27 | | -from .wrappers import Border, BorderBottom, BorderLeft, BorderRight, BorderTop, Outline |
| 27 | +from .wrappers import ( |
| 28 | + Border, BorderBottom, BorderLeft, BorderRight, BorderTop, ListStyle, |
| 29 | + Outline, |
| 30 | +) |
28 | 31 |
|
29 | 32 | _CSS_PROPERTIES = set() |
30 | 33 |
|
@@ -329,10 +332,10 @@ def __init__(self, **style): |
329 | 332 | # counter-increment |
330 | 333 |
|
331 | 334 | # 12.5 Lists |
332 | | - # list_style_type |
333 | | - # list_style_image |
334 | | - # list_style_position |
335 | | - # list_style |
| 335 | + list_style_type = validated_property('list_style_type', choices=LIST_TYPE_CHOICES, initial=DISC) |
| 336 | + list_style_image = validated_property('list_style_type', choices=LIST_IMAGE_CHOICES, initial=None) |
| 337 | + list_style_position = validated_property('list_style_position', choices=LIST_POSITION_CHOICES, initial=OUTSIDE) |
| 338 | + list_style = validated_shorthand_property('list_style', parser=parser.list_style, wrapper=ListStyle) |
336 | 339 |
|
337 | 340 | # 13. Paged media #################################################### |
338 | 341 | # 13.3.1 Page break properties |
|
0 commit comments