UNPKG

mostly-dom

Version:
47 lines 1.91 kB
"use strict"; 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 __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var BaseModule_1 = require("./BaseModule"); var emptyVNode_1 = require("./emptyVNode"); function createClassModule() { return new ClassModule(); } exports.createClassModule = createClassModule; 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_1.emptyVNode, vNode); }; ClassModule.prototype.update = function (formerVNode, vNode) { updateClass(formerVNode, vNode); }; return ClassModule; }(BaseModule_1.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