jsscclr commited on
Commit
14e59b4
·
verified ·
1 Parent(s): 8385ada

Create sizes.py

Browse files
Files changed (1) hide show
  1. sizes.py +113 -0
sizes.py ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+
4
+ class Size:
5
+ all = []
6
+
7
+ def __init__(
8
+ self, xxs: str, xs: str, sm: str, md: str, lg: str, xl: str, xxl: str, name=None
9
+ ):
10
+ self.xxs = xxs
11
+ self.xs = xs
12
+ self.sm = sm
13
+ self.md = md
14
+ self.lg = lg
15
+ self.xl = xl
16
+ self.xxl = xxl
17
+ self.name = name
18
+ Size.all.append(self)
19
+
20
+ def expand(self) -> list[str]:
21
+ return [self.xxs, self.xs, self.sm, self.md, self.lg, self.xl, self.xxl]
22
+
23
+
24
+ # Radius scales - Based on Canva's radiusElement values
25
+ radius_none = Size(
26
+ name="radius_none",
27
+ xxs="0px",
28
+ xs="0px",
29
+ sm="0px",
30
+ md="0px",
31
+ lg="0px",
32
+ xl="0px",
33
+ xxl="0px",
34
+ )
35
+
36
+ radius_sm = Size(
37
+ name="radius_sm",
38
+ xxs="4px", # radiusElementSmall
39
+ xs="4px",
40
+ sm="4px",
41
+ md="8px", # radiusElement
42
+ lg="12px", # radiusElementRelaxed
43
+ xl="12px", # radiusContainer
44
+ xxl="16px", # radiusContainerLarge
45
+ )
46
+
47
+ # Spacing scales - Based on Canva's baseUnit (8px) multiples
48
+ spacing_sm = Size(
49
+ name="spacing_sm",
50
+ xxs="2px", # space050 (4px)
51
+ xs="4px", # space1 (8px)
52
+ sm="8px", # space1
53
+ md="12px", # space150
54
+ lg="16px", # space2
55
+ xl="24px", # space3
56
+ xxl="32px", # space4
57
+ )
58
+
59
+ spacing_md = Size(
60
+ name="spacing_md",
61
+ xxs="4px", # space1
62
+ xs="8px", # space1
63
+ sm="12px", # space150
64
+ md="16px", # space2
65
+ lg="24px", # space3
66
+ xl="32px", # space4
67
+ xxl="48px", # space6
68
+ )
69
+
70
+ spacing_lg = Size(
71
+ name="spacing_lg",
72
+ xxs="8px", # space1
73
+ xs="16px", # space2
74
+ sm="24px", # space3
75
+ md="32px", # space4
76
+ lg="48px", # space6
77
+ xl="64px", # space8
78
+ xxl="96px", # space12
79
+ )
80
+
81
+ # Text sizes - Based on Canva's font size definitions
82
+ text_sm = Size(
83
+ name="text_sm",
84
+ xxs="11px", # fontSizeExtraSmall
85
+ xs="12px", # fontSizeSmall
86
+ sm="14px", # fontSizeMedium
87
+ md="16px", # fontSizeLarge
88
+ lg="18px", # fontSizeTitleSmall
89
+ xl="21px", # fontSizeExtraLarge
90
+ xxl="24px", # fontSizeExtraExtraLarge
91
+ )
92
+
93
+ text_md = Size(
94
+ name="text_md",
95
+ xxs="12px", # fontSizeSmall
96
+ xs="14px", # fontSizeMedium
97
+ sm="16px", # fontSizeLarge
98
+ md="18px", # fontSizeTitleSmall
99
+ lg="21px", # fontSizeExtraLarge
100
+ xl="24px", # fontSizeExtraExtraLarge
101
+ xxl="32px", # fontSizeTitleLarge
102
+ )
103
+
104
+ text_lg = Size(
105
+ name="text_lg",
106
+ xxs="14px", # fontSizeMedium
107
+ xs="16px", # fontSizeLarge
108
+ sm="18px", # fontSizeTitleSmall
109
+ md="21px", # fontSizeExtraLarge
110
+ lg="24px", # fontSizeExtraExtraLarge
111
+ xl="32px", # fontSizeTitleLarge
112
+ xxl="48px", # fontSizeTitleExtraLarge
113
+ )