@sanity-labs/ui-poc 0.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/components.css +9 -0
  2. package/dist/index.d.ts +203 -0
  3. package/dist/index.js +290 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/styles.css +8044 -0
  6. package/dist/utilities.css +8032 -0
  7. package/package.json +89 -0
  8. package/src/components/box/Box.tsx +30 -0
  9. package/src/components/box/box.props.ts +15 -0
  10. package/src/components/flex/Flex.tsx +31 -0
  11. package/src/components/flex/flex.props.ts +19 -0
  12. package/src/components/grid/Grid.tsx +31 -0
  13. package/src/components/grid/grid.props.ts +19 -0
  14. package/src/components/index.css +0 -0
  15. package/src/components/text/Text.tsx +43 -0
  16. package/src/components/text/text.props.ts +15 -0
  17. package/src/css/global.css +103 -0
  18. package/src/css/index.css +6 -0
  19. package/src/css/utilities/dynamic/flex-child.css +5 -0
  20. package/src/css/utilities/dynamic/grid-child.css +8 -0
  21. package/src/css/utilities/dynamic/grid-parent.css +6 -0
  22. package/src/css/utilities/dynamic/height.css +5 -0
  23. package/src/css/utilities/dynamic/index.css +7 -0
  24. package/src/css/utilities/dynamic/line-clamp.css +6 -0
  25. package/src/css/utilities/dynamic/width.css +5 -0
  26. package/src/css/utilities/dynamic/z-index.css +3 -0
  27. package/src/css/utilities/generic/border.css +11 -0
  28. package/src/css/utilities/generic/display.css +13 -0
  29. package/src/css/utilities/generic/flex.css +24 -0
  30. package/src/css/utilities/generic/grid.css +7 -0
  31. package/src/css/utilities/generic/index.css +10 -0
  32. package/src/css/utilities/generic/overflow.css +19 -0
  33. package/src/css/utilities/generic/position.css +7 -0
  34. package/src/css/utilities/generic/text-align.css +5 -0
  35. package/src/css/utilities/generic/text-muted.css +2 -0
  36. package/src/css/utilities/generic/text-trim.css +38 -0
  37. package/src/css/utilities/generic/tone.css +34 -0
  38. package/src/css/utilities/tokenized/color.css +223 -0
  39. package/src/css/utilities/tokenized/container.css +8 -0
  40. package/src/css/utilities/tokenized/fontFamily.css +2 -0
  41. package/src/css/utilities/tokenized/fontWeight.css +4 -0
  42. package/src/css/utilities/tokenized/gap.css +34 -0
  43. package/src/css/utilities/tokenized/index.css +9 -0
  44. package/src/css/utilities/tokenized/inset.css +56 -0
  45. package/src/css/utilities/tokenized/margin.css +92 -0
  46. package/src/css/utilities/tokenized/padding.css +85 -0
  47. package/src/css/utilities/tokenized/radius.css +8 -0
  48. package/src/css/utilities/tokenized/shadow.css +6 -0
  49. package/src/css/utilities/tokenized/typography.css +31 -0
  50. package/src/index.css +2 -0
  51. package/src/index.ts +1 -0
  52. package/src/props/border.ts +51 -0
  53. package/src/props/flexChild.ts +29 -0
  54. package/src/props/flexParent.ts +46 -0
  55. package/src/props/gap.ts +30 -0
  56. package/src/props/gridChild.ts +50 -0
  57. package/src/props/gridParent.ts +44 -0
  58. package/src/props/height.ts +29 -0
  59. package/src/props/layout.ts +37 -0
  60. package/src/props/margin.ts +58 -0
  61. package/src/props/overflow.ts +30 -0
  62. package/src/props/padding.ts +58 -0
  63. package/src/props/position.ts +59 -0
  64. package/src/props/tone.ts +16 -0
  65. package/src/props/typography.ts +46 -0
  66. package/src/props/width.ts +29 -0
  67. package/src/types/Display.ts +8 -0
  68. package/src/types/Flex.ts +18 -0
  69. package/src/types/FontWeight.ts +2 -0
  70. package/src/types/Grid.ts +2 -0
  71. package/src/types/Overflow.ts +2 -0
  72. package/src/types/Position.ts +2 -0
  73. package/src/types/PropDef.ts +25 -0
  74. package/src/types/Radius.ts +2 -0
  75. package/src/types/Responsive.ts +10 -0
  76. package/src/types/Space.ts +5 -0
  77. package/src/types/Text.ts +2 -0
  78. package/src/types/TextAlign.ts +2 -0
  79. package/src/types/Tone.ts +2 -0
  80. package/src/utils/getProps.test.ts +103 -0
  81. package/src/utils/getProps.ts +74 -0
@@ -0,0 +1,223 @@
1
+ /* black */
2
+ .sui-black { color: var(--black); }
3
+ .sui-bg-black { background-color: var(--black); }
4
+
5
+ /* white */
6
+ .sui-white { color: var(--white); }
7
+ .sui-bg-white { background-color: var(--white); }
8
+
9
+ /* blue */
10
+ .sui-blue-50 { color: var(--blue-50); }
11
+ .sui-blue-100 { color: var(--blue-100); }
12
+ .sui-blue-200 { color: var(--blue-200); }
13
+ .sui-blue-300 { color: var(--blue-300); }
14
+ .sui-blue-400 { color: var(--blue-400); }
15
+ .sui-blue-500 { color: var(--blue-500); }
16
+ .sui-blue-600 { color: var(--blue-600); }
17
+ .sui-blue-700 { color: var(--blue-700); }
18
+ .sui-blue-800 { color: var(--blue-800); }
19
+ .sui-blue-900 { color: var(--blue-900); }
20
+ .sui-blue-950 { color: var(--blue-950); }
21
+ .sui-bg-blue-50 { background-color: var(--blue-50); }
22
+ .sui-bg-blue-100 { background-color: var(--blue-100); }
23
+ .sui-bg-blue-200 { background-color: var(--blue-200); }
24
+ .sui-bg-blue-300 { background-color: var(--blue-300); }
25
+ .sui-bg-blue-400 { background-color: var(--blue-400); }
26
+ .sui-bg-blue-500 { background-color: var(--blue-500); }
27
+ .sui-bg-blue-600 { background-color: var(--blue-600); }
28
+ .sui-bg-blue-700 { background-color: var(--blue-700); }
29
+ .sui-bg-blue-800 { background-color: var(--blue-800); }
30
+ .sui-bg-blue-900 { background-color: var(--blue-900); }
31
+ .sui-bg-blue-950 { background-color: var(--blue-950); }
32
+
33
+ /* cyan */
34
+ .sui-cyan-50 { color: var(--cyan-50); }
35
+ .sui-cyan-100 { color: var(--cyan-100); }
36
+ .sui-cyan-200 { color: var(--cyan-200); }
37
+ .sui-cyan-300 { color: var(--cyan-300); }
38
+ .sui-cyan-400 { color: var(--cyan-400); }
39
+ .sui-cyan-500 { color: var(--cyan-500); }
40
+ .sui-cyan-600 { color: var(--cyan-600); }
41
+ .sui-cyan-700 { color: var(--cyan-700); }
42
+ .sui-cyan-800 { color: var(--cyan-800); }
43
+ .sui-cyan-900 { color: var(--cyan-900); }
44
+ .sui-cyan-950 { color: var(--cyan-950); }
45
+ .sui-bg-cyan-50 { background-color: var(--cyan-50); }
46
+ .sui-bg-cyan-100 { background-color: var(--cyan-100); }
47
+ .sui-bg-cyan-200 { background-color: var(--cyan-200); }
48
+ .sui-bg-cyan-300 { background-color: var(--cyan-300); }
49
+ .sui-bg-cyan-400 { background-color: var(--cyan-400); }
50
+ .sui-bg-cyan-500 { background-color: var(--cyan-500); }
51
+ .sui-bg-cyan-600 { background-color: var(--cyan-600); }
52
+ .sui-bg-cyan-700 { background-color: var(--cyan-700); }
53
+ .sui-bg-cyan-800 { background-color: var(--cyan-800); }
54
+ .sui-bg-cyan-900 { background-color: var(--cyan-900); }
55
+ .sui-bg-cyan-950 { background-color: var(--cyan-950); }
56
+
57
+ /* gray */
58
+ .sui-gray-50 { color: var(--gray-50); }
59
+ .sui-gray-100 { color: var(--gray-100); }
60
+ .sui-gray-200 { color: var(--gray-200); }
61
+ .sui-gray-300 { color: var(--gray-300); }
62
+ .sui-gray-400 { color: var(--gray-400); }
63
+ .sui-gray-500 { color: var(--gray-500); }
64
+ .sui-gray-600 { color: var(--gray-600); }
65
+ .sui-gray-700 { color: var(--gray-700); }
66
+ .sui-gray-800 { color: var(--gray-800); }
67
+ .sui-gray-900 { color: var(--gray-900); }
68
+ .sui-gray-950 { color: var(--gray-950); }
69
+ .sui-bg-gray-50 { background-color: var(--gray-50); }
70
+ .sui-bg-gray-100 { background-color: var(--gray-100); }
71
+ .sui-bg-gray-200 { background-color: var(--gray-200); }
72
+ .sui-bg-gray-300 { background-color: var(--gray-300); }
73
+ .sui-bg-gray-400 { background-color: var(--gray-400); }
74
+ .sui-bg-gray-500 { background-color: var(--gray-500); }
75
+ .sui-bg-gray-600 { background-color: var(--gray-600); }
76
+ .sui-bg-gray-700 { background-color: var(--gray-700); }
77
+ .sui-bg-gray-800 { background-color: var(--gray-800); }
78
+ .sui-bg-gray-900 { background-color: var(--gray-900); }
79
+ .sui-bg-gray-950 { background-color: var(--gray-950); }
80
+
81
+ /* green */
82
+ .sui-green-50 { color: var(--green-50); }
83
+ .sui-green-100 { color: var(--green-100); }
84
+ .sui-green-200 { color: var(--green-200); }
85
+ .sui-green-300 { color: var(--green-300); }
86
+ .sui-green-400 { color: var(--green-400); }
87
+ .sui-green-500 { color: var(--green-500); }
88
+ .sui-green-600 { color: var(--green-600); }
89
+ .sui-green-700 { color: var(--green-700); }
90
+ .sui-green-800 { color: var(--green-800); }
91
+ .sui-green-900 { color: var(--green-900); }
92
+ .sui-green-950 { color: var(--green-950); }
93
+ .sui-bg-green-50 { background-color: var(--green-50); }
94
+ .sui-bg-green-100 { background-color: var(--green-100); }
95
+ .sui-bg-green-200 { background-color: var(--green-200); }
96
+ .sui-bg-green-300 { background-color: var(--green-300); }
97
+ .sui-bg-green-400 { background-color: var(--green-400); }
98
+ .sui-bg-green-500 { background-color: var(--green-500); }
99
+ .sui-bg-green-600 { background-color: var(--green-600); }
100
+ .sui-bg-green-700 { background-color: var(--green-700); }
101
+ .sui-bg-green-800 { background-color: var(--green-800); }
102
+ .sui-bg-green-900 { background-color: var(--green-900); }
103
+ .sui-bg-green-950 { background-color: var(--green-950); }
104
+
105
+ /* magenta */
106
+ .sui-magenta-50 { color: var(--magenta-50); }
107
+ .sui-magenta-100 { color: var(--magenta-100); }
108
+ .sui-magenta-200 { color: var(--magenta-200); }
109
+ .sui-magenta-300 { color: var(--magenta-300); }
110
+ .sui-magenta-400 { color: var(--magenta-400); }
111
+ .sui-magenta-500 { color: var(--magenta-500); }
112
+ .sui-magenta-600 { color: var(--magenta-600); }
113
+ .sui-magenta-700 { color: var(--magenta-700); }
114
+ .sui-magenta-800 { color: var(--magenta-800); }
115
+ .sui-magenta-900 { color: var(--magenta-900); }
116
+ .sui-magenta-950 { color: var(--magenta-950); }
117
+ .sui-bg-magenta-50 { background-color: var(--magenta-50); }
118
+ .sui-bg-magenta-100 { background-color: var(--magenta-100); }
119
+ .sui-bg-magenta-200 { background-color: var(--magenta-200); }
120
+ .sui-bg-magenta-300 { background-color: var(--magenta-300); }
121
+ .sui-bg-magenta-400 { background-color: var(--magenta-400); }
122
+ .sui-bg-magenta-500 { background-color: var(--magenta-500); }
123
+ .sui-bg-magenta-600 { background-color: var(--magenta-600); }
124
+ .sui-bg-magenta-700 { background-color: var(--magenta-700); }
125
+ .sui-bg-magenta-800 { background-color: var(--magenta-800); }
126
+ .sui-bg-magenta-900 { background-color: var(--magenta-900); }
127
+ .sui-bg-magenta-950 { background-color: var(--magenta-950); }
128
+
129
+ /* orange */
130
+ .sui-orange-50 { color: var(--orange-50); }
131
+ .sui-orange-100 { color: var(--orange-100); }
132
+ .sui-orange-200 { color: var(--orange-200); }
133
+ .sui-orange-300 { color: var(--orange-300); }
134
+ .sui-orange-400 { color: var(--orange-400); }
135
+ .sui-orange-500 { color: var(--orange-500); }
136
+ .sui-orange-600 { color: var(--orange-600); }
137
+ .sui-orange-700 { color: var(--orange-700); }
138
+ .sui-orange-800 { color: var(--orange-800); }
139
+ .sui-orange-900 { color: var(--orange-900); }
140
+ .sui-orange-950 { color: var(--orange-950); }
141
+ .sui-bg-orange-50 { background-color: var(--orange-50); }
142
+ .sui-bg-orange-100 { background-color: var(--orange-100); }
143
+ .sui-bg-orange-200 { background-color: var(--orange-200); }
144
+ .sui-bg-orange-300 { background-color: var(--orange-300); }
145
+ .sui-bg-orange-400 { background-color: var(--orange-400); }
146
+ .sui-bg-orange-500 { background-color: var(--orange-500); }
147
+ .sui-bg-orange-600 { background-color: var(--orange-600); }
148
+ .sui-bg-orange-700 { background-color: var(--orange-700); }
149
+ .sui-bg-orange-800 { background-color: var(--orange-800); }
150
+ .sui-bg-orange-900 { background-color: var(--orange-900); }
151
+ .sui-bg-orange-950 { background-color: var(--orange-950); }
152
+
153
+ /* purple */
154
+ .sui-purple-50 { color: var(--purple-50); }
155
+ .sui-purple-100 { color: var(--purple-100); }
156
+ .sui-purple-200 { color: var(--purple-200); }
157
+ .sui-purple-300 { color: var(--purple-300); }
158
+ .sui-purple-400 { color: var(--purple-400); }
159
+ .sui-purple-500 { color: var(--purple-500); }
160
+ .sui-purple-600 { color: var(--purple-600); }
161
+ .sui-purple-700 { color: var(--purple-700); }
162
+ .sui-purple-800 { color: var(--purple-800); }
163
+ .sui-purple-900 { color: var(--purple-900); }
164
+ .sui-purple-950 { color: var(--purple-950); }
165
+ .sui-bg-purple-50 { background-color: var(--purple-50); }
166
+ .sui-bg-purple-100 { background-color: var(--purple-100); }
167
+ .sui-bg-purple-200 { background-color: var(--purple-200); }
168
+ .sui-bg-purple-300 { background-color: var(--purple-300); }
169
+ .sui-bg-purple-400 { background-color: var(--purple-400); }
170
+ .sui-bg-purple-500 { background-color: var(--purple-500); }
171
+ .sui-bg-purple-600 { background-color: var(--purple-600); }
172
+ .sui-bg-purple-700 { background-color: var(--purple-700); }
173
+ .sui-bg-purple-800 { background-color: var(--purple-800); }
174
+ .sui-bg-purple-900 { background-color: var(--purple-900); }
175
+ .sui-bg-purple-950 { background-color: var(--purple-950); }
176
+
177
+ /* red */
178
+ .sui-red-50 { color: var(--red-50); }
179
+ .sui-red-100 { color: var(--red-100); }
180
+ .sui-red-200 { color: var(--red-200); }
181
+ .sui-red-300 { color: var(--red-300); }
182
+ .sui-red-400 { color: var(--red-400); }
183
+ .sui-red-500 { color: var(--red-500); }
184
+ .sui-red-600 { color: var(--red-600); }
185
+ .sui-red-700 { color: var(--red-700); }
186
+ .sui-red-800 { color: var(--red-800); }
187
+ .sui-red-900 { color: var(--red-900); }
188
+ .sui-red-950 { color: var(--red-950); }
189
+ .sui-bg-red-50 { background-color: var(--red-50); }
190
+ .sui-bg-red-100 { background-color: var(--red-100); }
191
+ .sui-bg-red-200 { background-color: var(--red-200); }
192
+ .sui-bg-red-300 { background-color: var(--red-300); }
193
+ .sui-bg-red-400 { background-color: var(--red-400); }
194
+ .sui-bg-red-500 { background-color: var(--red-500); }
195
+ .sui-bg-red-600 { background-color: var(--red-600); }
196
+ .sui-bg-red-700 { background-color: var(--red-700); }
197
+ .sui-bg-red-800 { background-color: var(--red-800); }
198
+ .sui-bg-red-900 { background-color: var(--red-900); }
199
+ .sui-bg-red-950 { background-color: var(--red-950); }
200
+
201
+ /* yellow */
202
+ .sui-yellow-50 { color: var(--yellow-50); }
203
+ .sui-yellow-100 { color: var(--yellow-100); }
204
+ .sui-yellow-200 { color: var(--yellow-200); }
205
+ .sui-yellow-300 { color: var(--yellow-300); }
206
+ .sui-yellow-400 { color: var(--yellow-400); }
207
+ .sui-yellow-500 { color: var(--yellow-500); }
208
+ .sui-yellow-600 { color: var(--yellow-600); }
209
+ .sui-yellow-700 { color: var(--yellow-700); }
210
+ .sui-yellow-800 { color: var(--yellow-800); }
211
+ .sui-yellow-900 { color: var(--yellow-900); }
212
+ .sui-yellow-950 { color: var(--yellow-950); }
213
+ .sui-bg-yellow-50 { background-color: var(--yellow-50); }
214
+ .sui-bg-yellow-100 { background-color: var(--yellow-100); }
215
+ .sui-bg-yellow-200 { background-color: var(--yellow-200); }
216
+ .sui-bg-yellow-300 { background-color: var(--yellow-300); }
217
+ .sui-bg-yellow-400 { background-color: var(--yellow-400); }
218
+ .sui-bg-yellow-500 { background-color: var(--yellow-500); }
219
+ .sui-bg-yellow-600 { background-color: var(--yellow-600); }
220
+ .sui-bg-yellow-700 { background-color: var(--yellow-700); }
221
+ .sui-bg-yellow-800 { background-color: var(--yellow-800); }
222
+ .sui-bg-yellow-900 { background-color: var(--yellow-900); }
223
+ .sui-bg-yellow-950 { background-color: var(--yellow-950); }
@@ -0,0 +1,8 @@
1
+ @breakpoints {
2
+ .sui-width0 { width: var(--container-0); }
3
+ .sui-width1 { width: var(--container-1); }
4
+ .sui-width2 { width: var(--container-2); }
5
+ .sui-width3 { width: var(--container-3); }
6
+ .sui-width4 { width: var(--container-4); }
7
+ .sui-width5 { width: var(--container-5); }
8
+ }
@@ -0,0 +1,2 @@
1
+ .sui-font-sans { font-family: var(--sans); }
2
+ .sui-font-mono { font-family: var(--mono); }
@@ -0,0 +1,4 @@
1
+ .sui-weight-bold { font-weight: var(--bold); }
2
+ .sui-weight-medium { font-weight: var(--medium); }
3
+ .sui-weight-regular { font-weight: var(--regular); }
4
+ .sui-weight-semibold { font-weight: var(--semibold); }
@@ -0,0 +1,34 @@
1
+ @breakpoints {
2
+ .sui-gap0 { gap: var(--space-0); }
3
+ .sui-gap1 { gap: var(--space-1); }
4
+ .sui-gap2 { gap: var(--space-2); }
5
+ .sui-gap3 { gap: var(--space-3); }
6
+ .sui-gap4 { gap: var(--space-4); }
7
+ .sui-gap5 { gap: var(--space-5); }
8
+ .sui-gap6 { gap: var(--space-6); }
9
+ .sui-gap7 { gap: var(--space-7); }
10
+ .sui-gap8 { gap: var(--space-8); }
11
+ .sui-gap9 { gap: var(--space-9); }
12
+
13
+ .sui-row-gap0 { row-gap: var(--space-0); }
14
+ .sui-row-gap1 { row-gap: var(--space-1); }
15
+ .sui-row-gap2 { row-gap: var(--space-2); }
16
+ .sui-row-gap3 { row-gap: var(--space-3); }
17
+ .sui-row-gap4 { row-gap: var(--space-4); }
18
+ .sui-row-gap5 { row-gap: var(--space-5); }
19
+ .sui-row-gap6 { row-gap: var(--space-6); }
20
+ .sui-row-gap7 { row-gap: var(--space-7); }
21
+ .sui-row-gap8 { row-gap: var(--space-8); }
22
+ .sui-row-gap9 { row-gap: var(--space-9); }
23
+
24
+ .sui-column-gap0 { column-gap: var(--space-0); }
25
+ .sui-column-gap1 { column-gap: var(--space-1); }
26
+ .sui-column-gap2 { column-gap: var(--space-2); }
27
+ .sui-column-gap3 { column-gap: var(--space-3); }
28
+ .sui-column-gap4 { column-gap: var(--space-4); }
29
+ .sui-column-gap5 { column-gap: var(--space-5); }
30
+ .sui-column-gap6 { column-gap: var(--space-6); }
31
+ .sui-column-gap7 { column-gap: var(--space-7); }
32
+ .sui-column-gap8 { column-gap: var(--space-8); }
33
+ .sui-column-gap9 { column-gap: var(--space-9); }
34
+ }
@@ -0,0 +1,9 @@
1
+ @import './color.css';
2
+ @import './container.css';
3
+ @import './inset.css';
4
+ @import './margin.css';
5
+ @import './padding.css';
6
+ @import './radius.css';
7
+ @import './shadow.css';
8
+ @import './typography.css';
9
+ @import './fontWeight.css';
@@ -0,0 +1,56 @@
1
+ @breakpoints {
2
+ .sui-inset0 { inset: var(--space-0); }
3
+ .sui-inset1 { inset: var(--space-1); }
4
+ .sui-inset2 { inset: var(--space-2); }
5
+ .sui-inset3 { inset: var(--space-3); }
6
+ .sui-inset4 { inset: var(--space-4); }
7
+ .sui-inset5 { inset: var(--space-5); }
8
+ .sui-inset6 { inset: var(--space-6); }
9
+ .sui-inset7 { inset: var(--space-7); }
10
+ .sui-inset8 { inset: var(--space-8); }
11
+ .sui-inset9 { inset: var(--space-9); }
12
+
13
+ .sui-top0 { top: var(--space-0); }
14
+ .sui-top1 { top: var(--space-1); }
15
+ .sui-top2 { top: var(--space-2); }
16
+ .sui-top3 { top: var(--space-3); }
17
+ .sui-top4 { top: var(--space-4); }
18
+ .sui-top5 { top: var(--space-5); }
19
+ .sui-top6 { top: var(--space-6); }
20
+ .sui-top7 { top: var(--space-7); }
21
+ .sui-top8 { top: var(--space-8); }
22
+ .sui-top9 { top: var(--space-9); }
23
+
24
+ .sui-right0 { right: var(--space-0); }
25
+ .sui-right1 { right: var(--space-1); }
26
+ .sui-right2 { right: var(--space-2); }
27
+ .sui-right3 { right: var(--space-3); }
28
+ .sui-right4 { right: var(--space-4); }
29
+ .sui-right5 { right: var(--space-5); }
30
+ .sui-right6 { right: var(--space-6); }
31
+ .sui-right7 { right: var(--space-7); }
32
+ .sui-right8 { right: var(--space-8); }
33
+ .sui-right9 { right: var(--space-9); }
34
+
35
+ .sui-bottom0 { bottom: var(--space-0); }
36
+ .sui-bottom1 { bottom: var(--space-1); }
37
+ .sui-bottom2 { bottom: var(--space-2); }
38
+ .sui-bottom3 { bottom: var(--space-3); }
39
+ .sui-bottom4 { bottom: var(--space-4); }
40
+ .sui-bottom5 { bottom: var(--space-5); }
41
+ .sui-bottom6 { bottom: var(--space-6); }
42
+ .sui-bottom7 { bottom: var(--space-7); }
43
+ .sui-bottom8 { bottom: var(--space-8); }
44
+ .sui-bottom9 { bottom: var(--space-9); }
45
+
46
+ .sui-left0 { left: var(--space-0); }
47
+ .sui-left1 { left: var(--space-1); }
48
+ .sui-left2 { left: var(--space-2); }
49
+ .sui-left3 { left: var(--space-3); }
50
+ .sui-left4 { left: var(--space-4); }
51
+ .sui-left5 { left: var(--space-5); }
52
+ .sui-left6 { left: var(--space-6); }
53
+ .sui-left7 { left: var(--space-7); }
54
+ .sui-left8 { left: var(--space-8); }
55
+ .sui-left9 { left: var(--space-9); }
56
+ }
@@ -0,0 +1,92 @@
1
+ @breakpoints {
2
+ /* margin */
3
+ .sui-m0 { margin: var(--space-0); }
4
+ .sui-m1 { margin: var(--space-1); }
5
+ .sui-m2 { margin: var(--space-2); }
6
+ .sui-m3 { margin: var(--space-3); }
7
+ .sui-m4 { margin: var(--space-4); }
8
+ .sui-m5 { margin: var(--space-5); }
9
+ .sui-m6 { margin: var(--space-6); }
10
+ .sui-m7 { margin: var(--space-7); }
11
+ .sui-m8 { margin: var(--space-8); }
12
+ .sui-m9 { margin: var(--space-9); }
13
+ .sui-m-auto { margin: auto; }
14
+
15
+ /* margin-x */
16
+ .sui-mx0 { margin-left: var(--space-0); margin-right: var(--space-0); }
17
+ .sui-mx1 { margin-left: var(--space-1); margin-right: var(--space-1); }
18
+ .sui-mx2 { margin-left: var(--space-2); margin-right: var(--space-2); }
19
+ .sui-mx3 { margin-left: var(--space-3); margin-right: var(--space-3); }
20
+ .sui-mx4 { margin-left: var(--space-4); margin-right: var(--space-4); }
21
+ .sui-mx5 { margin-left: var(--space-5); margin-right: var(--space-5); }
22
+ .sui-mx6 { margin-left: var(--space-6); margin-right: var(--space-6); }
23
+ .sui-mx7 { margin-left: var(--space-7); margin-right: var(--space-7); }
24
+ .sui-mx8 { margin-left: var(--space-8); margin-right: var(--space-8); }
25
+ .sui-mx9 { margin-left: var(--space-9); margin-right: var(--space-9); }
26
+ .sui-mx-auto { margin-left: auto; margin-right: auto; }
27
+
28
+ /* margin-y */
29
+ .sui-my0 { margin-top: var(--space-0); margin-bottom: var(--space-0); }
30
+ .sui-my1 { margin-top: var(--space-1); margin-bottom: var(--space-1); }
31
+ .sui-my2 { margin-top: var(--space-2); margin-bottom: var(--space-2); }
32
+ .sui-my3 { margin-top: var(--space-3); margin-bottom: var(--space-3); }
33
+ .sui-my4 { margin-top: var(--space-4); margin-bottom: var(--space-4); }
34
+ .sui-my5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
35
+ .sui-my6 { margin-top: var(--space-6); margin-bottom: var(--space-6); }
36
+ .sui-my7 { margin-top: var(--space-7); margin-bottom: var(--space-7); }
37
+ .sui-my8 { margin-top: var(--space-8); margin-bottom: var(--space-8); }
38
+ .sui-my9 { margin-top: var(--space-9); margin-bottom: var(--space-9); }
39
+ .sui-my-auto { margin-top: auto; margin-bottom: auto; }
40
+
41
+ /* margin-top */
42
+ .sui-mt0 { margin-top: var(--space-0); }
43
+ .sui-mt1 { margin-top: var(--space-1); }
44
+ .sui-mt2 { margin-top: var(--space-2); }
45
+ .sui-mt3 { margin-top: var(--space-3); }
46
+ .sui-mt4 { margin-top: var(--space-4); }
47
+ .sui-mt5 { margin-top: var(--space-5); }
48
+ .sui-mt6 { margin-top: var(--space-6); }
49
+ .sui-mt7 { margin-top: var(--space-7); }
50
+ .sui-mt8 { margin-top: var(--space-8); }
51
+ .sui-mt9 { margin-top: var(--space-9); }
52
+ .sui-mt-auto { margin-top: auto; }
53
+
54
+ /* margin-right */
55
+ .sui-mr0 { margin-right: var(--space-0); }
56
+ .sui-mr1 { margin-right: var(--space-1); }
57
+ .sui-mr2 { margin-right: var(--space-2); }
58
+ .sui-mr3 { margin-right: var(--space-3); }
59
+ .sui-mr4 { margin-right: var(--space-4); }
60
+ .sui-mr5 { margin-right: var(--space-5); }
61
+ .sui-mr6 { margin-right: var(--space-6); }
62
+ .sui-mr7 { margin-right: var(--space-7); }
63
+ .sui-mr8 { margin-right: var(--space-8); }
64
+ .sui-mr9 { margin-right: var(--space-9); }
65
+ .sui-mr-auto { margin-right: auto; }
66
+
67
+ /* margin-bottom */
68
+ .sui-mb0 { margin-bottom: var(--space-0); }
69
+ .sui-mb1 { margin-bottom: var(--space-1); }
70
+ .sui-mb2 { margin-bottom: var(--space-2); }
71
+ .sui-mb3 { margin-bottom: var(--space-3); }
72
+ .sui-mb4 { margin-bottom: var(--space-4); }
73
+ .sui-mb5 { margin-bottom: var(--space-5); }
74
+ .sui-mb6 { margin-bottom: var(--space-6); }
75
+ .sui-mb7 { margin-bottom: var(--space-7); }
76
+ .sui-mb8 { margin-bottom: var(--space-8); }
77
+ .sui-mb9 { margin-bottom: var(--space-9); }
78
+ .sui-mb-auto { margin-bottom: auto; }
79
+
80
+ /* margin-left */
81
+ .sui-ml0 { margin-left: var(--space-0); }
82
+ .sui-ml1 { margin-left: var(--space-1); }
83
+ .sui-ml2 { margin-left: var(--space-2); }
84
+ .sui-ml3 { margin-left: var(--space-3); }
85
+ .sui-ml4 { margin-left: var(--space-4); }
86
+ .sui-ml5 { margin-left: var(--space-5); }
87
+ .sui-ml6 { margin-left: var(--space-6); }
88
+ .sui-ml7 { margin-left: var(--space-7); }
89
+ .sui-ml8 { margin-left: var(--space-8); }
90
+ .sui-ml9 { margin-left: var(--space-9); }
91
+ .sui-ml-auto { margin-left: auto; }
92
+ }
@@ -0,0 +1,85 @@
1
+ @breakpoints {
2
+ /* padding */
3
+ .sui-p0 { padding: var(--space-0); }
4
+ .sui-p1 { padding: var(--space-1); }
5
+ .sui-p2 { padding: var(--space-2); }
6
+ .sui-p3 { padding: var(--space-3); }
7
+ .sui-p4 { padding: var(--space-4); }
8
+ .sui-p5 { padding: var(--space-5); }
9
+ .sui-p6 { padding: var(--space-6); }
10
+ .sui-p7 { padding: var(--space-7); }
11
+ .sui-p8 { padding: var(--space-8); }
12
+ .sui-p9 { padding: var(--space-9); }
13
+
14
+ /* padding-x */
15
+ .sui-px0 { padding-left: var(--space-0); padding-right: var(--space-0); }
16
+ .sui-px1 { padding-left: var(--space-1); padding-right: var(--space-1); }
17
+ .sui-px2 { padding-left: var(--space-2); padding-right: var(--space-2); }
18
+ .sui-px3 { padding-left: var(--space-3); padding-right: var(--space-3); }
19
+ .sui-px4 { padding-left: var(--space-4); padding-right: var(--space-4); }
20
+ .sui-px5 { padding-left: var(--space-5); padding-right: var(--space-5); }
21
+ .sui-px6 { padding-left: var(--space-6); padding-right: var(--space-6); }
22
+ .sui-px7 { padding-left: var(--space-7); padding-right: var(--space-7); }
23
+ .sui-px8 { padding-left: var(--space-8); padding-right: var(--space-8); }
24
+ .sui-px9 { padding-left: var(--space-9); padding-right: var(--space-9); }
25
+
26
+ /* padding-y */
27
+ .sui-py0 { padding-top: var(--space-0); padding-bottom: var(--space-0); }
28
+ .sui-py1 { padding-top: var(--space-1); padding-bottom: var(--space-1); }
29
+ .sui-py2 { padding-top: var(--space-2); padding-bottom: var(--space-2); }
30
+ .sui-py3 { padding-top: var(--space-3); padding-bottom: var(--space-3); }
31
+ .sui-py4 { padding-top: var(--space-4); padding-bottom: var(--space-4); }
32
+ .sui-py5 { padding-top: var(--space-5); padding-bottom: var(--space-5); }
33
+ .sui-py6 { padding-top: var(--space-6); padding-bottom: var(--space-6); }
34
+ .sui-py7 { padding-top: var(--space-7); padding-bottom: var(--space-7); }
35
+ .sui-py8 { padding-top: var(--space-8); padding-bottom: var(--space-8); }
36
+ .sui-py9 { padding-top: var(--space-9); padding-bottom: var(--space-9); }
37
+
38
+ /* padding-top */
39
+ .sui-pt0 { padding-top: var(--space-0); }
40
+ .sui-pt1 { padding-top: var(--space-1); }
41
+ .sui-pt2 { padding-top: var(--space-2); }
42
+ .sui-pt3 { padding-top: var(--space-3); }
43
+ .sui-pt4 { padding-top: var(--space-4); }
44
+ .sui-pt5 { padding-top: var(--space-5); }
45
+ .sui-pt6 { padding-top: var(--space-6); }
46
+ .sui-pt7 { padding-top: var(--space-7); }
47
+ .sui-pt8 { padding-top: var(--space-8); }
48
+ .sui-pt9 { padding-top: var(--space-9); }
49
+
50
+ /* padding-right */
51
+ .sui-pr0 { padding-right: var(--space-0); }
52
+ .sui-pr1 { padding-right: var(--space-1); }
53
+ .sui-pr2 { padding-right: var(--space-2); }
54
+ .sui-pr3 { padding-right: var(--space-3); }
55
+ .sui-pr4 { padding-right: var(--space-4); }
56
+ .sui-pr5 { padding-right: var(--space-5); }
57
+ .sui-pr6 { padding-right: var(--space-6); }
58
+ .sui-pr7 { padding-right: var(--space-7); }
59
+ .sui-pr8 { padding-right: var(--space-8); }
60
+ .sui-pr9 { padding-right: var(--space-9); }
61
+
62
+ /* padding-bottom */
63
+ .sui-pb0 { padding-bottom: var(--space-0); }
64
+ .sui-pb1 { padding-bottom: var(--space-1); }
65
+ .sui-pb2 { padding-bottom: var(--space-2); }
66
+ .sui-pb3 { padding-bottom: var(--space-3); }
67
+ .sui-pb4 { padding-bottom: var(--space-4); }
68
+ .sui-pb5 { padding-bottom: var(--space-5); }
69
+ .sui-pb6 { padding-bottom: var(--space-6); }
70
+ .sui-pb7 { padding-bottom: var(--space-7); }
71
+ .sui-pb8 { padding-bottom: var(--space-8); }
72
+ .sui-pb9 { padding-bottom: var(--space-9); }
73
+
74
+ /* padding-left */
75
+ .sui-pl0 { padding-left: var(--space-0); }
76
+ .sui-pl1 { padding-left: var(--space-1); }
77
+ .sui-pl2 { padding-left: var(--space-2); }
78
+ .sui-pl3 { padding-left: var(--space-3); }
79
+ .sui-pl4 { padding-left: var(--space-4); }
80
+ .sui-pl5 { padding-left: var(--space-5); }
81
+ .sui-pl6 { padding-left: var(--space-6); }
82
+ .sui-pl7 { padding-left: var(--space-7); }
83
+ .sui-pl8 { padding-left: var(--space-8); }
84
+ .sui-pl9 { padding-left: var(--space-9); }
85
+ }
@@ -0,0 +1,8 @@
1
+ .sui-radius0 { border-radius: var(--radius-0); }
2
+ .sui-radius1 { border-radius: var(--radius-1); }
3
+ .sui-radius2 { border-radius: var(--radius-2); }
4
+ .sui-radius3 { border-radius: var(--radius-3); }
5
+ .sui-radius4 { border-radius: var(--radius-4); }
6
+ .sui-radius5 { border-radius: var(--radius-5); }
7
+ .sui-radius6 { border-radius: var(--radius-6); }
8
+ .sui-radius-round { border-radius: var(--radius-round); }
@@ -0,0 +1,6 @@
1
+ .sui-shadow0 { box-shadow: var(--shadow0); }
2
+ .sui-shadow1 { box-shadow: var(--shadow1); }
3
+ .sui-shadow2 { box-shadow: var(--shadow2); }
4
+ .sui-shadow3 { box-shadow: var(--shadow3); }
5
+ .sui-shadow4 { box-shadow: var(--shadow4); }
6
+ .sui-shadow5 { box-shadow: var(--shadow5); }
@@ -0,0 +1,31 @@
1
+ @breakpoints {
2
+ .sui-text-body0 { font: var(--body-0); }
3
+ .sui-text-body1 { font: var(--body-1); }
4
+ .sui-text-body2 { font: var(--body-2); }
5
+ .sui-text-body3 { font: var(--body-3); }
6
+ .sui-text-body4 { font: var(--body-4); }
7
+
8
+ .sui-text-code0 { font: var(--code-0); }
9
+ .sui-text-code1 { font: var(--code-1); }
10
+ .sui-text-code2 { font: var(--code-2); }
11
+ .sui-text-code3 { font: var(--code-3); }
12
+ .sui-text-code4 { font: var(--code-4); }
13
+
14
+ .sui-text-heading0 { font: var(--heading-0); }
15
+ .sui-text-heading1 { font: var(--heading-1); }
16
+ .sui-text-heading2 { font: var(--heading-2); }
17
+ .sui-text-heading3 { font: var(--heading-3); }
18
+ .sui-text-heading4 { font: var(--heading-4); }
19
+ .sui-text-heading5 { font: var(--heading-5); }
20
+ .sui-text-heading6 { font: var(--heading-6); }
21
+ .sui-text-heading7 { font: var(--heading-7); }
22
+ .sui-text-heading8 { font: var(--heading-8); }
23
+ .sui-text-heading9 { font: var(--heading-9); }
24
+
25
+ .sui-text-label0 { font: var(--label-0); }
26
+ .sui-text-label1 { font: var(--label-1); }
27
+ .sui-text-label2 { font: var(--label-2); }
28
+ .sui-text-label3 { font: var(--label-3); }
29
+ .sui-text-label4 { font: var(--label-4); }
30
+ .sui-text-label5 { font: var(--label-5); }
31
+ }
package/src/index.css ADDED
@@ -0,0 +1,2 @@
1
+ @import 'components/index.css';
2
+ @import 'css/index.css';
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './components/Box'
@@ -0,0 +1,51 @@
1
+ import {type PropDef} from '../types/PropDef'
2
+ import {RADIUS, type Radius} from '../types/Radius'
3
+ import {type Responsive} from '../types/Responsive'
4
+
5
+ export type BorderProps = {
6
+ /** CSS **border** property */
7
+ border?: Responsive<boolean>
8
+ /** CSS **border-top** property */
9
+ borderTop?: Responsive<boolean>
10
+ /** CSS **border-right** property */
11
+ borderRight?: Responsive<boolean>
12
+ /** CSS **border-bottom** property */
13
+ borderBottom?: Responsive<boolean>
14
+ /** CSS **border-left** property */
15
+ borderLeft?: Responsive<boolean>
16
+ /** CSS **border-radius** property */
17
+ radius?: Responsive<Radius>
18
+ }
19
+
20
+ export const borderProps: Record<string, PropDef> = {
21
+ border: {
22
+ type: 'boolean',
23
+ className: 'border',
24
+ inverse: 'border-none',
25
+ },
26
+ borderTop: {
27
+ type: 'boolean',
28
+ className: 'border-top',
29
+ inverse: 'border-top-none',
30
+ },
31
+ borderRight: {
32
+ type: 'boolean',
33
+ className: 'border-right',
34
+ inverse: 'border-right-none',
35
+ },
36
+ borderBottom: {
37
+ type: 'boolean',
38
+ className: 'border-bottom',
39
+ inverse: 'border-bottom-none',
40
+ },
41
+ borderLeft: {
42
+ type: 'boolean',
43
+ className: 'border-left',
44
+ inverse: 'border-left-none',
45
+ },
46
+ radius: {
47
+ type: 'union',
48
+ className: 'radius',
49
+ values: RADIUS,
50
+ },
51
+ }
@@ -0,0 +1,29 @@
1
+ import {type PropDef} from '../types/PropDef'
2
+ import {type Responsive} from '../types/Responsive'
3
+
4
+ export type FlexChildProps = {
5
+ /** CSS **flex-basis** property */
6
+ flexBasis?: Responsive<string>
7
+ /** CSS **flex-grow** property */
8
+ flexGrow?: Responsive<number>
9
+ /** CSS **flex-shrink** property */
10
+ flexShrink?: Responsive<number>
11
+ }
12
+
13
+ export const flexChildProps: Record<string, PropDef> = {
14
+ flexBasis: {
15
+ type: 'string',
16
+ className: 'flex-basis',
17
+ variable: '--flex-basis',
18
+ },
19
+ flexGrow: {
20
+ type: 'number',
21
+ className: 'flex-grow',
22
+ variable: '--flex-grow',
23
+ },
24
+ flexShrink: {
25
+ type: 'number',
26
+ className: 'flex-shrink',
27
+ variable: '--flex-shrink',
28
+ },
29
+ }