@hirobius/design-system 0.15.0 → 0.17.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/README.md +26 -70
- package/dist/chunks/LanguageContext-CH_bwzCq.js +83 -0
- package/dist/chunks/TokenDisplayContext-evZi_214.js +18 -0
- package/dist/chunks/activity-feed-C8_e-Btq.js +19955 -0
- package/dist/contexts.js +17 -16
- package/dist/hirobius-ui.js +3590 -21800
- package/dist/manifest.js +11 -11
- package/dist/patterns.js +423 -0
- package/dist/static.css +4 -4
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tokens.js +74 -35
- package/dist/types/src/app/components/activity-feed.d.ts +6 -4
- package/dist/types/src/app/components/app-shell.d.ts +6 -4
- package/dist/types/src/app/components/asset-img.d.ts +3 -1
- package/dist/types/src/app/components/avatar-group.d.ts +3 -3
- package/dist/types/src/app/components/avatar.d.ts +3 -3
- package/dist/types/src/app/components/badge.d.ts +3 -3
- package/dist/types/src/app/components/blockquote.d.ts +3 -3
- package/dist/types/src/app/components/breadcrumb.d.ts +3 -3
- package/dist/types/src/app/components/button-group.d.ts +3 -3
- package/dist/types/src/app/components/button.d.ts +6 -6
- package/dist/types/src/app/components/calendar.d.ts +3 -1
- package/dist/types/src/app/components/callout.d.ts +4 -4
- package/dist/types/src/app/components/card.d.ts +5 -5
- package/dist/types/src/app/components/carousel.d.ts +6 -4
- package/dist/types/src/app/components/checkbox.d.ts +3 -3
- package/dist/types/src/app/components/cinematic-link.d.ts +7 -1
- package/dist/types/src/app/components/circular-progress.d.ts +3 -3
- package/dist/types/src/app/components/code-block.d.ts +20 -18
- package/dist/types/src/app/components/command-palette.d.ts +9 -9
- package/dist/types/src/app/components/component-instance-matrix.d.ts +8 -2
- package/dist/types/src/app/components/disclosure.d.ts +3 -3
- package/dist/types/src/app/components/divider.d.ts +4 -4
- package/dist/types/src/app/components/doc-link-card.d.ts +6 -4
- package/dist/types/src/app/components/error-pattern.d.ts +3 -1
- package/dist/types/src/app/components/field.d.ts +4 -4
- package/dist/types/src/app/components/file-input.d.ts +7 -5
- package/dist/types/src/app/components/foundation-swatch.d.ts +6 -0
- package/dist/types/src/app/components/hds-tooltip.d.ts +11 -11
- package/dist/types/src/app/components/heading-stack.d.ts +6 -6
- package/dist/types/src/app/components/hover-card.d.ts +1 -1
- package/dist/types/src/app/components/image-lightbox.d.ts +2 -0
- package/dist/types/src/app/components/inline-code.d.ts +3 -3
- package/dist/types/src/app/components/input-group.d.ts +3 -3
- package/dist/types/src/app/components/input.d.ts +5 -5
- package/dist/types/src/app/components/kbd.d.ts +3 -3
- package/dist/types/src/app/components/metadata-list.d.ts +3 -3
- package/dist/types/src/app/components/nav-group.d.ts +3 -3
- package/dist/types/src/app/components/nav-item.d.ts +10 -8
- package/dist/types/src/app/components/overflow-list.d.ts +3 -1
- package/dist/types/src/app/components/page.d.ts +3 -1
- package/dist/types/src/app/components/progress.d.ts +3 -3
- package/dist/types/src/app/components/radio.d.ts +3 -3
- package/dist/types/src/app/components/reveal.d.ts +3 -1
- package/dist/types/src/app/components/segmented-control.d.ts +31 -31
- package/dist/types/src/app/components/select.d.ts +29 -0
- package/dist/types/src/app/components/selectable-card.d.ts +3 -3
- package/dist/types/src/app/components/side-nav.d.ts +6 -4
- package/dist/types/src/app/components/skeleton.d.ts +3 -3
- package/dist/types/src/app/components/sketch.d.ts +6 -0
- package/dist/types/src/app/components/slider.d.ts +3 -3
- package/dist/types/src/app/components/spinner.d.ts +3 -3
- package/dist/types/src/app/components/stacked-card-rail.d.ts +32 -0
- package/dist/types/src/app/components/stat.d.ts +3 -3
- package/dist/types/src/app/components/status-dot.d.ts +4 -4
- package/dist/types/src/app/components/status-list-item.d.ts +3 -3
- package/dist/types/src/app/components/stepper.d.ts +6 -4
- package/dist/types/src/app/components/surface.d.ts +4 -4
- package/dist/types/src/app/components/table.d.ts +22 -11
- package/dist/types/src/app/components/tag.d.ts +4 -4
- package/dist/types/src/app/components/text.d.ts +3 -3
- package/dist/types/src/app/components/textarea.d.ts +4 -4
- package/dist/types/src/app/components/time-input.d.ts +3 -3
- package/dist/types/src/app/components/toast.d.ts +3 -3
- package/dist/types/src/app/components/toggle-button.d.ts +4 -4
- package/dist/types/src/app/components/toggle.d.ts +3 -3
- package/dist/types/src/app/components/token.d.ts +23 -17
- package/dist/types/src/app/components/toolbar.d.ts +1 -1
- package/dist/types/src/app/components/tooltip.d.ts +2 -2
- package/dist/types/src/app/components/top-nav.d.ts +3 -1
- package/dist/types/src/app/components/tree-list.d.ts +3 -1
- package/dist/types/src/app/design-system/generated-token-refs.d.ts +39 -6
- package/dist/types/src/app/design-system/generated-token-values.d.ts +12 -16
- package/dist/types/src/app/design-system/tokens.d.ts +16 -5
- package/dist/types/src/app/layouts/DocLayout.d.ts +0 -2
- package/dist/types/src/app/layouts/HdsDocsShell.d.ts +72 -0
- package/dist/types/src/app/layouts/HdsSystemDocLayout.d.ts +8 -1
- package/dist/types/src/index.d.ts +216 -39
- package/dist/types/src/patterns.d.ts +37 -0
- package/dist/variables.css +100 -28
- package/hirobius.tokens.json +199 -88
- package/package.json +43 -28
- package/public/hds-manifest.json +1916 -601
- package/dist/chunks/TokenDisplayContext-B3gxyQN7.js +0 -96
- /package/dist/types/src/app/components/{lab/tokenUtils.d.ts → tokenUtils.d.ts} +0 -0
package/hirobius.tokens.json
CHANGED
|
@@ -495,89 +495,85 @@
|
|
|
495
495
|
},
|
|
496
496
|
"size": {
|
|
497
497
|
"$type": "dimension",
|
|
498
|
-
"2xs": {
|
|
499
|
-
"$value": {
|
|
500
|
-
"value": 10,
|
|
501
|
-
"unit": "px"
|
|
502
|
-
}
|
|
503
|
-
},
|
|
504
498
|
"xs": {
|
|
505
499
|
"$value": {
|
|
506
|
-
"value":
|
|
500
|
+
"value": 12,
|
|
507
501
|
"unit": "px"
|
|
508
|
-
}
|
|
502
|
+
},
|
|
503
|
+
"$description": "Tailwind 4 default text-xs (hds#283 ramp)."
|
|
509
504
|
},
|
|
510
505
|
"sm": {
|
|
511
506
|
"$value": {
|
|
512
|
-
"value":
|
|
507
|
+
"value": 14,
|
|
513
508
|
"unit": "px"
|
|
514
|
-
}
|
|
509
|
+
},
|
|
510
|
+
"$description": "Tailwind 4 default text-sm (hds#283 ramp)."
|
|
515
511
|
},
|
|
516
512
|
"base": {
|
|
517
513
|
"$value": {
|
|
518
|
-
"value":
|
|
514
|
+
"value": 16,
|
|
519
515
|
"unit": "px"
|
|
520
|
-
}
|
|
516
|
+
},
|
|
517
|
+
"$description": "Tailwind 4 default text-base (hds#283 ramp)."
|
|
521
518
|
},
|
|
522
519
|
"lg": {
|
|
523
520
|
"$value": {
|
|
524
|
-
"value":
|
|
521
|
+
"value": 18,
|
|
525
522
|
"unit": "px"
|
|
526
|
-
}
|
|
523
|
+
},
|
|
524
|
+
"$description": "Tailwind 4 default text-lg (hds#283 ramp)."
|
|
527
525
|
},
|
|
528
526
|
"xl": {
|
|
529
527
|
"$value": {
|
|
530
|
-
"value":
|
|
528
|
+
"value": 20,
|
|
531
529
|
"unit": "px"
|
|
532
|
-
}
|
|
530
|
+
},
|
|
531
|
+
"$description": "Tailwind 4 default text-xl (hds#283 ramp)."
|
|
533
532
|
},
|
|
534
533
|
"2xl": {
|
|
535
534
|
"$value": {
|
|
536
|
-
"value":
|
|
535
|
+
"value": 24,
|
|
537
536
|
"unit": "px"
|
|
538
|
-
}
|
|
537
|
+
},
|
|
538
|
+
"$description": "Tailwind 4 default text-2xl (hds#283 ramp)."
|
|
539
539
|
},
|
|
540
540
|
"3xl": {
|
|
541
541
|
"$value": {
|
|
542
|
-
"value":
|
|
542
|
+
"value": 30,
|
|
543
543
|
"unit": "px"
|
|
544
|
-
}
|
|
544
|
+
},
|
|
545
|
+
"$description": "Tailwind 4 default text-3xl (hds#283 ramp)."
|
|
545
546
|
},
|
|
546
547
|
"4xl": {
|
|
547
548
|
"$value": {
|
|
548
|
-
"value":
|
|
549
|
+
"value": 36,
|
|
549
550
|
"unit": "px"
|
|
550
|
-
}
|
|
551
|
+
},
|
|
552
|
+
"$description": "Tailwind 4 default text-4xl (hds#283 ramp)."
|
|
551
553
|
},
|
|
552
554
|
"5xl": {
|
|
553
555
|
"$value": {
|
|
554
|
-
"value":
|
|
556
|
+
"value": 48,
|
|
555
557
|
"unit": "px"
|
|
556
558
|
},
|
|
557
|
-
"$description": "
|
|
559
|
+
"$description": "Tailwind 4 default text-5xl (hds#283 ramp)."
|
|
558
560
|
},
|
|
559
561
|
"6xl": {
|
|
560
562
|
"$value": {
|
|
561
|
-
"value":
|
|
563
|
+
"value": 60,
|
|
562
564
|
"unit": "px"
|
|
563
|
-
}
|
|
565
|
+
},
|
|
566
|
+
"$description": "Swiss-canon display size (hds#283 ramp). Static desktop value; fluid in theme.css. Tailwind 4 default text-6xl."
|
|
564
567
|
}
|
|
565
568
|
},
|
|
566
569
|
"weight": {
|
|
567
570
|
"$type": "fontWeight",
|
|
568
|
-
"light": {
|
|
569
|
-
"$value": 300,
|
|
570
|
-
"$description": "Swiss-canon heading weight. Display and h1/h2 composites only."
|
|
571
|
-
},
|
|
572
571
|
"regular": {
|
|
573
572
|
"$value": 400
|
|
574
573
|
},
|
|
575
574
|
"medium": {
|
|
576
575
|
"$value": 500
|
|
577
576
|
},
|
|
578
|
-
"semibold": {
|
|
579
|
-
"$value": 600
|
|
580
|
-
},
|
|
581
577
|
"bold": {
|
|
582
578
|
"$value": 700
|
|
583
579
|
}
|
|
@@ -607,12 +603,6 @@
|
|
|
607
603
|
},
|
|
608
604
|
"letterSpacing": {
|
|
609
605
|
"$type": "dimension",
|
|
610
|
-
"tighter": {
|
|
611
|
-
"$value": {
|
|
612
|
-
"value": -0.02,
|
|
613
|
-
"unit": "em"
|
|
614
|
-
}
|
|
615
|
-
},
|
|
616
606
|
"tight": {
|
|
617
607
|
"$value": {
|
|
618
608
|
"value": -0.01,
|
|
@@ -625,18 +615,6 @@
|
|
|
625
615
|
"unit": "em"
|
|
626
616
|
}
|
|
627
617
|
},
|
|
628
|
-
"wide": {
|
|
629
|
-
"$value": {
|
|
630
|
-
"value": 0.01,
|
|
631
|
-
"unit": "em"
|
|
632
|
-
}
|
|
633
|
-
},
|
|
634
|
-
"wider": {
|
|
635
|
-
"$value": {
|
|
636
|
-
"value": 0.02,
|
|
637
|
-
"unit": "em"
|
|
638
|
-
}
|
|
639
|
-
},
|
|
640
618
|
"caps": {
|
|
641
619
|
"$value": {
|
|
642
620
|
"value": 0.06,
|
|
@@ -862,6 +840,14 @@
|
|
|
862
840
|
"unit": "px"
|
|
863
841
|
},
|
|
864
842
|
"$description": "Minimum interactive hit target size."
|
|
843
|
+
},
|
|
844
|
+
"minCompact": {
|
|
845
|
+
"$type": "dimension",
|
|
846
|
+
"$value": {
|
|
847
|
+
"value": 24,
|
|
848
|
+
"unit": "px"
|
|
849
|
+
},
|
|
850
|
+
"$description": "WCAG 2.2 AA (2.5.8) minimum target size for a compact inline control, such as a tokenizer chip's remove button, where the 44px AAA floor (2.5.5) does not apply."
|
|
865
851
|
}
|
|
866
852
|
},
|
|
867
853
|
"width": {
|
|
@@ -893,6 +879,14 @@
|
|
|
893
879
|
"value": 50,
|
|
894
880
|
"unit": "ch"
|
|
895
881
|
}
|
|
882
|
+
},
|
|
883
|
+
"280": {
|
|
884
|
+
"$type": "dimension",
|
|
885
|
+
"$value": {
|
|
886
|
+
"value": 280,
|
|
887
|
+
"unit": "px"
|
|
888
|
+
},
|
|
889
|
+
"$description": "Docs-shell rail width (hds#280). Our own number, not HeroUI's 268px — wide enough for the longest top-level nav label at the default type ramp with room to spare."
|
|
896
890
|
}
|
|
897
891
|
}
|
|
898
892
|
},
|
|
@@ -983,6 +977,11 @@
|
|
|
983
977
|
"easing": "{primitive.easing.accelerate}"
|
|
984
978
|
},
|
|
985
979
|
"$description": "For elements being removed from the DOM."
|
|
980
|
+
},
|
|
981
|
+
"distance": {
|
|
982
|
+
"$type": "dimension",
|
|
983
|
+
"$value": "{primitive.space.6}",
|
|
984
|
+
"$description": "Travel distance for a scroll-reveal translateY offset. Coincides in value with semantic.space.scale.md today, but names a motion travel distance rather than a spacing tier (hds#242)."
|
|
986
985
|
}
|
|
987
986
|
},
|
|
988
987
|
"color": {
|
|
@@ -1449,7 +1448,44 @@
|
|
|
1449
1448
|
},
|
|
1450
1449
|
"space": {
|
|
1451
1450
|
"$type": "dimension",
|
|
1452
|
-
"$description": "Semantic spacing tiers: subgrid, component, layout, section.",
|
|
1451
|
+
"$description": "Semantic spacing tiers: subgrid, component, layout, section, scale.",
|
|
1452
|
+
"scale": {
|
|
1453
|
+
"$description": "hds#206 — the canonical spacing vocabulary. One monotonic, single-family t-shirt scale (xs < sm < md < lg < xl) for the `p`/`m`/`gap` family of props on Box/Stack. Supersedes the four un-ordered gap families below (subgrid/component/layout/section) and the 24px alias triplet (layout.normal / layout.gutter / component.padding) for NEW usage; those remain live, deprecated aliases until the consumer codemod (hds#206 remaining work) migrates callers and removes them — not a breaking change yet.",
|
|
1454
|
+
"xs": {
|
|
1455
|
+
"$value": "{primitive.space.2}",
|
|
1456
|
+
"$description": "8px — smallest step. Same value as component.gap (deprecated alias)."
|
|
1457
|
+
},
|
|
1458
|
+
"sm": {
|
|
1459
|
+
"$value": "{primitive.space.4}",
|
|
1460
|
+
"$description": "16px — same value as layout.tight (deprecated alias)."
|
|
1461
|
+
},
|
|
1462
|
+
"md": {
|
|
1463
|
+
"$value": "{primitive.space.6}",
|
|
1464
|
+
"$description": "24px — same value as layout.normal (deprecated alias). Default of the overridable roles surface.padding and region.gutter, which replace the deprecated component.padding / layout.gutter."
|
|
1465
|
+
},
|
|
1466
|
+
"lg": {
|
|
1467
|
+
"$value": "{primitive.space.8}",
|
|
1468
|
+
"$description": "32px — same value as layout.inset (deprecated alias)."
|
|
1469
|
+
},
|
|
1470
|
+
"xl": {
|
|
1471
|
+
"$value": "{primitive.space.12}",
|
|
1472
|
+
"$description": "48px — same value as layout.spacious (deprecated alias)."
|
|
1473
|
+
}
|
|
1474
|
+
},
|
|
1475
|
+
"surface": {
|
|
1476
|
+
"$description": "hds#206 — the overridable surface inset. A named role on the t-shirt scale rather than a scale step, because tenants (per brand and density) override it at runtime; its value is always a scale step.",
|
|
1477
|
+
"padding": {
|
|
1478
|
+
"$value": "{semantic.space.scale.md}",
|
|
1479
|
+
"$description": "24px (scale.md) default inset for cards, forms, panels, and grouped surfaces. Tenants override it with another scale step (tenants/*/tokens.json, incl. a Compact density mode). Replaces the deprecated semantic.space.component.padding."
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
"region": {
|
|
1483
|
+
"$description": "hds#206 — the overridable region gutter. A named role on the t-shirt scale rather than a scale step, because theme.css retunes it per viewport; its value is always a scale step.",
|
|
1484
|
+
"gutter": {
|
|
1485
|
+
"$value": "{semantic.space.scale.md}",
|
|
1486
|
+
"$description": "24px (scale.md) column and region gutters. theme.css sets it responsively to scale.lg (32px) and, below 640px, scale.sm (16px). Replaces the deprecated semantic.space.layout.gutter."
|
|
1487
|
+
}
|
|
1488
|
+
},
|
|
1453
1489
|
"subgrid": {
|
|
1454
1490
|
"hairline": {
|
|
1455
1491
|
"$value": "{primitive.space.px1}",
|
|
@@ -1467,37 +1503,44 @@
|
|
|
1467
1503
|
"component": {
|
|
1468
1504
|
"gap": {
|
|
1469
1505
|
"$value": "{primitive.space.2}",
|
|
1470
|
-
"$description": "8px label↔input rhythm and closely coupled control spacing."
|
|
1506
|
+
"$description": "8px label↔input rhythm and closely coupled control spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.xs; kept live, no removal yet.",
|
|
1507
|
+
"$deprecated": "hds#206 — use semantic.space.scale.xs"
|
|
1471
1508
|
},
|
|
1472
1509
|
"medium": {
|
|
1473
1510
|
"$value": "{primitive.space.3}",
|
|
1474
1511
|
"$description": "12px adjacent form fields and medium intra-component gaps."
|
|
1475
1512
|
},
|
|
1476
1513
|
"padding": {
|
|
1477
|
-
"$value": "{
|
|
1478
|
-
"$description": "24px default inset for cards, forms, panels, and grouped surfaces."
|
|
1514
|
+
"$value": "{semantic.space.surface.padding}",
|
|
1515
|
+
"$description": "24px default inset for cards, forms, panels, and grouped surfaces. DEPRECATED alias (hds#206) — use semantic.space.surface.padding (tenant/density-overridable); kept live, no removal yet.",
|
|
1516
|
+
"$deprecated": "hds#206 — use semantic.space.surface.padding"
|
|
1479
1517
|
}
|
|
1480
1518
|
},
|
|
1481
1519
|
"layout": {
|
|
1482
1520
|
"tight": {
|
|
1483
1521
|
"$value": "{primitive.space.4}",
|
|
1484
|
-
"$description": "16px default HdsStack gap and inter-component spacing."
|
|
1522
|
+
"$description": "16px default HdsStack gap and inter-component spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.sm; kept live, no removal yet.",
|
|
1523
|
+
"$deprecated": "hds#206 — use semantic.space.scale.sm"
|
|
1485
1524
|
},
|
|
1486
1525
|
"normal": {
|
|
1487
1526
|
"$value": "{primitive.space.6}",
|
|
1488
|
-
"$description": "24px column gutters and sidebar gutter spacing."
|
|
1527
|
+
"$description": "24px column gutters and sidebar gutter spacing. DEPRECATED alias (hds#206) — use semantic.space.scale.md; kept live, no removal yet.",
|
|
1528
|
+
"$deprecated": "hds#206 — use semantic.space.scale.md"
|
|
1489
1529
|
},
|
|
1490
1530
|
"gutter": {
|
|
1491
|
-
"$value": "{
|
|
1492
|
-
"$description": "24px column and region gutters
|
|
1531
|
+
"$value": "{semantic.space.region.gutter}",
|
|
1532
|
+
"$description": "24px column and region gutters. DEPRECATED alias (hds#206) — use semantic.space.region.gutter (responsive in theme.css); kept live, no removal yet.",
|
|
1533
|
+
"$deprecated": "hds#206 — use semantic.space.region.gutter"
|
|
1493
1534
|
},
|
|
1494
1535
|
"inset": {
|
|
1495
1536
|
"$value": "{primitive.space.8}",
|
|
1496
|
-
"$description": "32px major block separation and inset inter-component gaps."
|
|
1537
|
+
"$description": "32px major block separation and inset inter-component gaps. DEPRECATED alias (hds#206) — use semantic.space.scale.lg; kept live, no removal yet.",
|
|
1538
|
+
"$deprecated": "hds#206 — use semantic.space.scale.lg"
|
|
1497
1539
|
},
|
|
1498
1540
|
"spacious": {
|
|
1499
1541
|
"$value": "{primitive.space.12}",
|
|
1500
|
-
"$description": "48px section break and whitespace separator between major content blocks."
|
|
1542
|
+
"$description": "48px section break and whitespace separator between major content blocks. DEPRECATED alias (hds#206) — use semantic.space.scale.xl; kept live, no removal yet.",
|
|
1543
|
+
"$deprecated": "hds#206 — use semantic.space.scale.xl"
|
|
1501
1544
|
}
|
|
1502
1545
|
},
|
|
1503
1546
|
"section": {
|
|
@@ -1530,6 +1573,11 @@
|
|
|
1530
1573
|
"railPadding": {
|
|
1531
1574
|
"$value": "{primitive.space.5}",
|
|
1532
1575
|
"$description": "20px outer padding for sidebar and TOC rails."
|
|
1576
|
+
},
|
|
1577
|
+
"railWidth": {
|
|
1578
|
+
"$type": "dimension",
|
|
1579
|
+
"$value": "{primitive.size.width.280}",
|
|
1580
|
+
"$description": "Docs-shell left nav rail and right TOC rail width (hds#280). Both rails share one width token; default 0 below their breakpoint (see HdsDocsShell)."
|
|
1533
1581
|
}
|
|
1534
1582
|
}
|
|
1535
1583
|
},
|
|
@@ -1597,28 +1645,28 @@
|
|
|
1597
1645
|
"display": {
|
|
1598
1646
|
"$value": {
|
|
1599
1647
|
"fontFamily": "{primitive.typography.family.display}",
|
|
1600
|
-
"fontSize": "{primitive.typography.size.
|
|
1648
|
+
"fontSize": "{primitive.typography.size.6xl}",
|
|
1601
1649
|
"fontWeight": "{primitive.typography.weight.bold}",
|
|
1602
1650
|
"letterSpacing": "{primitive.typography.letterSpacing.tight}",
|
|
1603
1651
|
"lineHeight": "{primitive.typography.lineHeight.none}"
|
|
1604
1652
|
},
|
|
1605
|
-
"$description": "Display headline.
|
|
1653
|
+
"$description": "Display headline. 60px / Satoshi bold 700 / leading-none (hds#283: was 72px/5xl).",
|
|
1606
1654
|
"$extensions": {
|
|
1607
1655
|
"com.figma.variables": {
|
|
1608
|
-
"fontSize": "clamp(40px, 8vw,
|
|
1609
|
-
"note": "Figma stores the
|
|
1656
|
+
"fontSize": "clamp(40px, 8vw, 60px)",
|
|
1657
|
+
"note": "Figma stores the 60px desktop-max static value. Browser CSS overrides with fluid scaling (40px min → 60px max). See src/styles/theme.css."
|
|
1610
1658
|
}
|
|
1611
1659
|
}
|
|
1612
1660
|
},
|
|
1613
1661
|
"h1": {
|
|
1614
1662
|
"$value": {
|
|
1615
1663
|
"fontFamily": "{primitive.typography.family.display}",
|
|
1616
|
-
"fontSize": "{primitive.typography.size.
|
|
1664
|
+
"fontSize": "{primitive.typography.size.5xl}",
|
|
1617
1665
|
"fontWeight": "{primitive.typography.weight.bold}",
|
|
1618
1666
|
"letterSpacing": "{primitive.typography.letterSpacing.tight}",
|
|
1619
1667
|
"lineHeight": "{primitive.typography.lineHeight.tight}"
|
|
1620
1668
|
},
|
|
1621
|
-
"$description": "Primary section headings (h1). 48px / Satoshi bold 700 / leading-tight.",
|
|
1669
|
+
"$description": "Primary section headings (h1). 48px / Satoshi bold 700 / leading-tight (hds#283: rung renamed 4xl→5xl, px unchanged).",
|
|
1622
1670
|
"$extensions": {
|
|
1623
1671
|
"com.figma.variables": {
|
|
1624
1672
|
"fontSize": "clamp(32px, 6vw, 48px)",
|
|
@@ -1629,12 +1677,12 @@
|
|
|
1629
1677
|
"h2": {
|
|
1630
1678
|
"$value": {
|
|
1631
1679
|
"fontFamily": "{primitive.typography.family.display}",
|
|
1632
|
-
"fontSize": "{primitive.typography.size.
|
|
1680
|
+
"fontSize": "{primitive.typography.size.3xl}",
|
|
1633
1681
|
"fontWeight": "{primitive.typography.weight.bold}",
|
|
1634
1682
|
"letterSpacing": "{primitive.typography.letterSpacing.tight}",
|
|
1635
|
-
"lineHeight": "
|
|
1683
|
+
"lineHeight": "40px"
|
|
1636
1684
|
},
|
|
1637
|
-
"$description": "Secondary section headings (h2). Satoshi bold 700, 30px, line-height 42px.",
|
|
1685
|
+
"$description": "Secondary section headings (h2). Satoshi bold 700, 30px, line-height 40px (hds#283: rung renamed, was 42px).",
|
|
1638
1686
|
"$extensions": {
|
|
1639
1687
|
"com.figma.variables": {
|
|
1640
1688
|
"fontSize": "clamp(24px, 3.5vw, 30px)",
|
|
@@ -1645,12 +1693,12 @@
|
|
|
1645
1693
|
"h3": {
|
|
1646
1694
|
"$value": {
|
|
1647
1695
|
"fontFamily": "{primitive.typography.family.display}",
|
|
1648
|
-
"fontSize": "{primitive.typography.size.
|
|
1696
|
+
"fontSize": "{primitive.typography.size.xl}",
|
|
1649
1697
|
"fontWeight": "{primitive.typography.weight.bold}",
|
|
1650
1698
|
"letterSpacing": "{primitive.typography.letterSpacing.normal}",
|
|
1651
1699
|
"lineHeight": "28px"
|
|
1652
1700
|
},
|
|
1653
|
-
"$description": "Component and card headers (h3). 20px / Satoshi bold 700 500 / leading-snug.",
|
|
1701
|
+
"$description": "Component and card headers (h3). 20px / Satoshi bold 700 500 / leading-snug (hds#283: rung renamed lg→xl, px unchanged).",
|
|
1654
1702
|
"$extensions": {
|
|
1655
1703
|
"com.figma.variables": {
|
|
1656
1704
|
"fontSize": "clamp(18px, 2vw, 20px)",
|
|
@@ -1664,13 +1712,13 @@
|
|
|
1664
1712
|
"fontSize": "{primitive.typography.size.base}",
|
|
1665
1713
|
"fontWeight": "{primitive.typography.weight.medium}",
|
|
1666
1714
|
"letterSpacing": "{primitive.typography.letterSpacing.normal}",
|
|
1667
|
-
"lineHeight": "
|
|
1715
|
+
"lineHeight": "24px",
|
|
1668
1716
|
"maxWidth": {
|
|
1669
1717
|
"value": 60,
|
|
1670
1718
|
"unit": "ch"
|
|
1671
1719
|
}
|
|
1672
1720
|
},
|
|
1673
|
-
"$description": "Body prose. Satoshi medium,
|
|
1721
|
+
"$description": "Body prose. Satoshi medium, 16px, line-height 24px, max 60ch measure (hds#283: was 17px/28px)."
|
|
1674
1722
|
},
|
|
1675
1723
|
"ui": {
|
|
1676
1724
|
"$value": {
|
|
@@ -1678,26 +1726,23 @@
|
|
|
1678
1726
|
"fontSize": "{primitive.typography.size.sm}",
|
|
1679
1727
|
"fontWeight": "{primitive.typography.weight.medium}",
|
|
1680
1728
|
"letterSpacing": "{primitive.typography.letterSpacing.normal}",
|
|
1681
|
-
"lineHeight": "
|
|
1729
|
+
"lineHeight": "20px",
|
|
1682
1730
|
"maxWidth": {
|
|
1683
1731
|
"value": 60,
|
|
1684
1732
|
"unit": "ch"
|
|
1685
1733
|
}
|
|
1686
1734
|
},
|
|
1687
|
-
"$description": "UI text for nav, labels, captions. Satoshi medium,
|
|
1735
|
+
"$description": "UI text for nav, labels, captions. Satoshi medium, 14px, line-height 20px (hds#283: was 15px/24px)."
|
|
1688
1736
|
},
|
|
1689
1737
|
"caption": {
|
|
1690
1738
|
"$value": {
|
|
1691
1739
|
"fontFamily": "{primitive.typography.family.primary}",
|
|
1692
|
-
"fontSize": {
|
|
1693
|
-
"value": 12,
|
|
1694
|
-
"unit": "px"
|
|
1695
|
-
},
|
|
1740
|
+
"fontSize": "{primitive.typography.size.xs}",
|
|
1696
1741
|
"fontWeight": "{primitive.typography.weight.medium}",
|
|
1697
1742
|
"letterSpacing": "{primitive.typography.letterSpacing.normal}",
|
|
1698
1743
|
"lineHeight": "16px"
|
|
1699
1744
|
},
|
|
1700
|
-
"$description": "Caption / helper text. Satoshi medium, 12px, line-height 16px. Matches the Figma typography/caption text style."
|
|
1745
|
+
"$description": "Caption / helper text. Satoshi medium, 12px, line-height 16px. Matches the Figma typography/caption text style; now sourced from primitive.xs (hds#283)."
|
|
1701
1746
|
},
|
|
1702
1747
|
"eyebrow": {
|
|
1703
1748
|
"$value": {
|
|
@@ -1705,15 +1750,15 @@
|
|
|
1705
1750
|
"fontSize": "{primitive.typography.size.xs}",
|
|
1706
1751
|
"fontWeight": "{primitive.typography.weight.medium}",
|
|
1707
1752
|
"letterSpacing": "{primitive.typography.letterSpacing.caps}",
|
|
1708
|
-
"lineHeight": "
|
|
1753
|
+
"lineHeight": "16px",
|
|
1709
1754
|
"textTransform": "uppercase"
|
|
1710
1755
|
},
|
|
1711
|
-
"$description": "Eyebrow / kicker label. Satoshi medium,
|
|
1756
|
+
"$description": "Eyebrow / kicker label. Satoshi medium, 12px, caps tracking, uppercase (hds#283: was 13px/20px)."
|
|
1712
1757
|
},
|
|
1713
1758
|
"mono": {
|
|
1714
1759
|
"$value": {
|
|
1715
1760
|
"fontFamily": "{primitive.typography.family.mono}",
|
|
1716
|
-
"fontSize": "{primitive.typography.size.
|
|
1761
|
+
"fontSize": "{primitive.typography.size.sm}",
|
|
1717
1762
|
"fontWeight": "{primitive.typography.weight.regular}",
|
|
1718
1763
|
"letterSpacing": "{primitive.typography.letterSpacing.normal}",
|
|
1719
1764
|
"lineHeight": "20px",
|
|
@@ -1722,7 +1767,7 @@
|
|
|
1722
1767
|
"unit": "ch"
|
|
1723
1768
|
}
|
|
1724
1769
|
},
|
|
1725
|
-
"$description": "Monospace for code, token names, shortcuts. Geist Mono regular,
|
|
1770
|
+
"$description": "Monospace for code, token names, shortcuts. Geist Mono regular, 14px (hds#283: repointed xs→sm; xs alone would give 12px)."
|
|
1726
1771
|
},
|
|
1727
1772
|
"lineHeight": {
|
|
1728
1773
|
"none": {
|
|
@@ -1854,6 +1899,11 @@
|
|
|
1854
1899
|
"$type": "dimension",
|
|
1855
1900
|
"$value": "{primitive.radius.8}",
|
|
1856
1901
|
"$description": "Corner radius for action elements (buttons, inputs, badges); Tailwind rounded-md resolves here. Override role.radius to reshape the system."
|
|
1902
|
+
},
|
|
1903
|
+
"control": {
|
|
1904
|
+
"$type": "dimension",
|
|
1905
|
+
"$value": "{primitive.radius.4}",
|
|
1906
|
+
"$description": "Corner radius for small interactive control glyphs (e.g. checkbox glyph box) that are not fully round and not the standard action radius. Real design-scale value, distinct from semantic.radius.action (hds#242)."
|
|
1857
1907
|
}
|
|
1858
1908
|
},
|
|
1859
1909
|
"borderWidth": {
|
|
@@ -1917,6 +1967,67 @@
|
|
|
1917
1967
|
},
|
|
1918
1968
|
"$description": "Modal, dialog, and drawer elevation."
|
|
1919
1969
|
}
|
|
1970
|
+
},
|
|
1971
|
+
"size": {
|
|
1972
|
+
"$type": "dimension",
|
|
1973
|
+
"$description": "Semantic sizing roles for control glyphs, avatars, and table rows. Distinct roles may share a primitive value today by coincidence; keep them separate so one can change without dragging the other (hds#242).",
|
|
1974
|
+
"control": {
|
|
1975
|
+
"$description": "Interactive control glyph/element sizing (checkbox glyph box, radio dot, slider track/fill, code-block copy-button-matched footprint).",
|
|
1976
|
+
"sm": {
|
|
1977
|
+
"$value": "{primitive.size.8}",
|
|
1978
|
+
"$description": "Small control element — radio dot, slider fill bar height."
|
|
1979
|
+
},
|
|
1980
|
+
"md": {
|
|
1981
|
+
"$value": "{primitive.size.20}",
|
|
1982
|
+
"$description": "Medium control element — checkbox glyph box, slider track wrapper height."
|
|
1983
|
+
},
|
|
1984
|
+
"lg": {
|
|
1985
|
+
"$value": "{primitive.size.32}",
|
|
1986
|
+
"$description": "Large control footprint — code-block inline-wrapper min-height / copy-button-matched pre padding."
|
|
1987
|
+
}
|
|
1988
|
+
},
|
|
1989
|
+
"icon": {
|
|
1990
|
+
"$description": "Reserved icon-size role, parallel to the existing --hds-icon-* bridge (src/styles/theme.css), for future direct semantic.size.icon consumers.",
|
|
1991
|
+
"sm": {
|
|
1992
|
+
"$value": "{primitive.size.16}",
|
|
1993
|
+
"$description": "Small icon box — matches --hds-icon-small."
|
|
1994
|
+
},
|
|
1995
|
+
"md": {
|
|
1996
|
+
"$value": "{primitive.size.20}",
|
|
1997
|
+
"$description": "Medium icon box — matches --hds-icon-medium."
|
|
1998
|
+
},
|
|
1999
|
+
"lg": {
|
|
2000
|
+
"$value": "{primitive.size.24}",
|
|
2001
|
+
"$description": "Large icon box — matches --hds-icon-large."
|
|
2002
|
+
}
|
|
2003
|
+
},
|
|
2004
|
+
"avatar": {
|
|
2005
|
+
"$value": "{primitive.size.40}",
|
|
2006
|
+
"$description": "Avatar diagonal (width/height) for activity-feed and similar identity glyphs. Coincides in pixels with row.compact today; kept as a separate role per hds#242 so either can change independently."
|
|
2007
|
+
},
|
|
2008
|
+
"row": {
|
|
2009
|
+
"$description": "Table row minimum height by density.",
|
|
2010
|
+
"compact": {
|
|
2011
|
+
"$value": "{primitive.size.40}",
|
|
2012
|
+
"$description": "Compact-density row minimum height."
|
|
2013
|
+
},
|
|
2014
|
+
"comfortable": {
|
|
2015
|
+
"$value": "{primitive.size.48}",
|
|
2016
|
+
"$description": "Comfortable-density row minimum height."
|
|
2017
|
+
}
|
|
2018
|
+
}
|
|
2019
|
+
},
|
|
2020
|
+
"zIndex": {
|
|
2021
|
+
"$type": "number",
|
|
2022
|
+
"$description": "Named stacking layers, aliasing the numeric primitive.zIndex scale (hds#242).",
|
|
2023
|
+
"control": {
|
|
2024
|
+
"$value": "{primitive.zIndex.10}",
|
|
2025
|
+
"$description": "Raises an interactive control (e.g. a native range input) above its visual decoration for hit-testing."
|
|
2026
|
+
},
|
|
2027
|
+
"sticky": {
|
|
2028
|
+
"$value": "{primitive.zIndex.100}",
|
|
2029
|
+
"$description": "Sticky-positioned elements, such as a table header row."
|
|
2030
|
+
}
|
|
1920
2031
|
}
|
|
1921
2032
|
},
|
|
1922
2033
|
"component": {
|
|
@@ -2140,7 +2251,7 @@
|
|
|
2140
2251
|
"fontSize": {
|
|
2141
2252
|
"$type": "dimension",
|
|
2142
2253
|
"$value": "{primitive.typography.size.xs}",
|
|
2143
|
-
"$description": "Small button label size (13px)."
|
|
2254
|
+
"$description": "Small button label size (12px, hds#283: was 13px)."
|
|
2144
2255
|
},
|
|
2145
2256
|
"iconSize": {
|
|
2146
2257
|
"$type": "dimension",
|
|
@@ -2172,7 +2283,7 @@
|
|
|
2172
2283
|
"fontSize": {
|
|
2173
2284
|
"$type": "dimension",
|
|
2174
2285
|
"$value": "{primitive.typography.size.sm}",
|
|
2175
|
-
"$description": "Medium button label size (15px)."
|
|
2286
|
+
"$description": "Medium button label size (14px, hds#283: was 15px)."
|
|
2176
2287
|
},
|
|
2177
2288
|
"iconSize": {
|
|
2178
2289
|
"$type": "dimension",
|
|
@@ -2204,7 +2315,7 @@
|
|
|
2204
2315
|
"fontSize": {
|
|
2205
2316
|
"$type": "dimension",
|
|
2206
2317
|
"$value": "{primitive.typography.size.base}",
|
|
2207
|
-
"$description": "Large button label size (17px)."
|
|
2318
|
+
"$description": "Large button label size (16px, hds#283: was 17px)."
|
|
2208
2319
|
},
|
|
2209
2320
|
"iconSize": {
|
|
2210
2321
|
"$type": "dimension",
|