@aesthetic/style
Version:
A low-level, high-performance, atomic-based CSS-in-JS style engine.
41 lines (34 loc) • 1.32 kB
JavaScript
// Bundled with Packemon: https://packemon.dev
// Platform: browser, Support: stable, Format: esm
import '@aesthetic/utils';
import { c as createSheetManager, a as createStyleElements, g as getStyleElement } from './bundle-f0e57f15.js';
import { d as createCacheManager, b as createStyleEngine } from './bundle-30cd3868.js'; // Rollup compatibility
function createTestCacheManager() {
return createCacheManager();
}
function createTestSheetManager() {
return createSheetManager(createStyleElements());
}
function createTestStyleEngine(options = {}) {
return createStyleEngine({
cacheManager: createTestCacheManager(),
sheetManager: createTestSheetManager(),
...options
});
}
function getRenderedStyles(type) {
return [...(typeof type === 'string' ? getStyleElement(type) : type).cssRules].reduce((css, rule) => css + rule.cssText, '');
}
function purgeStyles(type) {
if (type) {
// This is the only way to generate accurate snapshots.
// It may slow down tests though?
document.querySelector(`#aesthetic-${type}`)?.remove();
} else {
purgeStyles('global');
purgeStyles('standard');
purgeStyles('conditions');
}
}
export { createTestCacheManager, createTestSheetManager, createTestStyleEngine, getRenderedStyles, purgeStyles };
//# sourceMappingURL=test.js.map