aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/app-util.js
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-23 19:34:01 -0400
committerCraig Jennings <c@cjennings.net>2026-06-23 19:34:01 -0400
commitadb192fe67681856095d9747fd3241f52c518d2d (patch)
tree39d679773963c3f3cc56d85342e4cb99ce43dc42 /scripts/theme-studio/app-util.js
parentdee4284dd4defbfb1a25a2d503de12bf2256fe1e (diff)
downloaddotemacs-adb192fe67681856095d9747fd3241f52c518d2d.tar.gz
dotemacs-adb192fe67681856095d9747fd3241f52c518d2d.zip
feat(theme-studio): locate preview elements by hover and click
Hovering a data-face preview element shows its section, face, and effective value in the preview-label info line, and the element's title carries the full record: effective fg/bg plus a per-attribute source note (direct, inherited-from-X, default, or cleared-rendering-as-default). Clicking an on-pane element scrolls to and flashes its assignment row. Off-pane and cross-surface elements stay hover-only. A single owner-qualified registry keyed by {owner, face} backs both data-face surfaces, package and UI, so the same face name under two owners never collides. The pure helpers in app-core.js take all state as arguments and return data. The one stateful adapter, previewSpan, lives in previews.js and emits the escaped markup. os() stays a package-owner wrapper over previewSpan, and a unified locateClick dispatcher replaces the per-surface click branches. Covered by test-locate.mjs and four new browser gates. Full harness green.
Diffstat (limited to 'scripts/theme-studio/app-util.js')
0 files changed, 0 insertions, 0 deletions