@pdfme/ui 6.1.1-dev.5 → 6.1.1-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/class.d.ts +8 -0
- package/dist/helper.d.ts +4 -0
- package/dist/index.js +1136 -751
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -45684,10 +45684,53 @@ function parseExpressionAt(input, pos, options) {
|
|
|
45684
45684
|
//#endregion
|
|
45685
45685
|
//#region ../common/dist/index.js
|
|
45686
45686
|
var PDFME_VERSION = "6.1.1";
|
|
45687
|
+
var PAGE_SIZE_PRESETS = {
|
|
45688
|
+
A3: {
|
|
45689
|
+
width: 297,
|
|
45690
|
+
height: 420
|
|
45691
|
+
},
|
|
45692
|
+
A4: {
|
|
45693
|
+
width: 210,
|
|
45694
|
+
height: 297
|
|
45695
|
+
},
|
|
45696
|
+
A5: {
|
|
45697
|
+
width: 148,
|
|
45698
|
+
height: 210
|
|
45699
|
+
},
|
|
45700
|
+
A6: {
|
|
45701
|
+
width: 105,
|
|
45702
|
+
height: 148
|
|
45703
|
+
},
|
|
45704
|
+
B4: {
|
|
45705
|
+
width: 250,
|
|
45706
|
+
height: 353
|
|
45707
|
+
},
|
|
45708
|
+
B5: {
|
|
45709
|
+
width: 176,
|
|
45710
|
+
height: 250
|
|
45711
|
+
},
|
|
45712
|
+
B6: {
|
|
45713
|
+
width: 125,
|
|
45714
|
+
height: 176
|
|
45715
|
+
},
|
|
45716
|
+
Letter: {
|
|
45717
|
+
width: 215.9,
|
|
45718
|
+
height: 279.4
|
|
45719
|
+
},
|
|
45720
|
+
Legal: {
|
|
45721
|
+
width: 215.9,
|
|
45722
|
+
height: 355.6
|
|
45723
|
+
},
|
|
45724
|
+
Tabloid: {
|
|
45725
|
+
width: 279.4,
|
|
45726
|
+
height: 431.8
|
|
45727
|
+
}
|
|
45728
|
+
};
|
|
45687
45729
|
var PT_TO_PX_RATIO = 1.333;
|
|
45688
45730
|
var PT_TO_MM_RATIO = .3528;
|
|
45689
45731
|
var MM_TO_PT_RATIO = 2.8346;
|
|
45690
45732
|
var ZOOM = 3.7795275591;
|
|
45733
|
+
({ ...PAGE_SIZE_PRESETS.A4 });
|
|
45691
45734
|
var DEFAULT_FONT_NAME = "Roboto";
|
|
45692
45735
|
var DEFAULT_FONT_VALUE = "data:font/ttf;base64,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G7EDGj5ZsCfcMDEA//8Aev/sBNwHGQImACsAAAEHAKIBpQFXABQAsABFWLALLxuxCx4+WbEnBPQwMf//AGD+VgPyBcICJgBLAAABBwCiATIAAAAUALAARViwAy8bsQMaPlmxLAH0MDH//wB6/fYE3AXEAiYAKwAAAAcBugHa/pf//wBg/lYD8gaTAiYASwAAAQcBzwErAFgAEwCwAEVYsAMvG7EDGj5ZsCrcMDEA//8AqQAABQgHQgImACwAAAEHAJ4A8QFCABQAsABFWLAHLxuxBx4+WbEQBvQwMf//AIwAAAPfB0ECJgBMAAABBwCeAB0BQQAJALARL7AU3DAxAP///7cAAAJ6By4CJgAtAAABBwCl/zwBRgAUALAARViwAy8bsQMePlmxBwT0MDH///+dAAACYAXqAiYAjQAAAQcApf8iAAIAFACwAEVYsAMvG7EDGj5ZsQcB9DAx////zAAAAmwG7wImAC0AAAEHAHD/PgFKABMAsABFWLACLxuxAh4+WbAF3DAxAP///7IAAAJSBasCJgCNAAABBwBw/yQABgATALAARViwAi8bsQIaPlmwBdwwMQD////sAAACQwcaAiYALQAAAQcAof9rAUMAEwCwAEVYsAIvG7ECHj5ZsAfcMDEA////0gAAAikF1wImAI0AAAEHAKH/UQAAABMAsABFWLACLxuxAho+WbAH3DAxAP//ABj+WAF4BbACJgAtAAAABgCk5gn////7/k8BaAXEAiYATQAAAAYApMkA//8AqQAAAYQHBAImAC0AAAEHAKIAHAFCABQAsABFWLACLxuxAh4+WbELBPQwMf//ALf/7AX5BbAAJgAtAAAABwAuAi0AAP//AI3+SwNKBcQAJgBNAAAABwBOAfEAAP//ADX/7ASCBzUCJgAuAAABBwCeAXwBNQAUALAARViwAC8bsQAePlmxFAb0MDH///+0/ksCOQXYAiYAnAAAAQcAnv8z/9gAFACwAEVYsA0vG7ENGj5ZsRIE9DAx//8Aqf5YBQUFsAImAC8AAAAHAboBlP75//8Ajf5FBAwGAAImAE8AAAAHAboBEf7m//8AoQAABBwHMQImADAAAAEHAHUAJgExABQAsABFWLAFLxuxBR4+WbEICPQwMf//AJMAAAI0B5YCJgBQAAABBwB1ABgBlgAUALAARViwAy8bsQMgPlmxBgn0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AHUBhwE2ABQAsABFWLAHLxuxBx4+WbEMCPQwMf//AFgAAAOzBgACJgBeAAABBwB1ASEAAAAUALAARViwBy8bsQcaPlmxDAn0MDH//wBWAAAEegb4AiYAPgAAAQcAogFuATYAFACwAEVYsAcvG7EHHj5ZsREE9DAx//8AWAAAA7MFwgImAF4AAAEHAKIBCAAAABQAsABFWLAHLxuxBxo+WbERAfQwMf//AFYAAAR6BzYCJgA+AAABBwCfAKYBNwAUALAARViwBy8bsQcePlmxDwb0MDH//wBYAAADswYAAiYAXgAAAQYAn0ABABQAsABFWLAHLxuxBxo+WbEPAfQwMf////IAAAdXB0ICJgCBAAABBwB1AskBQgAUALAARViwBi8bsQYePlmxFQj0MDH//wBO/+wGfAYBAiYAhgAAAQcAdQJ6AAEAFACwAEVYsB0vG7EdGj5ZsUAJ9DAx//8Adv+jBR0HgAImAIMAAAEHAHUB6QGAABQAsABFWLAQLxuxEB4+WbEsCPQwMf//AFv/egQ0BgACJgCJAAABBwB1ATcAAAAUALAARViwBC8bsQQaPlmxKQn0MDH//wAcAAAFHQY/AiYAJQAAAAYArgQA////KQAABEYGPwImACkAAAAHAK7+cgAA////NwAABQgGQQImACwAAAAHAK7+gAAC////PQAAAXcGQAImAC0AAAAHAK7+hgAB////5v/sBR0GPwAmADMUAAAHAK7/LwAA////FAAABR8GPwAmAD1kAAAHAK7+XQAA////6QAABN8GPwAmALoUAAAHAK7/MgAA////m//0Aq0GdAImAMMAAAEHAK//Kv/sAB0AsABFWLAMLxuxDBo+WbEYAfSwD9CwGBCwIdAwMQD//wAcAAAFHQWwAgYAJQAA//8AqQAABIgFsAIGACYAAP//AKkAAARGBbACBgApAAD//wBWAAAEegWwAgYAPgAA//8AqQAABQgFsAIGACwAAP//ALcAAAF3BbACBgAtAAD//wCpAAAFBQWwAgYALwAA//8AqQAABlIFsAIGADEAAP//AKkAAAUIBbACBgAyAAD//wB2/+wFCQXEAgYAMwAA//8AqQAABMAFsAIGADQAAP//ADEAAASXBbACBgA4AAD//wAPAAAEuwWwAgYAPQAA//8AOQAABM4FsAIGADwAAP///9UAAAJeBwcCJgAt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BH4AZAHwAIYBsQApBBEASARkAJgELgCGA8cASwcvAGoFOAAcBPsAqQU1AHcFPwCpBIwAqQRsAKkFcwB6BbQAqQItALcEagA1BQQAqQROAKkG/ACpBbQAqQWAAHYFDACpBYAAbQTtAKgEvwBQBMYAMQUwAIwFFwAcBxkAPQUEADkEzgAPBMoAVgIfAJIDSAAoAh8ACQNYAEADnAAEAnkAOQRaAG0EfQCMBDAAXASDAF8EPQBdAscAPAR9AGAEaACMAfEAjQHp/78EDgCNAfEAnAcDAIsEagCMBJAAWwR9AIwEjABfArUAjAQgAF8CnQAJBGkAiAPgACEGAwArA/cAKQPJABYD9wBYArUAQAHzAK8CtQATBXEAgwHzAIsEYABpBKYAWwW0AGkEMwAPAesAkwToAFoDWABlBkkAWwOTAJMDwQBmBG4AfwZKAFoDqgCOAv0AggRGAGEC7wBCAu8APgKCAHsEiACaA+kAQwIWAJMB+wB0Au8AegOjAHoDwABmBdwAVQY1AFAGOQBvA8kARAd6//IERABZBYAAdgS6AKYEwgCLBsEATgSwAH4EkQBHBIgAWwScAJUExwBfBZoAHQH6AJsEcwCaBE8AIgIpACIFiwCiBIgAkQehAGgHRABhAfwAoAWHAF0Cuf/kBX4AZQSSAFsFkACMBPMAiAID/7QENwBiA8QAqQONAI0DqwCOA2oAgQHxAI0CrQB5AioAMgPGAHsC/ABeAloAfgAA/KcAAP1vAAD8iwAA/V4AAPwnAAD9OAINALcECwBxAhcAkwRzALEFpAAfBXEAZwU+ADIEkQB4BbUAsgSRAEUFuwBNBYkAWgVSAHEEhQBkBL0AoAQCAC4EiABgBFAAYwQlAG0EiACRBI4AegKXAMMEbgAlA+wAZQTEACkEiACRBE0AZQSIAGAELABRBF0AjwWjAFcFmgBfBpcAegShAHkEQv/aBkgASgX/ACoFZAB7CJEAMQikALEGggA+BbQAsAULAKIGBAAyB0MAGwS/AFAFtACxBakALwUHAE0GLABTBdkArwV6AJYHhwCwB8AAsAYSABAG6wCyBQUAowVkAJMHJwC3BRgAWQRsAGEEkgCdA1sAmgTUAC4GIAAVBBAAWASeAJwEUgCcBKAALAXvAJ0EnQCcBJ4AnAPYACgFzQBkBL0AnARZAGcGeACcBp4AkQT3AB4GNgCdBFgAnQRNAGQGhwCdBGQALwRo/+gETQBnBskAJwbkAJwEif/9BJ4AnAcIAJwGKwCBBFb/3AcrALcF+ACZBNIAKARGAA8HCwDJBgsAvAbRAJMF4QCWCQQAtgfRAJsEIwBQA9sATAVxAGcEiwBbBQoAFgQDAC4FcQBnBIgAWwcBAJwGJAB+BwgAnAYrAIEFMgB1BEcAZAT9AHQAAPxnAAD8cQAA/WYAAP2kAAD6GwAA+iwGCQCxBO0AnARW/9wFGwCoBIkAjARjAKIDkACRBNsAsQQFAJEHogAbBmEAFQWaALIEuACcBQkAowR+AJoGjABEBYMAPgX/AKkE2QCcB88AqAW0AJEIMQCwBvQAkQXuAHEE0wBtBRgAOQQqACkHLAA0BVwAHwW8AJYElgBnBW8AlgRqAIMFbwCJBi8APwS9/94FCQCjBFoAmgX+AC8E7wAsBbIAsQSIAJEGEgCpBOwAnAdPAKkGPgCdBYcAXQSoAGgEqABpBLcAOgOrADsFLgA5BEAAKQT2AFcGlABZBuQAZAZWADYFKwAxBEkAUgQHAHkHwQBEBnUAPwf7AKkGoQCQBPYAdgQdAGUFrQAjBSAARgVkAJYGAgAvBPIALAMgAG8EFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAAjQAJQI0ACUFQACiBj8AkAOlAA0BmQBgAZkAMAGXACQBmQBPAtQAaALbADwCwQAkBGkARgSPAFcCsgCKA8QAlAVaAJQBfgBSB6oARAJmAGwCZgBZA6MAOwLvADYDYAB6BKYAWwZVAB8GkACnCHYAqAXrAB8GKwCMBH4AXwXaAB8EIgAqBHQAIAVIAF0FTwAfBecAegPOAGgIOgCiBQEAZwUXAJgGJgBUBtcAZAbPAGMGagBZBI8AagWOAKkErwBFBJIAqATFAD8IOgBiAgz/sASCAGUEZACYBBEAPgQvAIUECAArAkwAtQKPAG4CAwBcBG4AHwSLADwG1AA8BtQAPAAAAAAIMwBbCDUAXALvAEIC7wB6Au8AUALvAD4C7wA2Au8AWwLvAFYC7wA6Au8ATwLvAEkDlgCPArUAngUkALIB/QCfA6QAgQAA/KQD7wBuA/P/XgQOAGkD9ABpA58AgQOeAIEC7wBQAu8ANgLvAFsC7wBWAu8AOgLvAE8C7wBJA6QAgwGRAGcB/P+2BH8AfgR/AHACBv+0AgT/tAH7AJsB+//6AfsAmwQgADsDeQBXAfsAAAI1ACUFXQAHBV0ABwSG/+IExgAxAp3/9AU4ABwFOAAcBTgAHAU4ABwFOAAcBTgAHAU4ABwFNQB3BIwAqQSMAKkEjACpBIwAqQIt/+ACLQCwAi3/6QIt/9UFtACpBYAAdgWAAHYFgAB2BYAAdgWAAHYFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABcBD0AXQQ9AF0EPQBdBD0AXQH6/8YB+gCWAfr/zwH6/7sEagCMBJAAWwSQAFsEkABbBJAAWwSQAFsEaQCIBGkAiARpAIgEaQCIA8kAFgPJABYFOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FNQB3BDAAXAU1AHcEMABcBTUAdwQwAFwFNQB3BDAAXAU/AKkFGQBfBIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQVzAHoEfQBgBXMAegR9AGAFcwB6BH0AYAVzAHoEfQBgBbQAqQRoAIwCLf+3Afr/nQIt/8wB+v+yAi3/7AH6/9ICLQAYAfH/+wItAKkGlwC3A9oAjQRqADUCA/+0BQQAqQQOAI0ETgChAfEAkwROAKkB8QBXBE4AqQKHAJwETgCpAs0AnAW0AKkEagCMBbQAqQRqAIwFtACpBGoAjARq/7wFgAB2BJAAWwWAAHYEkABbBYAAdgSQAFsE7QCoArUAjATtAKgCtQBTBO0AqAK1AGMEvwBQBCAAXwS/AFAEIABfBL8AUAQgAF8EvwBQBCAAXwS/AFAEIABfBMYAMQKdAAkExgAxAp0ACQTGADECxQAJBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBxkAPQYDACsEzgAPA8kAFgTOAA8EygBWA/cAWATKAFYD9wBYBMoAVgP3AFgHev/yBsEATgWAAHYEiABbBTgAHASM/ykFtP83Ai3/PQWU/+YFMv8UBWb/6QKX/5sFOAAcBPsAqQSMAKkEygBWBbQAqQItALcFBACpBvwAqQW0AKkFgAB2BQwAqQTGADEEzgAPBQQAOQIt/9UEzgAPBIUAZARQAGMEiACRApcAwwRdAI8EcwCaBJAAWwSIAJoD4AAhA/cAKQKX/+UEXQCPBJAAWwRdAI8GlwB6BIwAqQRzALEEvwBQAi0AtwIt/9UEagA1BSQAsgUEAKkFBwBNBTgAHAT7AKkEcwCxBIwAqQW0ALEG/ACpBbQAqQWAAHYFtQCyBQwAqQU1AHcExgAxBQQAOQRaAG0EPQBdBJ4AnASQAFsEfQCMBDAAXAPJABYD9wApBD0AXQNbAJoEIABfAfEAjQH6/7sB6f+/BFIAnAPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFlAGcCjwCIBB4AoAID/7QBmQAwBvwAqQcDAIsFOAAcBFoAbQSMAKkFtACxBD0AXQSeAJwFiQBaBZoAXwUKABYEA//7CFkAWwlJAHYEvwBQBBAAWAU1AHcEMABcBM4ADwQCAC4CLQC3B0MAGwYgABUCLQC3BTgAHARaAG0FOAAcBFoAbQd6//IGwQBOBIwAqQQ9AF0FhwBdBDcAYgQ3AGIHQwAbBiAAFQS/AFAEEABYBbQAsQSeAJwFtACxBJ4AnAWAAHYEkABbBXEAZwSLAFsFcQBnBIsAWwVkAJMETQBkBQcATQPJABYFBwBNA8kAFgUHAE0DyQAWBXoAlgRZAGcG6wCyBjYAnQSDAF8FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFr/ygU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQSM//AEPf+6BIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdAi0AtwH6AJsCLQCjAfEAhQWAAHYEkABbBYAAdgSQAFsFgAB2BJAAWwWAAEcEkP/EBYAAdgSQAFsFgAB2BJAAWwWAAHYEkABbBX4AZQSSAFsFfgBlBJIAWwV+AGUEkgBbBX4AZQSSAFsFfgBlBJIAWwUwAIwEaQCIBTAAjARpAIgFkACMBPMAiAWQAIwE8wCIBZAAjATzAIgFkACMBPMAiAWQAIwE8wCIBM4ADwPJABYEzgAPA8kAFgTOAA8DyQAWBKEAXwTGADED2AAoBXoAlgRZAGcEcwCxA1sAmgYvAD8Evf/eBGgAjAUF/9QFBf/UBHMAAwNb//wFOP/3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AYcBiQCJAe0B7gCMAfAB8ACOAfICBwCPAgwCEwClAhUCGACtAh0CIgCxAicCLwC3AjECMQDAAjMCMwDBAjUCNQDCAjcCNwDDAjkCQgDEAksCTQDOAk8CTwDRAlECUQDSAlMCUwDTAlUCVQDUAloCWgDVAlwCXADWAl4CXgDXAmACYADYAmICYgDZAmQCcADaAnICcgDnAnQCdADoAnYCdgDpAoECgQDqAoMCgwDrAoUChQDsApMCkwDtApUCmADuApoCmgDyApwCnADzAqICpwD0AqoCuQD6ArwCvAEKAsACwAELAsICwgEMAsYCxgENAskCygEOAswCzQEQAs8C1QESAtcC2QEZAtsC4AEcAuIC4wEiAuUC6AEkAu4C7wEoAvEC8QEqAvMC8wErAvUC+AEsAvsDAAEwAwIDAgE2AwYDBwE3AwwDDAE5Aw4DFwE6AxoDGwFEAx0DIAFGAycDKAFKAywDLAFMAy4DNAFNAzoDYgFUA2QDZAF9A2YDcwF+A3sDewGMA4wDkQGNA5MDkwGTA5cDmAGUA5sDmwGWA50DngGXA6ADoAGZA6IDogGaA7MDtwGbA7kDuQGgA7sDvAGhA74DvgGjA8IDxAGkA8YDxgGnA8gDygGoA8wDzAGrA84DzgGsA9AD1gGtA9gD2AG0A9sD2wG1A94D4gG2A+QD5AG7A+YD5gG8AAsAOP/YANL/2ADW/9gBOf/YAUX/2AKB/9gCg//YAoX/2ALd/9gDk//YA9v/2AAYADoAFAA7ABIAPQAWARkAFAIMABYCkwASApUAFgKXABYCpwAWArYAFgK5ABYC7wASAvEAEgLzABIC9QAWAwYAFAMOABYDjAAWA44AFgOQABYDogAWA94AFAPgABQD4gASAAEAE/8gANcAEP8WABL/FgAl/1YALv74ADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/VgC0/1YAu//rAL3/6ADI/+sAyf/rAMv/6gDSABQA1gAUAPf/6wED/+sBDf9WARj/6wEa/+gBHv/rASL/6wE5ABQBQv/rAUUAFAFg/+sBYf/rAWv/6wGG/xYBiv8WAY7/FgGP/xYB8v9WAfP/VgH0/1YB9f9WAfb/VgH3/1YB+P9WAg3/3gIO/94CD//eAhD/3gIR/94CEv/eAhP/3gIU/+sCFf/rAhb/6wIX/+sCGP/rAh7/6wIf/+sCIP/rAiH/6wIi/+sCI//qAiT/6gIl/+oCJv/qAif/6AIo/+gCKf9WAir/3gIr/1YCLP/eAi3/VgIu/94CMP/rAjL/6wI0/+sCNv/rAjj/6wI6/+sCPP/rAj7/6wJA/+sCQv/rAkT/6wJG/+sCSP/rAkr/6wJY/vgCbP/rAm7/6wJw/+sCgQAUAoMAFAKFABQCiP/qAor/6gKM/+oCjv/qApD/6gKS/+oClv/oAqL/VgKq/1YCuv/rAr7/6gLA/+sCwv/oAsX/6gLG/+sCx//qAs7++ALS/1YC3QAUAt//3gLg/+sC4v/rAuT/6wLl/+gC5//rAu7/6AL2/+gC/v9WAv//3gMC/+sDB//oAwj/6wMN/+sDD//oAxT/VgMV/94DFv9WAxf/3gMb/+sDHf/rAx7/6wMo/+sDKv/rAyz/6wMw/+gDMv/oAzT/6AM5/+sDOv9WAzv/3gM8/1YDPf/eAz7/VgM//94DQP9WA0H/3gNC/1YDQ//eA0T/VgNF/94DRv9WA0f/3gNI/1YDSf/eA0r/VgNL/94DTP9WA03/3gNO/1YDT//eA1D/VgNR/94DU//rA1X/6wNX/+sDWf/rA1v/6wNd/+sDX//rA2H/6wNn/+sDaf/rA2v/6wNt/+sDb//rA3H/6wNz/+sDdf/rA3f/6wN5/+sDe//rA33/6wN//+oDgf/qA4P/6gOF/+oDh//qA4n/6gOL/+oDjf/oA4//6AOR/+gDkwAUA7X/VgO2/94DuP/rA7z/6wPA/+oDxf/rA8f/6wPbABQD3//oA+H/6AAjADj/1QA6/+QAO//sAD3/3QDS/9UA1v/VARn/5AE5/9UBRf/VAgz/3QKB/9UCg//VAoX/1QKT/+wClf/dApf/3QKn/90Ctv/dArn/3QLd/9UC7//sAvH/7ALz/+wC9f/dAwb/5AMO/90DjP/dA47/3QOQ/90Dk//VA6L/3QPb/9UD3v/kA+D/5APi/+wAHQA4/7AAOv/tAD3/0ADS/7AA1v+wARn/7QE5/7ABRf+wAgz/0AKB/7ACg/+wAoX/sAKV/9ACl//QAqf/0AK2/9ACuf/QAt3/sAL1/9ADBv/tAw7/0AOM/9ADjv/QA5D/0AOT/7ADov/QA9v/sAPe/+0D4P/tABEALv/uADn/7gII/+4CCf/uAgr/7gIL/+4CWP/uAof/7gKJ/+4Ci//uAo3/7gKP/+4Ckf/uAs7/7gN+/+4DgP/uA93/7gBNAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oALv/6ADI/+gAyf/oAPf/6AED/+gBHv/oASL/6AFC/+gBYP/oAWH/6AFr/+gBhAAQAYUAEAGHABABiAAQAYkAEAIU/+gCFf/oAhb/6AIX/+gCGP/oAjD/6AIy/+gCNP/oAjb/6AI4/+gCOv/oAjz/6AI+/+gCQP/oAkL/6AJE/+gCRv/oAkj/6AJK/+gCuv/oAuD/6ALk/+gC5//oAvcAEAL4ABAC+wAQAwL/6AMI/+gDDf/oAxv/6AMd/+gDHv/oAyr/6AM5/+gDU//oA1X/6ANX/+gDWf/oA1v/6ANd/+gDX//oA2H/6AN1/+gDd//oA3n/6AN9/+gDuP/oA8X/6APH/+gAQABH/+wASP/sAEn/7ABL/+wAVf/sAJT/7ACZ/+wAu//sAMj/7ADJ/+wA9//sAQP/7AEe/+wBIv/sAUL/7AFg/+wBYf/sAWv/7AIU/+wCFf/sAhb/7AIX/+wCGP/sAjD/7AIy/+wCNP/sAjb/7AI4/+wCOv/sAjz/7AI+/+wCQP/sAkL/7AJE/+wCRv/sAkj/7AJK/+wCuv/sAuD/7ALk/+wC5//sAwL/7AMI/+wDDf/sAxv/7AMd/+wDHv/sAyr/7AM5/+wDU//sA1X/7ANX/+wDWf/sA1v/7ANd/+wDX//sA2H/7AN1/+wDd//sA3n/7AN9/+wDuP/sA8X/7APH/+wAGABT/+wBGP/sAh7/7AIf/+wCIP/sAiH/7AIi/+wCbP/sAm7/7AJw/+wCwP/sAsb/7ALi/+wDKP/sAyz/7ANn/+wDaf/sA2v/7ANt/+wDb//sA3H/7ANz/+wDe//sA7z/7AAGABD/hAAS/4QBhv+EAYr/hAGO/4QBj/+EABEALv/sADn/7AII/+wCCf/sAgr/7AIL/+wCWP/sAof/7AKJ/+wCi//sAo3/7AKP/+wCkf/sAs7/7AN+/+wDgP/sA93/7AAgAAb/8gAL//IAWv/zAF3/8wC9//MA9v/1ARr/8wGE//IBhf/yAYf/8gGI//IBif/yAif/8wIo//MClv/zAsL/8wLl//MC7v/zAvb/8wL3//IC+P/yAvv/8gMH//MDD//zAzD/8wMy//MDNP/zA43/8wOP//MDkf/zA9//8wPh//MAOwAn//MAK//zADP/8wA1//MAg//zAJP/8wCY//MAs//zAMQADQDT//MBCP/zARf/8wEb//MBHf/zAR//8wEh//MBQf/zAWr/8wH5//MCA//zAgT/8wIF//MCBv/zAgf/8wIv//MCMf/zAjP/8wI1//MCQ//zAkX/8wJH//MCSf/zAmv/8wJt//MCb//zAqD/8wKm//MCs//zAtn/8wLc//MDCf/zAwz/8wMn//MDKf/zAyv/8wNm//MDaP/zA2r/8wNs//MDbv/zA3D/8wNy//MDdP/zA3b/8wN4//MDev/zA3z/8wO7//MD1P/zADwAJ//mACv/5gAz/+YANf/mAIP/5gCT/+YAmP/mALP/5gC4/8IAxAAQANP/5gEI/+YBF//mARv/5gEd/+YBH//mASH/5gFB/+YBav/mAfn/5gID/+YCBP/mAgX/5gIG/+YCB//mAi//5gIx/+YCM//mAjX/5gJD/+YCRf/mAkf/5gJJ/+YCa//mAm3/5gJv/+YCoP/mAqb/5gKz/+YC2f/mAtz/5gMJ/+YDDP/mAyf/5gMp/+YDK//mA2b/5gNo/+YDav/mA2z/5gNu/+YDcP/mA3L/5gN0/+YDdv/mA3j/5gN6/+YDfP/mA7v/5gPU/+YAOAAl/+QAPP/SAD3/0wCy/+QAtP/kAMT/4gDa/9IBDf/kATP/0gFD/9IBXf/SAfL/5AHz/+QB9P/kAfX/5AH2/+QB9//kAfj/5AIM/9MCKf/kAiv/5AIt/+QClf/TApf/0wKi/+QCp//TAqr/5AK2/9MCt//SArn/0wLS/+QC3v/SAvX/0wL+/+QDDv/TAxH/0gMU/+QDFv/kAx//0gM6/+QDPP/kAz7/5ANA/+QDQv/kA0T/5ANG/+QDSP/kA0r/5ANM/+QDTv/kA1D/5AOM/9MDjv/TA5D/0wOi/9MDtf/kACgAEP8eABL/HgAl/80Asv/NALT/zQDH//IBDf/NAYb/HgGK/x4Bjv8eAY//HgHy/80B8//NAfT/zQH1/80B9v/NAff/zQH4/80CKf/NAiv/zQIt/80Cov/NAqr/zQLS/80C/v/NAxT/zQMW/80DOv/NAzz/zQM+/80DQP/NA0L/zQNE/80DRv/NA0j/zQNK/80DTP/NA07/zQNQ/80Dtf/NAAEAxAAOAAIAyv/tAPb/wAC6AEf/3ABI/9wASf/cAEv/3ABR//MAUv/zAFP/1gBU//MAVf/cAFn/3QBa/+EAXf/hAJT/3ACZ/9wAm//dALv/3AC9/+EAvv/uAL//5gDB//MAwv/rAMP/6QDF//AAxv/nAMj/3ADJ/9wAyv/jAMv/3QDM/84Azf/UAM7/2wDs//MA8P/zAPH/8wDz//MA9P/zAPX/8wD3/9wA+P/zAPr/8wD7//MA/v/zAQD/8wED/9wBBf/zARj/1gEa/+EBHv/cASL/3AEr//MBNv/zATz/8wE+//MBQv/cAVP/8wFV//MBV//zAVz/8wFg/9wBYf/cAWv/3AIU/9wCFf/cAhb/3AIX/9wCGP/cAh3/8wIe/9YCH//WAiD/1gIh/9YCIv/WAiP/3QIk/90CJf/dAib/3QIn/+ECKP/hAjD/3AIy/9wCNP/cAjb/3AI4/9wCOv/cAjz/3AI+/9wCQP/cAkL/3AJE/9wCRv/cAkj/3AJK/9wCZf/zAmf/8wJp//MCav/zAmz/1gJu/9YCcP/WAoj/3QKK/90CjP/dAo7/3QKQ/90Ckv/dApb/4QK6/9wCvP/zAr7/3QLA/9YCwv/hAsX/3QLG/9YCx//dAuD/3ALh//MC4v/WAuP/8wLk/9wC5f/hAuf/3ALo//MC7f/zAu7/4QL2/+EC/f/zAwL/3AMD//MDB//hAwj/3AMN/9wDD//hAxv/3AMd/9wDHv/cAyT/8wMm//MDKP/WAyr/3AMs/9YDMP/hAzL/4QM0/+EDOP/zAzn/3ANT/9wDVf/cA1f/3ANZ/9wDW//cA13/3ANf/9wDYf/cA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/9wDd//cA3n/3AN7/9YDff/cA3//3QOB/90Dg//dA4X/3QOH/90Dif/dA4v/3QON/+EDj//hA5H/4QOY//MDtP/zA7j/3AO8/9YDwP/dA8X/3APH/9wD0f/zA9P/8wPf/+ED4f/hAHwABv/aAAv/2gBH//AASP/wAEn/8ABL//AAVf/wAFn/7wBa/9wAXf/cAJT/8ACZ//AAm//vALv/8AC9/9wAwv/sAMQADwDG/+oAyP/wAMn/8ADK/8QAy//vAMz/5wD3//ABA//wARr/3AEe//ABIv/wAUL/8AFg//ABYf/wAWv/8AGE/9oBhf/aAYf/2gGI/9oBif/aAhT/8AIV//ACFv/wAhf/8AIY//ACI//vAiT/7wIl/+8CJv/vAif/3AIo/9wCMP/wAjL/8AI0//ACNv/wAjj/8AI6//ACPP/wAj7/8AJA//ACQv/wAkT/8AJG//ACSP/wAkr/8AKI/+8Civ/vAoz/7wKO/+8CkP/vApL/7wKW/9wCuv/wAr7/7wLC/9wCxf/vAsf/7wLg//AC5P/wAuX/3ALn//AC7v/cAvb/3AL3/9oC+P/aAvv/2gMC//ADB//cAwj/8AMN//ADD//cAxv/8AMd//ADHv/wAyr/8AMw/9wDMv/cAzT/3AM5//ADU//wA1X/8ANX//ADWf/wA1v/8ANd//ADX//wA2H/8AN1//ADd//wA3n/8AN9//ADf//vA4H/7wOD/+8Dhf/vA4f/7wOJ/+8Di//vA43/3AOP/9wDkf/cA7j/8APA/+8Dxf/wA8f/8APf/9wD4f/cADwABv+gAAv/oABK/+kAWf/xAFr/xQBd/8UAm//xAL3/xQDC/+4AxAAQAMb/7ADK/yAAy//xARr/xQGE/6ABhf+gAYf/oAGI/6ABif+gAiP/8QIk//ECJf/xAib/8QIn/8UCKP/FAoj/8QKK//ECjP/xAo7/8QKQ//ECkv/xApb/xQK+//ECwv/FAsX/8QLH//EC5f/FAu7/xQL2/8UC9/+gAvj/oAL7/6ADB//FAw//xQMw/8UDMv/FAzT/xQN///EDgf/xA4P/8QOF//EDh//xA4n/8QOL//EDjf/FA4//xQOR/8UDwP/xA9//xQPh/8UAQQBH/+cASP/nAEn/5wBL/+cAVf/nAJT/5wCZ/+cAu//nAMQADwDI/+cAyf/nAPf/5wED/+cBHv/nASL/5wFC/+cBYP/nAWH/5wFr/+cCFP/nAhX/5wIW/+cCF//nAhj/5wIw/+cCMv/nAjT/5wI2/+cCOP/nAjr/5wI8/+cCPv/nAkD/5wJC/+cCRP/nAkb/5wJI/+cCSv/nArr/5wLg/+cC5P/nAuf/5wMC/+cDCP/nAw3/5wMb/+cDHf/nAx7/5wMq/+cDOf/nA1P/5wNV/+cDV//nA1n/5wNb/+cDXf/nA1//5wNh/+cDdf/nA3f/5wN5/+cDff/nA7j/5wPF/+cDx//nAAUAyv/qAO3/7gD2/6sBOv/sAW3/7AABAPb/1QABAMoACwB7AAYADAALAAwAR//oAEj/6ABJ/+gASgAMAEv/6ABT/+oAVf/oAFoACwBdAAsAlP/oAJn/6AC7/+gAvQALAL7/7QDGAAsAyP/oAMn/6ADKAAwA9//oAQP/6AEY/+oBGgALAR7/6AEi/+gBQv/oAWD/6AFh/+gBa//oAYQADAGFAAwBhwAMAYgADAGJAAwCFP/oAhX/6AIW/+gCF//oAhj/6AIe/+oCH//qAiD/6gIh/+oCIv/qAicACwIoAAsCMP/oAjL/6AI0/+gCNv/oAjj/6AI6/+gCPP/oAj7/6AJA/+gCQv/oAkT/6AJG/+gCSP/oAkr/6AJs/+oCbv/qAnD/6gKWAAsCuv/oAsD/6gLCAAsCxv/qAuD/6ALi/+oC5P/oAuUACwLn/+gC7gALAvYACwL3AAwC+AAMAvsADAMC/+gDBwALAwj/6AMN/+gDDwALAxv/6AMd/+gDHv/oAyj/6gMq/+gDLP/qAzAACwMyAAsDNAALAzn/6ANT/+gDVf/oA1f/6ANZ/+gDW//oA13/6ANf/+gDYf/oA2f/6gNp/+oDa//qA23/6gNv/+oDcf/qA3P/6gN1/+gDd//oA3n/6AN7/+oDff/oA40ACwOPAAsDkQALA7j/6AO8/+oDxf/oA8f/6APfAAsD4QALAAEA9v/YAA4AXP/tAF7/7QDu/+0A9v+qATT/7QFE/+0BXv/tApn/7QKb/+0Cnf/tAub/7QMS/+0DIP/tA+X/7QANAFz/8gBe//IA7v/yATT/8gFE//IBXv/yApn/8gKb//ICnf/yAub/8gMS//IDIP/yA+X/8gAiAFr/9ABc//IAXf/0AF7/8wC9//QA7v/yARr/9AE0//IBRP/yAV7/8gIn//QCKP/0Apb/9AKZ//MCm//zAp3/8wLC//QC5f/0Aub/8gLu//QC9v/0Awf/9AMP//QDEv/yAyD/8gMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0A+X/8wCMAAb/ygAL/8oAOP/SADr/1AA8//QAPf/TAFH/0QBS/9EAVP/RAFr/5gBc/+8AXf/mAL3/5gDB/9EA0v/SANb/0gDa//QA3v/tAOH/4QDm/9QA7P/RAO7/7wDw/9EA8f/RAPP/0QD0/9EA9f/RAPb/yQD4/9EA+v/RAPv/0QD+/9EBAP/RAQX/0QEJ/+UBGf/UARr/5gEg/+MBK//RATP/9AE0/+8BNv/RATn/0gE6/8QBPP/RAT7/0QFD//QBRP/vAUX/0gFH/+EBSf/hAVP/0QFV/9EBV//RAVz/0QFd//QBXv/vAWL/1AFj//UBZP/nAWz/0gFt/8kBhP/KAYX/ygGH/8oBiP/KAYn/ygIM/9MCHf/RAif/5gIo/+YCZf/RAmf/0QJp/9ECav/RAoH/0gKD/9IChf/SApX/0wKW/+YCl//TAqf/0wK2/9MCt//0Arn/0wK8/9ECwv/mAtH/7QLd/9IC3v/0AuH/0QLj/9EC5f/mAub/7wLo/9EC7f/RAu7/5gL1/9MC9v/mAvf/ygL4/8oC+//KAv3/0QMD/9EDBv/UAwf/5gMO/9MDD//mAxH/9AMS/+8DH//0AyD/7wMk/9EDJv/RAy//7QMw/+YDMf/tAzL/5gMz/+0DNP/mAzX/4QM4/9EDjP/TA43/5gOO/9MDj//mA5D/0wOR/+YDk//SA5X/4QOY/9EDov/TA7T/0QPR/9ED0//RA9v/0gPe/9QD3//mA+D/1APh/+YAKAA4/74AWv/vAF3/7wC9/+8A0v++ANb/vgDm/8kA9v/fAQn/7QEa/+8BIP/rATn/vgE6/98BRf++AUz/6QFj//UBbf/gAif/7wIo/+8Cgf++AoP/vgKF/74Clv/vAsL/7wLd/74C5f/vAu7/7wL2/+8DB//vAw//7wMw/+8DMv/vAzT/7wON/+8Dj//vA5H/7wOT/74D2/++A9//7wPh/+8APwA4/+YAOv/nADz/8gA9/+cAXP/xANL/5gDW/+YA2v/yAN7/7gDh/+gA5v/mAO7/8QD2/9ABGf/nATP/8gE0//EBOf/mATr/zgFD//IBRP/xAUX/5gFH/+gBSf/oAV3/8gFe//EBYv/nAWT/7QFs/+YBbf/QAgz/5wKB/+YCg//mAoX/5gKV/+cCl//nAqf/5wK2/+cCt//yArn/5wLR/+4C3f/mAt7/8gLm//EC9f/nAwb/5wMO/+cDEf/yAxL/8QMf//IDIP/xAy//7gMx/+4DM//uAzX/6AOM/+cDjv/nA5D/5wOT/+YDlf/oA6L/5wPb/+YD3v/nA+D/5wCUACUAEAAn/+gAK//oADP/6AA1/+gAOP/gADr/4AA9/98Ag//oAJP/6ACY/+gAsgAQALP/6AC0ABAA0v/gANP/6ADUABAA1v/gANkAFADdABAA4f/hAOb/4ADtABMA8gAQAPn/4AEEABABCP/oAQ0AEAEX/+gBGf/gARv/6AEd/+gBH//oASH/6AE5/+ABQf/oAUX/4AFH/+EBSP/gAUn/4QFK/+ABTf/hAVAAEAFRABABWP/pAWL/3wFk/94BZgAQAWr/6AFs/98Bbv/yAW8AEAFwABAB8gAQAfMAEAH0ABAB9QAQAfYAEAH3ABAB+AAQAfn/6AID/+gCBP/oAgX/6AIG/+gCB//oAgz/3wIpABACKwAQAi0AEAIv/+gCMf/oAjP/6AI1/+gCQ//oAkX/6AJH/+gCSf/oAmv/6AJt/+gCb//oAoH/4AKD/+AChf/gApX/3wKX/98CoP/oAqIAEAKm/+gCp//fAqoAEAKz/+gCtv/fArn/3wLSABAC2f/oAtz/6ALd/+AC9f/fAv4AEAMG/+ADCf/oAwz/6AMO/98DFAAQAxYAEAMn/+gDKf/oAyv/6AM1/+EDNv/gAzoAEAM8ABADPgAQA0AAEANCABADRAAQA0YAEANIABADSgAQA0wAEANOABADUAAQA2b/6ANo/+gDav/oA2z/6ANu/+gDcP/oA3L/6AN0/+gDdv/oA3j/6AN6/+gDfP/oA4z/3wOO/98DkP/fA5P/4AOV/+EDlv/gA6L/3wO1ABADu//oA9T/6APb/+AD3v/gA+D/4AA1ABv/8gA4//EAOv/0ADz/9AA9//AA0v/xANT/9QDW//EA2v/0AN3/9QDe//MA5v/xARn/9AEz//QBOf/xAUP/9AFF//EBUP/1AV3/9AFi//IBZP/yAWb/9QFs//IBb//1Agz/8AKB//ECg//xAoX/8QKV//ACl//wAqf/8AK2//ACt//0Arn/8ALR//MC3f/xAt7/9AL1//ADBv/0Aw7/8AMR//QDH//0Ay//8wMx//MDM//zA4z/8AOO//ADkP/wA5P/8QOi//AD2//xA97/9APg//QAagAlAA8AOP/mADr/5gA8AA4APf/mALIADwC0AA8A0v/mANQADgDW/+YA2QATANoADgDdAA4A3gALAOH/5QDm/+YA5//0AO0AEgDyAA8A9v/nAPn/6AEEAA8BDQAPARn/5gEzAA4BOf/mATr/5wFDAA4BRf/mAUf/5QFI/+gBSf/lAUr/6AFM/+QBUAAOAVEADwFdAA4BYv/mAWT/5gFmAA4BbP/mAW3/5wFvAA4BcAAPAfIADwHzAA8B9AAPAfUADwH2AA8B9wAPAfgADwIM/+YCKQAPAisADwItAA8Cgf/mAoP/5gKF/+YClf/mApf/5gKiAA8Cp//mAqoADwK2/+YCtwAOArn/5gLRAAsC0gAPAt3/5gLeAA4C9f/mAv4ADwMG/+YDDv/mAxEADgMUAA8DFgAPAx8ADgMvAAsDMQALAzMACwM1/+UDNv/oAzoADwM8AA8DPgAPA0AADwNCAA8DRAAPA0YADwNIAA8DSgAPA0wADwNOAA8DUAAPA4z/5gOO/+YDkP/mA5P/5gOV/+UDlv/oA6L/5gO1AA8D2//mA97/5gPg/+YAMQA4/+MAPP/lAD3/5ADS/+MA1P/lANb/4wDZ/+IA2v/lAN3/5QDe/+kA8v/qAQT/6gEz/+UBOf/jAUP/5QFF/+MBUP/lAVH/6gFd/+UBZv/lAWz/5AFv/+UBcP/qAgz/5AKB/+MCg//jAoX/4wKV/+QCl//kAqf/5AK2/+QCt//lArn/5ALR/+kC3f/jAt7/5QL1/+QDDv/kAxH/5QMf/+UDL//pAzH/6QMz/+kDjP/kA47/5AOQ/+QDk//jA6L/5APb/+MAJAA4/+IAPP/kANL/4gDU/+QA1v/iANn/4QDa/+QA3f/kAN7/6QDt/+QA8v/rAQT/6wEz/+QBOf/iAUP/5AFF/+IBUP/kAVH/6wFd/+QBZv/kAW//5AFw/+sCgf/iAoP/4gKF/+ICt//kAtH/6QLd/+IC3v/kAxH/5AMf/+QDL//pAzH/6QMz/+kDk//iA9v/4gAYADj/6wA9//MA0v/rANb/6wE5/+sBRf/rAgz/8wKB/+sCg//rAoX/6wKV//MCl//zAqf/8wK2//MCuf/zAt3/6wL1//MDDv/zA4z/8wOO//MDkP/zA5P/6wOi//MD2//rADkAUf/vAFL/7wBU/+8AXP/wAMH/7wDs/+8A7f/uAO7/8ADw/+8A8f/vAPP/7wD0/+8A9f/vAPb/7gD4/+8A+v/vAPv/7wD+/+8BAP/vAQX/7wEJ//QBIP/xASv/7wE0//ABNv/vATr/7wE8/+8BPv/vAUT/8AFT/+8BVf/vAVf/7wFc/+8BXv/wAW3/7wId/+8CZf/vAmf/7wJp/+8Cav/vArz/7wLh/+8C4//vAub/8ALo/+8C7f/vAv3/7wMD/+8DEv/wAyD/8AMk/+8DJv/vAzj/7wOY/+8DtP/vA9H/7wPT/+8AIwAG//IAC//yAFr/9QBd//UAvf/1APb/9AEJ//UBGv/1ATr/9QFt//UBhP/yAYX/8gGH//IBiP/yAYn/8gIn//UCKP/1Apb/9QLC//UC5f/1Au7/9QL2//UC9//yAvj/8gL7//IDB//1Aw//9QMw//UDMv/1AzT/9QON//UDj//1A5H/9QPf//UD4f/1AAoA7QAUAPb/7QD5/+0A/P/iATr/7QFI/+0BSv/tAW3/7QM2/+0Dlv/tAFkAR//wAEj/8ABJ//AAS//wAFP/6wBV//AAlP/wAJn/8AC7//AAyP/wAMn/8AD3//ABA//wARj/6wEc/+sBHv/wASL/8AFC//ABYP/wAWH/8AFr//ACFP/wAhX/8AIW//ACF//wAhj/8AIe/+sCH//rAiD/6wIh/+sCIv/rAjD/8AIy//ACNP/wAjb/8AI4//ACOv/wAjz/8AI+//ACQP/wAkL/8AJE//ACRv/wAkj/8AJK//ACbP/rAm7/6wJw/+sCuv/wAsD/6wLG/+sC4P/wAuL/6wLk//AC5//wAwL/8AMI//ADDf/wAxv/8AMd//ADHv/wAyj/6wMq//ADLP/rAzn/8ANT//ADVf/wA1f/8ANZ//ADW//wA13/8ANf//ADYf/wA2f/6wNp/+sDa//rA23/6wNv/+sDcf/rA3P/6wN1//ADd//wA3n/8AN7/+sDff/wA7j/8AO8/+sDxf/wA8f/8ACgAAYADQALAA0ARf/wAEf/sABI/7AASf+wAEoADQBL/7AAU//WAFX/sABaAAsAXQALAJT/sACZ/7AAu/+wAL0ACwC+/7AAx/+rAMj/wADJ/7AAzP/VAO3/qgDy/68A9/+wAQP/sAEE/68BGP/WARoACwEc/+IBHv+wASAADAEi/7ABQv+wAVH/rwFg/7ABYf+wAWMACwFlAAsBa/+wAXD/rwGEAA0BhQANAYcADQGIAA0BiQANAg3/8AIO//ACD//wAhD/8AIR//ACEv/wAhP/8AIU/7ACFf+wAhb/sAIX/7ACGP+wAh7/1gIf/9YCIP/WAiH/1gIi/9YCJwALAigACwIq//ACLP/wAi7/8AIw/7ACMv+wAjT/sAI2/7ACOP+wAjr/sAI8/7ACPv+wAkD/sAJC/7ACRP+wAkb/sAJI/7ACSv+wAmz/1gJu/9YCcP/WApYACwK6/7ACwP/WAsIACwLG/9YC3//wAuD/sALi/9YC5P+wAuUACwLn/7AC7gALAvYACwL3AA0C+AANAvsADQL///ADAv+wAwcACwMI/7ADDf+wAw8ACwMV//ADF//wAxv/sAMd/7ADHv+wAyj/1gMq/7ADLP/WAzAACwMyAAsDNAALAzn/sAM7//ADPf/wAz//8ANB//ADQ//wA0X/8ANH//ADSf/wA0v/8ANN//ADT//wA1H/8ANT/7ADVf+wA1f/sANZ/7ADW/+wA13/sANf/7ADYf+wA2f/1gNp/9YDa//WA23/1gNv/9YDcf/WA3P/1gN1/7ADd/+wA3n/sAN7/9YDff+wA40ACwOPAAsDkQALA7b/8AO4/7ADvP/WA8X/sAPH/7AD3wALA+EACwAOAO0AFADyABAA9v/wAPn/8AEBAAwBBAAQATr/8AFI//ABSv/mAVEAEAFt//ABcAAQAzb/8AOW//AATQBHAAwASAAMAEkADABLAAwAVQAMAJQADACZAAwAuwAMAMgADADJAAwA7QA6APIAGAD2/+MA9wAMAPn/9wEDAAwBBAAYAR4ADAEiAAwBOv/iAUIADAFI//cBSv/jAVEAGAFgAAwBYQAMAWsADAFt/+MBcAAYAhQADAIVAAwCFgAMAhcADAIYAAwCMAAMAjIADAI0AAwCNgAMAjgADAI6AAwCPAAMAj4ADAJAAAwCQgAMAkQADAJGAAwCSAAMAkoADAK6AAwC4AAMAuQADALnAAwDAgAMAwgADAMNAAwDGwAMAx0ADAMeAAwDKgAMAzb/9wM5AAwDUwAMA1UADANXAAwDWQAMA1sADANdAAwDXwAMA2EADAN1AAwDdwAMA3kADAN9AAwDlv/3A7gADAPFAAwDxwAMACIAWv/0AFz/8ABd//QAvf/0AO3/7wDu//AA8v/zAQT/8wEa//QBNP/wAUT/8AFR//MBXv/wAXD/8wIn//QCKP/0Apb/9ALC//QC5f/0Aub/8ALu//QC9v/0Awf/9AMP//QDEv/wAyD/8AMw//QDMv/0AzT/9AON//QDj//0A5H/9APf//QD4f/0AAoABv/WAAv/1gGE/9YBhf/WAYf/1gGI/9YBif/WAvf/1gL4/9YC+//WAAgA9v+6AQn/zwEg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AAAAHAAAABwABwAAAAAAAAAAABwAHAAAAAAAAAAAABwAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAADABsACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAHwAYAAAAAAAQABIACwAAAAsAAAALAAAAAAAAAAAAAAAAAAAAAAAAABAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAQABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXABcAHgAXABcAFwAeAAAAAAAAAB4AHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAANAAAAAgACAAIAAgACAAIAAgARAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQAKAAoACgAKAAwABgAGAAYABgAGAAYABgAVAAgACAAIAAgAAAAAAAAAAAAEAAMAAwADAAMAAwAAAAAAAAAAAAkACQACAAYAAgAGAAIABgARABUAEQAVABEAFQARABUAAQAAAAUACAAFAAgABQAIAAUACAAFAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAWAAAAFgAAABYAAAAWAAAAAAAEAAAABAAAAAQABAABAAMAAQADAAEAAwAAABMAAAATAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAANAAAADQAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAABkAAAAMAAkADAAPAA4ADwAOAA8ADgAAAAAAAAAAAAIABQAAAAAAAQAMAAAAAAACABoABQAPAAAAAAALAAAAAAABABQADQAMABAAAAAMAAAAAAAEAAAAAAAAAAMAAAAJAAAAAAAAAAMAAAAAAAUAHwAAAAAAAAAKAAsACwAgAAIAGgAfAAUAAAAAAAAAAQAAABQAEQANABAABgAIAAAAAwAHABUACQASAAgAGAAAAAAAAAAAAAAACQAZAAAAGQAAABkAAAAMAAkAFwAXAAAAAAAXAAAABAACAAYABQAAAAgAAAAAAAAAGwAJAAAAAAAAAAAAEQAVAAwACQAAABAAEgAAAAIABgACAAYAAAAAAAUACAAAAAgACAAQABIAAAAAAAAAAAAAAAAAAQADAAAAAAAAAAMAAAAHACAACQAgAAkAIAAJAAAAAAAAAAAAAAACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgACAAYAAgAGAAIABgAFAAgABQAIAAUACAAFAAgABQAIAAUACAAFAAgABQAIAAAAAAAAAAAAAQADAAEAAwABAAMAAQADAAEAAwABAAMAAQADAAAAAAAAAAAAAAAAAAAAAwAAAAAACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwACQAMAAkADAAJAAAADQAAAAAAAAAfABgAAAAAAAQAAAAdAB8AAAALAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACAAYABQAAAAAAAAABAAMAAAATAAAAAAAAABoABwABAAAAAQAAAAAABAALAAAACwAAABYAAAAAAAQAAAAEAAEAFAAHAAAAEwAAAAAADQAAAAoAGwAJABsACQAZAAAADwAOAAEAAQAGA+AAEQAAAAAAAAAAABEAAAAAAAAAAAAVABgAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAACAAAAAAAcAAAAAAAAAAAAAgAAAAIAAAAOAAoACQAXABMADwALABAAAAAAAAAAAAAAAAAABwAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAwADAAQAAwABAAAADAAAAAUACAAAABIACAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAAAAAAAAAIAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAIABgAAAAAAAAAAAAAAAAABAAAACAAAAAAAAAADAAAAAAAAAAAAAAAAAAEAAQAAAAUAAAAAAAAAAAAAAAAACgACABQAAAAKAAAAAAAAAA8AAAAAABQAGwAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAASAAAAAwADABYAAwADAAMAAAABAAMAGgADAAMAAAAAAAMAAAADAAAAAAABABYAAwAAAAAAAgAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAgAEABcACAACAAAAAgABAAIAAAACAAEAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAPABIAAAADAAAAAAAKAAAAAAADAAAAAwAAAAAAAgABAA8AEgAKAAAAGQAaAAAAAAAAAAAAAAAAAAAAFAAWAAAAAwAAAAMAAAADAAAAAAAAAAAAAwAPABIAAAABAAEAAAAAAAAAAAAUAAAAAAAAAAIAAQAAAAAAAAAUABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAAAARABEAFQARABEAEQAVAAAAAAAAABUAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAABgAGAAYABgAGAAYABgACAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgAJAAkACQAJAAsABwAHAAcABwAHAAcABwABAAEAAQABAAEAAAAAAAAAAAADAAQABAAEAAQABAAFAAUABQAFAAgACAAGAAcABgAHAAYABwACAAEAAgABAAIAAQACAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAgABAAIAAQACAAEAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAA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";
|
|
45693
45736
|
var Lang = _enum([
|
|
@@ -45761,6 +45804,9 @@ object$1({
|
|
|
45761
45804
|
"schemas.text.max": string$1(),
|
|
45762
45805
|
"schemas.text.fit": string$1(),
|
|
45763
45806
|
"schemas.text.dynamicFontSize": string$1(),
|
|
45807
|
+
"schemas.text.overflow": string$1(),
|
|
45808
|
+
"schemas.text.overflowVisible": string$1(),
|
|
45809
|
+
"schemas.text.overflowExpand": string$1(),
|
|
45764
45810
|
"schemas.text.format": string$1(),
|
|
45765
45811
|
"schemas.text.plain": string$1(),
|
|
45766
45812
|
"schemas.text.inlineMarkdown": string$1(),
|
|
@@ -45835,6 +45881,10 @@ var Schema$1 = object$1({
|
|
|
45835
45881
|
start: number$1(),
|
|
45836
45882
|
end: number$1().optional()
|
|
45837
45883
|
}).optional(),
|
|
45884
|
+
__textLineRange: object$1({
|
|
45885
|
+
start: number$1(),
|
|
45886
|
+
end: number$1().optional()
|
|
45887
|
+
}).optional(),
|
|
45838
45888
|
__isSplit: boolean$1().optional()
|
|
45839
45889
|
}).passthrough();
|
|
45840
45890
|
var SchemaForUIAdditionalInfo = object$1({ id: string$1() });
|
|
@@ -46141,198 +46191,6 @@ var checkTemplate = (template) => {
|
|
|
46141
46191
|
migrateTemplate(template);
|
|
46142
46192
|
checkProps(template, Template);
|
|
46143
46193
|
};
|
|
46144
|
-
/** Floating point tolerance for comparisons */
|
|
46145
|
-
var EPSILON = .01;
|
|
46146
|
-
/** Calculate the content height of a page (drawable area excluding padding) */
|
|
46147
|
-
var getContentHeight = (basePdf) => basePdf.height - basePdf.padding[0] - basePdf.padding[2];
|
|
46148
|
-
/** Get the input value for a schema */
|
|
46149
|
-
var getSchemaValue = (schema, input) => (schema.readOnly ? schema.content : input?.[schema.name]) || "";
|
|
46150
|
-
/**
|
|
46151
|
-
* Normalize schemas within a single page into layout items.
|
|
46152
|
-
* Returns items sorted by Y coordinate with their order preserved.
|
|
46153
|
-
*/
|
|
46154
|
-
function normalizePageSchemas(pageSchemas, paddingTop) {
|
|
46155
|
-
const items = [];
|
|
46156
|
-
const orderMap = /* @__PURE__ */ new Map();
|
|
46157
|
-
pageSchemas.forEach((schema, index) => {
|
|
46158
|
-
const localY = Math.max(0, schema.position.y - paddingTop);
|
|
46159
|
-
items.push({
|
|
46160
|
-
schema: cloneDeep$1(schema),
|
|
46161
|
-
baseY: localY,
|
|
46162
|
-
height: schema.height,
|
|
46163
|
-
dynamicLayout: { heights: [schema.height] }
|
|
46164
|
-
});
|
|
46165
|
-
orderMap.set(schema.name, index);
|
|
46166
|
-
});
|
|
46167
|
-
items.sort((a, b) => {
|
|
46168
|
-
if (Math.abs(a.baseY - b.baseY) > EPSILON) return a.baseY - b.baseY;
|
|
46169
|
-
return (orderMap.get(a.schema.name) ?? 0) - (orderMap.get(b.schema.name) ?? 0);
|
|
46170
|
-
});
|
|
46171
|
-
return {
|
|
46172
|
-
items,
|
|
46173
|
-
orderMap
|
|
46174
|
-
};
|
|
46175
|
-
}
|
|
46176
|
-
/**
|
|
46177
|
-
* Place height units on pages, splitting across pages as needed.
|
|
46178
|
-
* @returns The final global Y coordinate after placement
|
|
46179
|
-
*/
|
|
46180
|
-
function placeUnitsOnPages(schema, dynamicLayout, startGlobalY, contentHeight, paddingTop, pages) {
|
|
46181
|
-
const dynamicHeights = dynamicLayout.heights;
|
|
46182
|
-
let currentUnitIndex = 0;
|
|
46183
|
-
let currentPageIndex = Math.floor(startGlobalY / contentHeight);
|
|
46184
|
-
let currentYInPage = startGlobalY % contentHeight;
|
|
46185
|
-
if (currentYInPage < 0) currentYInPage = 0;
|
|
46186
|
-
let actualGlobalEndY = 0;
|
|
46187
|
-
const isSplittable = dynamicHeights.length > 1;
|
|
46188
|
-
while (currentUnitIndex < dynamicHeights.length) {
|
|
46189
|
-
while (pages.length <= currentPageIndex) pages.push([]);
|
|
46190
|
-
const spaceLeft = contentHeight - currentYInPage;
|
|
46191
|
-
if (dynamicHeights[currentUnitIndex] > spaceLeft + EPSILON) {
|
|
46192
|
-
if (!(Math.abs(spaceLeft - contentHeight) <= EPSILON)) {
|
|
46193
|
-
currentPageIndex++;
|
|
46194
|
-
currentYInPage = 0;
|
|
46195
|
-
continue;
|
|
46196
|
-
}
|
|
46197
|
-
}
|
|
46198
|
-
let chunkHeight = 0;
|
|
46199
|
-
const startUnitIndex = currentUnitIndex;
|
|
46200
|
-
while (currentUnitIndex < dynamicHeights.length) {
|
|
46201
|
-
const h = dynamicHeights[currentUnitIndex];
|
|
46202
|
-
if (currentYInPage + chunkHeight + h <= contentHeight + EPSILON) {
|
|
46203
|
-
chunkHeight += h;
|
|
46204
|
-
currentUnitIndex++;
|
|
46205
|
-
} else break;
|
|
46206
|
-
}
|
|
46207
|
-
const isAtPageTop = currentYInPage <= EPSILON;
|
|
46208
|
-
if (dynamicLayout.avoidFirstUnitOnly && isSplittable && startUnitIndex === 0 && currentUnitIndex === 1 && dynamicHeights.length > 1 && !isAtPageTop) {
|
|
46209
|
-
currentUnitIndex = 0;
|
|
46210
|
-
currentPageIndex++;
|
|
46211
|
-
currentYInPage = 0;
|
|
46212
|
-
continue;
|
|
46213
|
-
}
|
|
46214
|
-
if (currentUnitIndex === startUnitIndex) {
|
|
46215
|
-
chunkHeight += dynamicHeights[currentUnitIndex];
|
|
46216
|
-
currentUnitIndex++;
|
|
46217
|
-
}
|
|
46218
|
-
const patch = dynamicLayout.patchSplitSchema?.({
|
|
46219
|
-
schema,
|
|
46220
|
-
start: startUnitIndex,
|
|
46221
|
-
end: currentUnitIndex,
|
|
46222
|
-
isSplit: startUnitIndex > 0,
|
|
46223
|
-
chunkHeight
|
|
46224
|
-
}) ?? {};
|
|
46225
|
-
const newSchema = {
|
|
46226
|
-
...schema,
|
|
46227
|
-
...patch,
|
|
46228
|
-
height: chunkHeight,
|
|
46229
|
-
position: {
|
|
46230
|
-
...schema.position,
|
|
46231
|
-
y: currentYInPage + paddingTop
|
|
46232
|
-
}
|
|
46233
|
-
};
|
|
46234
|
-
pages[currentPageIndex].push(newSchema);
|
|
46235
|
-
currentYInPage += chunkHeight;
|
|
46236
|
-
if (currentYInPage >= contentHeight - EPSILON) {
|
|
46237
|
-
currentPageIndex++;
|
|
46238
|
-
currentYInPage = 0;
|
|
46239
|
-
}
|
|
46240
|
-
actualGlobalEndY = currentPageIndex * contentHeight + currentYInPage;
|
|
46241
|
-
}
|
|
46242
|
-
return actualGlobalEndY;
|
|
46243
|
-
}
|
|
46244
|
-
/** Sort elements within each page by their original order */
|
|
46245
|
-
function sortPagesByOrder(pages, orderMap) {
|
|
46246
|
-
pages.forEach((page) => {
|
|
46247
|
-
page.sort((a, b) => (orderMap.get(a.name) ?? 0) - (orderMap.get(b.name) ?? 0));
|
|
46248
|
-
});
|
|
46249
|
-
}
|
|
46250
|
-
/** Remove trailing empty pages */
|
|
46251
|
-
function removeTrailingEmptyPages(pages) {
|
|
46252
|
-
while (pages.length > 1 && pages[pages.length - 1].length === 0) pages.pop();
|
|
46253
|
-
}
|
|
46254
|
-
/**
|
|
46255
|
-
* Process a single template page that has dynamic content.
|
|
46256
|
-
* Uses the same layout algorithm as the original implementation,
|
|
46257
|
-
* but scoped to a single page's schemas.
|
|
46258
|
-
*/
|
|
46259
|
-
function processDynamicPage(items, orderMap, contentHeight, paddingTop) {
|
|
46260
|
-
const pages = [];
|
|
46261
|
-
let totalYOffset = 0;
|
|
46262
|
-
for (const item of items) {
|
|
46263
|
-
const currentGlobalStartY = item.baseY + totalYOffset;
|
|
46264
|
-
totalYOffset = placeUnitsOnPages(item.schema, item.dynamicLayout, currentGlobalStartY, contentHeight, paddingTop, pages) - (item.baseY + item.height);
|
|
46265
|
-
}
|
|
46266
|
-
sortPagesByOrder(pages, orderMap);
|
|
46267
|
-
removeTrailingEmptyPages(pages);
|
|
46268
|
-
return pages;
|
|
46269
|
-
}
|
|
46270
|
-
var normalizeDynamicLayoutResult = (result) => {
|
|
46271
|
-
const dynamicLayout = Array.isArray(result) ? { heights: result } : result;
|
|
46272
|
-
return {
|
|
46273
|
-
...dynamicLayout,
|
|
46274
|
-
heights: dynamicLayout.heights.length === 0 ? [0] : dynamicLayout.heights
|
|
46275
|
-
};
|
|
46276
|
-
};
|
|
46277
|
-
/**
|
|
46278
|
-
* Process a template containing tables with dynamic heights
|
|
46279
|
-
* and generate a new template with proper page breaks.
|
|
46280
|
-
*
|
|
46281
|
-
* Processing is done page-by-page:
|
|
46282
|
-
* - Pages with height changes are processed with full layout calculations
|
|
46283
|
-
* - Pages without height changes are copied as-is (no offset propagation between pages)
|
|
46284
|
-
*
|
|
46285
|
-
* This reduces computation cost by:
|
|
46286
|
-
* 1. Limiting layout calculations to pages that need them
|
|
46287
|
-
* 2. Avoiding cross-page offset propagation for static pages
|
|
46288
|
-
*/
|
|
46289
|
-
var getDynamicTemplate = async (arg) => {
|
|
46290
|
-
const { template, input, options, _cache, getDynamicHeights } = arg;
|
|
46291
|
-
const basePdf = template.basePdf;
|
|
46292
|
-
if (!isBlankPdf(basePdf)) return template;
|
|
46293
|
-
const contentHeight = getContentHeight(basePdf);
|
|
46294
|
-
const paddingTop = basePdf.padding[0];
|
|
46295
|
-
const resultPages = [];
|
|
46296
|
-
const PARALLEL_LIMIT = 10;
|
|
46297
|
-
for (let pageIndex = 0; pageIndex < template.schemas.length; pageIndex++) {
|
|
46298
|
-
const pageSchemas = template.schemas[pageIndex];
|
|
46299
|
-
const { items, orderMap } = normalizePageSchemas(pageSchemas, paddingTop);
|
|
46300
|
-
for (let i = 0; i < items.length; i += PARALLEL_LIMIT) {
|
|
46301
|
-
const chunk = items.slice(i, i + PARALLEL_LIMIT);
|
|
46302
|
-
const chunkResults = await Promise.all(chunk.map((item) => {
|
|
46303
|
-
return getDynamicHeights(getSchemaValue(item.schema, input), {
|
|
46304
|
-
schema: item.schema,
|
|
46305
|
-
basePdf,
|
|
46306
|
-
options,
|
|
46307
|
-
_cache
|
|
46308
|
-
}).then(normalizeDynamicLayoutResult);
|
|
46309
|
-
}));
|
|
46310
|
-
for (let j = 0; j < chunkResults.length; j++) items[i + j].dynamicLayout = chunkResults[j];
|
|
46311
|
-
}
|
|
46312
|
-
const processedPages = processDynamicPage(items, orderMap, contentHeight, paddingTop);
|
|
46313
|
-
resultPages.push(...processedPages);
|
|
46314
|
-
}
|
|
46315
|
-
removeTrailingEmptyPages(resultPages);
|
|
46316
|
-
if (resultPages.length === template.schemas.length) {
|
|
46317
|
-
let unchanged = true;
|
|
46318
|
-
for (let i = 0; i < resultPages.length && unchanged; i++) {
|
|
46319
|
-
if (resultPages[i].length !== template.schemas[i].length) {
|
|
46320
|
-
unchanged = false;
|
|
46321
|
-
break;
|
|
46322
|
-
}
|
|
46323
|
-
for (let j = 0; j < resultPages[i].length && unchanged; j++) {
|
|
46324
|
-
const orig = template.schemas[i][j];
|
|
46325
|
-
const result = resultPages[i][j];
|
|
46326
|
-
if (Math.abs(orig.height - result.height) > EPSILON || Math.abs(orig.position.y - result.position.y) > EPSILON) unchanged = false;
|
|
46327
|
-
}
|
|
46328
|
-
}
|
|
46329
|
-
if (unchanged) return template;
|
|
46330
|
-
}
|
|
46331
|
-
return {
|
|
46332
|
-
basePdf,
|
|
46333
|
-
schemas: resultPages
|
|
46334
|
-
};
|
|
46335
|
-
};
|
|
46336
46194
|
var expressionCache = /* @__PURE__ */ new Map();
|
|
46337
46195
|
/**
|
|
46338
46196
|
* Parse each string value in `data` as JSON, falling back to the original
|
|
@@ -46650,6 +46508,206 @@ var replacePlaceholders = (arg) => {
|
|
|
46650
46508
|
context
|
|
46651
46509
|
});
|
|
46652
46510
|
};
|
|
46511
|
+
/** Floating point tolerance for comparisons */
|
|
46512
|
+
var EPSILON = .01;
|
|
46513
|
+
/** Calculate the content height of a page (drawable area excluding padding) */
|
|
46514
|
+
var getContentHeight = (basePdf) => basePdf.height - basePdf.padding[0] - basePdf.padding[2];
|
|
46515
|
+
/** Get the input value for a schema */
|
|
46516
|
+
var getSchemaValue = (schema, input, schemas) => {
|
|
46517
|
+
if (!schema.readOnly) return input?.[schema.name] || "";
|
|
46518
|
+
if (schema.type !== "text" && schema.type !== "multiVariableText") return schema.content || "";
|
|
46519
|
+
return replacePlaceholders({
|
|
46520
|
+
content: schema.content || "",
|
|
46521
|
+
variables: input,
|
|
46522
|
+
schemas
|
|
46523
|
+
});
|
|
46524
|
+
};
|
|
46525
|
+
/**
|
|
46526
|
+
* Normalize schemas within a single page into layout items.
|
|
46527
|
+
* Returns items sorted by Y coordinate with their order preserved.
|
|
46528
|
+
*/
|
|
46529
|
+
function normalizePageSchemas(pageSchemas, paddingTop) {
|
|
46530
|
+
const items = [];
|
|
46531
|
+
const orderMap = /* @__PURE__ */ new Map();
|
|
46532
|
+
pageSchemas.forEach((schema, index) => {
|
|
46533
|
+
const localY = Math.max(0, schema.position.y - paddingTop);
|
|
46534
|
+
items.push({
|
|
46535
|
+
schema: cloneDeep$1(schema),
|
|
46536
|
+
baseY: localY,
|
|
46537
|
+
height: schema.height,
|
|
46538
|
+
dynamicLayout: { heights: [schema.height] }
|
|
46539
|
+
});
|
|
46540
|
+
orderMap.set(schema.name, index);
|
|
46541
|
+
});
|
|
46542
|
+
items.sort((a, b) => {
|
|
46543
|
+
if (Math.abs(a.baseY - b.baseY) > EPSILON) return a.baseY - b.baseY;
|
|
46544
|
+
return (orderMap.get(a.schema.name) ?? 0) - (orderMap.get(b.schema.name) ?? 0);
|
|
46545
|
+
});
|
|
46546
|
+
return {
|
|
46547
|
+
items,
|
|
46548
|
+
orderMap
|
|
46549
|
+
};
|
|
46550
|
+
}
|
|
46551
|
+
/**
|
|
46552
|
+
* Place height units on pages, splitting across pages as needed.
|
|
46553
|
+
* @returns The final global Y coordinate after placement
|
|
46554
|
+
*/
|
|
46555
|
+
function placeUnitsOnPages(schema, dynamicLayout, startGlobalY, contentHeight, paddingTop, pages) {
|
|
46556
|
+
const dynamicHeights = dynamicLayout.heights;
|
|
46557
|
+
let currentUnitIndex = 0;
|
|
46558
|
+
let currentPageIndex = Math.floor(startGlobalY / contentHeight);
|
|
46559
|
+
let currentYInPage = startGlobalY % contentHeight;
|
|
46560
|
+
if (currentYInPage < 0) currentYInPage = 0;
|
|
46561
|
+
let actualGlobalEndY = 0;
|
|
46562
|
+
const isSplittable = dynamicHeights.length > 1;
|
|
46563
|
+
while (currentUnitIndex < dynamicHeights.length) {
|
|
46564
|
+
while (pages.length <= currentPageIndex) pages.push([]);
|
|
46565
|
+
const spaceLeft = contentHeight - currentYInPage;
|
|
46566
|
+
if (dynamicHeights[currentUnitIndex] > spaceLeft + EPSILON) {
|
|
46567
|
+
if (!(Math.abs(spaceLeft - contentHeight) <= EPSILON)) {
|
|
46568
|
+
currentPageIndex++;
|
|
46569
|
+
currentYInPage = 0;
|
|
46570
|
+
continue;
|
|
46571
|
+
}
|
|
46572
|
+
}
|
|
46573
|
+
let chunkHeight = 0;
|
|
46574
|
+
const startUnitIndex = currentUnitIndex;
|
|
46575
|
+
while (currentUnitIndex < dynamicHeights.length) {
|
|
46576
|
+
const h = dynamicHeights[currentUnitIndex];
|
|
46577
|
+
if (currentYInPage + chunkHeight + h <= contentHeight + EPSILON) {
|
|
46578
|
+
chunkHeight += h;
|
|
46579
|
+
currentUnitIndex++;
|
|
46580
|
+
} else break;
|
|
46581
|
+
}
|
|
46582
|
+
const isAtPageTop = currentYInPage <= EPSILON;
|
|
46583
|
+
if (dynamicLayout.avoidFirstUnitOnly && isSplittable && startUnitIndex === 0 && currentUnitIndex === 1 && dynamicHeights.length > 1 && !isAtPageTop) {
|
|
46584
|
+
currentUnitIndex = 0;
|
|
46585
|
+
currentPageIndex++;
|
|
46586
|
+
currentYInPage = 0;
|
|
46587
|
+
continue;
|
|
46588
|
+
}
|
|
46589
|
+
if (currentUnitIndex === startUnitIndex) {
|
|
46590
|
+
chunkHeight += dynamicHeights[currentUnitIndex];
|
|
46591
|
+
currentUnitIndex++;
|
|
46592
|
+
}
|
|
46593
|
+
const patch = dynamicLayout.patchSplitSchema?.({
|
|
46594
|
+
schema,
|
|
46595
|
+
start: startUnitIndex,
|
|
46596
|
+
end: currentUnitIndex,
|
|
46597
|
+
isSplit: startUnitIndex > 0,
|
|
46598
|
+
chunkHeight
|
|
46599
|
+
}) ?? {};
|
|
46600
|
+
const newSchema = {
|
|
46601
|
+
...schema,
|
|
46602
|
+
...patch,
|
|
46603
|
+
height: chunkHeight,
|
|
46604
|
+
position: {
|
|
46605
|
+
...schema.position,
|
|
46606
|
+
y: currentYInPage + paddingTop
|
|
46607
|
+
}
|
|
46608
|
+
};
|
|
46609
|
+
pages[currentPageIndex].push(newSchema);
|
|
46610
|
+
currentYInPage += chunkHeight;
|
|
46611
|
+
if (currentYInPage >= contentHeight - EPSILON) {
|
|
46612
|
+
currentPageIndex++;
|
|
46613
|
+
currentYInPage = 0;
|
|
46614
|
+
}
|
|
46615
|
+
actualGlobalEndY = currentPageIndex * contentHeight + currentYInPage;
|
|
46616
|
+
}
|
|
46617
|
+
return actualGlobalEndY;
|
|
46618
|
+
}
|
|
46619
|
+
/** Sort elements within each page by their original order */
|
|
46620
|
+
function sortPagesByOrder(pages, orderMap) {
|
|
46621
|
+
pages.forEach((page) => {
|
|
46622
|
+
page.sort((a, b) => (orderMap.get(a.name) ?? 0) - (orderMap.get(b.name) ?? 0));
|
|
46623
|
+
});
|
|
46624
|
+
}
|
|
46625
|
+
/** Remove trailing empty pages */
|
|
46626
|
+
function removeTrailingEmptyPages(pages) {
|
|
46627
|
+
while (pages.length > 1 && pages[pages.length - 1].length === 0) pages.pop();
|
|
46628
|
+
}
|
|
46629
|
+
/**
|
|
46630
|
+
* Process a single template page that has dynamic content.
|
|
46631
|
+
* Uses the same layout algorithm as the original implementation,
|
|
46632
|
+
* but scoped to a single page's schemas.
|
|
46633
|
+
*/
|
|
46634
|
+
function processDynamicPage(items, orderMap, contentHeight, paddingTop) {
|
|
46635
|
+
const pages = [];
|
|
46636
|
+
let totalYOffset = 0;
|
|
46637
|
+
for (const item of items) {
|
|
46638
|
+
const currentGlobalStartY = item.baseY + totalYOffset;
|
|
46639
|
+
totalYOffset = placeUnitsOnPages(item.schema, item.dynamicLayout, currentGlobalStartY, contentHeight, paddingTop, pages) - (item.baseY + item.height);
|
|
46640
|
+
}
|
|
46641
|
+
sortPagesByOrder(pages, orderMap);
|
|
46642
|
+
removeTrailingEmptyPages(pages);
|
|
46643
|
+
return pages;
|
|
46644
|
+
}
|
|
46645
|
+
var normalizeDynamicLayoutResult = (result) => {
|
|
46646
|
+
const dynamicLayout = Array.isArray(result) ? { heights: result } : result;
|
|
46647
|
+
return {
|
|
46648
|
+
...dynamicLayout,
|
|
46649
|
+
heights: dynamicLayout.heights.length === 0 ? [0] : dynamicLayout.heights
|
|
46650
|
+
};
|
|
46651
|
+
};
|
|
46652
|
+
/**
|
|
46653
|
+
* Process a template containing tables with dynamic heights
|
|
46654
|
+
* and generate a new template with proper page breaks.
|
|
46655
|
+
*
|
|
46656
|
+
* Processing is done page-by-page:
|
|
46657
|
+
* - Pages with height changes are processed with full layout calculations
|
|
46658
|
+
* - Pages without height changes are copied as-is (no offset propagation between pages)
|
|
46659
|
+
*
|
|
46660
|
+
* This reduces computation cost by:
|
|
46661
|
+
* 1. Limiting layout calculations to pages that need them
|
|
46662
|
+
* 2. Avoiding cross-page offset propagation for static pages
|
|
46663
|
+
*/
|
|
46664
|
+
var getDynamicTemplate = async (arg) => {
|
|
46665
|
+
const { template, input, options, _cache, getDynamicHeights } = arg;
|
|
46666
|
+
const basePdf = template.basePdf;
|
|
46667
|
+
if (!isBlankPdf(basePdf)) return template;
|
|
46668
|
+
const contentHeight = getContentHeight(basePdf);
|
|
46669
|
+
const paddingTop = basePdf.padding[0];
|
|
46670
|
+
const resultPages = [];
|
|
46671
|
+
const PARALLEL_LIMIT = 10;
|
|
46672
|
+
for (let pageIndex = 0; pageIndex < template.schemas.length; pageIndex++) {
|
|
46673
|
+
const pageSchemas = template.schemas[pageIndex];
|
|
46674
|
+
const { items, orderMap } = normalizePageSchemas(pageSchemas, paddingTop);
|
|
46675
|
+
for (let i = 0; i < items.length; i += PARALLEL_LIMIT) {
|
|
46676
|
+
const chunk = items.slice(i, i + PARALLEL_LIMIT);
|
|
46677
|
+
const chunkResults = await Promise.all(chunk.map((item) => {
|
|
46678
|
+
return getDynamicHeights(getSchemaValue(item.schema, input, template.schemas), {
|
|
46679
|
+
schema: item.schema,
|
|
46680
|
+
basePdf,
|
|
46681
|
+
options,
|
|
46682
|
+
_cache
|
|
46683
|
+
}).then(normalizeDynamicLayoutResult);
|
|
46684
|
+
}));
|
|
46685
|
+
for (let j = 0; j < chunkResults.length; j++) items[i + j].dynamicLayout = chunkResults[j];
|
|
46686
|
+
}
|
|
46687
|
+
const processedPages = processDynamicPage(items, orderMap, contentHeight, paddingTop);
|
|
46688
|
+
resultPages.push(...processedPages);
|
|
46689
|
+
}
|
|
46690
|
+
removeTrailingEmptyPages(resultPages);
|
|
46691
|
+
if (resultPages.length === template.schemas.length) {
|
|
46692
|
+
let unchanged = true;
|
|
46693
|
+
for (let i = 0; i < resultPages.length && unchanged; i++) {
|
|
46694
|
+
if (resultPages[i].length !== template.schemas[i].length) {
|
|
46695
|
+
unchanged = false;
|
|
46696
|
+
break;
|
|
46697
|
+
}
|
|
46698
|
+
for (let j = 0; j < resultPages[i].length && unchanged; j++) {
|
|
46699
|
+
const orig = template.schemas[i][j];
|
|
46700
|
+
const result = resultPages[i][j];
|
|
46701
|
+
if (Math.abs(orig.height - result.height) > EPSILON || Math.abs(orig.position.y - result.position.y) > EPSILON) unchanged = false;
|
|
46702
|
+
}
|
|
46703
|
+
}
|
|
46704
|
+
if (unchanged) return template;
|
|
46705
|
+
}
|
|
46706
|
+
return {
|
|
46707
|
+
basePdf,
|
|
46708
|
+
schemas: resultPages
|
|
46709
|
+
};
|
|
46710
|
+
};
|
|
46653
46711
|
/**
|
|
46654
46712
|
* Wraps plugins collection with utility methods
|
|
46655
46713
|
*/
|
|
@@ -81547,6 +81605,9 @@ var dictionaries = {
|
|
|
81547
81605
|
"schemas.text.max": "Max",
|
|
81548
81606
|
"schemas.text.fit": "Fit",
|
|
81549
81607
|
"schemas.text.dynamicFontSize": "Dynamic Font Size",
|
|
81608
|
+
"schemas.text.overflow": "Overflow",
|
|
81609
|
+
"schemas.text.overflowVisible": "Visible",
|
|
81610
|
+
"schemas.text.overflowExpand": "Expand",
|
|
81550
81611
|
"schemas.text.format": "Format",
|
|
81551
81612
|
"schemas.text.plain": "Plain",
|
|
81552
81613
|
"schemas.text.inlineMarkdown": "Use Inline Markdown",
|
|
@@ -81647,6 +81708,9 @@ var dictionaries = {
|
|
|
81647
81708
|
"schemas.text.max": "最大",
|
|
81648
81709
|
"schemas.text.fit": "适应",
|
|
81649
81710
|
"schemas.text.dynamicFontSize": "动态字体大小",
|
|
81711
|
+
"schemas.text.overflow": "溢出",
|
|
81712
|
+
"schemas.text.overflowVisible": "可见",
|
|
81713
|
+
"schemas.text.overflowExpand": "扩展",
|
|
81650
81714
|
"schemas.text.format": "格式",
|
|
81651
81715
|
"schemas.text.plain": "纯文本",
|
|
81652
81716
|
"schemas.text.inlineMarkdown": "使用内联 Markdown",
|
|
@@ -81747,6 +81811,9 @@ var dictionaries = {
|
|
|
81747
81811
|
"schemas.text.max": "最大",
|
|
81748
81812
|
"schemas.text.fit": "フィット",
|
|
81749
81813
|
"schemas.text.dynamicFontSize": "動的フォントサイズ",
|
|
81814
|
+
"schemas.text.overflow": "オーバーフロー",
|
|
81815
|
+
"schemas.text.overflowVisible": "表示",
|
|
81816
|
+
"schemas.text.overflowExpand": "拡張",
|
|
81750
81817
|
"schemas.text.format": "書式",
|
|
81751
81818
|
"schemas.text.plain": "プレーン",
|
|
81752
81819
|
"schemas.text.inlineMarkdown": "インラインMarkdownを使う",
|
|
@@ -81847,6 +81914,9 @@ var dictionaries = {
|
|
|
81847
81914
|
"schemas.text.max": "최대",
|
|
81848
81915
|
"schemas.text.fit": "맞춤",
|
|
81849
81916
|
"schemas.text.dynamicFontSize": "동적 폰트 크기",
|
|
81917
|
+
"schemas.text.overflow": "오버플로",
|
|
81918
|
+
"schemas.text.overflowVisible": "표시",
|
|
81919
|
+
"schemas.text.overflowExpand": "확장",
|
|
81850
81920
|
"schemas.text.format": "형식",
|
|
81851
81921
|
"schemas.text.plain": "일반 텍스트",
|
|
81852
81922
|
"schemas.text.inlineMarkdown": "인라인 Markdown 사용",
|
|
@@ -81947,6 +82017,9 @@ var dictionaries = {
|
|
|
81947
82017
|
"schemas.text.max": "الحد الأقصى",
|
|
81948
82018
|
"schemas.text.fit": "ملاءمة",
|
|
81949
82019
|
"schemas.text.dynamicFontSize": "حجم الخط الديناميكي",
|
|
82020
|
+
"schemas.text.overflow": "تجاوز",
|
|
82021
|
+
"schemas.text.overflowVisible": "مرئي",
|
|
82022
|
+
"schemas.text.overflowExpand": "توسيع",
|
|
81950
82023
|
"schemas.text.format": "تنسيق",
|
|
81951
82024
|
"schemas.text.plain": "نص عادي",
|
|
81952
82025
|
"schemas.text.inlineMarkdown": "استخدام ماركداون مضمن",
|
|
@@ -82047,6 +82120,9 @@ var dictionaries = {
|
|
|
82047
82120
|
"schemas.text.max": "สูงสุด",
|
|
82048
82121
|
"schemas.text.fit": "พอดี",
|
|
82049
82122
|
"schemas.text.dynamicFontSize": "ขนาดตัวอักษรแบบไดนามิก",
|
|
82123
|
+
"schemas.text.overflow": "การล้น",
|
|
82124
|
+
"schemas.text.overflowVisible": "แสดง",
|
|
82125
|
+
"schemas.text.overflowExpand": "ขยาย",
|
|
82050
82126
|
"schemas.text.format": "รูปแบบ",
|
|
82051
82127
|
"schemas.text.plain": "ข้อความธรรมดา",
|
|
82052
82128
|
"schemas.text.inlineMarkdown": "ใช้ Markdown แบบอินไลน์",
|
|
@@ -82147,6 +82223,9 @@ var dictionaries = {
|
|
|
82147
82223
|
"schemas.text.max": "Massimo",
|
|
82148
82224
|
"schemas.text.fit": "Adatta",
|
|
82149
82225
|
"schemas.text.dynamicFontSize": "Dimensione font dinamica",
|
|
82226
|
+
"schemas.text.overflow": "Overflow",
|
|
82227
|
+
"schemas.text.overflowVisible": "Visibile",
|
|
82228
|
+
"schemas.text.overflowExpand": "Espandi",
|
|
82150
82229
|
"schemas.text.format": "Formato",
|
|
82151
82230
|
"schemas.text.plain": "Testo semplice",
|
|
82152
82231
|
"schemas.text.inlineMarkdown": "Usa Markdown inline",
|
|
@@ -82247,6 +82326,9 @@ var dictionaries = {
|
|
|
82247
82326
|
"schemas.text.max": "Maksimum",
|
|
82248
82327
|
"schemas.text.fit": "Dopasowanie",
|
|
82249
82328
|
"schemas.text.dynamicFontSize": "Dynamiczny rozmiar czcionki",
|
|
82329
|
+
"schemas.text.overflow": "Przepełnienie",
|
|
82330
|
+
"schemas.text.overflowVisible": "Widoczne",
|
|
82331
|
+
"schemas.text.overflowExpand": "Rozszerz",
|
|
82250
82332
|
"schemas.text.format": "Format",
|
|
82251
82333
|
"schemas.text.plain": "Zwykły tekst",
|
|
82252
82334
|
"schemas.text.inlineMarkdown": "Użyj Markdown inline",
|
|
@@ -82347,6 +82429,9 @@ var dictionaries = {
|
|
|
82347
82429
|
"schemas.text.max": "Max",
|
|
82348
82430
|
"schemas.text.fit": "Anpassen",
|
|
82349
82431
|
"schemas.text.dynamicFontSize": "Dynamische Schriftgröße",
|
|
82432
|
+
"schemas.text.overflow": "Überlauf",
|
|
82433
|
+
"schemas.text.overflowVisible": "Sichtbar",
|
|
82434
|
+
"schemas.text.overflowExpand": "Erweitern",
|
|
82350
82435
|
"schemas.text.format": "Format",
|
|
82351
82436
|
"schemas.text.plain": "Einfacher Text",
|
|
82352
82437
|
"schemas.text.inlineMarkdown": "Inline-Markdown verwenden",
|
|
@@ -82447,6 +82532,9 @@ var dictionaries = {
|
|
|
82447
82532
|
"schemas.text.max": "Máx",
|
|
82448
82533
|
"schemas.text.fit": "Ajustar",
|
|
82449
82534
|
"schemas.text.dynamicFontSize": "Tamaño de fuente dinámico",
|
|
82535
|
+
"schemas.text.overflow": "Desbordamiento",
|
|
82536
|
+
"schemas.text.overflowVisible": "Visible",
|
|
82537
|
+
"schemas.text.overflowExpand": "Expandir",
|
|
82450
82538
|
"schemas.text.format": "Formato",
|
|
82451
82539
|
"schemas.text.plain": "Texto sin formato",
|
|
82452
82540
|
"schemas.text.inlineMarkdown": "Usar Markdown en línea",
|
|
@@ -82547,6 +82635,9 @@ var dictionaries = {
|
|
|
82547
82635
|
"schemas.text.max": "Max",
|
|
82548
82636
|
"schemas.text.fit": "Ajustement",
|
|
82549
82637
|
"schemas.text.dynamicFontSize": "Taille de police dynamique",
|
|
82638
|
+
"schemas.text.overflow": "Débordement",
|
|
82639
|
+
"schemas.text.overflowVisible": "Visible",
|
|
82640
|
+
"schemas.text.overflowExpand": "Agrandir",
|
|
82550
82641
|
"schemas.text.format": "Format",
|
|
82551
82642
|
"schemas.text.plain": "Texte brut",
|
|
82552
82643
|
"schemas.text.inlineMarkdown": "Utiliser Markdown en ligne",
|
|
@@ -82594,6 +82685,7 @@ var getDict = (lang) => dictionaries[lang] || dictionaries["en"];
|
|
|
82594
82685
|
var i18n = (key, dict) => (dict || getDict("en"))[key];
|
|
82595
82686
|
//#endregion
|
|
82596
82687
|
//#region ../../node_modules/restructure/src/DecodeStream.js
|
|
82688
|
+
var import_react_dom$5 = /* @__PURE__ */ __toESM(require_react_dom());
|
|
82597
82689
|
var ENCODING_MAPPING = {
|
|
82598
82690
|
utf16le: "utf-16le",
|
|
82599
82691
|
ucs2: "utf-16le",
|
|
@@ -83423,7 +83515,6 @@ function _define_property(obj, key, value) {
|
|
|
83423
83515
|
}
|
|
83424
83516
|
//#endregion
|
|
83425
83517
|
//#region ../../node_modules/tslib/tslib.es6.mjs
|
|
83426
|
-
var import_react_dom$5 = /* @__PURE__ */ __toESM(require_react_dom());
|
|
83427
83518
|
var __assign$9 = function() {
|
|
83428
83519
|
__assign$9 = Object.assign || function __assign(t) {
|
|
83429
83520
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -83912,6 +84003,7 @@ var require_unicode_trie = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
83912
84003
|
}));
|
|
83913
84004
|
//#endregion
|
|
83914
84005
|
//#region ../../node_modules/unicode-properties/dist/module.mjs
|
|
84006
|
+
var import_fast_deep_equal = /* @__PURE__ */ __toESM(require_fast_deep_equal(), 1);
|
|
83915
84007
|
var import_base64_js = /* @__PURE__ */ __toESM(require_base64_js(), 1);
|
|
83916
84008
|
var import_unicode_trie = /* @__PURE__ */ __toESM(require_unicode_trie(), 1);
|
|
83917
84009
|
function $parcel$interopDefault$1(a) {
|
|
@@ -87338,7 +87430,6 @@ var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
87338
87430
|
}));
|
|
87339
87431
|
//#endregion
|
|
87340
87432
|
//#region ../../node_modules/fontkit/dist/browser-module.mjs
|
|
87341
|
-
var import_fast_deep_equal = /* @__PURE__ */ __toESM(require_fast_deep_equal(), 1);
|
|
87342
87433
|
var import_dfa = /* @__PURE__ */ __toESM(require_dfa(), 1);
|
|
87343
87434
|
var import_clone = /* @__PURE__ */ __toESM(require_clone(), 1);
|
|
87344
87435
|
var import_tiny_inflate = /* @__PURE__ */ __toESM(require_tiny_inflate(), 1);
|
|
@@ -98538,7 +98629,7 @@ $d636bc798e7178db$export$36b2f24e97d43be($21ee218f84ac7f32$export$2e2bcd8739ae03
|
|
|
98538
98629
|
$d636bc798e7178db$export$36b2f24e97d43be($cd5853a56c68fec7$export$2e2bcd8739ae039);
|
|
98539
98630
|
$d636bc798e7178db$export$36b2f24e97d43be($05f49f930186144e$export$2e2bcd8739ae039);
|
|
98540
98631
|
//#endregion
|
|
98541
|
-
//#region ../schemas/dist/helper-
|
|
98632
|
+
//#region ../schemas/dist/helper-CBd9plP_.js
|
|
98542
98633
|
var ALIGN_LEFT = "left";
|
|
98543
98634
|
var ALIGN_CENTER = "center";
|
|
98544
98635
|
var ALIGN_RIGHT = "right";
|
|
@@ -98551,6 +98642,9 @@ var PLACEHOLDER_FONT_COLOR = "#A0A0A0";
|
|
|
98551
98642
|
var TEXT_FORMAT_PLAIN = "plain";
|
|
98552
98643
|
var TEXT_FORMAT_INLINE_MARKDOWN = "inline-markdown";
|
|
98553
98644
|
var DEFAULT_TEXT_FORMAT = TEXT_FORMAT_PLAIN;
|
|
98645
|
+
var TEXT_OVERFLOW_VISIBLE = "visible";
|
|
98646
|
+
var TEXT_OVERFLOW_EXPAND = "expand";
|
|
98647
|
+
var DEFAULT_TEXT_OVERFLOW = TEXT_OVERFLOW_VISIBLE;
|
|
98554
98648
|
var FONT_VARIANT_FALLBACK_SYNTHETIC = "synthetic";
|
|
98555
98649
|
var FONT_VARIANT_FALLBACK_PLAIN = "plain";
|
|
98556
98650
|
var FONT_VARIANT_FALLBACK_ERROR = "error";
|
|
@@ -98909,7 +99003,578 @@ var filterEndJP = (lines) => {
|
|
|
98909
99003
|
} else return filtered;
|
|
98910
99004
|
};
|
|
98911
99005
|
//#endregion
|
|
98912
|
-
//#region ../schemas/dist/
|
|
99006
|
+
//#region ../schemas/dist/measure-h-7PUE2B.js
|
|
99007
|
+
var MARKDOWN_ESCAPABLE_CHARS = new Set([
|
|
99008
|
+
"\\",
|
|
99009
|
+
"*",
|
|
99010
|
+
"~",
|
|
99011
|
+
"`",
|
|
99012
|
+
"[",
|
|
99013
|
+
"]",
|
|
99014
|
+
"(",
|
|
99015
|
+
")"
|
|
99016
|
+
]);
|
|
99017
|
+
var MARKDOWN_ESCAPE_PATTERN = /[\\*~`[\]()]/g;
|
|
99018
|
+
var MARKDOWN_UNESCAPE_PATTERN = /\\([\\*~`[\]()])/g;
|
|
99019
|
+
var sameStyle = (a, b) => Boolean(a.bold) === Boolean(b.bold) && Boolean(a.italic) === Boolean(b.italic) && Boolean(a.strikethrough) === Boolean(b.strikethrough) && Boolean(a.code) === Boolean(b.code) && a.href === b.href;
|
|
99020
|
+
var appendRun = (runs, text, style) => {
|
|
99021
|
+
if (!text) return;
|
|
99022
|
+
const lastRun = runs.at(-1);
|
|
99023
|
+
if (lastRun && sameStyle(lastRun, style)) {
|
|
99024
|
+
lastRun.text += text;
|
|
99025
|
+
return;
|
|
99026
|
+
}
|
|
99027
|
+
runs.push({
|
|
99028
|
+
text,
|
|
99029
|
+
...style.bold ? { bold: true } : {},
|
|
99030
|
+
...style.italic ? { italic: true } : {},
|
|
99031
|
+
...style.strikethrough ? { strikethrough: true } : {},
|
|
99032
|
+
...style.code ? { code: true } : {},
|
|
99033
|
+
...style.href ? { href: style.href } : {}
|
|
99034
|
+
});
|
|
99035
|
+
};
|
|
99036
|
+
var findClosingDelimiter = (value, delimiter, from) => {
|
|
99037
|
+
for (let i = from; i < value.length; i++) {
|
|
99038
|
+
if (value[i] === "\\") {
|
|
99039
|
+
i += 1;
|
|
99040
|
+
continue;
|
|
99041
|
+
}
|
|
99042
|
+
if (delimiter !== "`" && value[i] === "`") {
|
|
99043
|
+
const codeEnd = findClosingDelimiter(value, "`", i + 1);
|
|
99044
|
+
if (codeEnd === -1) continue;
|
|
99045
|
+
i = codeEnd;
|
|
99046
|
+
continue;
|
|
99047
|
+
}
|
|
99048
|
+
if (value.startsWith(delimiter, i)) return i;
|
|
99049
|
+
}
|
|
99050
|
+
return -1;
|
|
99051
|
+
};
|
|
99052
|
+
var getDelimiter = (value, index) => {
|
|
99053
|
+
if (value[index] === "`") return "`";
|
|
99054
|
+
if (value.startsWith("***", index)) return "***";
|
|
99055
|
+
if (value.startsWith("**", index)) return "**";
|
|
99056
|
+
if (value.startsWith("~~", index)) return "~~";
|
|
99057
|
+
if (value[index] === "*") return "*";
|
|
99058
|
+
return "";
|
|
99059
|
+
};
|
|
99060
|
+
var findLinkLabelEnd = (value, from, to) => {
|
|
99061
|
+
for (let index = from; index < to; index += 1) {
|
|
99062
|
+
if (value[index] === "\\") {
|
|
99063
|
+
index += 1;
|
|
99064
|
+
continue;
|
|
99065
|
+
}
|
|
99066
|
+
if (value[index] === "]") return index;
|
|
99067
|
+
}
|
|
99068
|
+
return -1;
|
|
99069
|
+
};
|
|
99070
|
+
var findLinkDestinationEnd = (value, from, to) => {
|
|
99071
|
+
let depth = 0;
|
|
99072
|
+
for (let index = from; index < to; index += 1) {
|
|
99073
|
+
if (value[index] === "\\") {
|
|
99074
|
+
index += 1;
|
|
99075
|
+
continue;
|
|
99076
|
+
}
|
|
99077
|
+
if (value[index] === "(") {
|
|
99078
|
+
depth += 1;
|
|
99079
|
+
continue;
|
|
99080
|
+
}
|
|
99081
|
+
if (value[index] === ")") {
|
|
99082
|
+
if (depth === 0) return index;
|
|
99083
|
+
depth -= 1;
|
|
99084
|
+
}
|
|
99085
|
+
}
|
|
99086
|
+
return -1;
|
|
99087
|
+
};
|
|
99088
|
+
var parseLinkAt = (value, index, to) => {
|
|
99089
|
+
if (value[index] !== "[") return void 0;
|
|
99090
|
+
const labelEnd = findLinkLabelEnd(value, index + 1, to);
|
|
99091
|
+
if (labelEnd === -1 || value[labelEnd + 1] !== "(") return void 0;
|
|
99092
|
+
const destinationStart = labelEnd + 2;
|
|
99093
|
+
const destinationEnd = findLinkDestinationEnd(value, destinationStart, to);
|
|
99094
|
+
if (destinationEnd === -1) return void 0;
|
|
99095
|
+
const safeHref = normalizeLinkHref(value.slice(destinationStart, destinationEnd).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"));
|
|
99096
|
+
if (!safeHref) return void 0;
|
|
99097
|
+
return {
|
|
99098
|
+
labelStart: index + 1,
|
|
99099
|
+
labelEnd,
|
|
99100
|
+
href: safeHref,
|
|
99101
|
+
end: destinationEnd + 1
|
|
99102
|
+
};
|
|
99103
|
+
};
|
|
99104
|
+
var mergeStyle = (style, delimiter) => {
|
|
99105
|
+
if (delimiter === "***") return {
|
|
99106
|
+
...style,
|
|
99107
|
+
bold: true,
|
|
99108
|
+
italic: true
|
|
99109
|
+
};
|
|
99110
|
+
if (delimiter === "**") return {
|
|
99111
|
+
...style,
|
|
99112
|
+
bold: true
|
|
99113
|
+
};
|
|
99114
|
+
if (delimiter === "*") return {
|
|
99115
|
+
...style,
|
|
99116
|
+
italic: true
|
|
99117
|
+
};
|
|
99118
|
+
if (delimiter === "~~") return {
|
|
99119
|
+
...style,
|
|
99120
|
+
strikethrough: true
|
|
99121
|
+
};
|
|
99122
|
+
return style;
|
|
99123
|
+
};
|
|
99124
|
+
var parseRange = (value, from, to, style) => {
|
|
99125
|
+
const runs = [];
|
|
99126
|
+
let buffer = "";
|
|
99127
|
+
const flush = () => {
|
|
99128
|
+
appendRun(runs, buffer, style);
|
|
99129
|
+
buffer = "";
|
|
99130
|
+
};
|
|
99131
|
+
for (let index = from; index < to; index++) {
|
|
99132
|
+
const char = value[index];
|
|
99133
|
+
if (char === "\\" && index + 1 < to && MARKDOWN_ESCAPABLE_CHARS.has(value[index + 1])) {
|
|
99134
|
+
buffer += value[index + 1];
|
|
99135
|
+
index += 1;
|
|
99136
|
+
continue;
|
|
99137
|
+
}
|
|
99138
|
+
const link = style.href ? void 0 : parseLinkAt(value, index, to);
|
|
99139
|
+
if (link) {
|
|
99140
|
+
flush();
|
|
99141
|
+
parseRange(value, link.labelStart, link.labelEnd, {
|
|
99142
|
+
...style,
|
|
99143
|
+
href: link.href
|
|
99144
|
+
}).forEach((run) => appendRun(runs, run.text, run));
|
|
99145
|
+
index = link.end - 1;
|
|
99146
|
+
continue;
|
|
99147
|
+
}
|
|
99148
|
+
const delimiter = getDelimiter(value, index);
|
|
99149
|
+
if (!delimiter) {
|
|
99150
|
+
buffer += char;
|
|
99151
|
+
continue;
|
|
99152
|
+
}
|
|
99153
|
+
const closingIndex = findClosingDelimiter(value, delimiter, index + delimiter.length);
|
|
99154
|
+
if (closingIndex === -1 || closingIndex + delimiter.length > to) {
|
|
99155
|
+
buffer += char;
|
|
99156
|
+
continue;
|
|
99157
|
+
}
|
|
99158
|
+
flush();
|
|
99159
|
+
if (delimiter === "`") appendRun(runs, value.slice(index + 1, closingIndex).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"), {
|
|
99160
|
+
...style,
|
|
99161
|
+
code: true
|
|
99162
|
+
});
|
|
99163
|
+
else parseRange(value, index + delimiter.length, closingIndex, mergeStyle(style, delimiter)).forEach((run) => appendRun(runs, run.text, run));
|
|
99164
|
+
index = closingIndex + delimiter.length - 1;
|
|
99165
|
+
}
|
|
99166
|
+
flush();
|
|
99167
|
+
return runs;
|
|
99168
|
+
};
|
|
99169
|
+
var parseInlineMarkdown = (value) => {
|
|
99170
|
+
if (!value) return [];
|
|
99171
|
+
return parseRange(value, 0, value.length, {});
|
|
99172
|
+
};
|
|
99173
|
+
var escapeInlineMarkdown = (value) => value.replace(MARKDOWN_ESCAPE_PATTERN, (char) => `\\${char}`);
|
|
99174
|
+
var stripInlineMarkdown = (value) => parseInlineMarkdown(value).map((run) => run.text).join("");
|
|
99175
|
+
var richTextWordSegmenter = new Intl.Segmenter(void 0, { granularity: "word" });
|
|
99176
|
+
var richTextGraphemeSegmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
99177
|
+
var getBaseFontName = (schema, font) => schema.fontName && font[schema.fontName] ? schema.fontName : getFallbackFontName(font);
|
|
99178
|
+
var getLoadedFontName = (font, fontName) => fontName && font[fontName] ? fontName : void 0;
|
|
99179
|
+
var isInlineMarkdownTextSchema = (schema) => schema.textFormat === "inline-markdown" && !(schema.type === "text" && schema.readOnly !== true);
|
|
99180
|
+
var resolveFontVariant = (run, schema, font) => {
|
|
99181
|
+
const baseFontName = getBaseFontName(schema, font);
|
|
99182
|
+
const variants = schema.fontVariants ?? {};
|
|
99183
|
+
const fallback = schema.fontVariantFallback ?? "synthetic";
|
|
99184
|
+
let fontName = baseFontName;
|
|
99185
|
+
let needsBold = Boolean(run.bold);
|
|
99186
|
+
let needsItalic = Boolean(run.italic);
|
|
99187
|
+
if (run.code) fontName = getLoadedFontName(font, variants.code) ?? baseFontName;
|
|
99188
|
+
else if (run.bold && run.italic) {
|
|
99189
|
+
const boldItalic = getLoadedFontName(font, variants.boldItalic);
|
|
99190
|
+
const italic = getLoadedFontName(font, variants.italic);
|
|
99191
|
+
const bold = getLoadedFontName(font, variants.bold);
|
|
99192
|
+
if (boldItalic) {
|
|
99193
|
+
fontName = boldItalic;
|
|
99194
|
+
needsBold = false;
|
|
99195
|
+
needsItalic = false;
|
|
99196
|
+
} else if (italic) {
|
|
99197
|
+
fontName = italic;
|
|
99198
|
+
needsItalic = false;
|
|
99199
|
+
} else if (bold) {
|
|
99200
|
+
fontName = bold;
|
|
99201
|
+
needsBold = false;
|
|
99202
|
+
}
|
|
99203
|
+
} else if (run.bold) {
|
|
99204
|
+
const bold = getLoadedFontName(font, variants.bold);
|
|
99205
|
+
if (bold) {
|
|
99206
|
+
fontName = bold;
|
|
99207
|
+
needsBold = false;
|
|
99208
|
+
}
|
|
99209
|
+
} else if (run.italic) {
|
|
99210
|
+
const italic = getLoadedFontName(font, variants.italic);
|
|
99211
|
+
if (italic) {
|
|
99212
|
+
fontName = italic;
|
|
99213
|
+
needsItalic = false;
|
|
99214
|
+
}
|
|
99215
|
+
}
|
|
99216
|
+
if ((needsBold || needsItalic || run.code && !getLoadedFontName(font, variants.code)) && fallback === "error") throw new Error(`[@pdfme/schemas] Missing font variant for markdown text in field "${schema.name}".`);
|
|
99217
|
+
return {
|
|
99218
|
+
fontName,
|
|
99219
|
+
syntheticBold: fallback !== "plain" && needsBold,
|
|
99220
|
+
syntheticItalic: fallback !== "plain" && needsItalic
|
|
99221
|
+
};
|
|
99222
|
+
};
|
|
99223
|
+
var resolveRichTextRuns = async (arg) => {
|
|
99224
|
+
const { runs, schema, font, _cache } = arg;
|
|
99225
|
+
const fontKitCache = /* @__PURE__ */ new Map();
|
|
99226
|
+
const getResolvedFontKitFont = async (fontName) => {
|
|
99227
|
+
const cached = fontKitCache.get(fontName);
|
|
99228
|
+
if (cached) return cached;
|
|
99229
|
+
const fontKitFont = await getFontKitFont(fontName, font, _cache);
|
|
99230
|
+
fontKitCache.set(fontName, fontKitFont);
|
|
99231
|
+
return fontKitFont;
|
|
99232
|
+
};
|
|
99233
|
+
return Promise.all(runs.map(async (run) => {
|
|
99234
|
+
const resolution = resolveFontVariant(run, schema, font);
|
|
99235
|
+
return {
|
|
99236
|
+
...run,
|
|
99237
|
+
...resolution,
|
|
99238
|
+
fontKitFont: await getResolvedFontKitFont(resolution.fontName)
|
|
99239
|
+
};
|
|
99240
|
+
}));
|
|
99241
|
+
};
|
|
99242
|
+
var measureRunText = (run, text, fontSize, characterSpacing) => {
|
|
99243
|
+
const syntheticBoldWidth = run.syntheticBold ? fontSize * SYNTHETIC_BOLD_OFFSET_RATIO * 2 : 0;
|
|
99244
|
+
const syntheticItalicWidth = run.syntheticItalic ? heightOfFontAtSize(run.fontKitFont, fontSize) * Math.tan(12 * Math.PI / 180) : 0;
|
|
99245
|
+
return widthOfTextAtSize(text, run.fontKitFont, fontSize, characterSpacing) + syntheticBoldWidth + syntheticItalicWidth;
|
|
99246
|
+
};
|
|
99247
|
+
var createLine = () => ({
|
|
99248
|
+
runs: [],
|
|
99249
|
+
width: 0,
|
|
99250
|
+
hardBreak: false
|
|
99251
|
+
});
|
|
99252
|
+
var pushRunToLine = (line, run, text, fontSize, characterSpacing) => {
|
|
99253
|
+
if (!text) return;
|
|
99254
|
+
const width = measureRunText(run, text, fontSize, characterSpacing);
|
|
99255
|
+
if (line.runs.length > 0) line.width += characterSpacing;
|
|
99256
|
+
line.runs.push({
|
|
99257
|
+
...run,
|
|
99258
|
+
text,
|
|
99259
|
+
width
|
|
99260
|
+
});
|
|
99261
|
+
line.width += width;
|
|
99262
|
+
};
|
|
99263
|
+
var measurePiecesWidth = (pieces, fontSize, characterSpacing) => {
|
|
99264
|
+
let width = 0;
|
|
99265
|
+
let hasText = false;
|
|
99266
|
+
pieces.forEach((piece) => {
|
|
99267
|
+
if (!piece.text) return;
|
|
99268
|
+
if (hasText) width += characterSpacing;
|
|
99269
|
+
width += measureRunText(piece.run, piece.text, fontSize, characterSpacing);
|
|
99270
|
+
hasText = true;
|
|
99271
|
+
});
|
|
99272
|
+
return width;
|
|
99273
|
+
};
|
|
99274
|
+
var sliceRunPieces = (pieces, startIndex, endIndex) => {
|
|
99275
|
+
const result = [];
|
|
99276
|
+
let offset = 0;
|
|
99277
|
+
pieces.forEach((piece) => {
|
|
99278
|
+
const pieceStart = offset;
|
|
99279
|
+
const pieceEnd = pieceStart + piece.text.length;
|
|
99280
|
+
const sliceStart = Math.max(startIndex, pieceStart);
|
|
99281
|
+
const sliceEnd = Math.min(endIndex, pieceEnd);
|
|
99282
|
+
if (sliceStart < sliceEnd) result.push({
|
|
99283
|
+
run: piece.run,
|
|
99284
|
+
text: piece.text.slice(sliceStart - pieceStart, sliceEnd - pieceStart)
|
|
99285
|
+
});
|
|
99286
|
+
offset = pieceEnd;
|
|
99287
|
+
});
|
|
99288
|
+
return result;
|
|
99289
|
+
};
|
|
99290
|
+
var segmentRunPiecesByWord = (runs, onSegment, onHardBreak) => {
|
|
99291
|
+
let paragraphPieces = [];
|
|
99292
|
+
const flushParagraph = () => {
|
|
99293
|
+
if (paragraphPieces.length === 0) return;
|
|
99294
|
+
const paragraphText = paragraphPieces.map((piece) => piece.text).join("");
|
|
99295
|
+
Array.from(richTextWordSegmenter.segment(paragraphText), ({ segment, index }) => {
|
|
99296
|
+
const pieces = sliceRunPieces(paragraphPieces, index, index + segment.length);
|
|
99297
|
+
if (pieces.length > 0) onSegment(pieces);
|
|
99298
|
+
});
|
|
99299
|
+
paragraphPieces = [];
|
|
99300
|
+
};
|
|
99301
|
+
runs.forEach((run) => {
|
|
99302
|
+
run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
|
|
99303
|
+
if (part === "\r\n" || part === "\r" || part === "\n") {
|
|
99304
|
+
flushParagraph();
|
|
99305
|
+
onHardBreak();
|
|
99306
|
+
return;
|
|
99307
|
+
}
|
|
99308
|
+
if (part) paragraphPieces.push({
|
|
99309
|
+
run,
|
|
99310
|
+
text: part
|
|
99311
|
+
});
|
|
99312
|
+
});
|
|
99313
|
+
});
|
|
99314
|
+
flushParagraph();
|
|
99315
|
+
};
|
|
99316
|
+
var splitIntoGraphemes = (value) => Array.from(richTextGraphemeSegmenter.segment(value), ({ segment }) => segment);
|
|
99317
|
+
var countRichTextLineGraphemes = (line) => splitIntoGraphemes(line.runs.map((run) => run.text).join("")).length;
|
|
99318
|
+
var layoutRichTextLines = (arg) => {
|
|
99319
|
+
const { runs, fontSize, characterSpacing, boxWidthInPt } = arg;
|
|
99320
|
+
const lines = [];
|
|
99321
|
+
let currentLine = createLine();
|
|
99322
|
+
const pushCurrentLine = (hardBreak) => {
|
|
99323
|
+
currentLine.hardBreak = hardBreak;
|
|
99324
|
+
lines.push(currentLine);
|
|
99325
|
+
currentLine = createLine();
|
|
99326
|
+
};
|
|
99327
|
+
const pushPiecesToLine = (pieces) => {
|
|
99328
|
+
pieces.forEach((piece) => {
|
|
99329
|
+
pushRunToLine(currentLine, piece.run, piece.text, fontSize, characterSpacing);
|
|
99330
|
+
});
|
|
99331
|
+
};
|
|
99332
|
+
const pushOversizedText = (run, text) => {
|
|
99333
|
+
let remainingText = text;
|
|
99334
|
+
while (remainingText.length > 0) {
|
|
99335
|
+
const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
|
|
99336
|
+
const remainingWidth = Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0);
|
|
99337
|
+
const remainingTextWidth = measureRunText(run, remainingText, fontSize, characterSpacing);
|
|
99338
|
+
if (remainingTextWidth <= remainingWidth || currentLine.runs.length === 0 && remainingTextWidth <= boxWidthInPt) {
|
|
99339
|
+
pushRunToLine(currentLine, run, remainingText, fontSize, characterSpacing);
|
|
99340
|
+
return;
|
|
99341
|
+
}
|
|
99342
|
+
if (currentLine.runs.length > 0 && remainingTextWidth <= boxWidthInPt) {
|
|
99343
|
+
pushCurrentLine(false);
|
|
99344
|
+
continue;
|
|
99345
|
+
}
|
|
99346
|
+
const graphemes = splitIntoGraphemes(remainingText);
|
|
99347
|
+
let fittingText = "";
|
|
99348
|
+
let fittingLength = 0;
|
|
99349
|
+
for (const grapheme of graphemes) {
|
|
99350
|
+
const candidate = fittingText + grapheme;
|
|
99351
|
+
const candidateWidth = measureRunText(run, candidate, fontSize, characterSpacing);
|
|
99352
|
+
const maxWidth = currentLine.runs.length === 0 ? boxWidthInPt : remainingWidth;
|
|
99353
|
+
if (candidateWidth > maxWidth) {
|
|
99354
|
+
if (fittingText) break;
|
|
99355
|
+
if (currentLine.runs.length > 0) break;
|
|
99356
|
+
}
|
|
99357
|
+
fittingText = candidate;
|
|
99358
|
+
fittingLength += grapheme.length;
|
|
99359
|
+
if (candidateWidth > maxWidth) break;
|
|
99360
|
+
}
|
|
99361
|
+
if (!fittingText) {
|
|
99362
|
+
pushCurrentLine(false);
|
|
99363
|
+
continue;
|
|
99364
|
+
}
|
|
99365
|
+
pushRunToLine(currentLine, run, fittingText, fontSize, characterSpacing);
|
|
99366
|
+
remainingText = remainingText.slice(fittingLength);
|
|
99367
|
+
if (remainingText.length > 0) pushCurrentLine(false);
|
|
99368
|
+
}
|
|
99369
|
+
};
|
|
99370
|
+
const pushSegment = (pieces) => {
|
|
99371
|
+
const segmentWidth = measurePiecesWidth(pieces, fontSize, characterSpacing);
|
|
99372
|
+
const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
|
|
99373
|
+
if (segmentWidth <= Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0) || currentLine.runs.length === 0 && segmentWidth <= boxWidthInPt) {
|
|
99374
|
+
pushPiecesToLine(pieces);
|
|
99375
|
+
return;
|
|
99376
|
+
}
|
|
99377
|
+
if (currentLine.runs.length > 0) {
|
|
99378
|
+
pushCurrentLine(false);
|
|
99379
|
+
if (segmentWidth <= boxWidthInPt) {
|
|
99380
|
+
pushPiecesToLine(pieces);
|
|
99381
|
+
return;
|
|
99382
|
+
}
|
|
99383
|
+
}
|
|
99384
|
+
pieces.forEach((piece) => pushOversizedText(piece.run, piece.text));
|
|
99385
|
+
};
|
|
99386
|
+
segmentRunPiecesByWord(runs, pushSegment, () => pushCurrentLine(true));
|
|
99387
|
+
if (currentLine.runs.length > 0 || lines.length === 0) pushCurrentLine(false);
|
|
99388
|
+
return lines;
|
|
99389
|
+
};
|
|
99390
|
+
var measureParagraphWidths = (runs, fontSize, characterSpacing) => {
|
|
99391
|
+
const widths = [];
|
|
99392
|
+
let paragraphPieces = [];
|
|
99393
|
+
const pushWidth = () => {
|
|
99394
|
+
widths.push(measurePiecesWidth(paragraphPieces, fontSize, characterSpacing));
|
|
99395
|
+
paragraphPieces = [];
|
|
99396
|
+
};
|
|
99397
|
+
runs.forEach((run) => {
|
|
99398
|
+
run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
|
|
99399
|
+
if (part === "\r\n" || part === "\r" || part === "\n") {
|
|
99400
|
+
pushWidth();
|
|
99401
|
+
return;
|
|
99402
|
+
}
|
|
99403
|
+
if (part) paragraphPieces.push({
|
|
99404
|
+
run,
|
|
99405
|
+
text: part
|
|
99406
|
+
});
|
|
99407
|
+
});
|
|
99408
|
+
});
|
|
99409
|
+
pushWidth();
|
|
99410
|
+
return widths;
|
|
99411
|
+
};
|
|
99412
|
+
var getLineHeightAtSize = (line, fontSize) => {
|
|
99413
|
+
if (line.runs.length === 0) return fontSize;
|
|
99414
|
+
return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
|
|
99415
|
+
};
|
|
99416
|
+
var calculateDynamicRichTextFontSize = async (arg) => {
|
|
99417
|
+
const { value, schema, font, _cache, startingFontSize } = arg;
|
|
99418
|
+
const { fontSize: schemaFontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing: schemaCharacterSpacing, width: boxWidth, height: boxHeight, lineHeight = 1 } = schema;
|
|
99419
|
+
const fontSize = startingFontSize || schemaFontSize || 13;
|
|
99420
|
+
if (!dynamicFontSizeSetting) return fontSize;
|
|
99421
|
+
if (dynamicFontSizeSetting.max < dynamicFontSizeSetting.min) return fontSize;
|
|
99422
|
+
const resolvedRuns = await resolveRichTextRuns({
|
|
99423
|
+
runs: parseInlineMarkdown(value),
|
|
99424
|
+
schema,
|
|
99425
|
+
font,
|
|
99426
|
+
_cache
|
|
99427
|
+
});
|
|
99428
|
+
const characterSpacing = schemaCharacterSpacing ?? 0;
|
|
99429
|
+
const dynamicFontFit = dynamicFontSizeSetting.fit ?? "vertical";
|
|
99430
|
+
const boxWidthInPt = mm2pt(boxWidth);
|
|
99431
|
+
let dynamicFontSize = fontSize;
|
|
99432
|
+
if (dynamicFontSize < dynamicFontSizeSetting.min) dynamicFontSize = dynamicFontSizeSetting.min;
|
|
99433
|
+
else if (dynamicFontSize > dynamicFontSizeSetting.max) dynamicFontSize = dynamicFontSizeSetting.max;
|
|
99434
|
+
const calculateConstraints = (size) => {
|
|
99435
|
+
let totalWidthInMm = 0;
|
|
99436
|
+
let totalHeightInMm = 0;
|
|
99437
|
+
layoutRichTextLines({
|
|
99438
|
+
runs: resolvedRuns,
|
|
99439
|
+
fontSize: size,
|
|
99440
|
+
characterSpacing,
|
|
99441
|
+
boxWidthInPt
|
|
99442
|
+
}).forEach((line, lineIndex) => {
|
|
99443
|
+
if (dynamicFontFit === "vertical") totalWidthInMm = Math.max(totalWidthInMm, pt2mm(line.width));
|
|
99444
|
+
if (lineIndex === 0) totalHeightInMm += pt2mm(getLineHeightAtSize(line, size) * lineHeight);
|
|
99445
|
+
else totalHeightInMm += pt2mm(size * lineHeight);
|
|
99446
|
+
});
|
|
99447
|
+
if (dynamicFontFit === "horizontal") measureParagraphWidths(resolvedRuns, size, characterSpacing).forEach((paragraphWidth) => {
|
|
99448
|
+
totalWidthInMm = Math.max(totalWidthInMm, pt2mm(paragraphWidth));
|
|
99449
|
+
});
|
|
99450
|
+
return {
|
|
99451
|
+
totalWidthInMm,
|
|
99452
|
+
totalHeightInMm
|
|
99453
|
+
};
|
|
99454
|
+
};
|
|
99455
|
+
const shouldFontGrowToFit = (totalWidthInMm, totalHeightInMm) => {
|
|
99456
|
+
if (dynamicFontSize >= dynamicFontSizeSetting.max) return false;
|
|
99457
|
+
if (dynamicFontFit === "horizontal") return totalWidthInMm < boxWidth;
|
|
99458
|
+
return totalHeightInMm < boxHeight;
|
|
99459
|
+
};
|
|
99460
|
+
const shouldFontShrinkToFit = (totalWidthInMm, totalHeightInMm) => {
|
|
99461
|
+
if (dynamicFontSize <= dynamicFontSizeSetting.min || dynamicFontSize <= 0) return false;
|
|
99462
|
+
return totalWidthInMm > boxWidth || totalHeightInMm > boxHeight;
|
|
99463
|
+
};
|
|
99464
|
+
let { totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize);
|
|
99465
|
+
while (shouldFontGrowToFit(totalWidthInMm, totalHeightInMm)) {
|
|
99466
|
+
dynamicFontSize += FONT_SIZE_ADJUSTMENT;
|
|
99467
|
+
const { totalWidthInMm: newWidth, totalHeightInMm: newHeight } = calculateConstraints(dynamicFontSize);
|
|
99468
|
+
if (newHeight < boxHeight) {
|
|
99469
|
+
totalWidthInMm = newWidth;
|
|
99470
|
+
totalHeightInMm = newHeight;
|
|
99471
|
+
} else {
|
|
99472
|
+
dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
|
|
99473
|
+
break;
|
|
99474
|
+
}
|
|
99475
|
+
}
|
|
99476
|
+
while (shouldFontShrinkToFit(totalWidthInMm, totalHeightInMm)) {
|
|
99477
|
+
dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
|
|
99478
|
+
({totalWidthInMm, totalHeightInMm} = calculateConstraints(dynamicFontSize));
|
|
99479
|
+
}
|
|
99480
|
+
return dynamicFontSize;
|
|
99481
|
+
};
|
|
99482
|
+
var applyTextLineRange = (lines, range) => {
|
|
99483
|
+
if (!range) return lines;
|
|
99484
|
+
return lines.slice(range.start, range.end ?? lines.length);
|
|
99485
|
+
};
|
|
99486
|
+
var plainTextLinesToValue = (lines) => lines.map((line) => line.replace(/[\r\n]+$/g, "")).join("\n");
|
|
99487
|
+
var splitReplacementTextToLines = (value) => {
|
|
99488
|
+
const lines = [];
|
|
99489
|
+
let start = 0;
|
|
99490
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
99491
|
+
const charCode = value.charCodeAt(i);
|
|
99492
|
+
if (charCode !== 10 && charCode !== 13) continue;
|
|
99493
|
+
lines.push(value.slice(start, i));
|
|
99494
|
+
if (charCode === 13 && value.charCodeAt(i + 1) === 10) i += 1;
|
|
99495
|
+
start = i + 1;
|
|
99496
|
+
}
|
|
99497
|
+
lines.push(value.slice(start));
|
|
99498
|
+
return lines;
|
|
99499
|
+
};
|
|
99500
|
+
var measureTextLines = async ({ value, schema, font = getDefaultFont(), _cache = /* @__PURE__ */ new Map(), ignoreDynamicFontSize = false }) => {
|
|
99501
|
+
const fontSize = schema.fontSize ?? 13;
|
|
99502
|
+
const lineHeight = schema.lineHeight ?? 1;
|
|
99503
|
+
const characterSpacing = schema.characterSpacing ?? 0;
|
|
99504
|
+
const boxWidthInPt = mm2pt(schema.width);
|
|
99505
|
+
if (isInlineMarkdownTextSchema(schema)) {
|
|
99506
|
+
const resolvedRuns = await resolveRichTextRuns({
|
|
99507
|
+
runs: parseInlineMarkdown(value),
|
|
99508
|
+
schema,
|
|
99509
|
+
font,
|
|
99510
|
+
_cache
|
|
99511
|
+
});
|
|
99512
|
+
const resolvedFontSize = schema.dynamicFontSize && schema.height > 0 && !ignoreDynamicFontSize ? await calculateDynamicRichTextFontSize({
|
|
99513
|
+
value,
|
|
99514
|
+
schema,
|
|
99515
|
+
font,
|
|
99516
|
+
_cache
|
|
99517
|
+
}) : fontSize;
|
|
99518
|
+
const lines = layoutRichTextLines({
|
|
99519
|
+
runs: resolvedRuns,
|
|
99520
|
+
fontSize: resolvedFontSize,
|
|
99521
|
+
characterSpacing,
|
|
99522
|
+
boxWidthInPt
|
|
99523
|
+
});
|
|
99524
|
+
return {
|
|
99525
|
+
lines: lines.map((line) => line.runs.map((run) => run.text).join("")),
|
|
99526
|
+
lineHeights: measureRichTextLineHeights(lines, resolvedFontSize, lineHeight)
|
|
99527
|
+
};
|
|
99528
|
+
}
|
|
99529
|
+
const fontKitFont = await getFontKitFont(schema.fontName, font, _cache);
|
|
99530
|
+
const resolvedFontSize = schema.dynamicFontSize && schema.height > 0 && !ignoreDynamicFontSize ? calculateDynamicFontSize({
|
|
99531
|
+
textSchema: schema,
|
|
99532
|
+
fontKitFont,
|
|
99533
|
+
value
|
|
99534
|
+
}) : fontSize;
|
|
99535
|
+
const lines = splitTextToSize({
|
|
99536
|
+
value,
|
|
99537
|
+
characterSpacing,
|
|
99538
|
+
fontSize: resolvedFontSize,
|
|
99539
|
+
fontKitFont,
|
|
99540
|
+
boxWidthInPt
|
|
99541
|
+
});
|
|
99542
|
+
return {
|
|
99543
|
+
lines,
|
|
99544
|
+
lineHeights: measurePlainTextLineHeights(lines, fontKitFont, resolvedFontSize, lineHeight)
|
|
99545
|
+
};
|
|
99546
|
+
};
|
|
99547
|
+
var mergeTextLineRangeValue = async ({ value, replacement, schema, font = getDefaultFont(), _cache = /* @__PURE__ */ new Map() }) => {
|
|
99548
|
+
if (!schema.__textLineRange) return replacement;
|
|
99549
|
+
const { lines } = await measureTextLines({
|
|
99550
|
+
value,
|
|
99551
|
+
schema,
|
|
99552
|
+
font,
|
|
99553
|
+
_cache,
|
|
99554
|
+
ignoreDynamicFontSize: true
|
|
99555
|
+
});
|
|
99556
|
+
const { start, end = lines.length } = schema.__textLineRange;
|
|
99557
|
+
const nextLines = [...lines];
|
|
99558
|
+
nextLines.splice(start, end - start, ...splitReplacementTextToLines(replacement));
|
|
99559
|
+
return plainTextLinesToValue(nextLines);
|
|
99560
|
+
};
|
|
99561
|
+
var sumLineHeights = (lineHeights) => lineHeights.reduce((sum, height) => sum + height, 0);
|
|
99562
|
+
var measurePlainTextLineHeights = (lines, fontKitFont, fontSize, lineHeight) => {
|
|
99563
|
+
if (lines.length === 0) return [];
|
|
99564
|
+
const firstLineHeight = heightOfFontAtSize(fontKitFont, fontSize) * lineHeight;
|
|
99565
|
+
const otherLineHeight = fontSize * lineHeight;
|
|
99566
|
+
return lines.map((_, index) => pt2mm(index === 0 ? firstLineHeight : otherLineHeight));
|
|
99567
|
+
};
|
|
99568
|
+
var measureRichTextLineHeights = (lines, fontSize, lineHeight) => {
|
|
99569
|
+
if (lines.length === 0) return [];
|
|
99570
|
+
return lines.map((line, index) => pt2mm((index === 0 ? getRichTextLineHeight(line, fontSize) : fontSize) * lineHeight));
|
|
99571
|
+
};
|
|
99572
|
+
var getRichTextLineHeight = (line, fontSize) => {
|
|
99573
|
+
if (line.runs.length === 0) return fontSize;
|
|
99574
|
+
return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
|
|
99575
|
+
};
|
|
99576
|
+
//#endregion
|
|
99577
|
+
//#region ../schemas/dist/dynamicTemplate-CkrZKlg-.js
|
|
98913
99578
|
function _typeof$18(o) {
|
|
98914
99579
|
"@babel/helpers - typeof";
|
|
98915
99580
|
return _typeof$18 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
@@ -99759,480 +100424,7 @@ var Underline = [["path", { d: "M6 4v6a6 6 0 0 0 12 0V4" }], ["line", {
|
|
|
99759
100424
|
y2: "20"
|
|
99760
100425
|
}]];
|
|
99761
100426
|
//#endregion
|
|
99762
|
-
//#region ../schemas/dist/builtins-
|
|
99763
|
-
var MARKDOWN_ESCAPABLE_CHARS = new Set([
|
|
99764
|
-
"\\",
|
|
99765
|
-
"*",
|
|
99766
|
-
"~",
|
|
99767
|
-
"`",
|
|
99768
|
-
"[",
|
|
99769
|
-
"]",
|
|
99770
|
-
"(",
|
|
99771
|
-
")"
|
|
99772
|
-
]);
|
|
99773
|
-
var MARKDOWN_UNESCAPE_PATTERN = /\\([\\*~`[\]()])/g;
|
|
99774
|
-
var sameStyle = (a, b) => Boolean(a.bold) === Boolean(b.bold) && Boolean(a.italic) === Boolean(b.italic) && Boolean(a.strikethrough) === Boolean(b.strikethrough) && Boolean(a.code) === Boolean(b.code) && a.href === b.href;
|
|
99775
|
-
var appendRun = (runs, text, style) => {
|
|
99776
|
-
if (!text) return;
|
|
99777
|
-
const lastRun = runs.at(-1);
|
|
99778
|
-
if (lastRun && sameStyle(lastRun, style)) {
|
|
99779
|
-
lastRun.text += text;
|
|
99780
|
-
return;
|
|
99781
|
-
}
|
|
99782
|
-
runs.push({
|
|
99783
|
-
text,
|
|
99784
|
-
...style.bold ? { bold: true } : {},
|
|
99785
|
-
...style.italic ? { italic: true } : {},
|
|
99786
|
-
...style.strikethrough ? { strikethrough: true } : {},
|
|
99787
|
-
...style.code ? { code: true } : {},
|
|
99788
|
-
...style.href ? { href: style.href } : {}
|
|
99789
|
-
});
|
|
99790
|
-
};
|
|
99791
|
-
var findClosingDelimiter = (value, delimiter, from) => {
|
|
99792
|
-
for (let i = from; i < value.length; i++) {
|
|
99793
|
-
if (value[i] === "\\") {
|
|
99794
|
-
i += 1;
|
|
99795
|
-
continue;
|
|
99796
|
-
}
|
|
99797
|
-
if (delimiter !== "`" && value[i] === "`") {
|
|
99798
|
-
const codeEnd = findClosingDelimiter(value, "`", i + 1);
|
|
99799
|
-
if (codeEnd === -1) continue;
|
|
99800
|
-
i = codeEnd;
|
|
99801
|
-
continue;
|
|
99802
|
-
}
|
|
99803
|
-
if (value.startsWith(delimiter, i)) return i;
|
|
99804
|
-
}
|
|
99805
|
-
return -1;
|
|
99806
|
-
};
|
|
99807
|
-
var getDelimiter = (value, index) => {
|
|
99808
|
-
if (value[index] === "`") return "`";
|
|
99809
|
-
if (value.startsWith("***", index)) return "***";
|
|
99810
|
-
if (value.startsWith("**", index)) return "**";
|
|
99811
|
-
if (value.startsWith("~~", index)) return "~~";
|
|
99812
|
-
if (value[index] === "*") return "*";
|
|
99813
|
-
return "";
|
|
99814
|
-
};
|
|
99815
|
-
var findLinkLabelEnd = (value, from, to) => {
|
|
99816
|
-
for (let index = from; index < to; index += 1) {
|
|
99817
|
-
if (value[index] === "\\") {
|
|
99818
|
-
index += 1;
|
|
99819
|
-
continue;
|
|
99820
|
-
}
|
|
99821
|
-
if (value[index] === "]") return index;
|
|
99822
|
-
}
|
|
99823
|
-
return -1;
|
|
99824
|
-
};
|
|
99825
|
-
var findLinkDestinationEnd = (value, from, to) => {
|
|
99826
|
-
let depth = 0;
|
|
99827
|
-
for (let index = from; index < to; index += 1) {
|
|
99828
|
-
if (value[index] === "\\") {
|
|
99829
|
-
index += 1;
|
|
99830
|
-
continue;
|
|
99831
|
-
}
|
|
99832
|
-
if (value[index] === "(") {
|
|
99833
|
-
depth += 1;
|
|
99834
|
-
continue;
|
|
99835
|
-
}
|
|
99836
|
-
if (value[index] === ")") {
|
|
99837
|
-
if (depth === 0) return index;
|
|
99838
|
-
depth -= 1;
|
|
99839
|
-
}
|
|
99840
|
-
}
|
|
99841
|
-
return -1;
|
|
99842
|
-
};
|
|
99843
|
-
var parseLinkAt = (value, index, to) => {
|
|
99844
|
-
if (value[index] !== "[") return void 0;
|
|
99845
|
-
const labelEnd = findLinkLabelEnd(value, index + 1, to);
|
|
99846
|
-
if (labelEnd === -1 || value[labelEnd + 1] !== "(") return void 0;
|
|
99847
|
-
const destinationStart = labelEnd + 2;
|
|
99848
|
-
const destinationEnd = findLinkDestinationEnd(value, destinationStart, to);
|
|
99849
|
-
if (destinationEnd === -1) return void 0;
|
|
99850
|
-
const safeHref = normalizeLinkHref(value.slice(destinationStart, destinationEnd).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"));
|
|
99851
|
-
if (!safeHref) return void 0;
|
|
99852
|
-
return {
|
|
99853
|
-
labelStart: index + 1,
|
|
99854
|
-
labelEnd,
|
|
99855
|
-
href: safeHref,
|
|
99856
|
-
end: destinationEnd + 1
|
|
99857
|
-
};
|
|
99858
|
-
};
|
|
99859
|
-
var mergeStyle = (style, delimiter) => {
|
|
99860
|
-
if (delimiter === "***") return {
|
|
99861
|
-
...style,
|
|
99862
|
-
bold: true,
|
|
99863
|
-
italic: true
|
|
99864
|
-
};
|
|
99865
|
-
if (delimiter === "**") return {
|
|
99866
|
-
...style,
|
|
99867
|
-
bold: true
|
|
99868
|
-
};
|
|
99869
|
-
if (delimiter === "*") return {
|
|
99870
|
-
...style,
|
|
99871
|
-
italic: true
|
|
99872
|
-
};
|
|
99873
|
-
if (delimiter === "~~") return {
|
|
99874
|
-
...style,
|
|
99875
|
-
strikethrough: true
|
|
99876
|
-
};
|
|
99877
|
-
return style;
|
|
99878
|
-
};
|
|
99879
|
-
var parseRange = (value, from, to, style) => {
|
|
99880
|
-
const runs = [];
|
|
99881
|
-
let buffer = "";
|
|
99882
|
-
const flush = () => {
|
|
99883
|
-
appendRun(runs, buffer, style);
|
|
99884
|
-
buffer = "";
|
|
99885
|
-
};
|
|
99886
|
-
for (let index = from; index < to; index++) {
|
|
99887
|
-
const char = value[index];
|
|
99888
|
-
if (char === "\\" && index + 1 < to && MARKDOWN_ESCAPABLE_CHARS.has(value[index + 1])) {
|
|
99889
|
-
buffer += value[index + 1];
|
|
99890
|
-
index += 1;
|
|
99891
|
-
continue;
|
|
99892
|
-
}
|
|
99893
|
-
const link = style.href ? void 0 : parseLinkAt(value, index, to);
|
|
99894
|
-
if (link) {
|
|
99895
|
-
flush();
|
|
99896
|
-
parseRange(value, link.labelStart, link.labelEnd, {
|
|
99897
|
-
...style,
|
|
99898
|
-
href: link.href
|
|
99899
|
-
}).forEach((run) => appendRun(runs, run.text, run));
|
|
99900
|
-
index = link.end - 1;
|
|
99901
|
-
continue;
|
|
99902
|
-
}
|
|
99903
|
-
const delimiter = getDelimiter(value, index);
|
|
99904
|
-
if (!delimiter) {
|
|
99905
|
-
buffer += char;
|
|
99906
|
-
continue;
|
|
99907
|
-
}
|
|
99908
|
-
const closingIndex = findClosingDelimiter(value, delimiter, index + delimiter.length);
|
|
99909
|
-
if (closingIndex === -1 || closingIndex + delimiter.length > to) {
|
|
99910
|
-
buffer += char;
|
|
99911
|
-
continue;
|
|
99912
|
-
}
|
|
99913
|
-
flush();
|
|
99914
|
-
if (delimiter === "`") appendRun(runs, value.slice(index + 1, closingIndex).replace(MARKDOWN_UNESCAPE_PATTERN, "$1"), {
|
|
99915
|
-
...style,
|
|
99916
|
-
code: true
|
|
99917
|
-
});
|
|
99918
|
-
else parseRange(value, index + delimiter.length, closingIndex, mergeStyle(style, delimiter)).forEach((run) => appendRun(runs, run.text, run));
|
|
99919
|
-
index = closingIndex + delimiter.length - 1;
|
|
99920
|
-
}
|
|
99921
|
-
flush();
|
|
99922
|
-
return runs;
|
|
99923
|
-
};
|
|
99924
|
-
var parseInlineMarkdown = (value) => {
|
|
99925
|
-
if (!value) return [];
|
|
99926
|
-
return parseRange(value, 0, value.length, {});
|
|
99927
|
-
};
|
|
99928
|
-
var stripInlineMarkdown = (value) => parseInlineMarkdown(value).map((run) => run.text).join("");
|
|
99929
|
-
var richTextWordSegmenter = new Intl.Segmenter(void 0, { granularity: "word" });
|
|
99930
|
-
var richTextGraphemeSegmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
99931
|
-
var getBaseFontName = (schema, font) => schema.fontName && font[schema.fontName] ? schema.fontName : getFallbackFontName(font);
|
|
99932
|
-
var getLoadedFontName = (font, fontName) => fontName && font[fontName] ? fontName : void 0;
|
|
99933
|
-
var isInlineMarkdownTextSchema = (schema) => schema.textFormat === "inline-markdown" && !(schema.type === "text" && schema.readOnly !== true);
|
|
99934
|
-
var resolveFontVariant = (run, schema, font) => {
|
|
99935
|
-
const baseFontName = getBaseFontName(schema, font);
|
|
99936
|
-
const variants = schema.fontVariants ?? {};
|
|
99937
|
-
const fallback = schema.fontVariantFallback ?? "synthetic";
|
|
99938
|
-
let fontName = baseFontName;
|
|
99939
|
-
let needsBold = Boolean(run.bold);
|
|
99940
|
-
let needsItalic = Boolean(run.italic);
|
|
99941
|
-
if (run.code) fontName = getLoadedFontName(font, variants.code) ?? baseFontName;
|
|
99942
|
-
else if (run.bold && run.italic) {
|
|
99943
|
-
const boldItalic = getLoadedFontName(font, variants.boldItalic);
|
|
99944
|
-
const italic = getLoadedFontName(font, variants.italic);
|
|
99945
|
-
const bold = getLoadedFontName(font, variants.bold);
|
|
99946
|
-
if (boldItalic) {
|
|
99947
|
-
fontName = boldItalic;
|
|
99948
|
-
needsBold = false;
|
|
99949
|
-
needsItalic = false;
|
|
99950
|
-
} else if (italic) {
|
|
99951
|
-
fontName = italic;
|
|
99952
|
-
needsItalic = false;
|
|
99953
|
-
} else if (bold) {
|
|
99954
|
-
fontName = bold;
|
|
99955
|
-
needsBold = false;
|
|
99956
|
-
}
|
|
99957
|
-
} else if (run.bold) {
|
|
99958
|
-
const bold = getLoadedFontName(font, variants.bold);
|
|
99959
|
-
if (bold) {
|
|
99960
|
-
fontName = bold;
|
|
99961
|
-
needsBold = false;
|
|
99962
|
-
}
|
|
99963
|
-
} else if (run.italic) {
|
|
99964
|
-
const italic = getLoadedFontName(font, variants.italic);
|
|
99965
|
-
if (italic) {
|
|
99966
|
-
fontName = italic;
|
|
99967
|
-
needsItalic = false;
|
|
99968
|
-
}
|
|
99969
|
-
}
|
|
99970
|
-
if ((needsBold || needsItalic || run.code && !getLoadedFontName(font, variants.code)) && fallback === "error") throw new Error(`[@pdfme/schemas] Missing font variant for markdown text in field "${schema.name}".`);
|
|
99971
|
-
return {
|
|
99972
|
-
fontName,
|
|
99973
|
-
syntheticBold: fallback !== "plain" && needsBold,
|
|
99974
|
-
syntheticItalic: fallback !== "plain" && needsItalic
|
|
99975
|
-
};
|
|
99976
|
-
};
|
|
99977
|
-
var resolveRichTextRuns = async (arg) => {
|
|
99978
|
-
const { runs, schema, font, _cache } = arg;
|
|
99979
|
-
const fontKitCache = /* @__PURE__ */ new Map();
|
|
99980
|
-
const getResolvedFontKitFont = async (fontName) => {
|
|
99981
|
-
const cached = fontKitCache.get(fontName);
|
|
99982
|
-
if (cached) return cached;
|
|
99983
|
-
const fontKitFont = await getFontKitFont(fontName, font, _cache);
|
|
99984
|
-
fontKitCache.set(fontName, fontKitFont);
|
|
99985
|
-
return fontKitFont;
|
|
99986
|
-
};
|
|
99987
|
-
return Promise.all(runs.map(async (run) => {
|
|
99988
|
-
const resolution = resolveFontVariant(run, schema, font);
|
|
99989
|
-
return {
|
|
99990
|
-
...run,
|
|
99991
|
-
...resolution,
|
|
99992
|
-
fontKitFont: await getResolvedFontKitFont(resolution.fontName)
|
|
99993
|
-
};
|
|
99994
|
-
}));
|
|
99995
|
-
};
|
|
99996
|
-
var measureRunText = (run, text, fontSize, characterSpacing) => {
|
|
99997
|
-
const syntheticBoldWidth = run.syntheticBold ? fontSize * SYNTHETIC_BOLD_OFFSET_RATIO * 2 : 0;
|
|
99998
|
-
const syntheticItalicWidth = run.syntheticItalic ? heightOfFontAtSize(run.fontKitFont, fontSize) * Math.tan(12 * Math.PI / 180) : 0;
|
|
99999
|
-
return widthOfTextAtSize(text, run.fontKitFont, fontSize, characterSpacing) + syntheticBoldWidth + syntheticItalicWidth;
|
|
100000
|
-
};
|
|
100001
|
-
var createLine = () => ({
|
|
100002
|
-
runs: [],
|
|
100003
|
-
width: 0,
|
|
100004
|
-
hardBreak: false
|
|
100005
|
-
});
|
|
100006
|
-
var pushRunToLine = (line, run, text, fontSize, characterSpacing) => {
|
|
100007
|
-
if (!text) return;
|
|
100008
|
-
const width = measureRunText(run, text, fontSize, characterSpacing);
|
|
100009
|
-
if (line.runs.length > 0) line.width += characterSpacing;
|
|
100010
|
-
line.runs.push({
|
|
100011
|
-
...run,
|
|
100012
|
-
text,
|
|
100013
|
-
width
|
|
100014
|
-
});
|
|
100015
|
-
line.width += width;
|
|
100016
|
-
};
|
|
100017
|
-
var measurePiecesWidth = (pieces, fontSize, characterSpacing) => {
|
|
100018
|
-
let width = 0;
|
|
100019
|
-
let hasText = false;
|
|
100020
|
-
pieces.forEach((piece) => {
|
|
100021
|
-
if (!piece.text) return;
|
|
100022
|
-
if (hasText) width += characterSpacing;
|
|
100023
|
-
width += measureRunText(piece.run, piece.text, fontSize, characterSpacing);
|
|
100024
|
-
hasText = true;
|
|
100025
|
-
});
|
|
100026
|
-
return width;
|
|
100027
|
-
};
|
|
100028
|
-
var sliceRunPieces = (pieces, startIndex, endIndex) => {
|
|
100029
|
-
const result = [];
|
|
100030
|
-
let offset = 0;
|
|
100031
|
-
pieces.forEach((piece) => {
|
|
100032
|
-
const pieceStart = offset;
|
|
100033
|
-
const pieceEnd = pieceStart + piece.text.length;
|
|
100034
|
-
const sliceStart = Math.max(startIndex, pieceStart);
|
|
100035
|
-
const sliceEnd = Math.min(endIndex, pieceEnd);
|
|
100036
|
-
if (sliceStart < sliceEnd) result.push({
|
|
100037
|
-
run: piece.run,
|
|
100038
|
-
text: piece.text.slice(sliceStart - pieceStart, sliceEnd - pieceStart)
|
|
100039
|
-
});
|
|
100040
|
-
offset = pieceEnd;
|
|
100041
|
-
});
|
|
100042
|
-
return result;
|
|
100043
|
-
};
|
|
100044
|
-
var segmentRunPiecesByWord = (runs, onSegment, onHardBreak) => {
|
|
100045
|
-
let paragraphPieces = [];
|
|
100046
|
-
const flushParagraph = () => {
|
|
100047
|
-
if (paragraphPieces.length === 0) return;
|
|
100048
|
-
const paragraphText = paragraphPieces.map((piece) => piece.text).join("");
|
|
100049
|
-
Array.from(richTextWordSegmenter.segment(paragraphText), ({ segment, index }) => {
|
|
100050
|
-
const pieces = sliceRunPieces(paragraphPieces, index, index + segment.length);
|
|
100051
|
-
if (pieces.length > 0) onSegment(pieces);
|
|
100052
|
-
});
|
|
100053
|
-
paragraphPieces = [];
|
|
100054
|
-
};
|
|
100055
|
-
runs.forEach((run) => {
|
|
100056
|
-
run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
|
|
100057
|
-
if (part === "\r\n" || part === "\r" || part === "\n") {
|
|
100058
|
-
flushParagraph();
|
|
100059
|
-
onHardBreak();
|
|
100060
|
-
return;
|
|
100061
|
-
}
|
|
100062
|
-
if (part) paragraphPieces.push({
|
|
100063
|
-
run,
|
|
100064
|
-
text: part
|
|
100065
|
-
});
|
|
100066
|
-
});
|
|
100067
|
-
});
|
|
100068
|
-
flushParagraph();
|
|
100069
|
-
};
|
|
100070
|
-
var splitIntoGraphemes = (value) => Array.from(richTextGraphemeSegmenter.segment(value), ({ segment }) => segment);
|
|
100071
|
-
var countRichTextLineGraphemes = (line) => splitIntoGraphemes(line.runs.map((run) => run.text).join("")).length;
|
|
100072
|
-
var layoutRichTextLines = (arg) => {
|
|
100073
|
-
const { runs, fontSize, characterSpacing, boxWidthInPt } = arg;
|
|
100074
|
-
const lines = [];
|
|
100075
|
-
let currentLine = createLine();
|
|
100076
|
-
const pushCurrentLine = (hardBreak) => {
|
|
100077
|
-
currentLine.hardBreak = hardBreak;
|
|
100078
|
-
lines.push(currentLine);
|
|
100079
|
-
currentLine = createLine();
|
|
100080
|
-
};
|
|
100081
|
-
const pushPiecesToLine = (pieces) => {
|
|
100082
|
-
pieces.forEach((piece) => {
|
|
100083
|
-
pushRunToLine(currentLine, piece.run, piece.text, fontSize, characterSpacing);
|
|
100084
|
-
});
|
|
100085
|
-
};
|
|
100086
|
-
const pushOversizedText = (run, text) => {
|
|
100087
|
-
let remainingText = text;
|
|
100088
|
-
while (remainingText.length > 0) {
|
|
100089
|
-
const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
|
|
100090
|
-
const remainingWidth = Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0);
|
|
100091
|
-
const remainingTextWidth = measureRunText(run, remainingText, fontSize, characterSpacing);
|
|
100092
|
-
if (remainingTextWidth <= remainingWidth || currentLine.runs.length === 0 && remainingTextWidth <= boxWidthInPt) {
|
|
100093
|
-
pushRunToLine(currentLine, run, remainingText, fontSize, characterSpacing);
|
|
100094
|
-
return;
|
|
100095
|
-
}
|
|
100096
|
-
if (currentLine.runs.length > 0 && remainingTextWidth <= boxWidthInPt) {
|
|
100097
|
-
pushCurrentLine(false);
|
|
100098
|
-
continue;
|
|
100099
|
-
}
|
|
100100
|
-
const graphemes = splitIntoGraphemes(remainingText);
|
|
100101
|
-
let fittingText = "";
|
|
100102
|
-
let fittingLength = 0;
|
|
100103
|
-
for (const grapheme of graphemes) {
|
|
100104
|
-
const candidate = fittingText + grapheme;
|
|
100105
|
-
const candidateWidth = measureRunText(run, candidate, fontSize, characterSpacing);
|
|
100106
|
-
const maxWidth = currentLine.runs.length === 0 ? boxWidthInPt : remainingWidth;
|
|
100107
|
-
if (candidateWidth > maxWidth) {
|
|
100108
|
-
if (fittingText) break;
|
|
100109
|
-
if (currentLine.runs.length > 0) break;
|
|
100110
|
-
}
|
|
100111
|
-
fittingText = candidate;
|
|
100112
|
-
fittingLength += grapheme.length;
|
|
100113
|
-
if (candidateWidth > maxWidth) break;
|
|
100114
|
-
}
|
|
100115
|
-
if (!fittingText) {
|
|
100116
|
-
pushCurrentLine(false);
|
|
100117
|
-
continue;
|
|
100118
|
-
}
|
|
100119
|
-
pushRunToLine(currentLine, run, fittingText, fontSize, characterSpacing);
|
|
100120
|
-
remainingText = remainingText.slice(fittingLength);
|
|
100121
|
-
if (remainingText.length > 0) pushCurrentLine(false);
|
|
100122
|
-
}
|
|
100123
|
-
};
|
|
100124
|
-
const pushSegment = (pieces) => {
|
|
100125
|
-
const segmentWidth = measurePiecesWidth(pieces, fontSize, characterSpacing);
|
|
100126
|
-
const pendingSpacing = currentLine.runs.length > 0 ? characterSpacing : 0;
|
|
100127
|
-
if (segmentWidth <= Math.max(boxWidthInPt - currentLine.width - pendingSpacing, 0) || currentLine.runs.length === 0 && segmentWidth <= boxWidthInPt) {
|
|
100128
|
-
pushPiecesToLine(pieces);
|
|
100129
|
-
return;
|
|
100130
|
-
}
|
|
100131
|
-
if (currentLine.runs.length > 0) {
|
|
100132
|
-
pushCurrentLine(false);
|
|
100133
|
-
if (segmentWidth <= boxWidthInPt) {
|
|
100134
|
-
pushPiecesToLine(pieces);
|
|
100135
|
-
return;
|
|
100136
|
-
}
|
|
100137
|
-
}
|
|
100138
|
-
pieces.forEach((piece) => pushOversizedText(piece.run, piece.text));
|
|
100139
|
-
};
|
|
100140
|
-
segmentRunPiecesByWord(runs, pushSegment, () => pushCurrentLine(true));
|
|
100141
|
-
if (currentLine.runs.length > 0 || lines.length === 0) pushCurrentLine(false);
|
|
100142
|
-
return lines;
|
|
100143
|
-
};
|
|
100144
|
-
var measureParagraphWidths = (runs, fontSize, characterSpacing) => {
|
|
100145
|
-
const widths = [];
|
|
100146
|
-
let paragraphPieces = [];
|
|
100147
|
-
const pushWidth = () => {
|
|
100148
|
-
widths.push(measurePiecesWidth(paragraphPieces, fontSize, characterSpacing));
|
|
100149
|
-
paragraphPieces = [];
|
|
100150
|
-
};
|
|
100151
|
-
runs.forEach((run) => {
|
|
100152
|
-
run.text.split(/(\r\n|\r|\n)/).forEach((part) => {
|
|
100153
|
-
if (part === "\r\n" || part === "\r" || part === "\n") {
|
|
100154
|
-
pushWidth();
|
|
100155
|
-
return;
|
|
100156
|
-
}
|
|
100157
|
-
if (part) paragraphPieces.push({
|
|
100158
|
-
run,
|
|
100159
|
-
text: part
|
|
100160
|
-
});
|
|
100161
|
-
});
|
|
100162
|
-
});
|
|
100163
|
-
pushWidth();
|
|
100164
|
-
return widths;
|
|
100165
|
-
};
|
|
100166
|
-
var getLineHeightAtSize = (line, fontSize) => {
|
|
100167
|
-
if (line.runs.length === 0) return fontSize;
|
|
100168
|
-
return Math.max(...line.runs.map((run) => heightOfFontAtSize(run.fontKitFont, fontSize)));
|
|
100169
|
-
};
|
|
100170
|
-
var calculateDynamicRichTextFontSize = async (arg) => {
|
|
100171
|
-
const { value, schema, font, _cache, startingFontSize } = arg;
|
|
100172
|
-
const { fontSize: schemaFontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing: schemaCharacterSpacing, width: boxWidth, height: boxHeight, lineHeight = 1 } = schema;
|
|
100173
|
-
const fontSize = startingFontSize || schemaFontSize || 13;
|
|
100174
|
-
if (!dynamicFontSizeSetting) return fontSize;
|
|
100175
|
-
if (dynamicFontSizeSetting.max < dynamicFontSizeSetting.min) return fontSize;
|
|
100176
|
-
const resolvedRuns = await resolveRichTextRuns({
|
|
100177
|
-
runs: parseInlineMarkdown(value),
|
|
100178
|
-
schema,
|
|
100179
|
-
font,
|
|
100180
|
-
_cache
|
|
100181
|
-
});
|
|
100182
|
-
const characterSpacing = schemaCharacterSpacing ?? 0;
|
|
100183
|
-
const dynamicFontFit = dynamicFontSizeSetting.fit ?? "vertical";
|
|
100184
|
-
const boxWidthInPt = mm2pt(boxWidth);
|
|
100185
|
-
let dynamicFontSize = fontSize;
|
|
100186
|
-
if (dynamicFontSize < dynamicFontSizeSetting.min) dynamicFontSize = dynamicFontSizeSetting.min;
|
|
100187
|
-
else if (dynamicFontSize > dynamicFontSizeSetting.max) dynamicFontSize = dynamicFontSizeSetting.max;
|
|
100188
|
-
const calculateConstraints = (size) => {
|
|
100189
|
-
let totalWidthInMm = 0;
|
|
100190
|
-
let totalHeightInMm = 0;
|
|
100191
|
-
layoutRichTextLines({
|
|
100192
|
-
runs: resolvedRuns,
|
|
100193
|
-
fontSize: size,
|
|
100194
|
-
characterSpacing,
|
|
100195
|
-
boxWidthInPt
|
|
100196
|
-
}).forEach((line, lineIndex) => {
|
|
100197
|
-
if (dynamicFontFit === "vertical") totalWidthInMm = Math.max(totalWidthInMm, pt2mm(line.width));
|
|
100198
|
-
if (lineIndex === 0) totalHeightInMm += pt2mm(getLineHeightAtSize(line, size) * lineHeight);
|
|
100199
|
-
else totalHeightInMm += pt2mm(size * lineHeight);
|
|
100200
|
-
});
|
|
100201
|
-
if (dynamicFontFit === "horizontal") measureParagraphWidths(resolvedRuns, size, characterSpacing).forEach((paragraphWidth) => {
|
|
100202
|
-
totalWidthInMm = Math.max(totalWidthInMm, pt2mm(paragraphWidth));
|
|
100203
|
-
});
|
|
100204
|
-
return {
|
|
100205
|
-
totalWidthInMm,
|
|
100206
|
-
totalHeightInMm
|
|
100207
|
-
};
|
|
100208
|
-
};
|
|
100209
|
-
const shouldFontGrowToFit = (totalWidthInMm, totalHeightInMm) => {
|
|
100210
|
-
if (dynamicFontSize >= dynamicFontSizeSetting.max) return false;
|
|
100211
|
-
if (dynamicFontFit === "horizontal") return totalWidthInMm < boxWidth;
|
|
100212
|
-
return totalHeightInMm < boxHeight;
|
|
100213
|
-
};
|
|
100214
|
-
const shouldFontShrinkToFit = (totalWidthInMm, totalHeightInMm) => {
|
|
100215
|
-
if (dynamicFontSize <= dynamicFontSizeSetting.min || dynamicFontSize <= 0) return false;
|
|
100216
|
-
return totalWidthInMm > boxWidth || totalHeightInMm > boxHeight;
|
|
100217
|
-
};
|
|
100218
|
-
let { totalWidthInMm, totalHeightInMm } = calculateConstraints(dynamicFontSize);
|
|
100219
|
-
while (shouldFontGrowToFit(totalWidthInMm, totalHeightInMm)) {
|
|
100220
|
-
dynamicFontSize += FONT_SIZE_ADJUSTMENT;
|
|
100221
|
-
const { totalWidthInMm: newWidth, totalHeightInMm: newHeight } = calculateConstraints(dynamicFontSize);
|
|
100222
|
-
if (newHeight < boxHeight) {
|
|
100223
|
-
totalWidthInMm = newWidth;
|
|
100224
|
-
totalHeightInMm = newHeight;
|
|
100225
|
-
} else {
|
|
100226
|
-
dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
|
|
100227
|
-
break;
|
|
100228
|
-
}
|
|
100229
|
-
}
|
|
100230
|
-
while (shouldFontShrinkToFit(totalWidthInMm, totalHeightInMm)) {
|
|
100231
|
-
dynamicFontSize -= FONT_SIZE_ADJUSTMENT;
|
|
100232
|
-
({totalWidthInMm, totalHeightInMm} = calculateConstraints(dynamicFontSize));
|
|
100233
|
-
}
|
|
100234
|
-
return dynamicFontSize;
|
|
100235
|
-
};
|
|
100427
|
+
//#region ../schemas/dist/builtins-pN5NVCSV.js
|
|
100236
100428
|
var addUriLinkAnnotation = (arg) => {
|
|
100237
100429
|
const { pdfDoc, page, uri, rect, borderWidth = 0 } = arg;
|
|
100238
100430
|
const safeUri = normalizeSafeLinkUri(uri);
|
|
@@ -100414,7 +100606,7 @@ var drawRun = (arg) => {
|
|
|
100414
100606
|
};
|
|
100415
100607
|
var renderInlineMarkdownText = async (arg) => {
|
|
100416
100608
|
const { value, schema, font, embedPdfFont, fontKitFont, pdfDoc, page, pdfLib, _cache, colorType, fontSize, color, alignment, verticalAlignment, lineHeight, characterSpacing, x, width, height, pageHeight, pivotPoint, rotate, opacity } = arg;
|
|
100417
|
-
const
|
|
100609
|
+
const allLines = layoutRichTextLines({
|
|
100418
100610
|
runs: await resolveRichTextRuns({
|
|
100419
100611
|
runs: parseInlineMarkdown(value),
|
|
100420
100612
|
schema,
|
|
@@ -100425,6 +100617,8 @@ var renderInlineMarkdownText = async (arg) => {
|
|
|
100425
100617
|
characterSpacing,
|
|
100426
100618
|
boxWidthInPt: width
|
|
100427
100619
|
});
|
|
100620
|
+
const lines = applyTextLineRange(allLines, schema.__textLineRange);
|
|
100621
|
+
const lineRangeStart = schema.__textLineRange?.start ?? 0;
|
|
100428
100622
|
const pdfFontObj = await embedFontsForRuns(lines.flatMap((line) => line.runs), embedPdfFont);
|
|
100429
100623
|
const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
|
|
100430
100624
|
const descent = getFontDescentInPt(fontKitFont, fontSize);
|
|
@@ -100440,7 +100634,7 @@ var renderInlineMarkdownText = async (arg) => {
|
|
|
100440
100634
|
if (line.runs.length === 0) return;
|
|
100441
100635
|
let textWidth = line.width;
|
|
100442
100636
|
let spacing = characterSpacing;
|
|
100443
|
-
if (alignment === "justify" && !line.hardBreak && rowIndex <
|
|
100637
|
+
if (alignment === "justify" && !line.hardBreak && lineRangeStart + rowIndex < allLines.length - 1) {
|
|
100444
100638
|
const graphemeCount = countRichTextLineGraphemes(line);
|
|
100445
100639
|
if (graphemeCount > 0) {
|
|
100446
100640
|
spacing += (width - textWidth) / graphemeCount;
|
|
@@ -100525,6 +100719,8 @@ var renderInlineMarkdownText = async (arg) => {
|
|
|
100525
100719
|
}, xLine);
|
|
100526
100720
|
});
|
|
100527
100721
|
};
|
|
100722
|
+
var isTextOverflowExpand = (schema) => schema.overflow === TEXT_OVERFLOW_EXPAND;
|
|
100723
|
+
var shouldUseDynamicFontSize = (schema) => Boolean(schema.dynamicFontSize) && !isTextOverflowExpand(schema);
|
|
100528
100724
|
var PDF_FONT_CACHE_KEY = "text-pdf-font-cache";
|
|
100529
100725
|
var getPdfFontCache = (_cache) => {
|
|
100530
100726
|
let pdfFontCache = _cache.get(PDF_FONT_CACHE_KEY);
|
|
@@ -100550,7 +100746,7 @@ var embedAndGetFont = (arg) => {
|
|
|
100550
100746
|
return pdfFontPromise;
|
|
100551
100747
|
};
|
|
100552
100748
|
var getFontProp = ({ value, fontKitFont, schema, colorType, fontSize: resolvedFontSize }) => {
|
|
100553
|
-
const fontSize = resolvedFontSize ?? (schema
|
|
100749
|
+
const fontSize = resolvedFontSize ?? (shouldUseDynamicFontSize(schema) ? calculateDynamicFontSize({
|
|
100554
100750
|
textSchema: schema,
|
|
100555
100751
|
fontKitFont,
|
|
100556
100752
|
value
|
|
@@ -100588,7 +100784,7 @@ var pdfRender = async (arg) => {
|
|
|
100588
100784
|
fontKitFont,
|
|
100589
100785
|
schema,
|
|
100590
100786
|
colorType,
|
|
100591
|
-
fontSize: enableInlineMarkdown && schema
|
|
100787
|
+
fontSize: enableInlineMarkdown && shouldUseDynamicFontSize(schema) ? await calculateDynamicRichTextFontSize({
|
|
100592
100788
|
value,
|
|
100593
100789
|
schema,
|
|
100594
100790
|
font,
|
|
@@ -100667,13 +100863,13 @@ var pdfRender = async (arg) => {
|
|
|
100667
100863
|
const firstLineTextHeight = heightOfFontAtSize(fontKitFont, fontSize);
|
|
100668
100864
|
const descent = getFontDescentInPt(fontKitFont, fontSize);
|
|
100669
100865
|
const halfLineHeightAdjustment = lineHeight === 0 ? 0 : (lineHeight - 1) * fontSize / 2;
|
|
100670
|
-
const lines = splitTextToSize({
|
|
100866
|
+
const lines = applyTextLineRange(splitTextToSize({
|
|
100671
100867
|
value,
|
|
100672
100868
|
characterSpacing,
|
|
100673
100869
|
fontSize,
|
|
100674
100870
|
fontKitFont,
|
|
100675
100871
|
boxWidthInPt: width
|
|
100676
|
-
});
|
|
100872
|
+
}), schema.__textLineRange);
|
|
100677
100873
|
const needsTextWidth = alignment !== "left" || Boolean(schema.strikethrough || schema.underline);
|
|
100678
100874
|
const needsTextHeight = Boolean(schema.strikethrough || schema.underline);
|
|
100679
100875
|
let yOffset = 0;
|
|
@@ -100834,9 +101030,11 @@ function getExtraFormatterSchema(i18n) {
|
|
|
100834
101030
|
}
|
|
100835
101031
|
var UseDynamicFontSize = (props) => {
|
|
100836
101032
|
const { rootElement, changeSchemas, activeSchema, i18n } = props;
|
|
101033
|
+
const isExpand = isTextOverflowExpand(activeSchema);
|
|
100837
101034
|
const checkbox = document.createElement("input");
|
|
100838
101035
|
checkbox.type = "checkbox";
|
|
100839
|
-
checkbox.checked = Boolean(activeSchema?.dynamicFontSize);
|
|
101036
|
+
checkbox.checked = !isExpand && Boolean(activeSchema?.dynamicFontSize);
|
|
101037
|
+
checkbox.disabled = isExpand;
|
|
100840
101038
|
checkbox.onchange = (e) => {
|
|
100841
101039
|
changeSchemas([{
|
|
100842
101040
|
key: "dynamicFontSize",
|
|
@@ -100853,6 +101051,7 @@ var UseDynamicFontSize = (props) => {
|
|
|
100853
101051
|
span.innerText = i18n("schemas.text.dynamicFontSize") || "";
|
|
100854
101052
|
span.style.cssText = "margin-left: 0.5rem";
|
|
100855
101053
|
label.style.cssText = "display: flex; width: 100%;";
|
|
101054
|
+
label.style.opacity = isExpand ? "0.5" : "1";
|
|
100856
101055
|
label.appendChild(checkbox);
|
|
100857
101056
|
label.appendChild(span);
|
|
100858
101057
|
rootElement.appendChild(label);
|
|
@@ -100886,8 +101085,8 @@ var propPanel = {
|
|
|
100886
101085
|
} };
|
|
100887
101086
|
const fontNames = Object.keys(font);
|
|
100888
101087
|
const fallbackFontName = getFallbackFontName(font);
|
|
100889
|
-
const enableDynamicFont = Boolean(activeSchema?.dynamicFontSize);
|
|
100890
101088
|
const activeTextSchema = activeSchema;
|
|
101089
|
+
const enableDynamicFont = !isTextOverflowExpand(activeTextSchema) && Boolean(activeSchema?.dynamicFontSize);
|
|
100891
101090
|
const hideTextFormat = activeTextSchema.type === "text" && activeTextSchema.readOnly !== true;
|
|
100892
101091
|
const enableInlineMarkdown = activeTextSchema.textFormat === "inline-markdown" && !hideTextFormat;
|
|
100893
101092
|
const baseFontName = activeTextSchema.fontName && font[activeTextSchema.fontName] ? activeTextSchema.fontName : fallbackFontName;
|
|
@@ -100937,6 +101136,20 @@ var propPanel = {
|
|
|
100937
101136
|
},
|
|
100938
101137
|
span: 8
|
|
100939
101138
|
},
|
|
101139
|
+
overflow: {
|
|
101140
|
+
title: i18n("schemas.text.overflow"),
|
|
101141
|
+
type: "string",
|
|
101142
|
+
widget: "select",
|
|
101143
|
+
default: DEFAULT_TEXT_OVERFLOW,
|
|
101144
|
+
props: { options: [{
|
|
101145
|
+
label: i18n("schemas.text.overflowVisible"),
|
|
101146
|
+
value: TEXT_OVERFLOW_VISIBLE
|
|
101147
|
+
}, {
|
|
101148
|
+
label: i18n("schemas.text.overflowExpand"),
|
|
101149
|
+
value: TEXT_OVERFLOW_EXPAND
|
|
101150
|
+
}] },
|
|
101151
|
+
span: 8
|
|
101152
|
+
},
|
|
100940
101153
|
useDynamicFontSize: {
|
|
100941
101154
|
type: "boolean",
|
|
100942
101155
|
widget: "UseDynamicFontSize",
|
|
@@ -101080,6 +101293,7 @@ var propPanel = {
|
|
|
101080
101293
|
verticalAlignment: "top",
|
|
101081
101294
|
fontSize: 13,
|
|
101082
101295
|
textFormat: DEFAULT_TEXT_FORMAT,
|
|
101296
|
+
overflow: DEFAULT_TEXT_OVERFLOW,
|
|
101083
101297
|
fontVariantFallback: DEFAULT_FONT_VARIANT_FALLBACK,
|
|
101084
101298
|
lineHeight: 1,
|
|
101085
101299
|
characterSpacing: 0,
|
|
@@ -101110,7 +101324,12 @@ var replaceUnsupportedChars = (text, fontKitFont) => {
|
|
|
101110
101324
|
};
|
|
101111
101325
|
var uiRender = async (arg) => {
|
|
101112
101326
|
const { value, schema, mode, onChange, stopEditing, tabIndex, placeholder, options, _cache } = arg;
|
|
101113
|
-
const
|
|
101327
|
+
const hasInlineMarkdownFormat = schema.textFormat === TEXT_FORMAT_INLINE_MARKDOWN;
|
|
101328
|
+
const enableInlineMarkdown = isInlineMarkdownTextSchema(schema);
|
|
101329
|
+
const isReadOnlySplitInlineMarkdownFormChunk = mode === "form" && Boolean(schema.__textLineRange) && hasInlineMarkdownFormat;
|
|
101330
|
+
const renderInlineMarkdownReadOnlyChunk = enableInlineMarkdown || isReadOnlySplitInlineMarkdownFormChunk;
|
|
101331
|
+
const editable = isEditable(mode, schema) && !isReadOnlySplitInlineMarkdownFormChunk;
|
|
101332
|
+
const usePlaceholder = editable && placeholder && !value;
|
|
101114
101333
|
const getText = (element) => {
|
|
101115
101334
|
let text = element.innerText;
|
|
101116
101335
|
if (text.endsWith("\n")) text = text.slice(0, -1);
|
|
@@ -101118,18 +101337,26 @@ var uiRender = async (arg) => {
|
|
|
101118
101337
|
};
|
|
101119
101338
|
const font = options?.font || getDefaultFont();
|
|
101120
101339
|
const fontKitFont = await getFontKitFont(schema.fontName, font, _cache);
|
|
101121
|
-
const
|
|
101340
|
+
const enableDynamicFontSize = shouldUseDynamicFontSize(schema);
|
|
101122
101341
|
const displayValue = enableInlineMarkdown ? stripInlineMarkdown(value) : value;
|
|
101123
|
-
const dynamicRichTextFontSize = enableInlineMarkdown &&
|
|
101342
|
+
const dynamicRichTextFontSize = enableInlineMarkdown && enableDynamicFontSize ? await calculateDynamicRichTextFontSize({
|
|
101124
101343
|
value: usePlaceholder ? placeholder : value,
|
|
101125
101344
|
schema,
|
|
101126
101345
|
font,
|
|
101127
101346
|
_cache
|
|
101128
101347
|
}) : void 0;
|
|
101129
|
-
const textBlock = buildStyledTextContainer(
|
|
101130
|
-
|
|
101131
|
-
|
|
101132
|
-
|
|
101348
|
+
const textBlock = buildStyledTextContainer(isReadOnlySplitInlineMarkdownFormChunk ? {
|
|
101349
|
+
...arg,
|
|
101350
|
+
mode: "viewer"
|
|
101351
|
+
} : arg, fontKitFont, usePlaceholder ? placeholder : displayValue, dynamicRichTextFontSize);
|
|
101352
|
+
const processedText = replaceUnsupportedChars(getRangedPlainTextValue({
|
|
101353
|
+
value,
|
|
101354
|
+
schema,
|
|
101355
|
+
fontKitFont,
|
|
101356
|
+
fontSize: schema.fontSize ?? 13
|
|
101357
|
+
}), fontKitFont);
|
|
101358
|
+
if (!editable) {
|
|
101359
|
+
if (renderInlineMarkdownReadOnlyChunk) {
|
|
101133
101360
|
await renderInlineMarkdownReadOnly({
|
|
101134
101361
|
textBlock,
|
|
101135
101362
|
value,
|
|
@@ -101155,7 +101382,7 @@ var uiRender = async (arg) => {
|
|
|
101155
101382
|
});
|
|
101156
101383
|
if (stopEditing) stopEditing();
|
|
101157
101384
|
});
|
|
101158
|
-
if (
|
|
101385
|
+
if (enableDynamicFontSize) {
|
|
101159
101386
|
let dynamicFontSize = void 0;
|
|
101160
101387
|
textBlock.addEventListener("keyup", () => {
|
|
101161
101388
|
setTimeout(() => {
|
|
@@ -101204,43 +101431,84 @@ var renderInlineMarkdownReadOnly = async (arg) => {
|
|
|
101204
101431
|
font,
|
|
101205
101432
|
_cache
|
|
101206
101433
|
});
|
|
101434
|
+
if (schema.__textLineRange) {
|
|
101435
|
+
const lines = applyTextLineRange(layoutRichTextLines({
|
|
101436
|
+
runs,
|
|
101437
|
+
fontSize: schema.fontSize ?? 13,
|
|
101438
|
+
characterSpacing: schema.characterSpacing ?? 0,
|
|
101439
|
+
boxWidthInPt: mm2pt(schema.width)
|
|
101440
|
+
}), schema.__textLineRange);
|
|
101441
|
+
textBlock.innerHTML = "";
|
|
101442
|
+
lines.forEach((line, lineIndex) => {
|
|
101443
|
+
line.runs.forEach((run) => {
|
|
101444
|
+
appendInlineMarkdownRun({
|
|
101445
|
+
textBlock,
|
|
101446
|
+
run,
|
|
101447
|
+
schema,
|
|
101448
|
+
font
|
|
101449
|
+
});
|
|
101450
|
+
});
|
|
101451
|
+
if (lineIndex < lines.length - 1) textBlock.appendChild(document.createElement("br"));
|
|
101452
|
+
});
|
|
101453
|
+
return;
|
|
101454
|
+
}
|
|
101207
101455
|
textBlock.innerHTML = "";
|
|
101208
101456
|
runs.forEach((run) => {
|
|
101209
|
-
|
|
101210
|
-
|
|
101211
|
-
|
|
101212
|
-
|
|
101213
|
-
|
|
101214
|
-
|
|
101215
|
-
const anchor = span;
|
|
101216
|
-
anchor.href = href;
|
|
101217
|
-
if (!getInternalLinkTarget(href)) {
|
|
101218
|
-
anchor.target = "_blank";
|
|
101219
|
-
anchor.rel = "noopener noreferrer";
|
|
101220
|
-
}
|
|
101221
|
-
textDecorations.push("underline");
|
|
101222
|
-
}
|
|
101223
|
-
if (run.fontName) span.style.fontFamily = `'${run.fontName}'`;
|
|
101224
|
-
if (run.syntheticBold) {
|
|
101225
|
-
span.style.fontWeight = "800";
|
|
101226
|
-
span.style.textShadow = SYNTHETIC_BOLD_CSS_TEXT_SHADOW;
|
|
101227
|
-
}
|
|
101228
|
-
if (run.syntheticItalic) span.style.fontStyle = "italic";
|
|
101229
|
-
if (run.strikethrough) textDecorations.push("line-through");
|
|
101230
|
-
if (textDecorations.length > 0) span.style.textDecoration = textDecorations.join(" ");
|
|
101231
|
-
if (run.code) {
|
|
101232
|
-
span.style.backgroundColor = CODE_BACKGROUND_COLOR;
|
|
101233
|
-
span.style.borderRadius = "2px";
|
|
101234
|
-
span.style.padding = "0 0.15em";
|
|
101235
|
-
if (!schema.fontVariants?.code || !font[schema.fontVariants.code]) span.style.fontFamily = run.fontName ? `'${run.fontName}', monospace` : "monospace";
|
|
101236
|
-
}
|
|
101237
|
-
textBlock.appendChild(span);
|
|
101457
|
+
appendInlineMarkdownRun({
|
|
101458
|
+
textBlock,
|
|
101459
|
+
run,
|
|
101460
|
+
schema,
|
|
101461
|
+
font
|
|
101462
|
+
});
|
|
101238
101463
|
});
|
|
101239
101464
|
};
|
|
101465
|
+
var appendInlineMarkdownRun = (arg) => {
|
|
101466
|
+
const { textBlock, run, schema, font } = arg;
|
|
101467
|
+
const href = run.href ? normalizeLinkHref(run.href) : void 0;
|
|
101468
|
+
const span = href ? document.createElement("a") : document.createElement("span");
|
|
101469
|
+
const processedText = replaceUnsupportedChars(run.text, run.fontKitFont);
|
|
101470
|
+
const textDecorations = [];
|
|
101471
|
+
span.textContent = processedText;
|
|
101472
|
+
if (href) {
|
|
101473
|
+
const anchor = span;
|
|
101474
|
+
anchor.href = href;
|
|
101475
|
+
if (!getInternalLinkTarget(href)) {
|
|
101476
|
+
anchor.target = "_blank";
|
|
101477
|
+
anchor.rel = "noopener noreferrer";
|
|
101478
|
+
}
|
|
101479
|
+
textDecorations.push("underline");
|
|
101480
|
+
}
|
|
101481
|
+
if (run.fontName) span.style.fontFamily = `'${run.fontName}'`;
|
|
101482
|
+
if (run.syntheticBold) {
|
|
101483
|
+
span.style.fontWeight = "800";
|
|
101484
|
+
span.style.textShadow = SYNTHETIC_BOLD_CSS_TEXT_SHADOW;
|
|
101485
|
+
}
|
|
101486
|
+
if (run.syntheticItalic) span.style.fontStyle = "italic";
|
|
101487
|
+
if (run.strikethrough) textDecorations.push("line-through");
|
|
101488
|
+
if (textDecorations.length > 0) span.style.textDecoration = textDecorations.join(" ");
|
|
101489
|
+
if (run.code) {
|
|
101490
|
+
span.style.backgroundColor = CODE_BACKGROUND_COLOR;
|
|
101491
|
+
span.style.borderRadius = "2px";
|
|
101492
|
+
span.style.padding = "0 0.15em";
|
|
101493
|
+
if (!schema.fontVariants?.code || !font[schema.fontVariants.code]) span.style.fontFamily = run.fontName ? `'${run.fontName}', monospace` : "monospace";
|
|
101494
|
+
}
|
|
101495
|
+
textBlock.appendChild(span);
|
|
101496
|
+
};
|
|
101497
|
+
var getRangedPlainTextValue = (arg) => {
|
|
101498
|
+
const { value, schema, fontKitFont, fontSize } = arg;
|
|
101499
|
+
if (!schema.__textLineRange) return value;
|
|
101500
|
+
return plainTextLinesToValue(applyTextLineRange(splitTextToSize({
|
|
101501
|
+
value,
|
|
101502
|
+
characterSpacing: schema.characterSpacing ?? 0,
|
|
101503
|
+
fontSize,
|
|
101504
|
+
fontKitFont,
|
|
101505
|
+
boxWidthInPt: mm2pt(schema.width)
|
|
101506
|
+
}), schema.__textLineRange));
|
|
101507
|
+
};
|
|
101240
101508
|
var buildStyledTextContainer = (arg, fontKitFont, value, resolvedDynamicFontSize) => {
|
|
101241
101509
|
const { schema, rootElement, mode } = arg;
|
|
101242
101510
|
let dynamicFontSize = resolvedDynamicFontSize;
|
|
101243
|
-
if (dynamicFontSize === void 0 && schema
|
|
101511
|
+
if (dynamicFontSize === void 0 && shouldUseDynamicFontSize(schema) && value) dynamicFontSize = calculateDynamicFontSize({
|
|
101244
101512
|
textSchema: schema,
|
|
101245
101513
|
fontKitFont,
|
|
101246
101514
|
value,
|
|
@@ -213394,6 +213662,105 @@ withProvider(FormCore, { Html: html });
|
|
|
213394
213662
|
//#region ../../node_modules/form-render/es/index.js
|
|
213395
213663
|
var es_default = withProvider(FormCore, widgets_exports);
|
|
213396
213664
|
//#endregion
|
|
213665
|
+
//#region ../schemas/dist/helper-BaUAusvL.js
|
|
213666
|
+
var substituteVariables = (text, variablesIn, valueMapper = (value) => value) => {
|
|
213667
|
+
if (!text) return "";
|
|
213668
|
+
let substitutedText = text;
|
|
213669
|
+
if (variablesIn) {
|
|
213670
|
+
let variables;
|
|
213671
|
+
try {
|
|
213672
|
+
variables = typeof variablesIn === "string" ? JSON.parse(variablesIn || "{}") : variablesIn;
|
|
213673
|
+
} catch {
|
|
213674
|
+
throw new SyntaxError(`[@pdfme/schemas] MVT: invalid JSON string '${variablesIn}'`);
|
|
213675
|
+
}
|
|
213676
|
+
Object.keys(variables).forEach((variableName) => {
|
|
213677
|
+
const variableForRegex = variableName.replace(/[/\-\\^$*+?.()|[\]{}]/g, "\\$&");
|
|
213678
|
+
const regex = new RegExp("\\{" + variableForRegex + "\\}", "g");
|
|
213679
|
+
substitutedText = substitutedText.replace(regex, valueMapper(variables[variableName], variableName));
|
|
213680
|
+
});
|
|
213681
|
+
}
|
|
213682
|
+
substitutedText = substitutedText.replace(/{[^{}]+}/g, "");
|
|
213683
|
+
return substitutedText;
|
|
213684
|
+
};
|
|
213685
|
+
var substituteVariablesAsInlineMarkdownLiterals = (text, variablesIn) => substituteVariables(text, variablesIn, escapeInlineMarkdown);
|
|
213686
|
+
var validateVariables = (value, schema) => {
|
|
213687
|
+
if (schema.variables.length === 0) return true;
|
|
213688
|
+
let values;
|
|
213689
|
+
try {
|
|
213690
|
+
values = value ? JSON.parse(value) : {};
|
|
213691
|
+
} catch {
|
|
213692
|
+
throw new SyntaxError(`[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`);
|
|
213693
|
+
}
|
|
213694
|
+
for (const variable of schema.variables) if (!values[variable]) {
|
|
213695
|
+
if (schema.required) throw new Error(`[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`);
|
|
213696
|
+
return false;
|
|
213697
|
+
}
|
|
213698
|
+
return true;
|
|
213699
|
+
};
|
|
213700
|
+
//#endregion
|
|
213701
|
+
//#region ../schemas/dist/dynamicTemplate-ByBNu75x.js
|
|
213702
|
+
var getDynamicLayoutForMultiVariableText = async (value, args) => {
|
|
213703
|
+
if (args.schema.type !== "multiVariableText") return { heights: [args.schema.height] };
|
|
213704
|
+
const schema = args.schema;
|
|
213705
|
+
if (schema.overflow !== "expand") return { heights: [schema.height] };
|
|
213706
|
+
let renderValue = value;
|
|
213707
|
+
if (!schema.readOnly) {
|
|
213708
|
+
if (!validateVariables(value, schema)) return { heights: [schema.height] };
|
|
213709
|
+
renderValue = isInlineMarkdownTextSchema(schema) ? substituteVariablesAsInlineMarkdownLiterals(schema.text || "", value) : substituteVariables(schema.text || "", value);
|
|
213710
|
+
}
|
|
213711
|
+
const { lineHeights } = await measureTextLines({
|
|
213712
|
+
value: renderValue,
|
|
213713
|
+
schema,
|
|
213714
|
+
font: args.options.font,
|
|
213715
|
+
_cache: args._cache,
|
|
213716
|
+
ignoreDynamicFontSize: true
|
|
213717
|
+
});
|
|
213718
|
+
const measuredHeight = sumLineHeights(lineHeights);
|
|
213719
|
+
if (measuredHeight <= schema.height || lineHeights.length === 0) return {
|
|
213720
|
+
heights: [schema.height],
|
|
213721
|
+
patchSplitSchema: () => ({ dynamicFontSize: void 0 })
|
|
213722
|
+
};
|
|
213723
|
+
return {
|
|
213724
|
+
heights: lineHeights.length === 1 ? [Math.max(schema.height, measuredHeight)] : lineHeights,
|
|
213725
|
+
patchSplitSchema: ({ start, end, isSplit }) => ({
|
|
213726
|
+
dynamicFontSize: void 0,
|
|
213727
|
+
__textLineRange: lineHeights.length === 1 ? void 0 : {
|
|
213728
|
+
start,
|
|
213729
|
+
end
|
|
213730
|
+
},
|
|
213731
|
+
__isSplit: isSplit
|
|
213732
|
+
})
|
|
213733
|
+
};
|
|
213734
|
+
};
|
|
213735
|
+
var getDynamicLayoutForText = async (value, args) => {
|
|
213736
|
+
if (args.schema.type !== "text") return { heights: [args.schema.height] };
|
|
213737
|
+
const schema = args.schema;
|
|
213738
|
+
if (schema.overflow !== "expand") return { heights: [schema.height] };
|
|
213739
|
+
const { lineHeights } = await measureTextLines({
|
|
213740
|
+
value,
|
|
213741
|
+
schema,
|
|
213742
|
+
font: args.options.font,
|
|
213743
|
+
_cache: args._cache,
|
|
213744
|
+
ignoreDynamicFontSize: true
|
|
213745
|
+
});
|
|
213746
|
+
const measuredHeight = sumLineHeights(lineHeights);
|
|
213747
|
+
if (measuredHeight <= schema.height || lineHeights.length === 0) return {
|
|
213748
|
+
heights: [schema.height],
|
|
213749
|
+
patchSplitSchema: () => ({ dynamicFontSize: void 0 })
|
|
213750
|
+
};
|
|
213751
|
+
return {
|
|
213752
|
+
heights: lineHeights.length === 1 ? [Math.max(schema.height, measuredHeight)] : lineHeights,
|
|
213753
|
+
patchSplitSchema: ({ start, end, isSplit }) => ({
|
|
213754
|
+
dynamicFontSize: void 0,
|
|
213755
|
+
__textLineRange: lineHeights.length === 1 ? void 0 : {
|
|
213756
|
+
start,
|
|
213757
|
+
end
|
|
213758
|
+
},
|
|
213759
|
+
__isSplit: isSplit
|
|
213760
|
+
})
|
|
213761
|
+
};
|
|
213762
|
+
};
|
|
213763
|
+
//#endregion
|
|
213397
213764
|
//#region src/components/Designer/RightSidebar/DetailView/AlignWidget.tsx
|
|
213398
213765
|
var AlignWidget = (props) => {
|
|
213399
213766
|
const { activeElements, changeSchemas, schemas, pageSize, schema } = props;
|
|
@@ -213741,6 +214108,11 @@ var DetailView = (props) => {
|
|
|
213741
214108
|
value,
|
|
213742
214109
|
schemaId: activeSchema.id
|
|
213743
214110
|
});
|
|
214111
|
+
if (key === "overflow" && value === "expand" && ["text", "multiVariableText"].includes(activeSchema.type)) changes.push({
|
|
214112
|
+
key: "dynamicFontSize",
|
|
214113
|
+
value: void 0,
|
|
214114
|
+
schemaId: activeSchema.id
|
|
214115
|
+
});
|
|
213744
214116
|
}
|
|
213745
214117
|
}
|
|
213746
214118
|
if (changes.length) form.validateFields().then(() => changeSchemas(changes)).catch((reason) => {
|
|
@@ -235339,7 +235711,7 @@ var Designer = class extends BaseUIClass {
|
|
|
235339
235711
|
}
|
|
235340
235712
|
};
|
|
235341
235713
|
//#endregion
|
|
235342
|
-
//#region ../schemas/dist/
|
|
235714
|
+
//#region ../schemas/dist/dynamicTemplate-Cy07Imb5.js
|
|
235343
235715
|
var normalizeListItems = (value) => {
|
|
235344
235716
|
if (Array.isArray(value)) return value.map((item) => String(item));
|
|
235345
235717
|
if (typeof value !== "string") return value == null ? [] : [String(value)];
|
|
@@ -235438,6 +235810,19 @@ var getDynamicLayoutForList = async (value, args) => {
|
|
|
235438
235810
|
};
|
|
235439
235811
|
};
|
|
235440
235812
|
//#endregion
|
|
235813
|
+
//#region ../schemas/dist/dynamicLayout.js
|
|
235814
|
+
var isExpandableTextSchema = (schema) => (schema.type === "text" || schema.type === "multiVariableText") && schema.overflow === "expand";
|
|
235815
|
+
var isDynamicLayoutSchema = (schema) => schema.type === "table" || schema.type === "list" || isExpandableTextSchema(schema);
|
|
235816
|
+
var getDynamicLayoutForSchema = (value, args) => {
|
|
235817
|
+
switch (args.schema.type) {
|
|
235818
|
+
case "table": return getDynamicLayoutForTable(value, args);
|
|
235819
|
+
case "list": return getDynamicLayoutForList(value, args);
|
|
235820
|
+
case "text": return getDynamicLayoutForText(value, args);
|
|
235821
|
+
case "multiVariableText": return getDynamicLayoutForMultiVariableText(value, args);
|
|
235822
|
+
default: return Promise.resolve([args.schema.height]);
|
|
235823
|
+
}
|
|
235824
|
+
};
|
|
235825
|
+
//#endregion
|
|
235441
235826
|
//#region src/components/UnitPager.tsx
|
|
235442
235827
|
var { Text } = Typography;
|
|
235443
235828
|
var icons = {
|
|
@@ -235612,13 +235997,7 @@ var Preview = ({ template, inputs, size, onChangeInput, onPageChange }) => {
|
|
|
235612
235997
|
input: currentInput,
|
|
235613
235998
|
options,
|
|
235614
235999
|
_cache,
|
|
235615
|
-
getDynamicHeights:
|
|
235616
|
-
switch (args.schema.type) {
|
|
235617
|
-
case "table": return getDynamicLayoutForTable(value, args);
|
|
235618
|
-
case "list": return getDynamicLayoutForList(value, args);
|
|
235619
|
-
default: return Promise.resolve([args.schema.height]);
|
|
235620
|
-
}
|
|
235621
|
-
}
|
|
236000
|
+
getDynamicHeights: getDynamicLayoutForSchema
|
|
235622
236001
|
}).then(async (dynamicTemplate) => {
|
|
235623
236002
|
const sl = await template2SchemasList(dynamicTemplate);
|
|
235624
236003
|
if (!isMountedRef.current || requestId !== initRequestIdRef.current) return;
|
|
@@ -235660,36 +236039,42 @@ var Preview = ({ template, inputs, size, onChangeInput, onPageChange }) => {
|
|
|
235660
236039
|
name,
|
|
235661
236040
|
value
|
|
235662
236041
|
});
|
|
235663
|
-
const handleOnChangeRenderer = (args, schema) => {
|
|
236042
|
+
const handleOnChangeRenderer = async (args, schema) => {
|
|
235664
236043
|
let isNeedInit = false;
|
|
235665
236044
|
let newInputValue;
|
|
235666
|
-
|
|
235667
|
-
|
|
235668
|
-
|
|
235669
|
-
|
|
235670
|
-
|
|
235671
|
-
|
|
235672
|
-
|
|
235673
|
-
|
|
235674
|
-
|
|
235675
|
-
|
|
235676
|
-
|
|
235677
|
-
|
|
235678
|
-
|
|
235679
|
-
|
|
235680
|
-
|
|
235681
|
-
|
|
235682
|
-
|
|
235683
|
-
|
|
235684
|
-
schema: targetSchema,
|
|
235685
|
-
height: value
|
|
235686
|
-
}).forEach(({ key, value, schemaId }) => {
|
|
235687
|
-
const reflowTarget = pageSchemas.find((s) => s.id === schemaId);
|
|
235688
|
-
if (reflowTarget) applySchemaChange(reflowTarget, key, value);
|
|
235689
|
-
});
|
|
235690
|
-
applySchemaChange(targetSchema, _key, value);
|
|
236045
|
+
for (const { key: _key, value } of args) if (_key === "content") {
|
|
236046
|
+
const oldValue = input?.[schema.name] || "";
|
|
236047
|
+
const rawNewValue = value;
|
|
236048
|
+
const newValue = schema.type === "text" && schema.__textLineRange ? await mergeTextLineRangeValue({
|
|
236049
|
+
value: oldValue,
|
|
236050
|
+
replacement: rawNewValue,
|
|
236051
|
+
schema,
|
|
236052
|
+
font,
|
|
236053
|
+
_cache
|
|
236054
|
+
}) : rawNewValue;
|
|
236055
|
+
if (newValue === oldValue) continue;
|
|
236056
|
+
handleChangeInput({
|
|
236057
|
+
name: schema.name,
|
|
236058
|
+
value: newValue
|
|
236059
|
+
});
|
|
236060
|
+
if (isDynamicLayoutSchema(schema)) {
|
|
236061
|
+
isNeedInit = true;
|
|
236062
|
+
newInputValue = newValue;
|
|
235691
236063
|
}
|
|
235692
|
-
}
|
|
236064
|
+
} else {
|
|
236065
|
+
const pageSchemas = schemasList[pageCursor] || [];
|
|
236066
|
+
const targetSchema = pageSchemas.find((s) => s.id === schema.id);
|
|
236067
|
+
if (!targetSchema) continue;
|
|
236068
|
+
if (_key === "height" && isBlankPdf(template.basePdf)) getDynamicHeightReflowChanges({
|
|
236069
|
+
schemas: pageSchemas,
|
|
236070
|
+
schema: targetSchema,
|
|
236071
|
+
height: value
|
|
236072
|
+
}).forEach(({ key, value, schemaId }) => {
|
|
236073
|
+
const reflowTarget = pageSchemas.find((s) => s.id === schemaId);
|
|
236074
|
+
if (reflowTarget) applySchemaChange(reflowTarget, key, value);
|
|
236075
|
+
});
|
|
236076
|
+
applySchemaChange(targetSchema, _key, value);
|
|
236077
|
+
}
|
|
235693
236078
|
if (isNeedInit && newInputValue !== void 0) init(template, {
|
|
235694
236079
|
...input,
|
|
235695
236080
|
[schema.name]: newInputValue
|