@astryxdesign/theme-gothic 0.0.0-bootstrap.0 → 0.0.15

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.
package/dist/theme.css ADDED
@@ -0,0 +1,527 @@
1
+ /*
2
+ * @generated by `astryx theme build` — do not edit manually.
3
+ * Source: src/gothicTheme.ts
4
+ * Command: astryx theme build src/gothicTheme.ts --out dist/theme.css
5
+ * Generated: 2026-06-24T18:16:16.707Z
6
+ */
7
+
8
+ @layer reset {
9
+ @scope ([data-astryx-theme="gothic"]) to ([data-astryx-theme]) {
10
+ :where(h1, h2, h3, h4, h5, h6) {
11
+ font-family: var(--font-family-heading);
12
+ color: var(--color-text-primary);
13
+ }
14
+
15
+ :where(h1) {
16
+ font-size: var(--font-size-2xl);
17
+ font-weight: var(--font-weight-semibold);
18
+ line-height: 1.4194;
19
+ }
20
+
21
+ :where(h2) {
22
+ font-size: var(--font-size-xl);
23
+ font-weight: var(--font-weight-semibold);
24
+ line-height: 1.44;
25
+ }
26
+
27
+ :where(h3) {
28
+ font-size: var(--font-size-lg);
29
+ font-weight: var(--font-weight-bold);
30
+ line-height: 1.4;
31
+ }
32
+
33
+ :where(h4) {
34
+ font-size: var(--font-size-base);
35
+ font-weight: var(--font-weight-bold);
36
+ line-height: 1.5;
37
+ }
38
+
39
+ :where(h5) {
40
+ font-size: var(--font-size-sm);
41
+ font-weight: var(--font-weight-semibold);
42
+ line-height: 1.5385;
43
+ }
44
+
45
+ :where(h6) {
46
+ font-size: var(--font-size-xs);
47
+ font-weight: var(--font-weight-semibold);
48
+ line-height: 1.6;
49
+ }
50
+
51
+ :where(p) {
52
+ font-family: var(--font-family-body);
53
+ font-size: var(--font-size-base);
54
+ font-weight: var(--font-weight-normal);
55
+ line-height: 1.5;
56
+ color: var(--color-text-primary);
57
+ }
58
+
59
+ :where(small) {
60
+ font-size: var(--font-size-sm);
61
+ font-weight: var(--font-weight-normal);
62
+ line-height: 1.5385;
63
+ color: var(--color-text-secondary);
64
+ }
65
+
66
+ :where(code, pre) {
67
+ font-family: var(--font-family-code);
68
+ font-size: var(--font-size-base);
69
+ line-height: 1.5;
70
+ }
71
+
72
+ :where(hr) {
73
+ border: none;
74
+ border-top: 1px solid var(--color-border);
75
+ }
76
+ }
77
+ }
78
+
79
+ @layer astryx-theme {
80
+ @scope ([data-astryx-theme="gothic"]) to ([data-astryx-theme]) {
81
+ :scope {
82
+ --font-size-4xs: 0.3125rem;
83
+ --font-size-3xs: 0.4375rem;
84
+ --font-size-2xs: 0.5rem;
85
+ --font-size-xs: 0.625rem;
86
+ --font-size-sm: 0.8125rem;
87
+ --font-size-base: 1rem;
88
+ --font-size-lg: 1.25rem;
89
+ --font-size-xl: 1.5625rem;
90
+ --font-size-2xl: 1.9375rem;
91
+ --font-size-3xl: 2.4375rem;
92
+ --font-size-4xl: 3.0625rem;
93
+ --font-size-5xl: 3.8125rem;
94
+ --text-heading-1-size: var(--font-size-2xl);
95
+ --text-heading-1-weight: var(--font-weight-semibold);
96
+ --text-heading-1-leading: 1.4194;
97
+ --text-heading-2-size: var(--font-size-xl);
98
+ --text-heading-2-weight: var(--font-weight-semibold);
99
+ --text-heading-2-leading: 1.44;
100
+ --text-heading-3-size: var(--font-size-lg);
101
+ --text-heading-3-weight: var(--font-weight-bold);
102
+ --text-heading-3-leading: 1.4;
103
+ --text-heading-4-size: var(--font-size-base);
104
+ --text-heading-4-weight: var(--font-weight-bold);
105
+ --text-heading-4-leading: 1.5;
106
+ --text-heading-5-size: var(--font-size-sm);
107
+ --text-heading-5-weight: var(--font-weight-semibold);
108
+ --text-heading-5-leading: 1.5385;
109
+ --text-heading-6-size: var(--font-size-xs);
110
+ --text-heading-6-weight: var(--font-weight-semibold);
111
+ --text-heading-6-leading: 1.6;
112
+ --text-body-size: var(--font-size-base);
113
+ --text-body-weight: var(--font-weight-normal);
114
+ --text-body-leading: 1.5;
115
+ --text-large-size: var(--font-size-lg);
116
+ --text-large-weight: var(--font-weight-semibold);
117
+ --text-large-leading: 1.4;
118
+ --text-label-size: var(--font-size-base);
119
+ --text-label-weight: var(--font-weight-medium);
120
+ --text-label-leading: 1.5;
121
+ --text-code-size: var(--font-size-base);
122
+ --text-code-weight: var(--font-weight-normal);
123
+ --text-code-leading: 1.5;
124
+ --text-supporting-size: var(--font-size-sm);
125
+ --text-supporting-weight: var(--font-weight-normal);
126
+ --text-supporting-leading: 1.5385;
127
+ --text-display-1-size: var(--font-size-5xl);
128
+ --text-display-1-weight: var(--font-weight-normal);
129
+ --text-display-1-leading: 1.2459;
130
+ --text-display-2-size: var(--font-size-4xl);
131
+ --text-display-2-weight: var(--font-weight-normal);
132
+ --text-display-2-leading: 1.2245;
133
+ --text-display-3-size: var(--font-size-3xl);
134
+ --text-display-3-weight: var(--font-weight-normal);
135
+ --text-display-3-leading: 1.2308;
136
+ --duration-fast-min: 115ms;
137
+ --duration-fast: 150ms;
138
+ --duration-fast-max: 200ms;
139
+ --duration-medium-min: 265ms;
140
+ --duration-medium: 350ms;
141
+ --duration-medium-max: 465ms;
142
+ --duration-slow-min: 600ms;
143
+ --duration-slow: 800ms;
144
+ --duration-slow-max: 1065ms;
145
+ --font-family-body: Fustat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
146
+ --font-family-heading: Fustat, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
147
+ --font-family-code: "JetBrains Mono", "SF Mono", Monaco, Consolas, monospace;
148
+ --color-syntax-keyword: #c39adb;
149
+ --color-syntax-string: #a3c987;
150
+ --color-syntax-comment: #6b7079;
151
+ --color-syntax-number: #dec074;
152
+ --color-syntax-function: #8aa1d8;
153
+ --color-syntax-type: #c39adb;
154
+ --color-syntax-variable: #E8F1F6;
155
+ --color-syntax-operator: #96A0AB;
156
+ --color-syntax-constant: #e6b85e;
157
+ --color-syntax-tag: #d97580;
158
+ --color-syntax-attribute: #dec074;
159
+ --color-syntax-property: #7cc5b3;
160
+ --color-syntax-punctuation: #7a8290;
161
+ --color-syntax-background: #101314;
162
+ --color-accent: #E8F1F6;
163
+ --color-accent-muted: #E8F1F620;
164
+ --color-neutral: #E8F1F61A;
165
+ --color-background-surface: #101314;
166
+ --color-background-body: #101314;
167
+ --color-overlay: #101314CC;
168
+ --color-overlay-hover: #E8F1F60D;
169
+ --color-overlay-pressed: #E8F1F61A;
170
+ --color-background-muted: #24292D;
171
+ --color-text-primary: #E8F1F6;
172
+ --color-text-secondary: #96A0AB;
173
+ --color-text-disabled: #495056;
174
+ --color-text-accent: #E8F1F6;
175
+ --color-on-dark: #E8F1F6;
176
+ --color-on-light: #101314;
177
+ --color-on-accent: #101314;
178
+ --color-on-success: #101314;
179
+ --color-on-error: #101314;
180
+ --color-on-warning: #101314;
181
+ --color-icon-accent: #E8F1F6;
182
+ --color-icon-primary: #E8F1F6;
183
+ --color-icon-secondary: #96A0AB;
184
+ --color-icon-disabled: #495056;
185
+ --color-background-card: #1a1d20;
186
+ --color-background-popover: #24292D;
187
+ --color-background-inverted: #E8F1F6;
188
+ --color-success: #b3c79a;
189
+ --color-success-muted: #b3c79a;
190
+ --color-error: #c6a6a2;
191
+ --color-error-muted: #c6a6a2;
192
+ --color-warning: #d3c490;
193
+ --color-warning-muted: #d3c490;
194
+ --color-border: #E8F1F61A;
195
+ --color-border-emphasized: #495056;
196
+ --color-skeleton: #495056;
197
+ --color-shadow: #0000004D;
198
+ --color-tint-hover: white;
199
+ --color-background-blue: #a3b5d6;
200
+ --color-border-blue: #8696b8;
201
+ --color-icon-blue: #2a3b6e;
202
+ --color-text-blue: #1f2c54;
203
+ --color-background-cyan: #a3c2cf;
204
+ --color-border-cyan: #86a4b1;
205
+ --color-icon-cyan: #2a5e75;
206
+ --color-text-cyan: #204858;
207
+ --color-background-gray: #3d4248;
208
+ --color-border-gray: #5d646b;
209
+ --color-icon-gray: #E8F1F6;
210
+ --color-text-gray: #E8F1F6;
211
+ --color-background-green: #b3c79a;
212
+ --color-border-green: #96a880;
213
+ --color-icon-green: #3a5e2c;
214
+ --color-text-green: #244023;
215
+ --color-background-orange: #d3b89a;
216
+ --color-border-orange: #b6987d;
217
+ --color-icon-orange: #8a4818;
218
+ --color-text-orange: #6e3812;
219
+ --color-background-pink: #c89aab;
220
+ --color-border-pink: #aa7d8e;
221
+ --color-icon-pink: #8d2d4c;
222
+ --color-text-pink: #71223c;
223
+ --color-background-purple: #b29bc4;
224
+ --color-border-purple: #947da6;
225
+ --color-icon-purple: #5a2370;
226
+ --color-text-purple: #481b58;
227
+ --color-background-red: #c6a6a2;
228
+ --color-border-red: #a48581;
229
+ --color-icon-red: #5e3a35;
230
+ --color-text-red: #4a2520;
231
+ --color-background-teal: #a3c2b6;
232
+ --color-border-teal: #86a499;
233
+ --color-icon-teal: #1f5e52;
234
+ --color-text-teal: #174a40;
235
+ --color-background-yellow: #d3c490;
236
+ --color-border-yellow: #b6a775;
237
+ --color-icon-yellow: #876515;
238
+ --color-text-yellow: #6c5010;
239
+ --radius-none: 0.125rem;
240
+ --radius-inner: 0.25rem;
241
+ --radius-element: 0.5rem;
242
+ --radius-container: 0.75rem;
243
+ --radius-page: 1.5rem;
244
+ --radius-full: 9999px;
245
+ --shadow-low: 0 2px 4px #00000033, 0 4px 8px #00000040;
246
+ --shadow-med: 0 2px 4px #00000033, 0 4px 12px #00000040;
247
+ --shadow-high: 0 4px 6px #00000040, 0 12px 24px #0000004D;
248
+ --shadow-inset-hover: inset 0px 0px 0px 1px #96A0AB30;
249
+ --shadow-inset-selected: inset 0px 0px 0px 2px #96A0AB50;
250
+ --shadow-inset-success: inset 0px 0px 0px 1px #87b06a50;
251
+ --shadow-inset-warning: inset 0px 0px 0px 1px #d6b56a50;
252
+ --shadow-inset-error: inset 0px 0px 0px 1px #d4485150;
253
+ }
254
+
255
+ .astryx-heading.level-1 {
256
+ font-family: var(--font-family-heading);
257
+ font-size: var(--text-heading-1-size);
258
+ font-weight: var(--text-heading-1-weight);
259
+ line-height: var(--text-heading-1-leading);
260
+ }
261
+
262
+ .astryx-heading.level-2 {
263
+ font-family: var(--font-family-heading);
264
+ font-size: var(--text-heading-2-size);
265
+ font-weight: var(--text-heading-2-weight);
266
+ line-height: var(--text-heading-2-leading);
267
+ }
268
+
269
+ .astryx-heading.level-3 {
270
+ font-family: var(--font-family-heading);
271
+ font-size: var(--text-heading-3-size);
272
+ font-weight: var(--text-heading-3-weight);
273
+ line-height: var(--text-heading-3-leading);
274
+ }
275
+
276
+ .astryx-heading.level-4 {
277
+ font-family: var(--font-family-heading);
278
+ font-size: var(--text-heading-4-size);
279
+ font-weight: var(--text-heading-4-weight);
280
+ line-height: var(--text-heading-4-leading);
281
+ }
282
+
283
+ .astryx-heading.level-5 {
284
+ font-family: var(--font-family-heading);
285
+ font-size: var(--text-heading-5-size);
286
+ font-weight: var(--text-heading-5-weight);
287
+ line-height: var(--text-heading-5-leading);
288
+ }
289
+
290
+ .astryx-heading.level-6 {
291
+ font-family: var(--font-family-heading);
292
+ font-size: var(--text-heading-6-size);
293
+ font-weight: var(--text-heading-6-weight);
294
+ line-height: var(--text-heading-6-leading);
295
+ }
296
+
297
+ .astryx-text.body {
298
+ font-family: var(--font-family-body);
299
+ font-size: var(--text-body-size);
300
+ line-height: var(--text-body-leading);
301
+ }
302
+
303
+ .astryx-text.large {
304
+ font-family: var(--font-family-body);
305
+ font-size: var(--text-large-size);
306
+ line-height: var(--text-large-leading);
307
+ }
308
+
309
+ .astryx-text.label {
310
+ font-family: var(--font-family-body);
311
+ font-size: var(--text-label-size);
312
+ line-height: var(--text-label-leading);
313
+ }
314
+
315
+ .astryx-text.code {
316
+ font-family: var(--font-family-code);
317
+ font-size: var(--text-code-size);
318
+ line-height: var(--text-code-leading);
319
+ }
320
+
321
+ .astryx-text.supporting {
322
+ font-family: var(--font-family-body);
323
+ font-size: var(--text-supporting-size);
324
+ line-height: var(--text-supporting-leading);
325
+ }
326
+
327
+ .astryx-text.display-1 {
328
+ font-family: "Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif;
329
+ font-size: var(--text-display-1-size);
330
+ line-height: var(--text-display-1-leading);
331
+ }
332
+
333
+ .astryx-text.display-2 {
334
+ font-family: "Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif;
335
+ font-size: var(--text-display-2-size);
336
+ line-height: var(--text-display-2-leading);
337
+ }
338
+
339
+ .astryx-text.display-3 {
340
+ font-family: "Manufacturing Consent", "UnifrakturMaguntia", "Old English Text MT", serif;
341
+ font-size: var(--text-display-3-size);
342
+ line-height: var(--text-display-3-leading);
343
+ }
344
+
345
+ .astryx-button.secondary {
346
+ background-color: var(--color-background-gray);
347
+ color: var(--color-text-gray);
348
+ border-color: transparent;
349
+ border-width: 0;
350
+ }
351
+
352
+ .astryx-button.ghost:hover {
353
+ background-color: var(--color-overlay-hover);
354
+ }
355
+
356
+ .astryx-button.destructive {
357
+ background-color: var(--color-error);
358
+ color: var(--color-text-red);
359
+ }
360
+
361
+ .astryx-badge {
362
+ border-radius: var(--radius-element);
363
+ font-weight: var(--font-weight-medium);
364
+ }
365
+
366
+ .astryx-badge.info {
367
+ background-color: var(--color-background-blue);
368
+ color: var(--color-text-blue);
369
+ }
370
+
371
+ .astryx-badge.neutral {
372
+ background-color: var(--color-background-gray);
373
+ color: var(--color-text-gray);
374
+ }
375
+
376
+ .astryx-badge.success {
377
+ background-color: var(--color-background-green);
378
+ color: var(--color-text-green);
379
+ }
380
+
381
+ .astryx-badge.warning {
382
+ background-color: var(--color-background-yellow);
383
+ color: var(--color-text-yellow);
384
+ }
385
+
386
+ .astryx-badge.error {
387
+ background-color: var(--color-background-red);
388
+ color: var(--color-text-red);
389
+ }
390
+
391
+ .astryx-banner {
392
+ border-radius: var(--radius-element);
393
+ --_banner-radius: var(--radius-element);
394
+ }
395
+
396
+ .astryx-banner.info {
397
+ background-color: var(--color-background-blue);
398
+ --color-text-primary: var(--color-text-blue);
399
+ --color-text-secondary: var(--color-text-blue);
400
+ --color-accent: var(--color-text-blue);
401
+ }
402
+
403
+ .astryx-banner.success {
404
+ background-color: var(--color-background-green);
405
+ --color-text-primary: var(--color-text-green);
406
+ --color-text-secondary: var(--color-text-green);
407
+ --color-success: var(--color-text-green);
408
+ }
409
+
410
+ .astryx-banner.warning {
411
+ background-color: var(--color-background-yellow);
412
+ --color-text-primary: var(--color-text-yellow);
413
+ --color-text-secondary: var(--color-text-yellow);
414
+ --color-warning: var(--color-text-yellow);
415
+ }
416
+
417
+ .astryx-banner.error {
418
+ background-color: var(--color-background-red);
419
+ --color-text-primary: var(--color-text-red);
420
+ --color-text-secondary: var(--color-text-red);
421
+ --color-error: var(--color-text-red);
422
+ }
423
+
424
+ .astryx-card {
425
+ border-radius: var(--radius-container);
426
+ --astryx-card-padding: var(--spacing-3);
427
+ --_card-radius: var(--radius-container);
428
+ }
429
+
430
+ .astryx-card.blue {
431
+ --color-text-primary: var(--color-text-blue);
432
+ --color-text-secondary: var(--color-text-blue);
433
+ }
434
+
435
+ .astryx-card.cyan {
436
+ --color-text-primary: var(--color-text-cyan);
437
+ --color-text-secondary: var(--color-text-cyan);
438
+ }
439
+
440
+ .astryx-card.gray {
441
+ --color-text-primary: var(--color-text-gray);
442
+ --color-text-secondary: var(--color-text-gray);
443
+ }
444
+
445
+ .astryx-card.green {
446
+ --color-text-primary: var(--color-text-green);
447
+ --color-text-secondary: var(--color-text-green);
448
+ }
449
+
450
+ .astryx-card.orange {
451
+ --color-text-primary: var(--color-text-orange);
452
+ --color-text-secondary: var(--color-text-orange);
453
+ }
454
+
455
+ .astryx-card.pink {
456
+ --color-text-primary: var(--color-text-pink);
457
+ --color-text-secondary: var(--color-text-pink);
458
+ }
459
+
460
+ .astryx-card.purple {
461
+ --color-text-primary: var(--color-text-purple);
462
+ --color-text-secondary: var(--color-text-purple);
463
+ }
464
+
465
+ .astryx-card.red {
466
+ --color-text-primary: var(--color-text-red);
467
+ --color-text-secondary: var(--color-text-red);
468
+ }
469
+
470
+ .astryx-card.teal {
471
+ --color-text-primary: var(--color-text-teal);
472
+ --color-text-secondary: var(--color-text-teal);
473
+ }
474
+
475
+ .astryx-card.yellow {
476
+ --color-text-primary: var(--color-text-yellow);
477
+ --color-text-secondary: var(--color-text-yellow);
478
+ }
479
+
480
+ .astryx-section {
481
+ --astryx-section-padding: var(--spacing-3);
482
+ }
483
+
484
+ .astryx-field {
485
+ border-radius: var(--radius-element);
486
+ --_field-radius: var(--radius-element);
487
+ }
488
+
489
+ .astryx-text.primary { color: var(--color-text-primary); }
490
+
491
+ .astryx-heading.primary { color: var(--color-text-primary); }
492
+
493
+ .astryx-text.secondary { color: var(--color-text-secondary); }
494
+
495
+ .astryx-heading.secondary { color: var(--color-text-secondary); }
496
+
497
+ .astryx-text.disabled { color: var(--color-text-disabled); }
498
+
499
+ .astryx-heading.disabled { color: var(--color-text-disabled); }
500
+
501
+ .astryx-text.placeholder { color: var(--color-text-secondary); }
502
+
503
+ .astryx-heading.placeholder { color: var(--color-text-secondary); }
504
+
505
+ .astryx-text.active { color: var(--color-accent); }
506
+
507
+ .astryx-heading.active { color: var(--color-accent); }
508
+ }
509
+ }
510
+
511
+ @layer astryx-theme {
512
+ @scope ([data-astryx-theme="gothic"]) to ([data-astryx-theme]) {
513
+ [data-astryx-media="dark"] {
514
+ color-scheme: dark;
515
+ --color-text-primary: var(--color-on-dark);
516
+ --color-icon-primary: var(--color-on-dark);
517
+ --color-accent: var(--color-on-dark);
518
+ }
519
+
520
+ [data-astryx-media="light"] {
521
+ color-scheme: light;
522
+ --color-text-primary: var(--color-on-light);
523
+ --color-icon-primary: var(--color-on-light);
524
+ --color-accent: var(--color-on-light);
525
+ }
526
+ }
527
+ }
package/package.json CHANGED
@@ -1,11 +1,62 @@
1
1
  {
2
2
  "name": "@astryxdesign/theme-gothic",
3
- "version": "0.0.0-bootstrap.0",
4
- "description": "Placeholder published to claim the npm name during trusted publishing setup. Do not install.",
5
- "homepage": "https://github.com/facebook/astryx",
3
+ "version": "0.0.15",
4
+ "displayName": "Gothic Theme",
5
+ "private": false,
6
+ "description": "Deep blue-grays and a signature display serif. Dramatic and editorial, for surfaces that want to be remembered.",
7
+ "author": "Meta Open Source",
6
8
  "license": "MIT",
9
+ "homepage": "https://github.com/facebook/astryx#readme",
7
10
  "repository": {
8
11
  "type": "git",
9
- "url": "git+https://github.com/facebook/astryx.git"
12
+ "url": "git+https://github.com/facebook/astryx.git",
13
+ "directory": "packages/themes/gothic"
14
+ },
15
+ "bugs": {
16
+ "url": "https://github.com/facebook/astryx/issues"
17
+ },
18
+ "keywords": [
19
+ "xds",
20
+ "theme",
21
+ "design-system",
22
+ "lucide",
23
+ "design-tokens"
24
+ ],
25
+ "sideEffects": false,
26
+ "main": "./dist/source.js",
27
+ "types": "./dist/source.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/source.d.ts",
31
+ "import": "./dist/source.mjs",
32
+ "require": "./dist/source.js"
33
+ },
34
+ "./built": {
35
+ "types": "./dist/gothic.d.ts",
36
+ "import": "./dist/gothic.js",
37
+ "require": "./dist/gothic.js"
38
+ },
39
+ "./theme.css": {
40
+ "types": "./theme.css.d.ts",
41
+ "default": "./dist/theme.css"
42
+ }
43
+ },
44
+ "files": [
45
+ "dist",
46
+ "src"
47
+ ],
48
+ "dependencies": {
49
+ "lucide-react": "^1.18.0"
50
+ },
51
+ "peerDependencies": {
52
+ "@astryxdesign/core": "0.0.15",
53
+ "react": ">=19"
54
+ },
55
+ "devDependencies": {
56
+ "@astryxdesign/cli": "0.0.15"
57
+ },
58
+ "module": "./dist/source.mjs",
59
+ "scripts": {
60
+ "build": "astryx theme build src/gothicTheme.ts -o dist/theme.css && tsup && tsc --project tsconfig.build.json"
10
61
  }
11
- }
62
+ }