@hirobius/design-system 0.13.0 → 0.13.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.
@@ -195,7 +195,7 @@
195
195
  },
196
196
  "500": {
197
197
  "$value": "#6f3fd4",
198
- "$description": "Lilac Bonds accent rest — AA for white text on page and card surfaces."
198
+ "$description": "Lilac accent rest — AA for white text on page and card surfaces."
199
199
  },
200
200
  "600": {
201
201
  "$value": "#5f33c0",
@@ -213,7 +213,7 @@
213
213
  "$value": "#2a1659",
214
214
  "$description": "Specific value within the lilac range at a defined lightness step."
215
215
  },
216
- "$description": "Discrete values within the lilac range at defined lightness steps. Mirrors the blue ramp's stop set; consumed by the lilac-bonds tenant overlay."
216
+ "$description": "Discrete values within the lilac range at defined lightness steps. Mirrors the blue ramp's stop set; available to downstream brand overlays."
217
217
  },
218
218
  "amber": {
219
219
  "50": {
@@ -550,17 +550,17 @@
550
550
  }
551
551
  },
552
552
  "5xl": {
553
- "$value": {
554
- "value": 80,
555
- "unit": "px"
556
- }
557
- },
558
- "7xl": {
559
553
  "$value": {
560
554
  "value": 72,
561
555
  "unit": "px"
562
556
  },
563
557
  "$description": "Swiss-canon display size. Static desktop value; fluid in theme.css."
558
+ },
559
+ "6xl": {
560
+ "$value": {
561
+ "value": 80,
562
+ "unit": "px"
563
+ }
564
564
  }
565
565
  },
566
566
  "weight": {
@@ -1037,25 +1037,85 @@
1037
1037
  }
1038
1038
  },
1039
1039
  "accent": {
1040
- "$value": "{primitive.color.blue.500}",
1041
- "$description": "Accent-colored background",
1040
+ "$value": "{primitive.color.neutral.900}",
1041
+ "$description": "Accent-colored background (neutral/monochrome; inverts to a light neutral on dark surfaces).",
1042
1042
  "$extensions": {
1043
1043
  "com.figma.variables": {
1044
1044
  "modes": {
1045
- "Light": "{primitive.color.blue.500}",
1046
- "Dark": "{primitive.color.blue.500}"
1045
+ "Light": "{primitive.color.neutral.900}",
1046
+ "Dark": "{primitive.color.neutral.100}"
1047
1047
  }
1048
1048
  }
1049
1049
  }
1050
1050
  },
1051
1051
  "accentSubtle": {
1052
- "$value": "{primitive.color.blue.50}",
1052
+ "$value": "{primitive.color.neutral.100}",
1053
1053
  "$description": "Faint accent tint for hover states or highlights",
1054
1054
  "$extensions": {
1055
1055
  "com.figma.variables": {
1056
1056
  "modes": {
1057
- "Light": "{primitive.color.blue.50}",
1058
- "Dark": "{primitive.color.blue.900}"
1057
+ "Light": "{primitive.color.neutral.100}",
1058
+ "Dark": "{primitive.color.neutral.900}"
1059
+ }
1060
+ }
1061
+ }
1062
+ },
1063
+ "hover": {
1064
+ "$value": "{primitive.color.neutral.100}",
1065
+ "$description": "Background for a hovered interactive surface (menu items, chips, tertiary buttons).",
1066
+ "$extensions": {
1067
+ "com.figma.variables": {
1068
+ "modes": {
1069
+ "Light": "{primitive.color.neutral.100}",
1070
+ "Dark": "{primitive.color.neutral.900}"
1071
+ }
1072
+ }
1073
+ }
1074
+ },
1075
+ "pressed": {
1076
+ "$value": "{primitive.color.neutral.50}",
1077
+ "$description": "Background for an actively pressed interactive surface.",
1078
+ "$extensions": {
1079
+ "com.figma.variables": {
1080
+ "modes": {
1081
+ "Light": "{primitive.color.neutral.50}",
1082
+ "Dark": "{primitive.color.neutral.950}"
1083
+ }
1084
+ }
1085
+ }
1086
+ },
1087
+ "selected": {
1088
+ "$value": "{primitive.color.neutral.200}",
1089
+ "$description": "Background for a persistently selected item (active tab, checked row).",
1090
+ "$extensions": {
1091
+ "com.figma.variables": {
1092
+ "modes": {
1093
+ "Light": "{primitive.color.neutral.200}",
1094
+ "Dark": "{primitive.color.neutral.800}"
1095
+ }
1096
+ }
1097
+ }
1098
+ },
1099
+ "muted": {
1100
+ "$value": "{primitive.color.neutral.100}",
1101
+ "$description": "Muted background for low-emphasis content blocks.",
1102
+ "$extensions": {
1103
+ "com.figma.variables": {
1104
+ "modes": {
1105
+ "Light": "{primitive.color.neutral.100}",
1106
+ "Dark": "{primitive.color.neutral.900}"
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ "sunken": {
1112
+ "$value": "{primitive.color.neutral.200}",
1113
+ "$description": "Recessed background for inset wells (inputs, code blocks, nested panels).",
1114
+ "$extensions": {
1115
+ "com.figma.variables": {
1116
+ "modes": {
1117
+ "Light": "{primitive.color.neutral.200}",
1118
+ "Dark": "{primitive.color.neutral.850}"
1059
1119
  }
1060
1120
  }
1061
1121
  }
@@ -1107,23 +1167,61 @@
1107
1167
  }
1108
1168
  },
1109
1169
  "accent": {
1110
- "$value": "{primitive.color.blue.500}",
1170
+ "$value": "{primitive.color.neutral.900}",
1171
+ "$description": "Accent-intent text/icon color (monochrome). Pair with underline/weight for link affordance.",
1111
1172
  "$extensions": {
1112
1173
  "com.figma.variables": {
1113
1174
  "modes": {
1114
- "Light": "{primitive.color.blue.500}",
1115
- "Dark": "{primitive.color.blue.300}"
1175
+ "Light": "{primitive.color.neutral.900}",
1176
+ "Dark": "{primitive.color.neutral.100}"
1116
1177
  }
1117
1178
  }
1118
1179
  }
1119
1180
  },
1120
1181
  "onAccent": {
1121
1182
  "$value": "{primitive.color.neutral.white}",
1183
+ "$description": "Text/icon color on accent fills. Flips to a dark neutral in dark mode, where the accent fill is a light neutral.",
1122
1184
  "$extensions": {
1123
1185
  "com.figma.variables": {
1124
1186
  "modes": {
1125
1187
  "Light": "{primitive.color.neutral.white}",
1126
- "Dark": "{primitive.color.neutral.white}"
1188
+ "Dark": "{primitive.color.neutral.900}"
1189
+ }
1190
+ }
1191
+ }
1192
+ },
1193
+ "success": {
1194
+ "$value": "{primitive.color.green.700}",
1195
+ "$description": "Success-toned text/icon color, independent of feedback banners.",
1196
+ "$extensions": {
1197
+ "com.figma.variables": {
1198
+ "modes": {
1199
+ "Light": "{primitive.color.green.700}",
1200
+ "Dark": "{primitive.color.green.400}"
1201
+ }
1202
+ }
1203
+ }
1204
+ },
1205
+ "warning": {
1206
+ "$value": "{primitive.color.amber.800}",
1207
+ "$description": "Warning-toned text/icon color, independent of feedback banners.",
1208
+ "$extensions": {
1209
+ "com.figma.variables": {
1210
+ "modes": {
1211
+ "Light": "{primitive.color.amber.800}",
1212
+ "Dark": "{primitive.color.amber.400}"
1213
+ }
1214
+ }
1215
+ }
1216
+ },
1217
+ "danger": {
1218
+ "$value": "{primitive.color.red.700}",
1219
+ "$description": "Danger-toned text/icon color, independent of feedback banners.",
1220
+ "$extensions": {
1221
+ "com.figma.variables": {
1222
+ "modes": {
1223
+ "Light": "{primitive.color.red.700}",
1224
+ "Dark": "{primitive.color.red.400}"
1127
1225
  }
1128
1226
  }
1129
1227
  }
@@ -1141,6 +1239,18 @@
1141
1239
  }
1142
1240
  }
1143
1241
  },
1242
+ "interactive": {
1243
+ "$value": "{primitive.color.neutral.500}",
1244
+ "$description": "Border for interactive control boundaries (inputs, selects, secondary buttons); meets the WCAG 1.4.11 3:1 non-text contrast floor.",
1245
+ "$extensions": {
1246
+ "com.figma.variables": {
1247
+ "modes": {
1248
+ "Light": "{primitive.color.neutral.500}",
1249
+ "Dark": "{primitive.color.neutral.500}"
1250
+ }
1251
+ }
1252
+ }
1253
+ },
1144
1254
  "subdued": {
1145
1255
  "$value": "{primitive.color.neutral.200}",
1146
1256
  "$extensions": {
@@ -1176,12 +1286,37 @@
1176
1286
  }
1177
1287
  },
1178
1288
  "accent": {
1179
- "$value": "{primitive.color.blue.500}",
1289
+ "$value": "{primitive.color.neutral.900}",
1290
+ "$description": "Accent border (neutral/monochrome; inverts on dark surfaces).",
1180
1291
  "$extensions": {
1181
1292
  "com.figma.variables": {
1182
1293
  "modes": {
1183
- "Light": "{primitive.color.blue.500}",
1184
- "Dark": "{primitive.color.blue.500}"
1294
+ "Light": "{primitive.color.neutral.900}",
1295
+ "Dark": "{primitive.color.neutral.100}"
1296
+ }
1297
+ }
1298
+ }
1299
+ },
1300
+ "success": {
1301
+ "$value": "{primitive.color.green.400}",
1302
+ "$description": "Success-toned border for status outlines and success-state inputs.",
1303
+ "$extensions": {
1304
+ "com.figma.variables": {
1305
+ "modes": {
1306
+ "Light": "{primitive.color.green.400}",
1307
+ "Dark": "{primitive.color.green.400}"
1308
+ }
1309
+ }
1310
+ }
1311
+ },
1312
+ "warning": {
1313
+ "$value": "{primitive.color.amber.400}",
1314
+ "$description": "Warning-toned border for status outlines and warning-state inputs.",
1315
+ "$extensions": {
1316
+ "com.figma.variables": {
1317
+ "modes": {
1318
+ "Light": "{primitive.color.amber.400}",
1319
+ "Dark": "{primitive.color.amber.400}"
1185
1320
  }
1186
1321
  }
1187
1322
  }
@@ -1332,7 +1467,7 @@
1332
1467
  "component": {
1333
1468
  "gap": {
1334
1469
  "$value": "{primitive.space.2}",
1335
- "$description": "8px label\u2194input rhythm and closely coupled control spacing."
1470
+ "$description": "8px label↔input rhythm and closely coupled control spacing."
1336
1471
  },
1337
1472
  "medium": {
1338
1473
  "$value": "{primitive.space.3}",
@@ -1458,11 +1593,11 @@
1458
1593
  },
1459
1594
  "typography": {
1460
1595
  "$type": "typography",
1461
- "$description": "8-style Swiss-canon type ramp: display, h1\u2013h3, body, small, caption, mono.",
1596
+ "$description": "8-style Swiss-canon type ramp: display, h1–h3, body, small, caption, mono.",
1462
1597
  "display": {
1463
1598
  "$value": {
1464
1599
  "fontFamily": "{primitive.typography.family.display}",
1465
- "fontSize": "{primitive.typography.size.7xl}",
1600
+ "fontSize": "{primitive.typography.size.5xl}",
1466
1601
  "fontWeight": "{primitive.typography.weight.bold}",
1467
1602
  "letterSpacing": "{primitive.typography.letterSpacing.tight}",
1468
1603
  "lineHeight": "{primitive.typography.lineHeight.none}"
@@ -1471,7 +1606,7 @@
1471
1606
  "$extensions": {
1472
1607
  "com.figma.variables": {
1473
1608
  "fontSize": "clamp(40px, 8vw, 72px)",
1474
- "note": "Figma stores the 72px desktop-max static value. Browser CSS overrides with fluid scaling (40px min \u2192 72px max). See src/styles/theme.css."
1609
+ "note": "Figma stores the 72px desktop-max static value. Browser CSS overrides with fluid scaling (40px min → 72px max). See src/styles/theme.css."
1475
1610
  }
1476
1611
  }
1477
1612
  },
@@ -1487,7 +1622,7 @@
1487
1622
  "$extensions": {
1488
1623
  "com.figma.variables": {
1489
1624
  "fontSize": "clamp(32px, 6vw, 48px)",
1490
- "note": "Figma stores the 48px desktop-max static value. Browser CSS overrides with fluid scaling (32px min \u2192 48px max). See src/styles/theme.css."
1625
+ "note": "Figma stores the 48px desktop-max static value. Browser CSS overrides with fluid scaling (32px min → 48px max). See src/styles/theme.css."
1491
1626
  }
1492
1627
  }
1493
1628
  },
@@ -1503,7 +1638,7 @@
1503
1638
  "$extensions": {
1504
1639
  "com.figma.variables": {
1505
1640
  "fontSize": "clamp(24px, 3.5vw, 30px)",
1506
- "note": "Figma stores the 30px desktop-max static value. Browser CSS overrides with fluid scaling (24px min \u2192 30px max). See src/styles/theme.css."
1641
+ "note": "Figma stores the 30px desktop-max static value. Browser CSS overrides with fluid scaling (24px min → 30px max). See src/styles/theme.css."
1507
1642
  }
1508
1643
  }
1509
1644
  },
@@ -1519,7 +1654,7 @@
1519
1654
  "$extensions": {
1520
1655
  "com.figma.variables": {
1521
1656
  "fontSize": "clamp(18px, 2vw, 20px)",
1522
- "note": "Figma stores the 20px desktop-max static value. Browser CSS overrides with fluid scaling (18px min \u2192 20px max). See src/styles/theme.css."
1657
+ "note": "Figma stores the 20px desktop-max static value. Browser CSS overrides with fluid scaling (18px min → 20px max). See src/styles/theme.css."
1523
1658
  }
1524
1659
  }
1525
1660
  },
@@ -1603,112 +1738,112 @@
1603
1738
  "$type": "dimension",
1604
1739
  "section": {
1605
1740
  "$value": "{primitive.space.12}",
1606
- "$description": "48px between H2 sections \u2014 generous section break for doc pages."
1741
+ "$description": "48px between H2 sections — generous section break for doc pages."
1607
1742
  },
1608
1743
  "paragraph": {
1609
1744
  "$value": "{primitive.space.6}",
1610
- "$description": "24px between paragraphs \u2014 comfortable prose rhythm for long-form doc content."
1745
+ "$description": "24px between paragraphs — comfortable prose rhythm for long-form doc content."
1611
1746
  },
1612
1747
  "inline": {
1613
1748
  "$value": "{primitive.space.2}",
1614
- "$description": "8px inline cluster spacing \u2014 gap between metadata badges, inline icons, doc-page chips."
1749
+ "$description": "8px inline cluster spacing — gap between metadata badges, inline icons, doc-page chips."
1615
1750
  }
1616
1751
  }
1617
1752
  },
1618
1753
  "accent": {
1619
1754
  "$type": "color",
1620
1755
  "rest": {
1621
- "$value": "{primitive.color.blue.500}",
1622
- "$description": "Default accent fill for interactive elements at rest.",
1756
+ "$value": "{primitive.color.neutral.900}",
1757
+ "$description": "Default accent fill for interactive elements at rest. Neutral (monochrome) accent — inverts to a light neutral on dark surfaces.",
1623
1758
  "$extensions": {
1624
1759
  "com.figma.variables": {
1625
1760
  "modes": {
1626
- "Light": "{primitive.color.blue.500}",
1627
- "Dark": "{primitive.color.blue.500}"
1761
+ "Light": "{primitive.color.neutral.900}",
1762
+ "Dark": "{primitive.color.neutral.100}"
1628
1763
  }
1629
1764
  }
1630
1765
  }
1631
1766
  },
1632
1767
  "hover": {
1633
- "$value": "{primitive.color.blue.600}",
1768
+ "$value": "{primitive.color.neutral.800}",
1634
1769
  "$description": "Accent fill on pointer hover.",
1635
1770
  "$extensions": {
1636
1771
  "com.figma.variables": {
1637
1772
  "modes": {
1638
- "Light": "{primitive.color.blue.600}",
1639
- "Dark": "{primitive.color.blue.450}"
1773
+ "Light": "{primitive.color.neutral.800}",
1774
+ "Dark": "{primitive.color.neutral.200}"
1640
1775
  }
1641
1776
  }
1642
1777
  }
1643
1778
  },
1644
1779
  "pressed": {
1645
- "$value": "{primitive.color.blue.700}",
1780
+ "$value": "{primitive.color.neutral.950}",
1646
1781
  "$description": "Accent fill during active press.",
1647
1782
  "$extensions": {
1648
1783
  "com.figma.variables": {
1649
1784
  "modes": {
1650
- "Light": "{primitive.color.blue.700}",
1651
- "Dark": "{primitive.color.blue.400}"
1785
+ "Light": "{primitive.color.neutral.950}",
1786
+ "Dark": "{primitive.color.neutral.300}"
1652
1787
  }
1653
1788
  }
1654
1789
  }
1655
1790
  },
1656
1791
  "inactive": {
1657
- "$value": "{primitive.color.blue.200}",
1792
+ "$value": "{primitive.color.neutral.400}",
1658
1793
  "$description": "Accent fill for inactive or unselected accent elements.",
1659
1794
  "$extensions": {
1660
1795
  "com.figma.variables": {
1661
1796
  "modes": {
1662
- "Light": "{primitive.color.blue.200}",
1663
- "Dark": "{primitive.color.blue.200}"
1797
+ "Light": "{primitive.color.neutral.400}",
1798
+ "Dark": "{primitive.color.neutral.600}"
1664
1799
  }
1665
1800
  }
1666
1801
  }
1667
1802
  },
1668
1803
  "disabled": {
1669
- "$value": "{primitive.color.blue.100}",
1804
+ "$value": "{primitive.color.neutral.300}",
1670
1805
  "$description": "Accent fill for disabled accent elements.",
1671
1806
  "$extensions": {
1672
1807
  "com.figma.variables": {
1673
1808
  "modes": {
1674
- "Light": "{primitive.color.blue.100}",
1675
- "Dark": "{primitive.color.blue.100}"
1809
+ "Light": "{primitive.color.neutral.300}",
1810
+ "Dark": "{primitive.color.neutral.700}"
1676
1811
  }
1677
1812
  }
1678
1813
  }
1679
1814
  },
1680
1815
  "content": {
1681
- "$value": "{primitive.color.blue.500}",
1682
- "$description": "Text and icon color on neutral surfaces with accent intent.",
1816
+ "$value": "{primitive.color.neutral.900}",
1817
+ "$description": "Text and icon color on neutral surfaces with accent intent. Monochrome — pair with underline/weight for link affordance.",
1683
1818
  "$extensions": {
1684
1819
  "com.figma.variables": {
1685
1820
  "modes": {
1686
- "Light": "{primitive.color.blue.500}",
1687
- "Dark": "{primitive.color.blue.300}"
1821
+ "Light": "{primitive.color.neutral.900}",
1822
+ "Dark": "{primitive.color.neutral.100}"
1688
1823
  }
1689
1824
  }
1690
1825
  }
1691
1826
  },
1692
1827
  "contentHover": {
1693
- "$value": "{primitive.color.blue.600}",
1828
+ "$value": "{primitive.color.neutral.700}",
1694
1829
  "$description": "Accent content color on pointer hover.",
1695
1830
  "$extensions": {
1696
1831
  "com.figma.variables": {
1697
1832
  "modes": {
1698
- "Light": "{primitive.color.blue.600}",
1699
- "Dark": "{primitive.color.blue.200}"
1833
+ "Light": "{primitive.color.neutral.700}",
1834
+ "Dark": "{primitive.color.neutral.300}"
1700
1835
  }
1701
1836
  }
1702
1837
  }
1703
1838
  },
1704
1839
  "subtle": {
1705
- "$value": "{primitive.color.blue.50}",
1840
+ "$value": "{primitive.color.neutral.100}",
1706
1841
  "$description": "Low-emphasis accent tint for hover backgrounds and selection highlights.",
1707
1842
  "$extensions": {
1708
1843
  "com.figma.variables": {
1709
1844
  "modes": {
1710
- "Light": "{primitive.color.blue.50}",
1711
- "Dark": "{primitive.color.blue.900}"
1845
+ "Light": "{primitive.color.neutral.100}",
1846
+ "Dark": "{primitive.color.neutral.800}"
1712
1847
  }
1713
1848
  }
1714
1849
  }
@@ -1717,8 +1852,8 @@
1717
1852
  "radius": {
1718
1853
  "action": {
1719
1854
  "$type": "dimension",
1720
- "$value": "{primitive.radius.12}",
1721
- "$description": "Corner radius for interactive action elements like buttons and inputs."
1855
+ "$value": "{primitive.radius.8}",
1856
+ "$description": "The shape knob. Corner radius for interactive action elements (buttons, inputs, badges, alerts, segmented items). Tailwind's rounded-md resolves to exactly this value via --role-radius; containers are one step above it at rounded-lg. Override role.radius in a tenant overlay to reshape the whole system from one value."
1722
1857
  }
1723
1858
  },
1724
1859
  "borderWidth": {
@@ -2129,17 +2264,17 @@
2129
2264
  "border": {
2130
2265
  "rest": {
2131
2266
  "$type": "color",
2132
- "$value": "{semantic.color.border.default}",
2267
+ "$value": "{semantic.color.border.interactive}",
2133
2268
  "$description": "Secondary button border."
2134
2269
  },
2135
2270
  "hover": {
2136
2271
  "$type": "color",
2137
- "$value": "{semantic.color.border.default}",
2272
+ "$value": "{semantic.color.border.interactive}",
2138
2273
  "$description": "Secondary button hover border."
2139
2274
  },
2140
2275
  "pressed": {
2141
2276
  "$type": "color",
2142
- "$value": "{semantic.color.border.default}",
2277
+ "$value": "{semantic.color.border.interactive}",
2143
2278
  "$description": "Secondary button pressed border."
2144
2279
  },
2145
2280
  "disabled": {
@@ -2166,7 +2301,7 @@
2166
2301
  },
2167
2302
  "border": {
2168
2303
  "$type": "color",
2169
- "$value": "{semantic.color.border.default}"
2304
+ "$value": "{semantic.color.border.interactive}"
2170
2305
  },
2171
2306
  "borderError": {
2172
2307
  "$type": "color",
@@ -2306,7 +2441,7 @@
2306
2441
  },
2307
2442
  "input": {
2308
2443
  "$type": "color",
2309
- "$value": "{semantic.color.border.default}",
2444
+ "$value": "{semantic.color.border.interactive}",
2310
2445
  "$description": "Input field border. shadcn role: input."
2311
2446
  },
2312
2447
  "ring": {