UNPKG

mostly-dom

Version:
44 lines 1.77 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); } return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import { BaseModule } from './BaseModule'; import { emptyVNode } from './emptyVNode'; export function createClassModule() { return new ClassModule(); } var ClassModule = /** @class */ (function (_super) { __extends(ClassModule, _super); function ClassModule() { return _super !== null && _super.apply(this, arguments) || this; } ClassModule.prototype.create = function (vNode) { updateClass(emptyVNode, vNode); }; ClassModule.prototype.update = function (formerVNode, vNode) { updateClass(formerVNode, vNode); }; return ClassModule; }(BaseModule)); function updateClass(formerVNode, vNode) { var _a = formerVNode.props.class, formerClass = _a === void 0 ? {} : _a, formerElement = formerVNode.element; var _b = vNode.props.class, klass = _b === void 0 ? {} : _b, element = vNode.element; if (formerClass === klass) return; for (var name_1 in formerClass) if (!klass[name_1]) formerElement.classList.remove(name_1); for (var name_2 in klass) if (klass[name_2] !== formerClass[name_2]) element.classList.toggle(name_2); } //# sourceMappingURL=class.js.map