{"version":3,"file":"jspdf.plugin.autotable-CUiRDTe6.js","sources":["../../../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js"],"sourcesContent":["/*!\n * \n * jsPDF AutoTable plugin v3.8.2\n *\n * Copyright (c) 2024 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n *\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof globalThis !== 'undefined' ? globalThis : typeof this !== 'undefined' ? this : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : global , function(__WEBPACK_EXTERNAL_MODULE__964__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 172:\n/***/ (function(__unused_webpack_module, exports) {\n\n\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})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n\n/***/ 340:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar htmlParser_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(136);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = (0, inputParser_1.parseInput)(this, options);\n var table = (0, tableCalculator_1.createTable)(this, input);\n (0, tableDrawer_1.drawTable)(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n (0, autoTableText_1.default)(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _b = (0, htmlParser_1.parseHtml)(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 136:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 420:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPageAvailableWidth = exports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\nexports.getPageAvailableWidth = getPageAvailableWidth;\n\n\n/***/ }),\n\n/***/ 796:\n/***/ (function(__unused_webpack_module, exports) {\n\n\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})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = void 0;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n\n/***/ 903:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(420);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n console.log(result.lineWidth);\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = (0, common_1.parseSpacing)(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n\n/***/ 744:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(903);\nvar config_1 = __webpack_require__(796);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = (0, cssParser_1.parseCss)(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(//) //start with '
'.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n\n/***/ 776:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(4);\nvar polyfills_1 = __webpack_require__(356);\nvar common_1 = __webpack_require__(420);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputValidator_1 = __webpack_require__(792);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n (0, inputValidator_1.default)(doc, global, document, current);\n var options = (0, polyfills_1.assign)({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = (0, polyfills_1.assign)({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = (0, polyfills_1.assign)({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = (0, common_1.parseSpacing)(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = (0, htmlParser_1.parseHtml)(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n\n/***/ 792:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\".concat(name, \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\"));\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \".concat(deprecated, \". Use \").concat(current, \" instead\"));\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _b = 0, _c = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _b < _c.length; _b++) {\n var styleProp = _c[_b];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _d = 0, _e = Object.keys(columnStyles); _d < _e.length; _d++) {\n var key = _e[_d];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports[\"default\"] = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(796);\nvar HookData_1 = __webpack_require__(172);\nvar common_1 = __webpack_require__(420);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = (0, common_1.parseSpacing)(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n\n/***/ 356:\n/***/ (function(__unused_webpack_module, exports) {\n\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n\n/***/ 972:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(744);\nvar models_1 = __webpack_require__(260);\nvar widthCalculator_1 = __webpack_require__(324);\nvar config_1 = __webpack_require__(796);\nvar polyfills_1 = __webpack_require__(356);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n (0, widthCalculator_1.calculateWidths)(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = (0, config_1.getTheme)(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = (0, polyfills_1.assign)({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? (0, polyfills_1.assign)({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = (0, config_1.defaultStyles)(scaleFactor);\n var themeStyles = (0, polyfills_1.assign)({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return (0, polyfills_1.assign)(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n\n/***/ 664:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addPage = exports.drawTable = void 0;\nvar common_1 = __webpack_require__(420);\nvar models_1 = __webpack_require__(260);\nvar documentHandler_1 = __webpack_require__(744);\nvar polyfills_1 = __webpack_require__(356);\nvar autoTableText_1 = __webpack_require__(136);\nvar tablePrinter_1 = __webpack_require__(224);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = (0, polyfills_1.assign)({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = (0, tablePrinter_1.calculateAllColumnsCanFitInPage)(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n table.body.slice(startRowIndex, endRowIndex).forEach(function (row, index) {\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n });\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = (0, polyfills_1.assign)(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n (0, autoTableText_1.default)(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = (0, common_1.getFillStyle)(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.calculateAllColumnsCanFitInPage = void 0;\nvar common_1 = __webpack_require__(420);\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n table.settings.horizontalPageBreakRepeat;\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\nexports.calculateAllColumnsCanFitInPage = calculateAllColumnsCanFitInPage;\n\n\n/***/ }),\n\n/***/ 324:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(420);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.warn(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = (0, common_1.getStringWidth)(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = (0, common_1.getStringWidth)(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= (0, common_1.getStringWidth)(text, styles, doc)) {\n return text;\n }\n while (width < (0, common_1.getStringWidth)(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n\n/***/ 964:\n/***/ (function(module) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__964__ === 'undefined') { var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__964__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(340);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nvar models_1 = __webpack_require__(260);\nObject.defineProperty(exports, \"Table\", ({ enumerable: true, get: function () { return models_1.Table; } }));\nvar HookData_1 = __webpack_require__(172);\nObject.defineProperty(exports, \"CellHookData\", ({ enumerable: true, get: function () { return HookData_1.CellHookData; } }));\nvar models_2 = __webpack_require__(260);\nObject.defineProperty(exports, \"Cell\", ({ enumerable: true, get: function () { return models_2.Cell; } }));\nObject.defineProperty(exports, \"Column\", ({ enumerable: true, get: function () { return models_2.Column; } }));\nObject.defineProperty(exports, \"Row\", ({ enumerable: true, get: function () { return models_2.Row; } }));\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n (0, applyPlugin_1.default)(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n var table = (0, tableCalculator_1.createTable)(d, input);\n (0, tableDrawer_1.drawTable)(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n return (0, tableCalculator_1.createTable)(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n (0, tableDrawer_1.drawTable)(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(964);\n // Webpack imported jspdf instead of jsPDF for some reason\n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\nexports[\"default\"] = autoTable;\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","module","require$$0","this","global","__WEBPACK_EXTERNAL_MODULE__964__","__webpack_modules__","__unused_webpack_module","exports","__extends","extendStatics","d","b","p","__","HookData","doc","table","cursor","CellHookData","_super","cell","row","column","_this","__webpack_require__","htmlParser_1","autoTableText_1","documentHandler_1","inputParser_1","tableDrawer_1","tableCalculator_1","default_1","jsPDF","args","_i","options","input","text","x","y","styles","defaults","tableElem","includeHiddenElements","_a","_b","head","body","columns","c","prev","hook","PHYSICAL_LINE_HEIGHT","k","fontSize","lineHeightFactor","lineHeight","splitRegex","splitText","lineCount","alignSize","iLine","getStringWidth","textArr","widestLineWidth","a","addTableBorder","startPos","lineWidth","lineColor","fillStyle","getFillStyle","fillColor","drawLine","drawBackground","parseSpacing","value","defaultValue","_c","_d","getPageAvailableWidth","margins","HtmlRowInput","element","defaultStyles","scaleFactor","getTheme","name","themes","common_1","parseCss","supportedFonts","style","window","result","pxScaleFactor","backgroundColor","parseColor","elem","textColor","padding","parsePadding","borderColorSide","finalScaleFactor","btw","borderWidth","borderColor","accepted","res","fontStyle","parseFontStyle","font","styleGetter","cssColor","realColor","rgba","color","alpha","bg","val","linePadding","inputPadding","globalDefaults","DocHandler","jsPDFDocument","fontOnly","fontName","availableFontStyles","size","opts","width","height","page","pageSize","pageInfo","cssParser_1","config_1","parseHtml","includeHiddenHtml","useCss","tableElement","foot","i","tagName","parseRowContent","includeHidden","resultRow","style_1","cellStyles","parseCellContent","orgCell","part","polyfills_1","inputValidator_1","parseInput","current","document","win","parseStyles","hooks","parseHooks","settings","parseSettings","content","parseContent","gInput","dInput","cInput","styleOptions","_loop_1","prop","global_1","document_1","allOptions","allOptions_1","_e","_f","_g","_h","_j","_k","_l","_m","margin","startY","getStartY","showFoot","showHead","theme","horizontalPageBreak","horizontalPageBreakRepeat","userStartY","previous","sf","currentPage","isSamePageAsPreviousTable","endingPage","hidden","htmlContent","parseColumns","firstRow","key","colSpan","id","rowResult","data","deprecated","o","deprecatedOption","styleProp","checkStyles","columnStyles","HookData_1","Table","acc","handlers","handlers_1","handler","pageWidth","wrappedWidth","total","col","Row","raw","index","section","cells","spansMultiplePages","vPadding","oneRowHeight","Cell","netHeight","netWidth","Column","dataKey","max","assign","target","s","s1","s2","s3","to","nextSource","nextKey","models_1","widthCalculator_1","createTable","jsPDFDoc","createColumns","sectionRow","generateSectionRow","parseSection","sectionName","sectionRows","styleProps","rowSpansLeftForColumn","rawRow","rowIndex","skippedRowForRowSpans","colSpansAdded","columnSpansLeft","columns_1","rawCell","cellInputStyles","title","getSectionTitle","themeName","sectionStyles","otherStyles","colStyles","rowStyles","defaultStyle","themeStyles","tablePrinter_1","drawTable","sectionsHeight","minTableBottomPos","rows","tableHeight","nextPage","printTableWithHorizontalPageBreak","printRow","isLastRow","printFullRow","allColumnsCanFitResult","colsAndIndexes","addPage","printHead","printBody","printFoot","lastRowIndexOfLastPage_1","firstColumnsToFitResult","lastPrintedRowIndex","firstColumnsToFit","printBodyWithoutPageBreaks","maxNumberOfRows","startRowIndex","endRowIndex","remainingSpace","getRemainingPageSpace","getRemainingLineCount","remainingPageSpace","remainingLines","modifyRowToFit","rowHeight","remainderCell","remainingLineCount","remainderRow","shouldPrintOnCurrentPage","pageHeight","marginHeight","maxRowHeight","minRowHeight","minRowFits","rowHasRowSpanCell","rowHigherThanPage","drawCellRect","textPos","drawCellBorders","x1","y1","x2","y2","bottomContentHeight","suppressFooter","newCurrent","getColumnsCanFitInPage","config","remainingWidth","repeatColumnsMap","colIndexes","field","item","first","colWidth","calculateAllColumnsCanFitInPage","allResults","calculateWidths","calculate","resizableColumns","initialTableWidth","customWidth","resizeWidth","resizeColumns","applyColSpans","fitContent","applyRowSpans","availablePageWidth","longestWordWidth","defaultMinWidth","cellWidth","getMinWidth","initialResizeWidth","sumWrappedWidth","ratio","suggestedChange","suggestedWidth","minWidth","newWidth","rowSpanCells","colRowSpansLeft","all","remaining","left","colSpanCell","combinedColSpanWidth","colSpansLeft","columnIndex","rowSpanHeight","textSpace","ellipsize","realContentHeight","overflow","str","ellipsizeStr","precision","e","__webpack_module_cache__","moduleId","cachedModule","__webpack_exports__","applyPlugin_1","models_2","applyPlugin","autoTable","__createTable","__drawTable"],"mappings":"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","x_google_ignoreList":[0]}