@kinetixui/tokens 0.4.3 → 0.5.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.
@@ -25,6 +25,21 @@ object KinetixPalette {
25
25
  val colorAmber850 = Color(0xff6a4b19)
26
26
  val colorAmber900 = Color(0xff553a11)
27
27
  val colorAmber950 = Color(0xff3f2a08)
28
+ val colorAzure0 = Color(0xfff7faff)
29
+ val colorAzure100 = Color(0xffdbeafe)
30
+ val colorAzure1000 = Color(0xff0f172a)
31
+ val colorAzure150 = Color(0xffcde1fd)
32
+ val colorAzure200 = Color(0xffbfdbfe)
33
+ val colorAzure300 = Color(0xff93c5fd)
34
+ val colorAzure400 = Color(0xff60a5fa)
35
+ val colorAzure50 = Color(0xffeff6ff)
36
+ val colorAzure500 = Color(0xff3b82f6)
37
+ val colorAzure600 = Color(0xff2563eb)
38
+ val colorAzure700 = Color(0xff1d4ed8)
39
+ val colorAzure800 = Color(0xff1e40af)
40
+ val colorAzure850 = Color(0xff1b3897)
41
+ val colorAzure900 = Color(0xff1e3a8a)
42
+ val colorAzure950 = Color(0xff172554)
28
43
  val colorBlue0 = Color(0xfff6fbff)
29
44
  val colorBlue100 = Color(0xff92b2c8)
30
45
  val colorBlue1000 = Color(0xff000000)
@@ -34,9 +34,9 @@ object KinetixThemeDark {
34
34
  val colorMutedForeground = Color(0xff92b2c8)
35
35
  val colorPopover = Color(0xff0b1821)
36
36
  val colorPopoverForeground = Color(0xfff0f7ff)
37
- val colorPrimary = Color(0xff92b2c8)
37
+ val colorPrimary = Color(0xff60a5fa)
38
38
  val colorPrimaryForeground = Color(0xff050c11)
39
- val colorRing = Color(0xff92b2c8)
39
+ val colorRing = Color(0xff60a5fa)
40
40
  val colorSecondary = Color(0xff2e362e)
41
41
  val colorSecondaryForeground = Color(0xffe3e7e3)
42
42
  val colorSidebar = Color(0xff0b1821)
@@ -44,9 +44,9 @@ object KinetixThemeDark {
44
44
  val colorSidebarAccentForeground = Color(0xfff0f7ff)
45
45
  val colorSidebarBorder = Color(0xff395a70)
46
46
  val colorSidebarForeground = Color(0xfff0f7ff)
47
- val colorSidebarPrimary = Color(0xff92b2c8)
47
+ val colorSidebarPrimary = Color(0xff60a5fa)
48
48
  val colorSidebarPrimaryForeground = Color(0xff050c11)
49
- val colorSidebarRing = Color(0xff92b2c8)
49
+ val colorSidebarRing = Color(0xff60a5fa)
50
50
  val colorSuccess = Color(0xff90a08f)
51
51
  val colorSuccessForeground = Color(0xff171b17)
52
52
  val colorTertiary = Color(0xff395a70)
@@ -11,7 +11,7 @@ import androidx.compose.ui.unit.*
11
11
 
12
12
  object KinetixTheme {
13
13
  val colorAccent = Color(0xfff0f7ff)
14
- val colorAccentForeground = Color(0xff1b3c53)
14
+ val colorAccentForeground = Color(0xff1d4ed8)
15
15
  val colorBackground = Color(0xffffffff)
16
16
  val colorBorder = Color(0xff92b2c8)
17
17
  val colorCard = Color(0xffffffff)
@@ -34,11 +34,11 @@ object KinetixTheme {
34
34
  val colorMutedForeground = Color(0xff6d6d6d)
35
35
  val colorPopover = Color(0xffffffff)
36
36
  val colorPopoverForeground = Color(0xff050c11)
37
- val colorPrimary = Color(0xff1b3c53)
37
+ val colorPrimary = Color(0xff1d4ed8)
38
38
  val colorPrimaryForeground = Color(0xfff0f7ff)
39
- val colorRing = Color(0xff1b3c53)
40
- val colorSecondary = Color(0xfff1f3f1)
41
- val colorSecondaryForeground = Color(0xff5d6d5c)
39
+ val colorRing = Color(0xff1d4ed8)
40
+ val colorSecondary = Color(0xffc7cfc7)
41
+ val colorSecondaryForeground = Color(0xff465245)
42
42
  val colorSemanticError = Color(0xffec5047)
43
43
  val colorSemanticErrorContainer = Color(0xfffef3f2)
44
44
  val colorSemanticInfoContainer = Color(0xfff0f7ff)
@@ -52,12 +52,12 @@ object KinetixTheme {
52
52
  val colorSemanticWarningContainer = Color(0xfffff8eb)
53
53
  val colorSidebar = Color(0xfffafafa)
54
54
  val colorSidebarAccent = Color(0xfff0f7ff)
55
- val colorSidebarAccentForeground = Color(0xff1b3c53)
55
+ val colorSidebarAccentForeground = Color(0xff1d4ed8)
56
56
  val colorSidebarBorder = Color(0xffe0e0e0)
57
57
  val colorSidebarForeground = Color(0xff050c11)
58
- val colorSidebarPrimary = Color(0xff1b3c53)
58
+ val colorSidebarPrimary = Color(0xff1d4ed8)
59
59
  val colorSidebarPrimaryForeground = Color(0xfff0f7ff)
60
- val colorSidebarRing = Color(0xff1b3c53)
60
+ val colorSidebarRing = Color(0xff1d4ed8)
61
61
  val colorSuccess = Color(0xff5d6d5c)
62
62
  val colorSuccessForeground = Color(0xfff1f3f1)
63
63
  val colorTertiary = Color(0xffb0b0b0)
@@ -4,6 +4,21 @@
4
4
  Do not edit directly, this file was auto-generated.
5
5
  -->
6
6
  <resources>
7
+ <color name="color_azure_0">#fff7faff</color>
8
+ <color name="color_azure_50">#ffeff6ff</color>
9
+ <color name="color_azure_100">#ffdbeafe</color>
10
+ <color name="color_azure_150">#ffcde1fd</color>
11
+ <color name="color_azure_200">#ffbfdbfe</color>
12
+ <color name="color_azure_300">#ff93c5fd</color>
13
+ <color name="color_azure_400">#ff60a5fa</color>
14
+ <color name="color_azure_500">#ff3b82f6</color>
15
+ <color name="color_azure_600">#ff2563eb</color>
16
+ <color name="color_azure_700">#ff1d4ed8</color>
17
+ <color name="color_azure_800">#ff1e40af</color>
18
+ <color name="color_azure_850">#ff1b3897</color>
19
+ <color name="color_azure_900">#ff1e3a8a</color>
20
+ <color name="color_azure_950">#ff172554</color>
21
+ <color name="color_azure_1000">#ff0f172a</color>
7
22
  <color name="color_blue_0">#fff6fbff</color>
8
23
  <color name="color_blue_50">#fff0f7ff</color>
9
24
  <color name="color_blue_100">#ff92b2c8</color>
@@ -114,14 +129,14 @@
114
129
  <color name="color_card_foreground">#ff050c11</color>
115
130
  <color name="color_popover">#ffffffff</color>
116
131
  <color name="color_popover_foreground">#ff050c11</color>
117
- <color name="color_primary">#ff1b3c53</color>
132
+ <color name="color_primary">#ff1d4ed8</color>
118
133
  <color name="color_primary_foreground">#fff0f7ff</color>
119
- <color name="color_secondary">#fff1f3f1</color>
120
- <color name="color_secondary_foreground">#ff5d6d5c</color>
134
+ <color name="color_secondary">#ffc7cfc7</color>
135
+ <color name="color_secondary_foreground">#ff465245</color>
121
136
  <color name="color_muted">#fff6f6f6</color>
122
137
  <color name="color_muted_foreground">#ff6d6d6d</color>
123
138
  <color name="color_accent">#fff0f7ff</color>
124
- <color name="color_accent_foreground">#ff1b3c53</color>
139
+ <color name="color_accent_foreground">#ff1d4ed8</color>
125
140
  <color name="color_destructive">#ffc60a0a</color>
126
141
  <color name="color_destructive_foreground">#fffef3f2</color>
127
142
  <color name="color_success">#ff5d6d5c</color>
@@ -130,7 +145,7 @@
130
145
  <color name="color_warning_foreground">#fffff8eb</color>
131
146
  <color name="color_border">#ff92b2c8</color>
132
147
  <color name="color_input">#ff92b2c8</color>
133
- <color name="color_ring">#ff1b3c53</color>
148
+ <color name="color_ring">#ff1d4ed8</color>
134
149
  <color name="color_semantic_error">#ffec5047</color>
135
150
  <color name="color_semantic_on_error">#fffef3f2</color>
136
151
  <color name="color_semantic_error_container">#fffef3f2</color>
@@ -152,12 +167,12 @@
152
167
  <color name="color_chart_8">#ff465245</color>
153
168
  <color name="color_sidebar">#fffafafa</color>
154
169
  <color name="color_sidebar_foreground">#ff050c11</color>
155
- <color name="color_sidebar_primary">#ff1b3c53</color>
170
+ <color name="color_sidebar_primary">#ff1d4ed8</color>
156
171
  <color name="color_sidebar_primary_foreground">#fff0f7ff</color>
157
172
  <color name="color_sidebar_accent">#fff0f7ff</color>
158
- <color name="color_sidebar_accent_foreground">#ff1b3c53</color>
173
+ <color name="color_sidebar_accent_foreground">#ff1d4ed8</color>
159
174
  <color name="color_sidebar_border">#ffe0e0e0</color>
160
- <color name="color_sidebar_ring">#ff1b3c53</color>
175
+ <color name="color_sidebar_ring">#ff1d4ed8</color>
161
176
  <color name="color_tertiary">#ffb0b0b0</color>
162
177
  <color name="color_tertiary_foreground">#fff0f7ff</color>
163
178
  <color name="color_info">#ff57778d</color>
@@ -13,7 +13,7 @@ class KinetixColors {
13
13
  KinetixColors._();
14
14
 
15
15
  static const colorAccent = Color(0xFFF0F7FF); /** figma: 'LightBlue' #f0f7ff (the hover fill used by Outline/Ghost buttons) */
16
- static const colorAccentForeground = Color(0xFF1B3C53); /** synth: = primary for readable text on accent */
16
+ static const colorAccentForeground = Color(0xFF1D4ED8); /** synth: = primary for readable text on accent (#1d4ed8 on accent #f0f7ff ~5.7:1) */
17
17
  static const colorAmber0 = Color(0xFFFFFFFF);
18
18
  static const colorAmber100 = Color(0xFFFFF2DD);
19
19
  static const colorAmber1000 = Color(0xFF2A1A00);
@@ -29,6 +29,21 @@ class KinetixColors {
29
29
  static const colorAmber850 = Color(0xFF6A4B19);
30
30
  static const colorAmber900 = Color(0xFF553A11);
31
31
  static const colorAmber950 = Color(0xFF3F2A08);
32
+ static const colorAzure0 = Color(0xFFF7FAFF);
33
+ static const colorAzure100 = Color(0xFFDBEAFE);
34
+ static const colorAzure1000 = Color(0xFF0F172A);
35
+ static const colorAzure150 = Color(0xFFCDE1FD);
36
+ static const colorAzure200 = Color(0xFFBFDBFE);
37
+ static const colorAzure300 = Color(0xFF93C5FD);
38
+ static const colorAzure400 = Color(0xFF60A5FA);
39
+ static const colorAzure50 = Color(0xFFEFF6FF);
40
+ static const colorAzure500 = Color(0xFF3B82F6);
41
+ static const colorAzure600 = Color(0xFF2563EB);
42
+ static const colorAzure700 = Color(0xFF1D4ED8);
43
+ static const colorAzure800 = Color(0xFF1E40AF);
44
+ static const colorAzure850 = Color(0xFF1B3897);
45
+ static const colorAzure900 = Color(0xFF1E3A8A);
46
+ static const colorAzure950 = Color(0xFF172554);
32
47
  static const colorBackground = Color(0xFFFFFFFF); /** figma: surfaceContainerLowest #ffffff */
33
48
  static const colorBlue0 = Color(0xFFF6FBFF);
34
49
  static const colorBlue100 = Color(0xFF92B2C8);
@@ -108,8 +123,8 @@ class KinetixColors {
108
123
  static const colorNeutral900 = Color(0xFF1F1F1F);
109
124
  static const colorPopover = Color(0xFFFFFFFF); /** synth: no Figma popover token; = background */
110
125
  static const colorPopoverForeground = Color(0xFF050C11); /** synth: = foreground */
111
- static const colorPrimary = Color(0xFF1B3C53); /** figma: 'Primay' (sic) #1b3c53 -> renamed primary */
112
- static const colorPrimaryForeground = Color(0xFFF0F7FF); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground */
126
+ static const colorPrimary = Color(0xFF1D4ED8); /** was Figma 'Primay' navy (blue.500 -> blue.700). Swapped for a bright action blue #1d4ed8 (6.55:1 on bg) so primary buttons/links pop rather than reading as near-black. Dark uses a lighter step (#60a5fa) — navy/this hue would fail on the dark surface. */
127
+ static const colorPrimaryForeground = Color(0xFFF0F7FF); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground (on #1d4ed8 primary ~6:1) */
113
128
  static const colorRed0 = Color(0xFFFFF9F9);
114
129
  static const colorRed100 = Color(0xFFF4C9C9);
115
130
  static const colorRed1000 = Color(0xFF000000);
@@ -125,9 +140,9 @@ class KinetixColors {
125
140
  static const colorRed850 = Color(0xFF3B0303);
126
141
  static const colorRed900 = Color(0xFF280202);
127
142
  static const colorRed950 = Color(0xFF140101);
128
- static const colorRing = Color(0xFF1B3C53); /** figma: focus state draws a 2px 'Primay' border */
129
- static const colorSecondary = Color(0xFFF1F3F1); /** figma: secondaryContainer #f1f3f1 (our 'secondary' == Figma container role) */
130
- static const colorSecondaryForeground = Color(0xFF5D6D5C); /** figma onSecondaryContainer was green.500 (#748873) = 3.42:1 on secondary (AA-large only); green.600 (#5d6d5c) = 4.95:1 */
143
+ static const colorRing = Color(0xFF1D4ED8); /** focus ring tracks --primary (#1d4ed8, 6.55:1 on bg) */
144
+ static const colorSecondary = Color(0xFFC7CFC7); /** figma secondaryContainer was green.50 #f1f3f1 (invisible on bg); deepened to green.200 #c7cfc7 so a secondary button/chip clearly stands off the white page — same sage hue */
145
+ static const colorSecondaryForeground = Color(0xFF465245); /** green.700 #465245 on secondary green.200 #c7cfc7 clears ~5.2:1 */
131
146
  static const colorSemanticError = Color(0xFFEC5047); /** figma: error (NOT red.500 #c60a0a — Figma keeps error as its own value) */
132
147
  static const colorSemanticErrorContainer = Color(0xFFFEF3F2); /** figma: errorContainer */
133
148
  static const colorSemanticInfoContainer = Color(0xFFF0F7FF);
@@ -141,12 +156,12 @@ class KinetixColors {
141
156
  static const colorSemanticWarningContainer = Color(0xFFFFF8EB); /** figma: warningContainer */
142
157
  static const colorSidebar = Color(0xFFFAFAFA);
143
158
  static const colorSidebarAccent = Color(0xFFF0F7FF);
144
- static const colorSidebarAccentForeground = Color(0xFF1B3C53);
159
+ static const colorSidebarAccentForeground = Color(0xFF1D4ED8);
145
160
  static const colorSidebarBorder = Color(0xFFE0E0E0);
146
161
  static const colorSidebarForeground = Color(0xFF050C11);
147
- static const colorSidebarPrimary = Color(0xFF1B3C53);
162
+ static const colorSidebarPrimary = Color(0xFF1D4ED8);
148
163
  static const colorSidebarPrimaryForeground = Color(0xFFF0F7FF);
149
- static const colorSidebarRing = Color(0xFF1B3C53);
164
+ static const colorSidebarRing = Color(0xFF1D4ED8);
150
165
  static const colorStaticBlack = Color(0xFF000000);
151
166
  static const colorStaticWhite = Color(0xFFFFFFFF);
152
167
  static const colorSuccess = Color(0xFF5D6D5C); /** synth: no Figma success token; green ramp step 6 (distinct from secondary) */
@@ -13,7 +13,7 @@ class KinetixTheme {
13
13
  KinetixTheme._();
14
14
 
15
15
  static const colorAccent = Color(0xFFF0F7FF); /** figma: 'LightBlue' #f0f7ff (the hover fill used by Outline/Ghost buttons) */
16
- static const colorAccentForeground = Color(0xFF1B3C53); /** synth: = primary for readable text on accent */
16
+ static const colorAccentForeground = Color(0xFF1D4ED8); /** synth: = primary for readable text on accent (#1d4ed8 on accent #f0f7ff ~5.7:1) */
17
17
  static const colorBackground = Color(0xFFFFFFFF); /** figma: surfaceContainerLowest #ffffff */
18
18
  static const colorBorder = Color(0xFF92B2C8); /** figma: outline #92b2c8 */
19
19
  static const colorCard = Color(0xFFFFFFFF); /** synth: no Figma card token; = background */
@@ -36,11 +36,11 @@ class KinetixTheme {
36
36
  static const colorMutedForeground = Color(0xFF6D6D6D); /** figma: onSurfaceVariant #6d6d6d */
37
37
  static const colorPopover = Color(0xFFFFFFFF); /** synth: no Figma popover token; = background */
38
38
  static const colorPopoverForeground = Color(0xFF050C11); /** synth: = foreground */
39
- static const colorPrimary = Color(0xFF1B3C53); /** figma: 'Primay' (sic) #1b3c53 -> renamed primary */
40
- static const colorPrimaryForeground = Color(0xFFF0F7FF); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground */
41
- static const colorRing = Color(0xFF1B3C53); /** figma: focus state draws a 2px 'Primay' border */
42
- static const colorSecondary = Color(0xFFF1F3F1); /** figma: secondaryContainer #f1f3f1 (our 'secondary' == Figma container role) */
43
- static const colorSecondaryForeground = Color(0xFF5D6D5C); /** figma onSecondaryContainer was green.500 (#748873) = 3.42:1 on secondary (AA-large only); green.600 (#5d6d5c) = 4.95:1 */
39
+ static const colorPrimary = Color(0xFF1D4ED8); /** was Figma 'Primay' navy (blue.500 -> blue.700). Swapped for a bright action blue #1d4ed8 (6.55:1 on bg) so primary buttons/links pop rather than reading as near-black. Dark uses a lighter step (#60a5fa) — navy/this hue would fail on the dark surface. */
40
+ static const colorPrimaryForeground = Color(0xFFF0F7FF); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground (on #1d4ed8 primary ~6:1) */
41
+ static const colorRing = Color(0xFF1D4ED8); /** focus ring tracks --primary (#1d4ed8, 6.55:1 on bg) */
42
+ static const colorSecondary = Color(0xFFC7CFC7); /** figma secondaryContainer was green.50 #f1f3f1 (invisible on bg); deepened to green.200 #c7cfc7 so a secondary button/chip clearly stands off the white page — same sage hue */
43
+ static const colorSecondaryForeground = Color(0xFF465245); /** green.700 #465245 on secondary green.200 #c7cfc7 clears ~5.2:1 */
44
44
  static const colorSemanticError = Color(0xFFEC5047); /** figma: error (NOT red.500 #c60a0a — Figma keeps error as its own value) */
45
45
  static const colorSemanticErrorContainer = Color(0xFFFEF3F2); /** figma: errorContainer */
46
46
  static const colorSemanticInfoContainer = Color(0xFFF0F7FF);
@@ -54,12 +54,12 @@ class KinetixTheme {
54
54
  static const colorSemanticWarningContainer = Color(0xFFFFF8EB); /** figma: warningContainer */
55
55
  static const colorSidebar = Color(0xFFFAFAFA);
56
56
  static const colorSidebarAccent = Color(0xFFF0F7FF);
57
- static const colorSidebarAccentForeground = Color(0xFF1B3C53);
57
+ static const colorSidebarAccentForeground = Color(0xFF1D4ED8);
58
58
  static const colorSidebarBorder = Color(0xFFE0E0E0);
59
59
  static const colorSidebarForeground = Color(0xFF050C11);
60
- static const colorSidebarPrimary = Color(0xFF1B3C53);
60
+ static const colorSidebarPrimary = Color(0xFF1D4ED8);
61
61
  static const colorSidebarPrimaryForeground = Color(0xFFF0F7FF);
62
- static const colorSidebarRing = Color(0xFF1B3C53);
62
+ static const colorSidebarRing = Color(0xFF1D4ED8);
63
63
  static const colorSuccess = Color(0xFF5D6D5C); /** synth: no Figma success token; green ramp step 6 (distinct from secondary) */
64
64
  static const colorSuccessForeground = Color(0xFFF1F3F1); /** synth */
65
65
  static const colorTertiary = Color(0xFFB0B0B0); /** figma: tertiary — switch off-track */
@@ -13,7 +13,7 @@ class KinetixColorSchemeDark {
13
13
  static const cardForeground = Color(0xFFF0F7FF);
14
14
  static const popover = Color(0xFF0B1821);
15
15
  static const popoverForeground = Color(0xFFF0F7FF);
16
- static const primary = Color(0xFF92B2C8);
16
+ static const primary = Color(0xFF60A5FA);
17
17
  static const primaryForeground = Color(0xFF050C11);
18
18
  static const secondary = Color(0xFF2E362E);
19
19
  static const secondaryForeground = Color(0xFFE3E7E3);
@@ -29,7 +29,7 @@ class KinetixColorSchemeDark {
29
29
  static const warningForeground = Color(0xFF2A1A00);
30
30
  static const border = Color(0xFF395A70);
31
31
  static const input = Color(0xFF395A70);
32
- static const ring = Color(0xFF92B2C8);
32
+ static const ring = Color(0xFF60A5FA);
33
33
  static const chart1 = Color(0xFF92B2C8);
34
34
  static const chart2 = Color(0xFF90A08F);
35
35
  static const chart3 = Color(0xFFFFC975);
@@ -40,12 +40,12 @@ class KinetixColorSchemeDark {
40
40
  static const chart8 = Color(0xFF748873);
41
41
  static const sidebar = Color(0xFF0B1821);
42
42
  static const sidebarForeground = Color(0xFFF0F7FF);
43
- static const sidebarPrimary = Color(0xFF92B2C8);
43
+ static const sidebarPrimary = Color(0xFF60A5FA);
44
44
  static const sidebarPrimaryForeground = Color(0xFF050C11);
45
45
  static const sidebarAccent = Color(0xFF102432);
46
46
  static const sidebarAccentForeground = Color(0xFFF0F7FF);
47
47
  static const sidebarBorder = Color(0xFF395A70);
48
- static const sidebarRing = Color(0xFF92B2C8);
48
+ static const sidebarRing = Color(0xFF60A5FA);
49
49
  static const tertiary = Color(0xFF395A70);
50
50
  static const tertiaryForeground = Color(0xFFF0F7FF);
51
51
  static const info = Color(0xFF92B2C8);
@@ -13,14 +13,14 @@ class KinetixColorScheme {
13
13
  static const cardForeground = Color(0xFF050C11);
14
14
  static const popover = Color(0xFFFFFFFF);
15
15
  static const popoverForeground = Color(0xFF050C11);
16
- static const primary = Color(0xFF1B3C53);
16
+ static const primary = Color(0xFF1D4ED8);
17
17
  static const primaryForeground = Color(0xFFF0F7FF);
18
- static const secondary = Color(0xFFF1F3F1);
19
- static const secondaryForeground = Color(0xFF5D6D5C);
18
+ static const secondary = Color(0xFFC7CFC7);
19
+ static const secondaryForeground = Color(0xFF465245);
20
20
  static const muted = Color(0xFFF6F6F6);
21
21
  static const mutedForeground = Color(0xFF6D6D6D);
22
22
  static const accent = Color(0xFFF0F7FF);
23
- static const accentForeground = Color(0xFF1B3C53);
23
+ static const accentForeground = Color(0xFF1D4ED8);
24
24
  static const destructive = Color(0xFFC60A0A);
25
25
  static const destructiveForeground = Color(0xFFFEF3F2);
26
26
  static const success = Color(0xFF5D6D5C);
@@ -29,7 +29,7 @@ class KinetixColorScheme {
29
29
  static const warningForeground = Color(0xFFFFF8EB);
30
30
  static const border = Color(0xFF92B2C8);
31
31
  static const input = Color(0xFF92B2C8);
32
- static const ring = Color(0xFF1B3C53);
32
+ static const ring = Color(0xFF1D4ED8);
33
33
  static const chart1 = Color(0xFF1B3C53);
34
34
  static const chart2 = Color(0xFF748873);
35
35
  static const chart3 = Color(0xFFFFBC53);
@@ -40,12 +40,12 @@ class KinetixColorScheme {
40
40
  static const chart8 = Color(0xFF465245);
41
41
  static const sidebar = Color(0xFFFAFAFA);
42
42
  static const sidebarForeground = Color(0xFF050C11);
43
- static const sidebarPrimary = Color(0xFF1B3C53);
43
+ static const sidebarPrimary = Color(0xFF1D4ED8);
44
44
  static const sidebarPrimaryForeground = Color(0xFFF0F7FF);
45
45
  static const sidebarAccent = Color(0xFFF0F7FF);
46
- static const sidebarAccentForeground = Color(0xFF1B3C53);
46
+ static const sidebarAccentForeground = Color(0xFF1D4ED8);
47
47
  static const sidebarBorder = Color(0xFFE0E0E0);
48
- static const sidebarRing = Color(0xFF1B3C53);
48
+ static const sidebarRing = Color(0xFF1D4ED8);
49
49
  static const tertiary = Color(0xFFB0B0B0);
50
50
  static const tertiaryForeground = Color(0xFFF0F7FF);
51
51
  static const info = Color(0xFF57778D);
@@ -10,7 +10,7 @@ import SwiftUI
10
10
 
11
11
  public enum KinetixColor {
12
12
  public static let colorAccent = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'LightBlue' #f0f7ff (the hover fill used by Outline/Ghost buttons) */
13
- public static let colorAccentForeground = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** synth: = primary for readable text on accent */
13
+ public static let colorAccentForeground = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** synth: = primary for readable text on accent (#1d4ed8 on accent #f0f7ff ~5.7:1) */
14
14
  public static let colorAmber0 = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1)
15
15
  public static let colorAmber100 = UIColor(red: 1.000, green: 0.949, blue: 0.867, alpha: 1)
16
16
  public static let colorAmber1000 = UIColor(red: 0.165, green: 0.102, blue: 0.000, alpha: 1)
@@ -26,6 +26,21 @@ public enum KinetixColor {
26
26
  public static let colorAmber850 = UIColor(red: 0.416, green: 0.294, blue: 0.098, alpha: 1)
27
27
  public static let colorAmber900 = UIColor(red: 0.333, green: 0.227, blue: 0.067, alpha: 1)
28
28
  public static let colorAmber950 = UIColor(red: 0.247, green: 0.165, blue: 0.031, alpha: 1)
29
+ public static let colorAzure0 = UIColor(red: 0.969, green: 0.980, blue: 1.000, alpha: 1)
30
+ public static let colorAzure100 = UIColor(red: 0.859, green: 0.918, blue: 0.996, alpha: 1)
31
+ public static let colorAzure1000 = UIColor(red: 0.059, green: 0.090, blue: 0.165, alpha: 1)
32
+ public static let colorAzure150 = UIColor(red: 0.804, green: 0.882, blue: 0.992, alpha: 1)
33
+ public static let colorAzure200 = UIColor(red: 0.749, green: 0.859, blue: 0.996, alpha: 1)
34
+ public static let colorAzure300 = UIColor(red: 0.576, green: 0.773, blue: 0.992, alpha: 1)
35
+ public static let colorAzure400 = UIColor(red: 0.376, green: 0.647, blue: 0.980, alpha: 1)
36
+ public static let colorAzure50 = UIColor(red: 0.937, green: 0.965, blue: 1.000, alpha: 1)
37
+ public static let colorAzure500 = UIColor(red: 0.231, green: 0.510, blue: 0.965, alpha: 1)
38
+ public static let colorAzure600 = UIColor(red: 0.145, green: 0.388, blue: 0.922, alpha: 1)
39
+ public static let colorAzure700 = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
40
+ public static let colorAzure800 = UIColor(red: 0.118, green: 0.251, blue: 0.686, alpha: 1)
41
+ public static let colorAzure850 = UIColor(red: 0.106, green: 0.220, blue: 0.592, alpha: 1)
42
+ public static let colorAzure900 = UIColor(red: 0.118, green: 0.227, blue: 0.541, alpha: 1)
43
+ public static let colorAzure950 = UIColor(red: 0.090, green: 0.145, blue: 0.329, alpha: 1)
29
44
  public static let colorBackground = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1) /** figma: surfaceContainerLowest #ffffff */
30
45
  public static let colorBlue0 = UIColor(red: 0.965, green: 0.984, blue: 1.000, alpha: 1)
31
46
  public static let colorBlue100 = UIColor(red: 0.573, green: 0.698, blue: 0.784, alpha: 1)
@@ -105,8 +120,8 @@ public enum KinetixColor {
105
120
  public static let colorNeutral900 = UIColor(red: 0.122, green: 0.122, blue: 0.122, alpha: 1)
106
121
  public static let colorPopover = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1) /** synth: no Figma popover token; = background */
107
122
  public static let colorPopoverForeground = UIColor(red: 0.020, green: 0.047, blue: 0.067, alpha: 1) /** synth: = foreground */
108
- public static let colorPrimary = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** figma: 'Primay' (sic) #1b3c53 -> renamed primary */
109
- public static let colorPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground */
123
+ public static let colorPrimary = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** was Figma 'Primay' navy (blue.500 -> blue.700). Swapped for a bright action blue #1d4ed8 (6.55:1 on bg) so primary buttons/links pop rather than reading as near-black. Dark uses a lighter step (#60a5fa) — navy/this hue would fail on the dark surface. */
124
+ public static let colorPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground (on #1d4ed8 primary ~6:1) */
110
125
  public static let colorRed0 = UIColor(red: 1.000, green: 0.976, blue: 0.976, alpha: 1)
111
126
  public static let colorRed100 = UIColor(red: 0.957, green: 0.788, blue: 0.788, alpha: 1)
112
127
  public static let colorRed1000 = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1)
@@ -122,9 +137,9 @@ public enum KinetixColor {
122
137
  public static let colorRed850 = UIColor(red: 0.231, green: 0.012, blue: 0.012, alpha: 1)
123
138
  public static let colorRed900 = UIColor(red: 0.157, green: 0.008, blue: 0.008, alpha: 1)
124
139
  public static let colorRed950 = UIColor(red: 0.078, green: 0.004, blue: 0.004, alpha: 1)
125
- public static let colorRing = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** figma: focus state draws a 2px 'Primay' border */
126
- public static let colorSecondary = UIColor(red: 0.945, green: 0.953, blue: 0.945, alpha: 1) /** figma: secondaryContainer #f1f3f1 (our 'secondary' == Figma container role) */
127
- public static let colorSecondaryForeground = UIColor(red: 0.365, green: 0.427, blue: 0.361, alpha: 1) /** figma onSecondaryContainer was green.500 (#748873) = 3.42:1 on secondary (AA-large only); green.600 (#5d6d5c) = 4.95:1 */
140
+ public static let colorRing = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** focus ring tracks --primary (#1d4ed8, 6.55:1 on bg) */
141
+ public static let colorSecondary = UIColor(red: 0.780, green: 0.812, blue: 0.780, alpha: 1) /** figma secondaryContainer was green.50 #f1f3f1 (invisible on bg); deepened to green.200 #c7cfc7 so a secondary button/chip clearly stands off the white page — same sage hue */
142
+ public static let colorSecondaryForeground = UIColor(red: 0.275, green: 0.322, blue: 0.271, alpha: 1) /** green.700 #465245 on secondary green.200 #c7cfc7 clears ~5.2:1 */
128
143
  public static let colorSemanticError = UIColor(red: 0.925, green: 0.314, blue: 0.278, alpha: 1) /** figma: error (NOT red.500 #c60a0a — Figma keeps error as its own value) */
129
144
  public static let colorSemanticErrorContainer = UIColor(red: 0.996, green: 0.953, blue: 0.949, alpha: 1) /** figma: errorContainer */
130
145
  public static let colorSemanticInfoContainer = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
@@ -138,12 +153,12 @@ public enum KinetixColor {
138
153
  public static let colorSemanticWarningContainer = UIColor(red: 1.000, green: 0.973, blue: 0.922, alpha: 1) /** figma: warningContainer */
139
154
  public static let colorSidebar = UIColor(red: 0.980, green: 0.980, blue: 0.980, alpha: 1)
140
155
  public static let colorSidebarAccent = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
141
- public static let colorSidebarAccentForeground = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
156
+ public static let colorSidebarAccentForeground = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
142
157
  public static let colorSidebarBorder = UIColor(red: 0.878, green: 0.878, blue: 0.878, alpha: 1)
143
158
  public static let colorSidebarForeground = UIColor(red: 0.020, green: 0.047, blue: 0.067, alpha: 1)
144
- public static let colorSidebarPrimary = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
159
+ public static let colorSidebarPrimary = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
145
160
  public static let colorSidebarPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
146
- public static let colorSidebarRing = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
161
+ public static let colorSidebarRing = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
147
162
  public static let colorStaticBlack = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 1)
148
163
  public static let colorStaticWhite = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1)
149
164
  public static let colorSuccess = UIColor(red: 0.365, green: 0.427, blue: 0.361, alpha: 1) /** synth: no Figma success token; green ramp step 6 (distinct from secondary) */
@@ -11,7 +11,7 @@ public enum KinetixColorsSwiftUIDark {
11
11
  public static let cardForeground = Color(red: 0.941, green: 0.969, blue: 1)
12
12
  public static let popover = Color(red: 0.043, green: 0.094, blue: 0.129)
13
13
  public static let popoverForeground = Color(red: 0.941, green: 0.969, blue: 1)
14
- public static let primary = Color(red: 0.573, green: 0.698, blue: 0.784)
14
+ public static let primary = Color(red: 0.376, green: 0.647, blue: 0.98)
15
15
  public static let primaryForeground = Color(red: 0.02, green: 0.047, blue: 0.067)
16
16
  public static let secondary = Color(red: 0.18, green: 0.212, blue: 0.18)
17
17
  public static let secondaryForeground = Color(red: 0.89, green: 0.906, blue: 0.89)
@@ -27,7 +27,7 @@ public enum KinetixColorsSwiftUIDark {
27
27
  public static let warningForeground = Color(red: 0.165, green: 0.102, blue: 0)
28
28
  public static let border = Color(red: 0.224, green: 0.353, blue: 0.439)
29
29
  public static let input = Color(red: 0.224, green: 0.353, blue: 0.439)
30
- public static let ring = Color(red: 0.573, green: 0.698, blue: 0.784)
30
+ public static let ring = Color(red: 0.376, green: 0.647, blue: 0.98)
31
31
  public static let chart1 = Color(red: 0.573, green: 0.698, blue: 0.784)
32
32
  public static let chart2 = Color(red: 0.565, green: 0.627, blue: 0.561)
33
33
  public static let chart3 = Color(red: 1, green: 0.788, blue: 0.459)
@@ -38,12 +38,12 @@ public enum KinetixColorsSwiftUIDark {
38
38
  public static let chart8 = Color(red: 0.455, green: 0.533, blue: 0.451)
39
39
  public static let sidebar = Color(red: 0.043, green: 0.094, blue: 0.129)
40
40
  public static let sidebarForeground = Color(red: 0.941, green: 0.969, blue: 1)
41
- public static let sidebarPrimary = Color(red: 0.573, green: 0.698, blue: 0.784)
41
+ public static let sidebarPrimary = Color(red: 0.376, green: 0.647, blue: 0.98)
42
42
  public static let sidebarPrimaryForeground = Color(red: 0.02, green: 0.047, blue: 0.067)
43
43
  public static let sidebarAccent = Color(red: 0.063, green: 0.141, blue: 0.196)
44
44
  public static let sidebarAccentForeground = Color(red: 0.941, green: 0.969, blue: 1)
45
45
  public static let sidebarBorder = Color(red: 0.224, green: 0.353, blue: 0.439)
46
- public static let sidebarRing = Color(red: 0.573, green: 0.698, blue: 0.784)
46
+ public static let sidebarRing = Color(red: 0.376, green: 0.647, blue: 0.98)
47
47
  public static let tertiary = Color(red: 0.224, green: 0.353, blue: 0.439)
48
48
  public static let tertiaryForeground = Color(red: 0.941, green: 0.969, blue: 1)
49
49
  public static let info = Color(red: 0.573, green: 0.698, blue: 0.784)
@@ -11,14 +11,14 @@ public enum KinetixColorsSwiftUI {
11
11
  public static let cardForeground = Color(red: 0.02, green: 0.047, blue: 0.067)
12
12
  public static let popover = Color(red: 1, green: 1, blue: 1)
13
13
  public static let popoverForeground = Color(red: 0.02, green: 0.047, blue: 0.067)
14
- public static let primary = Color(red: 0.106, green: 0.235, blue: 0.325)
14
+ public static let primary = Color(red: 0.114, green: 0.306, blue: 0.847)
15
15
  public static let primaryForeground = Color(red: 0.941, green: 0.969, blue: 1)
16
- public static let secondary = Color(red: 0.945, green: 0.953, blue: 0.945)
17
- public static let secondaryForeground = Color(red: 0.365, green: 0.427, blue: 0.361)
16
+ public static let secondary = Color(red: 0.78, green: 0.812, blue: 0.78)
17
+ public static let secondaryForeground = Color(red: 0.275, green: 0.322, blue: 0.271)
18
18
  public static let muted = Color(red: 0.965, green: 0.965, blue: 0.965)
19
19
  public static let mutedForeground = Color(red: 0.427, green: 0.427, blue: 0.427)
20
20
  public static let accent = Color(red: 0.941, green: 0.969, blue: 1)
21
- public static let accentForeground = Color(red: 0.106, green: 0.235, blue: 0.325)
21
+ public static let accentForeground = Color(red: 0.114, green: 0.306, blue: 0.847)
22
22
  public static let destructive = Color(red: 0.776, green: 0.039, blue: 0.039)
23
23
  public static let destructiveForeground = Color(red: 0.996, green: 0.953, blue: 0.949)
24
24
  public static let success = Color(red: 0.365, green: 0.427, blue: 0.361)
@@ -27,7 +27,7 @@ public enum KinetixColorsSwiftUI {
27
27
  public static let warningForeground = Color(red: 1, green: 0.973, blue: 0.922)
28
28
  public static let border = Color(red: 0.573, green: 0.698, blue: 0.784)
29
29
  public static let input = Color(red: 0.573, green: 0.698, blue: 0.784)
30
- public static let ring = Color(red: 0.106, green: 0.235, blue: 0.325)
30
+ public static let ring = Color(red: 0.114, green: 0.306, blue: 0.847)
31
31
  public static let chart1 = Color(red: 0.106, green: 0.235, blue: 0.325)
32
32
  public static let chart2 = Color(red: 0.455, green: 0.533, blue: 0.451)
33
33
  public static let chart3 = Color(red: 1, green: 0.737, blue: 0.325)
@@ -38,12 +38,12 @@ public enum KinetixColorsSwiftUI {
38
38
  public static let chart8 = Color(red: 0.275, green: 0.322, blue: 0.271)
39
39
  public static let sidebar = Color(red: 0.98, green: 0.98, blue: 0.98)
40
40
  public static let sidebarForeground = Color(red: 0.02, green: 0.047, blue: 0.067)
41
- public static let sidebarPrimary = Color(red: 0.106, green: 0.235, blue: 0.325)
41
+ public static let sidebarPrimary = Color(red: 0.114, green: 0.306, blue: 0.847)
42
42
  public static let sidebarPrimaryForeground = Color(red: 0.941, green: 0.969, blue: 1)
43
43
  public static let sidebarAccent = Color(red: 0.941, green: 0.969, blue: 1)
44
- public static let sidebarAccentForeground = Color(red: 0.106, green: 0.235, blue: 0.325)
44
+ public static let sidebarAccentForeground = Color(red: 0.114, green: 0.306, blue: 0.847)
45
45
  public static let sidebarBorder = Color(red: 0.878, green: 0.878, blue: 0.878)
46
- public static let sidebarRing = Color(red: 0.106, green: 0.235, blue: 0.325)
46
+ public static let sidebarRing = Color(red: 0.114, green: 0.306, blue: 0.847)
47
47
  public static let tertiary = Color(red: 0.69, green: 0.69, blue: 0.69)
48
48
  public static let tertiaryForeground = Color(red: 0.941, green: 0.969, blue: 1)
49
49
  public static let info = Color(red: 0.341, green: 0.467, blue: 0.553)
@@ -10,7 +10,7 @@ import SwiftUI
10
10
 
11
11
  public class KinetixTheme {
12
12
  public static let colorAccent = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'LightBlue' #f0f7ff (the hover fill used by Outline/Ghost buttons) */
13
- public static let colorAccentForeground = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** synth: = primary for readable text on accent */
13
+ public static let colorAccentForeground = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** synth: = primary for readable text on accent (#1d4ed8 on accent #f0f7ff ~5.7:1) */
14
14
  public static let colorBackground = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1) /** figma: surfaceContainerLowest #ffffff */
15
15
  public static let colorBorder = UIColor(red: 0.573, green: 0.698, blue: 0.784, alpha: 1) /** figma: outline #92b2c8 */
16
16
  public static let colorCard = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1) /** synth: no Figma card token; = background */
@@ -33,11 +33,11 @@ public class KinetixTheme {
33
33
  public static let colorMutedForeground = UIColor(red: 0.427, green: 0.427, blue: 0.427, alpha: 1) /** figma: onSurfaceVariant #6d6d6d */
34
34
  public static let colorPopover = UIColor(red: 1.000, green: 1.000, blue: 1.000, alpha: 1) /** synth: no Figma popover token; = background */
35
35
  public static let colorPopoverForeground = UIColor(red: 0.020, green: 0.047, blue: 0.067, alpha: 1) /** synth: = foreground */
36
- public static let colorPrimary = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** figma: 'Primay' (sic) #1b3c53 -> renamed primary */
37
- public static let colorPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground */
38
- public static let colorRing = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1) /** figma: focus state draws a 2px 'Primay' border */
39
- public static let colorSecondary = UIColor(red: 0.945, green: 0.953, blue: 0.945, alpha: 1) /** figma: secondaryContainer #f1f3f1 (our 'secondary' == Figma container role) */
40
- public static let colorSecondaryForeground = UIColor(red: 0.365, green: 0.427, blue: 0.361, alpha: 1) /** figma onSecondaryContainer was green.500 (#748873) = 3.42:1 on secondary (AA-large only); green.600 (#5d6d5c) = 4.95:1 */
36
+ public static let colorPrimary = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** was Figma 'Primay' navy (blue.500 -> blue.700). Swapped for a bright action blue #1d4ed8 (6.55:1 on bg) so primary buttons/links pop rather than reading as near-black. Dark uses a lighter step (#60a5fa) — navy/this hue would fail on the dark surface. */
37
+ public static let colorPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1) /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground (on #1d4ed8 primary ~6:1) */
38
+ public static let colorRing = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1) /** focus ring tracks --primary (#1d4ed8, 6.55:1 on bg) */
39
+ public static let colorSecondary = UIColor(red: 0.780, green: 0.812, blue: 0.780, alpha: 1) /** figma secondaryContainer was green.50 #f1f3f1 (invisible on bg); deepened to green.200 #c7cfc7 so a secondary button/chip clearly stands off the white page — same sage hue */
40
+ public static let colorSecondaryForeground = UIColor(red: 0.275, green: 0.322, blue: 0.271, alpha: 1) /** green.700 #465245 on secondary green.200 #c7cfc7 clears ~5.2:1 */
41
41
  public static let colorSemanticError = UIColor(red: 0.925, green: 0.314, blue: 0.278, alpha: 1) /** figma: error (NOT red.500 #c60a0a — Figma keeps error as its own value) */
42
42
  public static let colorSemanticErrorContainer = UIColor(red: 0.996, green: 0.953, blue: 0.949, alpha: 1) /** figma: errorContainer */
43
43
  public static let colorSemanticInfoContainer = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
@@ -51,12 +51,12 @@ public class KinetixTheme {
51
51
  public static let colorSemanticWarningContainer = UIColor(red: 1.000, green: 0.973, blue: 0.922, alpha: 1) /** figma: warningContainer */
52
52
  public static let colorSidebar = UIColor(red: 0.980, green: 0.980, blue: 0.980, alpha: 1)
53
53
  public static let colorSidebarAccent = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
54
- public static let colorSidebarAccentForeground = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
54
+ public static let colorSidebarAccentForeground = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
55
55
  public static let colorSidebarBorder = UIColor(red: 0.878, green: 0.878, blue: 0.878, alpha: 1)
56
56
  public static let colorSidebarForeground = UIColor(red: 0.020, green: 0.047, blue: 0.067, alpha: 1)
57
- public static let colorSidebarPrimary = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
57
+ public static let colorSidebarPrimary = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
58
58
  public static let colorSidebarPrimaryForeground = UIColor(red: 0.941, green: 0.969, blue: 1.000, alpha: 1)
59
- public static let colorSidebarRing = UIColor(red: 0.106, green: 0.235, blue: 0.325, alpha: 1)
59
+ public static let colorSidebarRing = UIColor(red: 0.114, green: 0.306, blue: 0.847, alpha: 1)
60
60
  public static let colorSuccess = UIColor(red: 0.365, green: 0.427, blue: 0.361, alpha: 1) /** synth: no Figma success token; green ramp step 6 (distinct from secondary) */
61
61
  public static let colorSuccessForeground = UIColor(red: 0.945, green: 0.953, blue: 0.945, alpha: 1) /** synth */
62
62
  public static let colorTertiary = UIColor(red: 0.690, green: 0.690, blue: 0.690, alpha: 1) /** figma: tertiary — switch off-track */
@@ -5,7 +5,7 @@
5
5
  --shadow-md: 0 1px 1px 0 #0000001f, 0 2px 5px 0 #676e7614;
6
6
  --shadow-lg: 0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000f;
7
7
  --shadow-xl: 0 4px 24px 0 #0000001f;
8
- --shadow-focus: 0 0 0 1px #1b3c53, 0 0 0 4px #1b3c5333;
8
+ --shadow-focus: 0 0 0 1px #1d4ed8, 0 0 0 4px #1d4ed833;
9
9
  --shadow-focus-destructive: 0 0 0 1px #ec5047, 0 0 0 4px #ec504733;
10
10
  --shadow-focus-success: 0 0 0 1px #5d6d5c, 0 0 0 4px #5d6d5c33;
11
11
  --shadow-focus-warning: 0 0 0 1px #f97907, 0 0 0 4px #f9790733;
@@ -1,7 +1,7 @@
1
1
  /* Generated by Style Dictionary — shadow + typography composites. */
2
2
 
3
3
  .dark {
4
- --shadow-focus: 0 0 0 1px #92b2c8, 0 0 0 4px #92b2c852;
4
+ --shadow-focus: 0 0 0 1px #60a5fa, 0 0 0 4px #60a5fa52;
5
5
  --shadow-focus-destructive: 0 0 0 1px #dd6a6a, 0 0 0 4px #dd6a6a52;
6
6
  --shadow-focus-success: 0 0 0 1px #90a08f, 0 0 0 4px #90a08f52;
7
7
  --shadow-focus-warning: 0 0 0 1px #ffc975, 0 0 0 4px #ffc97552;
@@ -3,6 +3,21 @@
3
3
  */
4
4
 
5
5
  :root {
6
+ --azure-0: 218 100% 98%;
7
+ --azure-50: 214 100% 97%;
8
+ --azure-100: 214 95% 93%;
9
+ --azure-150: 215 92% 90%;
10
+ --azure-200: 213 97% 87%;
11
+ --azure-300: 212 96% 78%;
12
+ --azure-400: 213 94% 68%;
13
+ --azure-500: 217 91% 60%;
14
+ --azure-600: 221 83% 53%;
15
+ --azure-700: 224 76% 48%;
16
+ --azure-800: 226 71% 40%;
17
+ --azure-850: 226 70% 35%;
18
+ --azure-900: 224 64% 33%;
19
+ --azure-950: 226 57% 21%;
20
+ --azure-1000: 222 47% 11%;
6
21
  --blue-0: 207 100% 98%;
7
22
  --blue-50: 212 100% 97%;
8
23
  --blue-100: 204 33% 68%;
@@ -184,14 +199,14 @@
184
199
  --card-foreground: var(--blue-900); /** synth: = foreground */
185
200
  --popover: var(--neutral-0); /** synth: no Figma popover token; = background */
186
201
  --popover-foreground: var(--blue-900); /** synth: = foreground */
187
- --primary: var(--blue-500); /** figma: 'Primay' (sic) #1b3c53 -> renamed primary */
188
- --primary-foreground: var(--blue-50); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground */
189
- --secondary: var(--green-50); /** figma: secondaryContainer #f1f3f1 (our 'secondary' == Figma container role) */
190
- --secondary-foreground: var(--green-600); /** figma onSecondaryContainer was green.500 (#748873) = 3.42:1 on secondary (AA-large only); green.600 (#5d6d5c) = 4.95:1 */
202
+ --primary: var(--azure-700); /** was Figma 'Primay' navy (blue.500 -> blue.700). Swapped for a bright action blue #1d4ed8 (6.55:1 on bg) so primary buttons/links pop rather than reading as near-black. Dark uses a lighter step (#60a5fa) — navy/this hue would fail on the dark surface. */
203
+ --primary-foreground: var(--blue-50); /** figma: 'On Primary' #f0f7ff -> renamed primary-foreground (on #1d4ed8 primary ~6:1) */
204
+ --secondary: var(--green-200); /** figma secondaryContainer was green.50 #f1f3f1 (invisible on bg); deepened to green.200 #c7cfc7 so a secondary button/chip clearly stands off the white page — same sage hue */
205
+ --secondary-foreground: var(--green-700); /** green.700 #465245 on secondary green.200 #c7cfc7 clears ~5.2:1 */
191
206
  --muted: var(--neutral-100); /** figma: surfaceContainer #f6f6f6 */
192
207
  --muted-foreground: var(--neutral-600); /** figma: onSurfaceVariant #6d6d6d */
193
208
  --accent: var(--blue-50); /** figma: 'LightBlue' #f0f7ff (the hover fill used by Outline/Ghost buttons) */
194
- --accent-foreground: var(--blue-500); /** synth: = primary for readable text on accent */
209
+ --accent-foreground: var(--azure-700); /** synth: = primary for readable text on accent (#1d4ed8 on accent #f0f7ff ~5.7:1) */
195
210
  --destructive: var(--red-500); /** a11y: figma error #ec5047 is 3.33:1 under on-error / 3.62:1 as text on the page — fails WCAG AA. red.500 #c60a0a clears 5.6:1 / 6.1:1. See ACCESSIBILITY-AUDIT.md. */
196
211
  --destructive-foreground: var(--semantic-on-error); /** figma: onError #fef3f2 */
197
212
  --success: var(--green-600); /** synth: no Figma success token; green ramp step 6 (distinct from secondary) */
@@ -200,7 +215,7 @@
200
215
  --warning-foreground: var(--semantic-warning-container); /** figma: warningContainer #fff8eb */
201
216
  --border: var(--blue-100); /** figma: outline #92b2c8 */
202
217
  --input: var(--blue-100); /** figma: outline #92b2c8 (same as border) */
203
- --ring: var(--blue-500); /** figma: focus state draws a 2px 'Primay' border */
218
+ --ring: var(--azure-700); /** focus ring tracks --primary (#1d4ed8, 6.55:1 on bg) */
204
219
  --chart-1: var(--blue-500); /** synth: brand ramps for data viz */
205
220
  --chart-2: var(--green-500);
206
221
  --chart-3: var(--amber-500);
@@ -211,12 +226,12 @@
211
226
  --chart-8: var(--green-700); /** synth: 8th data-viz hue — deep green, distinct from chart-2 */
212
227
  --sidebar: var(--neutral-50);
213
228
  --sidebar-foreground: var(--blue-900);
214
- --sidebar-primary: var(--blue-500);
229
+ --sidebar-primary: var(--azure-700);
215
230
  --sidebar-primary-foreground: var(--blue-50);
216
231
  --sidebar-accent: var(--blue-50);
217
- --sidebar-accent-foreground: var(--blue-500);
232
+ --sidebar-accent-foreground: var(--azure-700);
218
233
  --sidebar-border: var(--neutral-300);
219
- --sidebar-ring: var(--blue-500);
234
+ --sidebar-ring: var(--azure-700);
220
235
  --tertiary-foreground: var(--blue-50);
221
236
  --info: var(--blue-300); /** synth: steel blue, distinct from navy primary */
222
237
  --info-foreground: var(--blue-50);
@@ -9,8 +9,8 @@
9
9
  --card-foreground: 212 100% 97%;
10
10
  --popover: 205 50% 9%;
11
11
  --popover-foreground: 212 100% 97%;
12
- --primary: 204 33% 68%;
13
- --primary-foreground: 205 55% 4%;
12
+ --primary: 213 94% 68%; /** light-theme primary is a bright #1d4ed8; on the near-black dark surface that would be ~2.9:1, so dark uses a lighter step of the same blue (#60a5fa, ~7.6:1 on bg). Two independent palettes — this is not a flip of the light value. */
13
+ --primary-foreground: 205 55% 4%; /** near-black text on the light-blue dark --primary (~7:1) */
14
14
  --secondary: 120 8% 20%;
15
15
  --secondary-foreground: 120 8% 90%;
16
16
  --muted: 205 52% 13%;
@@ -25,7 +25,7 @@
25
25
  --warning-foreground: 37 100% 8%;
26
26
  --border: 204 33% 33%;
27
27
  --input: 204 33% 33%;
28
- --ring: 204 33% 68%;
28
+ --ring: 213 94% 68%; /** focus ring — tracks dark --primary (#60a5fa) */
29
29
  --chart-1: 204 33% 68%;
30
30
  --chart-2: 116 8% 59%;
31
31
  --chart-3: 37 100% 73%;
@@ -36,12 +36,12 @@
36
36
  --chart-8: 117 8% 49%;
37
37
  --sidebar: 205 50% 9%;
38
38
  --sidebar-foreground: 212 100% 97%;
39
- --sidebar-primary: 204 33% 68%;
39
+ --sidebar-primary: 213 94% 68%;
40
40
  --sidebar-primary-foreground: 205 55% 4%;
41
41
  --sidebar-accent: 205 52% 13%;
42
42
  --sidebar-accent-foreground: 212 100% 97%;
43
43
  --sidebar-border: 204 33% 33%;
44
- --sidebar-ring: 204 33% 68%;
44
+ --sidebar-ring: 213 94% 68%;
45
45
  --tertiary: 204 33% 33%;
46
46
  --tertiary-foreground: 212 100% 97%;
47
47
  --info: 204 33% 68%;
@@ -1,6 +1,23 @@
1
1
  // Generated by pnpm build:tokens — do not edit.
2
2
  declare const tokens: {
3
3
  "color": {
4
+ "azure": {
5
+ "0": "#f7faff",
6
+ "50": "#eff6ff",
7
+ "100": "#dbeafe",
8
+ "150": "#cde1fd",
9
+ "200": "#bfdbfe",
10
+ "300": "#93c5fd",
11
+ "400": "#60a5fa",
12
+ "500": "#3b82f6",
13
+ "600": "#2563eb",
14
+ "700": "#1d4ed8",
15
+ "800": "#1e40af",
16
+ "850": "#1b3897",
17
+ "900": "#1e3a8a",
18
+ "950": "#172554",
19
+ "1000": "#0f172a"
20
+ },
4
21
  "blue": {
5
22
  "0": "#f6fbff",
6
23
  "50": "#f0f7ff",
@@ -127,14 +144,14 @@ declare const tokens: {
127
144
  "card-foreground": "#050c11",
128
145
  "popover": "#ffffff",
129
146
  "popover-foreground": "#050c11",
130
- "primary": "#1b3c53",
147
+ "primary": "#1d4ed8",
131
148
  "primary-foreground": "#f0f7ff",
132
- "secondary": "#f1f3f1",
133
- "secondary-foreground": "#5d6d5c",
149
+ "secondary": "#c7cfc7",
150
+ "secondary-foreground": "#465245",
134
151
  "muted": "#f6f6f6",
135
152
  "muted-foreground": "#6d6d6d",
136
153
  "accent": "#f0f7ff",
137
- "accent-foreground": "#1b3c53",
154
+ "accent-foreground": "#1d4ed8",
138
155
  "destructive": "#c60a0a",
139
156
  "destructive-foreground": "#fef3f2",
140
157
  "success": "#5d6d5c",
@@ -143,7 +160,7 @@ declare const tokens: {
143
160
  "warning-foreground": "#fff8eb",
144
161
  "border": "#92b2c8",
145
162
  "input": "#92b2c8",
146
- "ring": "#1b3c53",
163
+ "ring": "#1d4ed8",
147
164
  "semantic": {
148
165
  "error": "#ec5047",
149
166
  "on-error": "#fef3f2",
@@ -167,12 +184,12 @@ declare const tokens: {
167
184
  "chart-8": "#465245",
168
185
  "sidebar": "#fafafa",
169
186
  "sidebar-foreground": "#050c11",
170
- "sidebar-primary": "#1b3c53",
187
+ "sidebar-primary": "#1d4ed8",
171
188
  "sidebar-primary-foreground": "#f0f7ff",
172
189
  "sidebar-accent": "#f0f7ff",
173
- "sidebar-accent-foreground": "#1b3c53",
190
+ "sidebar-accent-foreground": "#1d4ed8",
174
191
  "sidebar-border": "#e0e0e0",
175
- "sidebar-ring": "#1b3c53",
192
+ "sidebar-ring": "#1d4ed8",
176
193
  "tertiary": "#b0b0b0",
177
194
  "tertiary-foreground": "#f0f7ff",
178
195
  "info": "#57778d",
@@ -308,14 +325,14 @@ declare const tokens: {
308
325
  ],
309
326
  "focus": [
310
327
  {
311
- "color": "#1b3c53",
328
+ "color": "#1d4ed8",
312
329
  "offsetX": "0",
313
330
  "offsetY": "0",
314
331
  "blur": "0",
315
332
  "spread": "1"
316
333
  },
317
334
  {
318
- "color": "#1b3c5333",
335
+ "color": "#1d4ed833",
319
336
  "offsetX": "0",
320
337
  "offsetY": "0",
321
338
  "blur": "0",
@@ -1,6 +1,23 @@
1
1
  // Generated by pnpm build:tokens — do not edit.
2
2
  export const tokens = {
3
3
  "color": {
4
+ "azure": {
5
+ "0": "#f7faff",
6
+ "50": "#eff6ff",
7
+ "100": "#dbeafe",
8
+ "150": "#cde1fd",
9
+ "200": "#bfdbfe",
10
+ "300": "#93c5fd",
11
+ "400": "#60a5fa",
12
+ "500": "#3b82f6",
13
+ "600": "#2563eb",
14
+ "700": "#1d4ed8",
15
+ "800": "#1e40af",
16
+ "850": "#1b3897",
17
+ "900": "#1e3a8a",
18
+ "950": "#172554",
19
+ "1000": "#0f172a"
20
+ },
4
21
  "blue": {
5
22
  "0": "#f6fbff",
6
23
  "50": "#f0f7ff",
@@ -127,14 +144,14 @@ export const tokens = {
127
144
  "card-foreground": "#050c11",
128
145
  "popover": "#ffffff",
129
146
  "popover-foreground": "#050c11",
130
- "primary": "#1b3c53",
147
+ "primary": "#1d4ed8",
131
148
  "primary-foreground": "#f0f7ff",
132
- "secondary": "#f1f3f1",
133
- "secondary-foreground": "#5d6d5c",
149
+ "secondary": "#c7cfc7",
150
+ "secondary-foreground": "#465245",
134
151
  "muted": "#f6f6f6",
135
152
  "muted-foreground": "#6d6d6d",
136
153
  "accent": "#f0f7ff",
137
- "accent-foreground": "#1b3c53",
154
+ "accent-foreground": "#1d4ed8",
138
155
  "destructive": "#c60a0a",
139
156
  "destructive-foreground": "#fef3f2",
140
157
  "success": "#5d6d5c",
@@ -143,7 +160,7 @@ export const tokens = {
143
160
  "warning-foreground": "#fff8eb",
144
161
  "border": "#92b2c8",
145
162
  "input": "#92b2c8",
146
- "ring": "#1b3c53",
163
+ "ring": "#1d4ed8",
147
164
  "semantic": {
148
165
  "error": "#ec5047",
149
166
  "on-error": "#fef3f2",
@@ -167,12 +184,12 @@ export const tokens = {
167
184
  "chart-8": "#465245",
168
185
  "sidebar": "#fafafa",
169
186
  "sidebar-foreground": "#050c11",
170
- "sidebar-primary": "#1b3c53",
187
+ "sidebar-primary": "#1d4ed8",
171
188
  "sidebar-primary-foreground": "#f0f7ff",
172
189
  "sidebar-accent": "#f0f7ff",
173
- "sidebar-accent-foreground": "#1b3c53",
190
+ "sidebar-accent-foreground": "#1d4ed8",
174
191
  "sidebar-border": "#e0e0e0",
175
- "sidebar-ring": "#1b3c53",
192
+ "sidebar-ring": "#1d4ed8",
176
193
  "tertiary": "#b0b0b0",
177
194
  "tertiary-foreground": "#f0f7ff",
178
195
  "info": "#57778d",
@@ -308,14 +325,14 @@ export const tokens = {
308
325
  ],
309
326
  "focus": [
310
327
  {
311
- "color": "#1b3c53",
328
+ "color": "#1d4ed8",
312
329
  "offsetX": "0",
313
330
  "offsetY": "0",
314
331
  "blur": "0",
315
332
  "spread": "1"
316
333
  },
317
334
  {
318
- "color": "#1b3c5333",
335
+ "color": "#1d4ed833",
319
336
  "offsetX": "0",
320
337
  "offsetY": "0",
321
338
  "blur": "0",
@@ -2,6 +2,23 @@
2
2
 
3
3
  export const tokens = {
4
4
  "color": {
5
+ "azure": {
6
+ "0": "#f7faff",
7
+ "50": "#eff6ff",
8
+ "100": "#dbeafe",
9
+ "150": "#cde1fd",
10
+ "200": "#bfdbfe",
11
+ "300": "#93c5fd",
12
+ "400": "#60a5fa",
13
+ "500": "#3b82f6",
14
+ "600": "#2563eb",
15
+ "700": "#1d4ed8",
16
+ "800": "#1e40af",
17
+ "850": "#1b3897",
18
+ "900": "#1e3a8a",
19
+ "950": "#172554",
20
+ "1000": "#0f172a"
21
+ },
5
22
  "blue": {
6
23
  "0": "#f6fbff",
7
24
  "50": "#f0f7ff",
@@ -128,14 +145,14 @@ export const tokens = {
128
145
  "card-foreground": "#050c11",
129
146
  "popover": "#ffffff",
130
147
  "popover-foreground": "#050c11",
131
- "primary": "#1b3c53",
148
+ "primary": "#1d4ed8",
132
149
  "primary-foreground": "#f0f7ff",
133
- "secondary": "#f1f3f1",
134
- "secondary-foreground": "#5d6d5c",
150
+ "secondary": "#c7cfc7",
151
+ "secondary-foreground": "#465245",
135
152
  "muted": "#f6f6f6",
136
153
  "muted-foreground": "#6d6d6d",
137
154
  "accent": "#f0f7ff",
138
- "accent-foreground": "#1b3c53",
155
+ "accent-foreground": "#1d4ed8",
139
156
  "destructive": "#c60a0a",
140
157
  "destructive-foreground": "#fef3f2",
141
158
  "success": "#5d6d5c",
@@ -144,7 +161,7 @@ export const tokens = {
144
161
  "warning-foreground": "#fff8eb",
145
162
  "border": "#92b2c8",
146
163
  "input": "#92b2c8",
147
- "ring": "#1b3c53",
164
+ "ring": "#1d4ed8",
148
165
  "semantic": {
149
166
  "error": "#ec5047",
150
167
  "on-error": "#fef3f2",
@@ -168,12 +185,12 @@ export const tokens = {
168
185
  "chart-8": "#465245",
169
186
  "sidebar": "#fafafa",
170
187
  "sidebar-foreground": "#050c11",
171
- "sidebar-primary": "#1b3c53",
188
+ "sidebar-primary": "#1d4ed8",
172
189
  "sidebar-primary-foreground": "#f0f7ff",
173
190
  "sidebar-accent": "#f0f7ff",
174
- "sidebar-accent-foreground": "#1b3c53",
191
+ "sidebar-accent-foreground": "#1d4ed8",
175
192
  "sidebar-border": "#e0e0e0",
176
- "sidebar-ring": "#1b3c53",
193
+ "sidebar-ring": "#1d4ed8",
177
194
  "tertiary": "#b0b0b0",
178
195
  "tertiary-foreground": "#f0f7ff",
179
196
  "info": "#57778d",
@@ -309,14 +326,14 @@ export const tokens = {
309
326
  ],
310
327
  "focus": [
311
328
  {
312
- "color": "#1b3c53",
329
+ "color": "#1d4ed8",
313
330
  "offsetX": "0",
314
331
  "offsetY": "0",
315
332
  "blur": "0",
316
333
  "spread": "1"
317
334
  },
318
335
  {
319
- "color": "#1b3c5333",
336
+ "color": "#1d4ed833",
320
337
  "offsetX": "0",
321
338
  "offsetY": "0",
322
339
  "blur": "0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kinetixui/tokens",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "KinetixUI design tokens — CSS variables, a TypeScript object, and native SwiftUI / Jetpack Compose / Flutter text styles, compiled by Style Dictionary.",
5
5
  "keywords": [
6
6
  "design-tokens",