@aesthetic/style
Version:
A low-level, high-performance, atomic-based CSS-in-JS style engine.
56 lines (43 loc) • 1.6 kB
JavaScript
// Bundled with Packemon: https://packemon.dev
// Platform: browser, Support: stable, Format: lib
;
Object.defineProperty(exports, '__esModule', {
value: true
});
require('@aesthetic/utils');
const sheet = require('./bundle-f8b1a29f.js');
const engine = require('./bundle-cfb1e92a.js'); // Rollup compatibility
function createTestCacheManager() {
return engine.createCacheManager();
}
function createTestSheetManager() {
return sheet.createSheetManager(sheet.createStyleElements());
}
function createTestStyleEngine(options = {}) {
return engine.createStyleEngine({
cacheManager: createTestCacheManager(),
sheetManager: createTestSheetManager(),
...options
});
}
function getRenderedStyles(type) {
return [...(typeof type === 'string' ? sheet.getStyleElement(type) : type).cssRules].reduce((css, rule) => css + rule.cssText, '');
}
function purgeStyles(type) {
if (type) {
var _document$querySelect;
// This is the only way to generate accurate snapshots.
// It may slow down tests though?
(_document$querySelect = document.querySelector(`#aesthetic-${type}`)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.remove();
} else {
purgeStyles('global');
purgeStyles('standard');
purgeStyles('conditions');
}
}
exports.createTestCacheManager = createTestCacheManager;
exports.createTestSheetManager = createTestSheetManager;
exports.createTestStyleEngine = createTestStyleEngine;
exports.getRenderedStyles = getRenderedStyles;
exports.purgeStyles = purgeStyles;
//# sourceMappingURL=test.js.map