Pure structural move, no API or behaviour change: tabs.js/tabs.css move into shared/src/tabs/, matching the one-dir-per-component layout the other shared components already use (hive-btn, hive-dialog, hive-toast, hive-menu, side-panel). Both files are consumed exclusively through @hive/shared's package.json exports map (./tabs.js, ./tabs.css), never by a raw relative path, so updating the two export targets is the only change needed -- none of the 9 call sites (dashboard tabbar, logs, core, builds, credentials, stats x2, agent stats) touch anything. Verified the built dashboard/agent bundles still resolve both files correctly.
37 lines
1,023 B
CSS
37 lines
1,023 B
CSS
/* Shared tab-strip chrome — the generic tab/sub-tab styling used across
|
|
the dashboard tabbar, the logs sub-tabs, and the agent stat-window
|
|
selector. Behaviour lives in `@hive/shared/tabs.js` (createTabStrip).
|
|
|
|
Colours come from the semantic theme layer (theme.css → colors.css),
|
|
so this inherits theme-swap safety for free. Call sites keep a thin
|
|
variant class for size/spacing deltas; richer affordances (count
|
|
pills, the dashboard's responsive overflow ⋮ menu) layer on top in the
|
|
per-page CSS. See docs/web-ui/css-vars.md. */
|
|
|
|
.hive-tabbar {
|
|
display: flex;
|
|
gap: 0.2em;
|
|
}
|
|
|
|
.hive-tab {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 0.35em 0.9em;
|
|
border-radius: 4px;
|
|
color: var(--subtext0);
|
|
text-decoration: none;
|
|
font-size: 0.85em;
|
|
letter-spacing: 0.05em;
|
|
cursor: pointer;
|
|
transition: background 100ms, color 100ms;
|
|
}
|
|
|
|
.hive-tab:hover {
|
|
background: var(--border);
|
|
color: var(--fg);
|
|
}
|
|
|
|
.hive-tab--active {
|
|
background: var(--border);
|
|
color: var(--purple);
|
|
}
|