@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
111 lines (86 loc) • 11.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isWhitespace = isWhitespace;
exports.DOMTreeConstruction = exports.default = exports.DOMChangesImpl = exports.DOM = void 0;
var _svgInnerHtmlFix = require("../compat/svg-inner-html-fix");
var _textNodeMergingFix = require("../compat/text-node-merging-fix");
var _operations = require("./operations");
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
subClass.__proto__ = superClass;
}
['b', 'big', 'blockquote', 'body', 'br', 'center', 'code', 'dd', 'div', 'dl', 'dt', 'em', 'embed', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'i', 'img', 'li', 'listing', 'main', 'meta', 'nobr', 'ol', 'p', 'pre', 'ruby', 's', 'small', 'span', 'strong', 'strike', 'sub', 'sup', 'table', 'tt', 'u', 'ul', 'var'].forEach(function (tag) {
return _operations.BLACKLIST_TABLE[tag] = 1;
});
var WHITESPACE = /[\t-\r \xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]/;
var doc = typeof document === 'undefined' ? null : document;
function isWhitespace(string) {
return WHITESPACE.test(string);
}
var DOM;
exports.DOM = DOM;
(function (DOM) {
var TreeConstruction = /*#__PURE__*/function (_DOMOperations) {
_inheritsLoose(TreeConstruction, _DOMOperations);
function TreeConstruction() {
return _DOMOperations.apply(this, arguments) || this;
}
var _proto = TreeConstruction.prototype;
_proto.createElementNS = function createElementNS(namespace, tag) {
return this.document.createElementNS(namespace, tag);
};
_proto.setAttribute = function setAttribute(element, name, value, namespace) {
if (namespace === void 0) {
namespace = null;
}
if (namespace) {
element.setAttributeNS(namespace, name, value);
} else {
element.setAttribute(name, value);
}
};
return TreeConstruction;
}(_operations.DOMOperations);
DOM.TreeConstruction = TreeConstruction;
var appliedTreeConstruction = TreeConstruction;
appliedTreeConstruction = (0, _textNodeMergingFix.applyTextNodeMergingFix)(doc, appliedTreeConstruction);
appliedTreeConstruction = (0, _svgInnerHtmlFix.applySVGInnerHTMLFix)(doc, appliedTreeConstruction, "http://www.w3.org/2000/svg"
/* SVG */
);
DOM.DOMTreeConstruction = appliedTreeConstruction;
})(DOM || (exports.DOM = DOM = {}));
var DOMChangesImpl = /*#__PURE__*/function (_DOMOperations2) {
_inheritsLoose(DOMChangesImpl, _DOMOperations2);
function DOMChangesImpl(document) {
var _this;
_this = _DOMOperations2.call(this, document) || this;
_this.document = document;
_this.namespace = null;
return _this;
}
var _proto2 = DOMChangesImpl.prototype;
_proto2.setAttribute = function setAttribute(element, name, value) {
element.setAttribute(name, value);
};
_proto2.removeAttribute = function removeAttribute(element, name) {
element.removeAttribute(name);
};
_proto2.insertAfter = function insertAfter(element, node, reference) {
this.insertBefore(element, node, reference.nextSibling);
};
return DOMChangesImpl;
}(_operations.DOMOperations);
exports.DOMChangesImpl = DOMChangesImpl;
var helper = DOMChangesImpl;
helper = (0, _textNodeMergingFix.applyTextNodeMergingFix)(doc, helper);
helper = (0, _svgInnerHtmlFix.applySVGInnerHTMLFix)(doc, helper, "http://www.w3.org/2000/svg"
/* SVG */
);
var _default = helper;
exports.default = _default;
var DOMTreeConstruction = DOM.DOMTreeConstruction;
exports.DOMTreeConstruction = DOMTreeConstruction;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL2RvbS9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFVQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxDQUFBLEdBQUEsRUFBQSxLQUFBLEVBQUEsWUFBQSxFQUFBLE1BQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLE1BQUEsRUFBQSxJQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLE9BQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsSUFBQSxFQUFBLEdBQUEsRUFBQSxLQUFBLEVBQUEsSUFBQSxFQUFBLFNBQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLE1BQUEsRUFBQSxJQUFBLEVBQUEsR0FBQSxFQUFBLEtBQUEsRUFBQSxNQUFBLEVBQUEsR0FBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsUUFBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxJQUFBLEVBQUEsR0FBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsT0FBQSxDQTZDVyxVQUFELEdBQUMsRUFBRDtBQUFBLFNBQVUsNEJBQUEsR0FBQSxJQTdDcEIsQ0E2Q1U7QUE3Q1YsQ0FBQTtBQStDQSxJQUFNLFVBQVUsR0FBaEIsMkVBQUE7QUFFQSxJQUFJLEdBQUcsR0FBMkIsT0FBQSxRQUFBLEtBQUEsV0FBQSxHQUFBLElBQUEsR0FBbEMsUUFBQTs7QUFFTSxTQUFBLFlBQUEsQ0FBQSxNQUFBLEVBQXFDO0FBQ3pDLFNBQU8sVUFBVSxDQUFWLElBQUEsQ0FBUCxNQUFPLENBQVA7QUFDRDs7QUFFSyxJQUFBLEdBQUE7OztBQUFOLENBQUEsVUFBQSxHQUFBLEVBQW9CO0FBQUEsTUFDbEIsZ0JBRGtCLEdBQUEsYUFB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QUFwQixFQUFvQixNQUFwQixFQUFnQztBQUFBO0FBQWhDLENBQVQ7ZUFFQSxNOztBQUNPLElBQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUEvQixtQkFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdsaW1tZXJUcmVlQ2hhbmdlcywgR2xpbW1lclRyZWVDb25zdHJ1Y3Rpb24sIE9wdGlvbiB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY2FzdFRvU2ltcGxlIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQge1xuICBBdHRyTmFtZXNwYWNlLFxuICBFbGVtZW50TmFtZXNwYWNlLFxuICBOYW1lc3BhY2UsXG4gIFNpbXBsZURvY3VtZW50LFxuICBTaW1wbGVFbGVtZW50LFxuICBTaW1wbGVOb2RlLFxufSBmcm9tICdAc2ltcGxlLWRvbS9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgYXBwbHlTVkdJbm5lckhUTUxGaXggfSBmcm9tICcuLi9jb21wYXQvc3ZnLWlubmVyLWh0bWwtZml4JztcbmltcG9ydCB7IGFwcGx5VGV4dE5vZGVNZXJnaW5nRml4IH0gZnJvbSAnLi4vY29tcGF0L3RleHQtbm9kZS1tZXJnaW5nLWZpeCc7XG5pbXBvcnQgeyBCTEFDS0xJU1RfVEFCTEUsIERPTU9wZXJhdGlvbnMgfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuXG5bXG4gICdiJyxcbiAgJ2JpZycsXG4gICdibG9ja3F1b3RlJyxcbiAgJ2JvZHknLFxuICAnYnInLFxuICAnY2VudGVyJyxcbiAgJ2NvZGUnLFxuICAnZGQnLFxuICAnZGl2JyxcbiAgJ2RsJyxcbiAgJ2R0JyxcbiAgJ2VtJyxcbiAgJ2VtYmVkJyxcbiAgJ2gxJyxcbiAgJ2gyJyxcbiAgJ2gzJyxcbiAgJ2g0JyxcbiAgJ2g1JyxcbiAgJ2g2JyxcbiAgJ2hlYWQnLFxuICAnaHInLFxuICAnaScsXG4gICdpbWcnLFxuICAnbGknLFxuICAnbGlzdGluZycsXG4gICdtYWluJyxcbiAgJ21ldGEnLFxuICAnbm9icicsXG4gICdvbCcsXG4gICdwJyxcbiAgJ3ByZScsXG4gICdydWJ5JyxcbiAgJ3MnLFxuICAnc21hbGwnLFxuICAnc3BhbicsXG4gICdzdHJvbmcnLFxuICAnc3RyaWtlJyxcbiAgJ3N1YicsXG4gICdzdXAnLFxuICAndGFibGUnLFxuICAndHQnLFxuICAndScsXG4gICd1bCcsXG4gICd2YXInLFxuXS5mb3JFYWNoKCh0YWcpID0+IChCTEFDS0xJU1RfVEFCTEVbdGFnXSA9IDEpKTtcblxuY29uc3QgV0hJVEVTUEFDRSA9IC9bXFx0LVxcciBcXHhBMFxcdTE2ODBcXHUxODBFXFx1MjAwMC1cXHUyMDBBXFx1MjAyOFxcdTIwMjlcXHUyMDJGXFx1MjA1RlxcdTMwMDBcXHVGRUZGXS87XG5cbmxldCBkb2M6IE9wdGlvbjxTaW1wbGVEb2N1bWVudD4gPSB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnID8gbnVsbCA6IGNhc3RUb1NpbXBsZShkb2N1bWVudCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1doaXRlc3BhY2Uoc3RyaW5nOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFdISVRFU1BBQ0UudGVzdChzdHJpbmcpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERPTSB7XG4gIGV4cG9ydCBjbGFzcyBUcmVlQ29uc3RydWN0aW9uIGV4dGVuZHMgRE9NT3BlcmF0aW9ucyBpbXBsZW1lbnRzIEdsaW1tZXJUcmVlQ29uc3RydWN0aW9uIHtcbiAgICBjcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlOiBFbGVtZW50TmFtZXNwYWNlLCB0YWc6IHN0cmluZyk6IFNpbXBsZUVsZW1lbnQge1xuICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZSwgdGFnKTtcbiAgICB9XG5cbiAgICBzZXRBdHRyaWJ1dGUoXG4gICAgICBlbGVtZW50OiBTaW1wbGVFbGVtZW50LFxuICAgICAgbmFtZTogc3RyaW5nLFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIG5hbWVzcGFjZTogT3B0aW9uPEF0dHJOYW1lc3BhY2U+ID0gbnVsbFxuICAgICkge1xuICAgICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZU5TKG5hbWVzcGFjZSwgbmFtZSwgdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBhcHBsaWVkVHJlZUNvbnN0cnVjdGlvbiA9IFRyZWVDb25zdHJ1Y3Rpb247XG4gIGFwcGxpZWRUcmVlQ29uc3RydWN0aW9uID0gYXBwbHlUZXh0Tm9kZU1lcmdpbmdGaXgoXG4gICAgZG9jLFxuICAgIGFwcGxpZWRUcmVlQ29uc3RydWN0aW9uXG4gICkgYXMgdHlwZW9mIFRyZWVDb25zdHJ1Y3Rpb247XG4gIGFwcGxpZWRUcmVlQ29uc3RydWN0aW9uID0gYXBwbHlTVkdJbm5lckhUTUxGaXgoXG4gICAgZG9jLFxuICAgIGFwcGxpZWRUcmVlQ29uc3RydWN0aW9uLFxuICAgIE5hbWVzcGFjZS5TVkdcbiAgKSBhcyB0eXBlb2YgVHJlZUNvbnN0cnVjdGlvbjtcblxuICBleHBvcnQgY29uc3QgRE9NVHJlZUNvbnN0cnVjdGlvbiA9IGFwcGxpZWRUcmVlQ29uc3RydWN0aW9uO1xuICBleHBvcnQgdHlwZSBET01UcmVlQ29uc3RydWN0aW9uID0gVHJlZUNvbnN0cnVjdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIERPTUNoYW5nZXNJbXBsIGV4dGVuZHMgRE9NT3BlcmF0aW9ucyBpbXBsZW1lbnRzIEdsaW1tZXJUcmVlQ2hhbmdlcyB7XG4gIHByb3RlY3RlZCBuYW1lc3BhY2U6IE9wdGlvbjxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkb2N1bWVudDogU2ltcGxlRG9jdW1lbnQpIHtcbiAgICBzdXBlcihkb2N1bWVudCk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBudWxsO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlKGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZUF0dHJpYnV0ZShlbGVtZW50OiBTaW1wbGVFbGVtZW50LCBuYW1lOiBzdHJpbmcpIHtcbiAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgfVxuXG4gIGluc2VydEFmdGVyKGVsZW1lbnQ6IFNpbXBsZUVsZW1lbnQsIG5vZGU6IFNpbXBsZU5vZGUsIHJlZmVyZW5jZTogU2ltcGxlTm9kZSkge1xuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIG5vZGUsIHJlZmVyZW5jZS5uZXh0U2libGluZyk7XG4gIH1cbn1cblxubGV0IGhlbHBlciA9IERPTUNoYW5nZXNJbXBsO1xuXG5oZWxwZXIgPSBhcHBseVRleHROb2RlTWVyZ2luZ0ZpeChkb2MsIGhlbHBlcikgYXMgdHlwZW9mIERPTUNoYW5nZXNJbXBsO1xuaGVscGVyID0gYXBwbHlTVkdJbm5lckhUTUxGaXgoZG9jLCBoZWxwZXIsIE5hbWVzcGFjZS5TVkcpIGFzIHR5cGVvZiBET01DaGFuZ2VzSW1wbDtcblxuZXhwb3J0IGRlZmF1bHQgaGVscGVyO1xuZXhwb3J0IGNvbnN0IERPTVRyZWVDb25zdHJ1Y3Rpb24gPSBET00uRE9NVHJlZUNvbnN0cnVjdGlvbjtcbmV4cG9ydCB0eXBlIERPTVRyZWVDb25zdHJ1Y3Rpb24gPSBET00uRE9NVHJlZUNvbnN0cnVjdGlvbjtcbmV4cG9ydCB0eXBlIERPTU5hbWVzcGFjZSA9IE5hbWVzcGFjZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=