anentrypoint-design 0.0.401 → 0.0.402

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/community.css CHANGED
@@ -204,14 +204,14 @@
204
204
  font-weight: 600;
205
205
  font-size: var(--fs-sm);
206
206
  letter-spacing: -0.01em;
207
- cursor: pointer;
208
- transition: background var(--dur-snap) var(--ease);
209
- user-select: none;
207
+ /* No cursor:pointer, no :hover background, no user-select:none. This is a
208
+ static <div> (community/navigation.js) with no handler and no role — it
209
+ just names the current server. Those three properties are the vocabulary
210
+ of a pressable control, so together they promised a menu that does not
211
+ exist: the pointer and the hover highlight both invited a click that
212
+ nothing answers. Restore them only alongside a real handler + role. */
210
213
  flex-shrink: 0;
211
214
  }
212
- .cm-server-header:hover {
213
- background: color-mix(in oklab, var(--fg) 6%, var(--bg-2));
214
- }
215
215
  .cm-server-header-name {
216
216
  flex: 1;
217
217
  min-width: 0;
@@ -790,6 +790,11 @@
790
790
  }
791
791
 
792
792
  .cm-chat-header-name {
793
+ /* This is an <h1> (it is the visible title of the content column, and the
794
+ community kits otherwise rendered no heading at all). The rule already
795
+ pinned weight/size/colour, but a bare h1 also brings a UA block margin
796
+ that would break this flex row — so the margin is zeroed explicitly. */
797
+ margin: 0;
793
798
  font-weight: 600;
794
799
  font-size: var(--fs-sm);
795
800
  color: var(--fg);
package/dist/247420.css CHANGED
@@ -1114,6 +1114,14 @@
1114
1114
  padding: var(--space-5) var(--space-3);
1115
1115
  font-size: var(--fs-sm);
1116
1116
  }
1117
+ /* Sidebar section wrapper emitted by Side() (src/components/shell/app-shell.js).
1118
+ It is the `role="group"` that owns the heading + its links, so it must be the
1119
+ thing that groups them visually too: without a rule it was a bare block, and
1120
+ the only separation between sections came from .app-side's own flex gap —
1121
+ which meant the heading floated equidistant between the group it labels and
1122
+ the one above it. Stacking the group's own children tightly re-attaches the
1123
+ heading to its links. */
1124
+ .ds-247420 .app-side-group { display: flex; flex-direction: column; gap: var(--space-hair); }
1117
1125
  .ds-247420 .app-side .group {
1118
1126
  font-size: var(--fs-xs); font-weight: 600;
1119
1127
  color: var(--fg-3); padding: 0 var(--space-3);
@@ -1134,7 +1142,20 @@
1134
1142
  @media (pointer: coarse) {
1135
1143
  .ds-247420 .app-side a { min-height: 44px; padding: var(--space-2-75) var(--space-3); }
1136
1144
  }
1137
- .ds-247420 .app-side a:hover { background: var(--bg-2); color: var(--fg); }
1145
+ /* A sidebar row with no href and no handler is a static label, not a control:
1146
+ Side() emits it as an <a> only so it keeps the grid layout above. It must not
1147
+ claim to be pressable — no pointer, no hover highlight. (An anchor without
1148
+ href is already skipped by the tab order and exposed as generic, not link.) */
1149
+ .ds-247420 .app-side a:not([href]) { cursor: default; }
1150
+ /* An entry naming a section/tag that does not exist yet — in the sidebar tree
1151
+ or the topbar nav. It stays visible so the intended shape of the docs is
1152
+ legible, but it is not a link and must not read as one: dimmed, and inert
1153
+ like any other href-less anchor. Both selectors are needed because the two
1154
+ navs style their anchors separately. */
1155
+ .ds-247420 .app-side a.is-unwritten,
1156
+ .ds-247420 .app-topbar nav a.is-unwritten { color: var(--fg-3); cursor: default; }
1157
+ .ds-247420 .app-topbar nav a.is-unwritten:hover { background: none; color: var(--fg-3); }
1158
+ .ds-247420 .app-side a[href]:hover { background: var(--bg-2); color: var(--fg); }
1138
1159
  .ds-247420 .app-side a:focus-visible {
1139
1160
  outline: var(--focus-w) solid var(--focus-color);
1140
1161
  outline-offset: var(--focus-offset);
@@ -1438,6 +1459,15 @@
1438
1459
  .ds-247420 .chip.tone-wip, .ds-247420 .chip.tone-neutral {
1439
1460
  background: var(--bg-3); color: var(--fg-2);
1440
1461
  }
1462
+ /* `.chip.accent` is the bare-adjective spelling of tone-accent (ui_kits/blog
1463
+ uses it for a "draft" chip). It had no rule anywhere, so an accented chip
1464
+ rendered byte-identical to a plain one. Folded into the alias grouping rather
1465
+ than given its own block, so the two spellings cannot drift apart. --accent
1466
+ is the FILL and --accent-ink the readable text tone (AGENTS.md) — the bare
1467
+ lead is ~1.07:1 on paper and unreadable as text. */
1468
+ .ds-247420 .chip.accent, .ds-247420 .chip.tone-accent {
1469
+ background: var(--accent-tint); color: var(--accent-ink);
1470
+ }
1441
1471
  /* tone-dim was applied by five kits (aicat, project_page, signin, system_primer,
1442
1472
  terminal) with no rule anywhere, so a "dim" chip rendered byte-identical to a
1443
1473
  plain one — measured at rgb(234,230,218) on rgb(31,31,38), same opacity. It is
@@ -1495,6 +1525,19 @@
1495
1525
  font-family: var(--ff-mono); font-size: var(--fs-tiny);
1496
1526
  opacity: 0.8;
1497
1527
  }
1528
+ /* Glyph() (src/components/shell/atoms.js) emits `glyph glyph-{size}` and an
1529
+ inline `font-size: var(--glyph-size-{size}, <literal>)`. The custom property
1530
+ is the documented theming hook — it is what lets a theme retune glyph scale
1531
+ without touching the component — but nothing declared it, so every glyph fell
1532
+ through to the hard-coded inline literal and the hook was inert. Declaring
1533
+ the three rungs on the scale makes the hook real; the sm/lg classes also give
1534
+ the box a matching footprint instead of the one-size 18px square. */
1535
+ /* Values mirror Glyph()'s own inline fallbacks exactly (11 / 13 / 16px), so
1536
+ declaring the hook changes nothing visually — it only makes the property
1537
+ themeable, which is what it always claimed to be. */
1538
+ .ds-247420 .glyph { --glyph-size-sm: var(--fs-nano); --glyph-size-base: var(--fs-tiny); --glyph-size-lg: var(--fs-body); }
1539
+ .ds-247420 .glyph-sm { width: 14px; height: 14px; }
1540
+ .ds-247420 .glyph-lg { width: 22px; height: 22px; }
1498
1541
 
1499
1542
  /* ============================================================
1500
1543
  Panel — soft tonal container, no border decoration
@@ -1653,10 +1696,19 @@
1653
1696
  takes the full width instead of wrapping in the narrow code gutter. */
1654
1697
  .ds-247420 .row.row-nocode { grid-template-columns: minmax(0, 1fr) auto; }
1655
1698
 
1656
- .ds-247420 .row .code { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
1699
+ /* `.row-code` / `.row-title` / `.row-meta` are the BEM-ish spelling of the same
1700
+ three cells as `.code` / `.title` / `.meta`. Both spellings are live in the
1701
+ wild (preview/index-row.html uses the hyphenated one), and a cell that
1702
+ matches no rule falls back to browser defaults — 16px body text in all three
1703
+ tracks, which is precisely the undifferentiated render the specimen page was
1704
+ shipping. Aliased rather than renamed so neither spelling can silently go
1705
+ unstyled again. */
1706
+ .ds-247420 .row .code,
1707
+ .ds-247420 .row .row-code { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
1657
1708
  /* Title defaults to the quiet app voice (fs-sm/500) — the 18px/600 marketing
1658
1709
  voice is now opt-in via .row--lede. */
1659
- .ds-247420 .row .title { font-family: var(--ff-body); font-weight: 500; font-size: var(--fs-sm); line-height: var(--lh-snug); display: flex; align-items: baseline; gap: var(--space-2-5); flex-wrap: wrap; min-width: 0; }
1710
+ .ds-247420 .row .title,
1711
+ .ds-247420 .row .row-title { font-family: var(--ff-body); font-weight: 500; font-size: var(--fs-sm); line-height: var(--lh-snug); display: flex; align-items: baseline; gap: var(--space-2-5); flex-wrap: wrap; min-width: 0; }
1660
1712
  .ds-247420 .row .title .sub { font-family: var(--ff-body); font-weight: 400; font-size: var(--fs-sm); color: var(--fg-3); }
1661
1713
  /* Marketing/editorial index row — restores the roomier padding + larger title
1662
1714
  the default carried before app-scale became the base. */
@@ -1672,7 +1724,20 @@
1672
1724
  /* Context-pane cwd fact reads as a path (like .ds-dash-cwd/.ds-session-agent/
1673
1725
  .ds-dash-model) -- scoped to that one row so no other Row .sub is affected. */
1674
1726
  .ds-247420 .ds-context-cwd-row .row .sub { font-family: var(--ff-mono); }
1675
- .ds-247420 .row .meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; align-self: center; }
1727
+ .ds-247420 .row .meta,
1728
+ .ds-247420 .row .row-meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; align-self: center; }
1729
+ /* `.row-meta` carries free prose ("state machine · 3k · shipping"), unlike
1730
+ `.meta`'s short tabular counts — so it wraps instead of forcing the row's
1731
+ third track wide enough to overflow a phone viewport. */
1732
+ .ds-247420 .row .row-meta { white-space: normal; }
1733
+ /* Hairline-divided index list. `.row` is deliberately hairline-FREE (the rail
1734
+ is the affordance), but an editorial index reads as a printed table of
1735
+ contents: the divider IS the structure, which is what
1736
+ preview/index-row.html's caption claims. Opt-in on the container so no
1737
+ existing rail-based list changes. */
1738
+ .ds-247420 .row-list > .row + .row { margin-top: 0; border-top: 1px solid var(--rule); border-radius: 0; }
1739
+ .ds-247420 .row-list > .row:first-child { border-radius: var(--r-1) var(--r-1) 0 0; }
1740
+ .ds-247420 .row-list > .row:last-child { border-radius: 0 0 var(--r-1) var(--r-1); }
1676
1741
  /* WorksList meta pairs a label with a disclosure chevron, inline-aligned. */
1677
1742
  .ds-247420 .ds-works-meta { display: inline-flex; align-items: center; gap: .4em; }
1678
1743
 
@@ -6941,14 +7006,14 @@
6941
7006
  font-weight: 600;
6942
7007
  font-size: var(--fs-sm);
6943
7008
  letter-spacing: -0.01em;
6944
- cursor: pointer;
6945
- transition: background var(--dur-snap) var(--ease);
6946
- user-select: none;
7009
+ /* No cursor:pointer, no :hover background, no user-select:none. This is a
7010
+ static <div> (community/navigation.js) with no handler and no role — it
7011
+ just names the current server. Those three properties are the vocabulary
7012
+ of a pressable control, so together they promised a menu that does not
7013
+ exist: the pointer and the hover highlight both invited a click that
7014
+ nothing answers. Restore them only alongside a real handler + role. */
6947
7015
  flex-shrink: 0;
6948
7016
  }
6949
- .ds-247420 .cm-server-header:hover {
6950
- background: color-mix(in oklab, var(--fg) 6%, var(--bg-2));
6951
- }
6952
7017
  .ds-247420 .cm-server-header-name {
6953
7018
  flex: 1;
6954
7019
  min-width: 0;
@@ -7527,6 +7592,11 @@
7527
7592
  }
7528
7593
 
7529
7594
  .ds-247420 .cm-chat-header-name {
7595
+ /* This is an <h1> (it is the visible title of the content column, and the
7596
+ community kits otherwise rendered no heading at all). The rule already
7597
+ pinned weight/size/colour, but a bare h1 also brings a UA block margin
7598
+ that would break this flex row — so the margin is zeroed explicitly. */
7599
+ margin: 0;
7530
7600
  font-weight: 600;
7531
7601
  font-size: var(--fs-sm);
7532
7602
  color: var(--fg);
@@ -10319,8 +10389,14 @@
10319
10389
  font: var(--fs-tiny, 12px)/1 var(--ff-mono, monospace);
10320
10390
  color: var(--panel-text-3, var(--fg-3));
10321
10391
  }
10392
+ /* 24px pointer-target floor on both pager controls. Measured live on a real
10393
+ paged table: the prev/next buttons rendered 36x21 and the numbered ones
10394
+ 23x21 -- under the minimum target size in height for both, and in BOTH axes
10395
+ for the numbered case. Padding alone cannot guarantee the floor because
10396
+ font-size varies per consumer, so it is stated explicitly. */
10322
10397
  .ds-247420 .ds-ep-pager-btn {
10323
10398
  appearance: none; cursor: pointer;
10399
+ min-height: 24px;
10324
10400
  background: var(--panel-2, var(--bg-2));
10325
10401
  border: 1px solid var(--rule);
10326
10402
  color: var(--panel-text, var(--fg));
@@ -10335,10 +10411,13 @@
10335
10411
  .ds-247420 .ds-ep-pager-numbered { flex-wrap: wrap; }
10336
10412
  .ds-247420 .ds-ep-pager-num {
10337
10413
  appearance: none; cursor: pointer;
10414
+ min-height: 24px;
10338
10415
  background: var(--panel-2, var(--bg-2));
10339
10416
  border: 1px solid var(--rule);
10340
10417
  color: var(--panel-text, var(--fg));
10341
- min-width: 1.75em;
10418
+ /* max() rather than a bare 1.75em: at the small font a pager uses, 1.75em
10419
+ computed to 23px -- just under the target floor. */
10420
+ min-width: max(24px, 1.75em);
10342
10421
  padding: var(--space-half, 3px) var(--space-1, 4px);
10343
10422
  border-radius: var(--r-1, 4px);
10344
10423
  font: inherit;