@stll/folio-core 0.0.1-placeholder.0 → 0.1.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 (683) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE.md +29 -0
  3. package/README.md +41 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/ai-edits/apply.d.ts +35 -0
  6. package/dist/ai-edits/apply.js +683 -0
  7. package/dist/ai-edits/clean-text.d.ts +28 -0
  8. package/dist/ai-edits/clean-text.js +23 -0
  9. package/dist/ai-edits/headless.d.ts +225 -0
  10. package/dist/ai-edits/headless.js +513 -0
  11. package/dist/ai-edits/index.d.ts +6 -0
  12. package/dist/ai-edits/index.js +5 -0
  13. package/dist/ai-edits/inline-emphasis.d.ts +38 -0
  14. package/dist/ai-edits/inline-emphasis.js +78 -0
  15. package/dist/ai-edits/snapshot.d.ts +9 -0
  16. package/dist/ai-edits/snapshot.js +195 -0
  17. package/dist/ai-edits/types.d.ts +156 -0
  18. package/dist/ai-edits/types.js +0 -0
  19. package/dist/ai-edits/word-diff.d.ts +20 -0
  20. package/dist/ai-edits/word-diff.js +77 -0
  21. package/dist/ai-suggestions/apply.d.ts +17 -0
  22. package/dist/ai-suggestions/apply.js +64 -0
  23. package/dist/ai-suggestions/conflict.d.ts +22 -0
  24. package/dist/ai-suggestions/conflict.js +67 -0
  25. package/dist/ai-suggestions/text-positions.d.ts +21 -0
  26. package/dist/ai-suggestions/text-positions.js +48 -0
  27. package/dist/ai-suggestions/types.d.ts +199 -0
  28. package/dist/ai-suggestions/types.js +59 -0
  29. package/dist/content-controls/errors.d.ts +52 -0
  30. package/dist/content-controls/errors.js +36 -0
  31. package/dist/content-controls/findContentControls.d.ts +55 -0
  32. package/dist/content-controls/findContentControls.js +75 -0
  33. package/dist/content-controls/index.d.ts +4 -0
  34. package/dist/content-controls/index.js +4 -0
  35. package/dist/content-controls/mutateContentControls.d.ts +51 -0
  36. package/dist/content-controls/mutateContentControls.js +377 -0
  37. package/dist/controller/folioEditor.d.ts +21 -0
  38. package/dist/controller/folioEditor.js +29 -0
  39. package/dist/controller/folioEditorEvents.d.ts +23 -0
  40. package/dist/controller/folioEditorEvents.js +24 -0
  41. package/dist/controller/hiddenEditorApi.d.ts +35 -0
  42. package/dist/controller/hiddenEditorApi.js +112 -0
  43. package/dist/controller/hiddenEditorManager.d.ts +93 -0
  44. package/dist/controller/hiddenEditorManager.js +308 -0
  45. package/dist/controller/layoutPipeline.d.ts +63 -0
  46. package/dist/controller/layoutPipeline.js +406 -0
  47. package/dist/controller/layoutScheduler.d.ts +41 -0
  48. package/dist/controller/layoutScheduler.js +59 -0
  49. package/dist/controller/layoutSession.d.ts +24 -0
  50. package/dist/controller/layoutSession.js +13 -0
  51. package/dist/docx/blockContentParser.d.ts +13 -0
  52. package/dist/docx/blockContentParser.js +289 -0
  53. package/dist/docx/bookmarkParser.d.ts +178 -0
  54. package/dist/docx/bookmarkParser.js +246 -0
  55. package/dist/docx/bookmarkPlacement.d.ts +10 -0
  56. package/dist/docx/bookmarkPlacement.js +50 -0
  57. package/dist/docx/bulletMarkers.d.ts +4 -0
  58. package/dist/docx/bulletMarkers.js +42 -0
  59. package/dist/docx/commentParser.d.ts +34 -0
  60. package/dist/docx/commentParser.js +127 -0
  61. package/dist/docx/commentReferenceNormalization.d.ts +25 -0
  62. package/dist/docx/commentReferenceNormalization.js +97 -0
  63. package/dist/docx/commentReplyMarkers.d.ts +20 -0
  64. package/dist/docx/commentReplyMarkers.js +123 -0
  65. package/dist/docx/compatibility.d.ts +12 -0
  66. package/dist/docx/compatibility.js +77 -0
  67. package/dist/docx/documentParser.d.ts +65 -0
  68. package/dist/docx/documentParser.js +209 -0
  69. package/dist/docx/drawingUtils.d.ts +56 -0
  70. package/dist/docx/drawingUtils.js +305 -0
  71. package/dist/docx/fieldParser.d.ts +228 -0
  72. package/dist/docx/fieldParser.js +559 -0
  73. package/dist/docx/footnoteParser.d.ts +109 -0
  74. package/dist/docx/footnoteParser.js +270 -0
  75. package/dist/docx/headerFooterParser.d.ts +119 -0
  76. package/dist/docx/headerFooterParser.js +266 -0
  77. package/dist/docx/headerFooterRefParser.d.ts +22 -0
  78. package/dist/docx/headerFooterRefParser.js +52 -0
  79. package/dist/docx/headerFooterReferenceNormalization.d.ts +19 -0
  80. package/dist/docx/headerFooterReferenceNormalization.js +64 -0
  81. package/dist/docx/hyperlinkParser.d.ts +108 -0
  82. package/dist/docx/hyperlinkParser.js +230 -0
  83. package/dist/docx/imageParser.d.ts +93 -0
  84. package/dist/docx/imageParser.js +522 -0
  85. package/dist/docx/mathToMathml.d.ts +15 -0
  86. package/dist/docx/mathToMathml.js +357 -0
  87. package/dist/docx/modelValidation.d.ts +13 -0
  88. package/dist/docx/modelValidation.js +21 -0
  89. package/dist/docx/normalizeBaseDirection.d.ts +12 -0
  90. package/dist/docx/normalizeBaseDirection.js +81 -0
  91. package/dist/docx/notePropertiesParser.d.ts +16 -0
  92. package/dist/docx/notePropertiesParser.js +99 -0
  93. package/dist/docx/numberingParser.d.ts +86 -0
  94. package/dist/docx/numberingParser.js +735 -0
  95. package/dist/docx/numberingReferenceNormalization.d.ts +25 -0
  96. package/dist/docx/numberingReferenceNormalization.js +22 -0
  97. package/dist/docx/paragraphParser.d.ts +86 -0
  98. package/dist/docx/paragraphParser.js +1132 -0
  99. package/dist/docx/paragraphTraversal.d.ts +19 -0
  100. package/dist/docx/paragraphTraversal.js +76 -0
  101. package/dist/docx/parser.d.ts +67 -0
  102. package/dist/docx/parser.js +391 -0
  103. package/dist/docx/parserEnums.d.ts +45 -0
  104. package/dist/docx/parserEnums.js +70 -0
  105. package/dist/docx/relsParser.d.ts +160 -0
  106. package/dist/docx/relsParser.js +235 -0
  107. package/dist/docx/replyToComment.d.ts +29 -0
  108. package/dist/docx/replyToComment.js +73 -0
  109. package/dist/docx/rezip.d.ts +166 -0
  110. package/dist/docx/rezip.js +1194 -0
  111. package/dist/docx/runConsolidator.d.ts +57 -0
  112. package/dist/docx/runConsolidator.js +224 -0
  113. package/dist/docx/runParser.d.ts +78 -0
  114. package/dist/docx/runParser.js +661 -0
  115. package/dist/docx/sdtProperties.d.ts +15 -0
  116. package/dist/docx/sdtProperties.js +290 -0
  117. package/dist/docx/sdtPropertiesPatch.d.ts +16 -0
  118. package/dist/docx/sdtPropertiesPatch.js +144 -0
  119. package/dist/docx/sectionParser.d.ts +95 -0
  120. package/dist/docx/sectionParser.js +534 -0
  121. package/dist/docx/selectiveSave.d.ts +25 -0
  122. package/dist/docx/selectiveSave.js +247 -0
  123. package/dist/docx/selectiveSaveFlags.d.ts +33 -0
  124. package/dist/docx/selectiveSaveFlags.js +11 -0
  125. package/dist/docx/selectiveSaveTripwire.d.ts +33 -0
  126. package/dist/docx/selectiveSaveTripwire.js +79 -0
  127. package/dist/docx/selectiveXmlPatch.d.ts +103 -0
  128. package/dist/docx/selectiveXmlPatch.js +493 -0
  129. package/dist/docx/serializer/blockSdtSerializer.d.ts +6 -0
  130. package/dist/docx/serializer/blockSdtSerializer.js +88 -0
  131. package/dist/docx/serializer/borderSerializer.d.ts +25 -0
  132. package/dist/docx/serializer/borderSerializer.js +44 -0
  133. package/dist/docx/serializer/commentSerializer.d.ts +31 -0
  134. package/dist/docx/serializer/commentSerializer.js +184 -0
  135. package/dist/docx/serializer/documentSerializer.d.ts +65 -0
  136. package/dist/docx/serializer/documentSerializer.js +199 -0
  137. package/dist/docx/serializer/headerFooterSerializer.d.ts +12 -0
  138. package/dist/docx/serializer/headerFooterSerializer.js +84 -0
  139. package/dist/docx/serializer/noteSerializer.d.ts +19 -0
  140. package/dist/docx/serializer/noteSerializer.js +70 -0
  141. package/dist/docx/serializer/numberingSerializer.d.ts +12 -0
  142. package/dist/docx/serializer/numberingSerializer.js +93 -0
  143. package/dist/docx/serializer/paragraphSerializer.d.ts +48 -0
  144. package/dist/docx/serializer/paragraphSerializer.js +559 -0
  145. package/dist/docx/serializer/runSerializer.d.ts +56 -0
  146. package/dist/docx/serializer/runSerializer.js +621 -0
  147. package/dist/docx/serializer/sectionPropertiesSerializer.d.ts +6 -0
  148. package/dist/docx/serializer/sectionPropertiesSerializer.js +187 -0
  149. package/dist/docx/serializer/tableSerializer.d.ts +79 -0
  150. package/dist/docx/serializer/tableSerializer.js +422 -0
  151. package/dist/docx/serializer/xmlUtils.d.ts +20 -0
  152. package/dist/docx/serializer/xmlUtils.js +25 -0
  153. package/dist/docx/settingsParser.d.ts +8 -0
  154. package/dist/docx/settingsParser.js +36 -0
  155. package/dist/docx/shapeParser.d.ts +20 -0
  156. package/dist/docx/shapeParser.js +272 -0
  157. package/dist/docx/styleParser.d.ts +50 -0
  158. package/dist/docx/styleParser.js +905 -0
  159. package/dist/docx/tableParser.d.ts +202 -0
  160. package/dist/docx/tableParser.js +811 -0
  161. package/dist/docx/textBoxParser.d.ts +117 -0
  162. package/dist/docx/textBoxParser.js +262 -0
  163. package/dist/docx/themeParser.d.ts +77 -0
  164. package/dist/docx/themeParser.js +330 -0
  165. package/dist/docx/trackedMoveRangeNormalization.d.ts +22 -0
  166. package/dist/docx/trackedMoveRangeNormalization.js +100 -0
  167. package/dist/docx/unzip.d.ts +118 -0
  168. package/dist/docx/unzip.js +383 -0
  169. package/dist/docx/vmlImageParser.d.ts +16 -0
  170. package/dist/docx/vmlImageParser.js +100 -0
  171. package/dist/docx/watermarkParser.d.ts +45 -0
  172. package/dist/docx/watermarkParser.js +348 -0
  173. package/dist/docx/wrapTypes.d.ts +29 -0
  174. package/dist/docx/wrapTypes.js +48 -0
  175. package/dist/docx/xmlParser.d.ts +297 -0
  176. package/dist/docx/xmlParser.js +527 -0
  177. package/dist/fields/bookmarkPages.d.ts +13 -0
  178. package/dist/fields/bookmarkPages.js +66 -0
  179. package/dist/fields/bookmarkText.d.ts +16 -0
  180. package/dist/fields/bookmarkText.js +61 -0
  181. package/dist/fields/evaluateField.d.ts +23 -0
  182. package/dist/fields/evaluateField.js +77 -0
  183. package/dist/fields/fieldContext.d.ts +21 -0
  184. package/dist/fields/fieldContext.js +0 -0
  185. package/dist/fields/resolveFieldValues.d.ts +44 -0
  186. package/dist/fields/resolveFieldValues.js +204 -0
  187. package/dist/fields/sectionPageCounts.d.ts +11 -0
  188. package/dist/fields/sectionPageCounts.js +16 -0
  189. package/dist/fields/seqValues.d.ts +14 -0
  190. package/dist/fields/seqValues.js +36 -0
  191. package/dist/fonts/embeddedFontTable.d.ts +42 -0
  192. package/dist/fonts/embeddedFontTable.js +80 -0
  193. package/dist/fonts/embeddedFonts.d.ts +46 -0
  194. package/dist/fonts/embeddedFonts.js +112 -0
  195. package/dist/fonts/fontDeobfuscation.d.ts +30 -0
  196. package/dist/fonts/fontDeobfuscation.js +57 -0
  197. package/dist/index.d.ts +28 -0
  198. package/dist/index.js +23 -0
  199. package/dist/layout-bridge/convert/footnoteLayout.d.ts +57 -0
  200. package/dist/layout-bridge/convert/footnoteLayout.js +316 -0
  201. package/dist/layout-bridge/convert/headerFooterLayout.d.ts +74 -0
  202. package/dist/layout-bridge/convert/headerFooterLayout.js +432 -0
  203. package/dist/layout-bridge/convert/templatePreviewFlow.d.ts +36 -0
  204. package/dist/layout-bridge/convert/templatePreviewFlow.js +176 -0
  205. package/dist/layout-bridge/convert/toFlowBlocks.d.ts +65 -0
  206. package/dist/layout-bridge/convert/toFlowBlocks.js +1309 -0
  207. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.d.ts +17 -0
  208. package/dist/layout-bridge/convert/wrapEditorViewAsSurface.js +36 -0
  209. package/dist/layout-bridge/dom/clickToPositionDom.d.ts +66 -0
  210. package/dist/layout-bridge/dom/clickToPositionDom.js +304 -0
  211. package/dist/layout-bridge/dom/findBodyPmSpans.d.ts +7 -0
  212. package/dist/layout-bridge/dom/findBodyPmSpans.js +17 -0
  213. package/dist/layout-bridge/dom/findHfPmSpans.d.ts +62 -0
  214. package/dist/layout-bridge/dom/findHfPmSpans.js +197 -0
  215. package/dist/layout-bridge/engine/clickToPosition.d.ts +66 -0
  216. package/dist/layout-bridge/engine/clickToPosition.js +403 -0
  217. package/dist/layout-bridge/engine/hitTest.d.ts +135 -0
  218. package/dist/layout-bridge/engine/hitTest.js +375 -0
  219. package/dist/layout-bridge/engine/measuring/index.d.ts +10 -0
  220. package/dist/layout-bridge/engine/measuring/index.js +9 -0
  221. package/dist/layout-bridge/engine/selectionRects.d.ts +59 -0
  222. package/dist/layout-bridge/engine/selectionRects.js +485 -0
  223. package/dist/layout-bridge/engine/tableWidthUtils.d.ts +7 -0
  224. package/dist/layout-bridge/engine/tableWidthUtils.js +25 -0
  225. package/dist/layout-engine/index.d.ts +44 -0
  226. package/dist/layout-engine/index.js +691 -0
  227. package/dist/layout-engine/keep-together.d.ts +43 -0
  228. package/dist/layout-engine/keep-together.js +98 -0
  229. package/dist/layout-engine/layoutInstrumentation.d.ts +50 -0
  230. package/dist/layout-engine/layoutInstrumentation.js +43 -0
  231. package/dist/layout-engine/lineFlow.d.ts +8 -0
  232. package/dist/layout-engine/lineFlow.js +17 -0
  233. package/dist/layout-engine/measure/cache.d.ts +93 -0
  234. package/dist/layout-engine/measure/cache.js +245 -0
  235. package/dist/layout-engine/measure/clampFloatingWrapMargins.d.ts +20 -0
  236. package/dist/layout-engine/measure/clampFloatingWrapMargins.js +29 -0
  237. package/dist/layout-engine/measure/featureFlags.d.ts +44 -0
  238. package/dist/layout-engine/measure/featureFlags.js +19 -0
  239. package/dist/layout-engine/measure/floatingZones.d.ts +89 -0
  240. package/dist/layout-engine/measure/floatingZones.js +152 -0
  241. package/dist/layout-engine/measure/font-metrics.worker.d.ts +17 -0
  242. package/dist/layout-engine/measure/font-metrics.worker.js +104 -0
  243. package/dist/layout-engine/measure/index.d.ts +9 -0
  244. package/dist/layout-engine/measure/index.js +8 -0
  245. package/dist/layout-engine/measure/listMarkerWidth.d.ts +40 -0
  246. package/dist/layout-engine/measure/listMarkerWidth.js +76 -0
  247. package/dist/layout-engine/measure/measureBlocks.d.ts +25 -0
  248. package/dist/layout-engine/measure/measureBlocks.js +450 -0
  249. package/dist/layout-engine/measure/measureContainer.d.ts +24 -0
  250. package/dist/layout-engine/measure/measureContainer.js +280 -0
  251. package/dist/layout-engine/measure/measureHelpers.d.ts +82 -0
  252. package/dist/layout-engine/measure/measureHelpers.js +156 -0
  253. package/dist/layout-engine/measure/measureParagraph.d.ts +61 -0
  254. package/dist/layout-engine/measure/measureParagraph.js +724 -0
  255. package/dist/layout-engine/measure/measureProvider.d.ts +23 -0
  256. package/dist/layout-engine/measure/measureProvider.js +35 -0
  257. package/dist/layout-engine/measure/measureTypes.d.ts +61 -0
  258. package/dist/layout-engine/measure/measureTypes.js +0 -0
  259. package/dist/layout-engine/measure/measureWorker.d.ts +54 -0
  260. package/dist/layout-engine/measure/measureWorker.js +249 -0
  261. package/dist/layout-engine/measure/measureWorkerProtocol.d.ts +88 -0
  262. package/dist/layout-engine/measure/measureWorkerProtocol.js +20 -0
  263. package/dist/layout-engine/measure/tableCellFloating.d.ts +26 -0
  264. package/dist/layout-engine/measure/tableCellFloating.js +99 -0
  265. package/dist/layout-engine/paginator.d.ts +84 -0
  266. package/dist/layout-engine/paginator.js +348 -0
  267. package/dist/layout-engine/paragraphFragmentRange.d.ts +9 -0
  268. package/dist/layout-engine/paragraphFragmentRange.js +40 -0
  269. package/dist/layout-engine/section-breaks.d.ts +78 -0
  270. package/dist/layout-engine/section-breaks.js +182 -0
  271. package/dist/layout-engine/tableRowBreak.d.ts +23 -0
  272. package/dist/layout-engine/tableRowBreak.js +147 -0
  273. package/dist/layout-engine/textBoxFlow.d.ts +50 -0
  274. package/dist/layout-engine/textBoxFlow.js +160 -0
  275. package/dist/layout-engine/types.d.ts +1031 -0
  276. package/dist/layout-engine/types.js +100 -0
  277. package/dist/layout-painter/documentColors.d.ts +4 -0
  278. package/dist/layout-painter/documentColors.js +40 -0
  279. package/dist/layout-painter/index.d.ts +110 -0
  280. package/dist/layout-painter/index.js +182 -0
  281. package/dist/layout-painter/registry/modules/image.d.ts +6 -0
  282. package/dist/layout-painter/registry/modules/image.js +17 -0
  283. package/dist/layout-painter/registry/modules/paragraph.d.ts +6 -0
  284. package/dist/layout-painter/registry/modules/paragraph.js +18 -0
  285. package/dist/layout-painter/registry/modules/table.d.ts +6 -0
  286. package/dist/layout-painter/registry/modules/table.js +16 -0
  287. package/dist/layout-painter/registry/modules/textBox.d.ts +6 -0
  288. package/dist/layout-painter/registry/modules/textBox.js +13 -0
  289. package/dist/layout-painter/registry/modules.d.ts +6 -0
  290. package/dist/layout-painter/registry/modules.js +26 -0
  291. package/dist/layout-painter/registry/registry.d.ts +24 -0
  292. package/dist/layout-painter/registry/registry.js +53 -0
  293. package/dist/layout-painter/registry/types.d.ts +61 -0
  294. package/dist/layout-painter/registry/types.js +0 -0
  295. package/dist/layout-painter/renderFragment.d.ts +32 -0
  296. package/dist/layout-painter/renderFragment.js +114 -0
  297. package/dist/layout-painter/renderImage.d.ts +88 -0
  298. package/dist/layout-painter/renderImage.js +130 -0
  299. package/dist/layout-painter/renderPage.d.ts +264 -0
  300. package/dist/layout-painter/renderPage.js +1795 -0
  301. package/dist/layout-painter/renderParagraph.d.ts +93 -0
  302. package/dist/layout-painter/renderParagraph.js +1300 -0
  303. package/dist/layout-painter/renderTable.d.ts +36 -0
  304. package/dist/layout-painter/renderTable.js +432 -0
  305. package/dist/layout-painter/renderTextBox.d.ts +22 -0
  306. package/dist/layout-painter/renderTextBox.js +67 -0
  307. package/dist/layout-painter/renderUtils.d.ts +42 -0
  308. package/dist/layout-painter/renderUtils.js +30 -0
  309. package/dist/layout-painter/renderWatermark.d.ts +16 -0
  310. package/dist/layout-painter/renderWatermark.js +61 -0
  311. package/dist/layout-painter/sdtBoundary.d.ts +6 -0
  312. package/dist/layout-painter/sdtBoundary.js +28 -0
  313. package/dist/managers/ContextMenuManager.d.ts +28 -0
  314. package/dist/managers/ContextMenuManager.js +48 -0
  315. package/dist/managers/DocumentLoaderManager.d.ts +47 -0
  316. package/dist/managers/DocumentLoaderManager.js +69 -0
  317. package/dist/managers/EditorModeManager.d.ts +28 -0
  318. package/dist/managers/EditorModeManager.js +50 -0
  319. package/dist/managers/ErrorManager.d.ts +26 -0
  320. package/dist/managers/ErrorManager.js +85 -0
  321. package/dist/managers/FindReplaceManager.d.ts +54 -0
  322. package/dist/managers/FindReplaceManager.js +104 -0
  323. package/dist/managers/HistoryManager.d.ts +92 -0
  324. package/dist/managers/HistoryManager.js +193 -0
  325. package/dist/managers/Subscribable.d.ts +34 -0
  326. package/dist/managers/Subscribable.js +46 -0
  327. package/dist/managers/TableSelectionManager.d.ts +74 -0
  328. package/dist/managers/TableSelectionManager.js +225 -0
  329. package/dist/managers/editorShortcuts.d.ts +42 -0
  330. package/dist/managers/editorShortcuts.js +60 -0
  331. package/dist/managers/types.d.ts +41 -0
  332. package/dist/managers/types.js +0 -0
  333. package/dist/markdown/annotations.d.ts +14 -0
  334. package/dist/markdown/annotations.js +42 -0
  335. package/dist/markdown/escape.d.ts +36 -0
  336. package/dist/markdown/escape.js +59 -0
  337. package/dist/markdown/fromMarkdown.d.ts +11 -0
  338. package/dist/markdown/fromMarkdown.js +223 -0
  339. package/dist/markdown/headings.d.ts +13 -0
  340. package/dist/markdown/headings.js +20 -0
  341. package/dist/markdown/images.d.ts +13 -0
  342. package/dist/markdown/images.js +63 -0
  343. package/dist/markdown/index.d.ts +18 -0
  344. package/dist/markdown/index.js +33 -0
  345. package/dist/markdown/internals.d.ts +15 -0
  346. package/dist/markdown/internals.js +35 -0
  347. package/dist/markdown/renderBlock.d.ts +7 -0
  348. package/dist/markdown/renderBlock.js +68 -0
  349. package/dist/markdown/renderParagraph.d.ts +11 -0
  350. package/dist/markdown/renderParagraph.js +64 -0
  351. package/dist/markdown/renderRuns.d.ts +11 -0
  352. package/dist/markdown/renderRuns.js +265 -0
  353. package/dist/markdown/renderTable.d.ts +8 -0
  354. package/dist/markdown/renderTable.js +229 -0
  355. package/dist/markdown/trailers.d.ts +13 -0
  356. package/dist/markdown/trailers.js +54 -0
  357. package/dist/markdown/types.d.ts +118 -0
  358. package/dist/markdown/types.js +0 -0
  359. package/dist/model.d.ts +13 -0
  360. package/dist/model.js +4 -0
  361. package/dist/paged-layout/LayoutSelectionGate.d.ts +80 -0
  362. package/dist/paged-layout/LayoutSelectionGate.js +131 -0
  363. package/dist/paged-layout/headerFooterMargins.d.ts +73 -0
  364. package/dist/paged-layout/headerFooterMargins.js +120 -0
  365. package/dist/paged-layout/hiddenEditorScroll.d.ts +4 -0
  366. package/dist/paged-layout/hiddenEditorScroll.js +4 -0
  367. package/dist/paged-layout/incrementalMeasure.d.ts +33 -0
  368. package/dist/paged-layout/incrementalMeasure.js +56 -0
  369. package/dist/paged-layout/rangeProjection.d.ts +51 -0
  370. package/dist/paged-layout/rangeProjection.js +153 -0
  371. package/dist/paged-layout/readOnlyEditAttempt.d.ts +5 -0
  372. package/dist/paged-layout/readOnlyEditAttempt.js +22 -0
  373. package/dist/paged-layout/scrollNavigation.d.ts +23 -0
  374. package/dist/paged-layout/scrollNavigation.js +31 -0
  375. package/dist/paged-layout/scrollPageInfo.d.ts +41 -0
  376. package/dist/paged-layout/scrollPageInfo.js +34 -0
  377. package/dist/paged-layout/scrollToPmPosition.d.ts +17 -0
  378. package/dist/paged-layout/scrollToPmPosition.js +95 -0
  379. package/dist/paged-layout/sectionBlockWidths.d.ts +35 -0
  380. package/dist/paged-layout/sectionBlockWidths.js +52 -0
  381. package/dist/paged-layout/sectionGeometry.d.ts +21 -0
  382. package/dist/paged-layout/sectionGeometry.js +36 -0
  383. package/dist/paged-layout/selectionViewportRect.d.ts +29 -0
  384. package/dist/paged-layout/selectionViewportRect.js +55 -0
  385. package/dist/paged-layout/tableColumnResize.d.ts +19 -0
  386. package/dist/paged-layout/tableColumnResize.js +28 -0
  387. package/dist/paged-layout/tableInsertButtonGeometry.d.ts +15 -0
  388. package/dist/paged-layout/tableInsertButtonGeometry.js +15 -0
  389. package/dist/paged-layout/transactionDirtyRange.d.ts +7 -0
  390. package/dist/paged-layout/transactionDirtyRange.js +27 -0
  391. package/dist/paged-layout/zoomScrollAnchor.d.ts +40 -0
  392. package/dist/paged-layout/zoomScrollAnchor.js +25 -0
  393. package/dist/prosemirror/attrs/index.d.ts +80 -0
  394. package/dist/prosemirror/attrs/index.js +1218 -0
  395. package/dist/prosemirror/autospacingBase.d.ts +11 -0
  396. package/dist/prosemirror/autospacingBase.js +16 -0
  397. package/dist/prosemirror/commands/comments.d.ts +93 -0
  398. package/dist/prosemirror/commands/comments.js +435 -0
  399. package/dist/prosemirror/commands/contentControls.d.ts +45 -0
  400. package/dist/prosemirror/commands/contentControls.js +294 -0
  401. package/dist/prosemirror/commands/contentControlsBlockFill.d.ts +15 -0
  402. package/dist/prosemirror/commands/contentControlsBlockFill.js +19 -0
  403. package/dist/prosemirror/commands/formatPainter.d.ts +31 -0
  404. package/dist/prosemirror/commands/formatPainter.js +130 -0
  405. package/dist/prosemirror/commands/formatting.d.ts +32 -0
  406. package/dist/prosemirror/commands/formatting.js +45 -0
  407. package/dist/prosemirror/commands/hyperlink.d.ts +31 -0
  408. package/dist/prosemirror/commands/hyperlink.js +79 -0
  409. package/dist/prosemirror/commands/image.d.ts +59 -0
  410. package/dist/prosemirror/commands/image.js +219 -0
  411. package/dist/prosemirror/commands/index.d.ts +13 -0
  412. package/dist/prosemirror/commands/index.js +13 -0
  413. package/dist/prosemirror/commands/pageBreak.d.ts +10 -0
  414. package/dist/prosemirror/commands/pageBreak.js +47 -0
  415. package/dist/prosemirror/commands/paragraph.d.ts +39 -0
  416. package/dist/prosemirror/commands/paragraph.js +64 -0
  417. package/dist/prosemirror/commands/pastePlainText.d.ts +39 -0
  418. package/dist/prosemirror/commands/pastePlainText.js +67 -0
  419. package/dist/prosemirror/commands/table.d.ts +83 -0
  420. package/dist/prosemirror/commands/table.js +105 -0
  421. package/dist/prosemirror/conversion/fromProseDoc.d.ts +27 -0
  422. package/dist/prosemirror/conversion/fromProseDoc.js +1550 -0
  423. package/dist/prosemirror/conversion/index.d.ts +4 -0
  424. package/dist/prosemirror/conversion/index.js +4 -0
  425. package/dist/prosemirror/conversion/runShadingMark.d.ts +16 -0
  426. package/dist/prosemirror/conversion/runShadingMark.js +39 -0
  427. package/dist/prosemirror/conversion/toProseDoc.d.ts +39 -0
  428. package/dist/prosemirror/conversion/toProseDoc.js +1404 -0
  429. package/dist/prosemirror/extensions/ExtensionManager.d.ts +43 -0
  430. package/dist/prosemirror/extensions/ExtensionManager.js +86 -0
  431. package/dist/prosemirror/extensions/StarterKit.d.ts +16 -0
  432. package/dist/prosemirror/extensions/StarterKit.js +132 -0
  433. package/dist/prosemirror/extensions/core/DocExtension.d.ts +9 -0
  434. package/dist/prosemirror/extensions/core/DocExtension.js +12 -0
  435. package/dist/prosemirror/extensions/core/HistoryExtension.d.ts +13 -0
  436. package/dist/prosemirror/extensions/core/HistoryExtension.js +28 -0
  437. package/dist/prosemirror/extensions/core/ParagraphExtension.d.ts +25 -0
  438. package/dist/prosemirror/extensions/core/ParagraphExtension.js +619 -0
  439. package/dist/prosemirror/extensions/core/TextExtension.d.ts +9 -0
  440. package/dist/prosemirror/extensions/core/TextExtension.js +12 -0
  441. package/dist/prosemirror/extensions/create.d.ts +17 -0
  442. package/dist/prosemirror/extensions/create.js +129 -0
  443. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.d.ts +23 -0
  444. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +106 -0
  445. package/dist/prosemirror/extensions/features/BaseKeymapExtension.d.ts +8 -0
  446. package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +172 -0
  447. package/dist/prosemirror/extensions/features/BidiShortcutExtension.d.ts +16 -0
  448. package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +38 -0
  449. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.d.ts +16 -0
  450. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +21 -0
  451. package/dist/prosemirror/extensions/features/DropCursorExtension.d.ts +12 -0
  452. package/dist/prosemirror/extensions/features/DropCursorExtension.js +20 -0
  453. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.d.ts +8 -0
  454. package/dist/prosemirror/extensions/features/EmptyParagraphFormatExtension.js +44 -0
  455. package/dist/prosemirror/extensions/features/GapCursorExtension.d.ts +19 -0
  456. package/dist/prosemirror/extensions/features/GapCursorExtension.js +24 -0
  457. package/dist/prosemirror/extensions/features/ImageDragExtension.d.ts +15 -0
  458. package/dist/prosemirror/extensions/features/ImageDragExtension.js +66 -0
  459. package/dist/prosemirror/extensions/features/ImagePasteExtension.d.ts +12 -0
  460. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +91 -0
  461. package/dist/prosemirror/extensions/features/ListExtension.d.ts +14 -0
  462. package/dist/prosemirror/extensions/features/ListExtension.js +340 -0
  463. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.d.ts +9 -0
  464. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +60 -0
  465. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.d.ts +35 -0
  466. package/dist/prosemirror/extensions/features/ParagraphChangeTrackerExtension.js +188 -0
  467. package/dist/prosemirror/extensions/features/PasteCleanupExtension.d.ts +20 -0
  468. package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +34 -0
  469. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.d.ts +20 -0
  470. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +145 -0
  471. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.d.ts +10 -0
  472. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +17 -0
  473. package/dist/prosemirror/extensions/features/bidiShortcutController.d.ts +31 -0
  474. package/dist/prosemirror/extensions/features/bidiShortcutController.js +27 -0
  475. package/dist/prosemirror/extensions/features/pasteCleanup.d.ts +31 -0
  476. package/dist/prosemirror/extensions/features/pasteCleanup.js +159 -0
  477. package/dist/prosemirror/extensions/marks/AllCapsExtension.d.ts +9 -0
  478. package/dist/prosemirror/extensions/marks/AllCapsExtension.js +24 -0
  479. package/dist/prosemirror/extensions/marks/BoldExtension.d.ts +9 -0
  480. package/dist/prosemirror/extensions/marks/BoldExtension.js +41 -0
  481. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.d.ts +14 -0
  482. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +64 -0
  483. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.d.ts +23 -0
  484. package/dist/prosemirror/extensions/marks/CharacterStyleExtension.js +47 -0
  485. package/dist/prosemirror/extensions/marks/CommentExtension.d.ts +12 -0
  486. package/dist/prosemirror/extensions/marks/CommentExtension.js +38 -0
  487. package/dist/prosemirror/extensions/marks/FontFamilyExtension.d.ts +9 -0
  488. package/dist/prosemirror/extensions/marks/FontFamilyExtension.js +55 -0
  489. package/dist/prosemirror/extensions/marks/FontSizeExtension.d.ts +9 -0
  490. package/dist/prosemirror/extensions/marks/FontSizeExtension.js +47 -0
  491. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.d.ts +11 -0
  492. package/dist/prosemirror/extensions/marks/FootnoteRefExtension.js +92 -0
  493. package/dist/prosemirror/extensions/marks/HiddenTextExtension.d.ts +23 -0
  494. package/dist/prosemirror/extensions/marks/HiddenTextExtension.js +35 -0
  495. package/dist/prosemirror/extensions/marks/HighlightExtension.d.ts +10 -0
  496. package/dist/prosemirror/extensions/marks/HighlightExtension.js +115 -0
  497. package/dist/prosemirror/extensions/marks/HyperlinkExtension.d.ts +13 -0
  498. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +146 -0
  499. package/dist/prosemirror/extensions/marks/ItalicExtension.d.ts +9 -0
  500. package/dist/prosemirror/extensions/marks/ItalicExtension.js +34 -0
  501. package/dist/prosemirror/extensions/marks/RtlExtension.d.ts +6 -0
  502. package/dist/prosemirror/extensions/marks/RtlExtension.js +21 -0
  503. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.d.ts +11 -0
  504. package/dist/prosemirror/extensions/marks/RunFormattingOverrideExtension.js +75 -0
  505. package/dist/prosemirror/extensions/marks/RunShadingExtension.d.ts +6 -0
  506. package/dist/prosemirror/extensions/marks/RunShadingExtension.js +38 -0
  507. package/dist/prosemirror/extensions/marks/SmallCapsExtension.d.ts +9 -0
  508. package/dist/prosemirror/extensions/marks/SmallCapsExtension.js +24 -0
  509. package/dist/prosemirror/extensions/marks/StrikeExtension.d.ts +9 -0
  510. package/dist/prosemirror/extensions/marks/StrikeExtension.js +33 -0
  511. package/dist/prosemirror/extensions/marks/SubscriptExtension.d.ts +9 -0
  512. package/dist/prosemirror/extensions/marks/SubscriptExtension.js +25 -0
  513. package/dist/prosemirror/extensions/marks/SuperscriptExtension.d.ts +9 -0
  514. package/dist/prosemirror/extensions/marks/SuperscriptExtension.js +25 -0
  515. package/dist/prosemirror/extensions/marks/TextColorExtension.d.ts +9 -0
  516. package/dist/prosemirror/extensions/marks/TextColorExtension.js +50 -0
  517. package/dist/prosemirror/extensions/marks/TextEffectExtension.d.ts +6 -0
  518. package/dist/prosemirror/extensions/marks/TextEffectExtension.js +35 -0
  519. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.d.ts +31 -0
  520. package/dist/prosemirror/extensions/marks/TextEffectsExtensions.js +134 -0
  521. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.d.ts +22 -0
  522. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +113 -0
  523. package/dist/prosemirror/extensions/marks/UnderlineExtension.d.ts +9 -0
  524. package/dist/prosemirror/extensions/marks/UnderlineExtension.js +60 -0
  525. package/dist/prosemirror/extensions/marks/markUtils.d.ts +34 -0
  526. package/dist/prosemirror/extensions/marks/markUtils.js +233 -0
  527. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.d.ts +22 -0
  528. package/dist/prosemirror/extensions/nodes/BlockSdtExtension.js +122 -0
  529. package/dist/prosemirror/extensions/nodes/FieldExtension.d.ts +12 -0
  530. package/dist/prosemirror/extensions/nodes/FieldExtension.js +87 -0
  531. package/dist/prosemirror/extensions/nodes/HardBreakExtension.d.ts +9 -0
  532. package/dist/prosemirror/extensions/nodes/HardBreakExtension.js +38 -0
  533. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.d.ts +9 -0
  534. package/dist/prosemirror/extensions/nodes/HorizontalRuleExtension.js +18 -0
  535. package/dist/prosemirror/extensions/nodes/ImageExtension.d.ts +9 -0
  536. package/dist/prosemirror/extensions/nodes/ImageExtension.js +132 -0
  537. package/dist/prosemirror/extensions/nodes/MathExtension.d.ts +13 -0
  538. package/dist/prosemirror/extensions/nodes/MathExtension.js +56 -0
  539. package/dist/prosemirror/extensions/nodes/PageBreakExtension.d.ts +9 -0
  540. package/dist/prosemirror/extensions/nodes/PageBreakExtension.js +20 -0
  541. package/dist/prosemirror/extensions/nodes/SdtExtension.d.ts +12 -0
  542. package/dist/prosemirror/extensions/nodes/SdtExtension.js +107 -0
  543. package/dist/prosemirror/extensions/nodes/ShapeExtension.d.ts +30 -0
  544. package/dist/prosemirror/extensions/nodes/ShapeExtension.js +502 -0
  545. package/dist/prosemirror/extensions/nodes/TabExtension.d.ts +9 -0
  546. package/dist/prosemirror/extensions/nodes/TabExtension.js +27 -0
  547. package/dist/prosemirror/extensions/nodes/TableExtension.d.ts +34 -0
  548. package/dist/prosemirror/extensions/nodes/TableExtension.js +1972 -0
  549. package/dist/prosemirror/extensions/nodes/TextBoxExtension.d.ts +34 -0
  550. package/dist/prosemirror/extensions/nodes/TextBoxExtension.js +150 -0
  551. package/dist/prosemirror/extensions/types.d.ts +101 -0
  552. package/dist/prosemirror/extensions/types.js +10 -0
  553. package/dist/prosemirror/findReplaceSelection.d.ts +23 -0
  554. package/dist/prosemirror/findReplaceSelection.js +86 -0
  555. package/dist/prosemirror/index.d.ts +25 -0
  556. package/dist/prosemirror/index.js +23 -0
  557. package/dist/prosemirror/insertOperations.d.ts +12 -0
  558. package/dist/prosemirror/insertOperations.js +19 -0
  559. package/dist/prosemirror/paragraphDirection.d.ts +42 -0
  560. package/dist/prosemirror/paragraphDirection.js +33 -0
  561. package/dist/prosemirror/plugins/aiCitationDecorations.d.ts +40 -0
  562. package/dist/prosemirror/plugins/aiCitationDecorations.js +90 -0
  563. package/dist/prosemirror/plugins/aiSuggestionDecorations.d.ts +42 -0
  564. package/dist/prosemirror/plugins/aiSuggestionDecorations.js +135 -0
  565. package/dist/prosemirror/plugins/anonymizationDecorations.d.ts +60 -0
  566. package/dist/prosemirror/plugins/anonymizationDecorations.js +120 -0
  567. package/dist/prosemirror/plugins/autocompleteSuggestion.d.ts +123 -0
  568. package/dist/prosemirror/plugins/autocompleteSuggestion.js +283 -0
  569. package/dist/prosemirror/plugins/contentControlWidgets.d.ts +56 -0
  570. package/dist/prosemirror/plugins/contentControlWidgets.js +192 -0
  571. package/dist/prosemirror/plugins/createDocScanPlugin.d.ts +37 -0
  572. package/dist/prosemirror/plugins/createDocScanPlugin.js +55 -0
  573. package/dist/prosemirror/plugins/documentStyles.d.ts +18 -0
  574. package/dist/prosemirror/plugins/documentStyles.js +46 -0
  575. package/dist/prosemirror/plugins/index.d.ts +3 -0
  576. package/dist/prosemirror/plugins/index.js +3 -0
  577. package/dist/prosemirror/plugins/pmTextScan.d.ts +19 -0
  578. package/dist/prosemirror/plugins/pmTextScan.js +39 -0
  579. package/dist/prosemirror/plugins/selectionTracker.d.ts +43 -0
  580. package/dist/prosemirror/plugins/selectionTracker.js +179 -0
  581. package/dist/prosemirror/plugins/suggestionMode.d.ts +70 -0
  582. package/dist/prosemirror/plugins/suggestionMode.js +489 -0
  583. package/dist/prosemirror/plugins/templateDirectives.d.ts +25 -0
  584. package/dist/prosemirror/plugins/templateDirectives.js +67 -0
  585. package/dist/prosemirror/plugins/templatePreviewValues.d.ts +49 -0
  586. package/dist/prosemirror/plugins/templatePreviewValues.js +117 -0
  587. package/dist/prosemirror/plugins/templateSlashMenu.d.ts +57 -0
  588. package/dist/prosemirror/plugins/templateSlashMenu.js +184 -0
  589. package/dist/prosemirror/schema/index.d.ts +15 -0
  590. package/dist/prosemirror/schema/index.js +20 -0
  591. package/dist/prosemirror/schema/marks.d.ts +118 -0
  592. package/dist/prosemirror/schema/marks.js +0 -0
  593. package/dist/prosemirror/schema/nodes.d.ts +389 -0
  594. package/dist/prosemirror/schema/nodes.js +0 -0
  595. package/dist/prosemirror/selectionState.d.ts +23 -0
  596. package/dist/prosemirror/selectionState.js +111 -0
  597. package/dist/prosemirror/styles/index.d.ts +2 -0
  598. package/dist/prosemirror/styles/index.js +2 -0
  599. package/dist/prosemirror/styles/resolvedStyleAttrs.d.ts +32 -0
  600. package/dist/prosemirror/styles/resolvedStyleAttrs.js +108 -0
  601. package/dist/prosemirror/styles/styleResolver.d.ts +94 -0
  602. package/dist/prosemirror/styles/styleResolver.js +200 -0
  603. package/dist/prosemirror/utils/findParagraphByParaId.d.ts +26 -0
  604. package/dist/prosemirror/utils/findParagraphByParaId.js +37 -0
  605. package/dist/prosemirror/utils/tabCalculator.d.ts +110 -0
  606. package/dist/prosemirror/utils/tabCalculator.js +137 -0
  607. package/dist/prosemirror/validation.d.ts +20 -0
  608. package/dist/prosemirror/validation.js +177 -0
  609. package/dist/server.d.ts +7 -0
  610. package/dist/server.js +6 -0
  611. package/dist/style-engine/index.d.ts +3 -0
  612. package/dist/style-engine/index.js +2 -0
  613. package/dist/style-engine/styleEngine.d.ts +67 -0
  614. package/dist/style-engine/styleEngine.js +70 -0
  615. package/dist/types/block-id.d.ts +58 -0
  616. package/dist/types/block-id.js +61 -0
  617. package/dist/types/colors.d.ts +2 -0
  618. package/dist/types/colors.js +0 -0
  619. package/dist/types/content.d.ts +2 -0
  620. package/dist/types/content.js +0 -0
  621. package/dist/types/document.d.ts +7 -0
  622. package/dist/types/document.js +0 -0
  623. package/dist/types/documentEnumValues.d.ts +89 -0
  624. package/dist/types/documentEnumValues.js +693 -0
  625. package/dist/types/formatting.d.ts +2 -0
  626. package/dist/types/formatting.js +0 -0
  627. package/dist/types/index.d.ts +107 -0
  628. package/dist/types/index.js +0 -0
  629. package/dist/utils/authorColors.d.ts +16 -0
  630. package/dist/utils/authorColors.js +30 -0
  631. package/dist/utils/baseDirection.d.ts +23 -0
  632. package/dist/utils/baseDirection.js +34 -0
  633. package/dist/utils/clipboard.d.ts +126 -0
  634. package/dist/utils/clipboard.js +622 -0
  635. package/dist/utils/colorResolver.d.ts +158 -0
  636. package/dist/utils/colorResolver.js +557 -0
  637. package/dist/utils/createDocument.d.ts +50 -0
  638. package/dist/utils/createDocument.js +262 -0
  639. package/dist/utils/documentLoaderBehavior.d.ts +22 -0
  640. package/dist/utils/documentLoaderBehavior.js +14 -0
  641. package/dist/utils/docxInput.d.ts +22 -0
  642. package/dist/utils/docxInput.js +16 -0
  643. package/dist/utils/domGuards.d.ts +59 -0
  644. package/dist/utils/domGuards.js +82 -0
  645. package/dist/utils/fontFamilyMerge.d.ts +7 -0
  646. package/dist/utils/fontFamilyMerge.js +31 -0
  647. package/dist/utils/fontLoader.d.ts +50 -0
  648. package/dist/utils/fontLoader.js +177 -0
  649. package/dist/utils/fontResolver.d.ts +61 -0
  650. package/dist/utils/fontResolver.js +651 -0
  651. package/dist/utils/fontWeights.d.ts +4 -0
  652. package/dist/utils/fontWeights.js +4 -0
  653. package/dist/utils/formatToStyle.d.ts +103 -0
  654. package/dist/utils/formatToStyle.js +289 -0
  655. package/dist/utils/headerFooter.d.ts +74 -0
  656. package/dist/utils/headerFooter.js +257 -0
  657. package/dist/utils/headingCollector.d.ts +22 -0
  658. package/dist/utils/headingCollector.js +36 -0
  659. package/dist/utils/hexId.d.ts +33 -0
  660. package/dist/utils/hexId.js +37 -0
  661. package/dist/utils/imageValidation.d.ts +5 -0
  662. package/dist/utils/imageValidation.js +31 -0
  663. package/dist/utils/paragraphFormattingMerge.d.ts +14 -0
  664. package/dist/utils/paragraphFormattingMerge.js +68 -0
  665. package/dist/utils/replaceText.d.ts +17 -0
  666. package/dist/utils/replaceText.js +161 -0
  667. package/dist/utils/rotationBoundingBox.d.ts +12 -0
  668. package/dist/utils/rotationBoundingBox.js +36 -0
  669. package/dist/utils/scriptSegments.d.ts +36 -0
  670. package/dist/utils/scriptSegments.js +52 -0
  671. package/dist/utils/tableOperations.d.ts +87 -0
  672. package/dist/utils/tableOperations.js +259 -0
  673. package/dist/utils/textFormattingMerge.d.ts +6 -0
  674. package/dist/utils/textFormattingMerge.js +31 -0
  675. package/dist/utils/tiffConverter.d.ts +18 -0
  676. package/dist/utils/tiffConverter.js +83 -0
  677. package/dist/utils/units.d.ts +99 -0
  678. package/dist/utils/units.js +139 -0
  679. package/dist/utils/urlSecurity.d.ts +7 -0
  680. package/dist/utils/urlSecurity.js +65 -0
  681. package/dist/watermark/index.d.ts +39 -0
  682. package/dist/watermark/index.js +149 -0
  683. package/package.json +122 -2
@@ -0,0 +1,158 @@
1
+ import { document_d_exports } from "../types/document.js";
2
+
3
+ //#region src/utils/colorResolver.d.ts
4
+ /**
5
+ * Resolve a ColorValue to a CSS color string
6
+ *
7
+ * @param color - ColorValue object with rgb, themeColor, tint/shade, or auto
8
+ * @param theme - Theme for resolving theme colors
9
+ * @param defaultColor - Default color if auto or undefined (default: black)
10
+ * @returns CSS color string (e.g., "#FF0000" or "inherit")
11
+ */
12
+ declare function resolveColor(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined, defaultColor?: string): string;
13
+ /**
14
+ * Resolve a highlight color name to CSS
15
+ *
16
+ * @param highlight - Highlight color name (e.g., "yellow", "cyan")
17
+ * @returns CSS color string or empty string for "none"
18
+ */
19
+ declare function resolveHighlightColor(highlight: string | undefined): string;
20
+ /**
21
+ * Resolve a shading fill or pattern color to CSS
22
+ *
23
+ * @param color - ColorValue for fill
24
+ * @param theme - Theme for resolving theme colors
25
+ * @returns CSS color string
26
+ */
27
+ declare function resolveShadingColor(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined): string;
28
+ /**
29
+ * Check if a color is effectively black
30
+ *
31
+ * @param color - ColorValue object
32
+ * @param theme - Theme for resolving theme colors
33
+ * @returns True if color resolves to black or very dark
34
+ */
35
+ declare function isBlack(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined): boolean;
36
+ /**
37
+ * Check if a color is effectively white
38
+ *
39
+ * @param color - ColorValue object
40
+ * @param theme - Theme for resolving theme colors
41
+ * @returns True if color resolves to white or very light
42
+ */
43
+ declare function isWhite(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined): boolean;
44
+ /**
45
+ * Get contrasting text color for a background
46
+ *
47
+ * @param backgroundColor - Background ColorValue
48
+ * @param theme - Theme for resolving theme colors
49
+ * @returns Black or white hex color for best contrast
50
+ */
51
+ declare function getContrastingColor(backgroundColor: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined): string;
52
+ /**
53
+ * Parse a color string (various formats) to ColorValue
54
+ *
55
+ * @param colorString - Color string like "FF0000", "auto", or theme color name
56
+ * @returns ColorValue object
57
+ */
58
+ declare function parseColorString(colorString: string | undefined): document_d_exports.ColorValue | undefined;
59
+ /**
60
+ * Create a ColorValue from theme color reference
61
+ *
62
+ * @param themeColor - Theme color slot name
63
+ * @param tint - Optional tint modifier
64
+ * @param shade - Optional shade modifier
65
+ * @returns ColorValue object
66
+ */
67
+ declare function createThemeColor(themeColor: document_d_exports.ThemeColorSlot, tint?: number, shade?: number): document_d_exports.ColorValue;
68
+ /**
69
+ * Create a ColorValue from RGB hex
70
+ *
71
+ * @param hex - 6-character hex color (no #)
72
+ * @returns ColorValue object
73
+ */
74
+ declare function createRgbColor(hex: string): document_d_exports.ColorValue;
75
+ /**
76
+ * Darken a color by a percentage
77
+ *
78
+ * @param color - ColorValue to darken
79
+ * @param theme - Theme for resolving
80
+ * @param percent - Percentage to darken (0-100)
81
+ * @returns CSS color string
82
+ */
83
+ declare function darkenColor(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined, percent: number): string;
84
+ /**
85
+ * Lighten a color by a percentage
86
+ *
87
+ * @param color - ColorValue to lighten
88
+ * @param theme - Theme for resolving
89
+ * @param percent - Percentage to lighten (0-100)
90
+ * @returns CSS color string
91
+ */
92
+ declare function lightenColor(color: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined, percent: number): string;
93
+ /**
94
+ * Blend two colors together
95
+ *
96
+ * @param color1 - First color
97
+ * @param color2 - Second color
98
+ * @param ratio - Blend ratio (0 = all color1, 1 = all color2)
99
+ * @param theme - Theme for resolving
100
+ * @returns CSS color string
101
+ */
102
+ declare function blendColors(color1: document_d_exports.ColorValue | undefined | null, color2: document_d_exports.ColorValue | undefined | null, ratio: number, theme: document_d_exports.Theme | null | undefined): string;
103
+ /**
104
+ * Ensure a hex color string has a '#' prefix.
105
+ */
106
+ declare function ensureHexPrefix(hex: string): string;
107
+ /**
108
+ * Resolve a highlight color value to a CSS-ready string.
109
+ * Tries OOXML named highlight first, then ensures hex prefix.
110
+ */
111
+ declare function resolveHighlightToCss(value: string): string;
112
+ /**
113
+ * Theme color matrix cell
114
+ */
115
+ type ThemeMatrixCell = {
116
+ /** Resolved hex color (6 chars, no #) */hex: string; /** Theme color slot */
117
+ themeSlot: document_d_exports.ThemeColorSlot; /** Tint hex modifier if applicable (e.g., "CC") */
118
+ tint?: string; /** Shade hex modifier if applicable (e.g., "BF") */
119
+ shade?: string; /** Human-readable label (e.g., "Accent 1, Lighter 60%") */
120
+ label: string;
121
+ };
122
+ /**
123
+ * Standard colors row matching Word's color picker (below the theme matrix).
124
+ */
125
+ declare const STANDARD_TEXT_COLORS: {
126
+ name: string;
127
+ hex: string;
128
+ }[];
129
+ /**
130
+ * Compute a single tinted or shaded hex color from a base color.
131
+ *
132
+ * @param baseHex - 6-character hex color (no #)
133
+ * @param type - 'tint' to lighten, 'shade' to darken
134
+ * @param fraction - Amount (0-1). For tint: 0=no change, 1=white. For shade: 0=black, 1=no change.
135
+ * @returns 6-character hex color (no #)
136
+ */
137
+ declare function getThemeTintShadeHex(baseHex: string, type: "tint" | "shade", fraction: number): string;
138
+ /**
139
+ * Generate the 10×6 theme color matrix for an advanced color picker.
140
+ *
141
+ * Columns: lt1, dk1, lt2, dk2, accent1-6 (matches Word's order)
142
+ * Rows: base, 80% tint, 60% tint, 40% tint, 25% shade, 50% shade
143
+ *
144
+ * @param colorScheme - Theme color scheme (falls back to Office 2016 defaults)
145
+ * @returns 6 rows × 10 columns of ThemeMatrixCell
146
+ */
147
+ declare function generateThemeTintShadeMatrix(colorScheme?: document_d_exports.ThemeColorScheme | null): ThemeMatrixCell[][];
148
+ /**
149
+ * Check if two colors are equal
150
+ *
151
+ * @param color1 - First color
152
+ * @param color2 - Second color
153
+ * @param theme - Theme for resolving
154
+ * @returns True if colors resolve to the same value
155
+ */
156
+ declare function colorsEqual(color1: document_d_exports.ColorValue | undefined | null, color2: document_d_exports.ColorValue | undefined | null, theme: document_d_exports.Theme | null | undefined): boolean;
157
+ //#endregion
158
+ export { STANDARD_TEXT_COLORS, ThemeMatrixCell, blendColors, colorsEqual, createRgbColor, createThemeColor, darkenColor, ensureHexPrefix, generateThemeTintShadeMatrix, getContrastingColor, getThemeTintShadeHex, isBlack, isWhite, lightenColor, parseColorString, resolveColor, resolveHighlightColor, resolveHighlightToCss, resolveShadingColor };
@@ -0,0 +1,557 @@
1
+ //#region src/utils/colorResolver.ts
2
+ /**
3
+ * Default theme colors (Office 2016 default theme)
4
+ */
5
+ const DEFAULT_THEME_COLORS = {
6
+ dk1: "000000",
7
+ lt1: "FFFFFF",
8
+ dk2: "44546A",
9
+ lt2: "E7E6E6",
10
+ accent1: "4472C4",
11
+ accent2: "ED7D31",
12
+ accent3: "A5A5A5",
13
+ accent4: "FFC000",
14
+ accent5: "5B9BD5",
15
+ accent6: "70AD47",
16
+ hlink: "0563C1",
17
+ folHlink: "954F72"
18
+ };
19
+ /**
20
+ * Highlight color mapping to hex values
21
+ * These are the W3C standard colors for Word highlighting
22
+ */
23
+ const HIGHLIGHT_COLORS = {
24
+ black: "000000",
25
+ blue: "0000FF",
26
+ cyan: "00FFFF",
27
+ darkBlue: "00008B",
28
+ darkCyan: "008B8B",
29
+ darkGray: "A9A9A9",
30
+ darkGreen: "006400",
31
+ darkMagenta: "8B008B",
32
+ darkRed: "8B0000",
33
+ darkYellow: "808000",
34
+ green: "00FF00",
35
+ lightGray: "D3D3D3",
36
+ magenta: "FF00FF",
37
+ red: "FF0000",
38
+ white: "FFFFFF",
39
+ yellow: "FFFF00",
40
+ none: ""
41
+ };
42
+ /**
43
+ * Map alternative theme color names to standard slots
44
+ * OOXML uses different names in different contexts
45
+ */
46
+ const THEME_COLOR_ALIASES = {
47
+ dk1: "dk1",
48
+ lt1: "lt1",
49
+ dk2: "dk2",
50
+ lt2: "lt2",
51
+ accent1: "accent1",
52
+ accent2: "accent2",
53
+ accent3: "accent3",
54
+ accent4: "accent4",
55
+ accent5: "accent5",
56
+ accent6: "accent6",
57
+ hlink: "hlink",
58
+ folHlink: "folHlink",
59
+ dark1: "dk1",
60
+ light1: "lt1",
61
+ dark2: "dk2",
62
+ light2: "lt2",
63
+ hyperlink: "hlink",
64
+ followedHyperlink: "folHlink",
65
+ background1: "lt1",
66
+ text1: "dk1",
67
+ background2: "lt2",
68
+ text2: "dk2",
69
+ tx1: "dk1",
70
+ tx2: "dk2",
71
+ bg1: "lt1",
72
+ bg2: "lt2"
73
+ };
74
+ /**
75
+ * Parse a hex color modifier value (tint or shade)
76
+ * OOXML stores tint/shade as hex string (00-FF) representing 0-255
77
+ *
78
+ * @param hexValue - Hex string like "80" or "FF"
79
+ * @returns Decimal value 0-1
80
+ */
81
+ function parseModifierValue(hexValue) {
82
+ if (!hexValue) return 1;
83
+ const parsed = Number.parseInt(hexValue, 16);
84
+ if (Number.isNaN(parsed)) return 1;
85
+ return parsed / 255;
86
+ }
87
+ /**
88
+ * Parse RGB hex color to component values
89
+ *
90
+ * @param hex - 6-character hex color (no #)
91
+ * @returns RGB object with r, g, b values 0-255
92
+ */
93
+ function hexToRgb(hex) {
94
+ const normalized = hex.padStart(6, "0").slice(0, 6);
95
+ const r = Number.parseInt(normalized.slice(0, 2), 16);
96
+ const g = Number.parseInt(normalized.slice(2, 4), 16);
97
+ const b = Number.parseInt(normalized.slice(4, 6), 16);
98
+ return {
99
+ r: Number.isNaN(r) ? 0 : r,
100
+ g: Number.isNaN(g) ? 0 : g,
101
+ b: Number.isNaN(b) ? 0 : b
102
+ };
103
+ }
104
+ /**
105
+ * Convert RGB values to hex color
106
+ *
107
+ * @param r - Red 0-255
108
+ * @param g - Green 0-255
109
+ * @param b - Blue 0-255
110
+ * @returns 6-character hex color (no #)
111
+ */
112
+ function rgbToHex(r, g, b) {
113
+ const toHex = (n) => Math.max(0, Math.min(255, Math.round(n))).toString(16).padStart(2, "0");
114
+ return `${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase();
115
+ }
116
+ /**
117
+ * Apply tint to a color (make lighter by blending with white)
118
+ *
119
+ * OOXML tint algorithm:
120
+ * - Blends each channel toward white
121
+ *
122
+ * @param hex - 6-character hex color (no #)
123
+ * @param tint - Tint value 0-1 (0 = no change, 1 = fully white)
124
+ * @returns Modified hex color
125
+ */
126
+ function applyTint(hex, tint) {
127
+ if (tint <= 0 || tint >= 1) return tint >= 1 ? "FFFFFF" : hex;
128
+ const rgb = hexToRgb(hex);
129
+ return rgbToHex(rgb.r * (1 - tint) + 255 * tint, rgb.g * (1 - tint) + 255 * tint, rgb.b * (1 - tint) + 255 * tint);
130
+ }
131
+ /**
132
+ * Apply shade to a color (make darker by blending with black)
133
+ *
134
+ * OOXML shade algorithm:
135
+ * - Multiplies each channel by the shade value
136
+ *
137
+ * @param hex - 6-character hex color (no #)
138
+ * @param shade - Shade value 0-1 (0 = fully black, 1 = no change)
139
+ * @returns Modified hex color
140
+ */
141
+ function applyShade(hex, shade) {
142
+ if (shade <= 0 || shade >= 1) return shade <= 0 ? "000000" : hex;
143
+ const rgb = hexToRgb(hex);
144
+ return rgbToHex(rgb.r * shade, rgb.g * shade, rgb.b * shade);
145
+ }
146
+ /**
147
+ * Get a theme color by slot name
148
+ *
149
+ * @param theme - Theme object
150
+ * @param slot - Color slot name
151
+ * @returns Hex color (6 characters, no #)
152
+ */
153
+ function getThemeColorValue(theme, slot) {
154
+ const schemeKey = THEME_COLOR_ALIASES[slot] ?? slot;
155
+ const schemeKeys = [
156
+ "dk1",
157
+ "lt1",
158
+ "dk2",
159
+ "lt2",
160
+ "accent1",
161
+ "accent2",
162
+ "accent3",
163
+ "accent4",
164
+ "accent5",
165
+ "accent6",
166
+ "hlink",
167
+ "folHlink"
168
+ ];
169
+ const isSchemeKey = (key) => schemeKeys.includes(key);
170
+ if (!theme?.colorScheme) {
171
+ if (isSchemeKey(schemeKey)) return DEFAULT_THEME_COLORS[schemeKey] ?? "000000";
172
+ return "000000";
173
+ }
174
+ if (isSchemeKey(schemeKey)) return theme.colorScheme[schemeKey] ?? DEFAULT_THEME_COLORS[schemeKey] ?? "000000";
175
+ return "000000";
176
+ }
177
+ /**
178
+ * Resolve a theme color name to a standard slot
179
+ *
180
+ * @param colorName - Theme color name (could be alias)
181
+ * @returns Standard ThemeColorSlot or null if unknown
182
+ */
183
+ function resolveThemeColorSlot(colorName) {
184
+ if (!colorName) return null;
185
+ const normalized = colorName.toLowerCase();
186
+ return THEME_COLOR_ALIASES[colorName] ?? THEME_COLOR_ALIASES[normalized] ?? null;
187
+ }
188
+ /**
189
+ * Resolve a ColorValue to a CSS color string
190
+ *
191
+ * @param color - ColorValue object with rgb, themeColor, tint/shade, or auto
192
+ * @param theme - Theme for resolving theme colors
193
+ * @param defaultColor - Default color if auto or undefined (default: black)
194
+ * @returns CSS color string (e.g., "#FF0000" or "inherit")
195
+ */
196
+ function resolveColor(color, theme, defaultColor = "000000") {
197
+ if (!color) return `#${defaultColor}`;
198
+ if (color.auto) return `#${defaultColor}`;
199
+ let hexColor;
200
+ if (color.themeColor) {
201
+ const slot = resolveThemeColorSlot(color.themeColor);
202
+ if (slot) hexColor = getThemeColorValue(theme, slot);
203
+ else hexColor = color.rgb ?? defaultColor;
204
+ if (color.themeTint) {
205
+ const tintValue = parseModifierValue(color.themeTint);
206
+ hexColor = applyTint(hexColor, 1 - tintValue);
207
+ } else if (color.themeShade) {
208
+ const shadeValue = parseModifierValue(color.themeShade);
209
+ hexColor = applyShade(hexColor, shadeValue);
210
+ }
211
+ } else if (color.rgb) hexColor = color.rgb === "auto" ? defaultColor : color.rgb;
212
+ else hexColor = defaultColor;
213
+ return `#${hexColor.toUpperCase().replace(/^#/u, "")}`;
214
+ }
215
+ /**
216
+ * Resolve a highlight color name to CSS
217
+ *
218
+ * @param highlight - Highlight color name (e.g., "yellow", "cyan")
219
+ * @returns CSS color string or empty string for "none"
220
+ */
221
+ function resolveHighlightColor(highlight) {
222
+ if (!highlight || highlight === "none") return "";
223
+ const hex = HIGHLIGHT_COLORS[highlight];
224
+ return hex ? `#${hex}` : "";
225
+ }
226
+ /**
227
+ * Resolve a shading fill or pattern color to CSS
228
+ *
229
+ * @param color - ColorValue for fill
230
+ * @param theme - Theme for resolving theme colors
231
+ * @returns CSS color string
232
+ */
233
+ function resolveShadingColor(color, theme) {
234
+ if (!color) return "";
235
+ if (color.auto) return "transparent";
236
+ return resolveColor(color, theme);
237
+ }
238
+ /**
239
+ * Check if a color is effectively black
240
+ *
241
+ * @param color - ColorValue object
242
+ * @param theme - Theme for resolving theme colors
243
+ * @returns True if color resolves to black or very dark
244
+ */
245
+ function isBlack(color, theme) {
246
+ if (!color) return false;
247
+ if (color.auto) return true;
248
+ const rgb = hexToRgb(resolveColor(color, theme).replace(/^#/u, "").toLowerCase());
249
+ return (rgb.r + rgb.g + rgb.b) / 3 < 20;
250
+ }
251
+ /**
252
+ * Check if a color is effectively white
253
+ *
254
+ * @param color - ColorValue object
255
+ * @param theme - Theme for resolving theme colors
256
+ * @returns True if color resolves to white or very light
257
+ */
258
+ function isWhite(color, theme) {
259
+ if (!color) return false;
260
+ const rgb = hexToRgb(resolveColor(color, theme).replace(/^#/u, "").toLowerCase());
261
+ return (rgb.r + rgb.g + rgb.b) / 3 > 235;
262
+ }
263
+ /**
264
+ * Get contrasting text color for a background
265
+ *
266
+ * @param backgroundColor - Background ColorValue
267
+ * @param theme - Theme for resolving theme colors
268
+ * @returns Black or white hex color for best contrast
269
+ */
270
+ function getContrastingColor(backgroundColor, theme) {
271
+ if (!backgroundColor) return "#000000";
272
+ const bgRgb = hexToRgb(resolveColor(backgroundColor, theme).replace(/^#/u, ""));
273
+ return (.299 * bgRgb.r + .587 * bgRgb.g + .114 * bgRgb.b) / 255 > .5 ? "#000000" : "#FFFFFF";
274
+ }
275
+ /**
276
+ * Parse a color string (various formats) to ColorValue
277
+ *
278
+ * @param colorString - Color string like "FF0000", "auto", or theme color name
279
+ * @returns ColorValue object
280
+ */
281
+ function parseColorString(colorString) {
282
+ if (!colorString) return;
283
+ const normalized = colorString.trim();
284
+ if (normalized.toLowerCase() === "auto") return { auto: true };
285
+ const themeSlot = resolveThemeColorSlot(normalized);
286
+ if (themeSlot) return { themeColor: themeSlot };
287
+ const hex = normalized.replace(/^#/u, "").toUpperCase();
288
+ if (/^[0-9A-F]{6}$/iu.test(hex)) return { rgb: hex };
289
+ if (/^[0-9A-F]{3}$/iu.test(hex)) return { rgb: hex.split("").map((c) => c + c).join("") };
290
+ return { rgb: hex.padStart(6, "0").slice(0, 6) };
291
+ }
292
+ /**
293
+ * Create a ColorValue from theme color reference
294
+ *
295
+ * @param themeColor - Theme color slot name
296
+ * @param tint - Optional tint modifier
297
+ * @param shade - Optional shade modifier
298
+ * @returns ColorValue object
299
+ */
300
+ function createThemeColor(themeColor, tint, shade) {
301
+ const result = { themeColor };
302
+ if (tint !== void 0 && tint > 0 && tint < 1) result.themeTint = Math.round(tint * 255).toString(16).toUpperCase().padStart(2, "0");
303
+ if (shade !== void 0 && shade > 0 && shade < 1) result.themeShade = Math.round(shade * 255).toString(16).toUpperCase().padStart(2, "0");
304
+ return result;
305
+ }
306
+ /**
307
+ * Create a ColorValue from RGB hex
308
+ *
309
+ * @param hex - 6-character hex color (no #)
310
+ * @returns ColorValue object
311
+ */
312
+ function createRgbColor(hex) {
313
+ return { rgb: hex.replace(/^#/u, "").toUpperCase() };
314
+ }
315
+ /**
316
+ * Darken a color by a percentage
317
+ *
318
+ * @param color - ColorValue to darken
319
+ * @param theme - Theme for resolving
320
+ * @param percent - Percentage to darken (0-100)
321
+ * @returns CSS color string
322
+ */
323
+ function darkenColor(color, theme, percent) {
324
+ return `#${applyShade(resolveColor(color, theme).replace(/^#/u, ""), 1 - percent / 100)}`;
325
+ }
326
+ /**
327
+ * Lighten a color by a percentage
328
+ *
329
+ * @param color - ColorValue to lighten
330
+ * @param theme - Theme for resolving
331
+ * @param percent - Percentage to lighten (0-100)
332
+ * @returns CSS color string
333
+ */
334
+ function lightenColor(color, theme, percent) {
335
+ return `#${applyTint(resolveColor(color, theme).replace(/^#/u, ""), percent / 100)}`;
336
+ }
337
+ /**
338
+ * Blend two colors together
339
+ *
340
+ * @param color1 - First color
341
+ * @param color2 - Second color
342
+ * @param ratio - Blend ratio (0 = all color1, 1 = all color2)
343
+ * @param theme - Theme for resolving
344
+ * @returns CSS color string
345
+ */
346
+ function blendColors(color1, color2, ratio, theme) {
347
+ const resolved1 = resolveColor(color1, theme).replace(/^#/u, "");
348
+ const resolved2 = resolveColor(color2, theme).replace(/^#/u, "");
349
+ const rgb1 = hexToRgb(resolved1);
350
+ const rgb2 = hexToRgb(resolved2);
351
+ const blended = {
352
+ r: Math.round(rgb1.r * (1 - ratio) + rgb2.r * ratio),
353
+ g: Math.round(rgb1.g * (1 - ratio) + rgb2.g * ratio),
354
+ b: Math.round(rgb1.b * (1 - ratio) + rgb2.b * ratio)
355
+ };
356
+ return `#${rgbToHex(blended.r, blended.g, blended.b)}`;
357
+ }
358
+ /**
359
+ * Ensure a hex color string has a '#' prefix.
360
+ */
361
+ function ensureHexPrefix(hex) {
362
+ return hex.startsWith("#") ? hex : `#${hex}`;
363
+ }
364
+ /**
365
+ * Resolve a highlight color value to a CSS-ready string.
366
+ * Tries OOXML named highlight first, then ensures hex prefix.
367
+ */
368
+ function resolveHighlightToCss(value) {
369
+ return resolveHighlightColor(value) || ensureHexPrefix(value);
370
+ }
371
+ /**
372
+ * Standard colors row matching Word's color picker (below the theme matrix).
373
+ */
374
+ const STANDARD_TEXT_COLORS = [
375
+ {
376
+ name: "Dark Red",
377
+ hex: "C00000"
378
+ },
379
+ {
380
+ name: "Red",
381
+ hex: "FF0000"
382
+ },
383
+ {
384
+ name: "Orange",
385
+ hex: "FFC000"
386
+ },
387
+ {
388
+ name: "Yellow",
389
+ hex: "FFFF00"
390
+ },
391
+ {
392
+ name: "Light Green",
393
+ hex: "92D050"
394
+ },
395
+ {
396
+ name: "Green",
397
+ hex: "00B050"
398
+ },
399
+ {
400
+ name: "Light Blue",
401
+ hex: "00B0F0"
402
+ },
403
+ {
404
+ name: "Blue",
405
+ hex: "0070C0"
406
+ },
407
+ {
408
+ name: "Dark Blue",
409
+ hex: "002060"
410
+ },
411
+ {
412
+ name: "Purple",
413
+ hex: "7030A0"
414
+ }
415
+ ];
416
+ /**
417
+ * Theme color column order matching Word's color picker:
418
+ * Background 1 (lt1), Text 1 (dk1), Background 2 (lt2), Text 2 (dk2), Accent 1-6
419
+ */
420
+ const THEME_MATRIX_COLUMNS = [
421
+ {
422
+ slot: "lt1",
423
+ name: "Background 1"
424
+ },
425
+ {
426
+ slot: "dk1",
427
+ name: "Text 1"
428
+ },
429
+ {
430
+ slot: "lt2",
431
+ name: "Background 2"
432
+ },
433
+ {
434
+ slot: "dk2",
435
+ name: "Text 2"
436
+ },
437
+ {
438
+ slot: "accent1",
439
+ name: "Accent 1"
440
+ },
441
+ {
442
+ slot: "accent2",
443
+ name: "Accent 2"
444
+ },
445
+ {
446
+ slot: "accent3",
447
+ name: "Accent 3"
448
+ },
449
+ {
450
+ slot: "accent4",
451
+ name: "Accent 4"
452
+ },
453
+ {
454
+ slot: "accent5",
455
+ name: "Accent 5"
456
+ },
457
+ {
458
+ slot: "accent6",
459
+ name: "Accent 6"
460
+ }
461
+ ];
462
+ /**
463
+ * Tint/shade row definitions matching Word's picker.
464
+ * Row 0 = base, rows 1-3 = tints (lighter), rows 4-5 = shades (darker).
465
+ */
466
+ const THEME_MATRIX_ROWS = [
467
+ {
468
+ type: "base",
469
+ value: 0,
470
+ hexValue: "",
471
+ labelSuffix: ""
472
+ },
473
+ {
474
+ type: "tint",
475
+ value: .8,
476
+ hexValue: "CC",
477
+ labelSuffix: ", Lighter 80%"
478
+ },
479
+ {
480
+ type: "tint",
481
+ value: .6,
482
+ hexValue: "99",
483
+ labelSuffix: ", Lighter 60%"
484
+ },
485
+ {
486
+ type: "tint",
487
+ value: .4,
488
+ hexValue: "66",
489
+ labelSuffix: ", Lighter 40%"
490
+ },
491
+ {
492
+ type: "shade",
493
+ value: .75,
494
+ hexValue: "BF",
495
+ labelSuffix: ", Darker 25%"
496
+ },
497
+ {
498
+ type: "shade",
499
+ value: .5,
500
+ hexValue: "80",
501
+ labelSuffix: ", Darker 50%"
502
+ }
503
+ ];
504
+ /**
505
+ * Compute a single tinted or shaded hex color from a base color.
506
+ *
507
+ * @param baseHex - 6-character hex color (no #)
508
+ * @param type - 'tint' to lighten, 'shade' to darken
509
+ * @param fraction - Amount (0-1). For tint: 0=no change, 1=white. For shade: 0=black, 1=no change.
510
+ * @returns 6-character hex color (no #)
511
+ */
512
+ function getThemeTintShadeHex(baseHex, type, fraction) {
513
+ if (type === "tint") return applyTint(baseHex, fraction);
514
+ return applyShade(baseHex, fraction);
515
+ }
516
+ /**
517
+ * Generate the 10×6 theme color matrix for an advanced color picker.
518
+ *
519
+ * Columns: lt1, dk1, lt2, dk2, accent1-6 (matches Word's order)
520
+ * Rows: base, 80% tint, 60% tint, 40% tint, 25% shade, 50% shade
521
+ *
522
+ * @param colorScheme - Theme color scheme (falls back to Office 2016 defaults)
523
+ * @returns 6 rows × 10 columns of ThemeMatrixCell
524
+ */
525
+ function generateThemeTintShadeMatrix(colorScheme) {
526
+ const scheme = colorScheme ?? DEFAULT_THEME_COLORS;
527
+ return THEME_MATRIX_ROWS.map((row) => THEME_MATRIX_COLUMNS.map((col) => {
528
+ const baseHex = scheme[col.slot] ?? DEFAULT_THEME_COLORS[col.slot] ?? "000000";
529
+ let hex;
530
+ if (row.type === "base") hex = baseHex.toUpperCase();
531
+ else if (row.type === "tint") hex = applyTint(baseHex, row.value);
532
+ else hex = applyShade(baseHex, row.value);
533
+ const cell = {
534
+ hex,
535
+ themeSlot: col.slot,
536
+ label: `${col.name}${row.labelSuffix}`
537
+ };
538
+ if (row.type === "tint" && row.hexValue) cell.tint = row.hexValue;
539
+ else if (row.type === "shade" && row.hexValue) cell.shade = row.hexValue;
540
+ return cell;
541
+ }));
542
+ }
543
+ /**
544
+ * Check if two colors are equal
545
+ *
546
+ * @param color1 - First color
547
+ * @param color2 - Second color
548
+ * @param theme - Theme for resolving
549
+ * @returns True if colors resolve to the same value
550
+ */
551
+ function colorsEqual(color1, color2, theme) {
552
+ if (!color1 && !color2) return true;
553
+ if (!color1 || !color2) return false;
554
+ return resolveColor(color1, theme).toUpperCase() === resolveColor(color2, theme).toUpperCase();
555
+ }
556
+ //#endregion
557
+ export { STANDARD_TEXT_COLORS, blendColors, colorsEqual, createRgbColor, createThemeColor, darkenColor, ensureHexPrefix, generateThemeTintShadeMatrix, getContrastingColor, getThemeTintShadeHex, isBlack, isWhite, lightenColor, parseColorString, resolveColor, resolveHighlightColor, resolveHighlightToCss, resolveShadingColor };