@syncedco/flow 0.1.2 → 0.1.4

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.
@@ -2,8 +2,7 @@
2
2
 
3
3
  @layer reset, tokens, base, app, layout, components, utilities, overrides;
4
4
 
5
- @layer tokens {
6
- :root {
5
+ :root {
7
6
  color-scheme: light;
8
7
  --font-sans: var(--sf-font-sans, ui-sans-serif, system-ui, sans-serif);
9
8
  --font-display: var(--sf-font-display, ui-serif, Georgia, serif);
@@ -69,74 +68,74 @@
69
68
  --color-white: oklch(100% 0 0);
70
69
  --color-black: oklch(0% 0 0);
71
70
 
72
- --color-background: oklch(14% 0.025 248);
73
- --color-foreground: oklch(96% 0.01 92);
74
- --color-card: oklch(18% 0.024 246);
75
- --color-card-foreground: oklch(96% 0.01 92);
76
- --color-popover: oklch(18% 0.024 246);
77
- --color-popover-foreground: oklch(96% 0.01 92);
78
- --color-primary: oklch(69% 0.18 44);
79
- --color-primary-hover: oklch(64% 0.18 44);
80
- --color-primary-label: oklch(55% 0.18 44);
81
- --color-primary-border: oklch(66% 0.17 43);
82
- --color-primary-foreground: oklch(98% 0.01 95);
83
- --color-secondary: oklch(24% 0.018 22);
84
- --color-secondary-foreground: oklch(96% 0.01 92);
85
- --color-muted: oklch(26% 0.012 24);
86
- --color-muted-foreground: oklch(76% 0.01 92);
87
- --color-accent: oklch(24% 0.018 22);
88
- --color-accent-foreground: oklch(96% 0.01 92);
89
- --color-destructive: oklch(55% 0.2 28);
90
- --color-destructive-foreground: oklch(98% 0.01 95);
91
- --color-border: oklch(100% 0 0 / 0.12);
92
- --color-input: oklch(100% 0 0 / 0.12);
93
- --color-ring: oklch(69% 0.18 44);
94
- --color-heading: oklch(20% 0.02 18);
95
- --color-page-text: oklch(23% 0.02 18);
96
- --color-body: oklch(45% 0.02 28);
97
- --color-body-dark: oklch(40% 0.02 28);
98
- --color-subdued: oklch(42% 0.02 20);
99
- --color-surface: oklch(96% 0.015 80);
100
- --color-surface-alt: oklch(96.6% 0.018 82);
71
+ --color-background: var(--sf-colour-background, oklch(14% 0.025 248));
72
+ --color-foreground: var(--sf-colour-foreground, oklch(96% 0.01 92));
73
+ --color-card: var(--sf-colour-card, oklch(18% 0.024 246));
74
+ --color-card-foreground: var(--sf-colour-card-foreground, oklch(96% 0.01 92));
75
+ --color-popover: var(--sf-colour-popover, oklch(18% 0.024 246));
76
+ --color-popover-foreground: var(--sf-colour-popover-foreground, oklch(96% 0.01 92));
77
+ --color-primary: var(--sf-colour-primary, oklch(69% 0.18 44));
78
+ --color-primary-hover: var(--sf-colour-primary-hover, oklch(64% 0.18 44));
79
+ --color-primary-label: var(--sf-colour-primary-label, oklch(55% 0.18 44));
80
+ --color-primary-border: var(--sf-colour-primary-border, oklch(66% 0.17 43));
81
+ --color-primary-foreground: var(--sf-colour-primary-foreground, oklch(98% 0.01 95));
82
+ --color-secondary: var(--sf-colour-secondary, oklch(24% 0.018 22));
83
+ --color-secondary-foreground: var(--sf-colour-secondary-foreground, oklch(96% 0.01 92));
84
+ --color-muted: var(--sf-colour-muted, oklch(26% 0.012 24));
85
+ --color-muted-foreground: var(--sf-colour-muted-foreground, oklch(76% 0.01 92));
86
+ --color-accent: var(--sf-colour-accent, oklch(24% 0.018 22));
87
+ --color-accent-foreground: var(--sf-colour-accent-foreground, oklch(96% 0.01 92));
88
+ --color-destructive: var(--sf-colour-destructive, oklch(55% 0.2 28));
89
+ --color-destructive-foreground: var(--sf-colour-destructive-foreground, oklch(98% 0.01 95));
90
+ --color-border: var(--sf-colour-border, oklch(100% 0 0 / 0.12));
91
+ --color-input: var(--sf-colour-input, oklch(100% 0 0 / 0.12));
92
+ --color-ring: var(--sf-colour-ring, oklch(69% 0.18 44));
93
+ --color-heading: var(--sf-colour-heading, oklch(20% 0.02 18));
94
+ --color-page-text: var(--sf-colour-page-text, oklch(23% 0.02 18));
95
+ --color-body: var(--sf-colour-body, oklch(45% 0.02 28));
96
+ --color-body-dark: var(--sf-colour-body-dark, oklch(40% 0.02 28));
97
+ --color-subdued: var(--sf-colour-subdued, oklch(42% 0.02 20));
98
+ --color-surface: var(--sf-colour-surface, oklch(96% 0.015 80));
99
+ --color-surface-alt: var(--sf-colour-surface-alt, oklch(96.6% 0.018 82));
101
100
  --color-hero-bg: oklch(8% 0.02 260);
102
- --color-green: oklch(55% 0.12 148);
103
- --color-green-dark: oklch(45% 0.12 148);
104
- --color-green-muted: oklch(40% 0.12 148);
105
- --color-green-light: oklch(90% 0.06 148);
106
- --color-green-lighter: oklch(92% 0.04 148);
107
- --color-green-bg: oklch(88% 0.07 148);
108
- --color-green-bg-alt: oklch(82% 0.1 148);
109
- --color-green-vivid: oklch(78% 0.08 148);
110
- --color-green-mid: oklch(75% 0.12 148);
111
- --color-green-deep: oklch(70% 0.14 150);
112
- --color-green-deepest: oklch(60% 0.14 150);
113
- --color-green-wash: oklch(93% 0.06 148);
114
- --color-green-wash-alt: oklch(88% 0.08 148);
115
- --color-green-gradient-from: oklch(82% 0.1 148);
116
- --color-green-gradient-to: oklch(86% 0.06 148);
117
- --color-deco-lime: oklch(80% 0.18 130);
118
- --color-deco-blue: oklch(60% 0.12 240);
119
- --color-deco-warm: oklch(80% 0.06 60);
120
- --color-deco-warm-light: oklch(92% 0.02 80);
121
- --color-deco-warm-mid: oklch(80% 0.15 60);
122
- --color-purple-light: oklch(95% 0.05 280);
123
- --color-purple-mid: oklch(92% 0.05 280);
124
- --color-purple-dark: oklch(90% 0.06 280);
125
- --color-purple-darker: oklch(87% 0.07 280);
126
- --color-purple-icon: oklch(55% 0.2 280);
127
- --color-warm-light: oklch(95.6% 0.05 22);
128
- --color-warm-mid: oklch(95% 0.04 40);
129
- --color-warm-grad-to: oklch(90% 0.08 30);
130
- --color-warm-grad-to-alt: oklch(90% 0.06 30);
131
- --color-warm-icon: oklch(60% 0.17 44);
132
- --color-cool-light: oklch(92% 0.04 200);
133
- --color-cool-dark: oklch(87% 0.06 200);
134
- --color-primary-glow: oklch(80% 0.12 44);
135
- --color-primary-soft: oklch(69% 0.18 44 / 0.10);
136
- --color-primary-soft-border: oklch(69% 0.18 44 / 0.30);
137
- --color-primary-soft-border-light: oklch(69% 0.18 44 / 0.25);
138
- --color-primary-soft-text: oklch(85% 0.08 44);
139
- --color-primary-highlight: oklch(75% 0.14 44);
101
+ --color-green: var(--sf-colour-green, oklch(55% 0.12 148));
102
+ --color-green-dark: var(--sf-colour-green-dark, oklch(45% 0.12 148));
103
+ --color-green-muted: var(--sf-colour-green-muted, oklch(40% 0.12 148));
104
+ --color-green-light: var(--sf-colour-green-light, oklch(90% 0.06 148));
105
+ --color-green-lighter: var(--sf-colour-green-lighter, oklch(92% 0.04 148));
106
+ --color-green-bg: var(--sf-colour-green-bg, oklch(88% 0.07 148));
107
+ --color-green-bg-alt: var(--sf-colour-green-bg-alt, oklch(82% 0.1 148));
108
+ --color-green-vivid: var(--sf-colour-green-vivid, oklch(78% 0.08 148));
109
+ --color-green-mid: var(--sf-colour-green-mid, oklch(75% 0.12 148));
110
+ --color-green-deep: var(--sf-colour-green-deep, oklch(70% 0.14 150));
111
+ --color-green-deepest: var(--sf-colour-green-deepest, oklch(60% 0.14 150));
112
+ --color-green-wash: var(--sf-colour-green-wash, oklch(93% 0.06 148));
113
+ --color-green-wash-alt: var(--sf-colour-green-wash-alt, oklch(88% 0.08 148));
114
+ --color-green-gradient-from: var(--sf-colour-green-gradient-from, oklch(82% 0.1 148));
115
+ --color-green-gradient-to: var(--sf-colour-green-gradient-to, oklch(86% 0.06 148));
116
+ --color-deco-lime: var(--sf-colour-deco-lime, oklch(80% 0.18 130));
117
+ --color-deco-blue: var(--sf-colour-deco-blue, oklch(60% 0.12 240));
118
+ --color-deco-warm: var(--sf-colour-deco-warm, oklch(80% 0.06 60));
119
+ --color-deco-warm-light: var(--sf-colour-deco-warm-light, oklch(92% 0.02 80));
120
+ --color-deco-warm-mid: var(--sf-colour-deco-warm-mid, oklch(80% 0.15 60));
121
+ --color-purple-light: var(--sf-colour-purple-light, oklch(95% 0.05 280));
122
+ --color-purple-mid: var(--sf-colour-purple-mid, oklch(92% 0.05 280));
123
+ --color-purple-dark: var(--sf-colour-purple-dark, oklch(90% 0.06 280));
124
+ --color-purple-darker: var(--sf-colour-purple-darker, oklch(87% 0.07 280));
125
+ --color-purple-icon: var(--sf-colour-purple-icon, oklch(55% 0.2 280));
126
+ --color-warm-light: var(--sf-colour-warm-light, oklch(95.6% 0.05 22));
127
+ --color-warm-mid: var(--sf-colour-warm-mid, oklch(95% 0.04 40));
128
+ --color-warm-grad-to: var(--sf-colour-warm-grad-to, oklch(90% 0.08 30));
129
+ --color-warm-grad-to-alt: var(--sf-colour-warm-grad-to-alt, oklch(90% 0.06 30));
130
+ --color-warm-icon: var(--sf-colour-warm-icon, oklch(60% 0.17 44));
131
+ --color-cool-light: var(--sf-colour-cool-light, oklch(92% 0.04 200));
132
+ --color-cool-dark: var(--sf-colour-cool-dark, oklch(87% 0.06 200));
133
+ --color-primary-glow: var(--sf-colour-primary-glow, oklch(80% 0.12 44));
134
+ --color-primary-soft: var(--sf-colour-primary-soft, oklch(69% 0.18 44 / 0.10));
135
+ --color-primary-soft-border: var(--sf-colour-primary-soft-border, oklch(69% 0.18 44 / 0.30));
136
+ --color-primary-soft-border-light: var(--sf-colour-primary-soft-border-light, oklch(69% 0.18 44 / 0.25));
137
+ --color-primary-soft-text: var(--sf-colour-primary-soft-text, oklch(85% 0.08 44));
138
+ --color-primary-highlight: var(--sf-colour-primary-highlight, oklch(75% 0.14 44));
140
139
 
141
140
  --shadow-sm: 0 0.125rem 0.375rem oklch(0% 0 0 / 0.06);
142
141
  --shadow-md: 0 0.5rem 1.5rem oklch(0% 0 0 / 0.08);
@@ -150,10 +149,10 @@
150
149
  --duration-normal: 220ms;
151
150
  --duration-slow: 360ms;
152
151
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
152
+ --icon-size: 1em;
153
+ --icon-stroke: 2;
153
154
  }
154
- }
155
155
 
156
- @layer tokens {
157
156
  :root {
158
157
  --sf-font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
159
158
  --font-sans: var(--sf-font-sans);
@@ -169,6 +168,8 @@
169
168
  --color-surface: var(--sf-colour-surface);
170
169
  --sf-colour-surface-alt: oklch(96.4% 0.011 80);
171
170
  --color-surface-alt: var(--sf-colour-surface-alt);
171
+ --sf-colour-surface-elevated: var(--sf-colour-surface-raised);
172
+ --color-surface-elevated: var(--sf-colour-surface-elevated);
172
173
  --sf-colour-border: oklch(18% 0.026 250 / 0.12);
173
174
  --color-border: var(--sf-colour-border);
174
175
  --sf-colour-primary: oklch(68% 0.18 44);
@@ -197,7 +198,6 @@
197
198
  --sf-input-radius: 0.5rem;
198
199
  --sf-input-block-size: 2.75rem;
199
200
  }
200
- }
201
201
 
202
202
  @layer reset {
203
203
  *, *::before, *::after { box-sizing: border-box; }
@@ -321,6 +321,87 @@
321
321
  gap: var(--space-s);
322
322
  }
323
323
 
324
+ .sf-toolbar {
325
+ align-items: center;
326
+ display: flex;
327
+ flex-wrap: wrap;
328
+ gap: var(--space-s);
329
+ justify-content: space-between;
330
+ }
331
+
332
+ .sf-app-shell {
333
+ background: var(--color-background);
334
+ color: var(--color-foreground);
335
+ display: grid;
336
+ grid-template-columns: minmax(14rem, var(--sf-app-sidebar-width, 16rem)) minmax(0, 1fr);
337
+ min-block-size: 100dvh;
338
+ }
339
+
340
+ .sf-app-sidebar {
341
+ align-self: start;
342
+ background: var(--color-surface);
343
+ border-inline-end: 1px solid var(--color-border);
344
+ display: flex;
345
+ flex-direction: column;
346
+ gap: var(--space-s);
347
+ max-block-size: 100dvh;
348
+ min-block-size: 100dvh;
349
+ overflow: auto;
350
+ padding: var(--space-s);
351
+ position: sticky;
352
+ inset-block-start: 0;
353
+ }
354
+
355
+ .sf-app-sidebar__brand {
356
+ align-items: center;
357
+ display: flex;
358
+ gap: var(--space-xs);
359
+ padding-block-end: var(--space-s);
360
+ }
361
+
362
+ .sf-app-sidebar .sf-nav {
363
+ align-items: stretch;
364
+ flex-direction: column;
365
+ justify-content: flex-start;
366
+ }
367
+
368
+ .sf-app-sidebar .sf-kicker {
369
+ text-align: start;
370
+ }
371
+
372
+ .sf-app-sidebar .sf-nav__list {
373
+ align-items: stretch;
374
+ flex-direction: column;
375
+ inline-size: 100%;
376
+ margin-block: 0;
377
+ padding-inline-start: var(--space-2xs);
378
+ }
379
+
380
+ .sf-app-sidebar .sf-nav__list > li {
381
+ inline-size: 100%;
382
+ }
383
+
384
+ .sf-app-sidebar .sf-nav__link {
385
+ --icon-size: var(--step-0);
386
+ gap: var(--space-xs);
387
+ inline-size: 100%;
388
+ justify-content: flex-start;
389
+ min-block-size: 2.5rem;
390
+ padding-block: var(--space-2xs);
391
+ padding-inline: var(--space-xs);
392
+ text-align: start;
393
+ }
394
+
395
+ .sf-app-sidebar > footer {
396
+ border-block-start: 1px solid var(--color-border);
397
+ padding-block-start: var(--space-s);
398
+ }
399
+
400
+ .sf-app-main {
401
+ min-inline-size: 0;
402
+ padding: var(--sf-app-main-padding, var(--space-m-l));
403
+ }
404
+
324
405
  .sf-grid {
325
406
  display: grid;
326
407
  gap: var(--grid-gutter);
@@ -381,6 +462,35 @@
381
462
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--panel-min, 18rem)), 1fr));
382
463
  }
383
464
 
465
+ .sf-metric-grid,
466
+ .sf-pipeline {
467
+ display: grid;
468
+ gap: var(--space-s);
469
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--sf-panel-min, 11rem)), 1fr));
470
+ }
471
+
472
+ @media (max-width: 56rem) {
473
+ .sf-app-shell {
474
+ grid-template-columns: 1fr;
475
+ }
476
+
477
+ .sf-app-main {
478
+ --sf-app-main-padding: var(--space-s);
479
+ }
480
+
481
+ .sf-app-sidebar {
482
+ border-block-end: 1px solid var(--color-border);
483
+ border-inline-end: 0;
484
+ max-block-size: none;
485
+ min-block-size: auto;
486
+ position: static;
487
+ }
488
+
489
+ .sf-app-sidebar > footer {
490
+ margin-block-start: 0;
491
+ }
492
+ }
493
+
384
494
  @container (min-width: 42rem) {
385
495
  .sf-panel-grid[data-density="featured"] > :first-child {
386
496
  grid-column: span 2;
@@ -440,7 +550,23 @@
440
550
  .sf-button--destructive { background: var(--color-destructive); color: var(--color-destructive-foreground); }
441
551
  .sf-button--sm { --button-size: 2.25rem; --button-padding-inline: var(--space-xs); }
442
552
  .sf-button--lg { --button-size: 3rem; --button-padding-inline: var(--space-m); }
443
- .sf-button--icon { --button-size: 2.75rem; inline-size: 2.75rem; padding-inline: 0; }
553
+ .sf-button--icon,
554
+ .sf-icon-button { --button-size: 2.75rem; inline-size: 2.75rem; padding-inline: 0; }
555
+
556
+ .sf-icon {
557
+ block-size: var(--icon-size, 1em);
558
+ color: var(--icon-color, currentColor);
559
+ flex: 0 0 auto;
560
+ inline-size: var(--icon-size, 1em);
561
+ stroke-width: var(--icon-stroke, 2);
562
+ vertical-align: -0.125em;
563
+ }
564
+
565
+ .sf-icon--xs { --icon-size: var(--step--1); }
566
+ .sf-icon--sm { --icon-size: var(--step-0); }
567
+ .sf-icon--md { --icon-size: var(--step-1); }
568
+ .sf-icon--lg { --icon-size: var(--step-2); }
569
+ .sf-icon--xl { --icon-size: var(--step-3); }
444
570
 
445
571
  .sf-card {
446
572
  background: var(--card-bg, var(--color-card));
@@ -494,6 +620,111 @@
494
620
  padding: .45em .75em;
495
621
  }
496
622
 
623
+ .sf-avatar {
624
+ align-items: center;
625
+ aspect-ratio: 1;
626
+ background: color-mix(in oklch, var(--color-primary) 14%, transparent);
627
+ border: 1px solid color-mix(in oklch, var(--color-primary) 28%, transparent);
628
+ border-radius: var(--radius-full);
629
+ color: var(--color-primary);
630
+ display: inline-flex;
631
+ flex: 0 0 auto;
632
+ font-size: var(--step--1);
633
+ font-weight: 800;
634
+ inline-size: var(--avatar-size, 2.25rem);
635
+ justify-content: center;
636
+ line-height: 1;
637
+ }
638
+
639
+ .sf-chart {
640
+ --chart-accent: var(--color-primary);
641
+ }
642
+
643
+ .sf-chart__plot {
644
+ background: color-mix(in oklch, var(--color-surface) 72%, transparent);
645
+ border: 1px solid var(--color-border);
646
+ border-radius: var(--radius-lg);
647
+ overflow: hidden;
648
+ padding: var(--space-xs);
649
+ }
650
+
651
+ .sf-chart--wide {
652
+ --chart-block-size: 14rem;
653
+ }
654
+
655
+ .sf-chart__svg {
656
+ block-size: var(--chart-block-size, 12rem);
657
+ display: block;
658
+ inline-size: 100%;
659
+ }
660
+
661
+ .sf-chart__grid,
662
+ .sf-chart__axis {
663
+ fill: none;
664
+ stroke: var(--color-border);
665
+ stroke-width: 1;
666
+ vector-effect: non-scaling-stroke;
667
+ }
668
+
669
+ .sf-chart__area {
670
+ fill: color-mix(in oklch, var(--chart-accent) 18%, transparent);
671
+ }
672
+
673
+ .sf-chart__line {
674
+ fill: none;
675
+ stroke: var(--chart-accent);
676
+ stroke-linecap: round;
677
+ stroke-linejoin: round;
678
+ stroke-width: 3;
679
+ vector-effect: non-scaling-stroke;
680
+ }
681
+
682
+ .sf-chart__point {
683
+ fill: var(--chart-accent);
684
+ stroke: var(--color-card);
685
+ stroke-width: 2;
686
+ }
687
+
688
+ .sf-chart__legend {
689
+ align-items: center;
690
+ display: flex;
691
+ flex-wrap: wrap;
692
+ gap: var(--space-xs);
693
+ }
694
+
695
+ .sf-chart__legend-item {
696
+ align-items: center;
697
+ color: var(--color-muted-foreground);
698
+ display: inline-flex;
699
+ gap: var(--space-3xs);
700
+ }
701
+
702
+ .sf-chart__swatch {
703
+ aspect-ratio: 1;
704
+ background: var(--chart-accent);
705
+ border-radius: var(--radius-full);
706
+ display: inline-block;
707
+ inline-size: .75rem;
708
+ }
709
+
710
+ .sf-meter-list {
711
+ display: grid;
712
+ gap: var(--space-xs);
713
+ }
714
+
715
+ .sf-meter-row {
716
+ display: grid;
717
+ gap: var(--space-3xs);
718
+ }
719
+
720
+ .sf-meter {
721
+ accent-color: var(--chart-accent, var(--color-primary));
722
+ block-size: .625rem;
723
+ border-radius: var(--radius-full);
724
+ inline-size: 100%;
725
+ overflow: hidden;
726
+ }
727
+
497
728
  .sf-field {
498
729
  display: grid;
499
730
  gap: var(--space-2xs);
@@ -628,6 +859,11 @@
628
859
  text-decoration: none;
629
860
  }
630
861
 
862
+ .sf-push-block-end { margin-block-start: auto; }
863
+ .sf-push-block-start { margin-block-end: auto; }
864
+ .sf-push-inline-end { margin-inline-start: auto; }
865
+ .sf-push-inline-start { margin-inline-end: auto; }
866
+
631
867
  .sf-full-bleed {
632
868
  inline-size: 100vw;
633
869
  margin-inline-start: 50%;
@@ -1,5 +1,5 @@
1
- <!-- wp:group {"tagName":"footer","className":"sf-footer"} -->
2
- <footer class="wp-block-group sf-footer">
1
+ <!-- wp:group {"tagName":"footer","backgroundColor":"surface-elevated","className":"sf-footer"} -->
2
+ <footer class="wp-block-group sf-footer has-surface-elevated-background-color has-background">
3
3
  <!-- wp:group {"className":"sf-container sf-repel"} -->
4
4
  <div class="wp-block-group sf-container sf-repel">
5
5
  <!-- wp:paragraph {"className":"sf-text-muted"} -->
@@ -1,5 +1,5 @@
1
- <!-- wp:group {"tagName":"header","className":"sf-section sf-section--compact sf-sticky-top sf-bg-background"} -->
2
- <header class="wp-block-group sf-section sf-section--compact sf-sticky-top sf-bg-background">
1
+ <!-- wp:group {"tagName":"header","backgroundColor":"surface-elevated","className":"sf-section sf-section--compact sf-sticky-top"} -->
2
+ <header class="wp-block-group sf-section sf-section--compact sf-sticky-top has-surface-elevated-background-color has-background">
3
3
  <!-- wp:group {"className":"sf-container sf-nav","layout":{"type":"flex","justifyContent":"space-between"}} -->
4
4
  <div class="wp-block-group sf-container sf-nav">
5
5
  <!-- wp:site-title {"className":"sf-nav__link"} /-->
@@ -3,12 +3,65 @@
3
3
  "version": 3,
4
4
  "settings": {
5
5
  "appearanceTools": true,
6
+ "color": {
7
+ "palette": [
8
+ {
9
+ "slug": "base",
10
+ "name": "Base",
11
+ "color": "var(--sf-colour-background)"
12
+ },
13
+ {
14
+ "slug": "foreground",
15
+ "name": "Foreground",
16
+ "color": "var(--sf-colour-foreground)"
17
+ },
18
+ {
19
+ "slug": "muted",
20
+ "name": "Muted",
21
+ "color": "var(--sf-colour-muted)"
22
+ },
23
+ {
24
+ "slug": "surface",
25
+ "name": "Surface",
26
+ "color": "var(--sf-colour-surface)"
27
+ },
28
+ {
29
+ "slug": "surface-alt",
30
+ "name": "Surface Alt",
31
+ "color": "var(--sf-colour-surface-alt)"
32
+ },
33
+ {
34
+ "slug": "surface-elevated",
35
+ "name": "Surface Elevated",
36
+ "color": "var(--sf-colour-surface-elevated, var(--sf-colour-surface-raised))"
37
+ },
38
+ {
39
+ "slug": "border",
40
+ "name": "Border",
41
+ "color": "var(--sf-colour-border)"
42
+ },
43
+ {
44
+ "slug": "primary",
45
+ "name": "Primary",
46
+ "color": "var(--sf-colour-primary)"
47
+ },
48
+ {
49
+ "slug": "primary-foreground",
50
+ "name": "Primary Foreground",
51
+ "color": "var(--sf-colour-primary-foreground)"
52
+ }
53
+ ]
54
+ },
6
55
  "layout": {
7
56
  "contentSize": "72rem",
8
57
  "wideSize": "90rem"
9
58
  }
10
59
  },
11
60
  "styles": {
61
+ "color": {
62
+ "background": "var(--sf-colour-background)",
63
+ "text": "var(--sf-colour-foreground)"
64
+ },
12
65
  "spacing": {
13
66
  "blockGap": "var(--space-s-l)"
14
67
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncedco/flow",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "AI-native fluid CSS design system for brand-consistent websites and agency builds.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.2.2",
package/src/presets.mjs CHANGED
@@ -10,6 +10,7 @@ export const themePresets = {
10
10
  muted: 'oklch(45% 0.018 236)',
11
11
  surface: 'oklch(100% 0 0)',
12
12
  surfaceAlt: 'oklch(96.4% 0.011 80)',
13
+ surfaceElevated: 'var(--sf-colour-surface-raised)',
13
14
  border: 'oklch(18% 0.026 250 / 0.12)',
14
15
  primary: 'oklch(68% 0.18 44)',
15
16
  primaryHover: 'oklch(60% 0.17 42)',
@@ -46,6 +47,7 @@ export const themePresets = {
46
47
  muted: 'oklch(44.6% 0.043 257)',
47
48
  surface: 'oklch(100% 0 0)',
48
49
  surfaceAlt: 'oklch(96.8% 0.007 247)',
50
+ surfaceElevated: 'var(--sf-colour-surface-raised)',
49
51
  border: 'oklch(20.8% 0.042 265 / 0.12)',
50
52
  primary: 'oklch(52% 0.14 250)',
51
53
  primaryHover: 'oklch(44% 0.13 250)',
@@ -84,6 +86,7 @@ export const themePresets = {
84
86
  muted: 'oklch(43% 0.02 65)',
85
87
  surface: 'oklch(100% 0 0)',
86
88
  surfaceAlt: 'oklch(94% 0.02 80)',
89
+ surfaceElevated: 'var(--sf-colour-surface-raised)',
87
90
  border: 'oklch(18% 0.022 55 / 0.14)',
88
91
  primary: 'oklch(58% 0.17 42)',
89
92
  primaryHover: 'oklch(50% 0.16 40)',
@@ -122,6 +125,7 @@ export const themePresets = {
122
125
  muted: 'oklch(78% 0.012 86)',
123
126
  surface: 'oklch(18% 0.026 250)',
124
127
  surfaceAlt: 'oklch(22% 0.024 248)',
128
+ surfaceElevated: 'var(--sf-colour-surface-raised)',
125
129
  border: 'oklch(100% 0 0 / 0.14)',
126
130
  primary: 'oklch(70% 0.12 205)',
127
131
  primaryHover: 'oklch(76% 0.12 205)',
package/styles.css CHANGED
@@ -163,7 +163,7 @@
163
163
  --sf-icon-stroke: 2;
164
164
  }
165
165
 
166
- :where(.sf-theme-light, [data-sf-theme="light"]) {
166
+ .sf-theme-light, [data-sf-theme="light"] {
167
167
  color-scheme: light;
168
168
  --sf-colour-background: var(--sf-colour-neutral-50);
169
169
  --sf-colour-foreground: var(--sf-colour-neutral-900);
@@ -179,7 +179,7 @@
179
179
  --sf-colour-link-hover: var(--sf-colour-orange-600);
180
180
  }
181
181
 
182
- :where(.sf-theme-dark, [data-sf-theme="dark"]) {
182
+ .sf-theme-dark, [data-sf-theme="dark"] {
183
183
  color-scheme: dark;
184
184
  --sf-colour-background: var(--sf-colour-neutral-950);
185
185
  --sf-colour-foreground: oklch(96% 0.008 86);
package/tokens.css CHANGED
@@ -163,7 +163,7 @@
163
163
  --sf-icon-stroke: 2;
164
164
  }
165
165
 
166
- :where(.sf-theme-light, [data-sf-theme="light"]) {
166
+ .sf-theme-light, [data-sf-theme="light"] {
167
167
  color-scheme: light;
168
168
  --sf-colour-background: var(--sf-colour-neutral-50);
169
169
  --sf-colour-foreground: var(--sf-colour-neutral-900);
@@ -179,7 +179,7 @@
179
179
  --sf-colour-link-hover: var(--sf-colour-orange-600);
180
180
  }
181
181
 
182
- :where(.sf-theme-dark, [data-sf-theme="dark"]) {
182
+ .sf-theme-dark, [data-sf-theme="dark"] {
183
183
  color-scheme: dark;
184
184
  --sf-colour-background: var(--sf-colour-neutral-950);
185
185
  --sf-colour-foreground: oklch(96% 0.008 86);