office-viewer 0.1.0 → 0.1.4

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.
Files changed (446) hide show
  1. package/README.md +6 -1
  2. package/esm/OpenXML.d.ts +19 -0
  3. package/esm/OpenXML.js +43 -2
  4. package/esm/Word.d.ts +132 -15
  5. package/esm/Word.js +239 -54
  6. package/esm/openxml/ContentType.js +20 -6
  7. package/esm/openxml/Settings.d.ts +10 -0
  8. package/esm/openxml/Settings.js +93 -0
  9. package/esm/openxml/Style.d.ts +1 -1
  10. package/esm/openxml/Style.js +12 -12
  11. package/esm/openxml/Theme.js +30 -6
  12. package/esm/openxml/Types.d.ts +179 -2472
  13. package/esm/openxml/drawing/Blip.d.ts +7 -0
  14. package/esm/openxml/{word/drawing → drawing}/Blip.js +2 -1
  15. package/{lib/openxml/word → esm/openxml}/drawing/BlipFill.d.ts +1 -1
  16. package/esm/openxml/{word/drawing → drawing}/BlipFill.js +1 -1
  17. package/esm/openxml/drawing/CustomGeom.d.ts +9 -0
  18. package/esm/openxml/drawing/CustomGeom.js +17 -0
  19. package/esm/openxml/drawing/Drawing.d.ts +37 -0
  20. package/esm/openxml/drawing/Drawing.js +173 -0
  21. package/esm/openxml/drawing/Geom.d.ts +11 -0
  22. package/esm/openxml/drawing/Geom.js +34 -0
  23. package/esm/openxml/drawing/Path.d.ts +37 -0
  24. package/esm/openxml/drawing/Pic.d.ts +16 -0
  25. package/esm/openxml/drawing/Pic.js +26 -0
  26. package/esm/openxml/drawing/Shape.d.ts +20 -0
  27. package/esm/openxml/drawing/ShapeProperties.d.ts +22 -0
  28. package/esm/openxml/drawing/ShapeProperties.js +119 -0
  29. package/{lib/openxml/word → esm/openxml}/drawing/Transform.d.ts +4 -1
  30. package/esm/openxml/drawing/Transform.js +63 -0
  31. package/esm/openxml/drawing/diagram/Diagram.d.ts +7 -0
  32. package/esm/openxml/drawing/diagram/Diagram.js +24 -0
  33. package/esm/openxml/drawing/diagram/Sp.d.ts +2 -0
  34. package/esm/openxml/drawing/diagram/SpTree.d.ts +5 -0
  35. package/esm/openxml/drawing/presetShape.d.ts +3 -0
  36. package/esm/openxml/drawing/presetShape.js +38785 -0
  37. package/esm/openxml/drawing/svg/arcToA.d.ts +13 -0
  38. package/esm/openxml/drawing/svg/arcToA.js +88 -0
  39. package/esm/openxml/drawing/svg/formulas.d.ts +29 -0
  40. package/esm/openxml/drawing/svg/formulas.js +103 -0
  41. package/esm/openxml/drawing/svg/generateDefines.d.ts +12 -0
  42. package/esm/openxml/drawing/svg/generateDefines.js +144 -0
  43. package/esm/openxml/drawing/svg/presetVal.d.ts +43 -0
  44. package/esm/openxml/drawing/svg/presetVal.js +53 -0
  45. package/esm/openxml/drawing/svg/shapeToSVG.d.ts +9 -0
  46. package/esm/openxml/drawing/svg/shapeToSVG.js +151 -0
  47. package/esm/openxml/math/OMath.d.ts +5 -0
  48. package/esm/openxml/math/OMath.js +12 -0
  49. package/esm/openxml/math/convertOOML.d.ts +4 -0
  50. package/esm/openxml/math/convertOOML.js +13 -0
  51. package/esm/openxml/math/xsl.d.ts +4 -0
  52. package/esm/openxml/math/xsl.js +8 -0
  53. package/esm/openxml/word/Body.js +11 -7
  54. package/esm/openxml/word/Break.js +1 -3
  55. package/esm/openxml/word/Font.d.ts +16 -0
  56. package/esm/openxml/word/Font.js +78 -0
  57. package/esm/openxml/word/FontTable.d.ts +9 -0
  58. package/esm/openxml/word/FontTable.js +34 -0
  59. package/esm/openxml/word/Header.d.ts +11 -0
  60. package/esm/openxml/word/Header.js +54 -0
  61. package/esm/openxml/word/Hyperlink.d.ts +1 -0
  62. package/esm/openxml/word/Hyperlink.js +7 -3
  63. package/esm/openxml/word/InlineText.js +1 -1
  64. package/esm/openxml/word/NoBreakHyphen.d.ts +2 -0
  65. package/esm/openxml/word/NoBreakHyphen.js +7 -0
  66. package/esm/openxml/word/Note.d.ts +12 -0
  67. package/esm/openxml/word/Note.js +48 -0
  68. package/esm/openxml/word/Paragraph.d.ts +2 -2
  69. package/esm/openxml/word/Paragraph.js +10 -9
  70. package/esm/openxml/word/Pict.d.ts +1 -2
  71. package/esm/openxml/word/Pict.js +5 -3
  72. package/esm/openxml/word/Ruby.js +1 -1
  73. package/esm/openxml/word/Run.d.ts +7 -3
  74. package/esm/openxml/word/Run.js +28 -4
  75. package/esm/openxml/word/Section.d.ts +18 -5
  76. package/esm/openxml/word/Section.js +46 -2
  77. package/esm/openxml/word/Separator.d.ts +5 -0
  78. package/esm/openxml/word/Separator.js +10 -0
  79. package/esm/openxml/word/SoftHyphen.d.ts +5 -0
  80. package/esm/openxml/word/SoftHyphen.js +10 -0
  81. package/esm/openxml/word/Tab.d.ts +1 -1
  82. package/esm/openxml/word/Table.d.ts +4 -9
  83. package/esm/openxml/word/Table.js +0 -235
  84. package/esm/openxml/word/WDocument.d.ts +1 -2
  85. package/esm/openxml/word/WDocument.js +53 -7
  86. package/esm/openxml/word/numbering/AbstractNum.js +4 -2
  87. package/esm/openxml/word/numbering/Lvl.js +10 -4
  88. package/esm/openxml/word/numbering/Num.js +12 -4
  89. package/esm/openxml/word/numbering/NumberProperties.js +2 -2
  90. package/esm/openxml/word/numbering/Numbering.js +1 -1
  91. package/esm/openxml/word/table/Tc.d.ts +1 -22
  92. package/esm/openxml/word/table/Tc.js +1 -221
  93. package/esm/openxml/word/table/Tr.d.ts +0 -5
  94. package/esm/openxml/word/table/Tr.js +0 -97
  95. package/esm/openxml/word/wps/WPG.d.ts +14 -0
  96. package/esm/openxml/word/wps/WPG.js +56 -0
  97. package/esm/openxml/word/wps/WPS.d.ts +18 -0
  98. package/esm/openxml/word/wps/WPS.js +148 -0
  99. package/esm/openxml/word/wps/WPSStyle.d.ts +10 -0
  100. package/esm/openxml/word/wps/WPSStyle.js +42 -0
  101. package/esm/package/PackageParser.d.ts +1 -1
  102. package/esm/package/XMLPackageParser.d.ts +3 -3
  103. package/esm/package/ZipPackageParser.d.ts +1 -1
  104. package/esm/package/ZipPackageParser.js +7 -8
  105. package/esm/parse/Footnotes.d.ts +3 -0
  106. package/esm/parse/Footnotes.js +25 -0
  107. package/esm/parse/colorNameMap.d.ts +6 -0
  108. package/esm/parse/colorNameMap.js +201 -0
  109. package/esm/parse/jcToTextAlign.js +1 -0
  110. package/esm/parse/mergeSdt.d.ts +4 -0
  111. package/esm/parse/mergeSdt.js +57 -0
  112. package/esm/parse/modifyColor.d.ts +1 -0
  113. package/esm/parse/modifyColor.js +106 -0
  114. package/esm/parse/parseBorder.js +2 -21
  115. package/esm/parse/parseCellMargin.d.ts +2 -0
  116. package/esm/parse/parseCellMargin.js +38 -0
  117. package/esm/parse/parseChildColor.d.ts +5 -0
  118. package/esm/parse/parseChildColor.js +66 -0
  119. package/esm/parse/parseColor.d.ts +4 -0
  120. package/esm/parse/parseColor.js +41 -46
  121. package/esm/parse/parseEndnotes.d.ts +3 -0
  122. package/esm/parse/parseEndnotes.js +25 -0
  123. package/esm/parse/parseFont.js +1 -1
  124. package/esm/parse/parseInsideBorders.d.ts +9 -0
  125. package/esm/parse/parseInsideBorders.js +24 -0
  126. package/esm/parse/parsePr.d.ts +3 -0
  127. package/esm/parse/parsePr.js +108 -11
  128. package/esm/parse/parseRelationship.js +1 -1
  129. package/esm/parse/parseSdt.d.ts +5 -0
  130. package/esm/parse/parseShape.d.ts +10 -0
  131. package/esm/parse/parseShape.js +239 -0
  132. package/esm/parse/parseSize.d.ts +2 -1
  133. package/esm/parse/parseSize.js +7 -1
  134. package/esm/parse/parseSpacing.js +1 -1
  135. package/esm/parse/parseTable.d.ts +3 -0
  136. package/esm/parse/parseTable.js +62 -0
  137. package/esm/parse/parseTablePr.d.ts +3 -0
  138. package/esm/parse/parseTablePr.js +185 -0
  139. package/esm/parse/parseTblWidth.d.ts +4 -0
  140. package/esm/parse/parseTblWidth.js +23 -0
  141. package/esm/parse/parseTc.d.ts +10 -0
  142. package/esm/parse/parseTc.js +64 -0
  143. package/esm/parse/parseTcPr.d.ts +5 -0
  144. package/esm/parse/parseTcPr.js +99 -0
  145. package/esm/parse/parseTextDirection.js +4 -6
  146. package/esm/parse/parseTr.d.ts +6 -0
  147. package/esm/parse/parseTr.js +49 -0
  148. package/esm/parse/parseTrPr.d.ts +3 -0
  149. package/esm/parse/parseTrPr.js +59 -0
  150. package/esm/render/fixAbsolutePosition.d.ts +8 -0
  151. package/esm/render/renderBody.d.ts +6 -2
  152. package/esm/render/renderBody.js +184 -30
  153. package/esm/render/renderBr.d.ts +2 -1
  154. package/esm/render/renderBr.js +4 -1
  155. package/esm/render/renderCustGeom.d.ts +4 -0
  156. package/esm/render/renderCustGeom.js +10 -0
  157. package/esm/render/renderDocument.d.ts +2 -2
  158. package/esm/render/renderDocument.js +2 -2
  159. package/esm/render/renderDrawing.d.ts +3 -2
  160. package/esm/render/renderDrawing.js +238 -21
  161. package/esm/render/renderFont.d.ts +5 -0
  162. package/esm/render/renderFont.js +39 -0
  163. package/esm/render/renderGeom.d.ts +4 -0
  164. package/esm/render/renderGeom.js +14 -0
  165. package/esm/render/renderHeader.d.ts +6 -0
  166. package/esm/render/renderHeader.js +40 -0
  167. package/esm/render/renderHyperLink.js +4 -1
  168. package/esm/render/renderInlineText.js +1 -1
  169. package/esm/render/renderInstrText.js +1 -1
  170. package/esm/render/renderMath.d.ts +3 -0
  171. package/esm/render/renderMath.js +7 -0
  172. package/esm/render/renderNoBreakHyphen.d.ts +1 -0
  173. package/esm/render/renderNoBreakHyphen.js +9 -0
  174. package/esm/render/renderNotes.d.ts +5 -0
  175. package/esm/render/renderNotes.js +77 -0
  176. package/esm/render/renderNumbering.js +8 -10
  177. package/esm/render/renderParagraph.d.ts +1 -1
  178. package/esm/render/renderParagraph.js +58 -18
  179. package/esm/render/renderPict.js +5 -10
  180. package/esm/render/renderRuby.js +1 -1
  181. package/esm/render/renderRun.d.ts +4 -2
  182. package/esm/render/renderRun.js +42 -12
  183. package/esm/render/renderSection.d.ts +3 -2
  184. package/esm/render/renderSection.js +79 -5
  185. package/esm/render/renderSeparator.d.ts +1 -0
  186. package/esm/render/renderSeparator.js +9 -0
  187. package/esm/render/renderSoftHyphen.d.ts +1 -0
  188. package/esm/render/renderSoftHyphen.js +9 -0
  189. package/esm/render/renderStyle.js +36 -35
  190. package/esm/render/renderTab.d.ts +2 -1
  191. package/esm/render/renderTab.js +10 -6
  192. package/esm/render/renderTable.js +23 -20
  193. package/esm/render/setElementStyle.js +7 -2
  194. package/esm/render/zindex.d.ts +1 -0
  195. package/esm/util/blob.js +1 -10
  196. package/esm/util/color.d.ts +48 -0
  197. package/esm/util/color.js +211 -0
  198. package/esm/util/createObject.d.ts +10 -0
  199. package/esm/util/createObject.js +48 -0
  200. package/esm/util/dom.d.ts +8 -4
  201. package/esm/util/dom.js +21 -4
  202. package/esm/util/get.d.ts +4 -0
  203. package/esm/util/get.js +18 -0
  204. package/esm/util/mergeRun.js +1 -1
  205. package/esm/util/parseSides.d.ts +11 -0
  206. package/esm/util/print.d.ts +5 -0
  207. package/esm/util/print.js +54 -0
  208. package/esm/util/replaceVar.d.ts +10 -0
  209. package/esm/util/replaceVar.js +215 -0
  210. package/esm/util/xml.js +4 -1
  211. package/lib/OpenXML.d.ts +19 -0
  212. package/lib/OpenXML.js +44 -1
  213. package/lib/Word.d.ts +132 -15
  214. package/lib/Word.js +244 -59
  215. package/lib/openxml/ContentType.js +20 -6
  216. package/lib/openxml/Settings.d.ts +10 -0
  217. package/lib/openxml/Settings.js +97 -0
  218. package/lib/openxml/Style.d.ts +1 -1
  219. package/lib/openxml/Style.js +15 -15
  220. package/lib/openxml/Theme.js +31 -7
  221. package/lib/openxml/Types.d.ts +179 -2472
  222. package/lib/openxml/drawing/Blip.d.ts +7 -0
  223. package/lib/openxml/{word/drawing → drawing}/Blip.js +2 -1
  224. package/{esm/openxml/word → lib/openxml}/drawing/BlipFill.d.ts +1 -1
  225. package/lib/openxml/{word/drawing → drawing}/BlipFill.js +1 -1
  226. package/lib/openxml/drawing/CustomGeom.d.ts +9 -0
  227. package/lib/openxml/drawing/CustomGeom.js +21 -0
  228. package/lib/openxml/drawing/Drawing.d.ts +37 -0
  229. package/lib/openxml/drawing/Drawing.js +177 -0
  230. package/lib/openxml/drawing/Geom.d.ts +11 -0
  231. package/lib/openxml/drawing/Geom.js +38 -0
  232. package/lib/openxml/drawing/Path.d.ts +37 -0
  233. package/lib/openxml/drawing/Pic.d.ts +16 -0
  234. package/lib/openxml/drawing/Pic.js +30 -0
  235. package/lib/openxml/drawing/Shape.d.ts +20 -0
  236. package/lib/openxml/drawing/ShapeProperties.d.ts +22 -0
  237. package/lib/openxml/drawing/ShapeProperties.js +123 -0
  238. package/{esm/openxml/word → lib/openxml}/drawing/Transform.d.ts +4 -1
  239. package/lib/openxml/drawing/Transform.js +67 -0
  240. package/lib/openxml/drawing/diagram/Diagram.d.ts +7 -0
  241. package/lib/openxml/drawing/diagram/Diagram.js +28 -0
  242. package/lib/openxml/drawing/diagram/Sp.d.ts +2 -0
  243. package/lib/openxml/drawing/diagram/SpTree.d.ts +5 -0
  244. package/lib/openxml/drawing/presetShape.d.ts +3 -0
  245. package/lib/openxml/drawing/presetShape.js +38789 -0
  246. package/lib/openxml/drawing/svg/arcToA.d.ts +13 -0
  247. package/lib/openxml/drawing/svg/arcToA.js +92 -0
  248. package/lib/openxml/drawing/svg/formulas.d.ts +29 -0
  249. package/lib/openxml/drawing/svg/formulas.js +108 -0
  250. package/lib/openxml/drawing/svg/generateDefines.d.ts +12 -0
  251. package/lib/openxml/drawing/svg/generateDefines.js +148 -0
  252. package/lib/openxml/drawing/svg/presetVal.d.ts +43 -0
  253. package/lib/openxml/drawing/svg/presetVal.js +57 -0
  254. package/lib/openxml/drawing/svg/shapeToSVG.d.ts +9 -0
  255. package/lib/openxml/drawing/svg/shapeToSVG.js +155 -0
  256. package/lib/openxml/math/OMath.d.ts +5 -0
  257. package/lib/openxml/math/OMath.js +16 -0
  258. package/lib/openxml/math/convertOOML.d.ts +4 -0
  259. package/lib/openxml/math/convertOOML.js +17 -0
  260. package/lib/openxml/math/xsl.d.ts +4 -0
  261. package/lib/openxml/math/xsl.js +12 -0
  262. package/lib/openxml/word/Body.js +11 -7
  263. package/lib/openxml/word/Break.js +1 -3
  264. package/lib/openxml/word/Font.d.ts +16 -0
  265. package/lib/openxml/word/Font.js +83 -0
  266. package/lib/openxml/word/FontTable.d.ts +9 -0
  267. package/lib/openxml/word/FontTable.js +38 -0
  268. package/lib/openxml/word/Header.d.ts +11 -0
  269. package/lib/openxml/word/Header.js +58 -0
  270. package/lib/openxml/word/Hyperlink.d.ts +1 -0
  271. package/lib/openxml/word/Hyperlink.js +8 -4
  272. package/lib/openxml/word/InlineText.js +2 -2
  273. package/lib/openxml/word/NoBreakHyphen.d.ts +2 -0
  274. package/lib/openxml/word/NoBreakHyphen.js +11 -0
  275. package/lib/openxml/word/Note.d.ts +12 -0
  276. package/lib/openxml/word/Note.js +52 -0
  277. package/lib/openxml/word/Paragraph.d.ts +2 -2
  278. package/lib/openxml/word/Paragraph.js +11 -10
  279. package/lib/openxml/word/Pict.d.ts +1 -2
  280. package/lib/openxml/word/Pict.js +5 -3
  281. package/lib/openxml/word/Ruby.js +4 -4
  282. package/lib/openxml/word/Run.d.ts +7 -3
  283. package/lib/openxml/word/Run.js +29 -5
  284. package/lib/openxml/word/Section.d.ts +18 -5
  285. package/lib/openxml/word/Section.js +47 -3
  286. package/lib/openxml/word/Separator.d.ts +5 -0
  287. package/lib/openxml/word/Separator.js +14 -0
  288. package/lib/openxml/word/SoftHyphen.d.ts +5 -0
  289. package/lib/openxml/word/SoftHyphen.js +14 -0
  290. package/lib/openxml/word/Tab.d.ts +1 -1
  291. package/lib/openxml/word/Table.d.ts +4 -9
  292. package/lib/openxml/word/Table.js +0 -235
  293. package/lib/openxml/word/WDocument.d.ts +1 -2
  294. package/lib/openxml/word/WDocument.js +53 -7
  295. package/lib/openxml/word/numbering/AbstractNum.js +5 -3
  296. package/lib/openxml/word/numbering/Lvl.js +11 -5
  297. package/lib/openxml/word/numbering/Num.js +12 -4
  298. package/lib/openxml/word/numbering/NumberProperties.js +2 -2
  299. package/lib/openxml/word/numbering/Numbering.js +3 -3
  300. package/lib/openxml/word/table/Tc.d.ts +1 -22
  301. package/lib/openxml/word/table/Tc.js +0 -224
  302. package/lib/openxml/word/table/Tr.d.ts +0 -5
  303. package/lib/openxml/word/table/Tr.js +0 -97
  304. package/lib/openxml/word/wps/WPG.d.ts +14 -0
  305. package/lib/openxml/word/wps/WPG.js +60 -0
  306. package/lib/openxml/word/wps/WPS.d.ts +18 -0
  307. package/lib/openxml/word/wps/WPS.js +152 -0
  308. package/lib/openxml/word/wps/WPSStyle.d.ts +10 -0
  309. package/lib/openxml/word/wps/WPSStyle.js +46 -0
  310. package/lib/package/PackageParser.d.ts +1 -1
  311. package/lib/package/XMLPackageParser.d.ts +3 -3
  312. package/lib/package/ZipPackageParser.d.ts +1 -1
  313. package/lib/package/ZipPackageParser.js +7 -8
  314. package/lib/parse/Footnotes.d.ts +3 -0
  315. package/lib/parse/Footnotes.js +29 -0
  316. package/lib/parse/colorNameMap.d.ts +6 -0
  317. package/lib/parse/colorNameMap.js +205 -0
  318. package/lib/parse/jcToTextAlign.js +1 -0
  319. package/lib/parse/mergeSdt.d.ts +4 -0
  320. package/lib/parse/mergeSdt.js +61 -0
  321. package/lib/parse/modifyColor.d.ts +1 -0
  322. package/lib/parse/modifyColor.js +110 -0
  323. package/lib/parse/parseBorder.js +3 -22
  324. package/lib/parse/parseCellMargin.d.ts +2 -0
  325. package/lib/parse/parseCellMargin.js +42 -0
  326. package/lib/parse/parseChildColor.d.ts +5 -0
  327. package/lib/parse/parseChildColor.js +70 -0
  328. package/lib/parse/parseColor.d.ts +4 -0
  329. package/lib/parse/parseColor.js +41 -45
  330. package/lib/parse/parseEndnotes.d.ts +3 -0
  331. package/lib/parse/parseEndnotes.js +29 -0
  332. package/lib/parse/parseFont.js +2 -2
  333. package/lib/parse/parseInsideBorders.d.ts +9 -0
  334. package/lib/parse/parseInsideBorders.js +28 -0
  335. package/lib/parse/parsePr.d.ts +3 -0
  336. package/lib/parse/parsePr.js +109 -12
  337. package/lib/parse/parseRelationship.js +2 -2
  338. package/lib/parse/parseSdt.d.ts +5 -0
  339. package/lib/parse/parseShape.d.ts +10 -0
  340. package/lib/parse/parseShape.js +247 -0
  341. package/lib/parse/parseSize.d.ts +2 -1
  342. package/lib/parse/parseSize.js +7 -0
  343. package/lib/parse/parseSpacing.js +1 -1
  344. package/lib/parse/parseTable.d.ts +3 -0
  345. package/lib/parse/parseTable.js +66 -0
  346. package/lib/parse/parseTablePr.d.ts +3 -0
  347. package/lib/parse/parseTablePr.js +189 -0
  348. package/lib/parse/parseTblWidth.d.ts +4 -0
  349. package/lib/parse/parseTblWidth.js +27 -0
  350. package/lib/parse/parseTc.d.ts +10 -0
  351. package/lib/parse/parseTc.js +68 -0
  352. package/lib/parse/parseTcPr.d.ts +5 -0
  353. package/lib/parse/parseTcPr.js +104 -0
  354. package/lib/parse/parseTextDirection.js +4 -6
  355. package/lib/parse/parseTr.d.ts +6 -0
  356. package/lib/parse/parseTr.js +53 -0
  357. package/lib/parse/parseTrPr.d.ts +3 -0
  358. package/lib/parse/parseTrPr.js +63 -0
  359. package/lib/render/fixAbsolutePosition.d.ts +8 -0
  360. package/lib/render/renderBody.d.ts +6 -2
  361. package/lib/render/renderBody.js +183 -29
  362. package/lib/render/renderBr.d.ts +2 -1
  363. package/lib/render/renderBr.js +4 -1
  364. package/lib/render/renderCustGeom.d.ts +4 -0
  365. package/lib/render/renderCustGeom.js +14 -0
  366. package/lib/render/renderDocument.d.ts +2 -2
  367. package/lib/render/renderDocument.js +2 -2
  368. package/lib/render/renderDrawing.d.ts +3 -2
  369. package/lib/render/renderDrawing.js +238 -21
  370. package/lib/render/renderFont.d.ts +5 -0
  371. package/lib/render/renderFont.js +43 -0
  372. package/lib/render/renderGeom.d.ts +4 -0
  373. package/lib/render/renderGeom.js +18 -0
  374. package/lib/render/renderHeader.d.ts +6 -0
  375. package/lib/render/renderHeader.js +44 -0
  376. package/lib/render/renderHyperLink.js +5 -2
  377. package/lib/render/renderInlineText.js +2 -2
  378. package/lib/render/renderInstrText.js +2 -2
  379. package/lib/render/renderMath.d.ts +3 -0
  380. package/lib/render/renderMath.js +11 -0
  381. package/lib/render/renderNoBreakHyphen.d.ts +1 -0
  382. package/lib/render/renderNoBreakHyphen.js +13 -0
  383. package/lib/render/renderNotes.d.ts +5 -0
  384. package/lib/render/renderNotes.js +81 -0
  385. package/lib/render/renderNumbering.js +9 -11
  386. package/lib/render/renderParagraph.d.ts +1 -1
  387. package/lib/render/renderParagraph.js +58 -18
  388. package/lib/render/renderPict.js +5 -10
  389. package/lib/render/renderRuby.js +3 -3
  390. package/lib/render/renderRun.d.ts +4 -2
  391. package/lib/render/renderRun.js +41 -11
  392. package/lib/render/renderSection.d.ts +3 -2
  393. package/lib/render/renderSection.js +79 -5
  394. package/lib/render/renderSeparator.d.ts +1 -0
  395. package/lib/render/renderSeparator.js +13 -0
  396. package/lib/render/renderSoftHyphen.d.ts +1 -0
  397. package/lib/render/renderSoftHyphen.js +13 -0
  398. package/lib/render/renderStyle.js +37 -36
  399. package/lib/render/renderTab.d.ts +2 -1
  400. package/lib/render/renderTab.js +10 -6
  401. package/lib/render/renderTable.js +25 -22
  402. package/lib/render/setElementStyle.js +6 -1
  403. package/lib/render/zindex.d.ts +1 -0
  404. package/lib/util/blob.js +0 -10
  405. package/lib/util/color.d.ts +48 -0
  406. package/lib/util/color.js +215 -0
  407. package/lib/util/createObject.d.ts +10 -0
  408. package/lib/util/createObject.js +54 -0
  409. package/lib/util/dom.d.ts +8 -4
  410. package/lib/util/dom.js +24 -5
  411. package/lib/util/get.d.ts +4 -0
  412. package/lib/util/get.js +22 -0
  413. package/lib/util/mergeRun.js +5 -5
  414. package/lib/util/parseSides.d.ts +11 -0
  415. package/lib/util/print.d.ts +5 -0
  416. package/lib/util/print.js +58 -0
  417. package/lib/util/replaceVar.d.ts +10 -0
  418. package/lib/util/replaceVar.js +220 -0
  419. package/lib/util/xml.js +4 -0
  420. package/package.json +17 -7
  421. package/esm/node_modules/tslib/tslib.es6.js +0 -120
  422. package/esm/openxml/Types.js +0 -1003
  423. package/esm/openxml/word/CustomXml.d.ts +0 -8
  424. package/esm/openxml/word/SmartTag.d.ts +0 -8
  425. package/esm/openxml/word/SmartTag.js +0 -18
  426. package/esm/openxml/word/drawing/Blip.d.ts +0 -6
  427. package/esm/openxml/word/drawing/Drawing.d.ts +0 -6
  428. package/esm/openxml/word/drawing/Drawing.js +0 -15
  429. package/esm/openxml/word/drawing/Pic.d.ts +0 -8
  430. package/esm/openxml/word/drawing/Pic.js +0 -16
  431. package/esm/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  432. package/esm/openxml/word/drawing/ShapeProperties.js +0 -20
  433. package/esm/openxml/word/drawing/Transform.js +0 -30
  434. package/lib/node_modules/tslib/tslib.es6.js +0 -129
  435. package/lib/openxml/Types.js +0 -1005
  436. package/lib/openxml/word/CustomXml.d.ts +0 -8
  437. package/lib/openxml/word/SmartTag.d.ts +0 -8
  438. package/lib/openxml/word/SmartTag.js +0 -22
  439. package/lib/openxml/word/drawing/Blip.d.ts +0 -6
  440. package/lib/openxml/word/drawing/Drawing.d.ts +0 -6
  441. package/lib/openxml/word/drawing/Drawing.js +0 -19
  442. package/lib/openxml/word/drawing/Pic.d.ts +0 -8
  443. package/lib/openxml/word/drawing/Pic.js +0 -20
  444. package/lib/openxml/word/drawing/ShapeProperties.d.ts +0 -9
  445. package/lib/openxml/word/drawing/ShapeProperties.js +0 -24
  446. package/lib/openxml/word/drawing/Transform.js +0 -34
@@ -1,38 +1,255 @@
1
+ import { __values } from 'tslib';
2
+ import { Paragraph } from '../openxml/word/Paragraph.js';
3
+ import { appendChild, applyStyle } from '../util/dom.js';
4
+ import renderParagraph from './renderParagraph.js';
5
+ import renderTable from './renderTable.js';
6
+ import { Table } from '../openxml/word/Table.js';
7
+ import { renderGeom } from './renderGeom.js';
8
+ import { renderCustGeom } from './renderCustGeom.js';
9
+
1
10
  /**
2
- * 渲染图片,目前只支持 picture
3
- * http://officeopenxml.com/drwOverview.php
4
- *
11
+ * 渲染图片
5
12
  */
6
- function renderDrawing(word, drawing) {
13
+ function renderPic(pic, word, wpg) {
7
14
  var _a, _b, _c;
8
- var pic = drawing.pic;
9
- if (pic) {
10
- var blip = (_a = pic.blipFill) === null || _a === void 0 ? void 0 : _a.blip;
11
- if (blip && blip.embled) {
12
- var img_1 = document.createElement('img');
13
- img_1.style.position = 'relative';
14
- (_b = word.loadImage(blip.embled)) === null || _b === void 0 ? void 0 : _b.then(function (url) {
15
- if (url) {
16
- img_1.src = url;
15
+ if (wpg === void 0) { wpg = null; }
16
+ var blip = (_a = pic.blipFill) === null || _a === void 0 ? void 0 : _a.blip;
17
+ if (blip && blip.src) {
18
+ var img = document.createElement('img');
19
+ img.style.position = 'relative';
20
+ img.alt = pic.alt || '';
21
+ img.src = blip.src;
22
+ if (pic.alt && word.renderOptions.enableVar) {
23
+ if (pic.altVar) {
24
+ img.src = pic.altVar;
25
+ }
26
+ else if (pic.alt.startsWith('{{')) {
27
+ var src = word.replaceText(pic.alt);
28
+ if (src) {
29
+ img.src = src;
30
+ }
31
+ }
32
+ }
33
+ var xfrm = (_b = pic.spPr) === null || _b === void 0 ? void 0 : _b.xfrm;
34
+ if (xfrm) {
35
+ if (wpg) {
36
+ var rect = getRectInGroup(xfrm, (_c = wpg.spPr) === null || _c === void 0 ? void 0 : _c.xfrm);
37
+ if (rect) {
38
+ img.style.position = 'absolute';
39
+ img.style.left = rect.left + 'px';
40
+ img.style.top = rect.top + 'px';
41
+ img.style.width = rect.width + 'px';
42
+ img.style.height = rect.height + 'px';
17
43
  }
18
- });
19
- var xfrm = (_c = pic.spPr) === null || _c === void 0 ? void 0 : _c.xfrm;
20
- if (xfrm) {
44
+ }
45
+ else {
21
46
  var off = xfrm.off;
22
47
  if (off) {
23
- img_1.style.left = off.x;
24
- img_1.style.top = off.y;
48
+ img.style.left = off.x;
49
+ img.style.top = off.y;
25
50
  }
26
51
  var ext = xfrm.ext;
27
52
  if (ext) {
28
- img_1.style.width = ext.cx;
29
- img_1.style.height = ext.cy;
53
+ img.style.width = ext.cx;
54
+ img.style.height = ext.cy;
30
55
  }
31
56
  }
32
- return img_1;
57
+ if (xfrm.rot) {
58
+ img.style.transform = "rotate(".concat(xfrm.rot, "deg)");
59
+ }
33
60
  }
61
+ return img;
62
+ }
63
+ return null;
64
+ }
65
+ /**
66
+ * 获取在 group 中的位置
67
+ * @param xfrm 元素的位置定义
68
+ * @param groupXfrm 分组中的位置定义
69
+ */
70
+ function getRectInGroup(xfrm, groupXfrm) {
71
+ var off = xfrm.off;
72
+ var width = parseFloat(xfrm.ext.cx.replace('px', ''));
73
+ var height = parseFloat(xfrm.ext.cy.replace('px', ''));
74
+ if (off && groupXfrm.chOff && groupXfrm.ext && groupXfrm.chExt) {
75
+ // 先算缩放比
76
+ var scaleX = parseFloat(groupXfrm.ext.cx.replace('px', '')) /
77
+ parseFloat(groupXfrm.chExt.cx.replace('px', ''));
78
+ var scaleY = parseFloat(groupXfrm.ext.cy.replace('px', '')) /
79
+ parseFloat(groupXfrm.chExt.cy.replace('px', ''));
80
+ var groupOffX = parseFloat(groupXfrm.chOff.x.replace('px', ''));
81
+ var groupOffY = parseFloat(groupXfrm.chOff.y.replace('px', ''));
82
+ var x = parseFloat(off.x.replace('px', ''));
83
+ var y = parseFloat(off.y.replace('px', ''));
84
+ return {
85
+ left: scaleX * (x - groupOffX),
86
+ top: scaleY * (y - groupOffY),
87
+ width: scaleX * width,
88
+ height: scaleY * height
89
+ };
34
90
  }
35
91
  return null;
36
92
  }
93
+ /**
94
+ * 渲染文本框
95
+ */
96
+ function renderWps(word, container, wps, wpg) {
97
+ var e_1, _a;
98
+ var _b;
99
+ if (wpg === void 0) { wpg = null; }
100
+ var wpsStyle = wps.wpsStyle;
101
+ var spPr = wps.spPr;
102
+ applyStyle(container, wps.style);
103
+ if (wpsStyle === null || wpsStyle === void 0 ? void 0 : wpsStyle.fontColor) {
104
+ container.style.color = wpsStyle.fontColor;
105
+ }
106
+ if (spPr === null || spPr === void 0 ? void 0 : spPr.xfrm) {
107
+ var ext = spPr.xfrm.ext;
108
+ if (ext) {
109
+ var width = parseFloat(ext.cx.replace('px', ''));
110
+ var height = parseFloat(ext.cy.replace('px', ''));
111
+ // 在分组中的计算方式不一样,另外在分组中还需要绝对定位
112
+ // 这个计算方法在官方文档里没找到
113
+ if (wpg) {
114
+ container.style.position = 'absolute';
115
+ var rect = getRectInGroup(spPr.xfrm, (_b = wpg.spPr) === null || _b === void 0 ? void 0 : _b.xfrm);
116
+ if (rect) {
117
+ container.style.left = rect.left + 'px';
118
+ container.style.top = rect.top + 'px';
119
+ width = rect.width;
120
+ height = rect.height;
121
+ }
122
+ }
123
+ container.style.width = width + 'px';
124
+ container.style.height = height + 'px';
125
+ if (spPr.geom) {
126
+ appendChild(container, renderGeom(spPr.geom, spPr, width, height, wps.wpsStyle));
127
+ }
128
+ if (spPr.custGeom) {
129
+ appendChild(container, renderCustGeom(spPr.custGeom, spPr, width, height, wps.wpsStyle));
130
+ }
131
+ }
132
+ if (spPr.xfrm.rot) {
133
+ container.style.transform = "rotate(".concat(spPr.xfrm.rot, "deg)");
134
+ }
135
+ }
136
+ var txbxContent = wps.txbxContent;
137
+ if (txbxContent.length) {
138
+ // 为了实现垂直居中,将父容器改成 table 布局
139
+ var textContainer = document.createElement('div');
140
+ textContainer.dataset.name = 'textContainer';
141
+ container.style.display = 'table';
142
+ textContainer.style.display = 'table-cell';
143
+ textContainer.style.verticalAlign = 'middle';
144
+ if (wps.style && wps.style['vertical-align']) {
145
+ textContainer.style.verticalAlign = wps.style['vertical-align'];
146
+ // 容器的 vertical-align 需要去掉,虽然也不影响
147
+ container.style.verticalAlign = '';
148
+ }
149
+ appendChild(container, textContainer);
150
+ try {
151
+ for (var txbxContent_1 = __values(txbxContent), txbxContent_1_1 = txbxContent_1.next(); !txbxContent_1_1.done; txbxContent_1_1 = txbxContent_1.next()) {
152
+ var txbxContentChild = txbxContent_1_1.value;
153
+ if (txbxContentChild instanceof Paragraph) {
154
+ appendChild(textContainer, renderParagraph(word, txbxContentChild));
155
+ }
156
+ else if (txbxContentChild instanceof Table) {
157
+ appendChild(textContainer, renderTable(word, txbxContentChild));
158
+ }
159
+ }
160
+ }
161
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
162
+ finally {
163
+ try {
164
+ if (txbxContent_1_1 && !txbxContent_1_1.done && (_a = txbxContent_1.return)) _a.call(txbxContent_1);
165
+ }
166
+ finally { if (e_1) throw e_1.error; }
167
+ }
168
+ }
169
+ }
170
+ function renderWpg(word, wpg) {
171
+ var e_2, _a, e_3, _b;
172
+ var _c, _d;
173
+ var container = document.createElement('div');
174
+ var wpgContainer = document.createElement('div');
175
+ var spPr = wpg.spPr;
176
+ if (spPr === null || spPr === void 0 ? void 0 : spPr.xfrm) {
177
+ var ext = (_c = spPr === null || spPr === void 0 ? void 0 : spPr.xfrm) === null || _c === void 0 ? void 0 : _c.ext;
178
+ if (ext) {
179
+ wpgContainer.style.width = ext.cx;
180
+ wpgContainer.style.height = ext.cy;
181
+ }
182
+ var rot = (_d = spPr === null || spPr === void 0 ? void 0 : spPr.xfrm) === null || _d === void 0 ? void 0 : _d.rot;
183
+ if (rot) {
184
+ wpgContainer.style.transform = "rotate(".concat(rot, "deg)");
185
+ }
186
+ }
187
+ try {
188
+ for (var _e = __values(wpg.wps), _f = _e.next(); !_f.done; _f = _e.next()) {
189
+ var wps = _f.value;
190
+ var wpsContainer = document.createElement('div');
191
+ renderWps(word, wpsContainer, wps, wpg);
192
+ appendChild(wpgContainer, wpsContainer);
193
+ }
194
+ }
195
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
196
+ finally {
197
+ try {
198
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
199
+ }
200
+ finally { if (e_2) throw e_2.error; }
201
+ }
202
+ try {
203
+ for (var _g = __values(wpg.wpg), _h = _g.next(); !_h.done; _h = _g.next()) {
204
+ var childWpg = _h.value;
205
+ appendChild(container, renderWpg(word, childWpg));
206
+ }
207
+ }
208
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
209
+ finally {
210
+ try {
211
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
212
+ }
213
+ finally { if (e_3) throw e_3.error; }
214
+ }
215
+ if (wpg.pic) {
216
+ appendChild(wpgContainer, renderPic(wpg.pic, word, wpg));
217
+ }
218
+ appendChild(container, wpgContainer);
219
+ return container;
220
+ }
221
+ /**
222
+ * 渲染图片,目前只支持 picture
223
+ * http://officeopenxml.com/drwOverview.php
224
+ * @param inHeader,如果在 header 中,位置计算要特殊处理
225
+ *
226
+ */
227
+ function renderDrawing(word, drawing, inHeader) {
228
+ var container = document.createElement('div');
229
+ if (drawing.position === 'inline') {
230
+ container.style.display = 'inline-block';
231
+ }
232
+ else if (drawing.position === 'anchor') ;
233
+ if (drawing.pic) {
234
+ appendChild(container, renderPic(drawing.pic, word));
235
+ }
236
+ if (drawing.relativeFromV === 'page') {
237
+ console.warn('暂不支持 drawing.relativeFromV === "page"');
238
+ }
239
+ applyStyle(container, drawing.containerStyle);
240
+ container.dataset.id = drawing.id || '';
241
+ container.dataset.name = drawing.name || '';
242
+ if (drawing.wps) {
243
+ renderWps(word, container, drawing.wps);
244
+ }
245
+ if (drawing.wpg) {
246
+ appendChild(container, renderWpg(word, drawing.wpg));
247
+ }
248
+ // 如果没内容就不渲染了,避免高度导致撑开父节点
249
+ if (container.children.length === 0) {
250
+ return null;
251
+ }
252
+ return container;
253
+ }
37
254
 
38
255
  export { renderDrawing };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 渲染自定义字体样式
3
+ */
4
+ import { FontTable } from '../openxml/word/FontTable';
5
+ export declare function renderFont(fontTable?: FontTable): HTMLElement | null;
@@ -0,0 +1,39 @@
1
+ import { __values } from 'tslib';
2
+ import { createElement } from '../util/dom.js';
3
+
4
+ /**
5
+ * 渲染自定义字体样式
6
+ */
7
+ function renderFont(fontTable) {
8
+ var e_1, _a;
9
+ if (!fontTable) {
10
+ return null;
11
+ }
12
+ var fonts = fontTable.fonts;
13
+ if (!fonts || !fonts.length) {
14
+ return null;
15
+ }
16
+ var style = createElement('style');
17
+ var fontContent = '/** embedded fonts **/';
18
+ try {
19
+ for (var _b = __values(fontTable.fonts), _c = _b.next(); !_c.done; _c = _b.next()) {
20
+ var font = _c.value;
21
+ var fontName = font.name.replace(/['\\]/g, ''); // 简单防止 xss
22
+ var fontPath = font.url;
23
+ if (fontName && fontPath) {
24
+ fontContent += "\n @font-face {\n font-family: '".concat(fontName, "';\n src: url('").concat(fontPath, "');\n }\n ");
25
+ }
26
+ }
27
+ }
28
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
29
+ finally {
30
+ try {
31
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
32
+ }
33
+ finally { if (e_1) throw e_1.error; }
34
+ }
35
+ style.innerHTML = fontContent;
36
+ return style;
37
+ }
38
+
39
+ export { renderFont };
@@ -0,0 +1,4 @@
1
+ import { Geom } from '../openxml/drawing/Geom';
2
+ import { ShapePr } from '../openxml/drawing/ShapeProperties';
3
+ import { WPSStyle } from '../openxml/word/wps/WPSStyle';
4
+ export declare function renderGeom(geom: Geom, shapePr: ShapePr, width: number, height: number, wpsStyle?: WPSStyle): SVGElement | null;
@@ -0,0 +1,14 @@
1
+ import { presetShape } from '../openxml/drawing/presetShape.js';
2
+ import { shapeToSVG } from '../openxml/drawing/svg/shapeToSVG.js';
3
+
4
+ function renderGeom(geom, shapePr, width, height, wpsStyle) {
5
+ if (geom.prst) {
6
+ var shape = presetShape[geom.prst];
7
+ if (shape) {
8
+ return shapeToSVG(shape, geom.avLst || [], shapePr, width, height, wpsStyle);
9
+ }
10
+ }
11
+ return null;
12
+ }
13
+
14
+ export { renderGeom };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 渲染 header 内容
3
+ */
4
+ import Word from '../Word';
5
+ import { Header } from '../openxml/word/Header';
6
+ export declare function renderHeader(word: Word, header: Header): HTMLElement;
@@ -0,0 +1,40 @@
1
+ import { __values } from 'tslib';
2
+ import { Paragraph } from '../openxml/word/Paragraph.js';
3
+ import renderParagraph from './renderParagraph.js';
4
+ import { createElement, appendChild } from '../util/dom.js';
5
+ import renderTable from './renderTable.js';
6
+ import { Table } from '../openxml/word/Table.js';
7
+
8
+ /**
9
+ * 渲染 header 内容
10
+ */
11
+ function renderHeader(word, header) {
12
+ var e_1, _a;
13
+ var headerEl = createElement('div');
14
+ try {
15
+ for (var _b = __values(header.children), _c = _b.next(); !_c.done; _c = _b.next()) {
16
+ var child = _c.value;
17
+ if (child instanceof Paragraph) {
18
+ var p = renderParagraph(word, child, true, true);
19
+ appendChild(headerEl, p);
20
+ }
21
+ else if (child instanceof Table) {
22
+ var table = renderTable(word, child);
23
+ appendChild(headerEl, table);
24
+ }
25
+ else {
26
+ console.warn('unknown child', child);
27
+ }
28
+ }
29
+ }
30
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
31
+ finally {
32
+ try {
33
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
34
+ }
35
+ finally { if (e_1) throw e_1.error; }
36
+ }
37
+ return headerEl;
38
+ }
39
+
40
+ export { renderHeader };
@@ -1,4 +1,4 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __values } from 'tslib';
2
2
  import { createElement, appendChild } from '../util/dom.js';
3
3
  import { Run } from '../openxml/word/Run.js';
4
4
  import renderRun from './renderRun.js';
@@ -19,6 +19,9 @@ function renderHyperLink(word, hyperlink, paragraph) {
19
19
  if (hyperlink.anchor) {
20
20
  a.href = '#' + hyperlink.anchor;
21
21
  }
22
+ if (hyperlink.tooltip) {
23
+ a.title = hyperlink.tooltip;
24
+ }
22
25
  try {
23
26
  for (var _b = __values(hyperlink.children), _c = _b.next(); !_c.done; _c = _b.next()) {
24
27
  var child = _c.value;
@@ -1,4 +1,4 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __values } from 'tslib';
2
2
  import { appendChild } from '../util/dom.js';
3
3
  import { Run } from '../openxml/word/Run.js';
4
4
  import { BookmarkStart } from '../openxml/word/Bookmark.js';
@@ -1,4 +1,4 @@
1
- import { __values } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __values } from 'tslib';
2
2
  import { createElement } from '../util/dom.js';
3
3
  import renderInlineText from './renderInlineText.js';
4
4
 
@@ -0,0 +1,3 @@
1
+ import { OMath } from '../openxml/math/OMath';
2
+ import Word from '../Word';
3
+ export declare function renderOMath(word: Word, math: OMath): DocumentFragment;
@@ -0,0 +1,7 @@
1
+ import { convertOOXML } from '../openxml/math/convertOOML.js';
2
+
3
+ function renderOMath(word, math) {
4
+ return convertOOXML(math.element);
5
+ }
6
+
7
+ export { renderOMath };
@@ -0,0 +1 @@
1
+ export declare function renderNoBreakHyphen(): HTMLElement;
@@ -0,0 +1,9 @@
1
+ import { createElement } from '../util/dom.js';
2
+
3
+ function renderNoBreakHyphen() {
4
+ var softHyphen = createElement('span');
5
+ softHyphen.innerHTML = '–';
6
+ return softHyphen;
7
+ }
8
+
9
+ export { renderNoBreakHyphen };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 渲染 footnotes 和 endnotes,这个需要最后执行
3
+ */
4
+ import Word from '../Word';
5
+ export declare function renderNotes(word: Word): HTMLElement | null;
@@ -0,0 +1,77 @@
1
+ import { __values } from 'tslib';
2
+ import { Paragraph } from '../openxml/word/Paragraph.js';
3
+ import { Table } from '../openxml/word/Table.js';
4
+ import { createElement, appendChild } from '../util/dom.js';
5
+ import renderParagraph from './renderParagraph.js';
6
+ import renderTable from './renderTable.js';
7
+
8
+ /**
9
+ * 渲染 footnotes 和 endnotes,这个需要最后执行
10
+ */
11
+ function renderNote(word, noteRoot, type, id, note) {
12
+ var e_1, _a;
13
+ var noteChild = note.children;
14
+ var noteElement = createElement('div');
15
+ var mark = createElement('a');
16
+ var fName = type + '-' + id;
17
+ mark.name = fName;
18
+ mark.id = fName;
19
+ noteRoot.appendChild(noteElement);
20
+ try {
21
+ for (var noteChild_1 = __values(noteChild), noteChild_1_1 = noteChild_1.next(); !noteChild_1_1.done; noteChild_1_1 = noteChild_1.next()) {
22
+ var child = noteChild_1_1.value;
23
+ if (child instanceof Paragraph) {
24
+ var p = renderParagraph(word, child);
25
+ appendChild(noteElement, p);
26
+ }
27
+ else if (child instanceof Table) {
28
+ appendChild(noteElement, renderTable(word, child));
29
+ }
30
+ else {
31
+ console.warn('unknown child', child);
32
+ }
33
+ }
34
+ }
35
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
36
+ finally {
37
+ try {
38
+ if (noteChild_1_1 && !noteChild_1_1.done && (_a = noteChild_1.return)) _a.call(noteChild_1);
39
+ }
40
+ finally { if (e_1) throw e_1.error; }
41
+ }
42
+ }
43
+ /*
44
+ * 过滤掉 0 和 -1 后是否还有其他的值,没有的话就不需要渲染
45
+ */
46
+ function hasNote(notes) {
47
+ if (!notes) {
48
+ return false;
49
+ }
50
+ for (var id in notes) {
51
+ if (id !== '0' && id !== '-1') {
52
+ return true;
53
+ }
54
+ }
55
+ return false;
56
+ }
57
+ function renderNotes(word) {
58
+ var noteRoot = createElement('div');
59
+ if (hasNote(word.footNotes)) {
60
+ for (var fId in word.footNotes) {
61
+ renderNote(word, noteRoot, 'footnote', fId, word.footNotes[fId]);
62
+ }
63
+ }
64
+ if (hasNote(word.endNotes)) {
65
+ for (var fId in word.endNotes || {}) {
66
+ renderNote(word, noteRoot, 'endnote', fId, word.endNotes[fId]);
67
+ }
68
+ }
69
+ if (noteRoot.children.length) {
70
+ return noteRoot;
71
+ }
72
+ else {
73
+ return null;
74
+ }
75
+ }
76
+
77
+ export { renderNotes };
@@ -1,6 +1,5 @@
1
- import { __assign } from '../node_modules/tslib/tslib.es6.js';
1
+ import { __assign } from 'tslib';
2
2
  import { createElement } from '../util/dom.js';
3
- import { ST_NumberFormat } from '../openxml/Types.js';
4
3
  import { setElementStyle } from './setElementStyle.js';
5
4
 
6
5
  /**
@@ -36,17 +35,17 @@ function romanize(num) {
36
35
  */
37
36
  function convertNumToFormat(numFmt, num) {
38
37
  switch (numFmt) {
39
- case ST_NumberFormat.decimal:
38
+ case 'decimal':
40
39
  return num.toString();
41
- case ST_NumberFormat.lowerLetter:
40
+ case 'lowerLetter':
42
41
  return String.fromCharCode(96 + num);
43
- case ST_NumberFormat.upperLetter:
42
+ case 'upperLetter':
44
43
  return String.fromCharCode(64 + num);
45
- case ST_NumberFormat.lowerRoman:
44
+ case 'lowerRoman':
46
45
  return romanize(num).toLowerCase();
47
- case ST_NumberFormat.upperRoman:
46
+ case 'upperRoman':
48
47
  return romanize(num).toUpperCase();
49
- case ST_NumberFormat.bullet:
48
+ case 'bullet':
50
49
  // 原本其实是用
51
50
  return '•';
52
51
  default:
@@ -129,8 +128,7 @@ function renderNumbering(p, word, numPr) {
129
128
  // 还不支持 lvlJc
130
129
  // 还不支持 image
131
130
  // http://officeopenxml.com/WPnumbering-imagesAsSymbol.php
132
- if (lvl.numFmt !== ST_NumberFormat.bullet ||
133
- word.renderOptions.bulletUseFont) {
131
+ if (lvl.numFmt !== 'bullet' || word.renderOptions.bulletUseFont) {
134
132
  element.innerText = lvlText;
135
133
  }
136
134
  else {
@@ -4,4 +4,4 @@ import { Paragraph } from '../openxml/word/Paragraph';
4
4
  * 渲染段落
5
5
  * @param renderEmptySpace 如果是 true 的话,当内容为空时会自动加上  
6
6
  */
7
- export default function renderParagraph(word: Word, paragraph: Paragraph, renderEmptySpace?: boolean): HTMLElement;
7
+ export default function renderParagraph(word: Word, paragraph: Paragraph, renderEmptySpace?: boolean, inHeader?: boolean): HTMLElement;