@docx-editor.dev/core 2.24.0 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +9 -3
  2. package/dist/automation.cjs +1 -1
  3. package/dist/automation.d.ts +46 -16
  4. package/dist/automation.js +1 -1
  5. package/dist/binding.cjs +1 -1
  6. package/dist/binding.d.ts +8 -8
  7. package/dist/binding.js +1 -1
  8. package/dist/chunk-2BK4G4ZN.js +2 -0
  9. package/dist/chunk-2SJX44PC.cjs +2 -0
  10. package/dist/chunk-5BIASAN3.js +1 -0
  11. package/dist/{chunk-2LXGB2X7.js → chunk-6SEIXJTX.js} +1 -1
  12. package/dist/chunk-73PG6L2X.js +1 -0
  13. package/dist/chunk-7RJSH72J.cjs +5 -0
  14. package/dist/chunk-AGKIHLWQ.cjs +1 -0
  15. package/dist/chunk-AN6WM4X4.js +2 -0
  16. package/dist/chunk-ANZ44KQT.cjs +12 -0
  17. package/dist/chunk-CYT3OQFZ.cjs +1 -0
  18. package/dist/chunk-DDGGSBAN.js +12 -0
  19. package/dist/chunk-EEAV3WIN.js +3 -0
  20. package/dist/{chunk-JDAAGZNE.cjs → chunk-ELQFXMJ5.cjs} +1 -1
  21. package/dist/chunk-EYK4K2J6.js +1 -0
  22. package/dist/chunk-JNTETUNZ.cjs +1 -0
  23. package/dist/chunk-L6V3IJ3S.js +5 -0
  24. package/dist/chunk-LWCI65EL.js +1 -0
  25. package/dist/chunk-LZDI4P6I.cjs +1 -0
  26. package/dist/chunk-NS22DVWT.cjs +2 -0
  27. package/dist/chunk-QIE3YTU4.cjs +2 -0
  28. package/dist/chunk-QVBFPAGO.js +5 -0
  29. package/dist/chunk-RCCOLZEQ.js +2 -0
  30. package/dist/chunk-SUN62YU6.cjs +5 -0
  31. package/dist/chunk-TKR2MXX4.cjs +3 -0
  32. package/dist/chunk-UJL2GDIM.cjs +25 -0
  33. package/dist/chunk-WQTADNHK.cjs +27 -0
  34. package/dist/chunk-XSHXBJ2J.js +25 -0
  35. package/dist/chunk-YXZEBTDF.js +27 -0
  36. package/dist/collaboration/replication.cjs +1 -1
  37. package/dist/collaboration/replication.d.ts +4 -4
  38. package/dist/collaboration/replication.js +1 -1
  39. package/dist/collaboration.d.ts +3 -3
  40. package/dist/contracts/document.d.ts +2 -2
  41. package/dist/contracts/editor.d.ts +8 -8
  42. package/dist/contracts/modules.d.ts +6 -6
  43. package/dist/contracts/types.d.ts +1 -1
  44. package/dist/{custom-node-writes-77rvPW2-.d.ts → custom-node-writes-Cy9imOjA.d.ts} +2 -2
  45. package/dist/{document-protection-CYIjO-li.d.ts → document-protection-Bp19Ad4I.d.ts} +1 -1
  46. package/dist/{editor-BU6rjQZz.d.ts → editor-DYUlyKmb.d.ts} +145 -9
  47. package/dist/editor.cjs +1 -1
  48. package/dist/editor.css +15 -1
  49. package/dist/editor.d.ts +179 -34
  50. package/dist/editor.js +1 -1
  51. package/dist/export.cjs +2 -2
  52. package/dist/export.d.ts +12 -12
  53. package/dist/export.js +2 -2
  54. package/dist/{font-resolver-CPO7wtg6.d.ts → font-resolver-u_nE0PI1.d.ts} +5 -3
  55. package/dist/{headless-document-view-Cc3fFWhv.d.ts → headless-document-view-R9bzzepb.d.ts} +2 -2
  56. package/dist/{image-resources-DkuzBnTM.d.ts → image-resources-DfagDguq.d.ts} +1 -1
  57. package/dist/{index-BOkQYOsZ.d.ts → index-Docw8Dcb.d.ts} +333 -308
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.d.ts +17 -17
  60. package/dist/index.js +1 -1
  61. package/dist/{layout-shaping-BOOxnLxF.d.ts → layout-shaping-DWitwY73.d.ts} +2 -2
  62. package/dist/layout.cjs +1 -1
  63. package/dist/layout.d.ts +99 -33
  64. package/dist/layout.js +1 -1
  65. package/dist/{note-properties-DMfKK3QU.d.ts → note-properties-CmfvOJsi.d.ts} +1 -1
  66. package/dist/{omml-equation-BY7OdfGY.d.ts → omml-equation-CZ6IG2ja.d.ts} +1 -1
  67. package/dist/output.cjs +1 -1
  68. package/dist/output.d.ts +7 -7
  69. package/dist/output.js +1 -1
  70. package/dist/{protocol-CPAakntQ.d.ts → protocol-DniKeDb8.d.ts} +71 -23
  71. package/dist/{review-paragraph-order-B0BP_wJP.d.ts → review-paragraph-order-Dc8Q6tfM.d.ts} +6 -2
  72. package/dist/{revision-projection-CVJeA2jp.d.ts → revision-projection-DfWxdBqA.d.ts} +1 -1
  73. package/dist/{semantic-cell-selection-BtO2s2Za.d.ts → semantic-cell-selection-Dy_BmmpL.d.ts} +25 -7
  74. package/dist/{semantic-interaction-COMnWyBQ.d.ts → semantic-interaction-CvFAj0GR.d.ts} +1 -1
  75. package/dist/{semantic-paint-C032N0ps.d.ts → semantic-paint-Bk9wIXdZ.d.ts} +2 -2
  76. package/dist/{semantic-records-BSjo-xck.d.ts → semantic-records-COqi8pjP.d.ts} +83 -76
  77. package/dist/store.cjs +1 -1
  78. package/dist/store.d.ts +90 -41
  79. package/dist/store.js +1 -1
  80. package/dist/{tree-package-fragment-BIyGh6L8.d.ts → tree-package-fragment-YPyYC1aD.d.ts} +9 -4
  81. package/dist/{tree-session-contract-CHcCnz3W.d.ts → tree-session-contract-AeY2v0x9.d.ts} +8 -6
  82. package/dist/{types-barrel-DN_-gaRX.d.ts → types-barrel-BO73JqHG.d.ts} +44 -30
  83. package/package.json +4 -4
  84. package/dist/chunk-3OMDEMLL.js +0 -1
  85. package/dist/chunk-6CPYOVRT.cjs +0 -1
  86. package/dist/chunk-AKF5KM2W.cjs +0 -4
  87. package/dist/chunk-BOGQGMMU.cjs +0 -1
  88. package/dist/chunk-CVNDMQIX.cjs +0 -26
  89. package/dist/chunk-DF7F7TNU.cjs +0 -1
  90. package/dist/chunk-G765WG4R.js +0 -1
  91. package/dist/chunk-IEXYOLNR.cjs +0 -5
  92. package/dist/chunk-J3EM5ZEA.js +0 -18
  93. package/dist/chunk-JNE6QF47.js +0 -26
  94. package/dist/chunk-JQTVFP72.cjs +0 -2
  95. package/dist/chunk-JXL25DRU.js +0 -11
  96. package/dist/chunk-KPSGB64S.js +0 -1
  97. package/dist/chunk-P4SBMHHO.cjs +0 -5
  98. package/dist/chunk-QQAF64KN.js +0 -5
  99. package/dist/chunk-SI5FLZGU.js +0 -4
  100. package/dist/chunk-SOUJNWXV.js +0 -1
  101. package/dist/chunk-T4TKRNZT.cjs +0 -11
  102. package/dist/chunk-TBFZZX7Z.cjs +0 -1
  103. package/dist/chunk-VPKKYCZI.cjs +0 -2
  104. package/dist/chunk-W3ZUPQIZ.cjs +0 -18
  105. package/dist/chunk-XMWH2R23.js +0 -5
  106. package/dist/chunk-XWXJB4J7.js +0 -1
  107. package/dist/chunk-YIBEBHT3.js +0 -2
  108. package/dist/chunk-ZSM6X52G.cjs +0 -1
  109. package/dist/chunk-ZXAGLAY2.js +0 -2
package/dist/editor.d.ts CHANGED
@@ -1,36 +1,36 @@
1
- import { O as OoxmlPart, aD as TreeDocColorValue, r as ColorValue, ab as DrawingPositionInput, A as ParagraphTabStop } from './types-barrel-DN_-gaRX.js';
2
- export { aE as IMAGE_WRAP_TARGETS, aa as ImageWrapTarget, z as ParagraphFlags, R as ReviewModelInput, aF as TEXT_FORM_FORMATS } from './types-barrel-DN_-gaRX.js';
3
- export { D as DEFAULT_IMAGE_RESOURCE_LIMITS, a as ImageDecodePort, I as ImageResourceLimits, R as RenderableImageMime, S as SupportedImageMime, c as VectorImageMime, r as resolveImageResourceLimits, d as resolveSvgIntrinsicSize, s as sniffImageMime, v as validateRasterHeader } from './image-resources-DkuzBnTM.js';
1
+ import { O as OoxmlPart, aD as TreeDocColorValue, r as ColorValue, ab as DrawingPositionInput, A as ParagraphTabStop } from './types-barrel-BO73JqHG.js';
2
+ export { aE as IMAGE_WRAP_TARGETS, aa as ImageWrapTarget, z as ParagraphFlags, R as ReviewModelInput, aF as TEXT_FORM_FORMATS } from './types-barrel-BO73JqHG.js';
3
+ export { D as DEFAULT_IMAGE_RESOURCE_LIMITS, a as ImageDecodePort, I as ImageResourceLimits, R as RenderableImageMime, S as SupportedImageMime, c as VectorImageMime, r as resolveImageResourceLimits, d as resolveSvgIntrinsicSize, s as sniffImageMime, v as validateRasterHeader } from './image-resources-DfagDguq.js';
4
4
  export { CollectReviewItems, EditorModule, EditorModuleRegistry, ReviewModuleContribution, resolveEditorModules } from './contracts/modules.js';
5
- import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-CHcCnz3W.js';
6
- export { a as TreeApplyResult } from './tree-session-contract-CHcCnz3W.js';
7
- import { a as FontConfiguration, E as EditorFontError, d as EditorSnapshot, e as EditorCommand, C as CanResult, Z as ZoomMode, f as ClearAnchorHighlightOptions, A as AnchorHighlightOptions, S as ScrollToAnchorOptions, g as AnchorHighlightAnimation } from './editor-BU6rjQZz.js';
8
- export { I as ImageContext, h as ImageCropPercent, i as ImageCropPermille, j as SelectedImageState, T as TrackedChangeFilterMode, k as TrackedChangePredicate, l as cropPercentFromCropPermille, m as cropPercentFromPermille, n as cropPercentFromSourceCrop, o as cropPermilleFromCropPercent, p as cropPermilleFromPercent, s as sourceCropFromCropPercent, v as validateImageCropPercent } from './editor-BU6rjQZz.js';
9
- import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-BOOxnLxF.js';
10
- export { d as disposeLayoutShaping } from './layout-shaping-BOOxnLxF.js';
11
- export { C as ComposeFontOriginsOptions, b as FONT_RESOLVER_BRAND, c as FONT_RESOLVER_MARK_KEY, d as FontConfigurationBase, e as FontConfigurationFragment, a as FontOrigin, F as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, M as MAX_RESOLVER_FAMILIES, i as MarkedFontResolver, W as WORD_DEFAULT_FONT, j as composeFontConfiguration, k as composeFontOrigins, l as defineFontResolver, m as isFontResolver } from './font-resolver-CPO7wtg6.js';
12
- import { P as PaginatedSurfaceOptions, O as OpenPaginatedResult, a as PaginatedSurface, T as TableCommandPlan, D as DocxEditorInstance } from './index-BOkQYOsZ.js';
13
- export { A as AnchorFrameOrigin, C as CHROME_GROUPS, b as CHROME_MENUS, c as CHROME_UNAVAILABLE_KEY, d as ChromeControl, e as ChromeControlId, f as ChromeControlState, g as ChromeExportError, h as ChromeExportFormat, i as ChromeExportHandlers, j as ChromeExportResult, k as ChromeGroup, l as ChromeGroupId, m as ChromeMenu, n as ChromeMenuEntry, o as ChromeMenuId, p as ChromeMenuItemEntry, q as ChromeMenuSeparatorEntry, r as ChromeMenuSubmenuEntry, s as ChromePrintError, t as ChromePrintErrorCode, u as ChromePrintJob, v as ChromePrintOptions, w as ChromeSlotId, x as ContentControlWidgetChromeHandlers, y as ContentControlWidgetSession, z as CustomFontsOptions, B as CustomFontsResolver, E as DEFAULT_TABLE_CHROME_DRAFT, F as DocxEditorConfig, G as DrawingSelectionIntent, H as EMU_PER_POINT, I as EditorCommandExecute, J as EquationActivation, K as EquationChromeHandlers, L as EquationOps, M as FinalizedImageOverlayInteraction, N as FontLoadFailure, Q as FontLoadFailureReason, R as FontMeasurementState, S as FontUrlSource, U as HistoryGroupBinding, V as HistoryGroupBindingOptions, W as HyperlinkActivation, X as HyperlinkChromeHandlers, Y as HyperlinkOps, Z as IMAGE_OVERLAY_NUDGE_PT, _ as IMAGE_OVERLAY_NUDGE_SHIFT_PT, $ as ImageInteractionSession, a0 as ImageOverlayScrollPort, a1 as ImageResizeHandle, a2 as ImageResizeResult, a3 as InvalidTextFormFieldChromeHandlers, a4 as InvalidTextFormFieldSession, a5 as LoadFontsRequest, a6 as LoadFontsResult, a7 as OverlayFrameRect, a8 as PaginatedSurfaceState, a9 as ParagraphPropertyEdit, aa as PopupChromeRegistrationOptions, ab as RemoteCaretLabelAnchor, ac as RemoteCaretLabelHost, ad as ReviewWriteIntent, ae as RunTableChromeCommandResult, af as SectionAnchor, ag as SectionBreakInsertType, ah as SelectedDrawingOverlayTarget, ai as SurfaceEquation, aj as SurfaceFormatting, ak as SurfaceHyperlink, al as SurfaceInsertImageInput, am as SurfaceNavigation, an as SurfaceOverlayCoordinates, ao as SurfaceParagraphFormat, ap as TABLE_BORDER_STYLE_OPTIONS, aq as TABLE_BORDER_TARGET_OPTIONS, ar as TABLE_BORDER_WIDTH_OPTIONS, as as TABLE_CHROME_SLOT_IDS, at as TableBorderStyleOption, au as TableBorderTargetOption, av as TableBorderTargetValue, aw as TableBorderWidthOption, ax as TableChromeDraft, ay as TableChromePick, az as TableChromeSlotId, aA as TableInteractionLabelKey, aB as TextFormFieldChromeHandlers, aC as TextFormFieldDialogSession, aD as ToolbarCommandState, aE as ToolbarSlotValue, aF as ToolbarValueMap, aG as ToolbarValueSlot, aH as applyTableChromePick, aI as bindHistoryGroup, aJ as blankDocumentBytes, aK as canExecuteImageCommand, aL as captureImageMutationPreconditions, aM as chromeControlCount, aN as chromeMenuSlots, aO as chromeProbeForSlot, aP as chromeSlotId, aQ as chromeSlotIsToggle, aR as commandExecOptions, aS as commandForSlot, aT as commandForSlotValue, aU as commandForTableChromeSlotValue, aV as computeImageResizeResult, aW as computeMovedImagePosition, aX as computeResizedImageExtentEmu, aY as createDocxEditor, aZ as createFontSource, a_ as createImageOverlayScrollPort, a$ as cssPixelsToLayoutPoints, b0 as customFonts, b1 as defaultChromeGroups, b2 as defaultTableLabel, b3 as emuToOverlayPoints, b4 as equationAtPosition, b5 as executeImageCommand, b6 as finalizeImageOverlayInteraction, b7 as formattingBarChromeGroups, b8 as isChromePrintShortcut, b9 as isStaleImageInteractionCommit, ba as isTableChromeSlot, bb as layoutPointsToCssPixels, bc as loadFonts, bd as overlayFrameToSheetCssPixels, be as overlayHostOrigin, bf as pointsToEmu, bg as probeTableChromeCommand, bh as resizePreservesAspect, bi as runChromeExport, bj as runChromePrint, bk as runSave, bl as runTableChromeCommand, bm as runTableCommand, bn as runToolbarCommand, bo as selectedDrawingOverlayTargetOf, bp as selectedImageStateOf, bq as surfacePaintScale, br as tableChromeIconPaths, bs as tableChromeLabelKeyForTarget, bt as tableChromeToolbarState, bu as tableChromeVisible, bv as tableCommandToolbarState, bw as toolbarCommandState, bx as toolbarCommandStates } from './index-BOkQYOsZ.js';
14
- import { A as AutomationCapabilities, a as AutomationHost } from './protocol-CPAakntQ.js';
15
- import { S as SemanticLayout } from './semantic-records-BSjo-xck.js';
16
- export { T as TextMeasurer } from './semantic-records-BSjo-xck.js';
17
- export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-COMnWyBQ.js';
18
- export { S as SectionProperties } from './semantic-cell-selection-BtO2s2Za.js';
19
- export { F as FieldShadingMode, R as ReviewAuthorInfo, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles } from './semantic-paint-C032N0ps.js';
5
+ import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-AeY2v0x9.js';
6
+ export { a as TreeApplyResult } from './tree-session-contract-AeY2v0x9.js';
7
+ import { a as FontConfiguration, E as EditorFontError, d as EditorSnapshot, e as EditorCommand, C as CanResult, Z as ZoomMode, f as ClearAnchorHighlightOptions, A as AnchorHighlightOptions, S as ScrollToAnchorOptions, g as AnchorHighlightAnimation, H as HighlightRange, h as Editor, i as HighlightResult, j as HighlightOptions, T as TextMatch } from './editor-DYUlyKmb.js';
8
+ export { k as HighlightHit, l as HighlightRect, I as ImageContext, m as ImageCropPercent, n as ImageCropPermille, o as SelectedImageState, p as TrackedChangeFilterMode, q as TrackedChangePredicate, r as cropPercentFromCropPermille, s as cropPercentFromPermille, t as cropPercentFromSourceCrop, u as cropPermilleFromCropPercent, v as cropPermilleFromPercent, w as sourceCropFromCropPercent, x as validateImageCropPercent } from './editor-DYUlyKmb.js';
9
+ import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-DWitwY73.js';
10
+ export { d as disposeLayoutShaping } from './layout-shaping-DWitwY73.js';
11
+ export { C as ComposeFontOriginsOptions, D as DEFAULT_FONT, b as FONT_RESOLVER_BRAND, c as FONT_RESOLVER_MARK_KEY, d as FontConfigurationBase, e as FontConfigurationFragment, a as FontOrigin, F as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, M as MAX_RESOLVER_FAMILIES, i as MarkedFontResolver, W as WORD_DEFAULT_FONT, j as composeFontConfiguration, k as composeFontOrigins, l as defineFontResolver, m as isFontResolver } from './font-resolver-u_nE0PI1.js';
12
+ import { P as PaginatedSurfaceOptions, O as OpenPaginatedResult, a as PaginatedSurface, T as TableCommandPlan, D as DocxEditorInstance } from './index-Docw8Dcb.js';
13
+ export { A as AnchorFrameOrigin, C as CHROME_GROUPS, b as CHROME_MENUS, c as CHROME_UNAVAILABLE_KEY, d as ChromeControl, e as ChromeControlId, f as ChromeControlState, g as ChromeExportError, h as ChromeExportFormat, i as ChromeExportHandlers, j as ChromeExportResult, k as ChromeGroup, l as ChromeGroupId, m as ChromeMenu, n as ChromeMenuEntry, o as ChromeMenuId, p as ChromeMenuItemEntry, q as ChromeMenuSeparatorEntry, r as ChromeMenuSubmenuEntry, s as ChromePrintError, t as ChromePrintErrorCode, u as ChromePrintJob, v as ChromePrintOptions, w as ChromeSlotId, x as ContentControlWidgetChromeHandlers, y as ContentControlWidgetSession, z as CustomFontsOptions, B as CustomFontsResolver, E as DEFAULT_TABLE_CHROME_DRAFT, F as DocxEditorConfig, G as DrawingSelectionIntent, H as EMU_PER_POINT, I as EditorCommandExecute, J as EquationActivation, K as EquationChromeHandlers, L as EquationOps, M as FinalizedImageOverlayInteraction, N as FontLoadFailure, Q as FontLoadFailureReason, R as FontMeasurementState, S as FontUrlSource, U as HistoryGroupBinding, V as HistoryGroupBindingOptions, W as HyperlinkActivation, X as HyperlinkChromeHandlers, Y as HyperlinkOps, Z as IMAGE_OVERLAY_NUDGE_PT, _ as IMAGE_OVERLAY_NUDGE_SHIFT_PT, $ as ImageInteractionSession, a0 as ImageOverlayScrollPort, a1 as ImageResizeHandle, a2 as ImageResizeResult, a3 as InvalidTextFormFieldChromeHandlers, a4 as InvalidTextFormFieldSession, a5 as LoadFontsRequest, a6 as LoadFontsResult, a7 as OverlayFrameRect, a8 as PaginatedSurfaceState, a9 as ParagraphPropertyEdit, aa as PopupChromeRegistrationOptions, ab as RemoteCaretLabelAnchor, ac as RemoteCaretLabelHost, ad as ReviewWriteIntent, ae as RunTableChromeCommandResult, af as SectionAnchor, ag as SectionBreakInsertType, ah as SelectedDrawingOverlayTarget, ai as SurfaceEquation, aj as SurfaceFormatting, ak as SurfaceHyperlink, al as SurfaceInsertImageInput, am as SurfaceNavigation, an as SurfaceOverlayCoordinates, ao as SurfaceParagraphFormat, ap as TABLE_BORDER_STYLE_OPTIONS, aq as TABLE_BORDER_TARGET_OPTIONS, ar as TABLE_BORDER_WIDTH_OPTIONS, as as TABLE_CHROME_SLOT_IDS, at as TableBorderStyleOption, au as TableBorderTargetOption, av as TableBorderTargetValue, aw as TableBorderWidthOption, ax as TableChromeDraft, ay as TableChromePick, az as TableChromeSlotId, aA as TableInteractionLabelKey, aB as TextFormFieldChromeHandlers, aC as TextFormFieldDialogSession, aD as ToolbarCommandState, aE as ToolbarSlotValue, aF as ToolbarValueMap, aG as ToolbarValueSlot, aH as applyTableChromePick, aI as bindHistoryGroup, aJ as blankDocumentBytes, aK as canExecuteImageCommand, aL as captureImageMutationPreconditions, aM as chromeControlCount, aN as chromeMenuSlots, aO as chromeProbeForSlot, aP as chromeSlotId, aQ as chromeSlotIsToggle, aR as commandExecOptions, aS as commandForSlot, aT as commandForSlotValue, aU as commandForTableChromeSlotValue, aV as computeImageResizeResult, aW as computeMovedImagePosition, aX as computeResizedImageExtentEmu, aY as createDocxEditor, aZ as createFontSource, a_ as createImageOverlayScrollPort, a$ as cssPixelsToLayoutPoints, b0 as customFonts, b1 as defaultChromeGroups, b2 as defaultTableLabel, b3 as emuToOverlayPoints, b4 as equationAtPosition, b5 as executeImageCommand, b6 as finalizeImageOverlayInteraction, b7 as formattingBarChromeGroups, b8 as isChromePrintShortcut, b9 as isStaleImageInteractionCommit, ba as isTableChromeSlot, bb as layoutPointsToCssPixels, bc as loadFonts, bd as overlayFrameToSheetCssPixels, be as overlayHostOrigin, bf as pointsToEmu, bg as probeTableChromeCommand, bh as resizePreservesAspect, bi as runChromeExport, bj as runChromePrint, bk as runSave, bl as runTableChromeCommand, bm as runTableCommand, bn as runToolbarCommand, bo as selectedDrawingOverlayTargetOf, bp as selectedImageStateOf, bq as surfacePaintScale, br as tableChromeIconPaths, bs as tableChromeLabelKeyForTarget, bt as tableChromeToolbarState, bu as tableChromeVisible, bv as tableCommandToolbarState, bw as toolbarCommandState, bx as toolbarCommandStates } from './index-Docw8Dcb.js';
14
+ import { a as AutomationCapabilities, b as AutomationHost } from './protocol-DniKeDb8.js';
15
+ import { S as SemanticLayout } from './semantic-records-COqi8pjP.js';
16
+ export { T as TextMeasurer } from './semantic-records-COqi8pjP.js';
17
+ export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-CvFAj0GR.js';
18
+ export { S as SectionProperties } from './semantic-cell-selection-Dy_BmmpL.js';
19
+ export { F as FieldShadingMode, R as ReviewAuthorInfo, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles } from './semantic-paint-Bk9wIXdZ.js';
20
20
  export { CollaborationModuleContribution } from './collaboration.js';
21
21
  import './editor-scope-OHPwVQ5l.js';
22
- import './revision-projection-CVJeA2jp.js';
23
- import './tree-package-fragment-BIyGh6L8.js';
22
+ import './revision-projection-DfWxdBqA.js';
23
+ import './tree-package-fragment-YPyYC1aD.js';
24
24
  import './collaboration/replication.js';
25
25
  import './failure-BIPVQbRm.js';
26
- import './custom-node-writes-77rvPW2-.js';
27
- import './headless-document-view-Cc3fFWhv.js';
26
+ import './custom-node-writes-Cy9imOjA.js';
27
+ import './headless-document-view-R9bzzepb.js';
28
28
  import 'prosemirror-model';
29
29
  import './contracts/document.js';
30
30
  import './contracts/interaction.js';
31
- import './document-protection-CYIjO-li.js';
32
- import './note-properties-DMfKK3QU.js';
33
- import './omml-equation-BY7OdfGY.js';
31
+ import './document-protection-Bp19Ad4I.js';
32
+ import './note-properties-CmfvOJsi.js';
33
+ import './omml-equation-CZ6IG2ja.js';
34
34
 
35
35
  declare function toEditorFontError(error: unknown): EditorFontError;
36
36
  declare function createLayoutShaping(configuration: FontConfiguration, instrumentation?: LayoutShapingInstrumentation): Promise<LayoutShapingOptions>;
@@ -492,11 +492,11 @@ type TabLeaderName = 'none' | 'dot' | 'hyphen' | 'underscore';
492
492
  /** One label key per alignment, so the rows read as words rather than as `w:val` values. * @public
493
493
  */
494
494
  declare const TAB_ALIGNMENT_LABELS: {
495
- readonly left: "dialogs.paragraph.tabAlignLeft";
496
- readonly center: "dialogs.paragraph.tabAlignCenter";
497
- readonly right: "dialogs.paragraph.tabAlignRight";
498
- readonly decimal: "dialogs.paragraph.tabAlignDecimal";
499
- readonly bar: "dialogs.paragraph.tabAlignBar";
495
+ readonly left: 'dialogs.paragraph.tabAlignLeft';
496
+ readonly center: 'dialogs.paragraph.tabAlignCenter';
497
+ readonly right: 'dialogs.paragraph.tabAlignRight';
498
+ readonly decimal: 'dialogs.paragraph.tabAlignDecimal';
499
+ readonly bar: 'dialogs.paragraph.tabAlignBar';
500
500
  };
501
501
  /** The "Special" pair: the signed first-line offset, split into a kind and a magnitude. * @public
502
502
  */
@@ -733,7 +733,7 @@ declare const CONTENT_CONTROL_PICTURE_ACCEPT = "image/png,image/jpeg,image/gif,i
733
733
 
734
734
  /** A processor location in the returned document's body, including table paragraphs. @public */
735
735
  interface RefreshLocation {
736
- /** OOXML w14:paraId. Use this or paragraphIndex, not both. */
736
+ /** OOXML w14:paraId: eight hexadecimal digits, 00000001 through 7FFFFFFF. Case-insensitive. Use this or paragraphIndex, not both. */
737
737
  readonly paragraphId?: string;
738
738
  /** Zero-based body paragraph index in document order. */
739
739
  readonly paragraphIndex?: number;
@@ -746,6 +746,8 @@ interface RefreshLocation {
746
746
  /** One processor change. Keep its id stable across cumulative results. @public */
747
747
  interface RefreshChangeInput {
748
748
  readonly id: string;
749
+ /** Processor-provided review summary, including changes without a body location. Maximum: 1000 characters. */
750
+ readonly description?: string;
749
751
  readonly location?: RefreshLocation;
750
752
  /** Deletions without a surviving range have no highlight. */
751
753
  readonly unavailableReason?: 'deleted' | 'unavailable';
@@ -753,12 +755,19 @@ interface RefreshChangeInput {
753
755
  /** One validated change for an accepted result. @public */
754
756
  interface RefreshChange {
755
757
  readonly id: string;
758
+ /** Processor-provided summary. The controller does not compute a document diff. */
759
+ readonly description?: string;
756
760
  /** Identity of the accepted submission and processor sequence. */
757
761
  readonly resultId: string;
758
- /** True for a new change id or changed text in an existing change id. */
762
+ /** True for a new change id, changed text, or changed description in an existing change id. */
759
763
  readonly isNew: boolean;
760
764
  readonly status: 'available' | 'deleted' | 'unavailable' | 'invalid' | 'unsupported-story';
761
765
  readonly location?: RefreshLocation;
766
+ /** Why this change cannot receive a highlight. Includes the requested location when supplied. */
767
+ readonly diagnostic?: {
768
+ readonly code: 'missing-location' | 'deleted' | 'invalid-selector' | 'invalid-paragraph-id' | 'paragraph-not-found' | 'ambiguous-paragraph-id' | 'invalid-offsets' | 'text-mismatch' | 'not-rendered' | 'unsupported-story' | 'multiple-paragraphs';
769
+ readonly location?: RefreshLocation;
770
+ };
762
771
  }
763
772
  /** A document captured for external processing. Treat this object as an opaque token. @public */
764
773
  interface RefreshSubmission {
@@ -859,5 +868,141 @@ declare class DocumentRefreshError extends Error {
859
868
  */
860
869
  declare function createDocumentRefresh(editor: DocxEditorInstance): DocumentRefresh;
861
870
 
862
- export { AUTO_ZOOM_MODE, AnchorHighlightAnimation, AnchorHighlightOptions, BROWSER_AUTOMATION_CAPABILITIES, CONTENT_CONTROL_PICTURE_ACCEPT, ClearAnchorHighlightOptions, DRAWING_REL_FROM_H, DRAWING_REL_FROM_V, DocumentRefreshError, DocxEditorInstance, DrawingPositionInput, FIT_WIDTH_ZOOM_MODE, LOADING_SNAPSHOT, NO_MIXED_FIELDS, OpenPaginatedResult, PX_PER_CM, PX_PER_INCH, PaginatedSurface, PaginatedSurfaceOptions, ParagraphTabStop, SNAP_TWIPS_CM, SNAP_TWIPS_INCH, ScrollToAnchorOptions, TAB_ALIGNMENT_LABELS, TWIPS_PER_CM, TWIPS_PER_INCH, TreeDocxSessionView, ZOOM_MAX, ZOOM_MIN, alignmentAfterDirectionChange, applyThemeShade, applyThemeTint, calendarDateForKey, calendarDateFromText, calendarDateText, calendarMonth, calendarMonthNames, calendarMonthTitle, calendarWeekdays, changedFields, clipboardDropLandsText, clipboardPasteLandsContent, contentControlPopupKeyDown, contentControlPopupOpener, createBrowserAutomationHost, createContentControlListNavigation, createDocumentRefresh, createLayoutShaping, dragIndent, editorCommandKey, firstDayOfWeek, formatInches, generateRulerTicks, handlePosition, inchesToTwips, isoDateOf, lowerColorValueForBorder, lowerColorValueForFill, mixedFieldsOf, mountPaginatedSurface, observeContentControlPopup, parseIsoDate, partOfNodeId, positionContentControlPopup, positionInputFromPropertiesCommand, propertiesCommandHasPositionFields, resolveColorValueToCss, resolveThemeColorHex, resolveZoomMode, rulerPageBox, sameTabStops, sameZoomMode, seedFields, shiftMonth, signedFirstLineOf, snapTwips, specialOf, surfaceExtent, tableCommandState, toEditorFontError, trapTabWithin, twipsToInches, validateDrawingPositionInput, validateSetImagePositionCommand, validateThemeModifier, withTabStop };
863
- export type { CalendarDay, CalendarMonth, CalendarMonthOptions, ClearRefreshHighlightsOptions, ColorLowerResult, ContentControlListNavigation, DocumentRefresh, DocumentRefreshState, NavigateToChangeOptions, ParagraphDialogFields, ParagraphDialogMixed, ParagraphFlagKey, ParagraphFlagState, ParagraphFormatRead, ParagraphFormatUpdate, RefreshChange, RefreshChangeInput, RefreshFailureCode, RefreshHighlightAnimation, RefreshHighlightOptions, RefreshLocation, RefreshResult, RefreshSubmission, RefreshUpdate, RulerDragOptions, RulerIndent, RulerIndentHandle, RulerPageMetrics, RulerTick, RulerUnit, SpecialIndent, SurfaceExtent, TabAlignment, TabLeaderName };
871
+ /**
872
+ * Ranges for `watchHighlights` and `useHighlights`: an array, or a function of the editor
873
+ * that runs again after document changes. @public
874
+ */
875
+ type HighlightSource = readonly HighlightRange[] | ((editor: Editor) => readonly HighlightRange[]);
876
+ /** Milliseconds a function source waits after an edit before it runs again. @public */
877
+ declare const HIGHLIGHT_REFRESH_MS = 150;
878
+ /** Options for {@link watchHighlights}. @public */
879
+ interface WatchHighlightsOptions extends HighlightOptions {
880
+ /** Called when the applied and unavailable counts change. */
881
+ readonly onResult?: (result: HighlightResult) => void;
882
+ }
883
+ /** A highlight set that {@link watchHighlights} keeps current. @public */
884
+ interface HighlightWatch {
885
+ /** What the last application resolved. */
886
+ readonly result: HighlightResult;
887
+ /** Run the source again now. */
888
+ refresh(): void;
889
+ /** Replace the source or options. Applies at once and keeps the set's stacking position. */
890
+ update(source: HighlightSource, options?: HighlightOptions): void;
891
+ /** Remove the set and stop watching. */
892
+ stop(): void;
893
+ }
894
+ /**
895
+ * Highlight a named set and keep it current as the document changes.
896
+ *
897
+ * @example
898
+ * ```ts
899
+ * const glossary = watchHighlights(editor, 'glossary', (editor) =>
900
+ * editor.findMatches(terms, { wholeWord: true }).flat()
901
+ * );
902
+ * // Later:
903
+ * glossary.stop();
904
+ * ```
905
+ * @public
906
+ */
907
+ declare function watchHighlights(editor: Editor, name: string, source: HighlightSource, options?: WatchHighlightsOptions): HighlightWatch;
908
+
909
+ /** Milliseconds of quiet before a typed query runs. @public */
910
+ declare const SEARCH_DEBOUNCE_MS = 150;
911
+ /** Most matches one search reports; a full result reads as "at least this many". @public */
912
+ declare const SEARCH_MATCH_LIMIT = 2000;
913
+ /** The highlight set name the search session owns. @public */
914
+ declare const SEARCH_HIGHLIGHT_SET = "search";
915
+ /** Stacking priority of search highlights, above host sets at the default `0`. @public */
916
+ declare const SEARCH_HIGHLIGHT_PRIORITY = 10;
917
+ /** Which matches a search interface highlights. @public */
918
+ type DocumentSearchHighlight = 'all' | 'active' | 'none';
919
+ /** Search options that narrow a query. @public */
920
+ interface DocumentSearchOptions {
921
+ readonly matchCase?: boolean;
922
+ readonly wholeWord?: boolean;
923
+ }
924
+ /** How a search moves to a match. @public */
925
+ interface DocumentSearchNavigateOptions {
926
+ /** Move focus to the document. Default: `false`. */
927
+ readonly focus?: boolean;
928
+ }
929
+ /** Options for {@link DocumentSearch.find}. @public */
930
+ interface DocumentSearchFindOptions extends DocumentSearchOptions {
931
+ /**
932
+ * Highlight the results until `clear()` or the next `find()`: `'all'`, `'active'`, or
933
+ * `'none'`. Default: no request of its own, so highlights follow the Find pane and hooks.
934
+ */
935
+ readonly highlight?: DocumentSearchHighlight;
936
+ /** Select the first match and scroll to it. Default: `false`. */
937
+ readonly selectFirst?: boolean;
938
+ }
939
+ /** A snapshot of the shared search. The same object until something changes. @public */
940
+ interface DocumentSearchState {
941
+ /** The query as typed. It can lead the searched query by one debounce. */
942
+ readonly query: string;
943
+ readonly matchCase: boolean;
944
+ readonly wholeWord: boolean;
945
+ /** Matches for the last searched query, in document order. */
946
+ readonly matches: readonly TextMatch[];
947
+ /** The search stopped at {@link SEARCH_MATCH_LIMIT} with matches still ahead. */
948
+ readonly truncated: boolean;
949
+ /** Index of the current match, or `-1` before any navigation. */
950
+ readonly activeIndex: number;
951
+ /** The current match, or `null` before any navigation. */
952
+ readonly activeMatch: TextMatch | null;
953
+ /** A typed query is waiting for its debounce. */
954
+ readonly isPending: boolean;
955
+ }
956
+ /**
957
+ * The shared search of one editor. Get it with {@link createDocumentSearch}.
958
+ * @public
959
+ */
960
+ interface DocumentSearch {
961
+ /** The current state. Returns the same object until the state changes. */
962
+ getState(): DocumentSearchState;
963
+ /** Observe state changes. Returns an unsubscribe function. */
964
+ subscribe(listener: () => void): () => void;
965
+ /**
966
+ * Search now, without a debounce, and return the matches. Clears the active match unless
967
+ * `selectFirst` selects one. `highlight` highlights the results until `clear()`.
968
+ */
969
+ find(query: string, options?: DocumentSearchFindOptions): readonly TextMatch[];
970
+ /** Update the typed query. The search runs after {@link SEARCH_DEBOUNCE_MS} of quiet. */
971
+ setQuery(query: string): void;
972
+ setMatchCase(value: boolean): void;
973
+ setWholeWord(value: boolean): void;
974
+ /**
975
+ * Select a match and scroll to it. Focus stays where it is, so a search box keeps it and
976
+ * Enter can move to the next match; pass `{ focus: true }` to move focus to the document.
977
+ * Returns false for an index without a match.
978
+ */
979
+ goTo(index: number, options?: DocumentSearchNavigateOptions): boolean;
980
+ /** Go to the next or previous match, wrapping at the ends. */
981
+ next(options?: DocumentSearchNavigateOptions): boolean;
982
+ previous(options?: DocumentSearchNavigateOptions): boolean;
983
+ /** Empty the query and drop the results, without changing the selection. */
984
+ clear(): void;
985
+ /**
986
+ * Highlight matches while the returned function is not called. With several requests,
987
+ * the widest wins: `'all'`, then `'active'`. Without a request, nothing is highlighted.
988
+ * The Find pane requests highlights while its Find tab is open.
989
+ */
990
+ showHighlights(mode: DocumentSearchHighlight): () => void;
991
+ }
992
+ /**
993
+ * The shared search session of an editor. Every call for the same editor returns the same
994
+ * session, so the Find pane and your code read and drive one search.
995
+ *
996
+ * @example
997
+ * ```ts
998
+ * const search = createDocumentSearch(editor);
999
+ * const stop = search.showHighlights('all');
1000
+ * search.find('Supplier', { wholeWord: true });
1001
+ * search.next();
1002
+ * ```
1003
+ * @public
1004
+ */
1005
+ declare function createDocumentSearch(editor: Editor): DocumentSearch;
1006
+
1007
+ export { AUTO_ZOOM_MODE, AnchorHighlightAnimation, AnchorHighlightOptions, BROWSER_AUTOMATION_CAPABILITIES, CONTENT_CONTROL_PICTURE_ACCEPT, ClearAnchorHighlightOptions, DRAWING_REL_FROM_H, DRAWING_REL_FROM_V, DocumentRefreshError, DocxEditorInstance, DrawingPositionInput, FIT_WIDTH_ZOOM_MODE, HIGHLIGHT_REFRESH_MS, HighlightOptions, HighlightRange, HighlightResult, LOADING_SNAPSHOT, NO_MIXED_FIELDS, OpenPaginatedResult, PX_PER_CM, PX_PER_INCH, PaginatedSurface, PaginatedSurfaceOptions, ParagraphTabStop, SEARCH_DEBOUNCE_MS, SEARCH_HIGHLIGHT_PRIORITY, SEARCH_HIGHLIGHT_SET, SEARCH_MATCH_LIMIT, SNAP_TWIPS_CM, SNAP_TWIPS_INCH, ScrollToAnchorOptions, TAB_ALIGNMENT_LABELS, TWIPS_PER_CM, TWIPS_PER_INCH, TreeDocxSessionView, ZOOM_MAX, ZOOM_MIN, alignmentAfterDirectionChange, applyThemeShade, applyThemeTint, calendarDateForKey, calendarDateFromText, calendarDateText, calendarMonth, calendarMonthNames, calendarMonthTitle, calendarWeekdays, changedFields, clipboardDropLandsText, clipboardPasteLandsContent, contentControlPopupKeyDown, contentControlPopupOpener, createBrowserAutomationHost, createContentControlListNavigation, createDocumentRefresh, createDocumentSearch, createLayoutShaping, dragIndent, editorCommandKey, firstDayOfWeek, formatInches, generateRulerTicks, handlePosition, inchesToTwips, isoDateOf, lowerColorValueForBorder, lowerColorValueForFill, mixedFieldsOf, mountPaginatedSurface, observeContentControlPopup, parseIsoDate, partOfNodeId, positionContentControlPopup, positionInputFromPropertiesCommand, propertiesCommandHasPositionFields, resolveColorValueToCss, resolveThemeColorHex, resolveZoomMode, rulerPageBox, sameTabStops, sameZoomMode, seedFields, shiftMonth, signedFirstLineOf, snapTwips, specialOf, surfaceExtent, tableCommandState, toEditorFontError, trapTabWithin, twipsToInches, validateDrawingPositionInput, validateSetImagePositionCommand, validateThemeModifier, watchHighlights, withTabStop };
1008
+ export type { CalendarDay, CalendarMonth, CalendarMonthOptions, ClearRefreshHighlightsOptions, ColorLowerResult, ContentControlListNavigation, DocumentRefresh, DocumentRefreshState, DocumentSearch, DocumentSearchFindOptions, DocumentSearchHighlight, DocumentSearchNavigateOptions, DocumentSearchOptions, DocumentSearchState, HighlightSource, HighlightWatch, NavigateToChangeOptions, ParagraphDialogFields, ParagraphDialogMixed, ParagraphFlagKey, ParagraphFlagState, ParagraphFormatRead, ParagraphFormatUpdate, RefreshChange, RefreshChangeInput, RefreshFailureCode, RefreshHighlightAnimation, RefreshHighlightOptions, RefreshLocation, RefreshResult, RefreshSubmission, RefreshUpdate, RulerDragOptions, RulerIndent, RulerIndentHandle, RulerPageMetrics, RulerTick, RulerUnit, SpecialIndent, SurfaceExtent, TabAlignment, TabLeaderName, WatchHighlightsOptions };
package/dist/editor.js CHANGED
@@ -1 +1 @@
1
- export{_a as AUTO_ZOOM_MODE,db as BROWSER_AUTOMATION_CAPABILITIES,wa as CHROME_GROUPS,Aa as CHROME_MENUS,Da as CHROME_UNAVAILABLE_KEY,Ia as CONTENT_CONTROL_PICTURE_ACCEPT,Fb as ChromeExportError,Hb as ChromePrintError,Y as DEFAULT_TABLE_CHROME_DRAFT,Db as DocumentRefreshError,Q as EMU_PER_POINT,$a as FIT_WIDTH_ZOOM_MODE,O as IMAGE_OVERLAY_NUDGE_PT,P as IMAGE_OVERLAY_NUDGE_SHIFT_PT,c as LOADING_SNAPSHOT,vb as NO_MIXED_FIELDS,l as PX_PER_CM,k as PX_PER_INCH,r as SNAP_TWIPS_CM,q as SNAP_TWIPS_INCH,ca as TABLE_BORDER_STYLE_OPTIONS,ba as TABLE_BORDER_TARGET_OPTIONS,da as TABLE_BORDER_WIDTH_OPTIONS,Z as TABLE_CHROME_SLOT_IDS,rb as TAB_ALIGNMENT_LABELS,p as TWIPS_PER_CM,o as TWIPS_PER_INCH,Za as ZOOM_MAX,Ya as ZOOM_MIN,zb as alignmentAfterDirectionChange,ea as applyTableChromePick,y as applyThemeShade,x as applyThemeTint,Cb as bindHistoryGroup,d as blankDocumentBytes,Qa as calendarDateForKey,Sa as calendarDateFromText,Ra as calendarDateText,Oa as calendarMonth,Ta as calendarMonthNames,Ma as calendarMonthTitle,Na as calendarWeekdays,M as canExecuteImageCommand,L as captureImageMutationPreconditions,yb as changedFields,Ca as chromeControlCount,Ba as chromeMenuSlots,ia as chromeProbeForSlot,xa as chromeSlotId,oa as chromeSlotIsToggle,f as clipboardDropLandsText,e as clipboardPasteLandsContent,v as commandExecOptions,ja as commandForSlot,la as commandForSlotValue,ka as commandForTableChromeSlotValue,lb as computeImageResizeResult,V as computeMovedImagePosition,U as computeResizedImageExtentEmu,Ga as contentControlPopupKeyDown,Ha as contentControlPopupOpener,eb as createBrowserAutomationHost,Ua as createContentControlListNavigation,Eb as createDocumentRefresh,cb as createDocxEditor,i as createFontSource,mb as createImageOverlayScrollPort,b as createLayoutShaping,I as cropPercentFromCropPermille,G as cropPercentFromPermille,D as cropPercentFromSourceCrop,H as cropPermilleFromCropPercent,F as cropPermilleFromPercent,hb as cssPixelsToLayoutPoints,j as customFonts,ya as defaultChromeGroups,_ as defaultTableLabel,u as dragIndent,va as editorCommandKey,T as emuToOverlayPoints,Wa as equationAtPosition,N as executeImageCommand,nb as finalizeImageOverlayInteraction,La as firstDayOfWeek,pb as formatInches,za as formattingBarChromeGroups,m as generateRulerTicks,s as handlePosition,qb as inchesToTwips,Ib as isChromePrintShortcut,W as isStaleImageInteractionCommit,$ as isTableChromeSlot,Ja as isoDateOf,gb as layoutPointsToCssPixels,h as loadFonts,A as lowerColorValueForBorder,B as lowerColorValueForFill,wb as mixedFieldsOf,Xa as mountPaginatedSurface,Fa as observeContentControlPopup,ib as overlayFrameToSheetCssPixels,jb as overlayHostOrigin,Ka as parseIsoDate,g as partOfNodeId,S as pointsToEmu,Ea as positionContentControlPopup,fa as probeTableChromeCommand,kb as resizePreservesAspect,C as resolveColorValueToCss,z as resolveThemeColorHex,ab as resolveZoomMode,n as rulerPageBox,Gb as runChromeExport,Jb as runChromePrint,sa as runSave,qa as runTableChromeCommand,ua as runTableCommand,ra as runToolbarCommand,xb as sameTabStops,bb as sameZoomMode,ub as seedFields,R as selectedDrawingOverlayTargetOf,K as selectedImageStateOf,Pa as shiftMonth,tb as signedFirstLineOf,t as snapTwips,E as sourceCropFromCropPercent,sb as specialOf,Va as surfaceExtent,fb as surfacePaintScale,ha as tableChromeIconPaths,ga as tableChromeLabelKeyForTarget,ma as tableChromeToolbarState,aa as tableChromeVisible,X as tableCommandState,ta as tableCommandToolbarState,a as toEditorFontError,na as toolbarCommandState,pa as toolbarCommandStates,Bb as trapTabWithin,ob as twipsToInches,J as validateImageCropPercent,w as validateThemeModifier,Ab as withTabStop}from'./chunk-JNE6QF47.js';export{a as resolveEditorModules}from'./chunk-AJCCS53D.js';import'./chunk-YIBEBHT3.js';export{h as FONT_RESOLVER_BRAND,g as FONT_RESOLVER_MARK_KEY,c as MAX_RESOLVER_FAMILIES,d as WORD_DEFAULT_FONT,e as composeFontConfiguration,k as composeFontOrigins,i as defineFontResolver,j as isFontResolver}from'./chunk-KPSGB64S.js';export{r as disposeLayoutShaping}from'./chunk-SI5FLZGU.js';import'./chunk-RIYSCEFQ.js';import'./chunk-ZXAGLAY2.js';import'./chunk-3OMDEMLL.js';import'./chunk-J3EM5ZEA.js';import'./chunk-QQAF64KN.js';import'./chunk-G765WG4R.js';import'./chunk-SOUJNWXV.js';import'./chunk-XWXJB4J7.js';import'./chunk-XMWH2R23.js';import'./chunk-6JIJOZDW.js';import'./chunk-2LXGB2X7.js';export{m as DEFAULT_IMAGE_RESOURCE_LIMITS,dj as DRAWING_REL_FROM_H,ej as DRAWING_REL_FROM_V,Xc as IMAGE_WRAP_TARGETS,Rh as TEXT_FORM_FORMATS,gj as positionInputFromPropertiesCommand,fj as propertiesCommandHasPositionFields,n as resolveImageResourceLimits,qd as resolveSvgIntrinsicSize,md as sniffImageMime,cj as validateDrawingPositionInput,rd as validateRasterHeader,hj as validateSetImagePositionCommand}from'./chunk-JXL25DRU.js';import'./chunk-S6J4O5XP.js';
1
+ export{_a as AUTO_ZOOM_MODE,db as BROWSER_AUTOMATION_CAPABILITIES,wa as CHROME_GROUPS,Aa as CHROME_MENUS,Da as CHROME_UNAVAILABLE_KEY,Ia as CONTENT_CONTROL_PICTURE_ACCEPT,Mb as ChromeExportError,Ob as ChromePrintError,Y as DEFAULT_TABLE_CHROME_DRAFT,Db as DocumentRefreshError,Q as EMU_PER_POINT,$a as FIT_WIDTH_ZOOM_MODE,Fb as HIGHLIGHT_REFRESH_MS,O as IMAGE_OVERLAY_NUDGE_PT,P as IMAGE_OVERLAY_NUDGE_SHIFT_PT,c as LOADING_SNAPSHOT,vb as NO_MIXED_FIELDS,l as PX_PER_CM,k as PX_PER_INCH,Hb as SEARCH_DEBOUNCE_MS,Kb as SEARCH_HIGHLIGHT_PRIORITY,Jb as SEARCH_HIGHLIGHT_SET,Ib as SEARCH_MATCH_LIMIT,r as SNAP_TWIPS_CM,q as SNAP_TWIPS_INCH,ca as TABLE_BORDER_STYLE_OPTIONS,ba as TABLE_BORDER_TARGET_OPTIONS,da as TABLE_BORDER_WIDTH_OPTIONS,Z as TABLE_CHROME_SLOT_IDS,rb as TAB_ALIGNMENT_LABELS,p as TWIPS_PER_CM,o as TWIPS_PER_INCH,Za as ZOOM_MAX,Ya as ZOOM_MIN,zb as alignmentAfterDirectionChange,ea as applyTableChromePick,y as applyThemeShade,x as applyThemeTint,Cb as bindHistoryGroup,d as blankDocumentBytes,Qa as calendarDateForKey,Sa as calendarDateFromText,Ra as calendarDateText,Oa as calendarMonth,Ta as calendarMonthNames,Ma as calendarMonthTitle,Na as calendarWeekdays,M as canExecuteImageCommand,L as captureImageMutationPreconditions,yb as changedFields,Ca as chromeControlCount,Ba as chromeMenuSlots,ia as chromeProbeForSlot,xa as chromeSlotId,oa as chromeSlotIsToggle,f as clipboardDropLandsText,e as clipboardPasteLandsContent,v as commandExecOptions,ja as commandForSlot,la as commandForSlotValue,ka as commandForTableChromeSlotValue,lb as computeImageResizeResult,V as computeMovedImagePosition,U as computeResizedImageExtentEmu,Ga as contentControlPopupKeyDown,Ha as contentControlPopupOpener,eb as createBrowserAutomationHost,Ua as createContentControlListNavigation,Eb as createDocumentRefresh,Lb as createDocumentSearch,cb as createDocxEditor,i as createFontSource,mb as createImageOverlayScrollPort,b as createLayoutShaping,I as cropPercentFromCropPermille,G as cropPercentFromPermille,D as cropPercentFromSourceCrop,H as cropPermilleFromCropPercent,F as cropPermilleFromPercent,hb as cssPixelsToLayoutPoints,j as customFonts,ya as defaultChromeGroups,_ as defaultTableLabel,u as dragIndent,va as editorCommandKey,T as emuToOverlayPoints,Va as equationAtPosition,N as executeImageCommand,nb as finalizeImageOverlayInteraction,La as firstDayOfWeek,pb as formatInches,za as formattingBarChromeGroups,m as generateRulerTicks,s as handlePosition,qb as inchesToTwips,Pb as isChromePrintShortcut,W as isStaleImageInteractionCommit,$ as isTableChromeSlot,Ja as isoDateOf,gb as layoutPointsToCssPixels,h as loadFonts,A as lowerColorValueForBorder,B as lowerColorValueForFill,wb as mixedFieldsOf,Xa as mountPaginatedSurface,Fa as observeContentControlPopup,ib as overlayFrameToSheetCssPixels,jb as overlayHostOrigin,Ka as parseIsoDate,g as partOfNodeId,S as pointsToEmu,Ea as positionContentControlPopup,fa as probeTableChromeCommand,kb as resizePreservesAspect,C as resolveColorValueToCss,z as resolveThemeColorHex,ab as resolveZoomMode,n as rulerPageBox,Nb as runChromeExport,Qb as runChromePrint,sa as runSave,qa as runTableChromeCommand,ua as runTableCommand,ra as runToolbarCommand,xb as sameTabStops,bb as sameZoomMode,ub as seedFields,R as selectedDrawingOverlayTargetOf,K as selectedImageStateOf,Pa as shiftMonth,tb as signedFirstLineOf,t as snapTwips,E as sourceCropFromCropPercent,sb as specialOf,Wa as surfaceExtent,fb as surfacePaintScale,ha as tableChromeIconPaths,ga as tableChromeLabelKeyForTarget,ma as tableChromeToolbarState,aa as tableChromeVisible,X as tableCommandState,ta as tableCommandToolbarState,a as toEditorFontError,na as toolbarCommandState,pa as toolbarCommandStates,Bb as trapTabWithin,ob as twipsToInches,J as validateImageCropPercent,w as validateThemeModifier,Gb as watchHighlights,Ab as withTabStop}from'./chunk-YXZEBTDF.js';export{a as resolveEditorModules}from'./chunk-AJCCS53D.js';import'./chunk-AN6WM4X4.js';export{d as DEFAULT_FONT,i as FONT_RESOLVER_BRAND,h as FONT_RESOLVER_MARK_KEY,c as MAX_RESOLVER_FAMILIES,e as WORD_DEFAULT_FONT,f as composeFontConfiguration,n as composeFontOrigins,j as defineFontResolver,k as isFontResolver}from'./chunk-LWCI65EL.js';export{r as disposeLayoutShaping}from'./chunk-EEAV3WIN.js';import'./chunk-RIYSCEFQ.js';import'./chunk-RCCOLZEQ.js';import'./chunk-EYK4K2J6.js';import'./chunk-XSHXBJ2J.js';import'./chunk-QVBFPAGO.js';import'./chunk-5BIASAN3.js';import'./chunk-2BK4G4ZN.js';import'./chunk-73PG6L2X.js';import'./chunk-L6V3IJ3S.js';import'./chunk-6JIJOZDW.js';import'./chunk-6SEIXJTX.js';export{m as DEFAULT_IMAGE_RESOURCE_LIMITS,Ij as DRAWING_REL_FROM_H,Jj as DRAWING_REL_FROM_V,nd as IMAGE_WRAP_TARGETS,ri as TEXT_FORM_FORMATS,Lj as positionInputFromPropertiesCommand,Kj as propertiesCommandHasPositionFields,n as resolveImageResourceLimits,Sd as resolveSvgIntrinsicSize,Od as sniffImageMime,Hj as validateDrawingPositionInput,Td as validateRasterHeader,Mj as validateSetImagePositionCommand}from'./chunk-DDGGSBAN.js';import'./chunk-S6J4O5XP.js';
package/dist/export.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkDF7F7TNU_cjs=require('./chunk-DF7F7TNU.cjs'),chunkAKF5KM2W_cjs=require('./chunk-AKF5KM2W.cjs'),chunkZSM6X52G_cjs=require('./chunk-ZSM6X52G.cjs'),chunkW3ZUPQIZ_cjs=require('./chunk-W3ZUPQIZ.cjs'),chunk6CPYOVRT_cjs=require('./chunk-6CPYOVRT.cjs');require('./chunk-TBFZZX7Z.cjs');var chunkP4SBMHHO_cjs=require('./chunk-P4SBMHHO.cjs'),chunkT4TKRNZT_cjs=require('./chunk-T4TKRNZT.cjs');function I(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((d,c)=>d.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let d of o.text){let c=d.toUpperCase()!==d,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(d))?y.text+=d:i.push({text:d,start:s,lower:c}),s+=d.length;}let a=[],u=[],p=[],l=true,g=0;for(let d of o.environment.direction==="rtl"?i.reverse():i){let c=d.lower?.8:1,y=[],R=[],b="",f=d.start;for(let F of d.text){let m=d.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?l=false:p.push(E*c),a.push({...m,cluster:y[m.cluster]??d.start,originX:chunkW3ZUPQIZ_cjs.o(g+Math.round(m.originX*c)),originY:chunkW3ZUPQIZ_cjs.o(Math.round(m.originY*c)),offsetX:chunkW3ZUPQIZ_cjs.o(Math.round(m.offsetX*c)),offsetY:chunkW3ZUPQIZ_cjs.o(Math.round(m.offsetY*c)),advanceX:chunkW3ZUPQIZ_cjs.o(Math.round(m.advanceX*c)),advanceY:chunkW3ZUPQIZ_cjs.o(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??d.start,E=R[F.textEnd-1]??f,L=chunkW3ZUPQIZ_cjs.o(Math.round(F.advance*c)),A=u.at(-1);A&&A.textStart===m&&A.textEnd===E?u[u.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:chunkW3ZUPQIZ_cjs.o(A.advance+L),caretEdges:[chunkW3ZUPQIZ_cjs.o(0),chunkW3ZUPQIZ_cjs.o(A.advance+L)]}:u.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:L,caretEdges:F.caretEdges.map(G=>chunkW3ZUPQIZ_cjs.o(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:u,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:l&&p.length===a.length?p:void 0}}var nt=new WeakMap;function Nt(e){let o=nt.get(e);return o===void 0&&(o=Ct(e.bytes,e.faceIndex),nt.set(e,o)),o}var _t=new Set(["COLR","CBDT","sbix"]),Mt=512;function Ct(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(rt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),Mt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(_t.has(rt(e,s)))return true}return false}function rt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var Ut=/\p{Emoji_Presentation}|️/u;function Bt(e){return Ut.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Nt);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Bt(o)?[...t,...n]:[...n,...t]}var qt=2048;function it(e,o,t,n){if(!t.clusters.length||t.clusters.length>qt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:chunkW3ZUPQIZ_cjs.q({...o.environment,font:f})};return I(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),L=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!L)return null;s.set(x,L),h=L;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],u=[],p=[],l=[],g=true,d=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=p.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunkW3ZUPQIZ_cjs.o(d+m.originX),originY:chunkW3ZUPQIZ_cjs.o(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)l.push(m);for(let m of h.clusters)u.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&p.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),d+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return chunkW3ZUPQIZ_cjs.t({...t,glyphs:a,clusters:u,fontSpans:p,exactAdvancesX:g&&l.length===a.length?l:void 0,metrics:{ascent:chunkW3ZUPQIZ_cjs.o(y),descent:chunkW3ZUPQIZ_cjs.o(R),lineGap:chunkW3ZUPQIZ_cjs.o(b)}},{...o.environment,fallbackOrder:n})}var jt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),zt=512,at=new WeakMap;function Ht(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let u=r(a+4);if(u<0||u>1024)return t;let p=-1;for(let c=0;c<u;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){p=i(y+8);break}}if(p<0)return t;let l=r(p+4);if(l<=0)return t;let g=p+l,d=r(g);if(d<0)return t;for(let c=0;c<Math.min(d,zt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Xt(e,o){let t=at.get(e);return t||(t=Ht(e.bytes,e.faceIndex),at.set(e,t)),(jt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function st(e,o){let t=e.filter(n=>Xt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunkW3ZUPQIZ_cjs.t({...i,text:o.text},o.environment)}catch{return t}}function lt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunkW3ZUPQIZ_cjs.e)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let u=e.shaper.shape(a),p=r.get(u);if(p&&p.input.text===a.text&&p.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&p.input.bidiLevel===a.bidiLevel&&p.input.context?.before===a.context?.before&&p.input.context?.after===a.context?.after&&p.input.environment===a.environment)return p.run;let l=s(a,J(e.shaper,a,u));return r.set(u,{input:a,run:l}),l}},s=(a,u)=>{let p=I(n,a,u);if(!p.glyphs.some(l=>l.id===0)||/^[\t\n\r\f]*$/.test(a.text))return p;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let l=it(n,a,p,t);if(l)return l}for(let l of st(q(t,a.text),a.environment.script))if(!(l.hash===a.environment.font.hash&&l.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunkW3ZUPQIZ_cjs.q({...a.environment,font:l})},d=I(n,g,n.shape(g));if(!d.glyphs.some(c=>c.id===0))return d}catch{}return p};return {...e,shaper:i}}var Q=chunkW3ZUPQIZ_cjs.c;function ee(e){return typeof e.admittedFontFace=="function"}var Gt=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function j(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var dt=new WeakMap;function z(e){let o=dt.get(e);return o||dt.set(e,o=Vt(e)),o}function Vt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:j(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:j(o.requested),resolved:j(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Wt(e){return Object.freeze({...z(e),bytes:chunkW3ZUPQIZ_cjs.j(e)})}function Yt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunkW3ZUPQIZ_cjs.e?null:Wt(t)}catch{return null}}function ct(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Yt(e.resolve(),o)}}function $t(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:j(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let u=a.toLowerCase();i.has(u)||i.set(u,a);}let s=[...i.values()].map(a=>{let u=[];for(let p of Gt){let l=n?.({family:a,...p});!l||l instanceof chunkW3ZUPQIZ_cjs.e||u.push(Object.freeze({...p,sourceFamily:l.family,via:l.substitution?"substitution":"direct",identity:l.identity,id:l.id,hash:l.hash,faceIndex:l.faceIndex,substitution:l.substitution}));}return Object.freeze({family:a,coverage:u.length===4?"complete":u.length>0?"partial":"none",faces:Object.freeze(u)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:$t(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o){if(o.fontPolicy!=="strict"||e.originFailures.length===0&&e.families.every(n=>n.coverage==="complete"))return;let t=e.families.filter(n=>n.coverage!=="complete").map(n=>n.family).join(", ");throw new chunkZSM6X52G_cjs.d("layoutFailed",`Strict font policy refused export${t?`; incomplete families: ${t}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunkW3ZUPQIZ_cjs.i(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunkW3ZUPQIZ_cjs.e?null:s}function ut(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunkW3ZUPQIZ_cjs.sa(n.style,n.fontSlot),i=chunkW3ZUPQIZ_cjs.$(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!chunkAKF5KM2W_cjs.$(e.shaper,e.environment,a,r,t))return null;let u=chunkAKF5KM2W_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:u,font:z(u.fontSpans[0]?.font??a),...u.fontSpans.length>1?{fonts:Object.freeze(u.fontSpans.map(p=>z(p.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function pt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,_,le=32,ft=chunkW3ZUPQIZ_cjs.d;function mt(){if(_)return _;let e=(async()=>(await chunkAKF5KM2W_cjs.d(),chunkAKF5KM2W_cjs.h(chunkAKF5KM2W_cjs.i)))();return _=e,e.catch(()=>{_===e&&(_=void 0);}),e}function yt(e){let o=H();return chunkAKF5KM2W_cjs.ba(e,{resolveFont(t){return ut(e,o,t)},fallback:chunkW3ZUPQIZ_cjs.fa()})}async function ht(e,o,t=[],n=false){if(!chunkAKF5KM2W_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await mt(),i=lt(await chunkAKF5KM2W_cjs.r(e,r,chunkAKF5KM2W_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>yt(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunkW3ZUPQIZ_cjs.ea}`].join("|"),extensionFingerprint:e.fingerprint})}function Kt(e,o){if(!chunkAKF5KM2W_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=chunkAKF5KM2W_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let u=chunkAKF5KM2W_cjs.l(e).sources.reduce((l,g)=>l+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+u>ft)throw new RangeError(`Shared exporter shaping font bytes are limited to ${ft} process-wide`);se+=u;let p;try{let l=await mt();p=await chunkAKF5KM2W_cjs.r(e,l,chunkAKF5KM2W_cjs.i,o);}catch(l){throw se-=u,l}return Object.freeze({createMeasurer:()=>yt(p),shapeLaidOutText:ae(p),shapingHash:p.operation.shapingHash,producerVersion:p.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunkW3ZUPQIZ_cjs.ea}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var Zt="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function Jt(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===Zt),n;if(t){let r=chunkT4TKRNZT_cjs.E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunkT4TKRNZT_cjs.je(o,n)}function gt(e,o){let t=Jt(e);if(t.length!==0)return chunkDF7F7TNU_cjs.i(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunkW3ZUPQIZ_cjs.i(s))),i=chunkDF7F7TNU_cjs.o(t,{maxFontBytes:chunkW3ZUPQIZ_cjs.b,aggregateBudget:Qt(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function Qt(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunkW3ZUPQIZ_cjs.d:Math.max(0,chunkW3ZUPQIZ_cjs.d-o)}function eo(e){return ee(e)&&ie(e)}var w=0,xt=Symbol("font-resolution-timeout");function to(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunkW3ZUPQIZ_cjs.d)throw new chunkZSM6X52G_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunkW3ZUPQIZ_cjs.d}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ce(e,o){return e.attributes.find(t=>t.localName===o)?.value}function oo(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunkT4TKRNZT_cjs.fa||t.namespaceUri===""))?.value}async function no(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkP4SBMHHO_cjs.Ka(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:u,documentLigatures:p,...l}=o,g=Array.isArray(n)?n:[n],d=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await ro(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:u,documentLigatures:p,lastResortFonts:d,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunkZSM6X52G_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunkZSM6X52G_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=chunkZSM6X52G_cjs.e(t.view,{...l,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new chunkZSM6X52G_cjs.d("aborted","Export resource settlement was aborted"):new chunkZSM6X52G_cjs.d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:ct({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:pt({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function ro(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=io(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(xt),n);try{de(r.signal);let a=(async()=>{let u=to(t.onActiveFontBytesChange),p=!1;try{let l=so(e).slice(0,chunkDF7F7TNU_cjs.c),g=[],d={dropped:[]},c=gt(e,d),y=[...o,...c?[c]:[],...t.lastResortFonts??[]],R=await chunkDF7F7TNU_cjs.l(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...l])].slice(0,chunkDF7F7TNU_cjs.c),defaultFamily:chunkDF7F7TNU_cjs.d.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:u.reserve});de(r.signal);let b=chunkDF7F7TNU_cjs.e(R??{});if(b.sources.length===0){let x=te(l,b.defaultFont.family,g,void 0,d.dropped);oe(x,t),ne(x,t);return}let f=await ht(chunkAKF5KM2W_cjs.o(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(l,b.defaultFont.family,g,f.resolveFont,d.dropped);return oe(h,t),ne(h,t),p=!0,Object.freeze({...f,dispose:u.release})}finally{p||u.release();}})();return await Promise.race([a,ao(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function io(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function ao(e){return new Promise((o,t)=>{let n=()=>{t(Ft(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function Ft(e){let o=e.reason===xt;return new chunkZSM6X52G_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw Ft(e)}function so(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(l,g)=>{!g||r.has(g.name)||(r.add(g.name),l.push(g.root));};for(let l of e.headerFooterPartsBySection()){for(let g of l.headers.values())i(t,g);for(let g of l.footers.values())i(t,g);}for(let l of ["footnote","endnote"])n.push(...lo(e,l));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},u=new Map,p=(l,g)=>{let d=chunk6CPYOVRT_cjs.d(l,e.stylesRoot(),a,uo(l,g)),c=chunkDF7F7TNU_cjs.v(l,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...d.direct,...mo(l),...c,...chunkDF7F7TNU_cjs.s(l,e.stylesRoot(),a),...d.inherited]){let R=y.toLowerCase();u.has(R)||u.set(R,y);}};return p(o,"body"),p(t,"furniture"),p(n,"note"),[...u.values()]}function lo(e,o){let t=chunkT4TKRNZT_cjs.eg(e.currentPackage(),o);if(!t)return [];let n=new Set(chunkT4TKRNZT_cjs.fg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunkT4TKRNZT_cjs._b(i),a=chunkT4TKRNZT_cjs.Zb(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var co="http://schemas.openxmlformats.org/officeDocument/2006/math";function uo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunkT4TKRNZT_cjs.fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let u=s.namespaceUri===chunkT4TKRNZT_cjs.fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let p=s.children.length-1;p>=0;p-=1){let l=s.children[p];l.kind!=="textValue"&&i.push({node:l,context:u});}}for(let s of r)po(s.paragraph,t,s.context);}return t}function po(e,o,t){let n=chunkW3ZUPQIZ_cjs.hb(),r=null,i=null,s="",a=false,u=false,p=false,l=0,g=[];for(let d=e.children.length-1;d>=0;d-=1){let c=e.children[d];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:d,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=chunkT4TKRNZT_cjs.na||d.namespaceUri===chunkT4TKRNZT_cjs.fa&&d.localName==="p")continue;let b=d.namespaceUri===chunkT4TKRNZT_cjs.fa&&d.localName==="r"?d.id:c;if(d.namespaceUri===chunkT4TKRNZT_cjs.fa&&d.localName==="fldSimple"){let f=ce(d,"instr")??"";chunkW3ZUPQIZ_cjs.$c(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&fo(d)!==D&&o.add(d.id);}if(d.namespaceUri===chunkT4TKRNZT_cjs.fa&&d.localName==="fldChar"){let f=ce(d,"fldCharType");if(f==="begin")chunkW3ZUPQIZ_cjs.kb(n),n.nesting===1&&(r=b,i=null,s="",a=false,u=false,p=chunkT4TKRNZT_cjs.ye(d),l=0);else if(f==="separate"){let h=n.nesting===1;if(chunkW3ZUPQIZ_cjs.mb(n),h){let x=chunkW3ZUPQIZ_cjs.jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,u=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=chunkW3ZUPQIZ_cjs.jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&chunkW3ZUPQIZ_cjs._c(s,{hasSeparate:u,hasLegacyFormData:p,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&l!==D){let x=i??r;x&&o.add(x);}}chunkW3ZUPQIZ_cjs.nb(n);}continue}if(d.namespaceUri===chunkT4TKRNZT_cjs.fa&&(d.localName==="instrText"||d.localName==="delInstrText")){chunkW3ZUPQIZ_cjs.lb(n,Ot(d),d.localName==="delInstrText");continue}n.nesting>0&&chunkW3ZUPQIZ_cjs.ob(n)&&d.namespaceUri===chunkT4TKRNZT_cjs.fa&&Et(d)&&(l|=y);for(let f=d.children.length-1;f>=0;f-=1){let h=d.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&St(d),containerDepth:chunkT4TKRNZT_cjs.oa(d,R)});}}chunkW3ZUPQIZ_cjs.ib(n);}function Et(e){return e.localName==="t"||e.localName==="delText"?Ot(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ue=1,bt=2,Rt=4,D=ue|bt|Rt;function fo(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunkT4TKRNZT_cjs.fa&&n.localName==="p")){if(n.namespaceUri===chunkT4TKRNZT_cjs.fa&&Et(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&St(n)});}}return t}function St(e){return e.namespaceUri!==chunkT4TKRNZT_cjs.fa?D:e.localName==="ins"||e.localName==="moveTo"?ue|bt:e.localName==="del"||e.localName==="moveFrom"?ue|Rt:D}function mo(e){let o=new Map,t=n=>{let r=chunk6CPYOVRT_cjs.a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===co&&t(chunkW3ZUPQIZ_cjs._b),i.namespaceUri===chunkT4TKRNZT_cjs.fa&&i.localName==="sym"&&t(chunk6CPYOVRT_cjs.b(oo(i,"font"))),i.namespaceUri===chunkT4TKRNZT_cjs.fa&&i.localName==="fldSimple"){let s=ce(i,"instr");t(chunkW3ZUPQIZ_cjs.Vc(s??"")?.font??null);}if(i.namespaceUri===chunkT4TKRNZT_cjs.fa&&i.localName==="p")for(let s of chunkDF7F7TNU_cjs.u(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Ot(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var At="FILE_TOO_LARGE",vt=8;function yo(e){return typeof e=="object"&&e!==null}function Tt(e){if(!(!yo(e)||typeof e.code!="string"))return e.code}function Lt(e){return e===""||e.toLowerCase()==="localhost"}function ho(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function Pt(e){let o=ho(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Dt(e){let o=Pt(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function go(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function xo(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!Lt(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Dt(o.pathname);if(t===null||go(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function Fo(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Eo(e){let o=Fo(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>vt)throw new TypeError(`trustedRoot must not exceed ${vt} directories`);return o.map(xo)}function bo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunkW3ZUPQIZ_cjs.b)throw new TypeError(`maxBytes must not exceed ${chunkW3ZUPQIZ_cjs.b}`);return e}function Ro(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!Lt(e.host))return null;let t=Pt(e.pathname);if(t===null)return null;for(let n of o){let r=Dt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function So(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Oo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function wt(e,o,t){return e.some(n=>Oo(n,o,t))}async function vo(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(Tt(r)==="ENOENT")continue;throw r}return t}function wo(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},u]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),p=e.map(y=>u.resolve(a(y.href))),l=u.resolve(a(typeof o=="string"?o:o.href));if(!wt(p,l,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",d=await r(l,g),c=()=>{d.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(l);if(!wt(await vo(p,i),y,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await d.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:At});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await d.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await d.close().catch(()=>{});}}}function Ao(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Eo(e.trustedRoot),t=bo(e.maxBytes),n=e.read??wo(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let u=So(i);if(u.protocol!=="file:")return r(u,s);let p=Ro(u,o);if(!p)return new Response(null,{status:404});let l=a?new AbortController:void 0,g=()=>l?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let d;try{if(d=await n(p,{maxBytes:t,...l?{signal:l.signal}:{}}),a?.aborted)throw a.reason;if(d.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(l?.signal.aborted)throw l.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=Tt(c);if(y===At)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(d,{status:200})})}
2
- Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return chunkZSM6X52G_cjs.d}});Object.defineProperty(exports,"createNodeImageDecodePort",{enumerable:true,get:function(){return chunkZSM6X52G_cjs.c}});Object.defineProperty(exports,"exportDestinationNamed",{enumerable:true,get:function(){return chunkZSM6X52G_cjs.b}});Object.defineProperty(exports,"openDocumentForExport",{enumerable:true,get:function(){return chunkZSM6X52G_cjs.e}});exports.MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS=le;exports.acquireSharedExportShaping=Kt;exports.createPackagedFileFetch=Ao;exports.hasExportAdmittedFont=ee;exports.hasExportLaidOutText=ie;exports.hasFontBackedExportCapabilities=eo;exports.openFontBackedDocumentForExport=no;
1
+ 'use strict';var chunkLZDI4P6I_cjs=require('./chunk-LZDI4P6I.cjs'),chunkTKR2MXX4_cjs=require('./chunk-TKR2MXX4.cjs'),chunkJNTETUNZ_cjs=require('./chunk-JNTETUNZ.cjs'),chunkUJL2GDIM_cjs=require('./chunk-UJL2GDIM.cjs'),chunkAGKIHLWQ_cjs=require('./chunk-AGKIHLWQ.cjs');require('./chunk-CYT3OQFZ.cjs');var chunkSUN62YU6_cjs=require('./chunk-SUN62YU6.cjs'),chunkANZ44KQT_cjs=require('./chunk-ANZ44KQT.cjs');function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],R=[],b="",f=u.start;for(let F of u.text){let m=u.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:chunkUJL2GDIM_cjs.n(g+Math.round(m.originX*c)),originY:chunkUJL2GDIM_cjs.n(Math.round(m.originY*c)),offsetX:chunkUJL2GDIM_cjs.n(Math.round(m.offsetX*c)),offsetY:chunkUJL2GDIM_cjs.n(Math.round(m.offsetY*c)),advanceX:chunkUJL2GDIM_cjs.n(Math.round(m.advanceX*c)),advanceY:chunkUJL2GDIM_cjs.n(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??u.start,E=R[F.textEnd-1]??f,T=chunkUJL2GDIM_cjs.n(Math.round(F.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:chunkUJL2GDIM_cjs.n(A.advance+T),caretEdges:[chunkUJL2GDIM_cjs.n(0),chunkUJL2GDIM_cjs.n(A.advance+T)]}:p.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:T,caretEdges:F.caretEdges.map(G=>chunkUJL2GDIM_cjs.n(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var st=new WeakMap;function Ut(e){let o=st.get(e);return o===void 0&&(o=zt(e.bytes,e.faceIndex),st.set(e,o)),o}var Bt=new Set(["COLR","CBDT","sbix"]),qt=512;function zt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(lt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),qt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(Bt.has(lt(e,s)))return true}return false}function lt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var jt=/\p{Emoji_Presentation}|️/u;function Ht(e){return jt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Ut);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Ht(o)?[...t,...n]:[...n,...t]}var Xt=2048;function dt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Xt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:chunkUJL2GDIM_cjs.p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),T=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!T)return null;s.set(x,T),h=T;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p=[],l=[],d=[],g=true,u=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunkUJL2GDIM_cjs.n(u+m.originX),originY:chunkUJL2GDIM_cjs.n(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&l.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return chunkUJL2GDIM_cjs.s({...t,glyphs:a,clusters:p,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:chunkUJL2GDIM_cjs.n(y),descent:chunkUJL2GDIM_cjs.n(R),lineGap:chunkUJL2GDIM_cjs.n(b)}},{...o.environment,fallbackOrder:n})}var Gt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),Vt=512,ut=new WeakMap;function Wt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,Vt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Yt(e,o){let t=ut.get(e);return t||(t=Wt(e.bytes,e.faceIndex),ut.set(e,t)),(Gt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function ct(e,o){let t=e.filter(n=>Yt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunkUJL2GDIM_cjs.s({...i,text:o.text},o.environment)}catch{return t}}function pt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunkUJL2GDIM_cjs.d)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,J(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p)=>{let l=_(n,a,p);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=dt(n,a,l,t);if(d)return d}for(let d of ct(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunkUJL2GDIM_cjs.p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var Q=chunkUJL2GDIM_cjs.b;function ee(e){return typeof e.admittedFontFace=="function"}var $t=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ft=new WeakMap;function j(e){let o=ft.get(e);return o||ft.set(e,o=Kt(e)),o}function Kt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Zt(e){return Object.freeze({...j(e),bytes:chunkUJL2GDIM_cjs.i(e)})}function Jt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunkUJL2GDIM_cjs.d?null:Zt(t)}catch{return null}}function mt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Jt(e.resolve(),o)}}function Qt(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of $t){let d=n?.({family:a,...l});!d||d instanceof chunkUJL2GDIM_cjs.d||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:Qt(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof chunkLZDI4P6I_cjs.l))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof chunkLZDI4P6I_cjs.m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new chunkJNTETUNZ_cjs.d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunkUJL2GDIM_cjs.h(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunkUJL2GDIM_cjs.d?null:s}function yt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunkUJL2GDIM_cjs.ra(n.style,n.fontSlot),i=chunkUJL2GDIM_cjs.cc(n)?chunkUJL2GDIM_cjs.dc(n):chunkUJL2GDIM_cjs._(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!chunkTKR2MXX4_cjs.$(e.shaper,e.environment,a,r,t))return null;let p=chunkTKR2MXX4_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function ht(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,M,le=32,gt=chunkUJL2GDIM_cjs.c;function xt(){if(M)return M;let e=(async()=>(await chunkTKR2MXX4_cjs.d(),chunkTKR2MXX4_cjs.h(chunkTKR2MXX4_cjs.i)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Ft(e){let o=H();return chunkTKR2MXX4_cjs.ba(e,{resolveFont(t){return yt(e,o,t)},fallback:chunkUJL2GDIM_cjs.ea()})}async function Et(e,o,t=[],n=false){if(!chunkTKR2MXX4_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await xt(),i=pt(await chunkTKR2MXX4_cjs.r(e,r,chunkTKR2MXX4_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>Ft(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunkUJL2GDIM_cjs.da}`].join("|"),extensionFingerprint:e.fingerprint})}function eo(e,o){if(!chunkTKR2MXX4_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=chunkTKR2MXX4_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=chunkTKR2MXX4_cjs.l(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>gt)throw new RangeError(`Shared exporter shaping font bytes are limited to ${gt} process-wide`);se+=p;let l;try{let d=await xt();l=await chunkTKR2MXX4_cjs.r(e,d,chunkTKR2MXX4_cjs.i,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Ft(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunkUJL2GDIM_cjs.da}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var to="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function oo(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===to),n;if(t){let r=chunkANZ44KQT_cjs.E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunkANZ44KQT_cjs.Se(o,n)}function bt(e,o){let t=oo(e);if(t.length!==0)return chunkLZDI4P6I_cjs.j(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunkUJL2GDIM_cjs.h(s))),i=chunkLZDI4P6I_cjs.r(t,{maxFontBytes:chunkUJL2GDIM_cjs.a,aggregateBudget:no(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function no(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunkUJL2GDIM_cjs.c:Math.max(0,chunkUJL2GDIM_cjs.c-o)}function ro(e){return ee(e)&&ie(e)}var w=0,Rt=Symbol("font-resolution-timeout");function io(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunkUJL2GDIM_cjs.c)throw new chunkJNTETUNZ_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunkUJL2GDIM_cjs.c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function ao(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunkANZ44KQT_cjs.fa||t.namespaceUri===""))?.value}async function so(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkSUN62YU6_cjs.ab(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await lo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunkJNTETUNZ_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunkJNTETUNZ_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=chunkJNTETUNZ_cjs.e(t.view,{...d,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new chunkJNTETUNZ_cjs.d("aborted","Export resource settlement was aborted"):new chunkJNTETUNZ_cjs.d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:mt({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:ht({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function lo(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=uo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(Rt),n);try{de(r.signal);let a=(async()=>{let p=io(t.onActiveFontBytesChange),l=!1;try{let d=po(e).slice(0,chunkLZDI4P6I_cjs.c),g=[],u={dropped:[]},c=bt(e,u),y=[...o,...c?[c]:[],...t.lastResortFonts??[]],R=await chunkLZDI4P6I_cjs.o(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...d])].slice(0,chunkLZDI4P6I_cjs.c),defaultFamily:chunkLZDI4P6I_cjs.d.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:chunkTKR2MXX4_cjs.i.maxFontBytes});de(r.signal);let b=chunkLZDI4P6I_cjs.f(R??{});if(b.sources.length===0){let x=te(d,b.defaultFont.family,g,void 0,u.dropped);oe(x,t),ne(x,t,t.glyphFallbacks);return}let f=await Et(chunkTKR2MXX4_cjs.o(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(d,b.defaultFont.family,g,f.resolveFont,u.dropped);return oe(h,t),ne(h,t,t.glyphFallbacks),l=!0,Object.freeze({...f,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,co(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function uo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function co(e){return new Promise((o,t)=>{let n=()=>{t(St(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function St(e){let o=e.reason===Rt;return new chunkJNTETUNZ_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw St(e)}function po(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...fo(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=chunkAGKIHLWQ_cjs.d(d,e.stylesRoot(),a,yo(d,g)),c=chunkLZDI4P6I_cjs.y(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...xo(d),...c,...chunkLZDI4P6I_cjs.v(d,e.stylesRoot(),a),...u.inherited]){let R=y.toLowerCase();p.has(R)||p.set(R,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function fo(e,o){let t=chunkANZ44KQT_cjs.Ig(e.currentPackage(),o);if(!t)return [];let n=new Set(chunkANZ44KQT_cjs.Jg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunkANZ44KQT_cjs.kc(i),a=chunkANZ44KQT_cjs.jc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var mo="http://schemas.openxmlformats.org/officeDocument/2006/math";function yo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunkANZ44KQT_cjs.fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===chunkANZ44KQT_cjs.fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)ho(s.paragraph,t,s.context);}return t}function ho(e,o,t){let n=chunkUJL2GDIM_cjs.ib(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=chunkANZ44KQT_cjs.oa||u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="p")continue;let b=u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="r"?u.id:c;if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";chunkUJL2GDIM_cjs.dd(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&go(u)!==D&&o.add(u.id);}if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")chunkUJL2GDIM_cjs.lb(n),n.nesting===1&&(r=b,i=null,s="",a=false,p=false,l=chunkANZ44KQT_cjs.ff(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(chunkUJL2GDIM_cjs.nb(n),h){let x=chunkUJL2GDIM_cjs.kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=chunkUJL2GDIM_cjs.kb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&chunkUJL2GDIM_cjs.cd(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let x=i??r;x&&o.add(x);}}chunkUJL2GDIM_cjs.ob(n);}continue}if(u.namespaceUri===chunkANZ44KQT_cjs.fa&&(u.localName==="instrText"||u.localName==="delInstrText")){chunkUJL2GDIM_cjs.mb(n,Lt(u),u.localName==="delInstrText");continue}n.nesting>0&&chunkUJL2GDIM_cjs.pb(n)&&u.namespaceUri===chunkANZ44KQT_cjs.fa&&Ot(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&At(u),containerDepth:chunkANZ44KQT_cjs.pa(u,R)});}}chunkUJL2GDIM_cjs.jb(n);}function Ot(e){return e.localName==="t"||e.localName==="delText"?Lt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,vt=2,wt=4,D=ce|vt|wt;function go(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunkANZ44KQT_cjs.fa&&n.localName==="p")){if(n.namespaceUri===chunkANZ44KQT_cjs.fa&&Ot(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&At(n)});}}return t}function At(e){return e.namespaceUri!==chunkANZ44KQT_cjs.fa?D:e.localName==="ins"||e.localName==="moveTo"?ce|vt:e.localName==="del"||e.localName==="moveFrom"?ce|wt:D}function xo(e){let o=new Map,t=n=>{let r=chunkAGKIHLWQ_cjs.a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===mo&&t(chunkUJL2GDIM_cjs.ac),i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="sym"&&t(chunkAGKIHLWQ_cjs.b(ao(i,"font"))),i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="fldSimple"){let s=ue(i,"instr");t(chunkUJL2GDIM_cjs.Zc(s??"")?.font??null);}if(i.namespaceUri===chunkANZ44KQT_cjs.fa&&i.localName==="p")for(let s of chunkLZDI4P6I_cjs.x(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Lt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var Dt="FILE_TOO_LARGE",Tt=8;function Fo(e){return typeof e=="object"&&e!==null}function kt(e){if(!(!Fo(e)||typeof e.code!="string"))return e.code}function It(e){return e===""||e.toLowerCase()==="localhost"}function Eo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function _t(e){let o=Eo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Nt(e){let o=_t(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function bo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function Ro(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!It(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Nt(o.pathname);if(t===null||bo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function So(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Oo(e){let o=So(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>Tt)throw new TypeError(`trustedRoot must not exceed ${Tt} directories`);return o.map(Ro)}function vo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunkUJL2GDIM_cjs.a)throw new TypeError(`maxBytes must not exceed ${chunkUJL2GDIM_cjs.a}`);return e}function wo(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!It(e.host))return null;let t=_t(e.pathname);if(t===null)return null;for(let n of o){let r=Nt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Ao(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Lo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function Pt(e,o,t){return e.some(n=>Lo(n,o,t))}async function To(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(kt(r)==="ENOENT")continue;throw r}return t}function Po(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!Pt(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!Pt(await To(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await u.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:Dt});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function Do(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Oo(e.trustedRoot),t=vo(e.maxBytes),n=e.read??Po(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Ao(i);if(p.protocol!=="file:")return r(p,s);let l=wo(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=kt(c);if(y===Dt)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
2
+ Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return chunkJNTETUNZ_cjs.d}});Object.defineProperty(exports,"createNodeImageDecodePort",{enumerable:true,get:function(){return chunkJNTETUNZ_cjs.c}});Object.defineProperty(exports,"exportDestinationNamed",{enumerable:true,get:function(){return chunkJNTETUNZ_cjs.b}});Object.defineProperty(exports,"openDocumentForExport",{enumerable:true,get:function(){return chunkJNTETUNZ_cjs.e}});exports.MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS=le;exports.acquireSharedExportShaping=eo;exports.createPackagedFileFetch=Do;exports.hasExportAdmittedFont=ee;exports.hasExportLaidOutText=ie;exports.hasFontBackedExportCapabilities=ro;exports.openFontBackedDocumentForExport=so;
package/dist/export.d.ts CHANGED
@@ -1,18 +1,18 @@
1
- import { P as PreservedImageMime, I as ImageResourceLimits, S as SupportedImageMime, a as ImageDecodePort } from './image-resources-DkuzBnTM.js';
2
- import { a as RevisionDisplayMode } from './revision-projection-CVJeA2jp.js';
3
- import { S as SemanticLayout, j as SemanticReviewArtifactRecord, I as InlineDrawingRecord, A as AnchoredDrawingRecord, k as ListMarkerPictureRecord, T as TextMeasurer, i as FontRequest, l as FontSubstitution, m as ShapedRun, a as StyleSpanRecord } from './semantic-records-BSjo-xck.js';
4
- import { D as DocumentProperties, H as HeadlessDocumentView, a as HeadlessDocumentRejection } from './headless-document-view-Cc3fFWhv.js';
5
- import { P as PreparedLayoutFontConfiguration, L as LayoutShapingInstrumentation } from './layout-shaping-BOOxnLxF.js';
6
- import { F as FontOriginFailure, a as FontOrigin } from './font-resolver-CPO7wtg6.js';
7
- import './types-barrel-DN_-gaRX.js';
1
+ import { P as PreservedImageMime, I as ImageResourceLimits, S as SupportedImageMime, a as ImageDecodePort } from './image-resources-DfagDguq.js';
2
+ import { a as RevisionDisplayMode } from './revision-projection-DfWxdBqA.js';
3
+ import { S as SemanticLayout, j as SemanticReviewArtifactRecord, I as InlineDrawingRecord, A as AnchoredDrawingRecord, k as ListMarkerPictureRecord, T as TextMeasurer, i as FontRequest, l as FontSubstitution, m as ShapedRun, a as StyleSpanRecord } from './semantic-records-COqi8pjP.js';
4
+ import { D as DocumentProperties, H as HeadlessDocumentView, a as HeadlessDocumentRejection } from './headless-document-view-R9bzzepb.js';
5
+ import { P as PreparedLayoutFontConfiguration, L as LayoutShapingInstrumentation } from './layout-shaping-DWitwY73.js';
6
+ import { F as FontOriginFailure, a as FontOrigin } from './font-resolver-u_nE0PI1.js';
7
+ import './types-barrel-BO73JqHG.js';
8
8
  import './editor-scope-OHPwVQ5l.js';
9
- import './omml-equation-BY7OdfGY.js';
10
- import './tree-package-fragment-BIyGh6L8.js';
11
- import './editor-BU6rjQZz.js';
9
+ import './omml-equation-CZ6IG2ja.js';
10
+ import './tree-package-fragment-YPyYC1aD.js';
11
+ import './editor-DYUlyKmb.js';
12
12
  import './contracts/document.js';
13
13
  import './contracts/interaction.js';
14
- import './semantic-interaction-COMnWyBQ.js';
15
- import './document-protection-CYIjO-li.js';
14
+ import './semantic-interaction-CvFAj0GR.js';
15
+ import './document-protection-Bp19Ad4I.js';
16
16
  import './failure-BIPVQbRm.js';
17
17
 
18
18
  /** Source content that cannot be certified by the layout snapshot. @public */