UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

111 lines (86 loc) 11.9 kB
"use strict"; 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=