From 0cc27fe0baf0c5e14c34ebd7ee9cd0729fef7f41 Mon Sep 17 00:00:00 2001 From: Brian Love Date: Fri, 1 May 2026 18:29:15 -0700 Subject: [PATCH] fix(chat): make theming actually work (0.0.5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 0.0.4 architecture set design tokens on every chat component's :host. Two consequences that broke the documented theming contract: 1. Direct-on-host token settings shadow CSS inheritance from :root, regardless of specificity. So a consumer's `:root { --ngaf-chat-primary: blue; }` (specificity 0,0,1) was ignored — `[_nghost-c123] { --ngaf-chat-primary: dark; }` (0,1,0, targeting the chat element directly) won. 2. `:host([data-ngaf-chat-theme="dark"])` only matched the component's own host, not ancestors. And every child component (chat-input, chat-message, chat-window, ...) re-set light tokens on its own :host, shadowing parent attribute switches anyway. Fix: stop setting tokens on :host. Inject the defaults onto `:root` once via a shared `