fix(css): leave tailwind theme vars on :root so obsidian's accent wins inside the view

This commit is contained in:
hh committed 2026-08-29 19:42:54 +02:00
1 parent 8c971e431a
commit 4f485b0bc4
2 files changed
+6 -7

No files matched your search

+4 -5
View File
@@ -12,8 +12,9 @@ import { transform } from "lightningcss";
* order, while still reaching the view root itself and the portal layer,
* both of which carry `.bcal-root`.
*
* Theme variables move from `:root, :host` onto `.bcal-root` for the same
* reason: a later `:root{--spacing:…}` from someone else must not resize us.
* Tailwind's own theme variables stay on `:root, :host`: moved onto the view
* root they would sit above Obsidian's `body` values, and `--color-accent`
* is a name both sides use — the accent would turn into the hover grey.
*/
const ROOT = "bcal-root";
@@ -48,9 +49,7 @@ function mentions(selector, name) {
}
function scopeSelector(selector) {
if (isPseudo(selector, "root")) return [{ type: "class", name: ROOT }];
// `:root, :host` is one rule; the root alone carries it, so :host goes.
if (isPseudo(selector, "host")) return [];
if (isPseudo(selector, "root") || isPseudo(selector, "host")) return selector;
if (mentions(selector, ROOT)) return selector;
// `*` has to open a compound, and :is() takes that place now.
const rest = selector[0]?.type === "universal" ? selector.slice(1) : selector;