anentrypoint-design 0.0.463 → 0.0.464

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anentrypoint-design",
3
- "version": "0.0.463",
3
+ "version": "0.0.464",
4
4
  "description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
5
5
  "type": "module",
6
6
  "main": "./dist/247420.js",
@@ -40,6 +40,13 @@ export function Topbar({ brand = '247420', leaf = '', items = [], active = '', o
40
40
  if (!String(href).startsWith('http') && onNav) {
41
41
  e.preventDefault();
42
42
  onNav(cleanLabel);
43
+ // preventDefault above blocks the browser's own
44
+ // anchor-jump, so a #-target must be scrolled to
45
+ // manually or the click looks purely decorative.
46
+ if (String(href).startsWith('#')) {
47
+ const target = document.getElementById(href.slice(1));
48
+ if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });
49
+ }
43
50
  }
44
51
  }
45
52
  }, label);
@@ -186,6 +186,29 @@ h3 + .lede, h3 + .t-lede,
186
186
  margin-top: var(--space-2);
187
187
  }
188
188
 
189
+ /* A lede immediately followed by the article body is a named pairing too --
190
+ same rationale as the heading+lede gap above. Without this, .lede's
191
+ margin:0 leaves zero space above the first paragraph while every
192
+ paragraph-to-paragraph gap below it uses --space-4 (.ds-prose p), so the
193
+ dek reads as glued to the body it introduces. */
194
+ .lede + .post-body, .t-lede + .post-body,
195
+ .lede + .ds-prose, .t-lede + .ds-prose {
196
+ margin-top: var(--space-4);
197
+ }
198
+
199
+ /* Same gap-ownership problem again for .ds-section (hero-content.css):
200
+ `* + .ds-section { margin-top: 0 }` deliberately relies on the PRECEDING
201
+ sibling supplying the lead-in space, so two spacing primitives can
202
+ coordinate into one gap instead of stacking. .lede supplies none (margin:0
203
+ by design), so a lede-then-section pairing (e.g. project_page's h1 -> lede
204
+ -> "install" section) collapses to a flush 0px gap instead of inheriting
205
+ .ds-section's own --space-8 lead. Measured live on project_page: the
206
+ "install" h3 sat ~4px from the lede above it (padding only) vs the
207
+ intended --space-8/2 gap other section-adjacent siblings get. */
208
+ .lede + .ds-section, .t-lede + .ds-section {
209
+ margin-top: var(--space-8);
210
+ }
211
+
189
212
  .eyebrow {
190
213
  font-family: var(--ff-mono);
191
214
  font-size: var(--fs-tiny);
@@ -299,6 +299,13 @@ table th {
299
299
  color: var(--fg-3); text-transform: uppercase; letter-spacing: var(--tr-caps);
300
300
  background: var(--bg-2);
301
301
  }
302
+ /* letter-spacing adds trailing space AFTER the last glyph too, but the table's
303
+ own border-radius+overflow:hidden (above) clips flush to the card edge --
304
+ the last header's positive tracking bleeds past its own padding box and
305
+ gets cropped mid-word ("STATUS" -> "STATI"). Absorb that bleed with a bit
306
+ of extra right padding on the last column only, so no header text sits
307
+ closer to the clip edge than --tr-caps can push it. */
308
+ table th:last-child { padding-right: calc(var(--space-2-75) + var(--tr-caps, 0px)); }
302
309
  table td { padding: calc(var(--space-2) * var(--density)) var(--space-2-75); border-top: 1px solid var(--rule); }
303
310
  table tr.clickable { cursor: pointer; }
304
311
  table tr.clickable:hover td { background: var(--bg-2); }
@@ -422,6 +422,40 @@ hr.rule-dotted { border-top: 1px dotted var(--rule-strong); }
422
422
  border-bottom-color: var(--accent-ink);
423
423
  }
424
424
 
425
+ /* Switch primitive (form-primitives.js Toggle) -- track + sliding knob.
426
+ Previously unstyled anywhere in this repo (a bare button with no visible
427
+ affordance), so every real consumer resorted to a local literal-bracket-
428
+ text reimplementation ('[x] on'/'[ ] off') instead. Sized off --space
429
+ tokens: a 40x22 track (2x11 knob diameter + 2px inset each side) is the
430
+ standard iOS/Material switch proportion, not an arbitrary literal. */
431
+ .ds-toggle {
432
+ appearance: none; -webkit-appearance: none;
433
+ display: inline-flex; align-items: center; flex-shrink: 0;
434
+ width: 40px; height: 22px; padding: 2px;
435
+ border: 1px solid var(--rule-strong); border-radius: var(--r-pill, 999px);
436
+ background: var(--bg-3); box-shadow: none; cursor: pointer;
437
+ transition: background-color var(--dur-snap) var(--ease), border-color var(--dur-snap) var(--ease);
438
+ }
439
+ .ds-toggle-knob {
440
+ width: 16px; height: 16px; border-radius: 50%;
441
+ background: var(--fg-3);
442
+ transition: transform var(--dur-snap) var(--ease), background-color var(--dur-snap) var(--ease);
443
+ }
444
+ .ds-toggle[aria-checked="true"] {
445
+ background: var(--accent-ink); border-color: var(--accent-ink);
446
+ }
447
+ .ds-toggle[aria-checked="true"] .ds-toggle-knob {
448
+ background: var(--panel-0, #fff);
449
+ transform: translateX(18px);
450
+ }
451
+ .ds-toggle:disabled { opacity: 0.5; cursor: not-allowed; }
452
+ .ds-toggle:focus-visible {
453
+ outline: var(--focus-w) solid var(--focus-color);
454
+ outline-offset: var(--focus-offset);
455
+ }
456
+ .ds-toggle-row { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; }
457
+ .ds-toggle-row .ds-toggle-label { color: inherit; }
458
+
425
459
  /* -- Field controls: themed base for TextField / Select / SearchInput --
426
460
  Root fix: previously only `transition` was set, so themed apps got
427
461
  browser-default white boxes in dark mode and labels collided with inputs