v141 · css
Theme Snapshot
Click any component to snapshot all its CSS custom properties via getComputedStyle(). Chrome 141 fixed the bug where custom properties were missing from CSSStyleDeclaration enumeration — this tool uses that fix to extract, group, and export every design token scoped to any element, without crawling stylesheets.
Brand component
Primary blue design system. Defines 10 custom properties for colours, spacing, and typography.
Emerald component
Green palette with rounded corners. A different spacing scale and font weight versus the brand theme.
Warm component
Orange-rust palette with sharp corners and a larger base font. All tokens differ from the other themes.
Before Chrome 141 vs After
Before — Chrome <141
Custom properties were missing from enumeration. getComputedStyle(el).length only counted standard properties. Custom properties had to be found by crawling document.styleSheets.
After — Chrome 141+
Custom properties appear in CSSStyleDeclaration enumeration. Iterate the style object directly — inherited values, !important, and cascade all resolved correctly.
/* Enumerate all custom properties on an element */
function snapshotTokens(el) {
const style = window.getComputedStyle(el);
const tokens = {};
// Chrome 141+: custom properties appear in enumeration
for (const prop of style) {
if (prop.startsWith('--')) {
tokens[prop] = style.getPropertyValue(prop).trim();
}
}
// style.length now includes custom properties too
console.log(`Total properties: ${style.length}`);
console.log(`Custom properties: ${Object.keys(tokens).length}`);
return tokens;
}