fractal-core
Version:
A minimalist and well crafted app, content or component is our conviction
49 lines • 1.93 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("../core");
const typestyle_1 = require("typestyle");
// insert styles in a DOM container at head
exports.styleHandler = (containerName, debug = false, groupName = 'style') => mod => {
let container;
if (typeof window !== 'undefined') {
container = document.createElement('style');
// named container
if (containerName !== '' && containerName !== undefined) {
container.id = containerName;
}
document.head.appendChild(container);
}
let instance = typestyle_1.createTypeStyle(container);
let state = {
container,
instance,
};
let name, parts, style;
return {
state,
handle: (id, styleObj) => __awaiter(this, void 0, void 0, function* () {
if (debug) {
parts = id.split('$');
name = parts[parts.length - 1];
}
style = core_1.styleGroup(instance, styleObj, name);
instance.forceRenderStyles();
mod.setGroup(id, groupName, style);
}),
destroy: () => {
state = {};
if (container) {
container.remove();
}
},
};
};
//# sourceMappingURL=style.js.map