frontend: drop the Panel forwarding object and the side-panel-body compat class
Per mara's review: '2 and maybe 1, but 3 also sounds reasonable on first
glance' (against 3 options I posted). Doing 2 and 1, leaving open()/
openNamed() as-is (option 3, tentative only).
Both dashboard/common.js and agent/app.js now export/use the
<hive-side-panel> element instance directly (sidePanel) instead of a
thin Panel = { open, openNamed, refresh, close } object that existed
purely to keep the old call-site shape unchanged. All 6 real call sites
updated to call the element's own methods directly.
The .side-panel-body class each wrapper stamped onto its own instance,
purely so common.css/agent.css's pre-existing content-styling selectors
kept matching, is gone too -- those selectors now use the element's own
tag name as the root (hive-side-panel .md, hive-side-panel .agent-inbox),
which already uniquely identifies the light-DOM instance without a
compatibility class. Verified via headless Chromium/CDP that the
tag-name selectors resolve correctly with no class needed.
Drive-by: removed an unrelated dead Panel import in call.js.
This commit is contained in:
parent
996899fcad
commit
399a837e17
8 changed files with 73 additions and 90 deletions
|
|
@ -9,11 +9,11 @@
|
|||
it is slotted, so this file needs zero `::slotted()`. The one slotted
|
||||
node (the caller's opaque content, passed to open()/openNamed()/
|
||||
refresh()) is intentionally un-styled from in here: each package's own
|
||||
content-type-specific rules (`.side-panel-body .md` in the dashboard,
|
||||
`.side-panel-body .agent-inbox` in the agent UI) live in that package's
|
||||
own global stylesheet and reach the slotted content via a light-DOM
|
||||
class its own wrapper puts directly on its `<hive-side-panel>` instance
|
||||
— same architecture floor as `<hive-menu>`'s item-row styling, not a
|
||||
content-type-specific rules (`hive-side-panel .md` in the dashboard,
|
||||
`hive-side-panel .agent-inbox` in the agent UI) live in that package's
|
||||
own global stylesheet and reach the slotted content via the element's
|
||||
own tag name as the selector root — no compatibility class needed,
|
||||
same architecture floor as `<hive-menu>`'s item-row styling, not a
|
||||
scope choice.
|
||||
|
||||
`:host(.open)`/`:host(.resizing)` respond to the two state classes the
|
||||
|
|
|
|||
Loading…
Reference in a new issue