@beyondwork/docx-react-component 1.0.29 → 1.0.31

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 (383) hide show
  1. package/package.json +65 -96
  2. package/src/README.md +85 -0
  3. package/src/api/README.md +26 -0
  4. package/src/api/public-types.ts +1952 -0
  5. package/src/api/session-state.ts +62 -0
  6. package/src/compare/diff-engine.ts +623 -0
  7. package/src/compare/export-redlines.ts +280 -0
  8. package/src/compare/index.ts +25 -0
  9. package/src/compare/snapshot.ts +97 -0
  10. package/src/component-inventory.md +99 -0
  11. package/src/core/README.md +10 -0
  12. package/src/core/commands/README.md +3 -0
  13. package/{dist/chunk-TJBP2K4T.js → src/core/commands/formatting-commands.ts} +536 -196
  14. package/src/core/commands/image-commands.ts +373 -0
  15. package/src/core/commands/index.ts +1879 -0
  16. package/src/core/commands/list-commands.ts +565 -0
  17. package/src/core/commands/paragraph-layout-commands.ts +339 -0
  18. package/src/core/commands/review-commands.ts +108 -0
  19. package/{dist/core/commands/section-layout-commands.cjs → src/core/commands/section-layout-commands.ts} +340 -137
  20. package/src/core/commands/structural-helpers.ts +309 -0
  21. package/{dist/core/commands/style-commands.cjs → src/core/commands/style-commands.ts} +113 -65
  22. package/src/core/commands/table-structure-commands.ts +854 -0
  23. package/{dist/chunk-UZXBISGO.js → src/core/commands/text-commands.ts} +142 -86
  24. package/src/core/schema/README.md +3 -0
  25. package/src/core/schema/text-schema.ts +516 -0
  26. package/src/core/search/search-text.ts +357 -0
  27. package/src/core/selection/README.md +3 -0
  28. package/src/core/selection/mapping.ts +289 -0
  29. package/src/core/selection/review-anchors.ts +183 -0
  30. package/src/core/state/README.md +3 -0
  31. package/src/core/state/editor-state.ts +892 -0
  32. package/src/core/state/text-transaction.ts +869 -0
  33. package/src/formats/xlsx/io/parse-shared-strings.ts +41 -0
  34. package/src/formats/xlsx/io/parse-sheet.ts +459 -0
  35. package/src/formats/xlsx/io/parse-styles.ts +59 -0
  36. package/src/formats/xlsx/io/parse-workbook.ts +75 -0
  37. package/src/formats/xlsx/io/serialize-shared-strings.ts +72 -0
  38. package/src/formats/xlsx/io/serialize-sheet.ts +333 -0
  39. package/src/formats/xlsx/io/serialize-styles.ts +98 -0
  40. package/src/formats/xlsx/io/serialize-workbook.ts +429 -0
  41. package/src/formats/xlsx/io/xlsx-session.ts +314 -0
  42. package/src/formats/xlsx/model/cell.ts +189 -0
  43. package/src/formats/xlsx/model/sheet.ts +326 -0
  44. package/src/formats/xlsx/model/styles.ts +118 -0
  45. package/src/formats/xlsx/model/workbook.ts +453 -0
  46. package/src/formats/xlsx/runtime/cell-commands.ts +567 -0
  47. package/src/formats/xlsx/runtime/sheet-commands.ts +206 -0
  48. package/src/formats/xlsx/runtime/workbook-runtime.ts +177 -0
  49. package/src/formats/xlsx/runtime/workbook-transaction.ts +822 -0
  50. package/src/index.ts +142 -0
  51. package/src/io/README.md +10 -0
  52. package/src/io/docx-session.ts +3175 -0
  53. package/src/io/export/README.md +3 -0
  54. package/src/io/export/export-session.ts +220 -0
  55. package/src/io/export/minimal-docx.ts +115 -0
  56. package/src/io/export/reattach-preserved-parts.ts +54 -0
  57. package/src/io/export/serialize-comments.ts +947 -0
  58. package/src/io/export/serialize-footnotes.ts +394 -0
  59. package/src/io/export/serialize-headers-footers.ts +368 -0
  60. package/src/io/export/serialize-main-document.ts +1342 -0
  61. package/src/io/export/serialize-numbering.ts +218 -0
  62. package/src/io/export/serialize-revisions.ts +389 -0
  63. package/src/io/export/serialize-runtime-revisions.ts +463 -0
  64. package/src/io/export/serialize-tables.ts +174 -0
  65. package/src/io/export/split-review-boundaries.ts +356 -0
  66. package/src/io/export/split-story-blocks-for-runtime-revisions.ts +252 -0
  67. package/src/io/export/table-properties-xml.ts +318 -0
  68. package/src/io/normalize/README.md +3 -0
  69. package/src/io/normalize/normalize-text.ts +670 -0
  70. package/src/io/ooxml/README.md +3 -0
  71. package/src/io/ooxml/highlight-colors.ts +39 -0
  72. package/src/io/ooxml/numbering-sentinels.ts +44 -0
  73. package/src/io/ooxml/parse-comments.ts +852 -0
  74. package/src/io/ooxml/parse-complex-content.ts +287 -0
  75. package/src/io/ooxml/parse-fields.ts +834 -0
  76. package/src/io/ooxml/parse-footnotes.ts +952 -0
  77. package/src/io/ooxml/parse-headers-footers.ts +1212 -0
  78. package/src/io/ooxml/parse-inline-media.ts +461 -0
  79. package/src/io/ooxml/parse-main-document.ts +2947 -0
  80. package/src/io/ooxml/parse-numbering.ts +747 -0
  81. package/src/io/ooxml/parse-revisions.ts +1045 -0
  82. package/src/io/ooxml/parse-settings.ts +184 -0
  83. package/src/io/ooxml/parse-shapes.ts +296 -0
  84. package/src/io/ooxml/parse-styles.ts +639 -0
  85. package/src/io/ooxml/parse-tables.ts +627 -0
  86. package/src/io/ooxml/parse-theme.ts +346 -0
  87. package/src/io/ooxml/part-manifest.ts +136 -0
  88. package/src/io/ooxml/revision-boundaries.ts +475 -0
  89. package/src/io/ooxml/workflow-payload.ts +544 -0
  90. package/src/io/opc/README.md +3 -0
  91. package/src/io/opc/corrupt-package.ts +166 -0
  92. package/src/io/opc/docx-package.ts +74 -0
  93. package/src/io/opc/package-reader.ts +325 -0
  94. package/src/io/opc/package-writer.ts +273 -0
  95. package/src/io/source-package-provenance.ts +241 -0
  96. package/{dist/chunk-RMH72RZI.js → src/legal/bookmarks.ts} +130 -44
  97. package/src/legal/cross-references.ts +414 -0
  98. package/src/legal/defined-terms.ts +203 -0
  99. package/src/legal/index.ts +32 -0
  100. package/src/legal/signature-blocks.ts +259 -0
  101. package/src/model/README.md +3 -0
  102. package/src/model/canonical-document.ts +2722 -0
  103. package/src/model/cds-1.0.0.ts +212 -0
  104. package/src/model/snapshot.ts +760 -0
  105. package/src/preservation/README.md +3 -0
  106. package/src/preservation/markup-compatibility.ts +48 -0
  107. package/src/preservation/opaque-fragment-store.ts +89 -0
  108. package/src/preservation/opaque-region.ts +233 -0
  109. package/src/preservation/package-preservation.ts +113 -0
  110. package/src/preservation/preserved-part-manifest.ts +56 -0
  111. package/src/preservation/relationship-retention.ts +57 -0
  112. package/src/preservation/store.ts +255 -0
  113. package/src/review/README.md +16 -0
  114. package/src/review/store/README.md +3 -0
  115. package/src/review/store/comment-anchors.ts +70 -0
  116. package/src/review/store/comment-remapping.ts +154 -0
  117. package/src/review/store/comment-store.ts +349 -0
  118. package/src/review/store/comment-thread.ts +109 -0
  119. package/src/review/store/revision-actions.ts +423 -0
  120. package/src/review/store/revision-store.ts +323 -0
  121. package/src/review/store/revision-types.ts +182 -0
  122. package/src/review/store/runtime-comment-store.ts +43 -0
  123. package/src/runtime/README.md +3 -0
  124. package/src/runtime/ai-action-policy.ts +764 -0
  125. package/src/runtime/context-analytics.ts +824 -0
  126. package/src/runtime/document-layout.ts +332 -0
  127. package/src/runtime/document-locations.ts +521 -0
  128. package/src/runtime/document-navigation.ts +616 -0
  129. package/src/runtime/document-outline.ts +440 -0
  130. package/src/runtime/document-runtime.ts +4055 -0
  131. package/src/runtime/document-search.ts +145 -0
  132. package/src/runtime/event-refresh-hints.ts +137 -0
  133. package/src/runtime/numbering-prefix.ts +244 -0
  134. package/src/runtime/page-layout-estimation.ts +305 -0
  135. package/src/runtime/read-only-diagnostics-runtime.ts +241 -0
  136. package/src/runtime/resolved-numbering-geometry.ts +293 -0
  137. package/src/runtime/review-runtime.ts +44 -0
  138. package/src/runtime/revision-runtime.ts +107 -0
  139. package/src/runtime/session-capabilities.ts +192 -0
  140. package/src/runtime/story-context.ts +164 -0
  141. package/src/runtime/story-targeting.ts +162 -0
  142. package/src/runtime/suggestions-snapshot.ts +137 -0
  143. package/src/runtime/surface-projection.ts +1553 -0
  144. package/src/runtime/table-commands.ts +173 -0
  145. package/src/runtime/table-schema.ts +309 -0
  146. package/src/runtime/table-style-resolver.ts +409 -0
  147. package/src/runtime/view-state.ts +493 -0
  148. package/src/runtime/virtualized-rendering.ts +258 -0
  149. package/src/runtime/workflow-markup.ts +393 -0
  150. package/src/ui/README.md +30 -0
  151. package/src/ui/WordReviewEditor.tsx +5268 -0
  152. package/src/ui/browser-export.ts +52 -0
  153. package/src/ui/comments/README.md +3 -0
  154. package/src/ui/compatibility/README.md +3 -0
  155. package/src/ui/editor-command-bag.ts +127 -0
  156. package/src/ui/editor-runtime-boundary.ts +1558 -0
  157. package/src/ui/editor-shell-view.tsx +144 -0
  158. package/src/ui/editor-surface/README.md +3 -0
  159. package/src/ui/editor-surface-controller.tsx +66 -0
  160. package/src/ui/headless/comment-decoration-model.ts +124 -0
  161. package/src/ui/headless/preserve-editor-selection.ts +5 -0
  162. package/src/ui/headless/revision-decoration-model.ts +128 -0
  163. package/src/ui/headless/selection-helpers.ts +54 -0
  164. package/src/ui/headless/selection-tool-context.ts +19 -0
  165. package/src/ui/headless/selection-tool-resolver.ts +752 -0
  166. package/src/ui/headless/selection-tool-types.ts +129 -0
  167. package/src/ui/headless/selection-toolbar-model.ts +11 -0
  168. package/src/ui/headless/use-editor-keyboard.ts +103 -0
  169. package/src/ui/review/README.md +3 -0
  170. package/src/ui/runtime-shortcut-dispatch.ts +365 -0
  171. package/src/ui/runtime-snapshot-selectors.ts +197 -0
  172. package/src/ui/shared/revision-filters.ts +31 -0
  173. package/src/ui/status/README.md +3 -0
  174. package/src/ui/theme/README.md +3 -0
  175. package/src/ui/toolbar/README.md +3 -0
  176. package/src/ui/workflow-surface-blocked-rails.ts +94 -0
  177. package/src/ui-tailwind/chrome/chrome-preset-model.ts +107 -0
  178. package/src/ui-tailwind/chrome/chrome-preset-toolbar.tsx +15 -0
  179. package/src/ui-tailwind/chrome/responsive-chrome.ts +46 -0
  180. package/src/ui-tailwind/chrome/review-queue-bar.tsx +97 -0
  181. package/src/ui-tailwind/chrome/tw-alert-banner.tsx +64 -0
  182. package/src/ui-tailwind/chrome/tw-context-analytics-summary.tsx +122 -0
  183. package/src/ui-tailwind/chrome/tw-image-context-toolbar.tsx +121 -0
  184. package/src/ui-tailwind/chrome/tw-layout-panel.tsx +114 -0
  185. package/src/ui-tailwind/chrome/tw-object-context-toolbar.tsx +30 -0
  186. package/src/ui-tailwind/chrome/tw-page-ruler.tsx +365 -0
  187. package/src/ui-tailwind/chrome/tw-selection-tool-blocked.tsx +23 -0
  188. package/src/ui-tailwind/chrome/tw-selection-tool-comment.tsx +35 -0
  189. package/src/ui-tailwind/chrome/tw-selection-tool-formatting.tsx +37 -0
  190. package/src/ui-tailwind/chrome/tw-selection-tool-host.tsx +303 -0
  191. package/src/ui-tailwind/chrome/tw-selection-tool-structure.tsx +116 -0
  192. package/src/ui-tailwind/chrome/tw-selection-tool-suggestion.tsx +29 -0
  193. package/src/ui-tailwind/chrome/tw-selection-tool-workflow.tsx +27 -0
  194. package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +186 -0
  195. package/src/ui-tailwind/chrome/tw-suggestion-card.tsx +139 -0
  196. package/src/ui-tailwind/chrome/tw-table-context-toolbar.tsx +250 -0
  197. package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +58 -0
  198. package/src/ui-tailwind/chrome/use-before-unload.ts +20 -0
  199. package/src/ui-tailwind/editor-surface/perf-probe.ts +179 -0
  200. package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +189 -0
  201. package/src/ui-tailwind/editor-surface/pm-contextual-ui.ts +31 -0
  202. package/src/ui-tailwind/editor-surface/pm-decorations.ts +411 -0
  203. package/src/ui-tailwind/editor-surface/pm-position-map.ts +123 -0
  204. package/src/ui-tailwind/editor-surface/pm-schema.ts +927 -0
  205. package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +567 -0
  206. package/src/ui-tailwind/editor-surface/search-plugin.ts +168 -0
  207. package/src/ui-tailwind/editor-surface/surface-build-keys.ts +63 -0
  208. package/src/ui-tailwind/editor-surface/tw-caret.tsx +12 -0
  209. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +150 -0
  210. package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +129 -0
  211. package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +58 -0
  212. package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +151 -0
  213. package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +1047 -0
  214. package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +111 -0
  215. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +503 -0
  216. package/src/ui-tailwind/index.ts +62 -0
  217. package/src/ui-tailwind/page-chrome-model.ts +27 -0
  218. package/src/ui-tailwind/review/tw-comment-sidebar.tsx +406 -0
  219. package/src/ui-tailwind/review/tw-health-panel.tsx +149 -0
  220. package/src/ui-tailwind/review/tw-review-rail.tsx +130 -0
  221. package/src/ui-tailwind/review/tw-revision-sidebar.tsx +164 -0
  222. package/src/ui-tailwind/status/tw-status-bar.tsx +65 -0
  223. package/{dist → src}/ui-tailwind/theme/editor-theme.css +58 -40
  224. package/src/ui-tailwind/toolbar/toolbar-layout.ts +47 -0
  225. package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +52 -0
  226. package/src/ui-tailwind/toolbar/tw-toolbar.tsx +1478 -0
  227. package/src/ui-tailwind/tw-review-workspace.tsx +1587 -0
  228. package/src/validation/README.md +3 -0
  229. package/src/validation/compatibility-engine.ts +878 -0
  230. package/src/validation/compatibility-report.ts +161 -0
  231. package/src/validation/diagnostics.ts +204 -0
  232. package/src/validation/docx-comment-proof.ts +720 -0
  233. package/src/validation/import-diagnostics.ts +128 -0
  234. package/src/validation/low-priority-word-surfaces.ts +373 -0
  235. package/dist/canonical-document-BLEbzL2J.d.cts +0 -844
  236. package/dist/canonical-document-BLEbzL2J.d.ts +0 -844
  237. package/dist/chunk-2FJS5GZM.js +0 -763
  238. package/dist/chunk-2FJS5GZM.js.map +0 -1
  239. package/dist/chunk-2OQBZS3F.js +0 -446
  240. package/dist/chunk-2OQBZS3F.js.map +0 -1
  241. package/dist/chunk-2S7W4KFO.js +0 -127
  242. package/dist/chunk-2S7W4KFO.js.map +0 -1
  243. package/dist/chunk-2TG72QSW.js +0 -3874
  244. package/dist/chunk-2TG72QSW.js.map +0 -1
  245. package/dist/chunk-36QNIZBO.js +0 -532
  246. package/dist/chunk-36QNIZBO.js.map +0 -1
  247. package/dist/chunk-4AQOYAW4.js +0 -3069
  248. package/dist/chunk-4AQOYAW4.js.map +0 -1
  249. package/dist/chunk-4D5EWJ3P.js +0 -77
  250. package/dist/chunk-4D5EWJ3P.js.map +0 -1
  251. package/dist/chunk-5FN54NDH.js +0 -2257
  252. package/dist/chunk-5FN54NDH.js.map +0 -1
  253. package/dist/chunk-BOYGQYRQ.js +0 -7306
  254. package/dist/chunk-BOYGQYRQ.js.map +0 -1
  255. package/dist/chunk-CN3XMECL.js +0 -212
  256. package/dist/chunk-CN3XMECL.js.map +0 -1
  257. package/dist/chunk-EBI3BX6U.js +0 -164
  258. package/dist/chunk-EBI3BX6U.js.map +0 -1
  259. package/dist/chunk-EILUG3VB.js +0 -1275
  260. package/dist/chunk-EILUG3VB.js.map +0 -1
  261. package/dist/chunk-FUDY333O.js +0 -70
  262. package/dist/chunk-FUDY333O.js.map +0 -1
  263. package/dist/chunk-GBVOWFIK.js +0 -1237
  264. package/dist/chunk-GBVOWFIK.js.map +0 -1
  265. package/dist/chunk-H4TQ3H3Y.js +0 -262
  266. package/dist/chunk-H4TQ3H3Y.js.map +0 -1
  267. package/dist/chunk-JGB3IXZO.js +0 -189
  268. package/dist/chunk-JGB3IXZO.js.map +0 -1
  269. package/dist/chunk-KD2QRQPY.js +0 -4342
  270. package/dist/chunk-KD2QRQPY.js.map +0 -1
  271. package/dist/chunk-KLMXQVYK.js +0 -369
  272. package/dist/chunk-KLMXQVYK.js.map +0 -1
  273. package/dist/chunk-KZUG5KFQ.js +0 -214
  274. package/dist/chunk-KZUG5KFQ.js.map +0 -1
  275. package/dist/chunk-QDAQ4CJU.js +0 -345
  276. package/dist/chunk-QDAQ4CJU.js.map +0 -1
  277. package/dist/chunk-RMH72RZI.js.map +0 -1
  278. package/dist/chunk-SWKWQZXM.js +0 -117
  279. package/dist/chunk-SWKWQZXM.js.map +0 -1
  280. package/dist/chunk-TJBP2K4T.js.map +0 -1
  281. package/dist/chunk-TLCEAQDQ.js +0 -542
  282. package/dist/chunk-TLCEAQDQ.js.map +0 -1
  283. package/dist/chunk-UZXBISGO.js.map +0 -1
  284. package/dist/chunk-WGBAKP3Q.js +0 -3220
  285. package/dist/chunk-WGBAKP3Q.js.map +0 -1
  286. package/dist/compare/index.cjs +0 -5475
  287. package/dist/compare/index.cjs.map +0 -1
  288. package/dist/compare/index.d.cts +0 -114
  289. package/dist/compare/index.d.ts +0 -114
  290. package/dist/compare/index.js +0 -731
  291. package/dist/compare/index.js.map +0 -1
  292. package/dist/core/commands/formatting-commands.cjs +0 -828
  293. package/dist/core/commands/formatting-commands.cjs.map +0 -1
  294. package/dist/core/commands/formatting-commands.d.cts +0 -63
  295. package/dist/core/commands/formatting-commands.d.ts +0 -63
  296. package/dist/core/commands/formatting-commands.js +0 -37
  297. package/dist/core/commands/formatting-commands.js.map +0 -1
  298. package/dist/core/commands/image-commands.cjs +0 -2023
  299. package/dist/core/commands/image-commands.cjs.map +0 -1
  300. package/dist/core/commands/image-commands.d.cts +0 -58
  301. package/dist/core/commands/image-commands.d.ts +0 -58
  302. package/dist/core/commands/image-commands.js +0 -18
  303. package/dist/core/commands/image-commands.js.map +0 -1
  304. package/dist/core/commands/section-layout-commands.cjs.map +0 -1
  305. package/dist/core/commands/section-layout-commands.d.cts +0 -62
  306. package/dist/core/commands/section-layout-commands.d.ts +0 -62
  307. package/dist/core/commands/section-layout-commands.js +0 -21
  308. package/dist/core/commands/section-layout-commands.js.map +0 -1
  309. package/dist/core/commands/style-commands.cjs.map +0 -1
  310. package/dist/core/commands/style-commands.d.cts +0 -13
  311. package/dist/core/commands/style-commands.d.ts +0 -13
  312. package/dist/core/commands/style-commands.js +0 -9
  313. package/dist/core/commands/style-commands.js.map +0 -1
  314. package/dist/core/commands/table-structure-commands.cjs +0 -1883
  315. package/dist/core/commands/table-structure-commands.cjs.map +0 -1
  316. package/dist/core/commands/table-structure-commands.d.cts +0 -59
  317. package/dist/core/commands/table-structure-commands.d.ts +0 -59
  318. package/dist/core/commands/table-structure-commands.js +0 -12
  319. package/dist/core/commands/table-structure-commands.js.map +0 -1
  320. package/dist/core/commands/text-commands.cjs +0 -2391
  321. package/dist/core/commands/text-commands.cjs.map +0 -1
  322. package/dist/core/commands/text-commands.d.cts +0 -24
  323. package/dist/core/commands/text-commands.d.ts +0 -24
  324. package/dist/core/commands/text-commands.js +0 -28
  325. package/dist/core/commands/text-commands.js.map +0 -1
  326. package/dist/core/selection/mapping.cjs +0 -200
  327. package/dist/core/selection/mapping.cjs.map +0 -1
  328. package/dist/core/selection/mapping.d.cts +0 -2
  329. package/dist/core/selection/mapping.d.ts +0 -2
  330. package/dist/core/selection/mapping.js +0 -31
  331. package/dist/core/selection/mapping.js.map +0 -1
  332. package/dist/core/state/editor-state.cjs +0 -2278
  333. package/dist/core/state/editor-state.cjs.map +0 -1
  334. package/dist/core/state/editor-state.d.cts +0 -2
  335. package/dist/core/state/editor-state.d.ts +0 -2
  336. package/dist/core/state/editor-state.js +0 -26
  337. package/dist/core/state/editor-state.js.map +0 -1
  338. package/dist/index.cjs +0 -38553
  339. package/dist/index.cjs.map +0 -1
  340. package/dist/index.d.cts +0 -15
  341. package/dist/index.d.ts +0 -15
  342. package/dist/index.js +0 -7856
  343. package/dist/index.js.map +0 -1
  344. package/dist/io/docx-session.cjs +0 -16236
  345. package/dist/io/docx-session.cjs.map +0 -1
  346. package/dist/io/docx-session.d.cts +0 -21
  347. package/dist/io/docx-session.d.ts +0 -21
  348. package/dist/io/docx-session.js +0 -18
  349. package/dist/io/docx-session.js.map +0 -1
  350. package/dist/legal/index.cjs +0 -3900
  351. package/dist/legal/index.cjs.map +0 -1
  352. package/dist/legal/index.d.cts +0 -86
  353. package/dist/legal/index.d.ts +0 -86
  354. package/dist/legal/index.js +0 -616
  355. package/dist/legal/index.js.map +0 -1
  356. package/dist/public-types-7ZL_94cz.d.ts +0 -1573
  357. package/dist/public-types-CeMaDueh.d.cts +0 -1573
  358. package/dist/public-types.cjs +0 -19
  359. package/dist/public-types.cjs.map +0 -1
  360. package/dist/public-types.d.cts +0 -2
  361. package/dist/public-types.d.ts +0 -2
  362. package/dist/public-types.js +0 -1
  363. package/dist/public-types.js.map +0 -1
  364. package/dist/runtime/document-runtime.cjs +0 -11140
  365. package/dist/runtime/document-runtime.cjs.map +0 -1
  366. package/dist/runtime/document-runtime.d.cts +0 -231
  367. package/dist/runtime/document-runtime.d.ts +0 -231
  368. package/dist/runtime/document-runtime.js +0 -21
  369. package/dist/runtime/document-runtime.js.map +0 -1
  370. package/dist/structural-helpers-CilgOVhh.d.cts +0 -10
  371. package/dist/structural-helpers-q0Gd-eBN.d.ts +0 -10
  372. package/dist/ui-tailwind/editor-surface/search-plugin.cjs +0 -313
  373. package/dist/ui-tailwind/editor-surface/search-plugin.cjs.map +0 -1
  374. package/dist/ui-tailwind/editor-surface/search-plugin.d.cts +0 -67
  375. package/dist/ui-tailwind/editor-surface/search-plugin.d.ts +0 -67
  376. package/dist/ui-tailwind/editor-surface/search-plugin.js +0 -23
  377. package/dist/ui-tailwind/editor-surface/search-plugin.js.map +0 -1
  378. package/dist/ui-tailwind/index.cjs +0 -4833
  379. package/dist/ui-tailwind/index.cjs.map +0 -1
  380. package/dist/ui-tailwind/index.d.cts +0 -617
  381. package/dist/ui-tailwind/index.d.ts +0 -617
  382. package/dist/ui-tailwind/index.js +0 -575
  383. package/dist/ui-tailwind/index.js.map +0 -1
@@ -1,31 +1,57 @@
1
- import {
2
- extractBookmarksFromBodyXml
3
- } from "./chunk-TLCEAQDQ.js";
1
+ import { extractBookmarksFromBodyXml } from "../io/ooxml/parse-fields.ts";
2
+ import type {
3
+ BookmarkEndNode,
4
+ BookmarkStartNode,
5
+ CanonicalDocument,
6
+ DocumentNode,
7
+ FieldRegistry,
8
+ FieldRegistryEntry,
9
+ } from "../model/canonical-document.ts";
4
10
 
5
- // src/legal/bookmarks.ts
6
- function parseBookmarksFromDocumentXml(xml) {
11
+ export interface LegalBookmark {
12
+ bookmarkId: string;
13
+ name?: string;
14
+ hidden: boolean;
15
+ source: "ooxml" | "canonical";
16
+ status: "paired" | "start-only" | "end-only";
17
+ startIndex?: number;
18
+ endIndex?: number;
19
+ }
20
+
21
+ interface OpenBookmark {
22
+ bookmarkId: string;
23
+ name?: string;
24
+ hidden: boolean;
25
+ startIndex: number;
26
+ }
27
+
28
+ export function parseBookmarksFromDocumentXml(xml: string): LegalBookmark[] {
7
29
  const bookmarks = extractBookmarksFromBodyXml(xml);
8
- const openBookmarks = /* @__PURE__ */ new Map();
9
- const results = [];
30
+ const openBookmarks = new Map<string, OpenBookmark[]>();
31
+ const results: LegalBookmark[] = [];
32
+
10
33
  for (let index = 0; index < bookmarks.length; index += 1) {
11
34
  const bookmark = bookmarks[index];
35
+
12
36
  if (bookmark.type === "bookmark_start") {
13
- const entry = {
37
+ const entry: OpenBookmark = {
14
38
  bookmarkId: bookmark.bookmarkId,
15
39
  name: bookmark.name,
16
40
  hidden: isHiddenBookmarkName(bookmark.name),
17
- startIndex: index
41
+ startIndex: index,
18
42
  };
19
- const stack2 = openBookmarks.get(bookmark.bookmarkId) ?? [];
20
- stack2.push(entry);
21
- openBookmarks.set(bookmark.bookmarkId, stack2);
43
+ const stack = openBookmarks.get(bookmark.bookmarkId) ?? [];
44
+ stack.push(entry);
45
+ openBookmarks.set(bookmark.bookmarkId, stack);
22
46
  continue;
23
47
  }
48
+
24
49
  const stack = openBookmarks.get(bookmark.bookmarkId);
25
50
  const open = stack?.pop();
26
51
  if (stack && stack.length === 0) {
27
52
  openBookmarks.delete(bookmark.bookmarkId);
28
53
  }
54
+
29
55
  if (open) {
30
56
  results.push({
31
57
  bookmarkId: bookmark.bookmarkId,
@@ -34,18 +60,20 @@ function parseBookmarksFromDocumentXml(xml) {
34
60
  source: "ooxml",
35
61
  status: "paired",
36
62
  startIndex: open.startIndex,
37
- endIndex: index
63
+ endIndex: index,
38
64
  });
39
65
  continue;
40
66
  }
67
+
41
68
  results.push({
42
69
  bookmarkId: bookmark.bookmarkId,
43
70
  hidden: false,
44
71
  source: "ooxml",
45
72
  status: "end-only",
46
- endIndex: index
73
+ endIndex: index,
47
74
  });
48
75
  }
76
+
49
77
  for (const stack of openBookmarks.values()) {
50
78
  for (const open of stack) {
51
79
  results.push({
@@ -54,41 +82,51 @@ function parseBookmarksFromDocumentXml(xml) {
54
82
  hidden: open.hidden,
55
83
  source: "ooxml",
56
84
  status: "start-only",
57
- startIndex: open.startIndex
85
+ startIndex: open.startIndex,
58
86
  });
59
87
  }
60
88
  }
89
+
61
90
  return results.sort(compareBookmarks);
62
91
  }
63
- function collectBookmarksFromCanonicalDocument(document) {
92
+
93
+ export function collectBookmarksFromCanonicalDocument(
94
+ document: Pick<CanonicalDocument, "content"> | DocumentNode,
95
+ ): LegalBookmark[] {
64
96
  const root = "content" in document ? document.content : document;
65
- const sequence = [];
97
+ const sequence: Array<BookmarkStartNode | BookmarkEndNode> = [];
98
+
66
99
  walkDocument(root, (node) => {
67
100
  if (node.type === "bookmark_start" || node.type === "bookmark_end") {
68
101
  sequence.push(node);
69
102
  }
70
103
  });
71
- const openBookmarks = /* @__PURE__ */ new Map();
72
- const results = [];
104
+
105
+ const openBookmarks = new Map<string, OpenBookmark[]>();
106
+ const results: LegalBookmark[] = [];
107
+
73
108
  for (let index = 0; index < sequence.length; index += 1) {
74
109
  const bookmark = sequence[index];
110
+
75
111
  if (bookmark.type === "bookmark_start") {
76
- const entry = {
112
+ const entry: OpenBookmark = {
77
113
  bookmarkId: bookmark.bookmarkId,
78
114
  name: bookmark.name,
79
115
  hidden: isHiddenBookmarkName(bookmark.name),
80
- startIndex: index
116
+ startIndex: index,
81
117
  };
82
- const stack2 = openBookmarks.get(bookmark.bookmarkId) ?? [];
83
- stack2.push(entry);
84
- openBookmarks.set(bookmark.bookmarkId, stack2);
118
+ const stack = openBookmarks.get(bookmark.bookmarkId) ?? [];
119
+ stack.push(entry);
120
+ openBookmarks.set(bookmark.bookmarkId, stack);
85
121
  continue;
86
122
  }
123
+
87
124
  const stack = openBookmarks.get(bookmark.bookmarkId);
88
125
  const open = stack?.pop();
89
126
  if (stack && stack.length === 0) {
90
127
  openBookmarks.delete(bookmark.bookmarkId);
91
128
  }
129
+
92
130
  if (open) {
93
131
  results.push({
94
132
  bookmarkId: bookmark.bookmarkId,
@@ -97,18 +135,20 @@ function collectBookmarksFromCanonicalDocument(document) {
97
135
  source: "canonical",
98
136
  status: "paired",
99
137
  startIndex: open.startIndex,
100
- endIndex: index
138
+ endIndex: index,
101
139
  });
102
140
  continue;
103
141
  }
142
+
104
143
  results.push({
105
144
  bookmarkId: bookmark.bookmarkId,
106
145
  hidden: false,
107
146
  source: "canonical",
108
147
  status: "end-only",
109
- endIndex: index
148
+ endIndex: index,
110
149
  });
111
150
  }
151
+
112
152
  for (const stack of openBookmarks.values()) {
113
153
  for (const open of stack) {
114
154
  results.push({
@@ -117,16 +157,29 @@ function collectBookmarksFromCanonicalDocument(document) {
117
157
  hidden: open.hidden,
118
158
  source: "canonical",
119
159
  status: "start-only",
120
- startIndex: open.startIndex
160
+ startIndex: open.startIndex,
121
161
  });
122
162
  }
123
163
  }
164
+
124
165
  return results.sort(compareBookmarks);
125
166
  }
126
- function isHiddenBookmarkName(name) {
167
+
168
+ export function isHiddenBookmarkName(name: string | undefined): boolean {
127
169
  return Boolean(name && name.startsWith("_"));
128
170
  }
129
- function assessBookmarkIntegrity(bookmarks) {
171
+
172
+ export interface BookmarkIntegrityResult {
173
+ totalCount: number;
174
+ pairedCount: number;
175
+ startOnlyCount: number;
176
+ endOnlyCount: number;
177
+ hiddenCount: number;
178
+ namedCount: number;
179
+ integrityScore: "complete" | "partial" | "degraded";
180
+ }
181
+
182
+ export function assessBookmarkIntegrity(bookmarks: LegalBookmark[]): BookmarkIntegrityResult {
130
183
  const pairedCount = bookmarks.filter((b) => b.status === "paired").length;
131
184
  const startOnlyCount = bookmarks.filter((b) => b.status === "start-only").length;
132
185
  const endOnlyCount = bookmarks.filter((b) => b.status === "end-only").length;
@@ -134,6 +187,7 @@ function assessBookmarkIntegrity(bookmarks) {
134
187
  const namedCount = bookmarks.filter((b) => b.name && !b.hidden).length;
135
188
  const totalCount = bookmarks.length;
136
189
  const unpairedCount = startOnlyCount + endOnlyCount;
190
+
137
191
  return {
138
192
  totalCount,
139
193
  pairedCount,
@@ -141,16 +195,34 @@ function assessBookmarkIntegrity(bookmarks) {
141
195
  endOnlyCount,
142
196
  hiddenCount,
143
197
  namedCount,
144
- integrityScore: unpairedCount === 0 ? "complete" : unpairedCount <= pairedCount ? "partial" : "degraded"
198
+ integrityScore:
199
+ unpairedCount === 0
200
+ ? "complete"
201
+ : unpairedCount <= pairedCount
202
+ ? "partial"
203
+ : "degraded",
145
204
  };
146
205
  }
147
- function compareBookmarks(left, right) {
148
- return (left.startIndex ?? left.endIndex ?? Number.MAX_SAFE_INTEGER) - (right.startIndex ?? right.endIndex ?? Number.MAX_SAFE_INTEGER) || left.bookmarkId.localeCompare(right.bookmarkId);
206
+
207
+ function compareBookmarks(left: LegalBookmark, right: LegalBookmark): number {
208
+ return (
209
+ (left.startIndex ?? left.endIndex ?? Number.MAX_SAFE_INTEGER) -
210
+ (right.startIndex ?? right.endIndex ?? Number.MAX_SAFE_INTEGER) ||
211
+ left.bookmarkId.localeCompare(right.bookmarkId)
212
+ );
149
213
  }
150
- function buildBookmarkNameMap(document) {
214
+
215
+ /**
216
+ * Build a lookup map from bookmark name to bookmarkId for the document.
217
+ * Used by the field refresh runtime to resolve REF/PAGEREF/NOTEREF targets.
218
+ */
219
+ export function buildBookmarkNameMap(
220
+ document: Pick<CanonicalDocument, "content"> | DocumentNode,
221
+ ): Map<string, { bookmarkId: string; paragraphIndex: number }> {
151
222
  const root = "content" in document ? document.content : document;
152
- const map = /* @__PURE__ */ new Map();
223
+ const map = new Map<string, { bookmarkId: string; paragraphIndex: number }>();
153
224
  let paragraphIndex = -1;
225
+
154
226
  walkDocument(root, (node) => {
155
227
  if (node.type === "paragraph") {
156
228
  paragraphIndex += 1;
@@ -159,15 +231,38 @@ function buildBookmarkNameMap(document) {
159
231
  map.set(node.name, { bookmarkId: node.bookmarkId, paragraphIndex });
160
232
  }
161
233
  });
234
+
162
235
  return map;
163
236
  }
164
- function walkDocument(node, visit) {
237
+
238
+ /**
239
+ * Resolve field-to-bookmark dependencies from a field registry.
240
+ * Returns a map of bookmark names to the field entries that reference them.
241
+ * This enables the runtime to determine which fields need refresh when
242
+ * a bookmark's content changes.
243
+ */
244
+ export function resolveBookmarkFieldDependencies(
245
+ registry: FieldRegistry,
246
+ ): Map<string, FieldRegistryEntry[]> {
247
+ const deps = new Map<string, FieldRegistryEntry[]>();
248
+ for (const entry of registry.supported) {
249
+ if (!entry.fieldTarget) continue;
250
+ const existing = deps.get(entry.fieldTarget) ?? [];
251
+ existing.push(entry);
252
+ deps.set(entry.fieldTarget, existing);
253
+ }
254
+ return deps;
255
+ }
256
+
257
+ function walkDocument(node: DocumentNode, visit: (node: DocumentNode) => void): void {
165
258
  visit(node);
259
+
166
260
  if ("children" in node && Array.isArray(node.children)) {
167
261
  for (const child of node.children) {
168
262
  walkDocument(child, visit);
169
263
  }
170
264
  }
265
+
171
266
  if (node.type === "table") {
172
267
  for (const row of node.rows) {
173
268
  walkDocument(row, visit);
@@ -178,12 +273,3 @@ function walkDocument(node, visit) {
178
273
  }
179
274
  }
180
275
  }
181
-
182
- export {
183
- parseBookmarksFromDocumentXml,
184
- collectBookmarksFromCanonicalDocument,
185
- isHiddenBookmarkName,
186
- assessBookmarkIntegrity,
187
- buildBookmarkNameMap
188
- };
189
- //# sourceMappingURL=chunk-RMH72RZI.js.map