Skip to content

Commit 144ef6b

Browse files
authored
Merge pull request #11 from fredricj/add-data-attributes
Add support for data attributes
2 parents dea7ce1 + 54279f8 commit 144ef6b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

svg/elements.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class Element:
2828

2929
transform_origin: Optional[str] = None
3030
style: Optional[str] = None
31+
data: Optional[dict] = None
3132

3233
@classmethod
3334
def _as_str(cls, val: Any) -> str:
@@ -48,7 +49,7 @@ def as_dict(self) -> dict[str, str]:
4849
for key, val in vars(self).items():
4950
if val is None:
5051
continue
51-
if key in ("elements", "text"):
52+
if key in ("elements", "text", "data"):
5253
continue
5354
key = key.rstrip("_")
5455
key = key.replace("__", ":")
@@ -58,6 +59,8 @@ def as_dict(self) -> dict[str, str]:
5859

5960
def as_str(self) -> str:
6061
props = " ".join(f'{k}="{v}"' for k, v in self.as_dict().items())
62+
if self.data:
63+
props += " "+" ".join(f'data-{k}="{v}"' for k, v in self.data.items())
6164
if self.text:
6265
return f"<{self.element_name} {props}>{self.text}</{self.element_name}>"
6366
if self.elements:

0 commit comments

Comments
 (0)