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 __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};\nvar __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\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};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CommonMtableMixin = void 0;\nvar BBox_js_1 = require(\"../../../util/BBox.js\");\nvar string_js_1 = require(\"../../../util/string.js\");\nvar numeric_js_1 = require(\"../../../util/numeric.js\");\nfunction CommonMtableMixin(Base) {\n return function (_super) {\n __extends(class_1, _super);\n function class_1() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;\n _this.numCols = 0;\n _this.numRows = 0;\n _this.data = null;\n _this.pwidthCells = [];\n _this.pWidth = 0;\n _this.numCols = (0, numeric_js_1.max)(_this.tableRows.map(function (row) {\n return row.numCells;\n }));\n _this.numRows = _this.childNodes.length;\n _this.hasLabels = _this.childNodes.reduce(function (value, row) {\n return value || row.node.isKind('mlabeledtr');\n }, false);\n _this.findContainer();\n _this.isTop = !_this.container || _this.container.node.isKind('math') && !_this.container.parent;\n if (_this.isTop) {\n _this.jax.table = _this;\n }\n _this.getPercentageWidth();\n var attributes = _this.node.attributes;\n _this.frame = attributes.get('frame') !== 'none';\n _this.fLine = _this.frame && attributes.get('frame') ? .07 : 0;\n _this.fSpace = _this.frame ? _this.convertLengths(_this.getAttributeArray('framespacing')) : [0, 0];\n _this.cSpace = _this.convertLengths(_this.getColumnAttributes('columnspacing'));\n _this.rSpace = _this.convertLengths(_this.getRowAttributes('rowspacing'));\n _this.cLines = _this.getColumnAttributes('columnlines').map(function (x) {\n return x === 'none' ? 0 : .07;\n });\n _this.rLines = _this.getRowAttributes('rowlines').map(function (x) {\n return x === 'none' ? 0 : .07;\n });\n _this.cWidths = _this.getColumnWidths();\n _this.stretchRows();\n _this.stretchColumns();\n return _this;\n }\n Object.defineProperty(class_1.prototype, \"tableRows\", {\n get: function () {\n return this.childNodes;\n },\n enumerable: false,\n configurable: true\n });\n class_1.prototype.findContainer = function () {\n var node = this;\n var parent = node.parent;\n while (parent && (parent.node.notParent || parent.node.isKind('mrow'))) {\n node = parent;\n parent = parent.parent;\n }\n this.container = parent;\n this.containerI = node.node.childPosition();\n };\n class_1.prototype.getPercentageWidth = function () {\n if (this.hasLabels) {\n this.bbox.pwidth = BBox_js_1.BBox.fullWidth;\n } else {\n var width = this.node.attributes.get('width');\n if ((0, string_js_1.isPercent)(width)) {\n this.bbox.pwidth = width;\n }\n }\n };\n class_1.prototype.stretchRows = function () {\n var equal = this.node.attributes.get('equalrows');\n var HD = equal ? this.getEqualRowHeight() : 0;\n var _a = equal ? this.getTableData() : {\n H: [0],\n D: [0]\n },\n H = _a.H,\n D = _a.D;\n var rows = this.tableRows;\n for (var i = 0; i < this.numRows; i++) {\n var hd = equal ? [(HD + H[i] - D[i]) / 2, (HD - H[i] + D[i]) / 2] : null;\n rows[i].stretchChildren(hd);\n }\n };\n class_1.prototype.stretchColumns = function () {\n for (var i = 0; i < this.numCols; i++) {\n var width = typeof this.cWidths[i] === 'number' ? this.cWidths[i] : null;\n this.stretchColumn(i, width);\n }\n };\n class_1.prototype.stretchColumn = function (i, W) {\n var e_1, _a, e_2, _b, e_3, _c;\n var stretchy = [];\n try {\n for (var _d = __values(this.tableRows), _e = _d.next(); !_e.done; _e = _d.next()) {\n var row = _e.value;\n var cell = row.getChild(i);\n if (cell) {\n var child = cell.childNodes[0];\n if (child.stretch.dir === 0 && child.canStretch(2)) {\n stretchy.push(child);\n }\n }\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally {\n try {\n if (_e && !_e.done && (_a = _d.return)) _a.call(_d);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n var count = stretchy.length;\n var nodeCount = this.childNodes.length;\n if (count && nodeCount > 1) {\n if (W === null) {\n W = 0;\n var all = count > 1 && count === nodeCount;\n try {\n for (var _f = __values(this.tableRows), _g = _f.next(); !_g.done; _g = _f.next()) {\n var row = _g.value;\n var cell = row.getChild(i);\n if (cell) {\n var child = cell.childNodes[0];\n var noStretch = child.stretch.dir === 0;\n if (all || noStretch) {\n var w = child.getBBox(noStretch).w;\n if (w > W) {\n W = w;\n }\n }\n }\n }\n } catch (e_2_1) {\n e_2 = {\n error: e_2_1\n };\n } finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n } finally {\n if (e_2) throw e_2.error;\n }\n }\n }\n try {\n for (var stretchy_1 = __values(stretchy), stretchy_1_1 = stretchy_1.next(); !stretchy_1_1.done; stretchy_1_1 = stretchy_1.next()) {\n var child = stretchy_1_1.value;\n child.coreMO().getStretchedVariant([W]);\n }\n } catch (e_3_1) {\n e_3 = {\n error: e_3_1\n };\n } finally {\n try {\n if (stretchy_1_1 && !stretchy_1_1.done && (_c = stretchy_1.return)) _c.call(stretchy_1);\n } finally {\n if (e_3) throw e_3.error;\n }\n }\n }\n };\n class_1.prototype.getTableData = function () {\n if (this.data) {\n return this.data;\n }\n var H = new Array(this.numRows).fill(0);\n var D = new Array(this.numRows).fill(0);\n var W = new Array(this.numCols).fill(0);\n var NH = new Array(this.numRows);\n var ND = new Array(this.numRows);\n var LW = [0];\n var rows = this.tableRows;\n for (var j = 0; j < rows.length; j++) {\n var M = 0;\n var row = rows[j];\n var align = row.node.attributes.get('rowalign');\n for (var i = 0; i < row.numCells; i++) {\n var cell = row.getChild(i);\n M = this.updateHDW(cell, i, j, align, H, D, W, M);\n this.recordPWidthCell(cell, i);\n }\n NH[j] = H[j];\n ND[j] = D[j];\n if (row.labeled) {\n M = this.updateHDW(row.childNodes[0], 0, j, align, H, D, LW, M);\n }\n this.extendHD(j, H, D, M);\n this.extendHD(j, NH, ND, M);\n }\n var L = LW[0];\n this.data = {\n H: H,\n D: D,\n W: W,\n NH: NH,\n ND: ND,\n L: L\n };\n return this.data;\n };\n class_1.prototype.updateHDW = function (cell, i, j, align, H, D, W, M) {\n var _a = cell.getBBox(),\n h = _a.h,\n d = _a.d,\n w = _a.w;\n var scale = cell.parent.bbox.rscale;\n if (cell.parent.bbox.rscale !== 1) {\n h *= scale;\n d *= scale;\n w *= scale;\n }\n if (this.node.getProperty('useHeight')) {\n if (h < .75) h = .75;\n if (d < .25) d = .25;\n }\n var m = 0;\n align = cell.node.attributes.get('rowalign') || align;\n if (align !== 'baseline' && align !== 'axis') {\n m = h + d;\n h = d = 0;\n }\n if (h > H[j]) H[j] = h;\n if (d > D[j]) D[j] = d;\n if (m > M) M = m;\n if (W && w > W[i]) W[i] = w;\n return M;\n };\n class_1.prototype.extendHD = function (i, H, D, M) {\n var d = (M - (H[i] + D[i])) / 2;\n if (d < .00001) return;\n H[i] += d;\n D[i] += d;\n };\n class_1.prototype.recordPWidthCell = function (cell, i) {\n if (cell.childNodes[0] && cell.childNodes[0].getBBox().pwidth) {\n this.pwidthCells.push([cell, i]);\n }\n };\n class_1.prototype.computeBBox = function (bbox, _recompute) {\n if (_recompute === void 0) {\n _recompute = false;\n }\n var _a = this.getTableData(),\n H = _a.H,\n D = _a.D;\n var height, width;\n if (this.node.attributes.get('equalrows')) {\n var HD = this.getEqualRowHeight();\n height = (0, numeric_js_1.sum)([].concat(this.rLines, this.rSpace)) + HD * this.numRows;\n } else {\n height = (0, numeric_js_1.sum)(H.concat(D, this.rLines, this.rSpace));\n }\n height += 2 * (this.fLine + this.fSpace[1]);\n var CW = this.getComputedWidths();\n width = (0, numeric_js_1.sum)(CW.concat(this.cLines, this.cSpace)) + 2 * (this.fLine + this.fSpace[0]);\n var w = this.node.attributes.get('width');\n if (w !== 'auto') {\n width = Math.max(this.length2em(w, 0) + 2 * this.fLine, width);\n }\n var _b = __read(this.getBBoxHD(height), 2),\n h = _b[0],\n d = _b[1];\n bbox.h = h;\n bbox.d = d;\n bbox.w = width;\n var _c = __read(this.getBBoxLR(), 2),\n L = _c[0],\n R = _c[1];\n bbox.L = L;\n bbox.R = R;\n if (!(0, string_js_1.isPercent)(w)) {\n this.setColumnPWidths();\n }\n };\n class_1.prototype.setChildPWidths = function (_recompute, cwidth, _clear) {\n var width = this.node.attributes.get('width');\n if (!(0, string_js_1.isPercent)(width)) return false;\n if (!this.hasLabels) {\n this.bbox.pwidth = '';\n this.container.bbox.pwidth = '';\n }\n var _a = this.bbox,\n w = _a.w,\n L = _a.L,\n R = _a.R;\n var labelInWidth = this.node.attributes.get('data-width-includes-label');\n var W = Math.max(w, this.length2em(width, Math.max(cwidth, L + w + R))) - (labelInWidth ? L + R : 0);\n var cols = this.node.attributes.get('equalcolumns') ? Array(this.numCols).fill(this.percent(1 / Math.max(1, this.numCols))) : this.getColumnAttributes('columnwidth', 0);\n this.cWidths = this.getColumnWidthsFixed(cols, W);\n var CW = this.getComputedWidths();\n this.pWidth = (0, numeric_js_1.sum)(CW.concat(this.cLines, this.cSpace)) + 2 * (this.fLine + this.fSpace[0]);\n if (this.isTop) {\n this.bbox.w = this.pWidth;\n }\n this.setColumnPWidths();\n if (this.pWidth !== w) {\n this.parent.invalidateBBox();\n }\n return this.pWidth !== w;\n };\n class_1.prototype.setColumnPWidths = function () {\n var e_4, _a;\n var W = this.cWidths;\n try {\n for (var _b = __values(this.pwidthCells), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2),\n cell = _d[0],\n i = _d[1];\n if (cell.setChildPWidths(false, W[i])) {\n cell.invalidateBBox();\n cell.getBBox();\n }\n }\n } catch (e_4_1) {\n e_4 = {\n error: e_4_1\n };\n } finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally {\n if (e_4) throw e_4.error;\n }\n }\n };\n class_1.prototype.getBBoxHD = function (height) {\n var _a = __read(this.getAlignmentRow(), 2),\n align = _a[0],\n row = _a[1];\n if (row === null) {\n var a = this.font.params.axis_height;\n var h2 = height / 2;\n var HD = {\n top: [0, height],\n center: [h2, h2],\n bottom: [height, 0],\n baseline: [h2, h2],\n axis: [h2 + a, h2 - a]\n };\n return HD[align] || [h2, h2];\n } else {\n var y = this.getVerticalPosition(row, align);\n return [y, height - y];\n }\n };\n class_1.prototype.getBBoxLR = function () {\n if (this.hasLabels) {\n var attributes = this.node.attributes;\n var side = attributes.get('side');\n var _a = __read(this.getPadAlignShift(side), 2),\n pad = _a[0],\n align = _a[1];\n var labels = this.hasLabels && !!attributes.get('data-width-includes-label');\n if (labels && this.frame && this.fSpace[0]) {\n pad -= this.fSpace[0];\n }\n return align === 'center' && !labels ? [pad, pad] : side === 'left' ? [pad, 0] : [0, pad];\n }\n return [0, 0];\n };\n class_1.prototype.getPadAlignShift = function (side) {\n var L = this.getTableData().L;\n var sep = this.length2em(this.node.attributes.get('minlabelspacing'));\n var pad = L + sep;\n var _a = __read(this.styles == null ? ['', ''] : [this.styles.get('padding-left'), this.styles.get('padding-right')], 2),\n lpad = _a[0],\n rpad = _a[1];\n if (lpad || rpad) {\n pad = Math.max(pad, this.length2em(lpad || '0'), this.length2em(rpad || '0'));\n }\n var _b = __read(this.getAlignShift(), 2),\n align = _b[0],\n shift = _b[1];\n if (align === side) {\n shift = side === 'left' ? Math.max(pad, shift) - pad : Math.min(-pad, shift) + pad;\n }\n return [pad, align, shift];\n };\n class_1.prototype.getAlignShift = function () {\n return this.isTop ? _super.prototype.getAlignShift.call(this) : [this.container.getChildAlign(this.containerI), 0];\n };\n class_1.prototype.getWidth = function () {\n return this.pWidth || this.getBBox().w;\n };\n class_1.prototype.getEqualRowHeight = function () {\n var _a = this.getTableData(),\n H = _a.H,\n D = _a.D;\n var HD = Array.from(H.keys()).map(function (i) {\n return H[i] + D[i];\n });\n return Math.max.apply(Math, HD);\n };\n class_1.prototype.getComputedWidths = function () {\n var _this = this;\n var W = this.getTableData().W;\n var CW = Array.from(W.keys()).map(function (i) {\n return typeof _this.cWidths[i] === 'number' ? _this.cWidths[i] : W[i];\n });\n if (this.node.attributes.get('equalcolumns')) {\n CW = Array(CW.length).fill((0, numeric_js_1.max)(CW));\n }\n return CW;\n };\n class_1.prototype.getColumnWidths = function () {\n var width = this.node.attributes.get('width');\n if (this.node.attributes.get('equalcolumns')) {\n return this.getEqualColumns(width);\n }\n var swidths = this.getColumnAttributes('columnwidth', 0);\n if (width === 'auto') {\n return this.getColumnWidthsAuto(swidths);\n }\n if ((0, string_js_1.isPercent)(width)) {\n return this.getColumnWidthsPercent(swidths);\n }\n return this.getColumnWidthsFixed(swidths, this.length2em(width));\n };\n class_1.prototype.getEqualColumns = function (width) {\n var n = Math.max(1, this.numCols);\n var cwidth;\n if (width === 'auto') {\n var W = this.getTableData().W;\n cwidth = (0, numeric_js_1.max)(W);\n } else if ((0, string_js_1.isPercent)(width)) {\n cwidth = this.percent(1 / n);\n } else {\n var w = (0, numeric_js_1.sum)([].concat(this.cLines, this.cSpace)) + 2 * this.fSpace[0];\n cwidth = Math.max(0, this.length2em(width) - w) / n;\n }\n return Array(this.numCols).fill(cwidth);\n };\n class_1.prototype.getColumnWidthsAuto = function (swidths) {\n var _this = this;\n return swidths.map(function (x) {\n if (x === 'auto' || x === 'fit') return null;\n if ((0, string_js_1.isPercent)(x)) return x;\n return _this.length2em(x);\n });\n };\n class_1.prototype.getColumnWidthsPercent = function (swidths) {\n var _this = this;\n var hasFit = swidths.indexOf('fit') >= 0;\n var W = (hasFit ? this.getTableData() : {\n W: null\n }).W;\n return Array.from(swidths.keys()).map(function (i) {\n var x = swidths[i];\n if (x === 'fit') return null;\n if (x === 'auto') return hasFit ? W[i] : null;\n if ((0, string_js_1.isPercent)(x)) return x;\n return _this.length2em(x);\n });\n };\n class_1.prototype.getColumnWidthsFixed = function (swidths, width) {\n var _this = this;\n var indices = Array.from(swidths.keys());\n var fit = indices.filter(function (i) {\n return swidths[i] === 'fit';\n });\n var auto = indices.filter(function (i) {\n return swidths[i] === 'auto';\n });\n var n = fit.length || auto.length;\n var W = (n ? this.getTableData() : {\n W: null\n }).W;\n var cwidth = width - (0, numeric_js_1.sum)([].concat(this.cLines, this.cSpace)) - 2 * this.fSpace[0];\n var dw = cwidth;\n indices.forEach(function (i) {\n var x = swidths[i];\n dw -= x === 'fit' || x === 'auto' ? W[i] : _this.length2em(x, cwidth);\n });\n var fw = n && dw > 0 ? dw / n : 0;\n return indices.map(function (i) {\n var x = swidths[i];\n if (x === 'fit') return W[i] + fw;\n if (x === 'auto') return W[i] + (fit.length === 0 ? fw : 0);\n return _this.length2em(x, cwidth);\n });\n };\n class_1.prototype.getVerticalPosition = function (i, align) {\n var equal = this.node.attributes.get('equalrows');\n var _a = this.getTableData(),\n H = _a.H,\n D = _a.D;\n var HD = equal ? this.getEqualRowHeight() : 0;\n var space = this.getRowHalfSpacing();\n var y = this.fLine;\n for (var j = 0; j < i; j++) {\n y += space[j] + (equal ? HD : H[j] + D[j]) + space[j + 1] + this.rLines[j];\n }\n var _b = __read(equal ? [(HD + H[i] - D[i]) / 2, (HD - H[i] + D[i]) / 2] : [H[i], D[i]], 2),\n h = _b[0],\n d = _b[1];\n var offset = {\n top: 0,\n center: space[i] + (h + d) / 2,\n bottom: space[i] + h + d + space[i + 1],\n baseline: space[i] + h,\n axis: space[i] + h - .25\n };\n y += offset[align] || 0;\n return y;\n };\n class_1.prototype.getEmHalfSpacing = function (fspace, space, scale) {\n if (scale === void 0) {\n scale = 1;\n }\n var fspaceEm = this.em(fspace * scale);\n var spaceEm = this.addEm(space, 2 / scale);\n spaceEm.unshift(fspaceEm);\n spaceEm.push(fspaceEm);\n return spaceEm;\n };\n class_1.prototype.getRowHalfSpacing = function () {\n var space = this.rSpace.map(function (x) {\n return x / 2;\n });\n space.unshift(this.fSpace[1]);\n space.push(this.fSpace[1]);\n return space;\n };\n class_1.prototype.getColumnHalfSpacing = function () {\n var space = this.cSpace.map(function (x) {\n return x / 2;\n });\n space.unshift(this.fSpace[0]);\n space.push(this.fSpace[0]);\n return space;\n };\n class_1.prototype.getAlignmentRow = function () {\n var _a = __read((0, string_js_1.split)(this.node.attributes.get('align')), 2),\n align = _a[0],\n row = _a[1];\n if (row == null) return [align, null];\n var i = parseInt(row);\n if (i < 0) i += this.numRows + 1;\n return [align, i < 1 || i > this.numRows ? null : i - 1];\n };\n class_1.prototype.getColumnAttributes = function (name, i) {\n if (i === void 0) {\n i = 1;\n }\n var n = this.numCols - i;\n var columns = this.getAttributeArray(name);\n if (columns.length === 0) return null;\n while (columns.length < n) {\n columns.push(columns[columns.length - 1]);\n }\n if (columns.length > n) {\n columns.splice(n);\n }\n return columns;\n };\n class_1.prototype.getRowAttributes = function (name, i) {\n if (i === void 0) {\n i = 1;\n }\n var n = this.numRows - i;\n var rows = this.getAttributeArray(name);\n if (rows.length === 0) return null;\n while (rows.length < n) {\n rows.push(rows[rows.length - 1]);\n }\n if (rows.length > n) {\n rows.splice(n);\n }\n return rows;\n };\n class_1.prototype.getAttributeArray = function (name) {\n var value = this.node.attributes.get(name);\n if (!value) return [this.node.attributes.getDefault(name)];\n return (0, string_js_1.split)(value);\n };\n class_1.prototype.addEm = function (list, n) {\n var _this = this;\n if (n === void 0) {\n n = 1;\n }\n if (!list) return null;\n return list.map(function (x) {\n return _this.em(x / n);\n });\n };\n class_1.prototype.convertLengths = function (list) {\n var _this = this;\n if (!list) return null;\n return list.map(function (x) {\n return _this.length2em(x);\n });\n };\n return class_1;\n }(Base);\n}\nexports.CommonMtableMixin = CommonMtableMixin;","map":{"version":3,"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","__read","o","n","m","Symbol","iterator","i","r","ar","e","next","done","push","value","error","__spreadArray","to","from","pack","arguments","length","l","slice","concat","__values","s","defineProperty","exports","CommonMtableMixin","BBox_js_1","require","string_js_1","numeric_js_1","Base","_super","class_1","args","_i","_this","apply","numCols","numRows","data","pwidthCells","pWidth","max","tableRows","map","row","numCells","childNodes","hasLabels","reduce","node","isKind","findContainer","isTop","container","parent","jax","table","getPercentageWidth","attributes","frame","get","fLine","fSpace","convertLengths","getAttributeArray","cSpace","getColumnAttributes","rSpace","getRowAttributes","cLines","x","rLines","cWidths","getColumnWidths","stretchRows","stretchColumns","enumerable","configurable","notParent","containerI","childPosition","bbox","pwidth","BBox","fullWidth","width","isPercent","equal","HD","getEqualRowHeight","_a","getTableData","H","D","rows","hd","stretchChildren","stretchColumn","W","e_1","e_2","_b","e_3","_c","stretchy","_d","_e","cell","getChild","child","stretch","dir","canStretch","e_1_1","return","count","nodeCount","all","_f","_g","noStretch","w","getBBox","e_2_1","stretchy_1","stretchy_1_1","coreMO","getStretchedVariant","e_3_1","fill","NH","ND","LW","j","M","align","updateHDW","recordPWidthCell","labeled","extendHD","L","h","scale","rscale","getProperty","computeBBox","_recompute","height","sum","CW","getComputedWidths","Math","length2em","getBBoxHD","getBBoxLR","R","setColumnPWidths","setChildPWidths","cwidth","_clear","labelInWidth","cols","percent","getColumnWidthsFixed","invalidateBBox","e_4","e_4_1","getAlignmentRow","a","font","params","axis_height","h2","top","center","bottom","baseline","axis","y","getVerticalPosition","side","getPadAlignShift","pad","labels","sep","styles","lpad","rpad","getAlignShift","shift","min","getChildAlign","getWidth","keys","getEqualColumns","swidths","getColumnWidthsAuto","getColumnWidthsPercent","hasFit","indexOf","indices","fit","filter","auto","dw","forEach","fw","space","getRowHalfSpacing","offset","getEmHalfSpacing","fspace","fspaceEm","em","spaceEm","addEm","unshift","getColumnHalfSpacing","split","parseInt","name","columns","splice","getDefault","list"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mathjax-full/js/output/common/Wrappers/mtable.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 __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};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommonMtableMixin = void 0;\nvar BBox_js_1 = require(\"../../../util/BBox.js\");\nvar string_js_1 = require(\"../../../util/string.js\");\nvar numeric_js_1 = require(\"../../../util/numeric.js\");\nfunction CommonMtableMixin(Base) {\n return (function (_super) {\n __extends(class_1, _super);\n function class_1() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;\n _this.numCols = 0;\n _this.numRows = 0;\n _this.data = null;\n _this.pwidthCells = [];\n _this.pWidth = 0;\n _this.numCols = (0, numeric_js_1.max)(_this.tableRows.map(function (row) { return row.numCells; }));\n _this.numRows = _this.childNodes.length;\n _this.hasLabels = _this.childNodes.reduce(function (value, row) { return value || row.node.isKind('mlabeledtr'); }, false);\n _this.findContainer();\n _this.isTop = !_this.container || (_this.container.node.isKind('math') && !_this.container.parent);\n if (_this.isTop) {\n _this.jax.table = _this;\n }\n _this.getPercentageWidth();\n var attributes = _this.node.attributes;\n _this.frame = attributes.get('frame') !== 'none';\n _this.fLine = (_this.frame && attributes.get('frame') ? .07 : 0);\n _this.fSpace = (_this.frame ? _this.convertLengths(_this.getAttributeArray('framespacing')) : [0, 0]);\n _this.cSpace = _this.convertLengths(_this.getColumnAttributes('columnspacing'));\n _this.rSpace = _this.convertLengths(_this.getRowAttributes('rowspacing'));\n _this.cLines = _this.getColumnAttributes('columnlines').map(function (x) { return (x === 'none' ? 0 : .07); });\n _this.rLines = _this.getRowAttributes('rowlines').map(function (x) { return (x === 'none' ? 0 : .07); });\n _this.cWidths = _this.getColumnWidths();\n _this.stretchRows();\n _this.stretchColumns();\n return _this;\n }\n Object.defineProperty(class_1.prototype, \"tableRows\", {\n get: function () {\n return this.childNodes;\n },\n enumerable: false,\n configurable: true\n });\n class_1.prototype.findContainer = function () {\n var node = this;\n var parent = node.parent;\n while (parent && (parent.node.notParent || parent.node.isKind('mrow'))) {\n node = parent;\n parent = parent.parent;\n }\n this.container = parent;\n this.containerI = node.node.childPosition();\n };\n class_1.prototype.getPercentageWidth = function () {\n if (this.hasLabels) {\n this.bbox.pwidth = BBox_js_1.BBox.fullWidth;\n }\n else {\n var width = this.node.attributes.get('width');\n if ((0, string_js_1.isPercent)(width)) {\n this.bbox.pwidth = width;\n }\n }\n };\n class_1.prototype.stretchRows = function () {\n var equal = this.node.attributes.get('equalrows');\n var HD = (equal ? this.getEqualRowHeight() : 0);\n var _a = (equal ? this.getTableData() : { H: [0], D: [0] }), H = _a.H, D = _a.D;\n var rows = this.tableRows;\n for (var i = 0; i < this.numRows; i++) {\n var hd = (equal ? [(HD + H[i] - D[i]) / 2, (HD - H[i] + D[i]) / 2] : null);\n rows[i].stretchChildren(hd);\n }\n };\n class_1.prototype.stretchColumns = function () {\n for (var i = 0; i < this.numCols; i++) {\n var width = (typeof this.cWidths[i] === 'number' ? this.cWidths[i] : null);\n this.stretchColumn(i, width);\n }\n };\n class_1.prototype.stretchColumn = function (i, W) {\n var e_1, _a, e_2, _b, e_3, _c;\n var stretchy = [];\n try {\n for (var _d = __values(this.tableRows), _e = _d.next(); !_e.done; _e = _d.next()) {\n var row = _e.value;\n var cell = row.getChild(i);\n if (cell) {\n var child = cell.childNodes[0];\n if (child.stretch.dir === 0 &&\n child.canStretch(2)) {\n stretchy.push(child);\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_a = _d.return)) _a.call(_d);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var count = stretchy.length;\n var nodeCount = this.childNodes.length;\n if (count && nodeCount > 1) {\n if (W === null) {\n W = 0;\n var all = (count > 1 && count === nodeCount);\n try {\n for (var _f = __values(this.tableRows), _g = _f.next(); !_g.done; _g = _f.next()) {\n var row = _g.value;\n var cell = row.getChild(i);\n if (cell) {\n var child = cell.childNodes[0];\n var noStretch = (child.stretch.dir === 0);\n if (all || noStretch) {\n var w = child.getBBox(noStretch).w;\n if (w > W) {\n W = w;\n }\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n try {\n for (var stretchy_1 = __values(stretchy), stretchy_1_1 = stretchy_1.next(); !stretchy_1_1.done; stretchy_1_1 = stretchy_1.next()) {\n var child = stretchy_1_1.value;\n child.coreMO().getStretchedVariant([W]);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (stretchy_1_1 && !stretchy_1_1.done && (_c = stretchy_1.return)) _c.call(stretchy_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n }\n };\n class_1.prototype.getTableData = function () {\n if (this.data) {\n return this.data;\n }\n var H = new Array(this.numRows).fill(0);\n var D = new Array(this.numRows).fill(0);\n var W = new Array(this.numCols).fill(0);\n var NH = new Array(this.numRows);\n var ND = new Array(this.numRows);\n var LW = [0];\n var rows = this.tableRows;\n for (var j = 0; j < rows.length; j++) {\n var M = 0;\n var row = rows[j];\n var align = row.node.attributes.get('rowalign');\n for (var i = 0; i < row.numCells; i++) {\n var cell = row.getChild(i);\n M = this.updateHDW(cell, i, j, align, H, D, W, M);\n this.recordPWidthCell(cell, i);\n }\n NH[j] = H[j];\n ND[j] = D[j];\n if (row.labeled) {\n M = this.updateHDW(row.childNodes[0], 0, j, align, H, D, LW, M);\n }\n this.extendHD(j, H, D, M);\n this.extendHD(j, NH, ND, M);\n }\n var L = LW[0];\n this.data = { H: H, D: D, W: W, NH: NH, ND: ND, L: L };\n return this.data;\n };\n class_1.prototype.updateHDW = function (cell, i, j, align, H, D, W, M) {\n var _a = cell.getBBox(), h = _a.h, d = _a.d, w = _a.w;\n var scale = cell.parent.bbox.rscale;\n if (cell.parent.bbox.rscale !== 1) {\n h *= scale;\n d *= scale;\n w *= scale;\n }\n if (this.node.getProperty('useHeight')) {\n if (h < .75)\n h = .75;\n if (d < .25)\n d = .25;\n }\n var m = 0;\n align = cell.node.attributes.get('rowalign') || align;\n if (align !== 'baseline' && align !== 'axis') {\n m = h + d;\n h = d = 0;\n }\n if (h > H[j])\n H[j] = h;\n if (d > D[j])\n D[j] = d;\n if (m > M)\n M = m;\n if (W && w > W[i])\n W[i] = w;\n return M;\n };\n class_1.prototype.extendHD = function (i, H, D, M) {\n var d = (M - (H[i] + D[i])) / 2;\n if (d < .00001)\n return;\n H[i] += d;\n D[i] += d;\n };\n class_1.prototype.recordPWidthCell = function (cell, i) {\n if (cell.childNodes[0] && cell.childNodes[0].getBBox().pwidth) {\n this.pwidthCells.push([cell, i]);\n }\n };\n class_1.prototype.computeBBox = function (bbox, _recompute) {\n if (_recompute === void 0) { _recompute = false; }\n var _a = this.getTableData(), H = _a.H, D = _a.D;\n var height, width;\n if (this.node.attributes.get('equalrows')) {\n var HD = this.getEqualRowHeight();\n height = (0, numeric_js_1.sum)([].concat(this.rLines, this.rSpace)) + HD * this.numRows;\n }\n else {\n height = (0, numeric_js_1.sum)(H.concat(D, this.rLines, this.rSpace));\n }\n height += 2 * (this.fLine + this.fSpace[1]);\n var CW = this.getComputedWidths();\n width = (0, numeric_js_1.sum)(CW.concat(this.cLines, this.cSpace)) + 2 * (this.fLine + this.fSpace[0]);\n var w = this.node.attributes.get('width');\n if (w !== 'auto') {\n width = Math.max(this.length2em(w, 0) + 2 * this.fLine, width);\n }\n var _b = __read(this.getBBoxHD(height), 2), h = _b[0], d = _b[1];\n bbox.h = h;\n bbox.d = d;\n bbox.w = width;\n var _c = __read(this.getBBoxLR(), 2), L = _c[0], R = _c[1];\n bbox.L = L;\n bbox.R = R;\n if (!(0, string_js_1.isPercent)(w)) {\n this.setColumnPWidths();\n }\n };\n class_1.prototype.setChildPWidths = function (_recompute, cwidth, _clear) {\n var width = this.node.attributes.get('width');\n if (!(0, string_js_1.isPercent)(width))\n return false;\n if (!this.hasLabels) {\n this.bbox.pwidth = '';\n this.container.bbox.pwidth = '';\n }\n var _a = this.bbox, w = _a.w, L = _a.L, R = _a.R;\n var labelInWidth = this.node.attributes.get('data-width-includes-label');\n var W = Math.max(w, this.length2em(width, Math.max(cwidth, L + w + R))) - (labelInWidth ? L + R : 0);\n var cols = (this.node.attributes.get('equalcolumns') ?\n Array(this.numCols).fill(this.percent(1 / Math.max(1, this.numCols))) :\n this.getColumnAttributes('columnwidth', 0));\n this.cWidths = this.getColumnWidthsFixed(cols, W);\n var CW = this.getComputedWidths();\n this.pWidth = (0, numeric_js_1.sum)(CW.concat(this.cLines, this.cSpace)) + 2 * (this.fLine + this.fSpace[0]);\n if (this.isTop) {\n this.bbox.w = this.pWidth;\n }\n this.setColumnPWidths();\n if (this.pWidth !== w) {\n this.parent.invalidateBBox();\n }\n return this.pWidth !== w;\n };\n class_1.prototype.setColumnPWidths = function () {\n var e_4, _a;\n var W = this.cWidths;\n try {\n for (var _b = __values(this.pwidthCells), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), cell = _d[0], i = _d[1];\n if (cell.setChildPWidths(false, W[i])) {\n cell.invalidateBBox();\n cell.getBBox();\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_4) throw e_4.error; }\n }\n };\n class_1.prototype.getBBoxHD = function (height) {\n var _a = __read(this.getAlignmentRow(), 2), align = _a[0], row = _a[1];\n if (row === null) {\n var a = this.font.params.axis_height;\n var h2 = height / 2;\n var HD = {\n top: [0, height],\n center: [h2, h2],\n bottom: [height, 0],\n baseline: [h2, h2],\n axis: [h2 + a, h2 - a]\n };\n return HD[align] || [h2, h2];\n }\n else {\n var y = this.getVerticalPosition(row, align);\n return [y, height - y];\n }\n };\n class_1.prototype.getBBoxLR = function () {\n if (this.hasLabels) {\n var attributes = this.node.attributes;\n var side = attributes.get('side');\n var _a = __read(this.getPadAlignShift(side), 2), pad = _a[0], align = _a[1];\n var labels = this.hasLabels && !!attributes.get('data-width-includes-label');\n if (labels && this.frame && this.fSpace[0]) {\n pad -= this.fSpace[0];\n }\n return (align === 'center' && !labels ? [pad, pad] :\n side === 'left' ? [pad, 0] : [0, pad]);\n }\n return [0, 0];\n };\n class_1.prototype.getPadAlignShift = function (side) {\n var L = this.getTableData().L;\n var sep = this.length2em(this.node.attributes.get('minlabelspacing'));\n var pad = L + sep;\n var _a = __read((this.styles == null ? ['', ''] :\n [this.styles.get('padding-left'), this.styles.get('padding-right')]), 2), lpad = _a[0], rpad = _a[1];\n if (lpad || rpad) {\n pad = Math.max(pad, this.length2em(lpad || '0'), this.length2em(rpad || '0'));\n }\n var _b = __read(this.getAlignShift(), 2), align = _b[0], shift = _b[1];\n if (align === side) {\n shift = (side === 'left' ? Math.max(pad, shift) - pad : Math.min(-pad, shift) + pad);\n }\n return [pad, align, shift];\n };\n class_1.prototype.getAlignShift = function () {\n return (this.isTop ? _super.prototype.getAlignShift.call(this) :\n [this.container.getChildAlign(this.containerI), 0]);\n };\n class_1.prototype.getWidth = function () {\n return this.pWidth || this.getBBox().w;\n };\n class_1.prototype.getEqualRowHeight = function () {\n var _a = this.getTableData(), H = _a.H, D = _a.D;\n var HD = Array.from(H.keys()).map(function (i) { return H[i] + D[i]; });\n return Math.max.apply(Math, HD);\n };\n class_1.prototype.getComputedWidths = function () {\n var _this = this;\n var W = this.getTableData().W;\n var CW = Array.from(W.keys()).map(function (i) {\n return (typeof _this.cWidths[i] === 'number' ? _this.cWidths[i] : W[i]);\n });\n if (this.node.attributes.get('equalcolumns')) {\n CW = Array(CW.length).fill((0, numeric_js_1.max)(CW));\n }\n return CW;\n };\n class_1.prototype.getColumnWidths = function () {\n var width = this.node.attributes.get('width');\n if (this.node.attributes.get('equalcolumns')) {\n return this.getEqualColumns(width);\n }\n var swidths = this.getColumnAttributes('columnwidth', 0);\n if (width === 'auto') {\n return this.getColumnWidthsAuto(swidths);\n }\n if ((0, string_js_1.isPercent)(width)) {\n return this.getColumnWidthsPercent(swidths);\n }\n return this.getColumnWidthsFixed(swidths, this.length2em(width));\n };\n class_1.prototype.getEqualColumns = function (width) {\n var n = Math.max(1, this.numCols);\n var cwidth;\n if (width === 'auto') {\n var W = this.getTableData().W;\n cwidth = (0, numeric_js_1.max)(W);\n }\n else if ((0, string_js_1.isPercent)(width)) {\n cwidth = this.percent(1 / n);\n }\n else {\n var w = (0, numeric_js_1.sum)([].concat(this.cLines, this.cSpace)) + 2 * this.fSpace[0];\n cwidth = Math.max(0, this.length2em(width) - w) / n;\n }\n return Array(this.numCols).fill(cwidth);\n };\n class_1.prototype.getColumnWidthsAuto = function (swidths) {\n var _this = this;\n return swidths.map(function (x) {\n if (x === 'auto' || x === 'fit')\n return null;\n if ((0, string_js_1.isPercent)(x))\n return x;\n return _this.length2em(x);\n });\n };\n class_1.prototype.getColumnWidthsPercent = function (swidths) {\n var _this = this;\n var hasFit = swidths.indexOf('fit') >= 0;\n var W = (hasFit ? this.getTableData() : { W: null }).W;\n return Array.from(swidths.keys()).map(function (i) {\n var x = swidths[i];\n if (x === 'fit')\n return null;\n if (x === 'auto')\n return (hasFit ? W[i] : null);\n if ((0, string_js_1.isPercent)(x))\n return x;\n return _this.length2em(x);\n });\n };\n class_1.prototype.getColumnWidthsFixed = function (swidths, width) {\n var _this = this;\n var indices = Array.from(swidths.keys());\n var fit = indices.filter(function (i) { return swidths[i] === 'fit'; });\n var auto = indices.filter(function (i) { return swidths[i] === 'auto'; });\n var n = fit.length || auto.length;\n var W = (n ? this.getTableData() : { W: null }).W;\n var cwidth = width - (0, numeric_js_1.sum)([].concat(this.cLines, this.cSpace)) - 2 * this.fSpace[0];\n var dw = cwidth;\n indices.forEach(function (i) {\n var x = swidths[i];\n dw -= (x === 'fit' || x === 'auto' ? W[i] : _this.length2em(x, cwidth));\n });\n var fw = (n && dw > 0 ? dw / n : 0);\n return indices.map(function (i) {\n var x = swidths[i];\n if (x === 'fit')\n return W[i] + fw;\n if (x === 'auto')\n return W[i] + (fit.length === 0 ? fw : 0);\n return _this.length2em(x, cwidth);\n });\n };\n class_1.prototype.getVerticalPosition = function (i, align) {\n var equal = this.node.attributes.get('equalrows');\n var _a = this.getTableData(), H = _a.H, D = _a.D;\n var HD = (equal ? this.getEqualRowHeight() : 0);\n var space = this.getRowHalfSpacing();\n var y = this.fLine;\n for (var j = 0; j < i; j++) {\n y += space[j] + (equal ? HD : H[j] + D[j]) + space[j + 1] + this.rLines[j];\n }\n var _b = __read((equal ? [(HD + H[i] - D[i]) / 2, (HD - H[i] + D[i]) / 2] : [H[i], D[i]]), 2), h = _b[0], d = _b[1];\n var offset = {\n top: 0,\n center: space[i] + (h + d) / 2,\n bottom: space[i] + h + d + space[i + 1],\n baseline: space[i] + h,\n axis: space[i] + h - .25\n };\n y += offset[align] || 0;\n return y;\n };\n class_1.prototype.getEmHalfSpacing = function (fspace, space, scale) {\n if (scale === void 0) { scale = 1; }\n var fspaceEm = this.em(fspace * scale);\n var spaceEm = this.addEm(space, 2 / scale);\n spaceEm.unshift(fspaceEm);\n spaceEm.push(fspaceEm);\n return spaceEm;\n };\n class_1.prototype.getRowHalfSpacing = function () {\n var space = this.rSpace.map(function (x) { return x / 2; });\n space.unshift(this.fSpace[1]);\n space.push(this.fSpace[1]);\n return space;\n };\n class_1.prototype.getColumnHalfSpacing = function () {\n var space = this.cSpace.map(function (x) { return x / 2; });\n space.unshift(this.fSpace[0]);\n space.push(this.fSpace[0]);\n return space;\n };\n class_1.prototype.getAlignmentRow = function () {\n var _a = __read((0, string_js_1.split)(this.node.attributes.get('align')), 2), align = _a[0], row = _a[1];\n if (row == null)\n return [align, null];\n var i = parseInt(row);\n if (i < 0)\n i += this.numRows + 1;\n return [align, i < 1 || i > this.numRows ? null : i - 1];\n };\n class_1.prototype.getColumnAttributes = function (name, i) {\n if (i === void 0) { i = 1; }\n var n = this.numCols - i;\n var columns = this.getAttributeArray(name);\n if (columns.length === 0)\n return null;\n while (columns.length < n) {\n columns.push(columns[columns.length - 1]);\n }\n if (columns.length > n) {\n columns.splice(n);\n }\n return columns;\n };\n class_1.prototype.getRowAttributes = function (name, i) {\n if (i === void 0) { i = 1; }\n var n = this.numRows - i;\n var rows = this.getAttributeArray(name);\n if (rows.length === 0)\n return null;\n while (rows.length < n) {\n rows.push(rows[rows.length - 1]);\n }\n if (rows.length > n) {\n rows.splice(n);\n }\n return rows;\n };\n class_1.prototype.getAttributeArray = function (name) {\n var value = this.node.attributes.get(name);\n if (!value)\n return [this.node.attributes.getDefault(name)];\n return (0, string_js_1.split)(value);\n };\n class_1.prototype.addEm = function (list, n) {\n var _this = this;\n if (n === void 0) { n = 1; }\n if (!list)\n return null;\n return list.map(function (x) { return _this.em(x / n); });\n };\n class_1.prototype.convertLengths = function (list) {\n var _this = this;\n if (!list)\n return null;\n return list.map(function (x) { return _this.length2em(x); });\n };\n return class_1;\n }(Base));\n}\nexports.CommonMtableMixin = CommonMtableMixin;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|