@treeseed/core 0.8.8 → 0.8.10

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 (90) hide show
  1. package/dist/components/SiteTitle.astro +2 -2
  2. package/dist/components/content/ContentStatusLegend.astro +4 -4
  3. package/dist/components/docs/BookFontControls.astro +9 -9
  4. package/dist/components/docs/DesktopSidebarToggle.astro +8 -8
  5. package/dist/components/docs/Footer.astro +7 -91
  6. package/dist/components/docs/Header.astro +9 -2
  7. package/dist/components/docs/PageTitle.astro +1 -1
  8. package/dist/components/docs/ThemeSelect.astro +3 -1
  9. package/dist/components/forms/ContactForm.astro +21 -21
  10. package/dist/components/forms/FooterSubscribeForm.astro +9 -9
  11. package/dist/components/site/BookList.astro +7 -7
  12. package/dist/components/site/CTASection.astro +4 -4
  13. package/dist/components/site/ChronicleList.astro +6 -6
  14. package/dist/components/site/Hero.astro +3 -3
  15. package/dist/components/site/PathCard.astro +5 -5
  16. package/dist/components/site/ProfileList.astro +5 -5
  17. package/dist/components/site/RouteNotFound.astro +6 -6
  18. package/dist/components/site/SectionIntro.astro +3 -3
  19. package/dist/components/site/StageBanner.astro +2 -2
  20. package/dist/components/site/TrustCallout.astro +3 -3
  21. package/dist/components/ui/data/ActionList.astro +51 -0
  22. package/dist/components/ui/data/Badge.astro +19 -0
  23. package/dist/components/ui/data/DataTable.astro +51 -0
  24. package/dist/components/ui/data/KeyValueList.astro +28 -0
  25. package/dist/components/ui/data/MetricCard.astro +25 -0
  26. package/dist/components/ui/data/MetricGrid.astro +27 -0
  27. package/dist/components/ui/data/StatusPill.astro +20 -0
  28. package/dist/components/ui/forms/Button.astro +52 -0
  29. package/dist/components/ui/forms/Field.astro +39 -0
  30. package/dist/components/ui/forms/FormActions.astro +12 -0
  31. package/dist/components/ui/forms/PasswordMeter.astro +80 -0
  32. package/dist/components/ui/forms/RadioGroup.astro +55 -0
  33. package/dist/components/ui/forms/Select.astro +44 -0
  34. package/dist/components/ui/forms/TextInput.astro +58 -0
  35. package/dist/components/ui/forms/Textarea.astro +45 -0
  36. package/dist/components/ui/layout/PageHeader.astro +45 -0
  37. package/dist/components/ui/shell/AppShell.astro +112 -0
  38. package/dist/components/ui/shell/BottomNav.astro +35 -0
  39. package/dist/components/ui/shell/ProjectHeader.astro +66 -0
  40. package/dist/components/ui/shell/PublicFooter.astro +39 -0
  41. package/dist/components/ui/shell/PublicShell.astro +179 -0
  42. package/dist/components/ui/shell/RailNav.astro +35 -0
  43. package/dist/components/ui/shell/TopBar.astro +52 -0
  44. package/dist/components/ui/surface/Card.astro +46 -0
  45. package/dist/components/ui/surface/EmptyState.astro +45 -0
  46. package/dist/components/ui/surface/Panel.astro +54 -0
  47. package/dist/components/ui/theme/ThemeMenu.astro +32 -0
  48. package/dist/components/ui/theme/ThemePreviewSwatch.astro +18 -0
  49. package/dist/components/ui/theme/ThemeScript.astro +111 -0
  50. package/dist/components/ui/theme/ThemeSelector.astro +202 -0
  51. package/dist/components/ui/types.js +0 -0
  52. package/dist/dev-watch.d.ts +6 -2
  53. package/dist/dev-watch.js +12 -3
  54. package/dist/dev.d.ts +10 -2
  55. package/dist/dev.js +352 -68
  56. package/dist/layouts/AuthoredEntryLayout.astro +27 -27
  57. package/dist/layouts/BookLayout.astro +10 -10
  58. package/dist/layouts/ContentLayout.astro +4 -4
  59. package/dist/layouts/MainLayout.astro +66 -193
  60. package/dist/layouts/NoteLayout.astro +6 -6
  61. package/dist/layouts/ProfileLayout.astro +17 -17
  62. package/dist/middleware/starlightRouteData.js +20 -14
  63. package/dist/pages/404.astro +8 -8
  64. package/dist/pages/[slug].astro +1 -1
  65. package/dist/pages/books/[slug].astro +5 -5
  66. package/dist/pages/contact.astro +4 -4
  67. package/dist/pages/docs-runtime/[...slug].astro +12 -12
  68. package/dist/pages/docs-runtime/index.astro +13 -13
  69. package/dist/pages/index.astro +28 -28
  70. package/dist/pages/ui/index.astro +216 -0
  71. package/dist/scripts/dev-platform.js +7 -1
  72. package/dist/site.js +53 -5
  73. package/dist/styles/app-shell.css +597 -0
  74. package/dist/styles/forms.css +258 -0
  75. package/dist/styles/global.css +125 -120
  76. package/dist/styles/prose.css +11 -11
  77. package/dist/styles/theme.css +177 -0
  78. package/dist/styles/tokens.css +62 -22
  79. package/dist/styles/ui.css +551 -0
  80. package/dist/utils/color-schemes/cedar.js +53 -0
  81. package/dist/utils/color-schemes/fern.js +53 -0
  82. package/dist/utils/color-schemes/index.js +13 -0
  83. package/dist/utils/color-schemes/lichen.js +53 -0
  84. package/dist/utils/color-schemes/shared.js +33 -0
  85. package/dist/utils/color-schemes/tidepool.js +53 -0
  86. package/dist/utils/content-status.js +5 -5
  87. package/dist/utils/site-config.js +2 -2
  88. package/dist/utils/starlight-nav.js +13 -7
  89. package/dist/utils/theme.js +133 -41
  90. package/package.json +36 -2
@@ -0,0 +1,551 @@
1
+ .ts-button,
2
+ .ts-card,
3
+ .ts-action-list__link {
4
+ -webkit-tap-highlight-color: transparent;
5
+ }
6
+
7
+ .ts-button {
8
+ align-items: center;
9
+ appearance: none;
10
+ border: 1px solid var(--ts-color-border-strong);
11
+ border-radius: var(--ts-radius-md);
12
+ cursor: pointer;
13
+ display: inline-flex;
14
+ font: inherit;
15
+ font-size: 0.875rem;
16
+ font-weight: 650;
17
+ gap: var(--ts-space-2);
18
+ justify-content: center;
19
+ line-height: 1.2;
20
+ min-height: 2.125rem;
21
+ padding: 0.45rem 0.75rem;
22
+ text-decoration: none;
23
+ transition:
24
+ background-color 140ms ease,
25
+ border-color 140ms ease,
26
+ color 140ms ease,
27
+ transform 140ms ease;
28
+ white-space: nowrap;
29
+ }
30
+
31
+ .ts-button[data-size='sm'] {
32
+ font-size: 0.8125rem;
33
+ min-height: 1.9rem;
34
+ padding: 0.35rem 0.65rem;
35
+ }
36
+
37
+ .ts-button[data-variant='primary'] {
38
+ background: var(--ts-color-accent);
39
+ border-color: var(--ts-color-accent);
40
+ color: var(--ts-color-accent-text);
41
+ }
42
+
43
+ .ts-button[data-variant='primary']:hover {
44
+ background: var(--ts-color-accent-hover);
45
+ border-color: var(--ts-color-accent-hover);
46
+ }
47
+
48
+ .ts-button[data-variant='secondary'] {
49
+ background: var(--ts-color-surface);
50
+ border-color: var(--ts-color-border);
51
+ color: var(--ts-color-text);
52
+ }
53
+
54
+ .ts-button[data-variant='secondary']:hover {
55
+ background: var(--ts-color-surface-muted);
56
+ border-color: var(--ts-color-border-strong);
57
+ }
58
+
59
+ .ts-button[data-variant='ghost'] {
60
+ background: transparent;
61
+ border-color: transparent;
62
+ color: var(--ts-color-text-muted);
63
+ }
64
+
65
+ .ts-button[data-variant='ghost']:hover {
66
+ background: var(--ts-color-surface-muted);
67
+ color: var(--ts-color-text);
68
+ }
69
+
70
+ .ts-button[data-variant='danger'] {
71
+ background: var(--ts-color-danger);
72
+ border-color: var(--ts-color-danger);
73
+ color: var(--ts-color-text-inverse);
74
+ }
75
+
76
+ .ts-button[data-variant='danger']:hover {
77
+ background: var(--ts-color-danger-text);
78
+ border-color: var(--ts-color-danger-border);
79
+ }
80
+
81
+ .ts-button:focus-visible,
82
+ .ts-card:focus-visible,
83
+ .ts-action-list__link:focus-visible {
84
+ outline: 3px solid var(--ts-color-focus);
85
+ outline-offset: 2px;
86
+ }
87
+
88
+ .ts-button:active:not(:disabled, [aria-disabled='true']) {
89
+ transform: translateY(1px);
90
+ }
91
+
92
+ .ts-button:disabled,
93
+ .ts-button[aria-disabled='true'] {
94
+ cursor: not-allowed;
95
+ opacity: 0.58;
96
+ }
97
+
98
+ .ts-panel,
99
+ .ts-card,
100
+ .ts-empty-state,
101
+ .ts-metric-card {
102
+ background: var(--ts-color-surface);
103
+ border: 1px solid var(--ts-color-border);
104
+ border-radius: var(--ts-radius-lg);
105
+ color: var(--ts-color-text);
106
+ }
107
+
108
+ .ts-panel {
109
+ overflow: hidden;
110
+ }
111
+
112
+ .ts-panel__header,
113
+ .ts-page-header {
114
+ align-items: flex-start;
115
+ display: flex;
116
+ flex-direction: column;
117
+ gap: var(--ts-space-2);
118
+ }
119
+
120
+ .ts-panel__header {
121
+ background: var(--ts-color-surface-raised);
122
+ border-bottom: 1px solid var(--ts-color-border);
123
+ padding: var(--ts-space-3);
124
+ }
125
+
126
+ .ts-panel__heading,
127
+ .ts-page-header__content {
128
+ display: grid;
129
+ gap: var(--ts-space-2);
130
+ min-width: 0;
131
+ }
132
+
133
+ .ts-panel__actions,
134
+ .ts-page-header__actions,
135
+ .ts-empty-state__actions {
136
+ display: flex;
137
+ flex-wrap: wrap;
138
+ gap: var(--ts-space-2);
139
+ }
140
+
141
+ .ts-panel__body {
142
+ padding: var(--ts-space-3);
143
+ }
144
+
145
+ .ts-panel__eyebrow,
146
+ .ts-card__eyebrow,
147
+ .ts-page-header__eyebrow,
148
+ .ts-empty-state__eyebrow,
149
+ .ts-metric-card__label {
150
+ color: var(--ts-color-text-subtle);
151
+ font-size: 0.75rem;
152
+ font-weight: 750;
153
+ letter-spacing: 0;
154
+ line-height: 1.3;
155
+ text-transform: uppercase;
156
+ }
157
+
158
+ .ts-panel__title,
159
+ .ts-card__title,
160
+ .ts-page-header__title,
161
+ .ts-empty-state__title {
162
+ color: var(--ts-color-text);
163
+ font-weight: 750;
164
+ line-height: 1.16;
165
+ margin: 0;
166
+ }
167
+
168
+ .ts-panel__title,
169
+ .ts-empty-state__title {
170
+ font-size: 1.125rem;
171
+ }
172
+
173
+ .ts-card__title {
174
+ font-size: 1rem;
175
+ }
176
+
177
+ .ts-page-header__title {
178
+ font-size: clamp(1.75rem, 1.45rem + 1vw, 2.35rem);
179
+ }
180
+
181
+ .ts-panel__description,
182
+ .ts-card__description,
183
+ .ts-page-header__description,
184
+ .ts-empty-state__description,
185
+ .ts-metric-card__description {
186
+ color: var(--ts-color-text-muted);
187
+ line-height: 1.5;
188
+ margin: 0;
189
+ }
190
+
191
+ .ts-card {
192
+ display: grid;
193
+ gap: var(--ts-space-2);
194
+ padding: var(--ts-space-3);
195
+ text-decoration: none;
196
+ transition:
197
+ background-color 140ms ease,
198
+ border-color 140ms ease,
199
+ transform 140ms ease;
200
+ }
201
+
202
+ .ts-card[data-interactive='true']:hover {
203
+ background: var(--ts-color-surface-raised);
204
+ border-color: var(--ts-color-border-strong);
205
+ transform: translateY(-1px);
206
+ }
207
+
208
+ .ts-card__body {
209
+ color: var(--ts-color-text-muted);
210
+ display: grid;
211
+ gap: var(--ts-space-2);
212
+ }
213
+
214
+ .ts-empty-state {
215
+ display: grid;
216
+ gap: var(--ts-space-2);
217
+ justify-items: start;
218
+ padding: var(--ts-space-3);
219
+ }
220
+
221
+ .ts-empty-state__body:empty {
222
+ display: none;
223
+ }
224
+
225
+ .ts-badge,
226
+ .ts-status-pill {
227
+ align-items: center;
228
+ border: 1px solid var(--ts-tone-border, var(--ts-color-border));
229
+ border-radius: 999px;
230
+ display: inline-flex;
231
+ font-size: 0.75rem;
232
+ font-weight: 700;
233
+ gap: 0.375rem;
234
+ line-height: 1.15;
235
+ white-space: nowrap;
236
+ }
237
+
238
+ .ts-badge {
239
+ background: var(--ts-tone-soft, var(--ts-color-surface-muted));
240
+ color: var(--ts-tone-text, var(--ts-color-text-muted));
241
+ padding: 0.2rem 0.5rem;
242
+ }
243
+
244
+ .ts-badge[data-size='sm'] {
245
+ font-size: 0.6875rem;
246
+ padding: 0.15rem 0.4rem;
247
+ }
248
+
249
+ .ts-status-pill {
250
+ background: var(--ts-tone-soft, var(--ts-color-surface));
251
+ color: var(--ts-tone-text, var(--ts-color-text));
252
+ padding: 0.25rem 0.55rem 0.25rem 0.45rem;
253
+ }
254
+
255
+ .ts-status-pill__dot {
256
+ background: currentColor;
257
+ border-radius: 999px;
258
+ display: inline-block;
259
+ height: 0.45rem;
260
+ width: 0.45rem;
261
+ }
262
+
263
+ [data-tone='muted'] {
264
+ --ts-tone-soft: var(--ts-color-surface-muted);
265
+ --ts-tone-text: var(--ts-color-text-muted);
266
+ --ts-tone-border: var(--ts-color-border);
267
+ }
268
+
269
+ [data-tone='accent'] {
270
+ --ts-tone-soft: var(--ts-color-accent-soft);
271
+ --ts-tone-text: var(--ts-color-accent-strong);
272
+ --ts-tone-border: var(--ts-color-accent);
273
+ }
274
+
275
+ [data-tone='info'] {
276
+ --ts-tone-soft: var(--ts-color-info-soft);
277
+ --ts-tone-text: var(--ts-color-info-text);
278
+ --ts-tone-border: var(--ts-color-info-border);
279
+ }
280
+
281
+ [data-tone='success'] {
282
+ --ts-tone-soft: var(--ts-color-success-soft);
283
+ --ts-tone-text: var(--ts-color-success-text);
284
+ --ts-tone-border: var(--ts-color-success-border);
285
+ }
286
+
287
+ [data-tone='warning'] {
288
+ --ts-tone-soft: var(--ts-color-warning-soft);
289
+ --ts-tone-text: var(--ts-color-warning-text);
290
+ --ts-tone-border: var(--ts-color-warning-border);
291
+ }
292
+
293
+ [data-tone='danger'] {
294
+ --ts-tone-soft: var(--ts-color-danger-soft);
295
+ --ts-tone-text: var(--ts-color-danger-text);
296
+ --ts-tone-border: var(--ts-color-danger-border);
297
+ }
298
+
299
+ .ts-metric-grid {
300
+ display: grid;
301
+ gap: var(--ts-space-3);
302
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ts-metric-grid-min, 12rem)), 1fr));
303
+ }
304
+
305
+ .ts-metric-card {
306
+ display: grid;
307
+ gap: var(--ts-space-2);
308
+ padding: var(--ts-space-4);
309
+ }
310
+
311
+ .ts-metric-card[data-tone]:not([data-tone='default']) {
312
+ background: var(--ts-tone-soft);
313
+ border-color: var(--ts-tone-border);
314
+ }
315
+
316
+ .ts-metric-card__value {
317
+ color: var(--ts-tone-text, var(--ts-color-text));
318
+ font-size: 1.75rem;
319
+ font-weight: 780;
320
+ line-height: 1;
321
+ margin: 0;
322
+ }
323
+
324
+ .ts-action-list__items {
325
+ border: 1px solid var(--ts-color-border);
326
+ border-radius: var(--ts-radius-lg);
327
+ list-style: none;
328
+ margin: 0;
329
+ overflow: hidden;
330
+ padding: 0;
331
+ }
332
+
333
+ .ts-action-list__item + .ts-action-list__item {
334
+ border-top: 1px solid var(--ts-color-border-muted);
335
+ }
336
+
337
+ .ts-action-list__link,
338
+ .ts-action-list__row {
339
+ align-items: flex-start;
340
+ background: var(--ts-color-surface);
341
+ color: var(--ts-color-text);
342
+ display: flex;
343
+ flex-direction: column;
344
+ gap: var(--ts-space-3);
345
+ padding: var(--ts-space-3) var(--ts-space-4);
346
+ text-decoration: none;
347
+ }
348
+
349
+ .ts-action-list__link:hover {
350
+ background: var(--ts-color-surface-raised);
351
+ }
352
+
353
+ .ts-action-list__content {
354
+ display: grid;
355
+ gap: 0.25rem;
356
+ min-width: 0;
357
+ }
358
+
359
+ .ts-action-list__title {
360
+ font-weight: 700;
361
+ }
362
+
363
+ .ts-action-list__description {
364
+ color: var(--ts-color-text-muted);
365
+ font-size: 0.875rem;
366
+ line-height: 1.5;
367
+ }
368
+
369
+ .ts-action-list__meta {
370
+ align-items: center;
371
+ display: flex;
372
+ flex-wrap: wrap;
373
+ gap: var(--ts-space-2);
374
+ }
375
+
376
+ .ts-action-list__action {
377
+ color: var(--ts-color-link);
378
+ font-size: 0.8125rem;
379
+ font-weight: 700;
380
+ }
381
+
382
+ .ts-key-value-list {
383
+ display: grid;
384
+ gap: 0;
385
+ margin: 0;
386
+ }
387
+
388
+ .ts-key-value-list__item {
389
+ align-items: start;
390
+ border-top: 1px solid var(--ts-color-border-muted);
391
+ display: grid;
392
+ gap: var(--ts-space-1);
393
+ padding: var(--ts-space-3) 0;
394
+ }
395
+
396
+ .ts-key-value-list__item:first-child {
397
+ border-top: 0;
398
+ padding-top: 0;
399
+ }
400
+
401
+ .ts-key-value-list dt {
402
+ color: var(--ts-color-text-muted);
403
+ font-size: 0.8125rem;
404
+ font-weight: 700;
405
+ margin: 0;
406
+ }
407
+
408
+ .ts-key-value-list dd {
409
+ color: var(--ts-tone-text, var(--ts-color-text));
410
+ font-weight: 650;
411
+ margin: 0;
412
+ }
413
+
414
+ .ts-data-table-wrap {
415
+ border: 1px solid var(--ts-color-border);
416
+ border-radius: var(--ts-radius-lg);
417
+ overflow: hidden;
418
+ }
419
+
420
+ .ts-data-table {
421
+ background: var(--ts-color-surface);
422
+ border-collapse: collapse;
423
+ color: var(--ts-color-text);
424
+ width: 100%;
425
+ }
426
+
427
+ .ts-data-table caption {
428
+ border-bottom: 1px solid var(--ts-color-border);
429
+ color: var(--ts-color-text-muted);
430
+ font-size: 0.875rem;
431
+ font-weight: 650;
432
+ padding: var(--ts-space-3) var(--ts-space-4);
433
+ text-align: left;
434
+ }
435
+
436
+ .ts-data-table th,
437
+ .ts-data-table td {
438
+ border-bottom: 1px solid var(--ts-color-border-muted);
439
+ padding: var(--ts-space-3) var(--ts-space-4);
440
+ text-align: left;
441
+ vertical-align: top;
442
+ }
443
+
444
+ .ts-data-table th {
445
+ background: var(--ts-color-surface-raised);
446
+ color: var(--ts-color-text-muted);
447
+ font-size: 0.75rem;
448
+ font-weight: 750;
449
+ text-transform: uppercase;
450
+ }
451
+
452
+ .ts-data-table tr:last-child td {
453
+ border-bottom: 0;
454
+ }
455
+
456
+ .ts-ui-catalog {
457
+ display: grid;
458
+ gap: var(--ts-space-4);
459
+ margin: 0 auto;
460
+ max-width: var(--ts-shell-width);
461
+ padding: var(--ts-space-4);
462
+ }
463
+
464
+ .ts-ui-catalog__selector {
465
+ background: var(--ts-color-surface);
466
+ border: 1px solid var(--ts-color-border);
467
+ border-radius: var(--ts-radius-lg);
468
+ padding: var(--ts-space-3);
469
+ }
470
+
471
+ .ts-ui-catalog__theme-links,
472
+ .ts-ui-catalog__row {
473
+ display: flex;
474
+ flex-wrap: wrap;
475
+ gap: var(--ts-space-2);
476
+ }
477
+
478
+ .ts-ui-catalog__stack {
479
+ display: grid;
480
+ gap: var(--ts-space-3);
481
+ }
482
+
483
+ .ts-ui-catalog__grid {
484
+ display: grid;
485
+ gap: var(--ts-space-3);
486
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
487
+ }
488
+
489
+ .ts-ui-catalog__form {
490
+ display: grid;
491
+ gap: var(--ts-space-4);
492
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
493
+ }
494
+
495
+ @media (min-width: 44rem) {
496
+ .ts-panel__header,
497
+ .ts-page-header {
498
+ align-items: center;
499
+ flex-direction: row;
500
+ justify-content: space-between;
501
+ }
502
+
503
+ .ts-action-list__link,
504
+ .ts-action-list__row {
505
+ align-items: center;
506
+ flex-direction: row;
507
+ justify-content: space-between;
508
+ }
509
+
510
+ .ts-key-value-list__item {
511
+ grid-template-columns: minmax(8rem, 0.35fr) 1fr;
512
+ }
513
+ }
514
+
515
+ @media (max-width: 42rem) {
516
+ .ts-data-table thead {
517
+ display: none;
518
+ }
519
+
520
+ .ts-data-table,
521
+ .ts-data-table tbody,
522
+ .ts-data-table tr,
523
+ .ts-data-table td {
524
+ display: block;
525
+ }
526
+
527
+ .ts-data-table tr {
528
+ border-bottom: 1px solid var(--ts-color-border);
529
+ padding: var(--ts-space-2) 0;
530
+ }
531
+
532
+ .ts-data-table tr:last-child {
533
+ border-bottom: 0;
534
+ }
535
+
536
+ .ts-data-table td {
537
+ border-bottom: 0;
538
+ display: grid;
539
+ gap: var(--ts-space-2);
540
+ grid-template-columns: minmax(7rem, 0.42fr) 1fr;
541
+ padding: var(--ts-space-2) var(--ts-space-3);
542
+ }
543
+
544
+ .ts-data-table td::before {
545
+ color: var(--ts-color-text-muted);
546
+ content: attr(data-label);
547
+ font-size: 0.75rem;
548
+ font-weight: 750;
549
+ text-transform: uppercase;
550
+ }
551
+ }
@@ -0,0 +1,53 @@
1
+ import { completeTokens } from "./shared.js";
2
+ const cedarScheme = {
3
+ id: "cedar",
4
+ name: "Cedar Clay",
5
+ swatches: ["#b86b3c", "#7d4528", "#fffdf8", "#2d241c"],
6
+ modeSwatches: {
7
+ light: ["#b86b3c", "#7d4528", "#fffdf8", "#2d241c"],
8
+ dark: ["#d98c5f", "#ffc59c", "#241b16", "#f1e7da"]
9
+ },
10
+ tokens: {
11
+ light: completeTokens({
12
+ canvas: "#f8f2e8",
13
+ canvasSubtle: "#efe3d2",
14
+ surface: "#fffdf8",
15
+ surfaceMuted: "#efe3d2",
16
+ surfaceRaised: "#fbf7ef",
17
+ text: "#2d241c",
18
+ textMuted: "#695746",
19
+ border: "#dccdb8",
20
+ borderStrong: "#bea98f",
21
+ accent: "#b86b3c",
22
+ accentHover: "#9a5731",
23
+ accentStrong: "#7d4528",
24
+ accentSoft: "#f1d9c8",
25
+ info: "#557f84",
26
+ success: "#5f7d45",
27
+ warning: "#9a6a21",
28
+ danger: "#a74435"
29
+ }, "light"),
30
+ dark: completeTokens({
31
+ canvas: "#181310",
32
+ canvasSubtle: "#241b16",
33
+ surface: "#241b16",
34
+ surfaceMuted: "#2d2119",
35
+ surfaceRaised: "#33261d",
36
+ text: "#f1e7da",
37
+ textMuted: "#c0ab98",
38
+ border: "#49382b",
39
+ borderStrong: "#655040",
40
+ accent: "#d98c5f",
41
+ accentHover: "#f0b184",
42
+ accentStrong: "#ffc59c",
43
+ accentSoft: "#3a241b",
44
+ info: "#83b0b3",
45
+ success: "#a1bf78",
46
+ warning: "#ddb76b",
47
+ danger: "#e88976"
48
+ }, "dark")
49
+ }
50
+ };
51
+ export {
52
+ cedarScheme
53
+ };
@@ -0,0 +1,53 @@
1
+ import { completeTokens } from "./shared.js";
2
+ const fernScheme = {
3
+ id: "fern",
4
+ name: "Fern Canopy",
5
+ swatches: ["#4f7d4e", "#2f5a35", "#ffffff", "#1f2a20"],
6
+ modeSwatches: {
7
+ light: ["#4f7d4e", "#2f5a35", "#ffffff", "#1f2a20"],
8
+ dark: ["#8bbb75", "#b9e69e", "#172016", "#e8f0e3"]
9
+ },
10
+ tokens: {
11
+ light: completeTokens({
12
+ canvas: "#f3f7ef",
13
+ canvasSubtle: "#e8efe1",
14
+ surface: "#ffffff",
15
+ surfaceMuted: "#e8efe1",
16
+ surfaceRaised: "#fafcf7",
17
+ text: "#1f2a20",
18
+ textMuted: "#51604d",
19
+ border: "#cdd8c6",
20
+ borderStrong: "#aebca6",
21
+ accent: "#4f7d4e",
22
+ accentHover: "#3f6f3f",
23
+ accentStrong: "#2f5a35",
24
+ accentSoft: "#dcebd6",
25
+ info: "#3a6f75",
26
+ success: "#287243",
27
+ warning: "#8a6a1f",
28
+ danger: "#a23e35"
29
+ }, "light"),
30
+ dark: completeTokens({
31
+ canvas: "#11170f",
32
+ canvasSubtle: "#172016",
33
+ surface: "#172016",
34
+ surfaceMuted: "#1e2b1b",
35
+ surfaceRaised: "#223020",
36
+ text: "#e8f0e3",
37
+ textMuted: "#a8b6a2",
38
+ border: "#344431",
39
+ borderStrong: "#4d6048",
40
+ accent: "#8bbb75",
41
+ accentHover: "#a9d88e",
42
+ accentStrong: "#b9e69e",
43
+ accentSoft: "#20351f",
44
+ info: "#7db9bd",
45
+ success: "#81c784",
46
+ warning: "#d6b45e",
47
+ danger: "#e07a6f"
48
+ }, "dark")
49
+ }
50
+ };
51
+ export {
52
+ fernScheme
53
+ };
@@ -0,0 +1,13 @@
1
+ import { cedarScheme } from "./cedar.js";
2
+ import { fernScheme } from "./fern.js";
3
+ import { lichenScheme } from "./lichen.js";
4
+ import { tidepoolScheme } from "./tidepool.js";
5
+ const BUILT_IN_COLOR_SCHEMES = [
6
+ fernScheme,
7
+ lichenScheme,
8
+ cedarScheme,
9
+ tidepoolScheme
10
+ ];
11
+ export {
12
+ BUILT_IN_COLOR_SCHEMES
13
+ };
@@ -0,0 +1,53 @@
1
+ import { completeTokens } from "./shared.js";
2
+ const lichenScheme = {
3
+ id: "lichen",
4
+ name: "Lichen Stone",
5
+ swatches: ["#6f8b67", "#4e6d49", "#ffffff", "#242923"],
6
+ modeSwatches: {
7
+ light: ["#6f8b67", "#4e6d49", "#ffffff", "#242923"],
8
+ dark: ["#9ab48a", "#c9dbbd", "#1a201d", "#e7ece5"]
9
+ },
10
+ tokens: {
11
+ light: completeTokens({
12
+ canvas: "#f4f5f1",
13
+ canvasSubtle: "#e7ebe3",
14
+ surface: "#ffffff",
15
+ surfaceMuted: "#e7ebe3",
16
+ surfaceRaised: "#fbfcf8",
17
+ text: "#242923",
18
+ textMuted: "#596057",
19
+ border: "#d2d8cf",
20
+ borderStrong: "#b7c0b2",
21
+ accent: "#6f8b67",
22
+ accentHover: "#5d7a56",
23
+ accentStrong: "#4e6d49",
24
+ accentSoft: "#e0eadc",
25
+ info: "#607d83",
26
+ success: "#537f54",
27
+ warning: "#8a7140",
28
+ danger: "#9d4c44"
29
+ }, "light"),
30
+ dark: completeTokens({
31
+ canvas: "#121614",
32
+ canvasSubtle: "#1a201d",
33
+ surface: "#1a201d",
34
+ surfaceMuted: "#222a25",
35
+ surfaceRaised: "#27302b",
36
+ text: "#e7ece5",
37
+ textMuted: "#a5aea4",
38
+ border: "#38423c",
39
+ borderStrong: "#515c55",
40
+ accent: "#9ab48a",
41
+ accentHover: "#bdd0ad",
42
+ accentStrong: "#c9dbbd",
43
+ accentSoft: "#243322",
44
+ info: "#8fb1b4",
45
+ success: "#94be8d",
46
+ warning: "#d0b577",
47
+ danger: "#db8579"
48
+ }, "dark")
49
+ }
50
+ };
51
+ export {
52
+ lichenScheme
53
+ };