hyperhive/frontend/packages/shared/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris d79df3883d frontend: shadow-DOM upgrade for hive-dialog/hive-toast, drop global modal.css
Follow-up to the light-DOM custom-elements pilot (mara: 'that one landed
and works. i dont really like the css still being shared - id like that
to be split by component, with common stuff via @include').

<hive-dialog> and <hive-toast> now attach a shadow root and adopt a
component-scoped CSSStyleSheet built from a template-string constant in
modal.js (DIALOG_CSS / TOAST_CSS), plus a new shared/src/component-
styles.js sheet (currently just .btn) adopted alongside it via
adoptedStyleSheets -- the native equivalent of a Sass @include, no
preprocessor added. Theme vars keep resolving through the shadow
boundary since CSS custom properties inherit across it; only plain
class rules needed the explicit move.

Deleted the global shared/src/modal.css entirely and dropped its
@import from both dashboard/common.css and agent/agent.css -- nothing
outside modal.js renders the old .tc-* classes any more. The <hive-
dialog> element is now the backdrop itself (:host carries the fixed-
position/centering rules that used to be .tc-backdrop on a light-DOM
div); box/title/message/content/actions all render inside its shadow
root. <hive-toast> similarly styles :host directly instead of a light-
DOM div, with the message text placed straight into the shadow root
(no <slot> needed since there's no external light-DOM content to
project).

Public API (openDialog/themedConfirm/themedPrompt/themedToast)
unchanged -- no call-site changes needed anywhere in dashboard/agent.

Verified with a full frontend build; nix fmt clean.
2026-07-29 12:55:54 +02:00
..
base.css frontend: move shared spinner CSS out of dashboard.css into shared/base.css 2026-07-27 18:32:54 +02:00
chrome.css fix(dashboard): keep the logs ← home link + sub-tabs on one row 2026-06-10 19:51:34 +02:00
colors.css refactor(frontend): base16 theme contract in a swappable colors.css 2026-06-08 21:24:07 +02:00
component-styles.js frontend: shadow-DOM upgrade for hive-dialog/hive-toast, drop global modal.css 2026-07-29 12:55:54 +02:00
dom.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
forms.js frontend: extract themed dialogs + async-form handler to shared, wire agent UI 2026-07-27 18:55:17 +02:00
index.js frontend: add npm workspace scaffold under frontend/ 2026-05-23 14:51:01 +02:00
modal.js frontend: shadow-DOM upgrade for hive-dialog/hive-toast, drop global modal.css 2026-07-29 12:55:54 +02:00
tabs.css refactor(frontend): add createTabStrip + migrate logs sub-tabs (#1464 step 1) 2026-06-08 22:13:41 +02:00
tabs.js refactor(frontend): add createTabStrip + migrate logs sub-tabs (#1464 step 1) 2026-06-08 22:13:41 +02:00
terminal.css fix(term): flex layout for details summary, fix thinking brain icon column 2026-07-05 12:10:24 +02:00
terminal.js refactor(term): add mutableRow to terminal api, use it for thinking_tokens 2026-07-05 12:39:26 +02:00
theme.css ci: tighten tracker-tag lint to exclude digit-runs glued to a letter (#1555) 2026-06-09 13:42:20 +02:00