db13fb4cf4b49e6bb597443f376f6f5b4be7383e3d1c0af590289630d3139f00.json 60 KB

1
  1. {"ast":null,"code":"\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\nvar __values = this && this.__values || function (o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = this && this.__read || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGWrapper = void 0;\nvar BBox_js_1 = require(\"../../util/BBox.js\");\nvar Wrapper_js_1 = require(\"../common/Wrapper.js\");\nvar svg_js_1 = require(\"../svg.js\");\nvar SVGWrapper = function (_super) {\n __extends(SVGWrapper, _super);\n function SVGWrapper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = null;\n _this.dx = 0;\n return _this;\n }\n SVGWrapper.prototype.toSVG = function (parent) {\n this.addChildren(this.standardSVGnode(parent));\n };\n SVGWrapper.prototype.addChildren = function (parent) {\n var e_1, _a;\n var x = 0;\n try {\n for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n child.toSVG(parent);\n var bbox = child.getOuterBBox();\n if (child.element) {\n child.place(x + bbox.L * bbox.rscale, 0);\n }\n x += (bbox.L + bbox.w + bbox.R) * bbox.rscale;\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n };\n SVGWrapper.prototype.standardSVGnode = function (parent) {\n var svg = this.createSVGnode(parent);\n this.handleStyles();\n this.handleScale();\n this.handleBorder();\n this.handleColor();\n this.handleAttributes();\n return svg;\n };\n SVGWrapper.prototype.createSVGnode = function (parent) {\n this.element = this.svg('g', {\n 'data-mml-node': this.node.kind\n });\n var href = this.node.attributes.get('href');\n if (href) {\n parent = this.adaptor.append(parent, this.svg('a', {\n href: href\n }));\n var _a = this.getOuterBBox(),\n h = _a.h,\n d = _a.d,\n w = _a.w;\n this.adaptor.append(this.element, this.svg('rect', {\n 'data-hitbox': true,\n fill: 'none',\n stroke: 'none',\n 'pointer-events': 'all',\n width: this.fixed(w),\n height: this.fixed(h + d),\n y: this.fixed(-d)\n }));\n }\n this.adaptor.append(parent, this.element);\n return this.element;\n };\n SVGWrapper.prototype.handleStyles = function () {\n var _this = this;\n if (!this.styles) return;\n var styles = this.styles.cssText;\n if (styles) {\n this.adaptor.setAttribute(this.element, 'style', styles);\n }\n BBox_js_1.BBox.StyleAdjust.forEach(function (_a) {\n var _b = __read(_a, 3),\n name = _b[0],\n lr = _b[2];\n if (lr !== 0) return;\n var x = _this.styles.get(name);\n if (x) {\n _this.dx += _this.length2em(x, 1, _this.bbox.rscale);\n }\n });\n };\n SVGWrapper.prototype.handleScale = function () {\n if (this.bbox.rscale !== 1) {\n var scale = 'scale(' + this.fixed(this.bbox.rscale / 1000, 3) + ')';\n this.adaptor.setAttribute(this.element, 'transform', scale);\n }\n };\n SVGWrapper.prototype.handleColor = function () {\n var _a;\n var adaptor = this.adaptor;\n var attributes = this.node.attributes;\n var mathcolor = attributes.getExplicit('mathcolor');\n var color = attributes.getExplicit('color');\n var mathbackground = attributes.getExplicit('mathbackground');\n var background = attributes.getExplicit('background');\n var bgcolor = ((_a = this.styles) === null || _a === void 0 ? void 0 : _a.get('background-color')) || '';\n if (mathcolor || color) {\n adaptor.setAttribute(this.element, 'fill', mathcolor || color);\n adaptor.setAttribute(this.element, 'stroke', mathcolor || color);\n }\n if (mathbackground || background || bgcolor) {\n var _b = this.getOuterBBox(),\n h = _b.h,\n d = _b.d,\n w = _b.w;\n var rect = this.svg('rect', {\n fill: mathbackground || background || bgcolor,\n x: this.fixed(-this.dx),\n y: this.fixed(-d),\n width: this.fixed(w),\n height: this.fixed(h + d),\n 'data-bgcolor': true\n });\n var child = adaptor.firstChild(this.element);\n if (child) {\n adaptor.insert(rect, child);\n } else {\n adaptor.append(this.element, rect);\n }\n }\n };\n SVGWrapper.prototype.handleBorder = function () {\n var e_2, _a, e_3, _b;\n if (!this.styles) return;\n var width = Array(4).fill(0);\n var style = Array(4);\n var color = Array(4);\n try {\n for (var _c = __values([['Top', 0], ['Right', 1], ['Bottom', 2], ['Left', 3]]), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2),\n name_1 = _e[0],\n i = _e[1];\n var key = 'border' + name_1;\n var w_1 = this.styles.get(key + 'Width');\n if (!w_1) continue;\n width[i] = Math.max(0, this.length2em(w_1, 1, this.bbox.rscale));\n style[i] = this.styles.get(key + 'Style') || 'solid';\n color[i] = this.styles.get(key + 'Color') || 'currentColor';\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n var f = SVGWrapper.borderFuzz;\n var bbox = this.getOuterBBox();\n var _f = __read([bbox.h + f, bbox.d + f, bbox.w + f], 3),\n h = _f[0],\n d = _f[1],\n w = _f[2];\n var outerRT = [w, h];\n var outerLT = [-f, h];\n var outerRB = [w, -d];\n var outerLB = [-f, -d];\n var innerRT = [w - width[1], h - width[0]];\n var innerLT = [-f + width[3], h - width[0]];\n var innerRB = [w - width[1], -d + width[2]];\n var innerLB = [-f + width[3], -d + width[2]];\n var paths = [[outerLT, outerRT, innerRT, innerLT], [outerRB, outerRT, innerRT, innerRB], [outerLB, outerRB, innerRB, innerLB], [outerLB, outerLT, innerLT, innerLB]];\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n try {\n for (var _g = __values([0, 1, 2, 3]), _h = _g.next(); !_h.done; _h = _g.next()) {\n var i = _h.value;\n if (!width[i]) continue;\n var path = paths[i];\n if (style[i] === 'dashed' || style[i] === 'dotted') {\n this.addBorderBroken(path, color[i], style[i], width[i], i);\n } else {\n this.addBorderSolid(path, color[i], child);\n }\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n };\n SVGWrapper.prototype.addBorderSolid = function (path, color, child) {\n var _this = this;\n var border = this.svg('polygon', {\n points: path.map(function (_a) {\n var _b = __read(_a, 2),\n x = _b[0],\n y = _b[1];\n return \"\".concat(_this.fixed(x - _this.dx), \",\").concat(_this.fixed(y));\n }).join(' '),\n stroke: 'none',\n fill: color\n });\n if (child) {\n this.adaptor.insert(border, child);\n } else {\n this.adaptor.append(this.element, border);\n }\n };\n SVGWrapper.prototype.addBorderBroken = function (path, color, style, t, i) {\n var dot = style === 'dotted';\n var t2 = t / 2;\n var _a = __read([[t2, -t2, -t2, -t2], [-t2, t2, -t2, -t2], [t2, t2, -t2, t2], [t2, t2, t2, -t2]][i], 4),\n tx1 = _a[0],\n ty1 = _a[1],\n tx2 = _a[2],\n ty2 = _a[3];\n var _b = __read(path, 2),\n A = _b[0],\n B = _b[1];\n var x1 = A[0] + tx1 - this.dx,\n y1 = A[1] + ty1;\n var x2 = B[0] + tx2 - this.dx,\n y2 = B[1] + ty2;\n var W = Math.abs(i % 2 ? y2 - y1 : x2 - x1);\n var n = dot ? Math.ceil(W / (2 * t)) : Math.ceil((W - t) / (4 * t));\n var m = W / (4 * n + 1);\n var line = this.svg('line', {\n x1: this.fixed(x1),\n y1: this.fixed(y1),\n x2: this.fixed(x2),\n y2: this.fixed(y2),\n 'stroke-width': this.fixed(t),\n stroke: color,\n 'stroke-linecap': dot ? 'round' : 'square',\n 'stroke-dasharray': dot ? [1, this.fixed(W / n - .002)].join(' ') : [this.fixed(m), this.fixed(3 * m)].join(' ')\n });\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n if (child) {\n adaptor.insert(line, child);\n } else {\n adaptor.append(this.element, line);\n }\n };\n SVGWrapper.prototype.handleAttributes = function () {\n var e_4, _a, e_5, _b;\n var attributes = this.node.attributes;\n var defaults = attributes.getAllDefaults();\n var skip = SVGWrapper.skipAttributes;\n try {\n for (var _c = __values(attributes.getExplicitNames()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var name_2 = _d.value;\n if (skip[name_2] === false || !(name_2 in defaults) && !skip[name_2] && !this.adaptor.hasAttribute(this.element, name_2)) {\n this.adaptor.setAttribute(this.element, name_2, attributes.getExplicit(name_2));\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n if (attributes.get('class')) {\n var names = attributes.get('class').trim().split(/ +/);\n try {\n for (var names_1 = __values(names), names_1_1 = names_1.next(); !names_1_1.done; names_1_1 = names_1.next()) {\n var name_3 = names_1_1.value;\n this.adaptor.addClass(this.element, name_3);\n }\n } catch (e_5_1) {\n e_5 = {\n error: e_5_1\n };\n } finally {\n try {\n if (names_1_1 && !names_1_1.done && (_b = names_1.return)) _b.call(names_1);\n } finally {\n if (e_5) throw e_5.error;\n }\n }\n }\n };\n SVGWrapper.prototype.place = function (x, y, element) {\n if (element === void 0) {\n element = null;\n }\n x += this.dx;\n if (!(x || y)) return;\n if (!element) {\n element = this.element;\n y = this.handleId(y);\n }\n var translate = \"translate(\".concat(this.fixed(x), \",\").concat(this.fixed(y), \")\");\n var transform = this.adaptor.getAttribute(element, 'transform') || '';\n this.adaptor.setAttribute(element, 'transform', translate + (transform ? ' ' + transform : ''));\n };\n SVGWrapper.prototype.handleId = function (y) {\n if (!this.node.attributes || !this.node.attributes.get('id')) {\n return y;\n }\n var adaptor = this.adaptor;\n var h = this.getBBox().h;\n var children = adaptor.childNodes(this.element);\n children.forEach(function (child) {\n return adaptor.remove(child);\n });\n var g = this.svg('g', {\n 'data-idbox': true,\n transform: \"translate(0,\".concat(this.fixed(-h), \")\")\n }, children);\n adaptor.append(this.element, this.svg('text', {\n 'data-id-align': true\n }, [this.text('')]));\n adaptor.append(this.element, g);\n return y + h;\n };\n SVGWrapper.prototype.firstChild = function () {\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n if (child && adaptor.kind(child) === 'text' && adaptor.getAttribute(child, 'data-id-align')) {\n child = adaptor.firstChild(adaptor.next(child));\n }\n if (child && adaptor.kind(child) === 'rect' && adaptor.getAttribute(child, 'data-hitbox')) {\n child = adaptor.next(child);\n }\n return child;\n };\n SVGWrapper.prototype.placeChar = function (n, x, y, parent, variant) {\n var e_6, _a;\n if (variant === void 0) {\n variant = null;\n }\n if (variant === null) {\n variant = this.variant;\n }\n var C = n.toString(16).toUpperCase();\n var _b = __read(this.getVariantChar(variant, n), 4),\n w = _b[2],\n data = _b[3];\n if ('p' in data) {\n var path = data.p ? 'M' + data.p + 'Z' : '';\n this.place(x, y, this.adaptor.append(parent, this.charNode(variant, C, path)));\n } else if ('c' in data) {\n var g = this.adaptor.append(parent, this.svg('g', {\n 'data-c': C\n }));\n this.place(x, y, g);\n x = 0;\n try {\n for (var _c = __values(this.unicodeChars(data.c, variant)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var n_1 = _d.value;\n x += this.placeChar(n_1, x, y, g, variant);\n }\n } catch (e_6_1) {\n e_6 = {\n error: e_6_1\n };\n } finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n } finally {\n if (e_6) throw e_6.error;\n }\n }\n } else if (data.unknown) {\n var char = String.fromCodePoint(n);\n var text = this.adaptor.append(parent, this.jax.unknownText(char, variant));\n this.place(x, y, text);\n return this.jax.measureTextNodeWithCache(text, char, variant).w;\n }\n return w;\n };\n SVGWrapper.prototype.charNode = function (variant, C, path) {\n var cache = this.jax.options.fontCache;\n return cache !== 'none' ? this.useNode(variant, C, path) : this.pathNode(C, path);\n };\n SVGWrapper.prototype.pathNode = function (C, path) {\n return this.svg('path', {\n 'data-c': C,\n d: path\n });\n };\n SVGWrapper.prototype.useNode = function (variant, C, path) {\n var use = this.svg('use', {\n 'data-c': C\n });\n var id = '#' + this.jax.fontCache.cachePath(variant, C, path);\n this.adaptor.setAttribute(use, 'href', id, svg_js_1.XLINKNS);\n return use;\n };\n SVGWrapper.prototype.drawBBox = function () {\n var _a = this.getBBox(),\n w = _a.w,\n h = _a.h,\n d = _a.d;\n var box = this.svg('g', {\n style: {\n opacity: .25\n }\n }, [this.svg('rect', {\n fill: 'red',\n height: this.fixed(h),\n width: this.fixed(w)\n }), this.svg('rect', {\n fill: 'green',\n height: this.fixed(d),\n width: this.fixed(w),\n y: this.fixed(-d)\n })]);\n var node = this.element || this.parent.element;\n this.adaptor.append(node, box);\n };\n SVGWrapper.prototype.html = function (type, def, content) {\n if (def === void 0) {\n def = {};\n }\n if (content === void 0) {\n content = [];\n }\n return this.jax.html(type, def, content);\n };\n SVGWrapper.prototype.svg = function (type, def, content) {\n if (def === void 0) {\n def = {};\n }\n if (content === void 0) {\n content = [];\n }\n return this.jax.svg(type, def, content);\n };\n SVGWrapper.prototype.text = function (text) {\n return this.jax.text(text);\n };\n SVGWrapper.prototype.fixed = function (x, n) {\n if (n === void 0) {\n n = 1;\n }\n return this.jax.fixed(x * 1000, n);\n };\n SVGWrapper.kind = 'unknown';\n SVGWrapper.borderFuzz = 0.005;\n return SVGWrapper;\n}(Wrapper_js_1.CommonWrapper);\nexports.SVGWrapper = SVGWrapper;","map":{"version":3,"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","__read","n","r","ar","e","push","error","defineProperty","exports","SVGWrapper","BBox_js_1","require","Wrapper_js_1","svg_js_1","_super","_this","apply","arguments","element","dx","toSVG","parent","addChildren","standardSVGnode","e_1","_a","x","_b","childNodes","_c","child","bbox","getOuterBBox","place","L","rscale","w","R","e_1_1","return","svg","createSVGnode","handleStyles","handleScale","handleBorder","handleColor","handleAttributes","node","kind","href","attributes","get","adaptor","append","h","fill","stroke","width","fixed","height","y","styles","cssText","setAttribute","BBox","StyleAdjust","forEach","name","lr","length2em","scale","mathcolor","getExplicit","color","mathbackground","background","bgcolor","rect","firstChild","insert","e_2","e_3","style","_d","_e","name_1","key","w_1","Math","max","e_2_1","f","borderFuzz","_f","outerRT","outerLT","outerRB","outerLB","innerRT","innerLT","innerRB","innerLB","paths","_g","_h","path","addBorderBroken","addBorderSolid","e_3_1","border","points","map","concat","join","t","dot","t2","tx1","ty1","tx2","ty2","A","B","x1","y1","x2","y2","W","abs","ceil","line","e_4","e_5","defaults","getAllDefaults","skip","skipAttributes","getExplicitNames","name_2","hasAttribute","e_4_1","names","trim","split","names_1","names_1_1","name_3","addClass","e_5_1","handleId","translate","transform","getAttribute","getBBox","children","remove","g","text","placeChar","variant","e_6","C","toString","toUpperCase","getVariantChar","data","charNode","unicodeChars","c","n_1","e_6_1","unknown","char","fromCodePoint","jax","unknownText","measureTextNodeWithCache","cache","options","fontCache","useNode","pathNode","use","id","cachePath","XLINKNS","drawBBox","box","opacity","html","type","def","content","CommonWrapper"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mathjax-full/js/output/svg/Wrapper.js"],"sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SVGWrapper = void 0;\nvar BBox_js_1 = require(\"../../util/BBox.js\");\nvar Wrapper_js_1 = require(\"../common/Wrapper.js\");\nvar svg_js_1 = require(\"../svg.js\");\nvar SVGWrapper = (function (_super) {\n __extends(SVGWrapper, _super);\n function SVGWrapper() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.element = null;\n _this.dx = 0;\n return _this;\n }\n SVGWrapper.prototype.toSVG = function (parent) {\n this.addChildren(this.standardSVGnode(parent));\n };\n SVGWrapper.prototype.addChildren = function (parent) {\n var e_1, _a;\n var x = 0;\n try {\n for (var _b = __values(this.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {\n var child = _c.value;\n child.toSVG(parent);\n var bbox = child.getOuterBBox();\n if (child.element) {\n child.place(x + bbox.L * bbox.rscale, 0);\n }\n x += (bbox.L + bbox.w + bbox.R) * bbox.rscale;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n SVGWrapper.prototype.standardSVGnode = function (parent) {\n var svg = this.createSVGnode(parent);\n this.handleStyles();\n this.handleScale();\n this.handleBorder();\n this.handleColor();\n this.handleAttributes();\n return svg;\n };\n SVGWrapper.prototype.createSVGnode = function (parent) {\n this.element = this.svg('g', { 'data-mml-node': this.node.kind });\n var href = this.node.attributes.get('href');\n if (href) {\n parent = this.adaptor.append(parent, this.svg('a', { href: href }));\n var _a = this.getOuterBBox(), h = _a.h, d = _a.d, w = _a.w;\n this.adaptor.append(this.element, this.svg('rect', {\n 'data-hitbox': true, fill: 'none', stroke: 'none', 'pointer-events': 'all',\n width: this.fixed(w), height: this.fixed(h + d), y: this.fixed(-d)\n }));\n }\n this.adaptor.append(parent, this.element);\n return this.element;\n };\n SVGWrapper.prototype.handleStyles = function () {\n var _this = this;\n if (!this.styles)\n return;\n var styles = this.styles.cssText;\n if (styles) {\n this.adaptor.setAttribute(this.element, 'style', styles);\n }\n BBox_js_1.BBox.StyleAdjust.forEach(function (_a) {\n var _b = __read(_a, 3), name = _b[0], lr = _b[2];\n if (lr !== 0)\n return;\n var x = _this.styles.get(name);\n if (x) {\n _this.dx += _this.length2em(x, 1, _this.bbox.rscale);\n }\n });\n };\n SVGWrapper.prototype.handleScale = function () {\n if (this.bbox.rscale !== 1) {\n var scale = 'scale(' + this.fixed(this.bbox.rscale / 1000, 3) + ')';\n this.adaptor.setAttribute(this.element, 'transform', scale);\n }\n };\n SVGWrapper.prototype.handleColor = function () {\n var _a;\n var adaptor = this.adaptor;\n var attributes = this.node.attributes;\n var mathcolor = attributes.getExplicit('mathcolor');\n var color = attributes.getExplicit('color');\n var mathbackground = attributes.getExplicit('mathbackground');\n var background = attributes.getExplicit('background');\n var bgcolor = (((_a = this.styles) === null || _a === void 0 ? void 0 : _a.get('background-color')) || '');\n if (mathcolor || color) {\n adaptor.setAttribute(this.element, 'fill', mathcolor || color);\n adaptor.setAttribute(this.element, 'stroke', mathcolor || color);\n }\n if (mathbackground || background || bgcolor) {\n var _b = this.getOuterBBox(), h = _b.h, d = _b.d, w = _b.w;\n var rect = this.svg('rect', {\n fill: mathbackground || background || bgcolor,\n x: this.fixed(-this.dx), y: this.fixed(-d),\n width: this.fixed(w),\n height: this.fixed(h + d),\n 'data-bgcolor': true\n });\n var child = adaptor.firstChild(this.element);\n if (child) {\n adaptor.insert(rect, child);\n }\n else {\n adaptor.append(this.element, rect);\n }\n }\n };\n SVGWrapper.prototype.handleBorder = function () {\n var e_2, _a, e_3, _b;\n if (!this.styles)\n return;\n var width = Array(4).fill(0);\n var style = Array(4);\n var color = Array(4);\n try {\n for (var _c = __values([['Top', 0], ['Right', 1], ['Bottom', 2], ['Left', 3]]), _d = _c.next(); !_d.done; _d = _c.next()) {\n var _e = __read(_d.value, 2), name_1 = _e[0], i = _e[1];\n var key = 'border' + name_1;\n var w_1 = this.styles.get(key + 'Width');\n if (!w_1)\n continue;\n width[i] = Math.max(0, this.length2em(w_1, 1, this.bbox.rscale));\n style[i] = this.styles.get(key + 'Style') || 'solid';\n color[i] = this.styles.get(key + 'Color') || 'currentColor';\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var f = SVGWrapper.borderFuzz;\n var bbox = this.getOuterBBox();\n var _f = __read([bbox.h + f, bbox.d + f, bbox.w + f], 3), h = _f[0], d = _f[1], w = _f[2];\n var outerRT = [w, h];\n var outerLT = [-f, h];\n var outerRB = [w, -d];\n var outerLB = [-f, -d];\n var innerRT = [w - width[1], h - width[0]];\n var innerLT = [-f + width[3], h - width[0]];\n var innerRB = [w - width[1], -d + width[2]];\n var innerLB = [-f + width[3], -d + width[2]];\n var paths = [\n [outerLT, outerRT, innerRT, innerLT],\n [outerRB, outerRT, innerRT, innerRB],\n [outerLB, outerRB, innerRB, innerLB],\n [outerLB, outerLT, innerLT, innerLB]\n ];\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n try {\n for (var _g = __values([0, 1, 2, 3]), _h = _g.next(); !_h.done; _h = _g.next()) {\n var i = _h.value;\n if (!width[i])\n continue;\n var path = paths[i];\n if (style[i] === 'dashed' || style[i] === 'dotted') {\n this.addBorderBroken(path, color[i], style[i], width[i], i);\n }\n else {\n this.addBorderSolid(path, color[i], child);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n }\n finally { if (e_3) throw e_3.error; }\n }\n };\n SVGWrapper.prototype.addBorderSolid = function (path, color, child) {\n var _this = this;\n var border = this.svg('polygon', {\n points: path.map(function (_a) {\n var _b = __read(_a, 2), x = _b[0], y = _b[1];\n return \"\".concat(_this.fixed(x - _this.dx), \",\").concat(_this.fixed(y));\n }).join(' '),\n stroke: 'none',\n fill: color\n });\n if (child) {\n this.adaptor.insert(border, child);\n }\n else {\n this.adaptor.append(this.element, border);\n }\n };\n SVGWrapper.prototype.addBorderBroken = function (path, color, style, t, i) {\n var dot = (style === 'dotted');\n var t2 = t / 2;\n var _a = __read([[t2, -t2, -t2, -t2], [-t2, t2, -t2, -t2], [t2, t2, -t2, t2], [t2, t2, t2, -t2]][i], 4), tx1 = _a[0], ty1 = _a[1], tx2 = _a[2], ty2 = _a[3];\n var _b = __read(path, 2), A = _b[0], B = _b[1];\n var x1 = A[0] + tx1 - this.dx, y1 = A[1] + ty1;\n var x2 = B[0] + tx2 - this.dx, y2 = B[1] + ty2;\n var W = Math.abs(i % 2 ? y2 - y1 : x2 - x1);\n var n = (dot ? Math.ceil(W / (2 * t)) : Math.ceil((W - t) / (4 * t)));\n var m = W / (4 * n + 1);\n var line = this.svg('line', {\n x1: this.fixed(x1), y1: this.fixed(y1),\n x2: this.fixed(x2), y2: this.fixed(y2),\n 'stroke-width': this.fixed(t), stroke: color, 'stroke-linecap': dot ? 'round' : 'square',\n 'stroke-dasharray': dot ? [1, this.fixed(W / n - .002)].join(' ') : [this.fixed(m), this.fixed(3 * m)].join(' ')\n });\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n if (child) {\n adaptor.insert(line, child);\n }\n else {\n adaptor.append(this.element, line);\n }\n };\n SVGWrapper.prototype.handleAttributes = function () {\n var e_4, _a, e_5, _b;\n var attributes = this.node.attributes;\n var defaults = attributes.getAllDefaults();\n var skip = SVGWrapper.skipAttributes;\n try {\n for (var _c = __values(attributes.getExplicitNames()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var name_2 = _d.value;\n if (skip[name_2] === false || (!(name_2 in defaults) && !skip[name_2] &&\n !this.adaptor.hasAttribute(this.element, name_2))) {\n this.adaptor.setAttribute(this.element, name_2, attributes.getExplicit(name_2));\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_4) throw e_4.error; }\n }\n if (attributes.get('class')) {\n var names = attributes.get('class').trim().split(/ +/);\n try {\n for (var names_1 = __values(names), names_1_1 = names_1.next(); !names_1_1.done; names_1_1 = names_1.next()) {\n var name_3 = names_1_1.value;\n this.adaptor.addClass(this.element, name_3);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (names_1_1 && !names_1_1.done && (_b = names_1.return)) _b.call(names_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n };\n SVGWrapper.prototype.place = function (x, y, element) {\n if (element === void 0) { element = null; }\n x += this.dx;\n if (!(x || y))\n return;\n if (!element) {\n element = this.element;\n y = this.handleId(y);\n }\n var translate = \"translate(\".concat(this.fixed(x), \",\").concat(this.fixed(y), \")\");\n var transform = this.adaptor.getAttribute(element, 'transform') || '';\n this.adaptor.setAttribute(element, 'transform', translate + (transform ? ' ' + transform : ''));\n };\n SVGWrapper.prototype.handleId = function (y) {\n if (!this.node.attributes || !this.node.attributes.get('id')) {\n return y;\n }\n var adaptor = this.adaptor;\n var h = this.getBBox().h;\n var children = adaptor.childNodes(this.element);\n children.forEach(function (child) { return adaptor.remove(child); });\n var g = this.svg('g', { 'data-idbox': true, transform: \"translate(0,\".concat(this.fixed(-h), \")\") }, children);\n adaptor.append(this.element, this.svg('text', { 'data-id-align': true }, [this.text('')]));\n adaptor.append(this.element, g);\n return y + h;\n };\n SVGWrapper.prototype.firstChild = function () {\n var adaptor = this.adaptor;\n var child = adaptor.firstChild(this.element);\n if (child && adaptor.kind(child) === 'text' && adaptor.getAttribute(child, 'data-id-align')) {\n child = adaptor.firstChild(adaptor.next(child));\n }\n if (child && adaptor.kind(child) === 'rect' && adaptor.getAttribute(child, 'data-hitbox')) {\n child = adaptor.next(child);\n }\n return child;\n };\n SVGWrapper.prototype.placeChar = function (n, x, y, parent, variant) {\n var e_6, _a;\n if (variant === void 0) { variant = null; }\n if (variant === null) {\n variant = this.variant;\n }\n var C = n.toString(16).toUpperCase();\n var _b = __read(this.getVariantChar(variant, n), 4), w = _b[2], data = _b[3];\n if ('p' in data) {\n var path = (data.p ? 'M' + data.p + 'Z' : '');\n this.place(x, y, this.adaptor.append(parent, this.charNode(variant, C, path)));\n }\n else if ('c' in data) {\n var g = this.adaptor.append(parent, this.svg('g', { 'data-c': C }));\n this.place(x, y, g);\n x = 0;\n try {\n for (var _c = __values(this.unicodeChars(data.c, variant)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var n_1 = _d.value;\n x += this.placeChar(n_1, x, y, g, variant);\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n else if (data.unknown) {\n var char = String.fromCodePoint(n);\n var text = this.adaptor.append(parent, this.jax.unknownText(char, variant));\n this.place(x, y, text);\n return this.jax.measureTextNodeWithCache(text, char, variant).w;\n }\n return w;\n };\n SVGWrapper.prototype.charNode = function (variant, C, path) {\n var cache = this.jax.options.fontCache;\n return (cache !== 'none' ? this.useNode(variant, C, path) : this.pathNode(C, path));\n };\n SVGWrapper.prototype.pathNode = function (C, path) {\n return this.svg('path', { 'data-c': C, d: path });\n };\n SVGWrapper.prototype.useNode = function (variant, C, path) {\n var use = this.svg('use', { 'data-c': C });\n var id = '#' + this.jax.fontCache.cachePath(variant, C, path);\n this.adaptor.setAttribute(use, 'href', id, svg_js_1.XLINKNS);\n return use;\n };\n SVGWrapper.prototype.drawBBox = function () {\n var _a = this.getBBox(), w = _a.w, h = _a.h, d = _a.d;\n var box = this.svg('g', { style: {\n opacity: .25\n } }, [\n this.svg('rect', {\n fill: 'red',\n height: this.fixed(h),\n width: this.fixed(w)\n }),\n this.svg('rect', {\n fill: 'green',\n height: this.fixed(d),\n width: this.fixed(w),\n y: this.fixed(-d)\n })\n ]);\n var node = this.element || this.parent.element;\n this.adaptor.append(node, box);\n };\n SVGWrapper.prototype.html = function (type, def, content) {\n if (def === void 0) { def = {}; }\n if (content === void 0) { content = []; }\n return this.jax.html(type, def, content);\n };\n SVGWrapper.prototype.svg = function (type, def, content) {\n if (def === void 0) { def = {}; }\n if (content === void 0) { content = []; }\n return this.jax.svg(type, def, content);\n };\n SVGWrapper.prototype.text = function (text) {\n return this.jax.text(text);\n };\n SVGWrapper.prototype.fixed = function (x, n) {\n if (n === void 0) { n = 1; }\n return this.jax.fixed(x * 1000, n);\n };\n SVGWrapper.kind = 'unknown';\n SVGWrapper.borderFuzz = 0.005;\n return SVGWrapper;\n}(Wrapper_js_1.CommonWrapper));\nexports.SVGWrapper = SVGWrapper;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}