@texturehq/edges 1.22.4 → 1.23.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.
package/dist/styles.css CHANGED
@@ -157,39 +157,51 @@
157
157
  --color-action-default-hover: #4b5563;
158
158
  --color-action-default-text: #ffffff;
159
159
  --color-state-charging: #f3e8ff;
160
+ --color-state-charging-data: #d9b6fd;
160
161
  --color-state-charging-border: #c084fc;
161
162
  --color-state-charging-text: #6b21a8;
162
163
  --color-state-discharging: #fffbeb;
164
+ --color-state-discharging-data: #fce380;
163
165
  --color-state-discharging-border: #facc15;
164
166
  --color-state-discharging-text: #78350f;
165
167
  --color-state-heat: #fee2e2;
168
+ --color-state-heat-data: #fba9a9;
166
169
  --color-state-heat-border: #f87171;
167
170
  --color-state-heat-text: #920000;
168
171
  --color-state-cool: #dbeafe;
172
+ --color-state-cool-data: #9dc7fc;
169
173
  --color-state-cool-border: #60a5fa;
170
174
  --color-state-cool-text: #0334be;
171
175
  --color-state-eco: #ddfff1;
176
+ --color-state-eco-data: #88e9c5;
172
177
  --color-state-eco-border: #34d399;
173
178
  --color-state-eco-text: #065f46;
174
179
  --color-state-auto: #ffedd5;
180
+ --color-state-auto-data: #fed3a4;
175
181
  --color-state-auto-border: #fdba74;
176
182
  --color-state-auto-text: #7c2d12;
177
183
  --color-state-on: #ccfbf1;
184
+ --color-state-on-data: #7ce7d8;
178
185
  --color-state-on-border: #2dd4bf;
179
186
  --color-state-on-text: #0f766e;
180
187
  --color-state-idle: #e5e7eb;
188
+ --color-state-idle-data: #c0c5cd;
181
189
  --color-state-idle-border: #9ca3af;
182
190
  --color-state-idle-text: #374151;
183
191
  --color-state-off: #e5e7eb;
192
+ --color-state-off-data: #c0c5cd;
184
193
  --color-state-off-border: #9ca3af;
185
194
  --color-state-off-text: #374151;
186
195
  --color-state-unknown: #f8f8f8;
196
+ --color-state-unknown-data: #e4e6e9;
187
197
  --color-state-unknown-border: #d1d5db;
188
198
  --color-state-unknown-text: #000000;
189
199
  --color-state-importing: #dbeafe;
200
+ --color-state-importing-data: #8bb6fa;
190
201
  --color-state-importing-border: #3b82f6;
191
202
  --color-state-importing-text: #1e40af;
192
203
  --color-state-exporting: #fef3c7;
204
+ --color-state-exporting-data: #f9c869;
193
205
  --color-state-exporting-border: #f59e0b;
194
206
  --color-state-exporting-text: #92400e;
195
207
  --color-viz-default: #0082ff;
@@ -536,39 +548,51 @@
536
548
  --color-action-default-hover: #ffffff;
537
549
  --color-action-default-text: #111827;
538
550
  --color-state-charging: #581c87;
551
+ --color-state-charging-data: #8038bf;
539
552
  --color-state-charging-border: #a855f7;
540
553
  --color-state-charging-text: #e9d5ff;
541
554
  --color-state-discharging: #78350f;
555
+ --color-state-discharging-data: #b1740b;
542
556
  --color-state-discharging-border: #eab308;
543
557
  --color-state-discharging-text: #fef3c7;
544
558
  --color-state-heat: #7f1d1d;
559
+ --color-state-heat-data: #b73030;
545
560
  --color-state-heat-border: #ef4444;
546
561
  --color-state-heat-text: #fee2e2;
547
562
  --color-state-cool: #1e3a8a;
563
+ --color-state-cool-data: #2c5ec0;
548
564
  --color-state-cool-border: #3b82f6;
549
565
  --color-state-cool-text: #dbeafe;
550
566
  --color-state-eco: #064e3b;
567
+ --color-state-eco-data: #0b835e;
551
568
  --color-state-eco-border: #10b981;
552
569
  --color-state-eco-text: #d1fae5;
553
570
  --color-state-auto: #7c2d12;
571
+ --color-state-auto-data: #bb5f27;
554
572
  --color-state-auto-border: #fb923c;
555
573
  --color-state-auto-text: #ffedd5;
556
574
  --color-state-on: #134e4a;
575
+ --color-state-on-data: #138378;
557
576
  --color-state-on-border: #14b8a6;
558
577
  --color-state-on-text: #ccfbf1;
559
578
  --color-state-idle: #374151;
579
+ --color-state-idle-data: #515968;
560
580
  --color-state-idle-border: #6b7280;
561
581
  --color-state-idle-text: #e5e7eb;
562
582
  --color-state-off: #374151;
583
+ --color-state-off-data: #515968;
563
584
  --color-state-off-border: #6b7280;
564
585
  --color-state-off-text: #e5e7eb;
565
586
  --color-state-unknown: #1f2937;
587
+ --color-state-unknown-data: #454d5b;
566
588
  --color-state-unknown-border: #6b7280;
567
589
  --color-state-unknown-text: #ffffff;
568
590
  --color-state-importing: #1e3a8a;
591
+ --color-state-importing-data: #3f6fc2;
569
592
  --color-state-importing-border: #60a5fa;
570
593
  --color-state-importing-text: #dbeafe;
571
594
  --color-state-exporting: #78350f;
595
+ --color-state-exporting-data: #b97a19;
572
596
  --color-state-exporting-border: #fbbf24;
573
597
  --color-state-exporting-text: #fef3c7;
574
598
  --color-map-streets-border: #ffffff;
@@ -773,6 +797,18 @@
773
797
  --color-viz-diverging-red-blue-8: #7080b5;
774
798
  --color-viz-diverging-red-blue-9: #4d5e99;
775
799
  --color-viz-diverging-red-blue-10: #2b3d70;
800
+ --color-state-charging-data: #d9b6fd;
801
+ --color-state-discharging-data: #fce380;
802
+ --color-state-heat-data: #fba9a9;
803
+ --color-state-cool-data: #9dc7fc;
804
+ --color-state-eco-data: #88e9c5;
805
+ --color-state-auto-data: #fed3a4;
806
+ --color-state-on-data: #7ce7d8;
807
+ --color-state-idle-data: #c0c5cd;
808
+ --color-state-off-data: #c0c5cd;
809
+ --color-state-unknown-data: #e4e6e9;
810
+ --color-state-importing-data: #8bb6fa;
811
+ --color-state-exporting-data: #f9c869;
776
812
  }
777
813
  .theme-dark {
778
814
  --color-viz-default: #4da6ff;
@@ -872,6 +908,18 @@
872
908
  --color-viz-diverging-red-blue-8: #8494ca;
873
909
  --color-viz-diverging-red-blue-9: #5d6fb0;
874
910
  --color-viz-diverging-red-blue-10: #374f88;
911
+ --color-state-charging-data: #8038bf;
912
+ --color-state-discharging-data: #b1740b;
913
+ --color-state-heat-data: #b73030;
914
+ --color-state-cool-data: #2c5ec0;
915
+ --color-state-eco-data: #0b835e;
916
+ --color-state-auto-data: #bb5f27;
917
+ --color-state-on-data: #138378;
918
+ --color-state-idle-data: #515968;
919
+ --color-state-off-data: #515968;
920
+ --color-state-unknown-data: #454d5b;
921
+ --color-state-importing-data: #3f6fc2;
922
+ --color-state-exporting-data: #b97a19;
875
923
  }
876
924
  @keyframes wave {
877
925
  0% {
@@ -1880,6 +1928,9 @@
1880
1928
  .min-h-\[400px\] {
1881
1929
  min-height: 400px;
1882
1930
  }
1931
+ .min-h-\[500px\] {
1932
+ min-height: 500px;
1933
+ }
1883
1934
  .min-h-screen {
1884
1935
  min-height: 100vh;
1885
1936
  }
@@ -2049,27 +2100,18 @@
2049
2100
  .max-w-\[200px\] {
2050
2101
  max-width: 200px;
2051
2102
  }
2052
- .max-w-\[220px\] {
2053
- max-width: 220px;
2054
- }
2055
- .max-w-\[240px\] {
2056
- max-width: 240px;
2057
- }
2058
2103
  .max-w-\[250px\] {
2059
2104
  max-width: 250px;
2060
2105
  }
2061
- .max-w-\[260px\] {
2062
- max-width: 260px;
2063
- }
2064
- .max-w-\[280px\] {
2065
- max-width: 280px;
2066
- }
2067
2106
  .max-w-\[300px\] {
2068
2107
  max-width: 300px;
2069
2108
  }
2070
2109
  .max-w-\[350px\] {
2071
2110
  max-width: 350px;
2072
2111
  }
2112
+ .max-w-\[360px\] {
2113
+ max-width: 360px;
2114
+ }
2073
2115
  .max-w-\[400px\] {
2074
2116
  max-width: 400px;
2075
2117
  }
@@ -2149,6 +2191,9 @@
2149
2191
  .min-w-\[208px\] {
2150
2192
  min-width: 208px;
2151
2193
  }
2194
+ .min-w-\[260px\] {
2195
+ min-width: 260px;
2196
+ }
2152
2197
  .min-w-\[400px\] {
2153
2198
  min-width: 400px;
2154
2199
  }
@@ -2473,6 +2518,9 @@
2473
2518
  .gap-16 {
2474
2519
  gap: var(--spacing-16);
2475
2520
  }
2521
+ .gap-24 {
2522
+ gap: var(--spacing-24);
2523
+ }
2476
2524
  .gap-\[var\(--control-gap-lg\)\] {
2477
2525
  gap: var(--control-gap-lg);
2478
2526
  }
@@ -3076,12 +3124,6 @@
3076
3124
  background-color: color-mix(in oklab, var(--color-background-muted) 30%, transparent);
3077
3125
  }
3078
3126
  }
3079
- .bg-background-muted\/60 {
3080
- background-color: color-mix(in srgb, #f3f4f6 60%, transparent);
3081
- @supports (color: color-mix(in lab, red, red)) {
3082
- background-color: color-mix(in oklab, var(--color-background-muted) 60%, transparent);
3083
- }
3084
- }
3085
3127
  .bg-background-selected {
3086
3128
  background-color: var(--color-background-selected);
3087
3129
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.22.4",
3
- "generatedAt": "2025-11-23T02:40:31.310Z",
2
+ "version": "1.23.0",
3
+ "generatedAt": "2025-11-24T01:13:46.627Z",
4
4
  "categories": {
5
5
  "hooks": {
6
6
  "description": "React hooks for common functionality like breakpoints, debouncing, local storage, and media queries",
@@ -1016,13 +1016,6 @@
1016
1016
  "category": "charts",
1017
1017
  "file": "utils/chartExport.ts"
1018
1018
  },
1019
- {
1020
- "name": "getResolvedColor",
1021
- "type": "function",
1022
- "description": "",
1023
- "category": "charts",
1024
- "file": "utils/charts.ts"
1025
- },
1026
1019
  {
1027
1020
  "name": "getYFormatSettings",
1028
1021
  "type": "function",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@texturehq/edges",
3
- "version": "1.22.4",
3
+ "version": "1.23.0",
4
4
  "author": "Nicholas Brown <nick@texturehq.com>",
5
5
  "description": "A shared component library for Texture",
6
6
  "type": "module",
@@ -57,6 +57,7 @@
57
57
  "lint": "biome check src/",
58
58
  "lint:quiet": "biome check --reporter=github src/",
59
59
  "lint:fix": "biome check --write src/",
60
+ "typecheck": "tsc --noEmit -p tsconfig.prod.json",
60
61
  "format": "biome format --write src/",
61
62
  "format:check": "biome format src/",
62
63
  "test": "vitest run",
@@ -18,9 +18,11 @@ const OUTPUT_FILE = path.join(GENERATED_DIR, "viz-runtime.css");
18
18
 
19
19
  /**
20
20
  * Extract viz color variables from a CSS file
21
+ * Includes both --color-viz-* and --color-state-*-data variables
21
22
  */
22
23
  function extractVizColors(cssContent) {
23
24
  const vizColorRegex = /^\s*(--color-viz-[^:]+:\s*[^;]+;)\s*$/gm;
25
+ const stateDataColorRegex = /^\s*(--color-state-[^:]*-data:\s*[^;]+;)\s*$/gm;
24
26
  const matches = [];
25
27
  let match;
26
28
 
@@ -28,6 +30,13 @@ function extractVizColors(cssContent) {
28
30
  matches.push(match[1]);
29
31
  }
30
32
 
33
+ // Reset regex state
34
+ stateDataColorRegex.lastIndex = 0;
35
+
36
+ while ((match = stateDataColorRegex.exec(cssContent)) !== null) {
37
+ matches.push(match[1]);
38
+ }
39
+
31
40
  return matches;
32
41
  }
33
42
 
@@ -60,6 +69,10 @@ function generateVizRuntime() {
60
69
  * WORKAROUND: These variables are defined here instead of in tailwind-tokens-*.css
61
70
  * because Tailwind 4's @theme directive filters them out (similar issue as data-* prefix).
62
71
  *
72
+ * Includes:
73
+ * - Generic viz colors (--color-viz-*)
74
+ * - Device state data viz colors (--color-state-*-data)
75
+ *
63
76
  * AUTO-GENERATED by scripts/generate-viz-runtime.js
64
77
  * DO NOT EDIT MANUALLY - Edit theme-specific viz colors in:
65
78
  * - tokens/themes/light.json (light mode viz colors)