Files
v10/packages/html/src/ui/command-for.ts
T
2026-06-10 13:54:45 +10:00

13 lines
499 B
TypeScript

/** Toggle a popup host linked via `commandfor` (menu, popover, etc.). */
export function toggleCommandTarget(host: HTMLElement, commandfor: string): void {
const root = host.getRootNode() as Document | ShadowRoot;
const target =
('getElementById' in root ? root.getElementById(commandfor) : null) ??
root.querySelector<HTMLElement>(`#${CSS.escape(commandfor)}`);
if (!target || !('open' in target)) return;
const popup = target as { open: boolean };
popup.open = !popup.open;
}