@starci/grammar 0.4.6 → 0.4.8

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.
@@ -1195,10 +1195,17 @@
1195
1195
  }
1196
1196
 
1197
1197
  @container starci-core-primary-rail (max-width: 32rem) {
1198
+ /*
1199
+ * Collapsed to a column, the header stays a region boundary, not a tighter internal
1200
+ * rhythm - `PrimaryRailLayout` and `WorkspaceShell` both hold `--starci-core-region-gap`
1201
+ * across every collapse tier and only ever change track/area, never the gap itself. The
1202
+ * stamped `data-contract="GAP-5"` on this root must stay true here too, so this rule may
1203
+ * change direction and alignment but not the gap value.
1204
+ */
1198
1205
  .starci-core-section-header {
1199
1206
  align-items: flex-start;
1200
1207
  flex-direction: column;
1201
- gap: 0.75rem;
1208
+ gap: var(--starci-core-region-gap, 1.5rem);
1202
1209
  }
1203
1210
  }
1204
1211
 
@@ -1327,13 +1334,30 @@
1327
1334
  *
1328
1335
  * The feature layer is deliberately out of scope - its tabs are a Tabs branch, and a tab's
1329
1336
  * target is that branch's to answer.
1337
+ *
1338
+ * The primary destinations in the `navigation` slot carry the identical selector: a
1339
+ * `route`-appearance TextAction already meets the floor on its own (below), but the slot rule
1340
+ * is the family's general-purpose net for ANY pressable a consumer puts there, the same way the
1341
+ * action slots protect a control regardless of which leaf renders it.
1330
1342
  */
1331
1343
  .starci-core-navigation-feature-nav-actions :where(button, [role="button"], a[href]),
1344
+ .starci-core-navigation-feature-nav-navigation :where(button, [role="button"], a[href]),
1332
1345
  .starci-core-navigation-feature-nav-compact-navigation :where(button, [role="button"], a[href]) {
1333
1346
  min-inline-size: 44px;
1334
1347
  min-block-size: 44px;
1335
1348
  }
1336
1349
 
1350
+ /*
1351
+ * The identity slot's brand link is a `plain` TextAction used as a same-document pressable, not
1352
+ * a route: `plain` elsewhere in the family stays a compact inline mark with no reserved hit
1353
+ * area, so the floor is scoped to this one band slot instead of the bare `[data-appearance]`
1354
+ * rule, which would grow every quiet inline action across the app that never claimed to be a
1355
+ * touch target.
1356
+ */
1357
+ .starci-core-navigation-feature-nav-identity .starci-core-text-action[data-appearance="plain"] {
1358
+ min-block-size: var(--starci-core-control-min-size, 2.75rem);
1359
+ }
1360
+
1337
1361
  .starci-core-navigation-feature-nav-feature {
1338
1362
  width: 100%;
1339
1363
  padding-inline: 0.75rem;
@@ -2406,9 +2430,19 @@
2406
2430
  font-weight: 500;
2407
2431
  }
2408
2432
 
2433
+ /*
2434
+ * A `route` TextAction is always a destination, so its 44px floor is unconditional rather than
2435
+ * scoped to one composition: this is the SAME family law the band's action slots carry, applied
2436
+ * to a text-shaped pressable. `min-block-size` is used instead of a taller `padding-block`
2437
+ * because `route` draws no background at rest - only `data-current="true"` paints one - so the
2438
+ * extra block size is invisible chrome around unchanged FONT-2/PADDING-2 typography, not a
2439
+ * bigger pill. The band row still has 3rem (48px) to give a control after its own block inset,
2440
+ * so 44px fits with headroom and `--starci-core-band-height` is untouched.
2441
+ */
2409
2442
  .starci-core-text-action[data-appearance="route"] {
2410
2443
  border-radius: var(--starci-core-pill-radius, 999px);
2411
2444
  padding: 0.5rem 0.75rem;
2445
+ min-block-size: var(--starci-core-control-min-size, 2.75rem);
2412
2446
  color: var(--muted, var(--starci-core-muted, GrayText));
2413
2447
  }
2414
2448
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starci/grammar",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
5
5
  "keywords": [
6
6
  "starci",