@beyondwork/docx-react-component 1.0.134 → 1.0.136

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 (89) hide show
  1. package/dist/api/public-types.cjs +20 -2
  2. package/dist/api/public-types.d.cts +2 -2
  3. package/dist/api/public-types.d.ts +2 -2
  4. package/dist/api/public-types.js +2 -2
  5. package/dist/api/v3.cjs +203 -41
  6. package/dist/api/v3.d.cts +3 -3
  7. package/dist/api/v3.d.ts +3 -3
  8. package/dist/api/v3.js +4 -4
  9. package/dist/{canonical-document-CfZIc-fC.d.cts → canonical-document-COmM7v11.d.cts} +1 -1
  10. package/dist/{canonical-document-CfZIc-fC.d.ts → canonical-document-COmM7v11.d.ts} +1 -1
  11. package/dist/{chunk-REFHJ2FN.js → chunk-2BNXARVO.js} +3 -3
  12. package/dist/{chunk-INLRCC4N.js → chunk-4CIHTMCH.js} +2 -2
  13. package/dist/{chunk-MQ5GAJ54.js → chunk-BJXSMPHD.js} +1 -1
  14. package/dist/{chunk-XBQFDBXE.js → chunk-EZFF6GKF.js} +9 -2
  15. package/dist/{chunk-3YR47WTD.js → chunk-FGJTOFZY.js} +21 -9
  16. package/dist/{chunk-74R5B2EZ.js → chunk-H4HI6RUE.js} +1 -1
  17. package/dist/{chunk-IJD6D7HU.js → chunk-HUWZ7AHE.js} +125 -2
  18. package/dist/{chunk-7Y6JCIK3.js → chunk-HWMPNLEF.js} +1 -1
  19. package/dist/{chunk-EBSI6VQX.js → chunk-JZZKTL7K.js} +800 -93
  20. package/dist/{chunk-VA24T4EB.js → chunk-NEMOQ4QR.js} +1 -1
  21. package/dist/{chunk-ESEEWELA.js → chunk-NX7W6T7L.js} +171 -39
  22. package/dist/{chunk-O4EDZR44.js → chunk-P7XDEVS6.js} +12 -1
  23. package/dist/{chunk-QTRJLKR2.js → chunk-TSNK4ECL.js} +1 -1
  24. package/dist/{chunk-WDDFU2N2.js → chunk-UR2LW63N.js} +1 -1
  25. package/dist/compare.d.cts +1 -1
  26. package/dist/compare.d.ts +1 -1
  27. package/dist/core/commands/formatting-commands.d.cts +2 -2
  28. package/dist/core/commands/formatting-commands.d.ts +2 -2
  29. package/dist/core/commands/image-commands.cjs +9 -2
  30. package/dist/core/commands/image-commands.d.cts +2 -2
  31. package/dist/core/commands/image-commands.d.ts +2 -2
  32. package/dist/core/commands/image-commands.js +4 -4
  33. package/dist/core/commands/section-layout-commands.d.cts +2 -2
  34. package/dist/core/commands/section-layout-commands.d.ts +2 -2
  35. package/dist/core/commands/style-commands.d.cts +2 -2
  36. package/dist/core/commands/style-commands.d.ts +2 -2
  37. package/dist/core/commands/table-structure-commands.cjs +9 -2
  38. package/dist/core/commands/table-structure-commands.d.cts +2 -2
  39. package/dist/core/commands/table-structure-commands.d.ts +2 -2
  40. package/dist/core/commands/table-structure-commands.js +3 -3
  41. package/dist/core/commands/text-commands.cjs +9 -2
  42. package/dist/core/commands/text-commands.d.cts +2 -2
  43. package/dist/core/commands/text-commands.d.ts +2 -2
  44. package/dist/core/commands/text-commands.js +4 -4
  45. package/dist/core/selection/mapping.d.cts +2 -2
  46. package/dist/core/selection/mapping.d.ts +2 -2
  47. package/dist/core/state/editor-state.d.cts +2 -2
  48. package/dist/core/state/editor-state.d.ts +2 -2
  49. package/dist/index.cjs +1287 -198
  50. package/dist/index.d.cts +5 -5
  51. package/dist/index.d.ts +5 -5
  52. package/dist/index.js +135 -34
  53. package/dist/io/docx-session.d.cts +4 -4
  54. package/dist/io/docx-session.d.ts +4 -4
  55. package/dist/legal.d.cts +1 -1
  56. package/dist/legal.d.ts +1 -1
  57. package/dist/{loader-CK3lZy4h.d.cts → loader-Cr35kVUi.d.cts} +3 -3
  58. package/dist/{loader-CQXplstv.d.ts → loader-uGY6nDZP.d.ts} +3 -3
  59. package/dist/{public-types-DXNZVKrS.d.ts → public-types-8kVIB5HW.d.ts} +22 -8
  60. package/dist/{public-types-BR1SYK2F.d.cts → public-types-CSSH2Whc.d.cts} +22 -8
  61. package/dist/public-types.cjs +20 -2
  62. package/dist/public-types.d.cts +2 -2
  63. package/dist/public-types.d.ts +2 -2
  64. package/dist/public-types.js +2 -2
  65. package/dist/runtime/collab.d.cts +3 -3
  66. package/dist/runtime/collab.d.ts +3 -3
  67. package/dist/runtime/document-runtime.cjs +929 -83
  68. package/dist/runtime/document-runtime.d.cts +2 -2
  69. package/dist/runtime/document-runtime.d.ts +2 -2
  70. package/dist/runtime/document-runtime.js +10 -10
  71. package/dist/{session-CSbwkgII.d.cts → session-Beg8ihOi.d.cts} +3 -3
  72. package/dist/{session-C9UjrhJF.d.ts → session-Dgp-2uYw.d.ts} +3 -3
  73. package/dist/session.d.cts +5 -5
  74. package/dist/session.d.ts +5 -5
  75. package/dist/tailwind.cjs +27 -8
  76. package/dist/tailwind.d.cts +2 -2
  77. package/dist/tailwind.d.ts +2 -2
  78. package/dist/tailwind.js +5 -5
  79. package/dist/{types-RzkCXDNV.d.ts → types-Cin_abw3.d.ts} +2 -2
  80. package/dist/{types-CZtAueri.d.cts → types-qsS39ZkQ.d.cts} +2 -2
  81. package/dist/ui-tailwind/editor-surface/search-plugin.cjs +11 -0
  82. package/dist/ui-tailwind/editor-surface/search-plugin.d.cts +3 -3
  83. package/dist/ui-tailwind/editor-surface/search-plugin.d.ts +3 -3
  84. package/dist/ui-tailwind/editor-surface/search-plugin.js +3 -3
  85. package/dist/ui-tailwind.cjs +27 -8
  86. package/dist/ui-tailwind.d.cts +3 -3
  87. package/dist/ui-tailwind.d.ts +3 -3
  88. package/dist/ui-tailwind.js +5 -5
  89. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- export { gH as ActiveStoryTextCommand, gI as CommandAppliedMeta, gJ as CreateDocumentRuntimeOptions, gK as DocumentRuntime, gL as DocumentRuntimeEvent, gM as RemoteCommandEnvelope, gN as Unsubscribe, gO as __buildTocInlineNodes, gP as __collectFontLoaderInputUncached, gQ as __fontFamiliesEqual, gR as createDocumentRuntime, gS as getThemeColorResolver } from '../public-types-BR1SYK2F.cjs';
2
- import '../canonical-document-CfZIc-fC.cjs';
1
+ export { gH as ActiveStoryTextCommand, gI as CommandAppliedMeta, gJ as CreateDocumentRuntimeOptions, gK as DocumentRuntime, gL as DocumentRuntimeEvent, gM as RemoteCommandEnvelope, gN as Unsubscribe, gO as __buildTocInlineNodes, gP as __collectFontLoaderInputUncached, gQ as __fontFamiliesEqual, gR as createDocumentRuntime, gS as getThemeColorResolver } from '../public-types-CSSH2Whc.cjs';
2
+ import '../canonical-document-COmM7v11.cjs';
3
3
  import 'react';
4
4
  import 'yjs';
5
5
  import 'y-protocols/awareness';
@@ -1,5 +1,5 @@
1
- export { gH as ActiveStoryTextCommand, gI as CommandAppliedMeta, gJ as CreateDocumentRuntimeOptions, gK as DocumentRuntime, gL as DocumentRuntimeEvent, gM as RemoteCommandEnvelope, gN as Unsubscribe, gO as __buildTocInlineNodes, gP as __collectFontLoaderInputUncached, gQ as __fontFamiliesEqual, gR as createDocumentRuntime, gS as getThemeColorResolver } from '../public-types-DXNZVKrS.js';
2
- import '../canonical-document-CfZIc-fC.js';
1
+ export { gH as ActiveStoryTextCommand, gI as CommandAppliedMeta, gJ as CreateDocumentRuntimeOptions, gK as DocumentRuntime, gL as DocumentRuntimeEvent, gM as RemoteCommandEnvelope, gN as Unsubscribe, gO as __buildTocInlineNodes, gP as __collectFontLoaderInputUncached, gQ as __fontFamiliesEqual, gR as createDocumentRuntime, gS as getThemeColorResolver } from '../public-types-8kVIB5HW.js';
2
+ import '../canonical-document-COmM7v11.js';
3
3
  import 'react';
4
4
  import 'yjs';
5
5
  import 'y-protocols/awareness';
@@ -4,22 +4,22 @@ import {
4
4
  __fontFamiliesEqual,
5
5
  createDocumentRuntime,
6
6
  getThemeColorResolver
7
- } from "../chunk-EBSI6VQX.js";
7
+ } from "../chunk-JZZKTL7K.js";
8
8
  import "../chunk-6EXNNAO6.js";
9
9
  import "../chunk-M6XR534O.js";
10
10
  import "../chunk-RP76USJE.js";
11
- import "../chunk-REFHJ2FN.js";
11
+ import "../chunk-2BNXARVO.js";
12
12
  import "../chunk-Y4XZCMCS.js";
13
- import "../chunk-INLRCC4N.js";
14
- import "../chunk-MQ5GAJ54.js";
15
- import "../chunk-WDDFU2N2.js";
16
- import "../chunk-QTRJLKR2.js";
17
- import "../chunk-74R5B2EZ.js";
18
- import "../chunk-IJD6D7HU.js";
19
- import "../chunk-O4EDZR44.js";
13
+ import "../chunk-4CIHTMCH.js";
14
+ import "../chunk-BJXSMPHD.js";
15
+ import "../chunk-UR2LW63N.js";
16
+ import "../chunk-TSNK4ECL.js";
17
+ import "../chunk-H4HI6RUE.js";
18
+ import "../chunk-HUWZ7AHE.js";
19
+ import "../chunk-P7XDEVS6.js";
20
20
  import "../chunk-OVLZQ6FZ.js";
21
21
  import "../chunk-QIO6V46H.js";
22
- import "../chunk-XBQFDBXE.js";
22
+ import "../chunk-EZFF6GKF.js";
23
23
  import "../chunk-SYQWQ6FE.js";
24
24
  import "../chunk-OYGMRRR7.js";
25
25
  import "../chunk-PZIEOEJZ.js";
@@ -1,6 +1,6 @@
1
- import { C as CanonicalDocument } from './canonical-document-CfZIc-fC.cjs';
2
- import { a as EditorSessionState, c as ExportResult, P as PersistedEditorSnapshot } from './public-types-BR1SYK2F.cjs';
3
- import { O as OpenOptions, b as OpenResult, a as ExportOptions, R as ReopenBarrier, V as ValidateOptions, d as ValidationReport } from './types-CZtAueri.cjs';
1
+ import { C as CanonicalDocument } from './canonical-document-COmM7v11.cjs';
2
+ import { a as EditorSessionState, c as ExportResult, P as PersistedEditorSnapshot } from './public-types-CSSH2Whc.cjs';
3
+ import { O as OpenOptions, b as OpenResult, a as ExportOptions, R as ReopenBarrier, V as ValidateOptions, d as ValidationReport } from './types-qsS39ZkQ.cjs';
4
4
 
5
5
  /**
6
6
  * `DocxSession` — the Layer-01 package/session public entry class.
@@ -1,6 +1,6 @@
1
- import { C as CanonicalDocument } from './canonical-document-CfZIc-fC.js';
2
- import { a as EditorSessionState, c as ExportResult, P as PersistedEditorSnapshot } from './public-types-DXNZVKrS.js';
3
- import { O as OpenOptions, b as OpenResult, a as ExportOptions, R as ReopenBarrier, V as ValidateOptions, d as ValidationReport } from './types-RzkCXDNV.js';
1
+ import { C as CanonicalDocument } from './canonical-document-COmM7v11.js';
2
+ import { a as EditorSessionState, c as ExportResult, P as PersistedEditorSnapshot } from './public-types-8kVIB5HW.js';
3
+ import { O as OpenOptions, b as OpenResult, a as ExportOptions, R as ReopenBarrier, V as ValidateOptions, d as ValidationReport } from './types-Cin_abw3.js';
4
4
 
5
5
  /**
6
6
  * `DocxSession` — the Layer-01 package/session public entry class.
@@ -1,8 +1,8 @@
1
- export { D as DocxSession, S as SessionNotOpenError, a as SessionNotWiredError } from './session-CSbwkgII.cjs';
2
- export { L as LoadedDocxEditorSession, l as loadDocxSessionAsync } from './loader-CK3lZy4h.cjs';
3
- export { E as EmbeddedDocumentManifest, a as ExportOptions, O as OpenOptions, b as OpenResult, P as PreservationSnapshot, R as ReopenBarrier, V as ValidateOptions, c as ValidationFinding, d as ValidationReport, i as isReopenBarrier } from './types-CZtAueri.cjs';
4
- export { E as EditorHostAdapter, a as EditorSessionState, b as ExportDocxOptions, c as ExportResult, L as LoadStage, P as PersistedEditorSnapshot } from './public-types-BR1SYK2F.cjs';
5
- import './canonical-document-CfZIc-fC.cjs';
1
+ export { D as DocxSession, S as SessionNotOpenError, a as SessionNotWiredError } from './session-Beg8ihOi.cjs';
2
+ export { L as LoadedDocxEditorSession, l as loadDocxSessionAsync } from './loader-Cr35kVUi.cjs';
3
+ export { E as EmbeddedDocumentManifest, a as ExportOptions, O as OpenOptions, b as OpenResult, P as PreservationSnapshot, R as ReopenBarrier, V as ValidateOptions, c as ValidationFinding, d as ValidationReport, i as isReopenBarrier } from './types-qsS39ZkQ.cjs';
4
+ export { E as EditorHostAdapter, a as EditorSessionState, b as ExportDocxOptions, c as ExportResult, L as LoadStage, P as PersistedEditorSnapshot } from './public-types-CSSH2Whc.cjs';
5
+ import './canonical-document-COmM7v11.cjs';
6
6
  import 'react';
7
7
  import 'yjs';
8
8
  import 'y-protocols/awareness';
package/dist/session.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { D as DocxSession, S as SessionNotOpenError, a as SessionNotWiredError } from './session-C9UjrhJF.js';
2
- export { L as LoadedDocxEditorSession, l as loadDocxSessionAsync } from './loader-CQXplstv.js';
3
- export { E as EmbeddedDocumentManifest, a as ExportOptions, O as OpenOptions, b as OpenResult, P as PreservationSnapshot, R as ReopenBarrier, V as ValidateOptions, c as ValidationFinding, d as ValidationReport, i as isReopenBarrier } from './types-RzkCXDNV.js';
4
- export { E as EditorHostAdapter, a as EditorSessionState, b as ExportDocxOptions, c as ExportResult, L as LoadStage, P as PersistedEditorSnapshot } from './public-types-DXNZVKrS.js';
5
- import './canonical-document-CfZIc-fC.js';
1
+ export { D as DocxSession, S as SessionNotOpenError, a as SessionNotWiredError } from './session-Dgp-2uYw.js';
2
+ export { L as LoadedDocxEditorSession, l as loadDocxSessionAsync } from './loader-uGY6nDZP.js';
3
+ export { E as EmbeddedDocumentManifest, a as ExportOptions, O as OpenOptions, b as OpenResult, P as PreservationSnapshot, R as ReopenBarrier, V as ValidateOptions, c as ValidationFinding, d as ValidationReport, i as isReopenBarrier } from './types-Cin_abw3.js';
4
+ export { E as EditorHostAdapter, a as EditorSessionState, b as ExportDocxOptions, c as ExportResult, L as LoadStage, P as PersistedEditorSnapshot } from './public-types-8kVIB5HW.js';
5
+ import './canonical-document-COmM7v11.js';
6
6
  import 'react';
7
7
  import 'yjs';
8
8
  import 'y-protocols/awareness';
package/dist/tailwind.cjs CHANGED
@@ -12339,10 +12339,16 @@ var FormattingContextImpl = class {
12339
12339
  // surface-projection calls `resolveParagraphCascade` on the same
12340
12340
  // paragraph via `resolveParagraph` + numbering resolve + marker-rPr;
12341
12341
  // each of those re-walked the style catalog before.
12342
- paragraphCascadeCache = /* @__PURE__ */ new WeakMap();
12342
+ //
12343
+ // Defaults to a per-context instance, but the runtime can supply a
12344
+ // persistent `WeakMap` via `FormattingContextOptions.paragraphCascadeCache`
12345
+ // so unchanged paragraphs don't re-cascade on every keystroke. See the
12346
+ // contract on the option for invalidation semantics.
12347
+ paragraphCascadeCache;
12343
12348
  constructor(doc, opts) {
12344
12349
  this.doc = doc;
12345
12350
  this.opts = opts;
12351
+ this.paragraphCascadeCache = opts.paragraphCascadeCache ?? /* @__PURE__ */ new WeakMap();
12346
12352
  const canonicalTheme = doc.subParts?.canonicalTheme;
12347
12353
  this.theme = opts.themeResolver ?? (canonicalTheme ? new ThemeColorResolver(canonicalTheme) : void 0);
12348
12354
  this.numbering = opts.numberingPrefixResolver ?? createNumberingPrefixResolver(doc.numbering);
@@ -12827,7 +12833,8 @@ function createEditorSurfaceSnapshot(document2, _selection, activeStory = { kind
12827
12833
  const formattingContext = createFormattingContext(document2, {
12828
12834
  ...options.revisionMarkupMode ? { revisionMarkupMode: options.revisionMarkupMode } : {},
12829
12835
  ...options.getEffectiveMarkupMode ? { getEffectiveMarkupMode: options.getEffectiveMarkupMode } : {},
12830
- ...options.authorColorPalette ? { authorColorPalette: options.authorColorPalette } : {}
12836
+ ...options.authorColorPalette ? { authorColorPalette: options.authorColorPalette } : {},
12837
+ ...options.paragraphCascadeCache ? { paragraphCascadeCache: options.paragraphCascadeCache } : {}
12831
12838
  });
12832
12839
  const editableTargetsByBlockPath = options.editableTargetsByBlockPath ?? indexEditableTargetsByBlockPath(document2);
12833
12840
  const layoutIdentitiesByBlockPath = options.layoutIdentitiesByBlockPath;
@@ -29722,6 +29729,10 @@ function TwTableGripLayer({
29722
29729
  tableGeometry,
29723
29730
  plan.columnsTwips
29724
29731
  );
29732
+ const columnWidthCapability = tableContext.operations.setColumnWidth;
29733
+ const rowHeightCapability = tableContext.operations.setRowHeight;
29734
+ const columnResizeDisabled = !!disabled || !onSetColumnWidth || columnWidthCapability?.enabled === false;
29735
+ const rowResizeDisabled = !!disabled || !onSetRowHeight || rowHeightCapability?.enabled === false;
29725
29736
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
29726
29737
  plan.columnResizeHandles.map((handle) => {
29727
29738
  const rect2 = resolveColumnEdgeRect(
@@ -29736,7 +29747,8 @@ function TwTableGripLayer({
29736
29747
  colIndex: handle.columnIndex,
29737
29748
  originalTwips: plan.columnsTwips[handle.columnIndex] ?? 720,
29738
29749
  pxPerTwip,
29739
- disabled: !!disabled || !onSetColumnWidth,
29750
+ disabled: columnResizeDisabled,
29751
+ disabledReason: columnWidthCapability?.reason,
29740
29752
  onCommit: onSetColumnWidth
29741
29753
  },
29742
29754
  `col-${blockId}-${handle.columnIndex}`
@@ -29757,7 +29769,8 @@ function TwTableGripLayer({
29757
29769
  rowIndex,
29758
29770
  originalTwips,
29759
29771
  pxPerTwip,
29760
- disabled: !!disabled || !onSetRowHeight,
29772
+ disabled: rowResizeDisabled,
29773
+ disabledReason: rowHeightCapability?.reason,
29761
29774
  onCommit: onSetRowHeight
29762
29775
  },
29763
29776
  `row-${blockId}-${rowIndex}`
@@ -29847,6 +29860,7 @@ function ColResizeGrip({
29847
29860
  originalTwips,
29848
29861
  pxPerTwip,
29849
29862
  disabled,
29863
+ disabledReason,
29850
29864
  onCommit
29851
29865
  }) {
29852
29866
  const dragRef = (0, import_react30.useRef)(null);
@@ -29905,11 +29919,13 @@ function ColResizeGrip({
29905
29919
  role: "separator",
29906
29920
  "aria-orientation": "vertical",
29907
29921
  "aria-label": `Resize column ${colIndex + 1}`,
29922
+ "aria-disabled": disabled ? "true" : void 0,
29908
29923
  "data-testid": `col-resize-grip-${colIndex}`,
29909
29924
  "data-active": isActive ? "true" : "false",
29925
+ title: disabled ? disabledReason : void 0,
29910
29926
  className: [
29911
- "wre-table-grip-col pointer-events-auto absolute",
29912
- disabled ? "opacity-0 cursor-default" : ""
29927
+ "wre-table-grip-col absolute",
29928
+ disabled ? "pointer-events-none opacity-0 cursor-default" : "pointer-events-auto"
29913
29929
  ].filter(Boolean).join(" "),
29914
29930
  style: {
29915
29931
  left: `calc(${pos.left} - ${GRIP_HIT_PX / 2}px)`,
@@ -29927,6 +29943,7 @@ function RowResizeGrip({
29927
29943
  originalTwips,
29928
29944
  pxPerTwip,
29929
29945
  disabled,
29946
+ disabledReason,
29930
29947
  onCommit
29931
29948
  }) {
29932
29949
  const dragRef = (0, import_react30.useRef)(null);
@@ -29986,11 +30003,13 @@ function RowResizeGrip({
29986
30003
  role: "separator",
29987
30004
  "aria-orientation": "horizontal",
29988
30005
  "aria-label": `Resize row ${rowIndex + 1}`,
30006
+ "aria-disabled": disabled ? "true" : void 0,
29989
30007
  "data-testid": `row-resize-grip-${rowIndex}`,
29990
30008
  "data-active": isActive ? "true" : "false",
30009
+ title: disabled ? disabledReason : void 0,
29991
30010
  className: [
29992
- "wre-table-grip-row pointer-events-auto absolute",
29993
- disabled ? "opacity-0 cursor-default" : ""
30011
+ "wre-table-grip-row absolute",
30012
+ disabled ? "pointer-events-none opacity-0 cursor-default" : "pointer-events-auto"
29994
30013
  ].filter(Boolean).join(" "),
29995
30014
  style: {
29996
30015
  left: pos.left,
@@ -1,9 +1,9 @@
1
1
  export { BreakpointMap, CollabAudienceChip, CollabAudienceChipProps, CollabNegotiationActionBar, CollabNegotiationActionBarProps, CollabPresenceStrip, CollabPresenceStripProps, CollabRoleChip, CollabRoleChipProps, CollabSendToSupplierButton, CollabSendToSupplierButtonProps, CollabSendToSupplierModal, CollabSendToSupplierModalProps, CollabSendToSupplierSubmitArgs, CollabTamperBanner, CollabTamperBannerProps, CommandPaletteGroup, CommandPaletteItem, CommentDecorationModel, CommentMarkdownRenderer, CommentMarkdownRendererProps, EditorKeyboardCallbacks, EditorKeyboardContext, MarkupDisplay, RailCardAvatar, RailCardCounter, RailCardProgress, RailCardTone, ReviewRailTab, RevisionDecorationModel, ShellHeaderIconAction, ShellHeaderMode, ShellHeaderModeOption, ShellHeaderPrimaryAction, TwAlertBanner, TwChromeOverlay, TwChromeOverlayProps, TwCommandPalette, TwCommandPaletteMount, TwCommandPaletteMountProps, TwCommandPaletteProps, TwCommentSidebar, TwCommentSidebarProps, TwEditorSurface, TwEditorSurfaceProps, TwHealthPanel, TwInlineToken, TwOpaqueBlock, TwParagraphBlock, TwPasteDropToast, TwPasteDropToastProps, TwRailCard, TwRailCardProps, TwReviewRail, TwReviewRailFooter, TwReviewRailFooterProps, TwReviewRailProps, TwReviewWorkspace, TwReviewWorkspaceProps, TwRevisionSidebar, TwScopeRailLayer, TwScopeRailLayerProps, TwSegmentView, TwSelectionToolbar, TwShellHeader, TwShellHeaderProps, TwStatusBar, TwToolbar, TwToolbarIconButton, TwToolbarProps, TwWorkflowTab, TwWorkflowTabProps, createCommentDecorationModel, createEditorKeyboardHandler, createRevisionDecorationModel, createSelectionSnapshot, getCommentHighlightClass, getCommentRangeState, getRevisionHighlightClass, getRevisionRangeState, isCommandPaletteOpenShortcut, renderTwCaret, resolveBreakpoint, selectionTouchesRange, shouldHideInCleanMode, useContainerBreakpoint } from './ui-tailwind.cjs';
2
- export { f6 as SessionCapabilities, eQ as WorkspaceMode, eR as ZoomLevel, fp as deriveCapabilities } from './public-types-BR1SYK2F.cjs';
2
+ export { f6 as SessionCapabilities, eQ as WorkspaceMode, eR as ZoomLevel, fp as deriveCapabilities } from './public-types-CSSH2Whc.cjs';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import 'yjs';
6
6
  import 'y-protocols/awareness';
7
- import './canonical-document-CfZIc-fC.cjs';
7
+ import './canonical-document-COmM7v11.cjs';
8
8
  import 'prosemirror-state';
9
9
  import 'prosemirror-model';
@@ -1,9 +1,9 @@
1
1
  export { BreakpointMap, CollabAudienceChip, CollabAudienceChipProps, CollabNegotiationActionBar, CollabNegotiationActionBarProps, CollabPresenceStrip, CollabPresenceStripProps, CollabRoleChip, CollabRoleChipProps, CollabSendToSupplierButton, CollabSendToSupplierButtonProps, CollabSendToSupplierModal, CollabSendToSupplierModalProps, CollabSendToSupplierSubmitArgs, CollabTamperBanner, CollabTamperBannerProps, CommandPaletteGroup, CommandPaletteItem, CommentDecorationModel, CommentMarkdownRenderer, CommentMarkdownRendererProps, EditorKeyboardCallbacks, EditorKeyboardContext, MarkupDisplay, RailCardAvatar, RailCardCounter, RailCardProgress, RailCardTone, ReviewRailTab, RevisionDecorationModel, ShellHeaderIconAction, ShellHeaderMode, ShellHeaderModeOption, ShellHeaderPrimaryAction, TwAlertBanner, TwChromeOverlay, TwChromeOverlayProps, TwCommandPalette, TwCommandPaletteMount, TwCommandPaletteMountProps, TwCommandPaletteProps, TwCommentSidebar, TwCommentSidebarProps, TwEditorSurface, TwEditorSurfaceProps, TwHealthPanel, TwInlineToken, TwOpaqueBlock, TwParagraphBlock, TwPasteDropToast, TwPasteDropToastProps, TwRailCard, TwRailCardProps, TwReviewRail, TwReviewRailFooter, TwReviewRailFooterProps, TwReviewRailProps, TwReviewWorkspace, TwReviewWorkspaceProps, TwRevisionSidebar, TwScopeRailLayer, TwScopeRailLayerProps, TwSegmentView, TwSelectionToolbar, TwShellHeader, TwShellHeaderProps, TwStatusBar, TwToolbar, TwToolbarIconButton, TwToolbarProps, TwWorkflowTab, TwWorkflowTabProps, createCommentDecorationModel, createEditorKeyboardHandler, createRevisionDecorationModel, createSelectionSnapshot, getCommentHighlightClass, getCommentRangeState, getRevisionHighlightClass, getRevisionRangeState, isCommandPaletteOpenShortcut, renderTwCaret, resolveBreakpoint, selectionTouchesRange, shouldHideInCleanMode, useContainerBreakpoint } from './ui-tailwind.js';
2
- export { f6 as SessionCapabilities, eQ as WorkspaceMode, eR as ZoomLevel, fp as deriveCapabilities } from './public-types-DXNZVKrS.js';
2
+ export { f6 as SessionCapabilities, eQ as WorkspaceMode, eR as ZoomLevel, fp as deriveCapabilities } from './public-types-8kVIB5HW.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
5
5
  import 'yjs';
6
6
  import 'y-protocols/awareness';
7
- import './canonical-document-CfZIc-fC.js';
7
+ import './canonical-document-COmM7v11.js';
8
8
  import 'prosemirror-state';
9
9
  import 'prosemirror-model';
package/dist/tailwind.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  TwShellHeader,
10
10
  createEditorKeyboardHandler,
11
11
  renderTwCaret
12
- } from "./chunk-7Y6JCIK3.js";
12
+ } from "./chunk-HWMPNLEF.js";
13
13
  import {
14
14
  CollabAudienceChip,
15
15
  CollabNegotiationActionBar,
@@ -47,15 +47,15 @@ import {
47
47
  selectionTouchesRange,
48
48
  shouldHideInCleanMode,
49
49
  useContainerBreakpoint
50
- } from "./chunk-3YR47WTD.js";
51
- import "./chunk-74R5B2EZ.js";
50
+ } from "./chunk-FGJTOFZY.js";
51
+ import "./chunk-H4HI6RUE.js";
52
52
  import "./chunk-NJFKPDNG.js";
53
53
  import {
54
54
  deriveCapabilities
55
- } from "./chunk-O4EDZR44.js";
55
+ } from "./chunk-P7XDEVS6.js";
56
56
  import "./chunk-OVLZQ6FZ.js";
57
57
  import "./chunk-QIO6V46H.js";
58
- import "./chunk-XBQFDBXE.js";
58
+ import "./chunk-EZFF6GKF.js";
59
59
  import "./chunk-OYGMRRR7.js";
60
60
  import "./chunk-5KTJKTNE.js";
61
61
  import "./chunk-UFVDIR2C.js";
@@ -1,5 +1,5 @@
1
- import { C as CanonicalDocument, D as DocumentRootNode, d as PreservationStore } from './canonical-document-CfZIc-fC.js';
2
- import { E as EditorHostAdapter, L as LoadStage, d as EditorSurfaceSnapshot, q as LoadSchedulerBackend, a as EditorSessionState, r as CompatibilityReport, t as EditorError, u as ProtectionSnapshot, P as PersistedEditorSnapshot, b as ExportDocxOptions, c as ExportResult } from './public-types-DXNZVKrS.js';
1
+ import { C as CanonicalDocument, D as DocumentRootNode, d as PreservationStore } from './canonical-document-COmM7v11.js';
2
+ import { E as EditorHostAdapter, L as LoadStage, d as EditorSurfaceSnapshot, q as LoadSchedulerBackend, a as EditorSessionState, r as CompatibilityReport, t as EditorError, u as ProtectionSnapshot, P as PersistedEditorSnapshot, b as ExportDocxOptions, c as ExportResult } from './public-types-8kVIB5HW.js';
3
3
 
4
4
  /**
5
5
  * Embedded-object classifier (hotfix/ole-digestibility-guard).
@@ -1,5 +1,5 @@
1
- import { C as CanonicalDocument, D as DocumentRootNode, d as PreservationStore } from './canonical-document-CfZIc-fC.cjs';
2
- import { E as EditorHostAdapter, L as LoadStage, d as EditorSurfaceSnapshot, q as LoadSchedulerBackend, a as EditorSessionState, r as CompatibilityReport, t as EditorError, u as ProtectionSnapshot, P as PersistedEditorSnapshot, b as ExportDocxOptions, c as ExportResult } from './public-types-BR1SYK2F.cjs';
1
+ import { C as CanonicalDocument, D as DocumentRootNode, d as PreservationStore } from './canonical-document-COmM7v11.cjs';
2
+ import { E as EditorHostAdapter, L as LoadStage, d as EditorSurfaceSnapshot, q as LoadSchedulerBackend, a as EditorSessionState, r as CompatibilityReport, t as EditorError, u as ProtectionSnapshot, P as PersistedEditorSnapshot, b as ExportDocxOptions, c as ExportResult } from './public-types-CSSH2Whc.cjs';
3
3
 
4
4
  /**
5
5
  * Embedded-object classifier (hotfix/ole-digestibility-guard).
@@ -52,6 +52,8 @@ function buildSearchPattern(query, options = {}) {
52
52
  function findSearchMatches(text, query, options = {}) {
53
53
  const pattern = buildSearchPattern(query, options);
54
54
  if (!pattern) return [];
55
+ const limit = normalizeSearchLimit(options.limit);
56
+ if (limit === 0) return [];
55
57
  const results = [];
56
58
  let match;
57
59
  pattern.lastIndex = 0;
@@ -62,12 +64,21 @@ function findSearchMatches(text, query, options = {}) {
62
64
  text: match[0],
63
65
  index: results.length
64
66
  });
67
+ if (results.length >= limit) {
68
+ break;
69
+ }
65
70
  if (match[0].length === 0) {
66
71
  pattern.lastIndex += 1;
67
72
  }
68
73
  }
69
74
  return results;
70
75
  }
76
+ function normalizeSearchLimit(limit) {
77
+ if (limit === void 0 || !Number.isFinite(limit)) {
78
+ return Number.POSITIVE_INFINITY;
79
+ }
80
+ return Math.max(0, Math.floor(limit));
81
+ }
71
82
  function createSearchExcerpt(text, from, to, radius = 24) {
72
83
  const safeFrom = Math.max(0, Math.min(from, text.length));
73
84
  const safeTo = Math.max(safeFrom, Math.min(to, text.length));
@@ -1,10 +1,10 @@
1
1
  import { EditorState, Transaction, Plugin, PluginKey } from 'prosemirror-state';
2
- import { l as SearchOptions$1, m as SearchTextOptions } from '../../public-types-BR1SYK2F.cjs';
3
- export { n as SecondaryStorySearchResult, o as createSearchExcerpt, p as findSearchMatches, s as searchSecondaryStories } from '../../public-types-BR1SYK2F.cjs';
2
+ import { l as SearchOptions$1, m as SearchTextOptions } from '../../public-types-CSSH2Whc.cjs';
3
+ export { n as SecondaryStorySearchResult, o as createSearchExcerpt, p as findSearchMatches, s as searchSecondaryStories } from '../../public-types-CSSH2Whc.cjs';
4
4
  import 'react';
5
5
  import 'yjs';
6
6
  import 'y-protocols/awareness';
7
- import '../../canonical-document-CfZIc-fC.cjs';
7
+ import '../../canonical-document-COmM7v11.cjs';
8
8
  import 'prosemirror-model';
9
9
 
10
10
  /**
@@ -1,10 +1,10 @@
1
1
  import { EditorState, Transaction, Plugin, PluginKey } from 'prosemirror-state';
2
- import { l as SearchOptions$1, m as SearchTextOptions } from '../../public-types-DXNZVKrS.js';
3
- export { n as SecondaryStorySearchResult, o as createSearchExcerpt, p as findSearchMatches, s as searchSecondaryStories } from '../../public-types-DXNZVKrS.js';
2
+ import { l as SearchOptions$1, m as SearchTextOptions } from '../../public-types-8kVIB5HW.js';
3
+ export { n as SecondaryStorySearchResult, o as createSearchExcerpt, p as findSearchMatches, s as searchSecondaryStories } from '../../public-types-8kVIB5HW.js';
4
4
  import 'react';
5
5
  import 'yjs';
6
6
  import 'y-protocols/awareness';
7
- import '../../canonical-document-CfZIc-fC.js';
7
+ import '../../canonical-document-COmM7v11.js';
8
8
  import 'prosemirror-model';
9
9
 
10
10
  /**
@@ -4,15 +4,15 @@ import {
4
4
  createSearchPlugin,
5
5
  performSearch,
6
6
  searchPluginKey
7
- } from "../../chunk-VA24T4EB.js";
7
+ } from "../../chunk-NEMOQ4QR.js";
8
8
  import {
9
9
  createSearchExcerpt,
10
10
  findSearchMatches,
11
11
  searchSecondaryStories
12
- } from "../../chunk-O4EDZR44.js";
12
+ } from "../../chunk-P7XDEVS6.js";
13
13
  import "../../chunk-OVLZQ6FZ.js";
14
14
  import "../../chunk-QIO6V46H.js";
15
- import "../../chunk-XBQFDBXE.js";
15
+ import "../../chunk-EZFF6GKF.js";
16
16
  import "../../chunk-OYGMRRR7.js";
17
17
  import "../../chunk-5KTJKTNE.js";
18
18
  import "../../chunk-UFVDIR2C.js";
@@ -12339,10 +12339,16 @@ var FormattingContextImpl = class {
12339
12339
  // surface-projection calls `resolveParagraphCascade` on the same
12340
12340
  // paragraph via `resolveParagraph` + numbering resolve + marker-rPr;
12341
12341
  // each of those re-walked the style catalog before.
12342
- paragraphCascadeCache = /* @__PURE__ */ new WeakMap();
12342
+ //
12343
+ // Defaults to a per-context instance, but the runtime can supply a
12344
+ // persistent `WeakMap` via `FormattingContextOptions.paragraphCascadeCache`
12345
+ // so unchanged paragraphs don't re-cascade on every keystroke. See the
12346
+ // contract on the option for invalidation semantics.
12347
+ paragraphCascadeCache;
12343
12348
  constructor(doc, opts) {
12344
12349
  this.doc = doc;
12345
12350
  this.opts = opts;
12351
+ this.paragraphCascadeCache = opts.paragraphCascadeCache ?? /* @__PURE__ */ new WeakMap();
12346
12352
  const canonicalTheme = doc.subParts?.canonicalTheme;
12347
12353
  this.theme = opts.themeResolver ?? (canonicalTheme ? new ThemeColorResolver(canonicalTheme) : void 0);
12348
12354
  this.numbering = opts.numberingPrefixResolver ?? createNumberingPrefixResolver(doc.numbering);
@@ -12827,7 +12833,8 @@ function createEditorSurfaceSnapshot(document2, _selection, activeStory = { kind
12827
12833
  const formattingContext = createFormattingContext(document2, {
12828
12834
  ...options.revisionMarkupMode ? { revisionMarkupMode: options.revisionMarkupMode } : {},
12829
12835
  ...options.getEffectiveMarkupMode ? { getEffectiveMarkupMode: options.getEffectiveMarkupMode } : {},
12830
- ...options.authorColorPalette ? { authorColorPalette: options.authorColorPalette } : {}
12836
+ ...options.authorColorPalette ? { authorColorPalette: options.authorColorPalette } : {},
12837
+ ...options.paragraphCascadeCache ? { paragraphCascadeCache: options.paragraphCascadeCache } : {}
12831
12838
  });
12832
12839
  const editableTargetsByBlockPath = options.editableTargetsByBlockPath ?? indexEditableTargetsByBlockPath(document2);
12833
12840
  const layoutIdentitiesByBlockPath = options.layoutIdentitiesByBlockPath;
@@ -29722,6 +29729,10 @@ function TwTableGripLayer({
29722
29729
  tableGeometry,
29723
29730
  plan.columnsTwips
29724
29731
  );
29732
+ const columnWidthCapability = tableContext.operations.setColumnWidth;
29733
+ const rowHeightCapability = tableContext.operations.setRowHeight;
29734
+ const columnResizeDisabled = !!disabled || !onSetColumnWidth || columnWidthCapability?.enabled === false;
29735
+ const rowResizeDisabled = !!disabled || !onSetRowHeight || rowHeightCapability?.enabled === false;
29725
29736
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
29726
29737
  plan.columnResizeHandles.map((handle) => {
29727
29738
  const rect2 = resolveColumnEdgeRect(
@@ -29736,7 +29747,8 @@ function TwTableGripLayer({
29736
29747
  colIndex: handle.columnIndex,
29737
29748
  originalTwips: plan.columnsTwips[handle.columnIndex] ?? 720,
29738
29749
  pxPerTwip,
29739
- disabled: !!disabled || !onSetColumnWidth,
29750
+ disabled: columnResizeDisabled,
29751
+ disabledReason: columnWidthCapability?.reason,
29740
29752
  onCommit: onSetColumnWidth
29741
29753
  },
29742
29754
  `col-${blockId}-${handle.columnIndex}`
@@ -29757,7 +29769,8 @@ function TwTableGripLayer({
29757
29769
  rowIndex,
29758
29770
  originalTwips,
29759
29771
  pxPerTwip,
29760
- disabled: !!disabled || !onSetRowHeight,
29772
+ disabled: rowResizeDisabled,
29773
+ disabledReason: rowHeightCapability?.reason,
29761
29774
  onCommit: onSetRowHeight
29762
29775
  },
29763
29776
  `row-${blockId}-${rowIndex}`
@@ -29847,6 +29860,7 @@ function ColResizeGrip({
29847
29860
  originalTwips,
29848
29861
  pxPerTwip,
29849
29862
  disabled,
29863
+ disabledReason,
29850
29864
  onCommit
29851
29865
  }) {
29852
29866
  const dragRef = (0, import_react30.useRef)(null);
@@ -29905,11 +29919,13 @@ function ColResizeGrip({
29905
29919
  role: "separator",
29906
29920
  "aria-orientation": "vertical",
29907
29921
  "aria-label": `Resize column ${colIndex + 1}`,
29922
+ "aria-disabled": disabled ? "true" : void 0,
29908
29923
  "data-testid": `col-resize-grip-${colIndex}`,
29909
29924
  "data-active": isActive ? "true" : "false",
29925
+ title: disabled ? disabledReason : void 0,
29910
29926
  className: [
29911
- "wre-table-grip-col pointer-events-auto absolute",
29912
- disabled ? "opacity-0 cursor-default" : ""
29927
+ "wre-table-grip-col absolute",
29928
+ disabled ? "pointer-events-none opacity-0 cursor-default" : "pointer-events-auto"
29913
29929
  ].filter(Boolean).join(" "),
29914
29930
  style: {
29915
29931
  left: `calc(${pos.left} - ${GRIP_HIT_PX / 2}px)`,
@@ -29927,6 +29943,7 @@ function RowResizeGrip({
29927
29943
  originalTwips,
29928
29944
  pxPerTwip,
29929
29945
  disabled,
29946
+ disabledReason,
29930
29947
  onCommit
29931
29948
  }) {
29932
29949
  const dragRef = (0, import_react30.useRef)(null);
@@ -29986,11 +30003,13 @@ function RowResizeGrip({
29986
30003
  role: "separator",
29987
30004
  "aria-orientation": "horizontal",
29988
30005
  "aria-label": `Resize row ${rowIndex + 1}`,
30006
+ "aria-disabled": disabled ? "true" : void 0,
29989
30007
  "data-testid": `row-resize-grip-${rowIndex}`,
29990
30008
  "data-active": isActive ? "true" : "false",
30009
+ title: disabled ? disabledReason : void 0,
29991
30010
  className: [
29992
- "wre-table-grip-row pointer-events-auto absolute",
29993
- disabled ? "opacity-0 cursor-default" : ""
30011
+ "wre-table-grip-row absolute",
30012
+ disabled ? "pointer-events-none opacity-0 cursor-default" : "pointer-events-auto"
29994
30013
  ].filter(Boolean).join(" "),
29995
30014
  style: {
29996
30015
  left: pos.left,
@@ -1,11 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { c7 as CommentSidebarSnapshot, el as TrackedChangeEntrySnapshot, em as TrackedChangesSnapshot, cc as CompatibilityPanelSnapshot, cJ as EditorWarning, dw as RuntimeContextAnalyticsSnapshot, f1 as ScopeRailSegment, es as WorkflowBlockedCommandReason, c9 as CommentSidebarThreadSnapshot, eQ as WorkspaceMode, eR as ZoomLevel, f2 as ChromePinSurface, f3 as PinState, f4 as FormattingAlignment, I as InsertTableOptions, dO as SectionBreakType, f5 as InsertImageOptions, dP as SectionLayoutPatch, dQ as SectionPageNumberingPatch, cN as HeaderFooterLinkPatch, cF as EditorStoryTarget, R as RuntimeRenderSnapshot, cI as EditorViewStateSnapshot, f6 as SessionCapabilities, f7 as WordReviewEditorLayoutFacet, f8 as GeometryFacet, f9 as WorkflowFacet, fa as EditorActionHostCallbacks, fb as TwWorkspaceChromeHostController, fc as FormattingStateSnapshot, bn as ActiveListContext, d$ as StyleCatalogSnapshot, eO as WorkflowScopeSnapshot, cT as InteractionGuardSnapshot, ep as WordReviewEditorChromePreset, eo as WordReviewEditorChromeOptions, bN as CollabSession, bf as TransportStatus, dm as ReviewQueueSnapshot, fd as UiObjectDragStartInput, fe as UiObjectDragSession, ff as ActiveSelectionToolModel, cl as DocumentNavigationSnapshot, fg as TableStructureContextSnapshot, eq as WordReviewEditorChromeVisibility, fh as EditorRole, eN as WorkflowScopeMode, dJ as ScopeIssueAction, cs as EditorAnchorProjection, cH as EditorUser, j as SelectionSnapshot, e3 as SurfaceBlockSnapshot, e4 as SurfaceInlineSegment, c5 as CommentPresentationSnapshot, bW as CommentBody, bY as CommentMention, bU as CommentAttachment, fi as ToolbarChromeItemId, fj as ToolbarChromePlacement, dR as SelectionToolKind, as as UiListReadbackSnapshot, fk as ScopeRailPosture, fl as ChromePinsState, fm as PublicMeasurementFidelity, fn as FormattingInlineSelectionToolModel, bh as PresenceSnapshot, bg as CollabPosture, bV as CommentAudience, d0 as MetadataIntegrity, b$ as CommentNegotiationEntry, d6 as NegotiationRole, bZ as CommentNegotiationAction, d8 as PageLayoutSnapshot, fo as EditableTargetRef } from './public-types-BR1SYK2F.cjs';
3
- export { fp as deriveCapabilities } from './public-types-BR1SYK2F.cjs';
2
+ import { c7 as CommentSidebarSnapshot, el as TrackedChangeEntrySnapshot, em as TrackedChangesSnapshot, cc as CompatibilityPanelSnapshot, cJ as EditorWarning, dw as RuntimeContextAnalyticsSnapshot, f1 as ScopeRailSegment, es as WorkflowBlockedCommandReason, c9 as CommentSidebarThreadSnapshot, eQ as WorkspaceMode, eR as ZoomLevel, f2 as ChromePinSurface, f3 as PinState, f4 as FormattingAlignment, I as InsertTableOptions, dO as SectionBreakType, f5 as InsertImageOptions, dP as SectionLayoutPatch, dQ as SectionPageNumberingPatch, cN as HeaderFooterLinkPatch, cF as EditorStoryTarget, R as RuntimeRenderSnapshot, cI as EditorViewStateSnapshot, f6 as SessionCapabilities, f7 as WordReviewEditorLayoutFacet, f8 as GeometryFacet, f9 as WorkflowFacet, fa as EditorActionHostCallbacks, fb as TwWorkspaceChromeHostController, fc as FormattingStateSnapshot, bn as ActiveListContext, d$ as StyleCatalogSnapshot, eO as WorkflowScopeSnapshot, cT as InteractionGuardSnapshot, ep as WordReviewEditorChromePreset, eo as WordReviewEditorChromeOptions, bN as CollabSession, bf as TransportStatus, dm as ReviewQueueSnapshot, fd as UiObjectDragStartInput, fe as UiObjectDragSession, ff as ActiveSelectionToolModel, cl as DocumentNavigationSnapshot, fg as TableStructureContextSnapshot, eq as WordReviewEditorChromeVisibility, fh as EditorRole, eN as WorkflowScopeMode, dJ as ScopeIssueAction, cs as EditorAnchorProjection, cH as EditorUser, j as SelectionSnapshot, e3 as SurfaceBlockSnapshot, e4 as SurfaceInlineSegment, c5 as CommentPresentationSnapshot, bW as CommentBody, bY as CommentMention, bU as CommentAttachment, fi as ToolbarChromeItemId, fj as ToolbarChromePlacement, dR as SelectionToolKind, as as UiListReadbackSnapshot, fk as ScopeRailPosture, fl as ChromePinsState, fm as PublicMeasurementFidelity, fn as FormattingInlineSelectionToolModel, bh as PresenceSnapshot, bg as CollabPosture, bV as CommentAudience, d0 as MetadataIntegrity, b$ as CommentNegotiationEntry, d6 as NegotiationRole, bZ as CommentNegotiationAction, d8 as PageLayoutSnapshot, fo as EditableTargetRef } from './public-types-CSSH2Whc.cjs';
3
+ export { fp as deriveCapabilities } from './public-types-CSSH2Whc.cjs';
4
4
  import * as React$1 from 'react';
5
5
  import React__default, { ReactNode, FocusEventHandler, Ref, KeyboardEvent as KeyboardEvent$1 } from 'react';
6
6
  import 'yjs';
7
7
  import 'y-protocols/awareness';
8
- import './canonical-document-CfZIc-fC.cjs';
8
+ import './canonical-document-COmM7v11.cjs';
9
9
  import 'prosemirror-state';
10
10
  import 'prosemirror-model';
11
11
 
@@ -1,11 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { c7 as CommentSidebarSnapshot, el as TrackedChangeEntrySnapshot, em as TrackedChangesSnapshot, cc as CompatibilityPanelSnapshot, cJ as EditorWarning, dw as RuntimeContextAnalyticsSnapshot, f1 as ScopeRailSegment, es as WorkflowBlockedCommandReason, c9 as CommentSidebarThreadSnapshot, eQ as WorkspaceMode, eR as ZoomLevel, f2 as ChromePinSurface, f3 as PinState, f4 as FormattingAlignment, I as InsertTableOptions, dO as SectionBreakType, f5 as InsertImageOptions, dP as SectionLayoutPatch, dQ as SectionPageNumberingPatch, cN as HeaderFooterLinkPatch, cF as EditorStoryTarget, R as RuntimeRenderSnapshot, cI as EditorViewStateSnapshot, f6 as SessionCapabilities, f7 as WordReviewEditorLayoutFacet, f8 as GeometryFacet, f9 as WorkflowFacet, fa as EditorActionHostCallbacks, fb as TwWorkspaceChromeHostController, fc as FormattingStateSnapshot, bn as ActiveListContext, d$ as StyleCatalogSnapshot, eO as WorkflowScopeSnapshot, cT as InteractionGuardSnapshot, ep as WordReviewEditorChromePreset, eo as WordReviewEditorChromeOptions, bN as CollabSession, bf as TransportStatus, dm as ReviewQueueSnapshot, fd as UiObjectDragStartInput, fe as UiObjectDragSession, ff as ActiveSelectionToolModel, cl as DocumentNavigationSnapshot, fg as TableStructureContextSnapshot, eq as WordReviewEditorChromeVisibility, fh as EditorRole, eN as WorkflowScopeMode, dJ as ScopeIssueAction, cs as EditorAnchorProjection, cH as EditorUser, j as SelectionSnapshot, e3 as SurfaceBlockSnapshot, e4 as SurfaceInlineSegment, c5 as CommentPresentationSnapshot, bW as CommentBody, bY as CommentMention, bU as CommentAttachment, fi as ToolbarChromeItemId, fj as ToolbarChromePlacement, dR as SelectionToolKind, as as UiListReadbackSnapshot, fk as ScopeRailPosture, fl as ChromePinsState, fm as PublicMeasurementFidelity, fn as FormattingInlineSelectionToolModel, bh as PresenceSnapshot, bg as CollabPosture, bV as CommentAudience, d0 as MetadataIntegrity, b$ as CommentNegotiationEntry, d6 as NegotiationRole, bZ as CommentNegotiationAction, d8 as PageLayoutSnapshot, fo as EditableTargetRef } from './public-types-DXNZVKrS.js';
3
- export { fp as deriveCapabilities } from './public-types-DXNZVKrS.js';
2
+ import { c7 as CommentSidebarSnapshot, el as TrackedChangeEntrySnapshot, em as TrackedChangesSnapshot, cc as CompatibilityPanelSnapshot, cJ as EditorWarning, dw as RuntimeContextAnalyticsSnapshot, f1 as ScopeRailSegment, es as WorkflowBlockedCommandReason, c9 as CommentSidebarThreadSnapshot, eQ as WorkspaceMode, eR as ZoomLevel, f2 as ChromePinSurface, f3 as PinState, f4 as FormattingAlignment, I as InsertTableOptions, dO as SectionBreakType, f5 as InsertImageOptions, dP as SectionLayoutPatch, dQ as SectionPageNumberingPatch, cN as HeaderFooterLinkPatch, cF as EditorStoryTarget, R as RuntimeRenderSnapshot, cI as EditorViewStateSnapshot, f6 as SessionCapabilities, f7 as WordReviewEditorLayoutFacet, f8 as GeometryFacet, f9 as WorkflowFacet, fa as EditorActionHostCallbacks, fb as TwWorkspaceChromeHostController, fc as FormattingStateSnapshot, bn as ActiveListContext, d$ as StyleCatalogSnapshot, eO as WorkflowScopeSnapshot, cT as InteractionGuardSnapshot, ep as WordReviewEditorChromePreset, eo as WordReviewEditorChromeOptions, bN as CollabSession, bf as TransportStatus, dm as ReviewQueueSnapshot, fd as UiObjectDragStartInput, fe as UiObjectDragSession, ff as ActiveSelectionToolModel, cl as DocumentNavigationSnapshot, fg as TableStructureContextSnapshot, eq as WordReviewEditorChromeVisibility, fh as EditorRole, eN as WorkflowScopeMode, dJ as ScopeIssueAction, cs as EditorAnchorProjection, cH as EditorUser, j as SelectionSnapshot, e3 as SurfaceBlockSnapshot, e4 as SurfaceInlineSegment, c5 as CommentPresentationSnapshot, bW as CommentBody, bY as CommentMention, bU as CommentAttachment, fi as ToolbarChromeItemId, fj as ToolbarChromePlacement, dR as SelectionToolKind, as as UiListReadbackSnapshot, fk as ScopeRailPosture, fl as ChromePinsState, fm as PublicMeasurementFidelity, fn as FormattingInlineSelectionToolModel, bh as PresenceSnapshot, bg as CollabPosture, bV as CommentAudience, d0 as MetadataIntegrity, b$ as CommentNegotiationEntry, d6 as NegotiationRole, bZ as CommentNegotiationAction, d8 as PageLayoutSnapshot, fo as EditableTargetRef } from './public-types-8kVIB5HW.js';
3
+ export { fp as deriveCapabilities } from './public-types-8kVIB5HW.js';
4
4
  import * as React$1 from 'react';
5
5
  import React__default, { ReactNode, FocusEventHandler, Ref, KeyboardEvent as KeyboardEvent$1 } from 'react';
6
6
  import 'yjs';
7
7
  import 'y-protocols/awareness';
8
- import './canonical-document-CfZIc-fC.js';
8
+ import './canonical-document-COmM7v11.js';
9
9
  import 'prosemirror-state';
10
10
  import 'prosemirror-model';
11
11
 
@@ -9,7 +9,7 @@ import {
9
9
  TwShellHeader,
10
10
  createEditorKeyboardHandler,
11
11
  renderTwCaret
12
- } from "./chunk-7Y6JCIK3.js";
12
+ } from "./chunk-HWMPNLEF.js";
13
13
  import {
14
14
  CollabAudienceChip,
15
15
  CollabNegotiationActionBar,
@@ -47,15 +47,15 @@ import {
47
47
  selectionTouchesRange,
48
48
  shouldHideInCleanMode,
49
49
  useContainerBreakpoint
50
- } from "./chunk-3YR47WTD.js";
51
- import "./chunk-74R5B2EZ.js";
50
+ } from "./chunk-FGJTOFZY.js";
51
+ import "./chunk-H4HI6RUE.js";
52
52
  import "./chunk-NJFKPDNG.js";
53
53
  import {
54
54
  deriveCapabilities
55
- } from "./chunk-O4EDZR44.js";
55
+ } from "./chunk-P7XDEVS6.js";
56
56
  import "./chunk-OVLZQ6FZ.js";
57
57
  import "./chunk-QIO6V46H.js";
58
- import "./chunk-XBQFDBXE.js";
58
+ import "./chunk-EZFF6GKF.js";
59
59
  import "./chunk-OYGMRRR7.js";
60
60
  import "./chunk-5KTJKTNE.js";
61
61
  import "./chunk-UFVDIR2C.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@beyondwork/docx-react-component",
3
3
  "publisher": "beyondwork",
4
- "version": "1.0.134",
4
+ "version": "1.0.136",
5
5
  "description": "Embeddable React Word (docx) editor with review, comments, tracked changes, and round-trip OOXML fidelity.",
6
6
  "type": "module",
7
7
  "sideEffects": [