@stll/folio-core 0.15.2 → 0.15.3

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 (134) hide show
  1. package/dist/ai-edits/apply.js +2 -2
  2. package/dist/ai-edits/blockRange.js +1 -1
  3. package/dist/ai-edits/headless.js +9 -9
  4. package/dist/ai-edits/index.js +5 -5
  5. package/dist/ai-edits/read.js +1 -1
  6. package/dist/ai-edits/table-cell-mutations.js +2 -2
  7. package/dist/compat/eigenpal.js +19 -19
  8. package/dist/content-controls/mutateContentControls.js +1 -1
  9. package/dist/controller/contentControlWidgetController.js +1 -1
  10. package/dist/controller/headerFooterEditorManager.js +5 -5
  11. package/dist/controller/hiddenEditorManager.js +5 -5
  12. package/dist/controller/layoutPipeline.js +10 -10
  13. package/dist/controller/noteEditorManager.js +5 -5
  14. package/dist/docx/blockContentParser.js +4 -4
  15. package/dist/docx/commentParser.js +2 -2
  16. package/dist/docx/documentParser.js +27 -3
  17. package/dist/docx/encryption/agileDecryption.js +1 -1
  18. package/dist/docx/encryption/encryptionInfo.js +1 -1
  19. package/dist/docx/encryption/index.js +1 -1
  20. package/dist/docx/encryption/openEncryptedDocx.js +3 -3
  21. package/dist/docx/fieldParser.js +1 -1
  22. package/dist/docx/footnoteParser.js +2 -2
  23. package/dist/docx/groupDrawingParser.js +1 -1
  24. package/dist/docx/headerFooterParser.js +3 -3
  25. package/dist/docx/hyperlinkParser.js +1 -1
  26. package/dist/docx/imageParser.js +3 -3
  27. package/dist/docx/index.js +1 -1
  28. package/dist/docx/paragraphParser.js +4 -4
  29. package/dist/docx/paragraphTextBoxEnrichment.js +4 -4
  30. package/dist/docx/parser.js +7 -7
  31. package/dist/docx/rezip.js +9 -9
  32. package/dist/docx/runParser.js +6 -6
  33. package/dist/docx/sectionParser.js +2 -2
  34. package/dist/docx/selectiveSave.js +7 -7
  35. package/dist/docx/serializer/commentSerializer.js +2 -2
  36. package/dist/docx/serializer/documentSerializer.js +7 -3
  37. package/dist/docx/serializer/headerFooterSerializer.js +3 -3
  38. package/dist/docx/serializer/noteSerializer.js +2 -2
  39. package/dist/docx/serializer/numberingSerializer.js +1 -1
  40. package/dist/docx/serializer/paragraphSerializer.js +2 -2
  41. package/dist/docx/serializer/runSerializer.js +3 -3
  42. package/dist/docx/serializer/sectionPropertiesSerializer.js +1 -1
  43. package/dist/docx/serializer/stylesSerializer.js +3 -3
  44. package/dist/docx/serializer/tableSerializer.js +1 -1
  45. package/dist/docx/server/docxToMarkdown.js +1 -1
  46. package/dist/docx/server/evaluateDocxXmlPatchProposal.js +1 -1
  47. package/dist/docx/server/extractDocxText.js +1 -1
  48. package/dist/docx/server/validateDocxConformance.js +3 -3
  49. package/dist/docx/shapeParser.js +1 -1
  50. package/dist/docx/styleParser.js +3 -3
  51. package/dist/docx/tableParser.js +3 -3
  52. package/dist/docx/textBoxParser.js +1 -1
  53. package/dist/docx/vmlImageParser.js +2 -2
  54. package/dist/fonts/embeddedFonts.js +2 -2
  55. package/dist/index.js +18 -18
  56. package/dist/layout-bridge/convert/footnoteLayout.js +2 -2
  57. package/dist/layout-bridge/convert/headerFooterLayout.js +2 -2
  58. package/dist/layout-bridge/convert/paragraphFrames.js +2 -2
  59. package/dist/layout-bridge/convert/toFlowBlocks.js +10 -10
  60. package/dist/layout-bridge/engine/clickToPosition.js +2 -2
  61. package/dist/layout-bridge/engine/hitTest.js +1 -1
  62. package/dist/layout-bridge/engine/measuring/index.js +6 -6
  63. package/dist/layout-bridge/engine/selectionRects.js +5 -5
  64. package/dist/layout-engine/index.js +6 -6
  65. package/dist/layout-engine/measure/cache.js +2 -2
  66. package/dist/layout-engine/measure/index.js +6 -6
  67. package/dist/layout-engine/measure/lineBreaks.js +1 -1
  68. package/dist/layout-engine/measure/listMarkerWidth.js +1 -1
  69. package/dist/layout-engine/measure/measureBlocks.js +7 -7
  70. package/dist/layout-engine/measure/measureContainer.js +3 -3
  71. package/dist/layout-engine/measure/measureHelpers.js +1 -1
  72. package/dist/layout-engine/measure/measureParagraph.js +7 -7
  73. package/dist/layout-engine/measure/tableCellFlow.js +1 -1
  74. package/dist/layout-engine/paginator.js +1 -1
  75. package/dist/layout-engine/tableRowBreak.js +2 -2
  76. package/dist/layout-painter/index.js +5 -5
  77. package/dist/layout-painter/registry/modules/textBox.js +1 -1
  78. package/dist/layout-painter/renderImage.js +1 -1
  79. package/dist/layout-painter/renderPage.js +7 -7
  80. package/dist/layout-painter/renderParagraph.js +13 -13
  81. package/dist/layout-painter/renderTable.js +6 -6
  82. package/dist/layout-painter/renderTextBox.js +1 -1
  83. package/dist/managers/DocumentLoaderManager.js +3 -3
  84. package/dist/managers/TableSelectionManager.js +1 -1
  85. package/dist/managers/editorShortcuts.js +1 -1
  86. package/dist/markdown/fromMarkdown.js +1 -1
  87. package/dist/markdown/index.js +1 -1
  88. package/dist/markdown/renderRuns.js +1 -1
  89. package/dist/markdown/renderTable.js +1 -1
  90. package/dist/model.js +2 -2
  91. package/dist/prosemirror/commands/comments.js +3 -3
  92. package/dist/prosemirror/commands/contentControls.js +1 -1
  93. package/dist/prosemirror/commands/contentControlsBlockFill.js +1 -1
  94. package/dist/prosemirror/commands/formatting.js +1 -1
  95. package/dist/prosemirror/commands/hyperlink.js +1 -1
  96. package/dist/prosemirror/commands/image.js +2 -2
  97. package/dist/prosemirror/commands/index.js +6 -6
  98. package/dist/prosemirror/commands/propertyChangeScope.js +1 -1
  99. package/dist/prosemirror/commands/tableCellMergeResolution.js +1 -1
  100. package/dist/prosemirror/commentOps.js +1 -1
  101. package/dist/prosemirror/conversion/fromProseDoc.js +4 -4
  102. package/dist/prosemirror/conversion/index.js +1 -1
  103. package/dist/prosemirror/conversion/toProseDoc.js +8 -8
  104. package/dist/prosemirror/extensions/StarterKit.js +4 -4
  105. package/dist/prosemirror/extensions/core/ParagraphExtension.js +4 -4
  106. package/dist/prosemirror/extensions/features/AutoBidiDetectionExtension.js +2 -2
  107. package/dist/prosemirror/extensions/features/BaseKeymapExtension.js +3 -3
  108. package/dist/prosemirror/extensions/features/BidiShortcutExtension.js +2 -2
  109. package/dist/prosemirror/extensions/features/ContentControlWidgetsExtension.js +1 -1
  110. package/dist/prosemirror/extensions/features/ImagePasteExtension.js +2 -2
  111. package/dist/prosemirror/extensions/features/ListExtension.js +3 -3
  112. package/dist/prosemirror/extensions/features/ParaIdAllocatorExtension.js +1 -1
  113. package/dist/prosemirror/extensions/features/PasteCleanupExtension.js +2 -2
  114. package/dist/prosemirror/extensions/features/PasteStyleInlinerExtension.js +1 -1
  115. package/dist/prosemirror/extensions/features/SelectionTrackerExtension.js +1 -1
  116. package/dist/prosemirror/extensions/marks/CharacterSpacingExtension.js +1 -1
  117. package/dist/prosemirror/extensions/marks/HighlightExtension.js +1 -1
  118. package/dist/prosemirror/extensions/marks/HyperlinkExtension.js +1 -1
  119. package/dist/prosemirror/extensions/marks/RunShadingExtension.js +1 -1
  120. package/dist/prosemirror/extensions/marks/TextColorExtension.js +1 -1
  121. package/dist/prosemirror/extensions/marks/TrackedChangeExtensions.js +1 -1
  122. package/dist/prosemirror/extensions/nodes/FieldExtension.js +1 -1
  123. package/dist/prosemirror/extensions/nodes/TableExtension.js +1 -1
  124. package/dist/prosemirror/index.js +15 -15
  125. package/dist/prosemirror/insertOperations.js +3 -3
  126. package/dist/prosemirror/plugins/templateDirectives.js +1 -1
  127. package/dist/prosemirror/styles/styleResolver.js +1 -1
  128. package/dist/redline.js +1 -1
  129. package/dist/render-dom/BodySelectionOverlay.js +2 -2
  130. package/dist/server.js +15 -15
  131. package/dist/style-sets/extract.js +1 -1
  132. package/dist/utils/formatToStyle.js +1 -1
  133. package/dist/version-comparison.js +2 -2
  134. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
- import { Priority } from "../types.js";
2
- import { createExtension } from "../create.js";
3
- import { SUGGESTION_META, makeRevisionInfo } from "../../plugins/suggestionMode.js";
4
1
  import { PPR_CHANGE_SCOPED_ATTR_KEYS } from "../../commands/propertyChangeScope.js";
2
+ import { SUGGESTION_META, makeRevisionInfo } from "../../plugins/suggestionMode.js";
3
+ import { createExtension } from "../create.js";
5
4
  import { goToNextCell, goToPrevCell } from "../nodes/TableExtension.js";
5
+ import { Priority } from "../types.js";
6
6
  //#region src/prosemirror/extensions/features/ListExtension.ts
7
7
  function chainCommands(...commands) {
8
8
  return (state, dispatch, view) => {
@@ -1,6 +1,6 @@
1
+ import { generateHexId } from "../../../utils/hexId.js";
1
2
  import { createExtension } from "../create.js";
2
3
  import { ignoreTrackedChanges } from "./ParagraphChangeTrackerExtension.js";
3
- import { generateHexId } from "../../../utils/hexId.js";
4
4
  import { Fragment } from "prosemirror-model";
5
5
  import { Plugin, PluginKey } from "prosemirror-state";
6
6
  //#region src/prosemirror/extensions/features/ParaIdAllocatorExtension.ts
@@ -1,6 +1,6 @@
1
- import { Priority } from "../types.js";
2
- import { createExtension } from "../create.js";
3
1
  import { pasteWithoutFormatting } from "../../commands/pastePlainText.js";
2
+ import { createExtension } from "../create.js";
3
+ import { Priority } from "../types.js";
4
4
  import { cleanPastedHtml } from "./pasteCleanup.js";
5
5
  import { Plugin } from "prosemirror-state";
6
6
  //#region src/prosemirror/extensions/features/PasteCleanupExtension.ts
@@ -1,5 +1,5 @@
1
- import { Priority } from "../types.js";
2
1
  import { createExtension } from "../create.js";
2
+ import { Priority } from "../types.js";
3
3
  import { Plugin } from "prosemirror-state";
4
4
  //#region src/prosemirror/extensions/features/PasteStyleInlinerExtension.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { createExtension } from "../create.js";
2
1
  import { createSelectionTrackerPlugin, extractSelectionContext } from "../../plugins/selectionTracker.js";
2
+ import { createExtension } from "../create.js";
3
3
  const SelectionTrackerExtension = createExtension({
4
4
  name: "selectionTracker",
5
5
  defaultOptions: {},
@@ -1,5 +1,5 @@
1
- import { expectCharacterSpacingMarkAttrs } from "../../attrs/index.js";
2
1
  import { formatPx, twipsToPixels } from "../../../utils/units.js";
2
+ import { expectCharacterSpacingMarkAttrs } from "../../attrs/index.js";
3
3
  import { createMarkExtension } from "../create.js";
4
4
  //#region src/prosemirror/extensions/marks/CharacterSpacingExtension.ts
5
5
  /**
@@ -1,7 +1,7 @@
1
1
  import { HIGHLIGHT_COLOR_VALUES } from "../../../types/documentEnumValues.js";
2
+ import { resolveHighlightToCss } from "../../../utils/colorResolver.js";
2
3
  import { expectHighlightMarkAttrs } from "../../attrs/index.js";
3
4
  import { createMarkExtension } from "../create.js";
4
- import { resolveHighlightToCss } from "../../../utils/colorResolver.js";
5
5
  import { removeMark, setMark } from "./markUtils.js";
6
6
  import { panic } from "better-result";
7
7
  //#region src/prosemirror/extensions/marks/HighlightExtension.ts
@@ -1,7 +1,7 @@
1
+ import { normalizeUserUrl, sanitizeExternalUrl } from "../../../utils/urlSecurity.js";
1
2
  import { expectHyperlinkMarkAttrs } from "../../attrs/index.js";
2
3
  import { createMarkExtension } from "../create.js";
3
4
  import { isMarkActive } from "./markUtils.js";
4
- import { normalizeUserUrl, sanitizeExternalUrl } from "../../../utils/urlSecurity.js";
5
5
  import { panic } from "better-result";
6
6
  //#region src/prosemirror/extensions/marks/HyperlinkExtension.ts
7
7
  /**
@@ -1,6 +1,6 @@
1
+ import { ensureHexPrefix } from "../../../utils/colorResolver.js";
1
2
  import { expectRunShadingMarkAttrs } from "../../attrs/index.js";
2
3
  import { createMarkExtension } from "../create.js";
3
- import { ensureHexPrefix } from "../../../utils/colorResolver.js";
4
4
  import { normalizeCssColorKey, parseDOMHighlightColor } from "./HighlightExtension.js";
5
5
  //#region src/prosemirror/extensions/marks/RunShadingExtension.ts
6
6
  const RunShadingExtension = createMarkExtension({
@@ -1,6 +1,6 @@
1
+ import { textToStyle } from "../../../utils/formatToStyle.js";
1
2
  import { expectTextColorMarkAttrs } from "../../attrs/index.js";
2
3
  import { createMarkExtension } from "../create.js";
3
- import { textToStyle } from "../../../utils/formatToStyle.js";
4
4
  import { removeMark, setMark } from "./markUtils.js";
5
5
  import { panic } from "better-result";
6
6
  //#region src/prosemirror/extensions/marks/TextColorExtension.ts
@@ -1,6 +1,6 @@
1
+ import { AUTHOR_COLORS, getAuthorColorIdx } from "../../../utils/authorColors.js";
1
2
  import { expectTrackedChangeMarkAttrs } from "../../attrs/index.js";
2
3
  import { createMarkExtension } from "../create.js";
3
- import { AUTHOR_COLORS, getAuthorColorIdx } from "../../../utils/authorColors.js";
4
4
  //#region src/prosemirror/extensions/marks/TrackedChangeExtensions.ts
5
5
  /**
6
6
  * Tracked Change Mark Extensions — insertion and deletion marks
@@ -1,6 +1,6 @@
1
+ import { parseFieldInstruction } from "../../../docx/fieldParser.js";
1
2
  import { expectFieldAttrs } from "../../attrs/index.js";
2
3
  import { createNodeExtension } from "../create.js";
3
- import { parseFieldInstruction } from "../../../docx/fieldParser.js";
4
4
  //#region src/prosemirror/extensions/nodes/FieldExtension.ts
5
5
  /**
6
6
  * Field Extension — inline field node (PAGE, NUMPAGES, DATE, MERGEFIELD, etc.)
@@ -1,7 +1,7 @@
1
1
  import { TABLE_CELL_TEXT_DIRECTION_VALUES, TABLE_WIDTH_TYPE_VALUES } from "../../../types/documentEnumValues.js";
2
+ import { isValidHexColor, resolveColor } from "../../../utils/colorResolver.js";
2
3
  import { expectTableAttrs, expectTableCellAttrs, expectTableRowAttrs, mergeTableAttrs, mergeTableCellAttrs, mergeTableRowAttrs } from "../../attrs/index.js";
3
4
  import { createExtension, createNodeExtension } from "../create.js";
4
- import { isValidHexColor, resolveColor } from "../../../utils/colorResolver.js";
5
5
  import { panic } from "better-result";
6
6
  import { CellSelection, TableMap, columnResizing, mergeCells, removeRow, selectedRect, splitCell, tableEditing } from "prosemirror-tables";
7
7
  import { Plugin, PluginKey, Selection, TextSelection } from "prosemirror-state";
@@ -1,23 +1,23 @@
1
- import { assertValidProseMirrorDocument, formatProseMirrorDocumentIssues, validateProseMirrorDocument } from "./validation.js";
2
- import { StyleResolver, createStyleResolver } from "./styles/styleResolver.js";
1
+ import { PAINTABLE_MARK_NAMES, applyFormatMarks, captureFormatMarks } from "./commands/formatPainter.js";
2
+ import { clearFontFamily, clearFontSize, clearHighlight, clearTextColor, insertHyperlink, removeHyperlink, setFontFamily, setFontSize, setHighlight, setHyperlink, setTextColor, toggleBold, toggleItalic, toggleStrike, toggleSubscript, toggleSuperscript, toggleUnderline } from "./commands/formatting.js";
3
+ import { insertImageFromFile } from "./commands/image.js";
4
+ import { insertPageBreak } from "./commands/pageBreak.js";
5
+ import { addTabStop, alignCenter, alignJustify, alignLeft, alignRight, applyStyle, clearStyle, decreaseIndent, decreaseListLevel, generateTOC, increaseIndent, increaseListLevel, removeList, removeTabStop, setAlignment, setIndentFirstLine, setIndentLeft, setIndentRight, setLineSpacing, setLtr, setRtl, toggleBidi, toggleBulletList, toggleNumberedList } from "./commands/paragraph.js";
6
+ import { addColumnLeft, addColumnRight, addRowAbove, addRowBelow, applyTableStyle, autoFitContents, deleteColumn, deleteRow, deleteTable, distributeColumns, insertTable, mergeCells, removeTableBorders, selectColumn, selectRow, selectTable, setAllTableBorders, setCellBorder, setCellFillColor, setCellMargins, setCellTextDirection, setCellVerticalAlign, setInsideTableBorders, setOutsideTableBorders, setRowHeight, setTableBorderColor, setTableBorderPreset, setTableBorderWidth, setTableBorders, setTableProperties, splitCell, toggleHeaderRow, toggleNoWrap } from "./commands/table.js";
7
+ import { fromProseDoc, updateDocumentContent } from "./conversion/fromProseDoc.js";
8
+ import { createEmptyDoc, toProseDoc } from "./conversion/toProseDoc.js";
3
9
  import { getParagraphAlignment, getParagraphBidi, getStyleId } from "./extensions/core/ParagraphExtension.js";
4
- import { createDocumentStylesPlugin, documentStylesKey, getDocumentStyleResolver } from "./plugins/documentStyles.js";
5
- import { clearFormatting, getMarkAttr, isMarkActive } from "./extensions/marks/markUtils.js";
6
- import { getTableContext, isInTable as isInTableCell } from "./extensions/nodes/TableExtension.js";
7
10
  import { getListInfo, isInList } from "./extensions/features/ListExtension.js";
8
11
  import { ensureParaIdsInState } from "./extensions/features/ParaIdAllocatorExtension.js";
9
- import { createSelectionTrackerPlugin, extractSelectionContext, getSelectionContext, selectionTrackerKey } from "./plugins/selectionTracker.js";
10
12
  import { getHyperlinkAttrs, getSelectedText, isHyperlinkActive } from "./extensions/marks/HyperlinkExtension.js";
13
+ import { clearFormatting, getMarkAttr, isMarkActive } from "./extensions/marks/markUtils.js";
14
+ import { getTableContext, isInTable as isInTableCell } from "./extensions/nodes/TableExtension.js";
15
+ import { insertPageBreakInView, insertTableInView, insertTableOfContentsInView } from "./insertOperations.js";
16
+ import { createDocumentStylesPlugin, documentStylesKey, getDocumentStyleResolver } from "./plugins/documentStyles.js";
17
+ import { createSelectionTrackerPlugin, extractSelectionContext, getSelectionContext, selectionTrackerKey } from "./plugins/selectionTracker.js";
11
18
  import { schema, singletonManager } from "./schema/index.js";
12
- import { createEmptyDoc, toProseDoc } from "./conversion/toProseDoc.js";
13
- import { fromProseDoc, updateDocumentContent } from "./conversion/fromProseDoc.js";
14
- import { addColumnLeft, addColumnRight, addRowAbove, addRowBelow, applyTableStyle, autoFitContents, deleteColumn, deleteRow, deleteTable, distributeColumns, insertTable, mergeCells, removeTableBorders, selectColumn, selectRow, selectTable, setAllTableBorders, setCellBorder, setCellFillColor, setCellMargins, setCellTextDirection, setCellVerticalAlign, setInsideTableBorders, setOutsideTableBorders, setRowHeight, setTableBorderColor, setTableBorderPreset, setTableBorderWidth, setTableBorders, setTableProperties, splitCell, toggleHeaderRow, toggleNoWrap } from "./commands/table.js";
15
19
  import { extractSelectionState } from "./selectionState.js";
16
- import { clearFontFamily, clearFontSize, clearHighlight, clearTextColor, insertHyperlink, removeHyperlink, setFontFamily, setFontSize, setHighlight, setHyperlink, setTextColor, toggleBold, toggleItalic, toggleStrike, toggleSubscript, toggleSuperscript, toggleUnderline } from "./commands/formatting.js";
17
- import { addTabStop, alignCenter, alignJustify, alignLeft, alignRight, applyStyle, clearStyle, decreaseIndent, decreaseListLevel, generateTOC, increaseIndent, increaseListLevel, removeList, removeTabStop, setAlignment, setIndentFirstLine, setIndentLeft, setIndentRight, setLineSpacing, setLtr, setRtl, toggleBidi, toggleBulletList, toggleNumberedList } from "./commands/paragraph.js";
18
- import { PAINTABLE_MARK_NAMES, applyFormatMarks, captureFormatMarks } from "./commands/formatPainter.js";
19
- import { insertPageBreak } from "./commands/pageBreak.js";
20
- import { insertImageFromFile } from "./commands/image.js";
21
- import { insertPageBreakInView, insertTableInView, insertTableOfContentsInView } from "./insertOperations.js";
20
+ import { StyleResolver, createStyleResolver } from "./styles/styleResolver.js";
21
+ import { assertValidProseMirrorDocument, formatProseMirrorDocumentIssues, validateProseMirrorDocument } from "./validation.js";
22
22
  import { TextSelection } from "prosemirror-state";
23
23
  export { PAINTABLE_MARK_NAMES, StyleResolver, TextSelection, addColumnLeft, addColumnRight, addRowAbove, addRowBelow, addTabStop, alignCenter, alignJustify, alignLeft, alignRight, applyFormatMarks, applyStyle, applyTableStyle, assertValidProseMirrorDocument, autoFitContents, captureFormatMarks, clearFontFamily, clearFontSize, clearFormatting, clearHighlight, clearStyle, clearTextColor, createDocumentStylesPlugin, createEmptyDoc, createSelectionTrackerPlugin, createStyleResolver, decreaseIndent, decreaseListLevel, deleteColumn, deleteRow, deleteTable, distributeColumns, documentStylesKey, ensureParaIdsInState, extractSelectionContext, extractSelectionState, formatProseMirrorDocumentIssues, fromProseDoc, generateTOC, getDocumentStyleResolver, getHyperlinkAttrs, getListInfo, getMarkAttr, getParagraphAlignment, getParagraphBidi, getSelectedText, getSelectionContext, getStyleId, getTableContext, increaseIndent, increaseListLevel, insertHyperlink, insertImageFromFile, insertPageBreak, insertPageBreakInView, insertTable, insertTableInView, insertTableOfContentsInView, isHyperlinkActive, isInList, isInTableCell as isInTable, isMarkActive, mergeCells, removeHyperlink, removeList, removeTabStop, removeTableBorders, schema, selectColumn, selectRow, selectTable, selectionTrackerKey, setAlignment, setAllTableBorders, setCellBorder, setCellFillColor, setCellMargins, setCellTextDirection, setCellVerticalAlign, setFontFamily, setFontSize, setHighlight, setHyperlink, setIndentFirstLine, setIndentLeft, setIndentRight, setInsideTableBorders, setLineSpacing, setLtr, setOutsideTableBorders, setRowHeight, setRtl, setTableBorderColor, setTableBorderPreset, setTableBorderWidth, setTableBorders, setTableProperties, setTextColor, singletonManager, splitCell, toProseDoc, toggleBidi, toggleBold, toggleBulletList, toggleHeaderRow, toggleItalic, toggleNoWrap, toggleNumberedList, toggleStrike, toggleSubscript, toggleSuperscript, toggleUnderline, updateDocumentContent, validateProseMirrorDocument };
@@ -1,7 +1,7 @@
1
- import { insertTable } from "./commands/table.js";
2
- import { generateTOC } from "./commands/paragraph.js";
3
- import { insertPageBreak } from "./commands/pageBreak.js";
4
1
  import { insertImageFromFile } from "./commands/image.js";
2
+ import { insertPageBreak } from "./commands/pageBreak.js";
3
+ import { generateTOC } from "./commands/paragraph.js";
4
+ import { insertTable } from "./commands/table.js";
5
5
  //#region src/prosemirror/insertOperations.ts
6
6
  /** Insert a `rows × columns` table at the current selection. */
7
7
  function insertTableInView(view, rows, columns) {
@@ -1,5 +1,5 @@
1
- import { collectBlockChunks, joinChunks, offsetToDocPos } from "./pmTextScan.js";
2
1
  import { createDocScanPlugin, getDocScanRanges } from "./createDocScanPlugin.js";
2
+ import { collectBlockChunks, joinChunks, offsetToDocPos } from "./pmTextScan.js";
3
3
  import { PluginKey } from "prosemirror-state";
4
4
  import { assertNever, isBlockDirectiveKind, scanMarkers } from "@stll/template-conditions";
5
5
  //#region src/prosemirror/plugins/templateDirectives.ts
@@ -1,5 +1,5 @@
1
- import { mergeTextFormatting } from "../../utils/textFormattingMerge.js";
2
1
  import { mergeParagraphFormatting } from "../../utils/paragraphFormattingMerge.js";
2
+ import { mergeTextFormatting } from "../../utils/textFormattingMerge.js";
3
3
  //#region src/prosemirror/styles/styleResolver.ts
4
4
  /**
5
5
  * Word's default-template Normal style, used as a last-resort fallback for a
package/dist/redline.js CHANGED
@@ -1,6 +1,6 @@
1
+ import { FolioDocxReviewer, isFolioResolvedReviewedView } from "./ai-edits/headless.js";
1
2
  import "./document-operations.js";
2
3
  import { pairFolioDocumentStories } from "./document-stories.js";
3
- import { FolioDocxReviewer, isFolioResolvedReviewedView } from "./ai-edits/headless.js";
4
4
  import { resolveFolioDocumentPrivacyTransforms, rewriteDocxMetadataPrivacy } from "./docx/metadataPrivacy.js";
5
5
  import { alignFolioBlocks } from "./version-comparison.js";
6
6
  import { TaggedError, panic } from "better-result";
@@ -1,7 +1,7 @@
1
- import { findBodyPmAnchor } from "../layout-bridge/dom/findBodyPmSpans.js";
2
1
  import { applyCellSelectionHighlight } from "../layout-bridge/cellSelectionHighlight.js";
3
- import { findImageElement } from "../layout-painter/imageLayout.js";
4
2
  import { getCaretPositionFromDom, getSelectionRectsFromDom } from "../layout-bridge/dom/clickToPositionDom.js";
3
+ import { findBodyPmAnchor } from "../layout-bridge/dom/findBodyPmSpans.js";
4
+ import { findImageElement } from "../layout-painter/imageLayout.js";
5
5
  import { NodeSelection } from "prosemirror-state";
6
6
  //#region src/render-dom/BodySelectionOverlay.ts
7
7
  /**
package/dist/server.js CHANGED
@@ -1,23 +1,23 @@
1
- import { deriveBlockId, getFolioParaIdFromBlockId, isFolioBlockId, isSequentialFolioBlockId } from "./types/block-id.js";
1
+ import { FOLIO_RESOLVED_REVIEWED_VIEWS, FOLIO_REVIEWED_VIEWS, FolioDocumentStoryNotFoundError, FolioDocxReviewer, UnsupportedFolioReviewedViewError, applyFolioAIEditsToBuffer, isFolioResolvedReviewedView, isFolioReviewedView } from "./ai-edits/headless.js";
2
+ import { getFolioDocumentOutline, readFolioDocumentSection } from "./ai-edits/scoped-reading.js";
2
3
  import { createFolioAITextRangeHandle, hashFolioAIBlockText, normalizeFolioAIBlockText } from "./ai-edits/snapshot.js";
3
4
  import { FOLIO_DOCUMENT_OPERATION_BATCH_MODES, FOLIO_DOCUMENT_OPERATION_CONTRACT_VERSION, FOLIO_DOCUMENT_OPERATION_MODES, FOLIO_DOCUMENT_OPERATION_MODES_BY_TYPE, FOLIO_DOCUMENT_OPERATION_PRECONDITIONS, FOLIO_DOCUMENT_OPERATION_STORIES, FOLIO_DOCUMENT_OPERATION_TYPES, InvalidFolioDocumentOperationBatchError, UnsupportedFolioDocumentOperationVersionError, assertSupportedFolioDocumentOperationVersion, getFolioDocumentOperationCapabilities, getFolioDocumentOperationIssues, getFolioDocumentOperationReceipts, isFolioDocumentOperationModeSupported, isSupportedFolioDocumentOperationVersion, parseFolioDocumentOperationBatch } from "./document-operations.js";
4
- import { DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION } from "./style-sets/types.js";
5
- import { createEmptyDocument } from "./utils/createDocument.js";
6
- import { extractDocumentStyleSet, extractDocumentStyleSetFromDocx, inspectDocumentStyles, inspectDocumentStylesFromDocx } from "./style-sets/extract.js";
7
- import { STELLA_STYLE_SET_NAME, createStellaStyleDocumentPreset, createStellaStyleSet } from "./style-sets/stellaStyle.js";
8
- import { createDocx } from "./docx/rezip.js";
9
- import { getFolioDocumentOutline, readFolioDocumentSection } from "./ai-edits/scoped-reading.js";
10
- import { replyToComment } from "./docx/replyToComment.js";
11
- import { FOLIO_RESOLVED_REVIEWED_VIEWS, FOLIO_REVIEWED_VIEWS, FolioDocumentStoryNotFoundError, FolioDocxReviewer, UnsupportedFolioReviewedViewError, applyFolioAIEditsToBuffer, isFolioResolvedReviewedView, isFolioReviewedView } from "./ai-edits/headless.js";
5
+ import { EnsureParaIdsError, ensureParaIds } from "./docx/ensureParaIds.js";
12
6
  import { FOLIO_DOCUMENT_METADATA_PROPERTIES, FOLIO_DOCUMENT_PRIVACY_TRANSFORMS, FolioDocumentPrivacyArchiveError, InvalidFolioDocumentPrivacyOptionsError, isFolioDocumentPrivacyTransform, rewriteDocxMetadataPrivacy } from "./docx/metadataPrivacy.js";
13
- import { FOLIO_VERSION_COMPARISON_PRIVACY_TRANSFORMS, FOLIO_VERSION_COMPARISON_SCOPES, InvalidFolioVersionComparisonOptionsError, applyFolioVersionDiffPrivacy, compareDocxVersions, isFolioVersionComparisonPrivacyTransform, isFolioVersionComparisonScope } from "./version-comparison.js";
14
- import { InvalidGenerateRedlineDocxOptionsError, generateRedlineDocx } from "./redline.js";
7
+ import { replyToComment } from "./docx/replyToComment.js";
8
+ import { createDocx } from "./docx/rezip.js";
9
+ import { FOLIO_DOCX_XML_PATCH_APPLICATION_PROFILE, FOLIO_DOCX_XML_PATCH_APPLICATION_VERSION, FolioDocxXmlPatchApplicationError, UnsupportedFolioDocxXmlPatchApplicationProfileError, applyDocxXmlPatchProposal } from "./docx/server/applyDocxXmlPatchProposal.js";
15
10
  import { DocxArchiveError } from "./docx/server/boundedArchive.js";
16
- import { EnsureParaIdsError, ensureParaIds } from "./docx/ensureParaIds.js";
17
- import { extractDocxText } from "./docx/server/extractDocxText.js";
18
11
  import { docxToMarkdown } from "./docx/server/docxToMarkdown.js";
19
- import { FOLIO_DOCX_PACKAGE_INSPECTION_DEFAULTS, FOLIO_DOCX_PACKAGE_INSPECTION_ERROR_CODES, FOLIO_DOCX_PACKAGE_INSPECTION_VERSION, FolioDocxPackageInspectionError, inspectDocxPackage } from "./docx/server/inspectDocxPackage.js";
20
12
  import { FOLIO_DOCX_XML_PATCH_PROPOSAL_DEFAULTS, FOLIO_DOCX_XML_PATCH_PROPOSAL_ISSUE_CODES, FOLIO_DOCX_XML_PATCH_PROPOSAL_PROFILE, FOLIO_DOCX_XML_PATCH_PROPOSAL_VERSION, InvalidFolioDocxXmlPatchProposalError, InvalidFolioDocxXmlPatchProposalOptionsError, evaluateDocxXmlPatchProposal, parseFolioDocxXmlPatchProposal } from "./docx/server/evaluateDocxXmlPatchProposal.js";
13
+ import { extractDocxText } from "./docx/server/extractDocxText.js";
14
+ import { FOLIO_DOCX_PACKAGE_INSPECTION_DEFAULTS, FOLIO_DOCX_PACKAGE_INSPECTION_ERROR_CODES, FOLIO_DOCX_PACKAGE_INSPECTION_VERSION, FolioDocxPackageInspectionError, inspectDocxPackage } from "./docx/server/inspectDocxPackage.js";
21
15
  import { FOLIO_DOCX_CONFORMANCE_CHECKS, FOLIO_DOCX_CONFORMANCE_ISSUE_CODES, FOLIO_DOCX_CONFORMANCE_PROFILE, FOLIO_DOCX_CONFORMANCE_REPORT_VERSION, validateDocxConformance } from "./docx/server/validateDocxConformance.js";
22
- import { FOLIO_DOCX_XML_PATCH_APPLICATION_PROFILE, FOLIO_DOCX_XML_PATCH_APPLICATION_VERSION, FolioDocxXmlPatchApplicationError, UnsupportedFolioDocxXmlPatchApplicationProfileError, applyDocxXmlPatchProposal } from "./docx/server/applyDocxXmlPatchProposal.js";
16
+ import { InvalidGenerateRedlineDocxOptionsError, generateRedlineDocx } from "./redline.js";
17
+ import { extractDocumentStyleSet, extractDocumentStyleSetFromDocx, inspectDocumentStyles, inspectDocumentStylesFromDocx } from "./style-sets/extract.js";
18
+ import { STELLA_STYLE_SET_NAME, createStellaStyleDocumentPreset, createStellaStyleSet } from "./style-sets/stellaStyle.js";
19
+ import { DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION } from "./style-sets/types.js";
20
+ import { deriveBlockId, getFolioParaIdFromBlockId, isFolioBlockId, isSequentialFolioBlockId } from "./types/block-id.js";
21
+ import { createEmptyDocument } from "./utils/createDocument.js";
22
+ import { FOLIO_VERSION_COMPARISON_PRIVACY_TRANSFORMS, FOLIO_VERSION_COMPARISON_SCOPES, InvalidFolioVersionComparisonOptionsError, applyFolioVersionDiffPrivacy, compareDocxVersions, isFolioVersionComparisonPrivacyTransform, isFolioVersionComparisonScope } from "./version-comparison.js";
23
23
  export { DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION, DocxArchiveError, EnsureParaIdsError, FOLIO_DOCUMENT_METADATA_PROPERTIES, FOLIO_DOCUMENT_OPERATION_BATCH_MODES, FOLIO_DOCUMENT_OPERATION_CONTRACT_VERSION, FOLIO_DOCUMENT_OPERATION_MODES, FOLIO_DOCUMENT_OPERATION_MODES_BY_TYPE, FOLIO_DOCUMENT_OPERATION_PRECONDITIONS, FOLIO_DOCUMENT_OPERATION_STORIES, FOLIO_DOCUMENT_OPERATION_TYPES, FOLIO_DOCUMENT_PRIVACY_TRANSFORMS, FOLIO_DOCX_CONFORMANCE_CHECKS, FOLIO_DOCX_CONFORMANCE_ISSUE_CODES, FOLIO_DOCX_CONFORMANCE_PROFILE, FOLIO_DOCX_CONFORMANCE_REPORT_VERSION, FOLIO_DOCX_PACKAGE_INSPECTION_DEFAULTS, FOLIO_DOCX_PACKAGE_INSPECTION_ERROR_CODES, FOLIO_DOCX_PACKAGE_INSPECTION_VERSION, FOLIO_DOCX_XML_PATCH_APPLICATION_PROFILE, FOLIO_DOCX_XML_PATCH_APPLICATION_VERSION, FOLIO_DOCX_XML_PATCH_PROPOSAL_DEFAULTS, FOLIO_DOCX_XML_PATCH_PROPOSAL_ISSUE_CODES, FOLIO_DOCX_XML_PATCH_PROPOSAL_PROFILE, FOLIO_DOCX_XML_PATCH_PROPOSAL_VERSION, FOLIO_RESOLVED_REVIEWED_VIEWS, FOLIO_REVIEWED_VIEWS, FOLIO_VERSION_COMPARISON_PRIVACY_TRANSFORMS, FOLIO_VERSION_COMPARISON_SCOPES, FolioDocumentPrivacyArchiveError, FolioDocumentStoryNotFoundError, FolioDocxPackageInspectionError, FolioDocxReviewer, FolioDocxXmlPatchApplicationError, InvalidFolioDocumentOperationBatchError, InvalidFolioDocumentPrivacyOptionsError, InvalidFolioDocxXmlPatchProposalError, InvalidFolioDocxXmlPatchProposalOptionsError, InvalidFolioVersionComparisonOptionsError, InvalidGenerateRedlineDocxOptionsError, STELLA_STYLE_SET_NAME, UnsupportedFolioDocumentOperationVersionError, UnsupportedFolioDocxXmlPatchApplicationProfileError, UnsupportedFolioReviewedViewError, applyDocxXmlPatchProposal, applyFolioAIEditsToBuffer, applyFolioVersionDiffPrivacy, assertSupportedFolioDocumentOperationVersion, compareDocxVersions, createDocx, createEmptyDocument, createFolioAITextRangeHandle, createStellaStyleDocumentPreset, createStellaStyleSet, deriveBlockId, docxToMarkdown, ensureParaIds, evaluateDocxXmlPatchProposal, extractDocumentStyleSet, extractDocumentStyleSetFromDocx, extractDocxText, generateRedlineDocx, getFolioDocumentOperationCapabilities, getFolioDocumentOperationIssues, getFolioDocumentOperationReceipts, getFolioDocumentOutline, getFolioParaIdFromBlockId, hashFolioAIBlockText, inspectDocumentStyles, inspectDocumentStylesFromDocx, inspectDocxPackage, isFolioBlockId, isFolioDocumentOperationModeSupported, isFolioDocumentPrivacyTransform, isFolioResolvedReviewedView, isFolioReviewedView, isFolioVersionComparisonPrivacyTransform, isFolioVersionComparisonScope, isSequentialFolioBlockId, isSupportedFolioDocumentOperationVersion, normalizeFolioAIBlockText, parseFolioDocumentOperationBatch, parseFolioDocxXmlPatchProposal, readFolioDocumentSection, replyToComment, rewriteDocxMetadataPrivacy, validateDocxConformance };
@@ -1,5 +1,5 @@
1
- import "./types.js";
2
1
  import { parseDocx } from "../docx/parser.js";
2
+ import "./types.js";
3
3
  import { panic } from "better-result";
4
4
  //#region src/style-sets/extract.ts
5
5
  const inspectDocumentStyles = (document) => {
@@ -1,6 +1,6 @@
1
- import { AUTO_PARAGRAPH_SPACING_PX, eighthsToPixels, formatPx, halfPointsToPixels, halfPointsToPoints, twipsToPixels } from "./units.js";
2
1
  import { resolveColor, resolveHighlightToCss, resolveShadingColor } from "./colorResolver.js";
3
2
  import { resolveFontFamily, resolveThemeFont } from "./fontResolver.js";
3
+ import { AUTO_PARAGRAPH_SPACING_PX, eighthsToPixels, formatPx, halfPointsToPixels, halfPointsToPoints, twipsToPixels } from "./units.js";
4
4
  //#region src/utils/formatToStyle.ts
5
5
  /**
6
6
  * Convert TextFormatting to CSS properties for a run/span
@@ -1,8 +1,8 @@
1
- import { getFolioParaIdFromBlockId } from "./types/block-id.js";
1
+ import { FolioDocxReviewer } from "./ai-edits/headless.js";
2
2
  import { diffWordSegments } from "./ai-edits/word-diff.js";
3
3
  import { pairFolioDocumentStories } from "./document-stories.js";
4
- import { FolioDocxReviewer } from "./ai-edits/headless.js";
5
4
  import { FOLIO_DOCUMENT_METADATA_PROPERTIES, FOLIO_DOCUMENT_PRIVACY_TRANSFORMS, PRIVATE_METADATA_PROPERTIES_BY_TRANSFORM, isFolioDocumentPrivacyTransform } from "./docx/metadataPrivacy.js";
5
+ import { getFolioParaIdFromBlockId } from "./types/block-id.js";
6
6
  import { TaggedError, panic } from "better-result";
7
7
  //#region src/version-comparison.ts
8
8
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stll/folio-core",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "description": "Headless, framework-neutral core of folio: the OOXML (.docx) parser, document model, ProseMirror integration, and page-layout engine. No React.",
5
5
  "keywords": [
6
6
  "document-model",
@@ -107,7 +107,7 @@
107
107
  "perf": "bun scripts/profile-editor.ts"
108
108
  },
109
109
  "dependencies": {
110
- "@stll/docx-core": "^0.5.2",
110
+ "@stll/docx-core": "^0.6.0",
111
111
  "@stll/docx-utils": "^0.1.0",
112
112
  "@stll/template-conditions": "^0.1.0",
113
113
  "better-result": "2.10.0",