postext 1.38.0 → 1.39.0

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 (208) hide show
  1. package/dist/__tests__/bundle.test.js +21 -0
  2. package/dist/__tests__/bundle.test.js.map +1 -1
  3. package/dist/__tests__/comics/frames.test.js +99 -10
  4. package/dist/__tests__/comics/frames.test.js.map +1 -1
  5. package/dist/__tests__/composed/figureWords.test.d.ts +2 -0
  6. package/dist/__tests__/composed/figureWords.test.d.ts.map +1 -0
  7. package/dist/__tests__/composed/figureWords.test.js +105 -0
  8. package/dist/__tests__/composed/figureWords.test.js.map +1 -0
  9. package/dist/__tests__/composed/fit.test.js +24 -7
  10. package/dist/__tests__/composed/fit.test.js.map +1 -1
  11. package/dist/__tests__/composed/frameModes.test.d.ts +2 -0
  12. package/dist/__tests__/composed/frameModes.test.d.ts.map +1 -0
  13. package/dist/__tests__/composed/frameModes.test.js +72 -0
  14. package/dist/__tests__/composed/frameModes.test.js.map +1 -0
  15. package/dist/__tests__/composed/frameWritingMode.test.d.ts +2 -0
  16. package/dist/__tests__/composed/frameWritingMode.test.d.ts.map +1 -0
  17. package/dist/__tests__/composed/frameWritingMode.test.js +211 -0
  18. package/dist/__tests__/composed/frameWritingMode.test.js.map +1 -0
  19. package/dist/__tests__/composed/groupStartGrid.test.d.ts +2 -0
  20. package/dist/__tests__/composed/groupStartGrid.test.d.ts.map +1 -0
  21. package/dist/__tests__/composed/groupStartGrid.test.js +66 -0
  22. package/dist/__tests__/composed/groupStartGrid.test.js.map +1 -0
  23. package/dist/__tests__/composed/labelsChecks.test.d.ts +2 -0
  24. package/dist/__tests__/composed/labelsChecks.test.d.ts.map +1 -0
  25. package/dist/__tests__/composed/labelsChecks.test.js +307 -0
  26. package/dist/__tests__/composed/labelsChecks.test.js.map +1 -0
  27. package/dist/__tests__/composed/logicalEdges.test.d.ts +2 -0
  28. package/dist/__tests__/composed/logicalEdges.test.d.ts.map +1 -0
  29. package/dist/__tests__/composed/logicalEdges.test.js +94 -0
  30. package/dist/__tests__/composed/logicalEdges.test.js.map +1 -0
  31. package/dist/__tests__/composed/sourceMap.test.js +62 -0
  32. package/dist/__tests__/composed/sourceMap.test.js.map +1 -1
  33. package/dist/__tests__/composed/spreadLabels.test.js +5 -2
  34. package/dist/__tests__/composed/spreadLabels.test.js.map +1 -1
  35. package/dist/__tests__/defaults/calloutStyleExtends.test.d.ts +2 -0
  36. package/dist/__tests__/defaults/calloutStyleExtends.test.d.ts.map +1 -0
  37. package/dist/__tests__/defaults/calloutStyleExtends.test.js +123 -0
  38. package/dist/__tests__/defaults/calloutStyleExtends.test.js.map +1 -0
  39. package/dist/__tests__/exports.test.js +2 -0
  40. package/dist/__tests__/exports.test.js.map +1 -1
  41. package/dist/__tests__/paragraphDropCap.test.js +78 -0
  42. package/dist/__tests__/paragraphDropCap.test.js.map +1 -1
  43. package/dist/__tests__/pipeline/calloutCutRules.test.d.ts +2 -0
  44. package/dist/__tests__/pipeline/calloutCutRules.test.d.ts.map +1 -0
  45. package/dist/__tests__/pipeline/calloutCutRules.test.js +91 -0
  46. package/dist/__tests__/pipeline/calloutCutRules.test.js.map +1 -0
  47. package/dist/__tests__/pipeline/columnsWidows.test.d.ts +2 -0
  48. package/dist/__tests__/pipeline/columnsWidows.test.d.ts.map +1 -0
  49. package/dist/__tests__/pipeline/columnsWidows.test.js +76 -0
  50. package/dist/__tests__/pipeline/columnsWidows.test.js.map +1 -0
  51. package/dist/__tests__/vertical/canvasPaint.test.js +80 -0
  52. package/dist/__tests__/vertical/canvasPaint.test.js.map +1 -1
  53. package/dist/bundle/codec.d.ts.map +1 -1
  54. package/dist/bundle/codec.js +25 -2
  55. package/dist/bundle/codec.js.map +1 -1
  56. package/dist/canvas-backend/composed.d.ts +8 -1
  57. package/dist/canvas-backend/composed.d.ts.map +1 -1
  58. package/dist/canvas-backend/composed.js +21 -11
  59. package/dist/canvas-backend/composed.js.map +1 -1
  60. package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
  61. package/dist/canvas-backend/headerFooter.js +11 -8
  62. package/dist/canvas-backend/headerFooter.js.map +1 -1
  63. package/dist/canvas-backend/index.d.ts.map +1 -1
  64. package/dist/canvas-backend/index.js +5 -3
  65. package/dist/canvas-backend/index.js.map +1 -1
  66. package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
  67. package/dist/canvas-backend/renderResourceBlock.js +7 -0
  68. package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
  69. package/dist/comics/textPanels.d.ts +24 -6
  70. package/dist/comics/textPanels.d.ts.map +1 -1
  71. package/dist/comics/textPanels.js +84 -12
  72. package/dist/comics/textPanels.js.map +1 -1
  73. package/dist/composed/geometry.d.ts +1 -19
  74. package/dist/composed/geometry.d.ts.map +1 -1
  75. package/dist/composed/geometry.js +24 -2
  76. package/dist/composed/geometry.js.map +1 -1
  77. package/dist/composed/labels.d.ts +14 -1
  78. package/dist/composed/labels.d.ts.map +1 -1
  79. package/dist/composed/labels.js +206 -11
  80. package/dist/composed/labels.js.map +1 -1
  81. package/dist/composed/paint.d.ts +26 -0
  82. package/dist/composed/paint.d.ts.map +1 -1
  83. package/dist/composed/paint.js +25 -2
  84. package/dist/composed/paint.js.map +1 -1
  85. package/dist/composed/sourceMap.d.ts +7 -2
  86. package/dist/composed/sourceMap.d.ts.map +1 -1
  87. package/dist/composed/sourceMap.js +31 -16
  88. package/dist/composed/sourceMap.js.map +1 -1
  89. package/dist/composed/types.d.ts +3 -0
  90. package/dist/composed/types.d.ts.map +1 -1
  91. package/dist/composed/validate.d.ts.map +1 -1
  92. package/dist/composed/validate.js +2 -0
  93. package/dist/composed/validate.js.map +1 -1
  94. package/dist/composed/wrap.d.ts +7 -0
  95. package/dist/composed/wrap.d.ts.map +1 -1
  96. package/dist/composed/wrap.js +52 -4
  97. package/dist/composed/wrap.js.map +1 -1
  98. package/dist/configWarnings.d.ts.map +1 -1
  99. package/dist/configWarnings.js +33 -1
  100. package/dist/configWarnings.js.map +1 -1
  101. package/dist/contrast.d.ts +4 -2
  102. package/dist/contrast.d.ts.map +1 -1
  103. package/dist/contrast.js +22 -1
  104. package/dist/contrast.js.map +1 -1
  105. package/dist/defaults/calloutStyles.d.ts +14 -1
  106. package/dist/defaults/calloutStyles.d.ts.map +1 -1
  107. package/dist/defaults/calloutStyles.js +70 -2
  108. package/dist/defaults/calloutStyles.js.map +1 -1
  109. package/dist/defaults/index.d.ts +1 -1
  110. package/dist/defaults/index.d.ts.map +1 -1
  111. package/dist/defaults/index.js +1 -1
  112. package/dist/defaults/index.js.map +1 -1
  113. package/dist/design/layout.d.ts +5 -0
  114. package/dist/design/layout.d.ts.map +1 -1
  115. package/dist/design/layout.js +19 -9
  116. package/dist/design/layout.js.map +1 -1
  117. package/dist/design/logicalEdges.d.ts +27 -0
  118. package/dist/design/logicalEdges.d.ts.map +1 -0
  119. package/dist/design/logicalEdges.js +36 -0
  120. package/dist/design/logicalEdges.js.map +1 -0
  121. package/dist/html-backend.d.ts.map +1 -1
  122. package/dist/html-backend.js +42 -10
  123. package/dist/html-backend.js.map +1 -1
  124. package/dist/index.d.ts +2 -2
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/parse/blockParser.d.ts.map +1 -1
  129. package/dist/parse/blockParser.js +36 -1
  130. package/dist/parse/blockParser.js.map +1 -1
  131. package/dist/parse/index.d.ts +1 -1
  132. package/dist/parse/index.d.ts.map +1 -1
  133. package/dist/parse/index.js.map +1 -1
  134. package/dist/parse/indexMarks.d.ts.map +1 -1
  135. package/dist/parse/indexMarks.js +2 -0
  136. package/dist/parse/indexMarks.js.map +1 -1
  137. package/dist/parse/types.d.ts +14 -0
  138. package/dist/parse/types.d.ts.map +1 -1
  139. package/dist/pipeline/build.d.ts.map +1 -1
  140. package/dist/pipeline/build.js +16 -4
  141. package/dist/pipeline/build.js.map +1 -1
  142. package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
  143. package/dist/pipeline/buildMeasurement.js +1 -0
  144. package/dist/pipeline/buildMeasurement.js.map +1 -1
  145. package/dist/pipeline/calloutLayout.d.ts.map +1 -1
  146. package/dist/pipeline/calloutLayout.js +13 -32
  147. package/dist/pipeline/calloutLayout.js.map +1 -1
  148. package/dist/pipeline/columnsGroup.d.ts +3 -3
  149. package/dist/pipeline/columnsGroup.d.ts.map +1 -1
  150. package/dist/pipeline/columnsGroup.js +5 -4
  151. package/dist/pipeline/columnsGroup.js.map +1 -1
  152. package/dist/pipeline/composedLayout.d.ts +4 -1
  153. package/dist/pipeline/composedLayout.d.ts.map +1 -1
  154. package/dist/pipeline/composedLayout.js +167 -20
  155. package/dist/pipeline/composedLayout.js.map +1 -1
  156. package/dist/pipeline/contentWarnings.d.ts.map +1 -1
  157. package/dist/pipeline/contentWarnings.js +23 -1
  158. package/dist/pipeline/contentWarnings.js.map +1 -1
  159. package/dist/pipeline/dropCap.d.ts.map +1 -1
  160. package/dist/pipeline/dropCap.js +11 -0
  161. package/dist/pipeline/dropCap.js.map +1 -1
  162. package/dist/pipeline/figureWords.d.ts +21 -0
  163. package/dist/pipeline/figureWords.d.ts.map +1 -0
  164. package/dist/pipeline/figureWords.js +43 -0
  165. package/dist/pipeline/figureWords.js.map +1 -0
  166. package/dist/pipeline/frameLayout.d.ts.map +1 -1
  167. package/dist/pipeline/frameLayout.js +12 -3
  168. package/dist/pipeline/frameLayout.js.map +1 -1
  169. package/dist/pipeline/headerFooter.d.ts +2 -0
  170. package/dist/pipeline/headerFooter.d.ts.map +1 -1
  171. package/dist/pipeline/headerFooter.js +10 -4
  172. package/dist/pipeline/headerFooter.js.map +1 -1
  173. package/dist/pipeline/partPalette.d.ts +4 -2
  174. package/dist/pipeline/partPalette.d.ts.map +1 -1
  175. package/dist/pipeline/partPalette.js +19 -0
  176. package/dist/pipeline/partPalette.js.map +1 -1
  177. package/dist/pipeline/verticalMetrics.d.ts +3 -2
  178. package/dist/pipeline/verticalMetrics.d.ts.map +1 -1
  179. package/dist/pipeline/verticalMetrics.js +25 -2
  180. package/dist/pipeline/verticalMetrics.js.map +1 -1
  181. package/dist/preflight.d.ts +1 -1
  182. package/dist/preflight.js +31 -3
  183. package/dist/preflight.js.map +1 -1
  184. package/dist/types.d.ts +19 -1
  185. package/dist/types.d.ts.map +1 -1
  186. package/dist/vdt.d.ts +67 -1
  187. package/dist/vdt.d.ts.map +1 -1
  188. package/dist/vdt.js.map +1 -1
  189. package/dist/word/docxRead.d.ts.map +1 -1
  190. package/dist/word/docxRead.js +16 -2
  191. package/dist/word/docxRead.js.map +1 -1
  192. package/dist/word/index.d.ts +2 -0
  193. package/dist/word/index.d.ts.map +1 -1
  194. package/dist/word/index.js +1 -0
  195. package/dist/word/index.js.map +1 -1
  196. package/dist/word/model.d.ts +7 -0
  197. package/dist/word/model.d.ts.map +1 -1
  198. package/dist/word/model.js.map +1 -1
  199. package/dist/word/toDocx.d.ts.map +1 -1
  200. package/dist/word/toDocx.js +28 -13
  201. package/dist/word/toDocx.js.map +1 -1
  202. package/dist/word/tracking.d.ts +37 -0
  203. package/dist/word/tracking.d.ts.map +1 -0
  204. package/dist/word/tracking.js +137 -0
  205. package/dist/word/tracking.js.map +1 -0
  206. package/dist/word/word.test.js +79 -0
  207. package/dist/word/word.test.js.map +1 -1
  208. package/package.json +1 -1
@@ -3,6 +3,8 @@ export { wordToPostext, pictureResolution, paragraphTargetOf, characterTargetOf,
3
3
  export type { ChapterMode, ImportedPicture, ImportedTable, ImportedChapter, ImportResult, ImportSettings } from './toMarkdown';
4
4
  export { postextToDocx, DEFAULT_STYLE_NAMES } from './toDocx';
5
5
  export type { ExportChapter, WordStyleNames, ExportSettings } from './toDocx';
6
+ export { wordStyleTracking, applyStyleTracking } from './tracking';
7
+ export type { StyleTracking } from './tracking';
6
8
  export { analyzeDocx } from './analyze';
7
9
  export type { StyleUse, FindingId, QualityFinding, QualityVerdict, QualityReport } from './analyze';
8
10
  export { DEFAULT_IMPORT_OPTIONS, MARKUP_STYLE, MARKUP_CHAR_STYLE, CHAPTER_STYLE, emptyTemplate, calloutStylesOf, chipStylesOf, displayStyleName, lookup, guessParagraphTarget, guessCharacterTarget, parseTemplate, templateFile, newTemplateId, } from './template';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/word/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrI,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/word/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrI,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACpG,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9I,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5D,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC"}
@@ -5,6 +5,7 @@
5
5
  export { readDocx, DocxReadError, TEMPLATE_XML_ROOT, TEMPLATE_XML_NS } from './docxRead';
6
6
  export { wordToPostext, pictureResolution, paragraphTargetOf, characterTargetOf, stripCaptionLabel, tableModel } from './toMarkdown';
7
7
  export { postextToDocx, DEFAULT_STYLE_NAMES } from './toDocx';
8
+ export { wordStyleTracking, applyStyleTracking } from './tracking';
8
9
  export { analyzeDocx } from './analyze';
9
10
  export { DEFAULT_IMPORT_OPTIONS, MARKUP_STYLE, MARKUP_CHAR_STYLE, CHAPTER_STYLE, emptyTemplate, calloutStylesOf, chipStylesOf, displayStyleName, lookup, guessParagraphTarget, guessCharacterTarget, parseTemplate, templateFile, newTemplateId, } from './template';
10
11
  export { parseInline, renderInline } from './inline';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/word/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,mEAAmE;AAEnE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErI,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/word/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,mEAAmE;AAEnE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAErI,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -19,6 +19,11 @@ export interface WordStyle {
19
19
  outlineLevel?: number;
20
20
  /** `w:tabs`: the tab stops the style sets or clears (#622). */
21
21
  tabs?: WordTabStop[];
22
+ /** `w:spacing` of the style's run properties: the character spacing, in
23
+ * twentieths of a point (negative condenses; #932). */
24
+ letterSpacing?: number;
25
+ /** `w:sz` of the style's run properties, in half-points. */
26
+ fontSizeHalfPoints?: number;
22
27
  }
23
28
  /** A tab stop of a Word paragraph or style (`w:tab` in `w:tabs`, #622):
24
29
  * `val` its alignment (`left`, `right`, `center`, `decimal`, `start`,
@@ -131,6 +136,8 @@ export interface WordDocument {
131
136
  styles: Map<string, WordStyle>;
132
137
  /** Id of the default paragraph style (`Normal`). */
133
138
  defaultParagraphStyle: string;
139
+ /** `w:docDefaults` size, half-points: the size of text whose styles set none. */
140
+ defaultFontSizeHalfPoints?: number;
134
141
  numbering: WordNumbering;
135
142
  footnotes: Map<string, WordBlock[]>;
136
143
  endnotes: Map<string, WordBlock[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/word/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/word/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/word/model.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,8DAA8D;AAyI9D,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,CAAgB;IACpE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,qBAAqB,CAAC;IAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;aAChC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,IAAI,GAAG,CAAC;aACvD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/word/model.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,8DAA8D;AAgJ9D,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAAC,GAAiB,EAAE,CAAgB;IACpE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,qBAAqB,CAAC;IAClD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,CAAgB;IAC5C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC;aAChC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,IAAI,GAAG,CAAC;aACvD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toDocx.d.ts","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAkC,MAAM,UAAU,CAAC;AAE9E,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB;uCACmC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAoqBD,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,UAAU,CA6HtG"}
1
+ {"version":3,"file":"toDocx.d.ts","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAkC,MAAM,UAAU,CAAC;AAE9E,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB;uCACmC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAqrBD,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,EAAE,cAAc,GAAG,UAAU,CA6HtG"}
@@ -334,15 +334,20 @@ function halfPoints(d, base = 10) {
334
334
  return pt > 4 && pt < 200 ? Math.round(pt * 2) : undefined;
335
335
  }
336
336
  /** A tracking as Word's character spacing (`w:spacing`, twentieths of a
337
- * point); `em` counts the style's size (10 pt when it sets none in pt). */
338
- function trackingTwips(d, fontSize) {
339
- if (!d || !Number.isFinite(d.value) || d.value === 0)
337
+ * point); `em` counts `basePt`, the size of the text the style sets.
338
+ * Undefined for an unset or non-finite tracking; 0 stays 0. */
339
+ function trackingTwips(d, basePt) {
340
+ if (!d || !Number.isFinite(d.value))
340
341
  return undefined;
341
- const sizePt = fontSize?.unit === 'pt' ? fontSize.value : fontSize?.unit === 'px' ? fontSize.value * 0.75 : 10;
342
- const pt = d.unit === 'pt' ? d.value : d.unit === 'px' ? d.value * 0.75 : d.unit === 'mm' ? d.value * 2.8346 : d.unit === 'cm' ? d.value * 28.346 : d.unit === 'in' ? d.value * 72 : d.value * sizePt;
343
- const tw = pt === undefined ? 0 : Math.round(pt * 20);
344
- return tw !== 0 ? tw : undefined;
342
+ const pt = d.unit === 'pt' ? d.value : d.unit === 'px' ? d.value * 0.75 : d.unit === 'mm' ? d.value * 2.8346 : d.unit === 'cm' ? d.value * 28.346 : d.unit === 'in' ? d.value * 72 : d.value * basePt;
343
+ return Math.round(pt * 20);
345
344
  }
345
+ /** The sizes the export gives Word's heading styles, half-points. */
346
+ const HEADING_HALF_POINTS = [40, 32, 28, 26, 24, 22];
347
+ /** The size a heading level is set at in Word, pt. */
348
+ const headingPt = (level) => (HEADING_HALF_POINTS[level - 1] ?? 22) / 2;
349
+ /** The `w:spacing` run property for a tracking (nothing for none). */
350
+ const spacingXml = (tw) => (tw !== undefined ? `<w:spacing w:val="${tw}"/>` : '');
346
351
  function twips(d, base = 10) {
347
352
  const hp = halfPoints(d, base);
348
353
  return hp !== undefined ? hp * 10 : undefined;
@@ -378,16 +383,21 @@ class Styles {
378
383
  byName = new Map();
379
384
  paragraphs = {};
380
385
  characters = {};
386
+ /** The size of the body text, pt: what an `em` tracking counts where a style sets no size. */
387
+ bodyPt;
381
388
  constructor(template, config, names) {
382
389
  this.template = template;
383
390
  this.config = config;
384
391
  this.names = names;
385
392
  const body = config.bodyText;
386
393
  const bodySize = halfPoints(body?.fontSize) ?? 22;
394
+ this.bodyPt = bodySize / 2;
387
395
  this.define({ id: 'Normal', name: 'Normal', kind: 'paragraph', builtin: true, pPr: '<w:spacing w:after="120" w:line="276" w:lineRule="auto"/>', rPr: `<w:sz w:val="${bodySize}"/>` });
388
- const sizes = [40, 32, 28, 26, 24, 22];
396
+ const sizes = HEADING_HALF_POINTS;
389
397
  for (let l = 1; l <= 6; l++) {
390
- this.define({ id: `Heading${l}`, name: BUILTIN_HEADING(l), kind: 'paragraph', builtin: true, basedOn: 'Normal', pPr: `<w:keepNext/><w:spacing w:before="${l === 1 ? 480 : 240}" w:after="120"/><w:outlineLvl w:val="${l - 1}"/>`, rPr: `<w:b/><w:sz w:val="${sizes[l - 1]}"/>` });
398
+ // The level's tracking (#932), before the size as Word orders them.
399
+ const tracking = trackingTwips(config.headings?.levels?.find((x) => x.level === l)?.letterSpacing, sizes[l - 1] / 2);
400
+ this.define({ id: `Heading${l}`, name: BUILTIN_HEADING(l), kind: 'paragraph', builtin: true, basedOn: 'Normal', pPr: `<w:keepNext/><w:spacing w:before="${l === 1 ? 480 : 240}" w:after="120"/><w:outlineLvl w:val="${l - 1}"/>`, rPr: `<w:b/>${tracking ? spacingXml(tracking) : ''}<w:sz w:val="${sizes[l - 1]}"/>` });
391
401
  }
392
402
  this.define({ id: 'Quote', name: 'Quote', kind: 'paragraph', builtin: true, basedOn: 'Normal', pPr: '<w:ind w:left="720" w:right="720"/>', rPr: '<w:i/><w:color w:val="595959"/>' });
393
403
  this.define({ id: 'ListParagraph', name: 'List Paragraph', kind: 'paragraph', builtin: true, basedOn: 'Normal', pPr: '<w:ind w:left="720"/><w:contextualSpacing/>' });
@@ -457,7 +467,12 @@ class Styles {
457
467
  }
458
468
  }
459
469
  const hs = style ? this.config.headingStyles?.find((s) => s.id === style) : undefined;
460
- return this.paragraph({ kind: 'heading', level, ...(style ? { style } : {}) }, () => (hs ? hs.name ?? hs.id : style ?? BUILTIN_HEADING(level)), () => ({ basedOn: `Heading${level}` }));
470
+ return this.paragraph({ kind: 'heading', level, ...(style ? { style } : {}) }, () => (hs ? hs.name ?? hs.id : style ?? BUILTIN_HEADING(level)), () => {
471
+ // A heading style's own tracking (#932): written even at 0, which
472
+ // takes the level's off.
473
+ const own = trackingTwips(hs?.letterSpacing, headingPt(level));
474
+ return { basedOn: `Heading${level}`, ...(own !== undefined ? { rPr: spacingXml(own) } : {}) };
475
+ });
461
476
  }
462
477
  paragraphsStyle(style) {
463
478
  const ps = this.config.paragraphStyles?.find((s) => s.id === style);
@@ -474,10 +489,10 @@ class Styles {
474
489
  if (c)
475
490
  rPr += `<w:color w:val="${c}"/>`;
476
491
  // Tracking (#907) in twentieths of a point, after the colour.
477
- const spacing = trackingTwips(ps?.letterSpacing, ps?.fontSize);
478
- if (spacing)
479
- rPr += `<w:spacing w:val="${spacing}"/>`;
480
492
  const sz = halfPoints(ps?.fontSize);
493
+ const spacing = trackingTwips(ps?.letterSpacing, (sz ?? this.bodyPt * 2) / 2);
494
+ if (spacing)
495
+ rPr += spacingXml(spacing);
481
496
  if (sz)
482
497
  rPr += `<w:sz w:val="${sz}"/>`;
483
498
  const jc = ps?.textAlign === 'center' ? 'center' : ps?.textAlign === 'right' || ps?.textAlign === 'end' ? 'right' : ps?.textAlign === 'justify' ? 'both' : ps?.textAlign ? 'left' : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"toDocx.js","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toDocx.js","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Dimension, PostextConfig } from '../types';
2
+ import type { WordDocument } from './model';
3
+ import type { ParagraphTarget, WordTemplate } from './template';
4
+ /** The tracking of one Word paragraph style, on the Postext style it becomes. */
5
+ export interface StyleTracking {
6
+ /** The Word style's name, as stored. */
7
+ style: string;
8
+ /** Where it goes: a paragraph style, a heading style or level, or the title of a callout type. */
9
+ target: Extract<ParagraphTarget, {
10
+ kind: 'paragraphs' | 'heading' | 'calloutTitle';
11
+ }>;
12
+ /** In em of the style's own size (`0.02em` = 2 % of the size). */
13
+ letterSpacing: Dimension;
14
+ }
15
+ /**
16
+ * The tracking each paragraph style in use sets (own or inherited), on the
17
+ * Postext style it maps to under `template`. A style that sets none, or
18
+ * sets it to zero, is left out; so is a style that goes to body text, a
19
+ * quote, a caption or anything else with no style of its own to carry it.
20
+ * Where two Word styles go to the same Postext style, the one with more
21
+ * paragraphs wins.
22
+ */
23
+ export declare function wordStyleTracking(doc: WordDocument, template: WordTemplate, config: PostextConfig): StyleTracking[];
24
+ /**
25
+ * `config` with the tracking set on each style it names that sets none of
26
+ * its own: a paragraph style, a heading style, a heading level (an entry
27
+ * is added to `headings.levels` when the level has none) or the title of a
28
+ * listed callout style. Nothing the book already sets is changed. `applied`
29
+ * lists what was set; `skipped` what the book already tracks, or has no
30
+ * style for.
31
+ */
32
+ export declare function applyStyleTracking(config: PostextConfig, tracking: readonly StyleTracking[]): {
33
+ config: PostextConfig;
34
+ applied: StyleTracking[];
35
+ skipped: StyleTracking[];
36
+ };
37
+ //# sourceMappingURL=tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/word/tracking.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAa,YAAY,EAAa,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIhE,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE;QAAE,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,cAAc,CAAA;KAAE,CAAC,CAAC;IACtF,kEAAkE;IAClE,aAAa,EAAE,SAAS,CAAC;CAC1B;AAiCD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAoBnH;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAiD3K"}
@@ -0,0 +1,137 @@
1
+ // The character spacing of Word's paragraph styles (`w:spacing` in a style's
2
+ // run properties, #932), as the tracking of the Postext style each one
3
+ // becomes. The Markdown an import writes cannot carry it (a style is form,
4
+ // not content), so it is read apart: `wordStyleTracking` lists what the
5
+ // styles in use say, and `applyStyleTracking` puts it on the book's styles
6
+ // that set no tracking of their own.
7
+ import { lookup } from './template';
8
+ import { paragraphTargetOf } from './toMarkdown';
9
+ const MAX_CHAIN = 12;
10
+ /** The paragraph style ids the document's text uses, with how many paragraphs each has. */
11
+ function usedStyles(doc) {
12
+ const used = new Map();
13
+ const walk = (blocks) => {
14
+ for (const b of blocks) {
15
+ if (b.type === 'table') {
16
+ for (const row of b.rows)
17
+ for (const cell of row)
18
+ walk(cell.blocks);
19
+ }
20
+ else {
21
+ const id = b.styleId || doc.defaultParagraphStyle;
22
+ used.set(id, (used.get(id) ?? 0) + 1);
23
+ if (b.textBoxes)
24
+ walk(b.textBoxes);
25
+ }
26
+ }
27
+ };
28
+ walk(doc.blocks);
29
+ return used;
30
+ }
31
+ /** What a style sets, or what its nearest ancestor does. */
32
+ function inherited(doc, style, pick) {
33
+ let s = style;
34
+ for (let guard = 0; s && guard < MAX_CHAIN; guard++) {
35
+ const v = pick(s);
36
+ if (v !== undefined)
37
+ return v;
38
+ s = s.basedOn ? doc.styles.get(s.basedOn) : undefined;
39
+ }
40
+ return undefined;
41
+ }
42
+ /**
43
+ * The tracking each paragraph style in use sets (own or inherited), on the
44
+ * Postext style it maps to under `template`. A style that sets none, or
45
+ * sets it to zero, is left out; so is a style that goes to body text, a
46
+ * quote, a caption or anything else with no style of its own to carry it.
47
+ * Where two Word styles go to the same Postext style, the one with more
48
+ * paragraphs wins.
49
+ */
50
+ export function wordStyleTracking(doc, template, config) {
51
+ const used = [...usedStyles(doc)].sort((a, b) => b[1] - a[1]);
52
+ const out = [];
53
+ const seen = new Set();
54
+ for (const [id] of used) {
55
+ const style = doc.styles.get(id);
56
+ if (!style || style.type !== 'paragraph')
57
+ continue;
58
+ const twentieths = inherited(doc, style, (s) => s.letterSpacing);
59
+ if (!twentieths)
60
+ continue;
61
+ const target = lookup(template.paragraphs, style.name) ?? paragraphTargetOf(doc, id, template, config);
62
+ if (target.kind !== 'paragraphs' && target.kind !== 'heading' && target.kind !== 'calloutTitle')
63
+ continue;
64
+ const key = JSON.stringify(target);
65
+ if (seen.has(key))
66
+ continue;
67
+ seen.add(key);
68
+ const halfPoints = inherited(doc, style, (s) => s.fontSizeHalfPoints) ?? doc.defaultFontSizeHalfPoints ?? 20;
69
+ const em = Math.round((twentieths / 20 / (halfPoints / 2)) * 10000) / 10000;
70
+ if (!Number.isFinite(em) || em === 0)
71
+ continue;
72
+ out.push({ style: style.name, target, letterSpacing: { value: em, unit: 'em' } });
73
+ }
74
+ return out;
75
+ }
76
+ /**
77
+ * `config` with the tracking set on each style it names that sets none of
78
+ * its own: a paragraph style, a heading style, a heading level (an entry
79
+ * is added to `headings.levels` when the level has none) or the title of a
80
+ * listed callout style. Nothing the book already sets is changed. `applied`
81
+ * lists what was set; `skipped` what the book already tracks, or has no
82
+ * style for.
83
+ */
84
+ export function applyStyleTracking(config, tracking) {
85
+ const next = { ...config };
86
+ const applied = [];
87
+ const skipped = [];
88
+ const set = (done, t) => void (done ? applied : skipped).push(t);
89
+ for (const t of tracking) {
90
+ const target = t.target;
91
+ if (target.kind === 'paragraphs') {
92
+ const list = next.paragraphStyles;
93
+ const i = list?.findIndex((s) => s.id === target.style) ?? -1;
94
+ if (!list || i < 0 || list[i].letterSpacing !== undefined) {
95
+ set(false, t);
96
+ continue;
97
+ }
98
+ next.paragraphStyles = list.map((s, k) => (k === i ? { ...s, letterSpacing: t.letterSpacing } : s));
99
+ set(true, t);
100
+ }
101
+ else if (target.kind === 'heading' && target.style) {
102
+ const list = next.headingStyles;
103
+ const i = list?.findIndex((s) => s.id === target.style) ?? -1;
104
+ if (!list || i < 0 || list[i].letterSpacing !== undefined) {
105
+ set(false, t);
106
+ continue;
107
+ }
108
+ next.headingStyles = list.map((s, k) => (k === i ? { ...s, letterSpacing: t.letterSpacing } : s));
109
+ set(true, t);
110
+ }
111
+ else if (target.kind === 'heading') {
112
+ const levels = next.headings?.levels ?? [];
113
+ const i = levels.findIndex((l) => l.level === target.level);
114
+ if (i >= 0 && levels[i].letterSpacing !== undefined) {
115
+ set(false, t);
116
+ continue;
117
+ }
118
+ next.headings = {
119
+ ...next.headings,
120
+ levels: i >= 0 ? levels.map((l, k) => (k === i ? { ...l, letterSpacing: t.letterSpacing } : l)) : [...levels, { level: target.level, letterSpacing: t.letterSpacing }],
121
+ };
122
+ set(true, t);
123
+ }
124
+ else {
125
+ const list = next.calloutStyles;
126
+ const i = list?.findIndex((s) => s.id === target.type) ?? -1;
127
+ if (!list || i < 0 || list[i].titleStyle?.letterSpacing !== undefined) {
128
+ set(false, t);
129
+ continue;
130
+ }
131
+ next.calloutStyles = list.map((s, k) => (k === i ? { ...s, titleStyle: { ...s.titleStyle, letterSpacing: t.letterSpacing } } : s));
132
+ set(true, t);
133
+ }
134
+ }
135
+ return { config: next, applied, skipped };
136
+ }
137
+ //# sourceMappingURL=tracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/word/tracking.ts"],"names":[],"mappings":"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"}