@gridify/studio 0.0.0-stage → 1.0.0-rc.1

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.
@@ -0,0 +1,52 @@
1
+ @use 'sass:map';
2
+
3
+ $kinds: keyword, string, comment, number, function, type, decorator, attribute, tag, variable;
4
+
5
+ $light: (
6
+ keyword: #0000ff,
7
+ string: #a31515,
8
+ comment: #007600,
9
+ number: #08734b,
10
+ function: #795e26,
11
+ type: #206d84,
12
+ decorator: #a800d2,
13
+ attribute: #cd0000,
14
+ tag: #0000ff,
15
+ variable: #001080,
16
+ );
17
+
18
+ $dark: (
19
+ keyword: #61a3d9,
20
+ string: #ce9178,
21
+ comment: #7aaa65,
22
+ number: #b5cea8,
23
+ function: #dcdcaa,
24
+ type: #4ec9b0,
25
+ decorator: #c689c1,
26
+ attribute: #9cdcfe,
27
+ tag: #61a3d9,
28
+ variable: #9cdcfe,
29
+ );
30
+
31
+ @mixin light() {
32
+ @each $kind, $color in $light {
33
+ --gfy-code-token-#{$kind}: #{$color};
34
+ }
35
+ }
36
+
37
+ @mixin dark() {
38
+ @each $kind, $color in $dark {
39
+ --gfy-code-token-#{$kind}: #{$color};
40
+ }
41
+ }
42
+
43
+ @mixin token-classes() {
44
+ @each $kind in $kinds {
45
+ .gfy-tk-#{$kind} {
46
+ color: var(--_tk-#{$kind}, var(--gfy-code-token-#{$kind}, #{map.get($light, $kind)}));
47
+ }
48
+ }
49
+ .gfy-tk-comment {
50
+ font-style: italic;
51
+ }
52
+ }
@@ -0,0 +1,297 @@
1
+ :root,
2
+ [data-gfy-density='classic'] {
3
+
4
+ --gfy-density-font-size: 13px;
5
+ --gfy-density-control-height: 28px;
6
+ --gfy-density-control-padding-x: 10px;
7
+ --gfy-density-control-padding-y: 3px;
8
+ --gfy-density-control-gap: 6px;
9
+
10
+ --gfy-density-tab-height: 30px;
11
+
12
+ --gfy-density-menu-font-size: 13px;
13
+ --gfy-density-status-font-size: 12px;
14
+ --gfy-density-menu-bar-height: 28px;
15
+ --gfy-menu-bar-padding-x: 6px;
16
+ --gfy-menu-head-padding-x: 9px;
17
+ --gfy-menu-more-padding-x: 7px;
18
+
19
+ --gfy-density-menu-item-height: 24px;
20
+ --gfy-menu-item-padding-start: 6px;
21
+ --gfy-menu-item-padding-end: 12px;
22
+ --gfy-menu-item-gap: 8px;
23
+ --gfy-menu-list-padding-y: 3px;
24
+ --gfy-menu-separator-margin: 3px;
25
+
26
+ --gfy-density-status-bar-height: 24px;
27
+ --gfy-status-bar-padding-x: 4px;
28
+ --gfy-status-item-padding-x: 8px;
29
+ --gfy-status-item-gap: 5px;
30
+ --gfy-status-more-padding-x: 6px;
31
+
32
+ --gfy-density-ribbon-row-height: 24px;
33
+ --gfy-ribbon-row-gap: 2px;
34
+ --gfy-ribbon-col-gap: 6px;
35
+ --gfy-ribbon-section-padding: 6px;
36
+ --gfy-ribbon-tab-padding-y: 6px;
37
+ --gfy-ribbon-tab-padding-x: 12px;
38
+ --gfy-ribbon-body-padding-y: 8px;
39
+
40
+ --gfy-density-toolbar-row-height: 26px;
41
+ --gfy-toolbar-gap: 2px;
42
+ --gfy-toolbar-padding-x: 4px;
43
+ --gfy-toolbar-padding-y: 2px;
44
+
45
+ --gfy-form-spacing-x: 8px;
46
+ --gfy-form-spacing-y: 8px;
47
+ }
48
+
49
+ [data-gfy-density='dense'] {
50
+
51
+ --gfy-density-font-size: 11px;
52
+ --gfy-density-control-height: 22px;
53
+ --gfy-density-control-padding-x: 6px;
54
+ --gfy-density-control-padding-y: 2px;
55
+ --gfy-density-control-gap: 4px;
56
+
57
+ --gfy-density-tab-height: 24px;
58
+
59
+ --gfy-density-menu-font-size: 11px;
60
+ --gfy-density-status-font-size: 11px;
61
+ --gfy-density-menu-bar-height: 22px;
62
+ --gfy-menu-bar-padding-x: 2px;
63
+ --gfy-menu-head-padding-x: 5px;
64
+ --gfy-menu-more-padding-x: 4px;
65
+
66
+ --gfy-density-menu-item-height: 18px;
67
+ --gfy-menu-item-padding-start: 3px;
68
+ --gfy-menu-item-padding-end: 6px;
69
+ --gfy-menu-item-gap: 5px;
70
+ --gfy-menu-list-padding-y: 1px;
71
+ --gfy-menu-separator-margin: 1px;
72
+
73
+ --gfy-density-status-bar-height: 18px;
74
+ --gfy-status-bar-padding-x: 1px;
75
+ --gfy-status-item-padding-x: 5px;
76
+ --gfy-status-item-gap: 3px;
77
+ --gfy-status-more-padding-x: 3px;
78
+
79
+ --gfy-density-ribbon-row-height: 20px;
80
+ --gfy-ribbon-row-gap: 1px;
81
+ --gfy-ribbon-col-gap: 3px;
82
+ --gfy-ribbon-section-padding: 3px;
83
+ --gfy-ribbon-tab-padding-y: 3px;
84
+ --gfy-ribbon-tab-padding-x: 8px;
85
+ --gfy-ribbon-body-padding-y: 4px;
86
+
87
+ --gfy-density-toolbar-row-height: 22px;
88
+ --gfy-toolbar-gap: 1px;
89
+ --gfy-toolbar-padding-x: 2px;
90
+ --gfy-toolbar-padding-y: 1px;
91
+
92
+ --gfy-form-spacing-x: 4px;
93
+ --gfy-form-spacing-y: 4px;
94
+ }
95
+
96
+ [data-gfy-density='compact'] {
97
+
98
+ --gfy-density-font-size: 12px;
99
+ --gfy-density-control-height: 25px;
100
+ --gfy-density-control-padding-x: 8px;
101
+ --gfy-density-control-padding-y: 3px;
102
+ --gfy-density-control-gap: 5px;
103
+
104
+ --gfy-density-tab-height: 27px;
105
+
106
+ --gfy-density-menu-font-size: 12px;
107
+ --gfy-density-status-font-size: 11px;
108
+ --gfy-density-menu-bar-height: 24px;
109
+ --gfy-menu-bar-padding-x: 4px;
110
+ --gfy-menu-head-padding-x: 7px;
111
+ --gfy-menu-more-padding-x: 5px;
112
+
113
+ --gfy-density-menu-item-height: 20px;
114
+ --gfy-menu-item-padding-start: 4px;
115
+ --gfy-menu-item-padding-end: 8px;
116
+ --gfy-menu-item-gap: 6px;
117
+ --gfy-menu-list-padding-y: 2px;
118
+ --gfy-menu-separator-margin: 2px;
119
+
120
+ --gfy-density-status-bar-height: 20px;
121
+ --gfy-status-bar-padding-x: 2px;
122
+ --gfy-status-item-padding-x: 6px;
123
+ --gfy-status-item-gap: 4px;
124
+ --gfy-status-more-padding-x: 4px;
125
+
126
+ --gfy-density-ribbon-row-height: 22px;
127
+ --gfy-ribbon-row-gap: 2px;
128
+ --gfy-ribbon-col-gap: 4px;
129
+ --gfy-ribbon-section-padding: 4px;
130
+ --gfy-ribbon-tab-padding-y: 4px;
131
+ --gfy-ribbon-tab-padding-x: 10px;
132
+ --gfy-ribbon-body-padding-y: 6px;
133
+
134
+ --gfy-density-toolbar-row-height: 24px;
135
+ --gfy-toolbar-gap: 1px;
136
+ --gfy-toolbar-padding-x: 3px;
137
+ --gfy-toolbar-padding-y: 1px;
138
+
139
+ --gfy-form-spacing-x: 6px;
140
+ --gfy-form-spacing-y: 6px;
141
+ }
142
+
143
+ [data-gfy-density='relaxed'] {
144
+
145
+ --gfy-density-font-size: 14px;
146
+ --gfy-density-control-height: 32px;
147
+ --gfy-density-control-padding-x: 12px;
148
+ --gfy-density-control-padding-y: 4px;
149
+ --gfy-density-control-gap: 8px;
150
+
151
+ --gfy-density-tab-height: 34px;
152
+
153
+ --gfy-density-menu-font-size: 14px;
154
+ --gfy-density-status-font-size: 13px;
155
+ --gfy-density-menu-bar-height: 32px;
156
+ --gfy-menu-bar-padding-x: 8px;
157
+ --gfy-menu-head-padding-x: 11px;
158
+ --gfy-menu-more-padding-x: 9px;
159
+
160
+ --gfy-density-menu-item-height: 28px;
161
+ --gfy-menu-item-padding-start: 7px;
162
+ --gfy-menu-item-padding-end: 14px;
163
+ --gfy-menu-item-gap: 9px;
164
+ --gfy-menu-list-padding-y: 4px;
165
+ --gfy-menu-separator-margin: 4px;
166
+
167
+ --gfy-density-status-bar-height: 28px;
168
+ --gfy-status-bar-padding-x: 5px;
169
+ --gfy-status-item-padding-x: 10px;
170
+ --gfy-status-item-gap: 6px;
171
+ --gfy-status-more-padding-x: 7px;
172
+
173
+ --gfy-density-ribbon-row-height: 28px;
174
+ --gfy-ribbon-row-gap: 3px;
175
+ --gfy-ribbon-col-gap: 8px;
176
+ --gfy-ribbon-section-padding: 8px;
177
+ --gfy-ribbon-tab-padding-y: 8px;
178
+ --gfy-ribbon-tab-padding-x: 14px;
179
+ --gfy-ribbon-body-padding-y: 10px;
180
+
181
+ --gfy-density-toolbar-row-height: 30px;
182
+ --gfy-toolbar-gap: 3px;
183
+ --gfy-toolbar-padding-x: 6px;
184
+ --gfy-toolbar-padding-y: 3px;
185
+
186
+ --gfy-form-spacing-x: 10px;
187
+ --gfy-form-spacing-y: 10px;
188
+ }
189
+
190
+ [data-gfy-density='spacious'] {
191
+
192
+ --gfy-density-font-size: 15px;
193
+ --gfy-density-control-height: 36px;
194
+ --gfy-density-control-padding-x: 14px;
195
+ --gfy-density-control-padding-y: 5px;
196
+ --gfy-density-control-gap: 10px;
197
+
198
+ --gfy-density-tab-height: 38px;
199
+
200
+ --gfy-density-menu-font-size: 15px;
201
+ --gfy-density-status-font-size: 14px;
202
+ --gfy-density-menu-bar-height: 36px;
203
+ --gfy-menu-bar-padding-x: 10px;
204
+ --gfy-menu-head-padding-x: 14px;
205
+ --gfy-menu-more-padding-x: 11px;
206
+
207
+ --gfy-density-menu-item-height: 32px;
208
+ --gfy-menu-item-padding-start: 9px;
209
+ --gfy-menu-item-padding-end: 18px;
210
+ --gfy-menu-item-gap: 11px;
211
+ --gfy-menu-list-padding-y: 5px;
212
+ --gfy-menu-separator-margin: 5px;
213
+
214
+ --gfy-density-status-bar-height: 32px;
215
+ --gfy-status-bar-padding-x: 6px;
216
+ --gfy-status-item-padding-x: 12px;
217
+ --gfy-status-item-gap: 7px;
218
+ --gfy-status-more-padding-x: 9px;
219
+
220
+ --gfy-density-ribbon-row-height: 32px;
221
+ --gfy-ribbon-row-gap: 4px;
222
+ --gfy-ribbon-col-gap: 10px;
223
+ --gfy-ribbon-section-padding: 10px;
224
+ --gfy-ribbon-tab-padding-y: 10px;
225
+ --gfy-ribbon-tab-padding-x: 16px;
226
+ --gfy-ribbon-body-padding-y: 12px;
227
+
228
+ --gfy-density-toolbar-row-height: 34px;
229
+ --gfy-toolbar-gap: 4px;
230
+ --gfy-toolbar-padding-x: 8px;
231
+ --gfy-toolbar-padding-y: 4px;
232
+
233
+ --gfy-form-spacing-x: 12px;
234
+ --gfy-form-spacing-y: 12px;
235
+ }
236
+
237
+ :root,
238
+ [data-gfy-script='latin'] {
239
+ --gfy-script-line-height: 1.4;
240
+ --gfy-script-font-scale: 1;
241
+
242
+ --gfy-script-optical-shift: 0.1em;
243
+
244
+ --gfy-script-min-font-size: 10px;
245
+ --gfy-script-strong-weight: 700;
246
+ }
247
+
248
+ [data-gfy-script='tall'] {
249
+ --gfy-script-line-height: 1.7;
250
+ --gfy-script-font-scale: 1.08;
251
+ --gfy-script-optical-shift: 0em;
252
+ --gfy-script-min-font-size: 12px;
253
+ --gfy-script-strong-weight: 500;
254
+ }
255
+
256
+ :root,
257
+ [data-gfy-density],
258
+ [data-gfy-script] {
259
+ --gfy-font-size: calc(var(--gfy-density-font-size) * var(--gfy-script-font-scale));
260
+
261
+ --gfy-font-size-base: var(--gfy-font-size, 13px);
262
+ --gfy-line-height: var(--gfy-script-line-height);
263
+ --gfy-control-padding-x: var(--gfy-density-control-padding-x);
264
+ --gfy-control-padding-y: var(--gfy-density-control-padding-y);
265
+ --gfy-control-gap: var(--gfy-density-control-gap);
266
+
267
+ --gfy-control-height: max(var(--gfy-density-control-height), round(up, calc(var(--gfy-font-size) * var(--gfy-line-height) + 2 * var(--gfy-control-padding-y) + 2px), 1px));
268
+
269
+ --gfy-menu-font-size: calc(var(--gfy-density-menu-font-size) * var(--gfy-script-font-scale));
270
+ --gfy-status-font-size: calc(var(--gfy-density-status-font-size) * var(--gfy-script-font-scale));
271
+
272
+ --gfy-menu-bar-height: max(var(--gfy-density-menu-bar-height), round(up, calc(var(--gfy-menu-font-size) * var(--gfy-script-line-height) + 4px), 1px));
273
+ --gfy-menu-item-height: max(var(--gfy-density-menu-item-height), round(up, calc(var(--gfy-menu-font-size) * var(--gfy-script-line-height) + 2px), 1px));
274
+ --gfy-status-bar-height: max(var(--gfy-density-status-bar-height), round(up, calc(var(--gfy-status-font-size) * var(--gfy-script-line-height) + 2px), 1px));
275
+
276
+ --gfy-ribbon-row-height: max(var(--gfy-density-ribbon-row-height), round(up, calc(12px * var(--gfy-script-line-height) + 2px), 1px));
277
+
278
+ --gfy-toolbar-row-height: max(var(--gfy-density-toolbar-row-height), round(up, calc(12px * var(--gfy-script-line-height) + 2px), 1px));
279
+ }
280
+
281
+ :lang(ja) {
282
+ --gfy-font-main: 'Yu Gothic UI', 'Meiryo UI', 'Hiragino Sans', 'Noto Sans JP', 'Segoe UI', system-ui, sans-serif;
283
+ }
284
+ :lang(zh) {
285
+ --gfy-font-main: 'Microsoft YaHei UI', 'PingFang SC', 'Noto Sans SC', 'Segoe UI', system-ui, sans-serif;
286
+ }
287
+ :lang(zh-Hant),
288
+ :lang(zh-TW),
289
+ :lang(zh-HK) {
290
+ --gfy-font-main: 'Microsoft JhengHei UI', 'PingFang TC', 'Noto Sans TC', 'Segoe UI', system-ui, sans-serif;
291
+ }
292
+ :lang(ko) {
293
+ --gfy-font-main: 'Malgun Gothic', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Segoe UI', system-ui, sans-serif;
294
+ }
295
+ :lang(th) {
296
+ --gfy-font-main: 'Leelawadee UI', 'Noto Sans Thai', Tahoma, 'Segoe UI', system-ui, sans-serif;
297
+ }
@@ -0,0 +1,3 @@
1
+ @mixin colors {
2
+ scrollbar-color: var(--gfy-scrollbar-thumb, color-mix(in srgb, var(--gfy-text-main) 40%, transparent)) var(--gfy-scrollbar-track, transparent);
3
+ }