@texturehq/edges 1.30.6 → 1.31.1

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.
@@ -883,6 +883,12 @@ interface BaseLayerSpec {
883
883
  trigger: "hover" | "click";
884
884
  /** Tooltip content - can be a function or static ReactNode */
885
885
  content: ((feature: LayerFeature) => React.ReactNode) | React.ReactNode;
886
+ /**
887
+ * Render the tooltip content directly without the default popup chrome
888
+ * (padding / background / border / shadow / tip arrow). Use this when
889
+ * the content brings its own card styling. Default `false`.
890
+ */
891
+ bare?: boolean;
886
892
  };
887
893
  }
888
894
  /**
@@ -1007,6 +1013,13 @@ interface ClusteredVectorLayerSpec extends Omit<BaseLayerSpec, "tooltip"> {
1007
1013
  cluster?: (count: number, feature: LayerFeature) => React.ReactNode;
1008
1014
  /** Tooltip content for individual points */
1009
1015
  point?: (feature: LayerFeature) => React.ReactNode;
1016
+ /**
1017
+ * Render the tooltip content directly without the default popup chrome
1018
+ * (padding / background / border / shadow / tip arrow). Use this when
1019
+ * the content brings its own card styling. Default `false` preserves
1020
+ * existing dashboards.
1021
+ */
1022
+ bare?: boolean;
1010
1023
  };
1011
1024
  /** Style overrides for cluster circles (optional, uses design system defaults) */
1012
1025
  clusterStyle?: {
@@ -883,6 +883,12 @@ interface BaseLayerSpec {
883
883
  trigger: "hover" | "click";
884
884
  /** Tooltip content - can be a function or static ReactNode */
885
885
  content: ((feature: LayerFeature) => React.ReactNode) | React.ReactNode;
886
+ /**
887
+ * Render the tooltip content directly without the default popup chrome
888
+ * (padding / background / border / shadow / tip arrow). Use this when
889
+ * the content brings its own card styling. Default `false`.
890
+ */
891
+ bare?: boolean;
886
892
  };
887
893
  }
888
894
  /**
@@ -1007,6 +1013,13 @@ interface ClusteredVectorLayerSpec extends Omit<BaseLayerSpec, "tooltip"> {
1007
1013
  cluster?: (count: number, feature: LayerFeature) => React.ReactNode;
1008
1014
  /** Tooltip content for individual points */
1009
1015
  point?: (feature: LayerFeature) => React.ReactNode;
1016
+ /**
1017
+ * Render the tooltip content directly without the default popup chrome
1018
+ * (padding / background / border / shadow / tip arrow). Use this when
1019
+ * the content brings its own card styling. Default `false` preserves
1020
+ * existing dashboards.
1021
+ */
1022
+ bare?: boolean;
1010
1023
  };
1011
1024
  /** Style overrides for cluster circles (optional, uses design system defaults) */
1012
1025
  clusterStyle?: {
@@ -199,6 +199,70 @@
199
199
  --skeleton-base: #e5e7eb;
200
200
  --skeleton-highlight: #f3f4f6;
201
201
  --skeleton-wave: rgba(255, 255, 255, 0.5);
202
+ --text-display-xl-size: 6rem;
203
+ --text-display-xl-line-height: 1;
204
+ --text-display-xl-letter-spacing: 0;
205
+ --text-display-xl-weight: 500;
206
+ --text-display-lg-size: 4.5rem;
207
+ --text-display-lg-line-height: 1;
208
+ --text-display-lg-letter-spacing: 0;
209
+ --text-display-lg-weight: 500;
210
+ --text-display-md-size: 3rem;
211
+ --text-display-md-line-height: 1.05;
212
+ --text-display-md-letter-spacing: 0;
213
+ --text-display-md-weight: 500;
214
+ --text-heading-xl-size: 2.25rem;
215
+ --text-heading-xl-line-height: 1.1;
216
+ --text-heading-xl-letter-spacing: 0;
217
+ --text-heading-xl-weight: 500;
218
+ --text-heading-lg-size: 1.875rem;
219
+ --text-heading-lg-line-height: 1.15;
220
+ --text-heading-lg-letter-spacing: 0;
221
+ --text-heading-lg-weight: 500;
222
+ --text-heading-md-size: 1.5rem;
223
+ --text-heading-md-line-height: 1.2;
224
+ --text-heading-md-letter-spacing: 0;
225
+ --text-heading-md-weight: 600;
226
+ --text-heading-sm-size: 1.25rem;
227
+ --text-heading-sm-line-height: 1.25;
228
+ --text-heading-sm-letter-spacing: 0;
229
+ --text-heading-sm-weight: 600;
230
+ --text-body-lg-size: 1.125rem;
231
+ --text-body-lg-line-height: 1.55;
232
+ --text-body-lg-letter-spacing: 0;
233
+ --text-body-lg-weight: 400;
234
+ --text-body-md-size: 1rem;
235
+ --text-body-md-line-height: 1.5;
236
+ --text-body-md-letter-spacing: 0;
237
+ --text-body-md-weight: 400;
238
+ --text-body-sm-size: 0.875rem;
239
+ --text-body-sm-line-height: 1.55;
240
+ --text-body-sm-letter-spacing: 0;
241
+ --text-body-sm-weight: 400;
242
+ --text-label-lg-size: 1rem;
243
+ --text-label-lg-line-height: 1.4;
244
+ --text-label-lg-letter-spacing: 0;
245
+ --text-label-lg-weight: 500;
246
+ --text-label-md-size: 0.875rem;
247
+ --text-label-md-line-height: 1.4;
248
+ --text-label-md-letter-spacing: 0;
249
+ --text-label-md-weight: 500;
250
+ --text-label-sm-size: 0.8125rem;
251
+ --text-label-sm-line-height: 1.4;
252
+ --text-label-sm-letter-spacing: 0;
253
+ --text-label-sm-weight: 500;
254
+ --text-caption-size: 0.8125rem;
255
+ --text-caption-line-height: 1.4;
256
+ --text-caption-letter-spacing: 0;
257
+ --text-caption-weight: 400;
258
+ --text-code-size: 0.875rem;
259
+ --text-code-line-height: 1.5;
260
+ --text-code-letter-spacing: 0;
261
+ --text-code-weight: 400;
262
+ --text-eyebrow-size: 0.6875rem;
263
+ --text-eyebrow-line-height: 1.4;
264
+ --text-eyebrow-letter-spacing: 0.1em;
265
+ --text-eyebrow-weight: 600;
202
266
  --color-background-body: #ffffff;
203
267
  --color-background-surface: #ffffff;
204
268
  --color-background-muted: #f3f4f6;
@@ -428,6 +492,54 @@
428
492
  --color-map-neutral-border: var(--color-black);
429
493
  --skeleton-base: var(--color-gray-200);
430
494
  --skeleton-highlight: var(--color-gray-100);
495
+ --text-display-xl-size: var(--font-size-8xl);
496
+ --text-display-xl-letter-spacing: var(--font-letterspacing-normal);
497
+ --text-display-xl-weight: var(--font-weight-medium);
498
+ --text-display-lg-size: var(--font-size-7xl);
499
+ --text-display-lg-letter-spacing: var(--font-letterspacing-normal);
500
+ --text-display-lg-weight: var(--font-weight-medium);
501
+ --text-display-md-size: var(--font-size-5xl);
502
+ --text-display-md-letter-spacing: var(--font-letterspacing-normal);
503
+ --text-display-md-weight: var(--font-weight-medium);
504
+ --text-heading-xl-size: var(--font-size-4xl);
505
+ --text-heading-xl-letter-spacing: var(--font-letterspacing-normal);
506
+ --text-heading-xl-weight: var(--font-weight-medium);
507
+ --text-heading-lg-size: var(--font-size-3xl);
508
+ --text-heading-lg-letter-spacing: var(--font-letterspacing-normal);
509
+ --text-heading-lg-weight: var(--font-weight-medium);
510
+ --text-heading-md-size: var(--font-size-2xl);
511
+ --text-heading-md-letter-spacing: var(--font-letterspacing-normal);
512
+ --text-heading-md-weight: var(--font-weight-semibold);
513
+ --text-heading-sm-size: var(--font-size-xl);
514
+ --text-heading-sm-line-height: var(--font-lineheight-tight);
515
+ --text-heading-sm-letter-spacing: var(--font-letterspacing-normal);
516
+ --text-heading-sm-weight: var(--font-weight-semibold);
517
+ --text-body-lg-size: var(--font-size-lg);
518
+ --text-body-lg-letter-spacing: var(--font-letterspacing-normal);
519
+ --text-body-lg-weight: var(--font-weight-normal);
520
+ --text-body-md-size: var(--font-size-base);
521
+ --text-body-md-line-height: var(--font-lineheight-normal);
522
+ --text-body-md-letter-spacing: var(--font-letterspacing-normal);
523
+ --text-body-md-weight: var(--font-weight-normal);
524
+ --text-body-sm-size: var(--font-size-sm);
525
+ --text-body-sm-letter-spacing: var(--font-letterspacing-normal);
526
+ --text-body-sm-weight: var(--font-weight-normal);
527
+ --text-label-lg-size: var(--font-size-base);
528
+ --text-label-lg-letter-spacing: var(--font-letterspacing-normal);
529
+ --text-label-lg-weight: var(--font-weight-medium);
530
+ --text-label-md-size: var(--font-size-sm);
531
+ --text-label-md-letter-spacing: var(--font-letterspacing-normal);
532
+ --text-label-md-weight: var(--font-weight-medium);
533
+ --text-label-sm-letter-spacing: var(--font-letterspacing-normal);
534
+ --text-label-sm-weight: var(--font-weight-medium);
535
+ --text-caption-letter-spacing: var(--font-letterspacing-normal);
536
+ --text-caption-weight: var(--font-weight-normal);
537
+ --text-code-size: var(--font-size-sm);
538
+ --text-code-line-height: var(--font-lineheight-normal);
539
+ --text-code-letter-spacing: var(--font-letterspacing-normal);
540
+ --text-code-weight: var(--font-weight-normal);
541
+ --text-eyebrow-letter-spacing: var(--font-letterspacing-widest);
542
+ --text-eyebrow-weight: var(--font-weight-semibold);
431
543
  --color-background-body: var(--color-white);
432
544
  --color-background-surface: var(--color-white);
433
545
  --color-background-muted: var(--color-gray-100);
@@ -454,3 +566,31 @@
454
566
  --color-skeleton-base: var(--color-gray-200);
455
567
  --color-skeleton-highlight: var(--color-gray-100);
456
568
  }
569
+
570
+ /* Semantic typography shorthand — `font:` shorthand per role. */
571
+ :root {
572
+ --text-display-xl: var(--text-display-xl-weight) var(--text-display-xl-size)/var(--text-display-xl-line-height) var(--font-family-brand);
573
+ --text-display-lg: var(--text-display-lg-weight) var(--text-display-lg-size)/var(--text-display-lg-line-height) var(--font-family-brand);
574
+ --text-display-md: var(--text-display-md-weight) var(--text-display-md-size)/var(--text-display-md-line-height) var(--font-family-brand);
575
+ --text-heading-xl: var(--text-heading-xl-weight) var(--text-heading-xl-size)/var(--text-heading-xl-line-height) var(--font-family-brand);
576
+ --text-heading-lg: var(--text-heading-lg-weight) var(--text-heading-lg-size)/var(--text-heading-lg-line-height) var(--font-family-brand);
577
+ --text-heading-md: var(--text-heading-md-weight) var(--text-heading-md-size)/var(--text-heading-md-line-height) var(--font-family-brand);
578
+ --text-heading-sm: var(--text-heading-sm-weight) var(--text-heading-sm-size)/var(--text-heading-sm-line-height) var(--font-family-brand);
579
+ --text-body-lg: var(--text-body-lg-weight) var(--text-body-lg-size)/var(--text-body-lg-line-height) var(--font-family-sans);
580
+ --text-body-md: var(--text-body-md-weight) var(--text-body-md-size)/var(--text-body-md-line-height) var(--font-family-sans);
581
+ --text-body-sm: var(--text-body-sm-weight) var(--text-body-sm-size)/var(--text-body-sm-line-height) var(--font-family-sans);
582
+ --text-label-lg: var(--text-label-lg-weight) var(--text-label-lg-size)/var(--text-label-lg-line-height) var(--font-family-sans);
583
+ --text-label-md: var(--text-label-md-weight) var(--text-label-md-size)/var(--text-label-md-line-height) var(--font-family-sans);
584
+ --text-label-sm: var(--text-label-sm-weight) var(--text-label-sm-size)/var(--text-label-sm-line-height) var(--font-family-sans);
585
+ --text-caption: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line-height) var(--font-family-sans);
586
+ --text-code: var(--text-code-weight) var(--text-code-size)/var(--text-code-line-height) var(--font-family-mono);
587
+ --text-eyebrow: var(--text-eyebrow-weight) var(--text-eyebrow-size)/var(--text-eyebrow-line-height) var(--font-family-mono);
588
+ }
589
+
590
+ /* Mobile bump — body copy gets a touch larger on phones for readability. */
591
+ @media (max-width: 768px) {
592
+ :root {
593
+ --text-body-md-size: 1.0625rem; /* 16 → 17 */
594
+ --text-body-lg-size: 1.1875rem; /* 18 → 19 */
595
+ }
596
+ }