typebulb 0.37.2 → 0.38.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.
@@ -821,6 +821,10 @@ a.server-port:hover { text-decoration: underline; }
821
821
  row's snippet line bleeds under the next row as overlapping text. max-content tracks never
822
822
  compress; the list scrolls, rows keep their content height. */
823
823
  .bulb-list { display: grid; grid-template-columns: auto 1fr auto auto auto auto; grid-auto-rows: max-content; column-gap: .6rem; row-gap: .15rem; align-items: center; align-content: start; padding-right: 4px; flex: 1; min-height: 0; overflow-y: auto; }
824
+ /* The scope column (TB-Batch.md Invariant 7): a seventh track between name and the control
825
+ cluster, present only while some row carries a scope (bulbsPill.ts anyScope — rows emit a
826
+ matching cell, spacer included). The B affordance keeps it ~1.3rem wide. */
827
+ .bulb-list.has-scope { grid-template-columns: auto 1fr auto auto auto auto auto; }
824
828
  /* A stopped bulb's name isn't a link (no running URL), so it stays plain foreground. */
825
829
  .server-name.stopped { color: var(--fg); }
826
830
  /* Downloaded-bulb rows (TB-Agent-Mirror.md): the user link — the folder/user slug (`samples`) in
@@ -831,10 +835,21 @@ a.server-port:hover { text-decoration: underline; }
831
835
  .server-name.remote:hover { text-decoration: none; }
832
836
  .sample-link { color: var(--muted); font-size: .76rem; text-decoration: none; cursor: pointer; flex: none; }
833
837
  .sample-link:hover { color: var(--accent); text-decoration: underline; }
834
- /* A running row's --dir batch scope (bulbsPill.ts): a muted mono token after the name — the
835
- register of the sample-link/user slug, mono because it names a folder. */
836
- .bulb-dir { color: var(--muted); font-size: .76rem; font-family: ui-monospace, monospace; flex: none; }
837
- /* A remote pull's visible failure (bulbsPill.ts pullErrors) — the bulb-dir register, error-tinted. */
838
+ /* The batch affordance (bulbsPill.ts scopeCell, TB-Batch.md Invariant 7): one B glyph per row —
839
+ the row shows THAT a scope applies, the tooltip and click-menu name it. Dim = batches exist but
840
+ launch is unscoped; lit (.on) = play launches scoped (newest default) or running scoped.
841
+ Static (running) keeps the lit look without the hand cursor. */
842
+ .batch-b { font-size: .72rem; font-family: ui-monospace, monospace; line-height: 1; color: var(--muted); background: transparent; border: 1px solid var(--border); border-radius: 4px; width: 1.3rem; height: 1.15rem; padding: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
843
+ .batch-b.on { color: var(--accent); border-color: var(--accent); }
844
+ .batch-b.static { cursor: default; }
845
+ /* The B's menu rides the composer popup register (.at-popup/.at-row/.dlg-catcher — one mini-menu
846
+ UI across the mirror). Only the positioning is local: fixed coords (inline style, measured from
847
+ the B at open) so the scrolling list can't clip it, sized to its content instead of the
848
+ composer's full-width anchor. */
849
+ .at-popup.batch-pop { position: fixed; left: auto; right: auto; bottom: auto; width: max-content; min-width: 7rem; margin-inline: 0; }
850
+ /* 'unscoped' is the escape hatch, not a batch — a divider + muted italic set it apart from the list. */
851
+ .batch-pop .at-row.unscoped { color: var(--muted); font-style: italic; border-top: 1px solid var(--border); border-radius: 0 0 6px 6px; margin-top: .15rem; padding-top: .4rem; }
852
+ /* A remote pull's visible failure (bulbsPill.ts pullErrors) — the sample-link register, error-tinted. */
838
853
  .pull-error { color: var(--err); font-size: .76rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
839
854
  /* The remote fold (bulbsPill.ts groupRow / fold-row): the header and the remote rows within share
840
855
  one veil step over the menu's panel bg (the picker-peek shade) as ONE contiguous band — each