-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy path_mixins.py
148 lines (120 loc) · 4.46 KB
/
_mixins.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
from __future__ import annotations
from dataclasses import dataclass
from typing import TYPE_CHECKING
from ._types import Length, Number
if TYPE_CHECKING:
from typing_extensions import Literal
class AttrsMixin:
pass
@dataclass
class GraphicsElementEvents(AttrsMixin):
onfocusin: str | None = None
onfocusout: str | None = None
onactivate: str | None = None
onclick: str | None = None
onmousedown: str | None = None
onmouseup: str | None = None
onmouseover: str | None = None
onmousemove: str | None = None
onmouseout: str | None = None
onload: str | None = None
@dataclass
class Color(AttrsMixin):
color: str | None = None
color_interpolation: None | Literal[
"auto", "sRGB", "linearRGB", "inherit",
] = None
@dataclass
class FillStroke(AttrsMixin):
stroke: str | None = None
stroke_dasharray: list[Number] | Literal["none"] | Length | None = None
stroke_dashoffset: Literal["none"] | Length | Number | None = None
stroke_opacity: Number | None = None
stroke_width: Length | Number | None = None
@dataclass
class FontSpecification(AttrsMixin):
font_family: str | None = None
font_size: Length | Number | None = None
font_size_adjust: Number | None | Literal["none"] = None
font_stretch: None | Literal[
"normal", "wider", "narrower",
"ultra-condensed", "extra-condensed", "semi-condensed",
"semi-expanded", "expanded", "extra-expanded", "ultra-expanded",
"inherit",
] = None
font_style: None | Literal[
"normal", "italic", "oblique", "inherit",
] = None
font_variant: Literal["normal", "small-caps", "inherit"] | None = None
font_weight: None | Literal[
"normal", "bold", "bolder", "lighter", "inherit",
"100", "200", "300", "400", "500", "600", "700", "800", "900",
] = None
@dataclass
class Graphics(AttrsMixin):
clip_rule: Literal["evenodd", "nonzero", "inherit"] | None = None
cursor: None | Literal[
"auto", "crosshair", "default", "pointer", "move",
"e-resize", "ne-resize", "nw-resize", "n-resize", "se-resize", "sw-resize", "s-resize", "w-resize",
"text", "wait", "help", "inherit",
] = None
display: str | None = None
filter: str | None = None
pointer_events: None | Literal[
"bounding-box", "visiblePainted", "visibleFill", "visibleStroke",
"visible", "painted", "fill", "stroke", "all", "none",
] = None
@dataclass
class TextContentElements(AttrsMixin):
direction: Literal["ltr", "rtl", "inherit"] | None = None
dominant_baseline: None | Literal[
"auto", "autosense-script", "no-change", "reset", "ideographic",
"lower", "hanging", "mathematical", "inherit",
"text-bottom", "alphabetic", "middle", "central", "text-top",
] = None
letter_spacing: Literal["auto", "exact"] | None = None
text_anchor: Literal["start", "middle", "end", "inherit"] | None = None
text_decoration: None | Literal[
"none", "underline", "overline", "line-through",
] = None
unicode_bidi: None | Literal[
"normal", "embed", "isolate", "bidi-override", "isolate-override", "plaintext",
] = None
word_spacing: Literal["auto", "exact"] | None = None
@dataclass
class FilterPrimitive(AttrsMixin):
x: Length | Number | None = None
y: Length | Number | None = None
@dataclass
class ComponentTransferFunction(AttrsMixin):
type: Literal["identity", "table", "discrete", "linear", "gamma"]
tableValues: str | None = None
intercept: float | None = None
amplitude: float | None = None
exponent: float | None = None
offset: float | None = None
@dataclass
class Animation(AttrsMixin):
# Animation value attributes
calcMode: Literal["discrete", "linear", "paced", "spline"] | None = None
values: str | None = None
keyTimes: str | None = None
keySplines: str | None = None
from_: str | None = None
to: str | None = None
by: str | None = None
# Animation target element attributes
href: str | None = None
# Animation addition attributes
additive: Literal["replace", "sum"] | None = None
accumulate: Literal["none", "sum"] | None = None
@dataclass
class AnimationTiming(AttrsMixin):
begin: str | None = None
dur: str | None = None
end: str | None = None
min: str | None = None
max: str | None = None
restart: Literal["always", "never", "whenNotActive"] | None = None
repeatCount: str | None = None
repeatDur: str | None = None