{"version":3,"sources":["webpack:///./node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js"],"names":["root","factory","module","exports","window","__WEBPACK_EXTERNAL_MODULE__6__","modules","installedModules","__webpack_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","previousTableState","defaultsDocument","tableState","default_1","getGlobalOptions","globalDefaults","getDocumentOptions","documentDefaults","default","TableState","doc","this","pageHeight","pageSize","height","pageWidth","width","internal","getWidth","getHeight","scaleFactor","pageNumber","getCurrentPageInfo","setupState","resetState","setDefaults","defaults","config_1","state_1","polyfills_1","getStringWidth","text","styles","fontSize","applyStyles","Array","isArray","maxWidth","forEach","line","getStringUnitWidth","precision","Math","floor","ellipsize","ellipsizeStr","value_1","str","ceil","length","substring","trim","addTableBorder","table","lineWidth","settings","tableLineWidth","lineColor","tableLineColor","fs","getFillStyle","rect","pageStartX","pageStartY","cursor","y","drawLine","drawBackground","fillColor","applyUserStyles","userStyles","styleModifiers","setFillColor","textColor","setTextColor","fontStyle","setFontStyle","setDrawColor","setLineWidth","font","setFont","setFontSize","keys","style","modifier","apply","marginOrPadding","defaultValue","newValue","_i","_a","side","assign","defaultStyles","concat","FONT_ROW_RATIO","defaultConfig","html","head","body","foot","includeHiddenHtml","startY","margin","pageBreak","rowPageBreak","tableWidth","showHead","showFoot","tableId","theme","useCss","headStyles","bodyStyles","footStyles","alternateRowStyles","columnStyles","didParseCell","data","willDrawCell","didDrawCell","didDrawPage","overflow","halign","valign","cellPadding","cellWidth","minCellHeight","getTheme","themes","alternateRow","target","varArgs","arguments","TypeError","to","index","nextSource","nextKey","HookData_1","common_1","CellHooks","Table","columns","preferredWidth","wrappedWidth","minWidth","headHeight","footHeight","startPageNumber","cellHooks","configurable","allRows","callCellHooks","handlers","cell","row","column","handlers_1","handler","CellHookData","callEndPageHooks","HookData","Row","raw","section","cells","maxCellLineCount","maxCellHeight","spansMultiplePages","_element","Cell","themeStyles","contentWidth","textPos","rowSpan","colSpan","content","undefined","dataKey","title","fromHtml","HTMLElement","original","innerHTML","replace","parts","split","map","part","join","innerText","textContent","splitRegex","padding","defaultMinWidth","minCellWidth","top","bottom","left","right","Column","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","shouldUseNative","test1","String","getOwnPropertyNames","test2","fromCharCode","order2","test3","letter","err","source","from","symbols","tableDrawer_1","widthCalculator_1","inputParser_1","jsPDF","autoTable","args","parseInput","calculateWidths","drawTable","finalY","previousAutoTable","lastAutoTable","previous","API","autoTableSetDefaults","autoTableHtmlToJson","tableElem","includeHiddenElements","console","error","HTMLTableElement","rows","header","getComputedStyle","display","_loop_1","tableRow","rowData_1","push","values","autoTableEndPosY","prev","autoTableAddPageContent","hook","addPageContent","autoTableAddPage","addPage","models_1","x","minTableBottomPos","nextPage","cachedBreakPageRow","printRow","printFullRow","getPageBreakColSpanCellHeight","cellHeight","remainingPageSpace","rowIndex","rowsTotalHeight","j","rowHeight","isLastRow","remainingTexts","getRemainingPageSpace","rowHeightGreaterThanMaxTableHeight","fontHeight","vPadding","pageBreakColSpanCellHeight","remainingLineCount","splice","actualHeight","min","newCell","maxTableHeight","fillStyle","autoTableText","bottomContentHeight","cloneCachedRow_1","current","setPage","newCurrent","__extends","extendStatics","b","setPrototypeOf","__proto__","__","constructor","_super","_this","columnMinWidth","copy","slice","diffWidth","distributeWidth","applyColSpans","fitContent","applyRowSpans","rowSpanCells","colRowSpansLeft","all","remaining","colSpanCell","combinedColSpanWidth","colSpansLeft","columnIndex","rowSpanHeight","count","_b","_c","textSpace","splitTextToSize","lineCount","contentHeight","realContentHeight","autoColumns","wrappedAutoColumnsWidth","ratio","suggestedChange","suggestedWidth","__assign","htmlParser_1","inputValidator_1","tableOptions","parseUserArguments","globalOptions","documentOptions","allOptions","id","getTextColor","getFontSize","getFont","fontName","styleProp","opts","allOptions_1","_d","hookName","isSamePageAsPrevious","htmlContent","parseHtml","parseContent","reduce","total","col","getTableColumns","_loop_2","sectionName","rowSpansLeftForColumn","sectionRows","sectionRow_1","columnData","footer","rawRow","skippedRowForRowSpans","colSpansAdded","columnSpansLeft","rawCell","cellStyles","times","input","merged","dataKeys","otherStyles","colStyles","rowStyles","cssParser_1","tableElement","document","querySelector","parseTableSection","tHead","tBodies","tFoot","sectionElement","includeHidden","results","resultRow","parseCss","i_1","element","ignored","result","accepted","indexOf","pxScaleFactor","parseColor","parseFontStyle","textAlign","verticalAlign","parseInt","parsePadding","lineHeight","borderTopWidth","fontFamily","toLowerCase","res","fontWeight","colorProp","cssColor","realColor","rgba","match","color","alpha","isNaN","elem","bg","parentElement","linePadding","extendWidth","margins","afterPageContent","beforePageContent","afterPageAdd","deprecated","deprecatedOption","checkStyles","columnWidth","k","splitText","alignSize","iLine","align"],"mappings":"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","file":"js/chunk-2d0af61d.bbf9125a.js","sourcesContent":["/*!\n * \n * jsPDF AutoTable plugin v3.1.4\n * \n * Copyright (c) 2014 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * \n * * /if (typeof window === 'object') window.jspdfAutoTableVersion = '\" + newVersion + \"';/*\"\n * \n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jspdf\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"jspdf\")) : factory(root[\"jsPDF\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function(__WEBPACK_EXTERNAL_MODULE__6__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultsDocument = null;\nvar previousTableState;\nvar tableState = null;\nexports.globalDefaults = {};\nexports.documentDefaults = {};\nfunction default_1() {\n return tableState;\n}\nexports.default = default_1;\nfunction getGlobalOptions() {\n return exports.globalDefaults;\n}\nexports.getGlobalOptions = getGlobalOptions;\nfunction getDocumentOptions() {\n return exports.documentDefaults;\n}\nexports.getDocumentOptions = getDocumentOptions;\nvar TableState = /** @class */ (function () {\n function TableState(doc) {\n this.doc = doc;\n }\n TableState.prototype.pageHeight = function () {\n return this.pageSize().height;\n };\n ;\n TableState.prototype.pageWidth = function () {\n return this.pageSize().width;\n };\n ;\n TableState.prototype.pageSize = function () {\n var pageSize = this.doc.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 ;\n TableState.prototype.scaleFactor = function () {\n return this.doc.internal.scaleFactor;\n };\n ;\n TableState.prototype.pageNumber = function () {\n return this.doc.internal.getCurrentPageInfo().pageNumber;\n };\n return TableState;\n}());\nfunction setupState(doc) {\n previousTableState = tableState;\n tableState = new TableState(doc);\n if (doc !== defaultsDocument) {\n defaultsDocument = doc;\n exports.documentDefaults = {};\n }\n}\nexports.setupState = setupState;\nfunction resetState() {\n tableState = previousTableState;\n}\nexports.resetState = resetState;\nfunction setDefaults(defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n exports.documentDefaults = defaults || {};\n defaultsDocument = doc;\n }\n else {\n exports.globalDefaults = defaults || {};\n }\n}\nexports.setDefaults = setDefaults;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = __webpack_require__(2);\nvar state_1 = __webpack_require__(0);\nvar polyfills_1 = __webpack_require__(3);\nfunction getStringWidth(text, styles) {\n var fontSize = styles.fontSize / state_1.default().scaleFactor();\n applyStyles(styles);\n text = Array.isArray(text) ? text : [text];\n var maxWidth = 0;\n text.forEach(function (line) {\n var width = state_1.default().doc.getStringUnitWidth(line);\n if (width > maxWidth) {\n maxWidth = width;\n }\n });\n var precision = 10000 * state_1.default().scaleFactor();\n maxWidth = Math.floor(maxWidth * precision) / precision;\n return maxWidth * fontSize;\n}\nexports.getStringWidth = getStringWidth;\n/**\n * Ellipsize the text to fit in the width\n */\nfunction ellipsize(text, width, styles, ellipsizeStr) {\n if (ellipsizeStr === void 0) { ellipsizeStr = '...'; }\n if (Array.isArray(text)) {\n var value_1 = [];\n text.forEach(function (str, i) {\n value_1[i] = ellipsize(str, width, styles, ellipsizeStr);\n });\n return value_1;\n }\n var precision = 10000 * state_1.default().scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= getStringWidth(text, styles)) {\n return text;\n }\n while (width < getStringWidth(text + ellipsizeStr, styles)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + ellipsizeStr;\n}\nexports.ellipsize = ellipsize;\nfunction addTableBorder() {\n var table = state_1.default().table;\n var styles = { lineWidth: table.settings.tableLineWidth, lineColor: table.settings.tableLineColor };\n applyStyles(styles);\n var fs = getFillStyle(styles);\n if (fs) {\n state_1.default().doc.rect(table.pageStartX, table.pageStartY, table.width, table.cursor.y - table.pageStartY, fs);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(styles) {\n var drawLine = styles.lineWidth > 0;\n var drawBackground = styles.fillColor || styles.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 false;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction applyUserStyles() {\n applyStyles(state_1.default().table.userStyles);\n}\nexports.applyUserStyles = applyUserStyles;\nfunction applyStyles(styles) {\n var doc = state_1.default().doc;\n var styleModifiers = {\n fillColor: doc.setFillColor,\n textColor: doc.setTextColor,\n fontStyle: doc.setFontStyle,\n lineColor: doc.setDrawColor,\n lineWidth: doc.setLineWidth,\n font: doc.setFont,\n fontSize: doc.setFontSize\n };\n Object.keys(styleModifiers).forEach(function (name) {\n var style = styles[name];\n var modifier = styleModifiers[name];\n if (typeof style !== 'undefined') {\n if (Array.isArray(style)) {\n modifier.apply(this, style);\n }\n else {\n modifier(style);\n }\n }\n });\n}\nexports.applyStyles = applyStyles;\n// This is messy, only keep array and number format the next major version\nfunction marginOrPadding(value, defaultValue) {\n var newValue = {};\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n newValue = { 'top': value[0], 'right': value[1], 'bottom': value[2], 'left': value[3] };\n }\n else if (value.length === 3) {\n newValue = { 'top': value[0], 'right': value[1], 'bottom': value[2], 'left': value[1] };\n }\n else if (value.length === 2) {\n newValue = { 'top': value[0], 'right': value[1], 'bottom': value[0], 'left': value[1] };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n else if (typeof value === 'object') {\n if (value['vertical']) {\n value['top'] = value['vertical'];\n value['bottom'] = value['vertical'];\n }\n if (value['horizontal']) {\n value['right'] = value['horizontal'];\n value['left'] = value['horizontal'];\n }\n for (var _i = 0, _a = ['top', 'right', 'bottom', 'left']; _i < _a.length; _i++) {\n var side = _a[_i];\n newValue[side] = (value[side] || value[side] === 0) ? value[side] : defaultValue;\n }\n }\n if (typeof value === 'number') {\n newValue = { 'top': value, 'right': value, 'bottom': value, 'left': value };\n }\n return newValue;\n}\nexports.marginOrPadding = marginOrPadding;\nfunction styles(styles) {\n styles = Array.isArray(styles) ? styles : [styles];\n return polyfills_1.assign.apply(void 0, [config_1.defaultStyles()].concat(styles));\n}\nexports.styles = styles;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Ratio between font size and font height. The number comes from jspdf's source code\n */\nexports.FONT_ROW_RATIO = 1.15;\nvar state_1 = __webpack_require__(0);\nfunction defaultConfig() {\n return {\n // Html content\n html: null,\n // Custom content\n head: null,\n body: null,\n foot: null,\n // Properties\n includeHiddenHtml: false,\n startY: null,\n margin: 40 / state_1.default().scaleFactor(),\n pageBreak: 'auto',\n rowPageBreak: 'auto',\n tableWidth: 'auto',\n showHead: 'everyPage',\n showFoot: 'everyPage',\n tableLineWidth: 0,\n tableLineColor: 200,\n tableId: null,\n // Styling\n theme: 'striped',\n useCss: false,\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n // Hooks\n // Use to change the content of the cell before width calculations etc are performed\n didParseCell: function (data) {\n },\n willDrawCell: function (data) {\n },\n // Use to draw additional content such as images in table cells\n didDrawCell: function (data) {\n },\n // Use to draw additional content to each page such as headers and footers\n didDrawPage: function (data) {\n },\n };\n}\nexports.defaultConfig = defaultConfig;\n// Base style for all themes\nfunction defaultStyles() {\n return {\n font: \"helvetica\",\n fontStyle: 'normal',\n overflow: 'linebreak',\n fillColor: false,\n textColor: 20,\n halign: 'left',\n valign: 'top',\n fontSize: 10,\n cellPadding: 5 / state_1.default().scaleFactor(),\n lineColor: 200,\n lineWidth: 0 / state_1.default().scaleFactor(),\n cellWidth: 'auto',\n minCellHeight: 0\n };\n}\nexports.defaultStyles = defaultStyles;\n/**\n * Styles for the themes (overriding the default styles)\n */\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: { fillColor: 255, textColor: 80, fontStyle: 'normal', lineWidth: 0.1 },\n head: { textColor: 255, fillColor: [26, 188, 156], fontStyle: 'bold', lineWidth: 0 },\n body: {},\n foot: { textColor: 255, fillColor: [26, 188, 156], fontStyle: 'bold', lineWidth: 0 },\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/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/*\n * Include common small polyfills instead of requiring the user to to do it\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target) {\n 'use strict';\n var varArgs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n varArgs[_i - 1] = arguments[_i];\n }\n if (target == null) { // TypeError if undefined or 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 var nextSource = arguments[index];\n if (nextSource != null) { // 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/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = __webpack_require__(2);\nvar state_1 = __webpack_require__(0);\nvar HookData_1 = __webpack_require__(9);\nvar common_1 = __webpack_require__(1);\nvar assign = __webpack_require__(5);\nvar CellHooks = /** @class */ (function () {\n function CellHooks() {\n this.didParseCell = [];\n this.willDrawCell = [];\n this.didDrawCell = [];\n this.didDrawPage = [];\n }\n return CellHooks;\n}());\nvar Table = /** @class */ (function () {\n function Table() {\n this.columns = [];\n this.head = [];\n this.body = [];\n this.foot = [];\n this.height = 0;\n this.width = 0;\n this.preferredWidth = 0;\n this.wrappedWidth = 0;\n this.minWidth = 0;\n this.headHeight = 0;\n this.footHeight = 0;\n this.startPageNumber = 1;\n this.pageNumber = 1;\n this.styles = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n this.cellHooks = new CellHooks();\n }\n Object.defineProperty(Table.prototype, \"pageCount\", {\n get: function () {\n return this.pageNumber;\n },\n enumerable: true,\n configurable: true\n });\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (handlers, cell, row, column) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n if (handler(new HookData_1.CellHookData(cell, row, column)) === false) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function () {\n common_1.applyUserStyles();\n for (var _i = 0, _a = this.cellHooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData());\n }\n };\n Table.prototype.margin = function (side) {\n return common_1.marginOrPadding(this.settings.margin, config_1.defaultConfig().margin)[side];\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section) {\n this.cells = {};\n this.height = 0;\n this.maxCellLineCount = 1;\n this.maxCellHeight = 0;\n this.pageNumber = 1;\n this.spansMultiplePages = false;\n this.raw = raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n this.index = index;\n this.section = section;\n }\n Object.defineProperty(Row.prototype, \"pageCount\", {\n get: function () {\n return this.pageNumber;\n },\n enumerable: true,\n configurable: true\n });\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, themeStyles, section) {\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minWidth = 0;\n this.textPos = {};\n this.height = 0;\n this.width = 0;\n this.rowSpan = raw && raw.rowSpan || 1;\n this.colSpan = raw && raw.colSpan || 1;\n this.styles = assign(themeStyles, raw && raw.styles || {});\n this.section = section;\n var text = '';\n var content = raw && typeof raw.content !== 'undefined' ? raw.content : raw;\n content = content != undefined && content.dataKey != undefined ? content.title : content;\n var fromHtml = typeof window === 'object' && window.HTMLElement && content instanceof window.HTMLElement;\n this.raw = fromHtml ? content : raw;\n if (content && fromHtml) {\n var original = content.innerHTML;\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n content.innerHTML = content.innerHTML.replace(/\\n/g, '');\n content.innerHTML = content.innerHTML.replace(/ +/g, ' ');\n // Hack for preserving br tags as line breaks in the pdf\n var parts = content.innerHTML.split('
');\n parts = parts.map(function (part) { return part.trim(); });\n content.innerHTML = parts.join('\\n');\n text = content.innerText || content.textContent || '';\n content.innerHTML = original;\n }\n else {\n // Stringify 0 and false, but not undefined or null\n text = content != undefined ? '' + content : '';\n }\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n this.contentWidth = this.padding('horizontal') + common_1.getStringWidth(this.text, this.styles);\n if (typeof this.styles.cellWidth === 'number') {\n this.minWidth = this.styles.cellWidth;\n this.wrappedWidth = this.styles.cellWidth;\n }\n else if (this.styles.cellWidth === 'wrap') {\n this.minWidth = this.contentWidth;\n this.wrappedWidth = this.contentWidth;\n }\n else { // auto\n var defaultMinWidth = 10 / state_1.default().scaleFactor();\n this.minWidth = this.styles.minCellWidth || defaultMinWidth;\n this.wrappedWidth = this.contentWidth;\n if (this.minWidth > this.wrappedWidth) {\n this.wrappedWidth = this.minWidth;\n }\n }\n }\n Cell.prototype.padding = function (name) {\n var padding = common_1.marginOrPadding(this.styles.cellPadding, common_1.styles([]).cellPadding);\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.preferredWidth = 0;\n this.minWidth = 0;\n this.wrappedWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__6__;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tableDrawer_1 = __webpack_require__(8);\nvar widthCalculator_1 = __webpack_require__(10);\nvar inputParser_1 = __webpack_require__(11);\nvar state_1 = __webpack_require__(0);\n__webpack_require__(15);\nvar common_1 = __webpack_require__(1);\nvar jsPDF = __webpack_require__(6);\nfunction autoTable() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n state_1.setupState(this);\n // 1. Parse and unify user input\n var table = inputParser_1.parseInput(args);\n // 2. Calculate preliminary table, column, row and cell dimensions\n widthCalculator_1.calculateWidths(table);\n // 3. Output table to pdf\n tableDrawer_1.drawTable(table);\n table.finalY = table.cursor.y;\n this.previousAutoTable = table;\n this.lastAutoTable = table;\n this.autoTable.previous = table; // Deprecated\n common_1.applyUserStyles();\n state_1.resetState();\n return this;\n}\njsPDF.API.autoTable = autoTable;\n// Assign false to enable `doc.lastAutoTable.finalY || 40` sugar;\njsPDF.API.lastAutoTable = false;\njsPDF.API.previousAutoTable = false; // deprecated in v3\njsPDF.API.autoTable.previous = false; // deprecated in v3\njsPDF.API.autoTableSetDefaults = function (defaults) {\n state_1.setDefaults(defaults, this);\n return this;\n};\njsPDF.autoTableSetDefaults = function (defaults, doc) {\n state_1.setDefaults(defaults, doc);\n return this;\n};\n/**\n * @Deprecated. Use html option instead doc.autoTable(html: '#table')\n */\njsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n console.error(\"Use of deprecated function: autoTableHtmlToJson. Use html option instead.\");\n includeHiddenElements = includeHiddenElements || false;\n if (!tableElem || !(tableElem instanceof HTMLTableElement)) {\n console.error(\"A HTMLTableElement has to be sent to autoTableHtmlToJson\");\n return null;\n }\n var columns = {}, rows = [];\n var header = tableElem.rows[0];\n for (var i = 0; i < header.cells.length; i++) {\n var cell = header.cells[i];\n var style = window.getComputedStyle(cell);\n if (includeHiddenElements || style.display !== 'none') {\n columns[i] = cell;\n }\n }\n var _loop_1 = function (i) {\n var tableRow = tableElem.rows[i];\n var style = window.getComputedStyle(tableRow);\n if (includeHiddenElements || style.display !== 'none') {\n var rowData_1 = [];\n Object.keys(columns).forEach(function (key) {\n var cell = tableRow.cells[key];\n rowData_1.push(cell);\n });\n rows.push(rowData_1);\n }\n };\n for (var i = 1; i < tableElem.rows.length; i++) {\n _loop_1(i);\n }\n var values = Object.keys(columns).map(function (key) {\n return columns[key];\n });\n return { columns: values, rows: rows, data: rows };\n};\n/**\n * @deprecated\n */\njsPDF.API.autoTableEndPosY = function () {\n console.error(\"Use of deprecated function: autoTableEndPosY. Use doc.previousAutoTable.finalY instead.\");\n var prev = this.previousAutoTable;\n if (prev.cursor && typeof prev.cursor.y === 'number') {\n return prev.cursor.y;\n }\n else {\n return 0;\n }\n};\n/**\n * @deprecated\n */\njsPDF.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 */\njsPDF.API.autoTableAddPage = function () {\n console.error(\"Use of deprecated function: autoTableAddPage. Use doc.addPage()\");\n this.addPage();\n return this;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = __webpack_require__(2);\nvar common_1 = __webpack_require__(1);\nvar models_1 = __webpack_require__(4);\nvar state_1 = __webpack_require__(0);\nvar assign = __webpack_require__(5);\nfunction drawTable(table) {\n var settings = table.settings;\n table.cursor = {\n x: table.margin('left'),\n y: settings.startY == null ? table.margin('top') : settings.startY\n };\n var minTableBottomPos = settings.startY + table.margin('bottom') + table.headHeight + table.footHeight;\n if (settings.pageBreak === 'avoid') {\n minTableBottomPos += table.height;\n }\n if (settings.pageBreak === 'always' || settings.startY != null && settings.startY !== false && minTableBottomPos > state_1.default().pageHeight()) {\n nextPage(state_1.default().doc);\n table.cursor.y = table.margin('top');\n }\n table.pageStartX = table.cursor.x;\n table.pageStartY = table.cursor.y;\n table.startPageNumber = state_1.default().pageNumber();\n // a empty row used to cached cells those break through page\n var cachedBreakPageRow = new models_1.Row([], 0, 'body');\n cachedBreakPageRow.index = -1;\n common_1.applyUserStyles();\n if (settings.showHead === true || settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(row); });\n }\n common_1.applyUserStyles();\n table.body.forEach(function (row, index) {\n printFullRow(row, index === table.body.length - 1, cachedBreakPageRow, index); //CE\n });\n common_1.applyUserStyles();\n if (settings.showFoot === true || settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(row); });\n }\n common_1.addTableBorder();\n table.callEndPageHooks();\n}\nexports.drawTable = drawTable;\n//CE Get the best fit height for a page breaking cell\nfunction getPageBreakColSpanCellHeight(cellHeight, remainingPageSpace, rowIndex, rows) {\n try {\n if (cellHeight <= remainingPageSpace) {\n return cellHeight;\n }\n var rowsTotalHeight = 0;\n for (var j = rowIndex; j < rows.length; j++) {\n var rowHeight = rows[j].height;\n if (rowsTotalHeight + rowHeight < remainingPageSpace) {\n rowsTotalHeight += rowHeight;\n }\n else {\n return rowsTotalHeight;\n }\n }\n }\n catch (error) {\n return cellHeight;\n }\n}\nfunction printFullRow(row, isLastRow, cachedBreakPageRow, rowIndex) {\n var remainingTexts = {};\n var table = state_1.default().table;\n var remainingPageSpace = getRemainingPageSpace(isLastRow);\n if (remainingPageSpace < row.maxCellHeight) {\n //CE Use actual row.height not calculated\n if (remainingPageSpace < row.height || (table.settings.rowPageBreak === 'avoid' && !rowHeightGreaterThanMaxTableHeight(row))) {\n addPage(cachedBreakPageRow, row.index);\n }\n else {\n // Modify the row to fit the current page and calculate text and height of partial row\n row.spansMultiplePages = true;\n for (var j = 0; j < table.columns.length; j++) {\n var column = table.columns[j];\n var cell = row.cells[column.dataKey];\n if (!cell) {\n continue;\n }\n var fontHeight = cell.styles.fontSize / state_1.default().scaleFactor() * config_1.FONT_ROW_RATIO;\n var vPadding = cell.padding('vertical');\n //CE Get actual remaining height for this cell\n var pageBreakColSpanCellHeight = getPageBreakColSpanCellHeight(cell.height, remainingPageSpace, rowIndex, table.body);\n //CE Remaining Line count should consider actual remaining height for this cell\n var remainingLineCount = Math.floor((pageBreakColSpanCellHeight - vPadding) / fontHeight);\n // Note that this will cut cells with specified custom min height at page break\n if (Array.isArray(cell.text) && cell.text.length > remainingLineCount) {\n remainingTexts[column.dataKey] = cell.text.splice(remainingLineCount, cell.text.length);\n var actualHeight = Math.floor(cell.text.length * fontHeight);\n if (cell.rowSpan === 1) {\n row.height = Math.min(row.height, actualHeight);\n }\n var newCell = new models_1.Cell(cell, cell.styles, cell.section);\n newCell.height = cell.height;\n newCell.width = cell.width;\n newCell.text = remainingTexts[column.dataKey];\n cachedBreakPageRow.cells[column.dataKey] = newCell;\n }\n else if (cell.height > remainingPageSpace) {\n // this cell has rowspan and it will break through page\n // cache the cell so that border can be printed in next page\n cachedBreakPageRow.cells[column.dataKey] = new models_1.Cell(cell, cell.styles, cell.section);\n cachedBreakPageRow.cells[column.dataKey].height = cell.height;\n cachedBreakPageRow.cells[column.dataKey].width = cell.width;\n cachedBreakPageRow.cells[column.dataKey].text = [];\n }\n //CE Actual remaining height for this cell\n cell.height = Math.min(pageBreakColSpanCellHeight, cell.height);\n }\n }\n }\n printRow(row);\n if (cachedBreakPageRow && !(Object.keys(cachedBreakPageRow.cells).length === 0)) {\n // calculate remaining height of rowspan cell\n Object.keys(cachedBreakPageRow.cells).forEach(function (key) {\n cachedBreakPageRow.cells[key].height -= row.height;\n //Cells smaller then row height doesn't need be maintained.\n if (cachedBreakPageRow.cells[key].height < row.height) {\n delete cachedBreakPageRow.cells[key];\n }\n });\n }\n}\nfunction rowHeightGreaterThanMaxTableHeight(row) {\n var table = state_1.default().table;\n var pageHeight = state_1.default().pageHeight();\n var maxTableHeight = pageHeight - table.margin('top') - table.margin('bottom');\n return row.maxCellHeight > maxTableHeight;\n}\nfunction printRow(row) {\n var table = state_1.default().table;\n table.cursor.x = table.margin('left');\n row.y = table.cursor.y;\n row.x = table.cursor.x;\n // For backwards compatibility reset those after addingRow event\n table.cursor.x = table.margin('left');\n row.y = table.cursor.y;\n row.x = table.cursor.x;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.dataKey];\n if (!cell) {\n table.cursor.x += column.width;\n continue;\n }\n common_1.applyStyles(cell.styles);\n cell.x = table.cursor.x;\n cell.y = row.y;\n if (cell.styles.valign === 'top') {\n cell.textPos.y = table.cursor.y + cell.padding('top');\n }\n else if (cell.styles.valign === 'bottom') {\n cell.textPos.y = table.cursor.y + cell.height - cell.padding('bottom');\n }\n else {\n cell.textPos.y = table.cursor.y + cell.height / 2;\n }\n if (cell.styles.halign === 'right') {\n cell.textPos.x = cell.x + cell.width - cell.padding('right');\n }\n else if (cell.styles.halign === 'center') {\n cell.textPos.x = cell.x + cell.width / 2;\n }\n else {\n cell.textPos.x = cell.x + cell.padding('left');\n }\n if (table.callCellHooks(table.cellHooks.willDrawCell, cell, row, column) === false) {\n table.cursor.x += column.width;\n continue;\n }\n var fillStyle = common_1.getFillStyle(cell.styles);\n if (fillStyle) {\n state_1.default().doc.rect(cell.x, table.cursor.y, cell.width, cell.height, fillStyle);\n }\n state_1.default().doc.autoTableText(cell.text, cell.textPos.x, cell.textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: cell.width - cell.padding('left') - cell.padding('right')\n });\n table.callCellHooks(table.cellHooks.didDrawCell, cell, row, column);\n table.cursor.x += column.width;\n }\n table.cursor.y += row.height;\n}\nfunction getRemainingPageSpace(isLastRow) {\n var table = state_1.default().table;\n var bottomContentHeight = table.margin('bottom');\n var showFoot = table.settings.showFoot;\n if (showFoot === true || showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.footHeight;\n }\n return state_1.default().pageHeight() - table.cursor.y - bottomContentHeight;\n}\nfunction addPage(cachedBreakPageRow, rowIndex) {\n var table = state_1.default().table;\n common_1.applyUserStyles();\n if (table.settings.showFoot === true || table.settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(row); });\n }\n table.finalY = table.cursor.y;\n // Add user content just before adding new page ensure it will \n // be drawn above other things on the page\n table.callEndPageHooks();\n common_1.addTableBorder();\n nextPage(state_1.default().doc);\n table.pageNumber++;\n table.cursor = { x: table.margin('left'), y: table.margin('top') };\n table.pageStartX = table.cursor.x;\n table.pageStartY = table.cursor.y;\n if (table.settings.showHead === true || table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(row); });\n }\n if (cachedBreakPageRow && !(Object.keys(cachedBreakPageRow.cells).length === 0)) {\n // when there is a cached row, print it firstly\n var cloneCachedRow_1 = assign({}, cachedBreakPageRow);\n cloneCachedRow_1.height = 0;\n Object.keys(cachedBreakPageRow.cells).forEach(function (key) {\n // recalculate maxCellHeight\n if (cloneCachedRow_1.maxCellHeight < cachedBreakPageRow.cells[key].height) {\n cloneCachedRow_1.maxCellHeight = cachedBreakPageRow.cells[key].height;\n }\n if (cachedBreakPageRow.cells[key].rowSpan > 1)\n return;\n // cachedRow height should be equal to the height of non-spanning cells\n cloneCachedRow_1.height = cachedBreakPageRow.cells[key].height;\n });\n cachedBreakPageRow.cells = {};\n printFullRow(cloneCachedRow_1, false, cachedBreakPageRow, rowIndex);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = state_1.default().pageNumber();\n doc.setPage(current + 1);\n var newCurrent = state_1.default().pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n }\n}\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\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 });\nvar state_1 = __webpack_require__(0);\nvar HookData = /** @class */ (function () {\n function HookData() {\n var table = state_1.default().table;\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.settings = table.settings;\n this.cursor = table.cursor;\n this.doc = state_1.default().doc;\n }\n Object.defineProperty(HookData.prototype, \"pageCount\", {\n get: function () {\n return this.pageNumber;\n },\n enumerable: true,\n configurable: true\n });\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(cell, row, column) {\n var _this = _super.call(this) || 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/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = __webpack_require__(2);\nvar common_1 = __webpack_require__(1);\nvar state_1 = __webpack_require__(0);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(table) {\n // TODO Handle these cases\n var columnMinWidth = 10 / state_1.default().scaleFactor();\n if (columnMinWidth * table.columns.length > table.width) {\n console.error('Columns could not fit on page');\n }\n else if (table.minWidth > table.width) {\n console.error(\"Column widths to wide and can't fit page\");\n }\n var copy = table.columns.slice(0);\n var diffWidth = table.width - table.wrappedWidth;\n distributeWidth(copy, diffWidth, table.wrappedWidth);\n applyColSpans(table);\n fitContent(table);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\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.dataKey];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.dataKey];\n }\n else if (data) {\n data.cell.height += row.height;\n if (data.cell.height > row.maxCellHeight) {\n data.row.maxCellHeight = data.cell.height;\n data.row.maxCellLineCount = Array.isArray(data.cell.text) ? data.cell.text.length : 1;\n }\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.dataKey];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.dataKey];\n }\n }\n else {\n var cell = row.cells[column.dataKey];\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.dataKey] = { cell: cell, left: left, row: row };\n }\n }\n }\n if (row.section === 'head') {\n table.headHeight += row.maxCellHeight;\n }\n if (row.section === 'foot') {\n table.footHeight += row.maxCellHeight;\n }\n table.height += row.height;\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 var cell = null;\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.dataKey];\n continue;\n }\n else if (colSpanCell) {\n cell = colSpanCell;\n delete row.cells[column.dataKey];\n colSpanCell = null;\n }\n else {\n cell = row.cells[column.dataKey];\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 }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n}\nfunction fitContent(table) {\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.dataKey];\n if (!cell)\n continue;\n common_1.applyStyles(cell.styles);\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 = state_1.default().doc.splitTextToSize(cell.text, textSpace + 1 / (state_1.default().scaleFactor() || 1), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = common_1.ellipsize(cell.text, textSpace, cell.styles);\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = common_1.ellipsize(cell.text, textSpace, cell.styles, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n cell.text = cell.styles.overflow(cell.text, textSpace);\n }\n var lineCount = Array.isArray(cell.text) ? cell.text.length : 1;\n var fontHeight = cell.styles.fontSize / state_1.default().scaleFactor() * config_1.FONT_ROW_RATIO;\n cell.contentHeight = lineCount * fontHeight + cell.padding('vertical');\n if (cell.styles.minCellHeight > cell.contentHeight) {\n cell.contentHeight = cell.styles.minCellHeight;\n }\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 && (rowSpanHeight.count * rowSpanHeight.height < 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 row.maxCellHeight = realContentHeight;\n row.maxCellLineCount = lineCount;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction distributeWidth(autoColumns, diffWidth, wrappedAutoColumnsWidth) {\n for (var i = 0; i < autoColumns.length; i++) {\n var column = autoColumns[i];\n var ratio = column.wrappedWidth / wrappedAutoColumnsWidth;\n var suggestedChange = diffWidth * ratio;\n var suggestedWidth = column.wrappedWidth + suggestedChange;\n if (suggestedWidth >= column.minWidth) {\n column.width = suggestedWidth;\n }\n else {\n // We can't reduce the width of this column. Mark as none auto column and start over\n // Add 1 to minWidth as linebreaks calc otherwise sometimes made two rows\n column.width = column.minWidth + 1 / state_1.default().scaleFactor();\n wrappedAutoColumnsWidth -= column.wrappedWidth;\n autoColumns.splice(i, 1);\n distributeWidth(autoColumns, diffWidth, wrappedAutoColumnsWidth);\n break;\n }\n }\n}\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar models_1 = __webpack_require__(4);\nvar config_1 = __webpack_require__(2);\nvar htmlParser_1 = __webpack_require__(12);\nvar polyfills_1 = __webpack_require__(3);\nvar common_1 = __webpack_require__(1);\nvar state_1 = __webpack_require__(0);\nvar inputValidator_1 = __webpack_require__(14);\n/**\n * Create models from the user input\n */\nfunction parseInput(args) {\n var tableOptions = parseUserArguments(args);\n var globalOptions = state_1.getGlobalOptions();\n var documentOptions = state_1.getDocumentOptions();\n var allOptions = [globalOptions, documentOptions, tableOptions];\n inputValidator_1.default(allOptions);\n var table = new models_1.Table();\n state_1.default().table = table;\n table.id = tableOptions.tableId;\n var doc = state_1.default().doc;\n table.userStyles = {\n // Setting to black for versions of jspdf without getTextColor\n textColor: doc.getTextColor ? doc.getTextColor() : 0,\n fontSize: doc.internal.getFontSize(),\n fontStyle: doc.internal.getFont().fontStyle,\n font: doc.internal.getFont().fontName\n };\n var _loop_1 = function (styleProp) {\n var styles = allOptions.map(function (opts) { return opts[styleProp] || {}; });\n table.styles[styleProp] = polyfills_1.assign.apply(void 0, [{}].concat(styles));\n };\n // Merge styles one level deeper\n for (var _i = 0, _a = Object.keys(table.styles); _i < _a.length; _i++) {\n var styleProp = _a[_i];\n _loop_1(styleProp);\n }\n // Append hooks\n for (var _b = 0, allOptions_1 = allOptions; _b < allOptions_1.length; _b++) {\n var opts = allOptions_1[_b];\n for (var _c = 0, _d = Object.keys(table.cellHooks); _c < _d.length; _c++) {\n var hookName = _d[_c];\n if (opts && typeof opts[hookName] === 'function') {\n table.cellHooks[hookName].push(opts[hookName]);\n }\n }\n }\n table.settings = polyfills_1.assign.apply(void 0, [{}, config_1.defaultConfig()].concat(allOptions));\n table.settings.margin = common_1.marginOrPadding(table.settings.margin, config_1.defaultConfig().margin);\n if (table.settings.theme === 'auto') {\n table.settings.theme = table.settings.useCss ? 'plain' : 'striped';\n }\n if (table.settings.startY === false) {\n delete table.settings.startY;\n }\n var previous = state_1.default().doc.previousAutoTable;\n var isSamePageAsPrevious = previous && previous.startPageNumber + previous.pageNumber - 1 === state_1.default().pageNumber();\n if (table.settings.startY == null && isSamePageAsPrevious) {\n table.settings.startY = previous.finalY + 20 / state_1.default().scaleFactor();\n }\n var htmlContent = {};\n if (table.settings.html) {\n htmlContent = htmlParser_1.parseHtml(table.settings.html, table.settings.includeHiddenHtml, table.settings.useCss) || {};\n }\n table.settings.head = htmlContent.head || table.settings.head || [];\n table.settings.body = htmlContent.body || table.settings.body || [];\n table.settings.foot = htmlContent.foot || table.settings.foot || [];\n parseContent(table);\n table.minWidth = table.columns.reduce(function (total, col) { return (total + col.minWidth); }, 0);\n table.wrappedWidth = table.columns.reduce(function (total, col) { return (total + col.wrappedWidth); }, 0);\n if (typeof table.settings.tableWidth === 'number') {\n table.width = table.settings.tableWidth;\n }\n else if (table.settings.tableWidth === 'wrap') {\n table.width = table.wrappedWidth;\n }\n else {\n table.width = state_1.default().pageWidth() - table.margin('left') - table.margin('right');\n }\n return table;\n}\nexports.parseInput = parseInput;\nfunction parseUserArguments(args) {\n // Normal initialization on format doc.autoTable(options)\n if (args.length === 1) {\n return args[0];\n }\n else {\n // Deprecated initialization on format doc.autoTable(columns, body, [options])\n var opts = args[2] || {};\n opts.body = args[1];\n opts.columns = args[0];\n // Support v2 title prop in v3\n opts.columns.forEach(function (col) {\n if (col.header == null) {\n col.header = col.title;\n }\n });\n return opts;\n }\n}\nfunction parseContent(table) {\n var settings = table.settings;\n table.columns = getTableColumns(settings);\n var _loop_2 = function (sectionName) {\n var rowSpansLeftForColumn = {};\n var sectionRows = settings[sectionName];\n if (sectionRows.length === 0 && settings.columns) {\n var sectionRow_1 = {};\n table.columns\n .forEach(function (col) {\n var columnData = col.raw;\n if (sectionName === 'head') {\n var val = typeof columnData === 'object' ? columnData.header : columnData;\n if (val) {\n sectionRow_1[col.dataKey] = val;\n }\n }\n else if (sectionName === 'foot' && columnData.footer) {\n sectionRow_1[col.dataKey] = columnData.footer;\n }\n });\n if (Object.keys(sectionRow_1).length) {\n sectionRows.push(sectionRow_1);\n }\n }\n sectionRows.forEach(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var row = new models_1.Row(rawRow, rowIndex, sectionName);\n table[sectionName].push(row);\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n if (rowSpansLeftForColumn[column.dataKey] == null || rowSpansLeftForColumn[column.dataKey].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell = rawRow[column.dataKey - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var styles = cellStyles(sectionName, column.dataKey, rowIndex);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n row.cells[column.dataKey] = cell;\n table.callCellHooks(table.cellHooks.didParseCell, cell, row, column);\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.dataKey] = { left: cell.rowSpan - 1, times: columnSpansLeft };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.dataKey].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.dataKey].times;\n skippedRowForRowSpans++;\n }\n }\n });\n };\n for (var _i = 0, _a = ['head', 'body', 'foot']; _i < _a.length; _i++) {\n var sectionName = _a[_i];\n _loop_2(sectionName);\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.dataKey];\n // Kind of make sense to not consider width of cells with colspan columns\n // Consider this in a future release however\n if (cell && cell.colSpan === 1) {\n if (cell.wrappedWidth > column.wrappedWidth) {\n column.wrappedWidth = cell.wrappedWidth;\n }\n if (cell.minWidth > column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n }\n }\n });\n}\nfunction getTableColumns(settings) {\n if (settings.columns) {\n return settings.columns.map(function (input, index) {\n var key = input.dataKey || input.key || index;\n return new models_1.Column(key, input, index);\n });\n }\n else {\n var merged = __assign({}, settings.head[0], settings.body[0], settings.foot[0]);\n delete merged._element;\n var dataKeys = Object.keys(merged);\n return dataKeys.map(function (key) { return new models_1.Column(key, key, key); });\n }\n}\nfunction cellStyles(sectionName, dataKey, rowIndex) {\n var table = state_1.default().table;\n var theme = config_1.getTheme(table.settings.theme);\n var otherStyles = [theme.table, theme[sectionName], table.styles.styles, table.styles[sectionName + \"Styles\"]];\n var colStyles = sectionName === 'body' ? table.styles.columnStyles[dataKey] || {} : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0 ? polyfills_1.assign({}, theme.alternateRow, table.styles.alternateRowStyles) : {};\n return polyfills_1.assign.apply(void 0, [config_1.defaultStyles()].concat(otherStyles.concat([rowStyles, colStyles])));\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar cssParser_1 = __webpack_require__(13);\nvar state_1 = __webpack_require__(0);\nfunction parseHtml(input, includeHiddenHtml, useCss) {\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 if (!tableElement) {\n console.error(\"Html table could not be found with input: \", input);\n return;\n }\n var head = parseTableSection(window, tableElement.tHead, includeHiddenHtml, useCss);\n var body = [];\n for (var i = 0; i < tableElement.tBodies.length; i++) {\n body = body.concat(parseTableSection(window, tableElement.tBodies[i], includeHiddenHtml, useCss));\n }\n var foot = parseTableSection(window, tableElement.tFoot, includeHiddenHtml, useCss);\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseTableSection(window, sectionElement, includeHidden, useCss) {\n var results = [];\n if (!sectionElement) {\n return results;\n }\n for (var i = 0; i < sectionElement.rows.length; i++) {\n var row = sectionElement.rows[i];\n var resultRow = [];\n var rowStyles = useCss ? cssParser_1.parseCss(row, state_1.default().scaleFactor(), ['cellPadding', 'lineWidth', 'lineColor']) : {};\n for (var i_1 = 0; i_1 < row.cells.length; i_1++) {\n var cell = row.cells[i_1];\n var style = window.getComputedStyle(cell);\n if (includeHidden || style.display !== 'none') {\n var cellStyles = useCss ? cssParser_1.parseCss(cell, state_1.default().scaleFactor()) : {};\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: useCss ? cellStyles : null,\n content: cell\n });\n }\n }\n if (resultRow.length > 0 && (includeHidden || rowStyles.display !== 'none')) {\n resultRow._element = row;\n results.push(resultRow);\n }\n }\n return results;\n}\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(1);\nfunction parseCss(element, scaleFactor, ignored) {\n if (ignored === void 0) { ignored = []; }\n var result = {};\n var style = window.getComputedStyle(element);\n function assign(name, value, accepted) {\n if (accepted === void 0) { accepted = []; }\n if ((accepted.length === 0 || accepted.indexOf(value) !== -1) && ignored.indexOf(name) === -1) {\n if (value === 0 || value) {\n result[name] = value;\n }\n }\n }\n var pxScaleFactor = 96 / 72;\n assign('fillColor', parseColor(element, 'backgroundColor'));\n assign('fontStyle', parseFontStyle(style));\n assign('textColor', parseColor(element, 'color'));\n assign('halign', style.textAlign, ['left', 'right', 'center', 'justify']);\n assign('valign', style.verticalAlign, ['middle', 'bottom', 'top']);\n assign('fontSize', parseInt(style.fontSize || '') / pxScaleFactor);\n assign('cellPadding', parsePadding(style.padding, style.fontSize, style.lineHeight, scaleFactor));\n // style.borderWidth only works in chrome (borderTopWidth etc works in firefox and ie as well)\n assign('lineWidth', parseInt(style.borderTopWidth || '') / pxScaleFactor / scaleFactor);\n assign('lineColor', parseColor(element, 'borderTopColor'));\n assign('font', (style.fontFamily || '').toLowerCase());\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' || style.fontWeight === 'bolder' || 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, colorProp) {\n var cssColor = realColor(element, colorProp);\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 = [parseInt(rgba[1]), parseInt(rgba[2]), parseInt(rgba[3])];\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, colorProp) {\n if (!elem)\n return null;\n var bg = window.getComputedStyle(elem)[colorProp];\n if (bg === 'rgba(0, 0, 0, 0)' || bg === 'transparent' || bg === 'initial' || bg === 'inherit') {\n return realColor(elem.parentElement, colorProp);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(val, fontSize, lineHeight, scaleFactor) {\n if (!val)\n return null;\n var pxScaleFactor = (96 / (72 / scaleFactor));\n var linePadding = (parseInt(lineHeight) - parseInt(fontSize)) / scaleFactor / 2;\n var padding = val.split(' ').map(function (n) {\n return parseInt(n) / pxScaleFactor;\n });\n padding = common_1.marginOrPadding(padding, 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/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar common_1 = __webpack_require__(1);\nfunction default_1(allOptions) {\n var _loop_1 = function (settings) {\n if (settings && typeof settings !== 'object') {\n console.error(\"The options parameter should be of type object, is: \" + typeof settings);\n }\n if (typeof settings.extendWidth !== 'undefined') {\n settings.tableWidth = settings.extendWidth ? 'auto' : 'wrap';\n console.error(\"Use of deprecated option: extendWidth, use tableWidth instead.\");\n }\n if (typeof settings.margins !== 'undefined') {\n if (typeof settings.margin === 'undefined')\n settings.margin = settings.margins;\n console.error(\"Use of deprecated option: margins, use margin instead.\");\n }\n if (settings.startY && typeof settings.startY !== 'number') {\n console.error('Invalid value for startY option', settings.startY);\n }\n if (!settings.didDrawPage && (settings.afterPageContent || settings.beforePageContent || settings.afterPageAdd)) {\n console.error(\"The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead\");\n settings.didDrawPage = function (data) {\n common_1.applyUserStyles();\n if (settings.beforePageContent)\n settings.beforePageContent(data);\n common_1.applyUserStyles();\n if (settings.afterPageContent)\n settings.afterPageContent(data);\n common_1.applyUserStyles();\n if (settings.afterPageAdd && data.pageNumber > 1) {\n data.afterPageAdd(data);\n }\n common_1.applyUserStyles();\n };\n }\n [\"createdHeaderCell\", \"drawHeaderRow\", \"drawRow\", \"drawHeaderCell\"].forEach(function (name) {\n if (settings[name]) {\n console.error(\"The \\\"\" + name + \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\");\n }\n });\n [['showFoot', 'showFooter'], ['showHead', 'showHeader'], ['didDrawPage', 'addPageContent'], ['didParseCell', 'createdCell'], ['headStyles', 'headerStyles']].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (settings[deprecated]) {\n console.error(\"Use of deprecated option \" + deprecated + \". Use \" + current + \" instead\");\n settings[current] = settings[deprecated];\n }\n });\n [['padding', 'cellPadding'], ['lineHeight', 'rowHeight'], 'fontSize', 'overflow'].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof settings[deprecatedOption] !== 'undefined') {\n if (typeof settings.styles[style] === 'undefined') {\n settings.styles[style] = settings[deprecatedOption];\n }\n console.error(\"Use of deprecated option: \" + deprecatedOption + \", use the style \" + style + \" instead.\");\n }\n });\n for (var _i = 0, _a = ['styles', 'bodyStyles', 'headStyles', 'footStyles']; _i < _a.length; _i++) {\n var styleProp = _a[_i];\n checkStyles(settings[styleProp] || {});\n }\n var columnStyles = settings['columnStyles'] || {};\n for (var _b = 0, _c = Object.keys(columnStyles); _b < _c.length; _b++) {\n var dataKey = _c[_b];\n checkStyles(columnStyles[dataKey] || {});\n }\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var settings = allOptions_1[_i];\n _loop_1(settings);\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/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar jsPDF = __webpack_require__(6);\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 */\njsPDF.API.autoTableText = function (text, x, y, styles) {\n styles = styles || {};\n var FONT_ROW_RATIO = 1.15;\n if (typeof x !== 'number' || typeof y !== 'number') {\n console.error('The x and y parameters are required. Missing for text: ', text);\n }\n var k = this.internal.scaleFactor;\n var fontSize = this.internal.getFontSize() / k;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = null;\n var lineCount = 1;\n if (styles.valign === 'middle' || styles.valign === 'bottom' || styles.halign === 'center' || 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 - FONT_ROW_RATIO);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * fontSize * FONT_ROW_RATIO;\n else if (styles.valign === 'bottom')\n y -= lineCount * fontSize * FONT_ROW_RATIO;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n this.text(splitText[iLine], x - this.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += fontSize * FONT_ROW_RATIO;\n }\n return this;\n }\n x -= this.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n this.text(text, x, y, { maxWidth: styles.maxWidth || 100, align: 'justify' });\n }\n else {\n this.text(text, x, y);\n }\n return this;\n};\n\n\n/***/ })\n/******/ ]);\n});"],"sourceRoot":""}