pptx-react-viewer 4.36.3 → 4.38.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 (70) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/{chunk-F76MGAHF.mjs → chunk-3SFBCFHJ.mjs} +43 -6
  3. package/dist/chunk-3SFBCFHJ.mjs.br +0 -0
  4. package/dist/chunk-3SFBCFHJ.mjs.gz +0 -0
  5. package/dist/{chunk-JPVT7TY7.mjs → chunk-LLH3I2XY.mjs} +630 -677
  6. package/dist/chunk-LLH3I2XY.mjs.br +0 -0
  7. package/dist/chunk-LLH3I2XY.mjs.gz +0 -0
  8. package/dist/{chunk-VCRUM3NE.js → chunk-Q5WEQ37H.js} +1621 -1668
  9. package/dist/chunk-Q5WEQ37H.js.br +0 -0
  10. package/dist/chunk-Q5WEQ37H.js.gz +0 -0
  11. package/dist/{chunk-ODFNNB5X.js → chunk-TCEDOLGE.js} +42 -4
  12. package/dist/chunk-TCEDOLGE.js.br +0 -0
  13. package/dist/chunk-TCEDOLGE.js.gz +0 -0
  14. package/dist/i18n/de.cjs +142 -8
  15. package/dist/i18n/de.cjs.br +0 -0
  16. package/dist/i18n/de.cjs.gz +0 -0
  17. package/dist/i18n/de.mjs +142 -8
  18. package/dist/i18n/de.mjs.br +0 -0
  19. package/dist/i18n/de.mjs.gz +0 -0
  20. package/dist/i18n/es.cjs +142 -8
  21. package/dist/i18n/es.cjs.br +0 -0
  22. package/dist/i18n/es.cjs.gz +0 -0
  23. package/dist/i18n/es.mjs +142 -8
  24. package/dist/i18n/es.mjs.br +0 -0
  25. package/dist/i18n/es.mjs.gz +0 -0
  26. package/dist/i18n/fr.cjs +142 -8
  27. package/dist/i18n/fr.cjs.br +0 -0
  28. package/dist/i18n/fr.cjs.gz +0 -0
  29. package/dist/i18n/fr.mjs +142 -8
  30. package/dist/i18n/fr.mjs.br +0 -0
  31. package/dist/i18n/fr.mjs.gz +0 -0
  32. package/dist/i18n/zh-CN.cjs +143 -9
  33. package/dist/i18n/zh-CN.cjs.br +0 -0
  34. package/dist/i18n/zh-CN.cjs.gz +0 -0
  35. package/dist/i18n/zh-CN.mjs +143 -9
  36. package/dist/i18n/zh-CN.mjs.br +0 -0
  37. package/dist/i18n/zh-CN.mjs.gz +0 -0
  38. package/dist/index.d.ts +21 -5
  39. package/dist/index.js +22 -22
  40. package/dist/index.js.br +0 -0
  41. package/dist/index.js.gz +0 -0
  42. package/dist/index.mjs +2 -2
  43. package/dist/index.mjs.br +0 -0
  44. package/dist/index.mjs.gz +0 -0
  45. package/dist/internals.d.ts +34 -30
  46. package/dist/internals.js +80 -80
  47. package/dist/internals.js.br +0 -0
  48. package/dist/internals.js.gz +0 -0
  49. package/dist/internals.mjs +1 -1
  50. package/dist/internals.mjs.br +0 -0
  51. package/dist/internals.mjs.gz +0 -0
  52. package/dist/pptx-viewer.css +1 -1
  53. package/dist/pptx-viewer.css.br +0 -0
  54. package/dist/pptx-viewer.css.gz +0 -0
  55. package/dist/viewer/index.d.ts +17 -3
  56. package/dist/viewer/index.js +17 -17
  57. package/dist/viewer/index.js.br +0 -0
  58. package/dist/viewer/index.js.gz +0 -0
  59. package/dist/viewer/index.mjs +2 -2
  60. package/dist/viewer/index.mjs.br +0 -0
  61. package/dist/viewer/index.mjs.gz +0 -0
  62. package/package.json +3 -3
  63. package/dist/chunk-F76MGAHF.mjs.br +0 -0
  64. package/dist/chunk-F76MGAHF.mjs.gz +0 -0
  65. package/dist/chunk-JPVT7TY7.mjs.br +0 -0
  66. package/dist/chunk-JPVT7TY7.mjs.gz +0 -0
  67. package/dist/chunk-ODFNNB5X.js.br +0 -0
  68. package/dist/chunk-ODFNNB5X.js.gz +0 -0
  69. package/dist/chunk-VCRUM3NE.js.br +0 -0
  70. package/dist/chunk-VCRUM3NE.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,64 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs releases whenever any published file changes, not only on
8
8
  conventional commits.
9
9
 
10
+ ## [4.38.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.38.0) - 2026-10-15
11
+
12
+ ### Features
13
+
14
+ - **chart:** Draw combination, waterfall and histogram charts ([ae79ec2](https://github.com/ChristopherVR/ooxml/commit/ae79ec24da6576a4497fcc4fce0b444be436dcc1))
15
+ - **chart:** Draw bubble, stock, treemap and sunburst charts ([94a4240](https://github.com/ChristopherVR/ooxml/commit/94a424016e799722b22205f87b17e68fd5d5f816))
16
+ - **xlsx:** Draw bubble, stock, treemap and sunburst charts from live cells ([11a4b36](https://github.com/ChristopherVR/ooxml/commit/11a4b367b7e116590c60d8eaccbf051563ae5c97))
17
+ - **chart:** Honour stock bar formatting, draw volume stock, pad bubble axes ([614fc42](https://github.com/ChristopherVR/ooxml/commit/614fc421668e707be211c37658ea76681174eed5))
18
+ - **math:** Draw equations as SVG and write them to Office Math ([cf5d2c0](https://github.com/ChristopherVR/ooxml/commit/cf5d2c09691aea6434a35a23d8116d888a79f320))
19
+ - **automation:** Build word, excel and powerpoint files from outlines ([eda7e9e](https://github.com/ChristopherVR/ooxml/commit/eda7e9e7e5739764d2de03f93a71dcb7a268a78a))
20
+ - **automation:** Suggest word edits as tracked changes, read all cells ([0fdfd3a](https://github.com/ChristopherVR/ooxml/commit/0fdfd3ae752d605db5171d66b2355f8a25e85054))
21
+ - **pptx:** Host regions and capabilities in every binding ([18547f6](https://github.com/ChristopherVR/ooxml/commit/18547f6768fff10d8d8999ef109ef5381add8795))
22
+ - **pptx:** Close binding props drift and guard prop parity ([167802e](https://github.com/ChristopherVR/ooxml/commit/167802e036f62e4c0dd23144a45ae1618eefd007))
23
+ - **pptx:** Host dialog.options in the shared options dialog ([770e85b](https://github.com/ChristopherVR/ooxml/commit/770e85bed0d3bb0b61da4a34fb31591bfc6070e1))
24
+ - **chart:** Model series trendlines and error bars ([bd885ce](https://github.com/ChristopherVR/ooxml/commit/bd885ce5b90b318232363f1d801461ef0bce053e))
25
+ - **chart:** Fit trendlines and size error bars in data space ([1023d6f](https://github.com/ChristopherVR/ooxml/commit/1023d6f892c4534af9e83b34c638c17d26079bef))
26
+ - **chart:** Draw trendlines and error bars in the shared painter ([dcce901](https://github.com/ChristopherVR/ooxml/commit/dcce901233ca1c72580b094c243125c837961b17))
27
+ - **ui:** Lay out the PowerPoint Insert tab as Office does ([55aef8a](https://github.com/ChristopherVR/ooxml/commit/55aef8a30fd3ad7eabf0f2c4f1bd2fa3d8b0f49c))
28
+ - **ui:** Scale the Insert tab like Office and add the Table grid ([e6f5dcc](https://github.com/ChristopherVR/ooxml/commit/e6f5dcc7f050f184de46af1ed07bed16ff6dc446))
29
+
30
+ ### Bug Fixes
31
+
32
+ - **opc:** Stop reporting digest checks as a valid signature ([9b3cac4](https://github.com/ChristopherVR/ooxml/commit/9b3cac4c24c3a2fd17693fa253ceea6970ca0fe7))
33
+ - **pptx:** Guard OCSP responder requests against SSRF ([b223ee0](https://github.com/ChristopherVR/ooxml/commit/b223ee0f2ac593f3b3ac2ec1c452724be4a3fd07))
34
+ - **opc:** Guard zip reads against forged sizes and unsafe part names ([39294e9](https://github.com/ChristopherVR/ooxml/commit/39294e97d434e7132a22e39930d262a0d0b281da))
35
+ - **digest:** Add timingSafeEqual and a 1M default spin limit ([5efd9c9](https://github.com/ChristopherVR/ooxml/commit/5efd9c95dcb2fa1b5e8d830333b9dce5d253e816))
36
+ - **crypto:** Harden agile and standard decryption against hostile input ([b1e7be5](https://github.com/ChristopherVR/ooxml/commit/b1e7be51db6aee35ed91dfcf143a3710d199308a))
37
+ - **automation:** Confine file io by realpath with relative results ([3b0340f](https://github.com/ChristopherVR/ooxml/commit/3b0340fa753c4fa0c483c0715c19693bd5b40b4e))
38
+ - **xml:** Bound nesting depth and element count in parseXml ([7441f60](https://github.com/ChristopherVR/ooxml/commit/7441f60925b128da24500833aecb5936d24ee024))
39
+ - **opc:** Match attribute names exactly and accept single quotes ([9220247](https://github.com/ChristopherVR/ooxml/commit/922024743255a61b6f39b2ef231dffc533da8b14))
40
+ - **math:** Cap LaTeX and OMML nesting and use null-prototype sibling maps ([553cd72](https://github.com/ChristopherVR/ooxml/commit/553cd7232a58d7b979f5065e35d1e9f31c2d48fc))
41
+ - **diagram:** Null-prototype layout variables and a presentation node budget ([572bf71](https://github.com/ChristopherVR/ooxml/commit/572bf71479c24389793db22dc80f056e090d4264))
42
+ - **chart:** Match Excel for extended chart text, labels and fills ([9514ba1](https://github.com/ChristopherVR/ooxml/commit/9514ba19f9624b205da5a64b2ea6f32ea3355d65))
43
+ - **geometry:** Draw the wedge callout presets as ECMA-376 defines them ([2a4f2b0](https://github.com/ChristopherVR/ooxml/commit/2a4f2b0b100040a5ab1352f6d36f6a5e64d82a58))
44
+ - **math:** Draw the minus sign and space only a binary one ([1620cb0](https://github.com/ChristopherVR/ooxml/commit/1620cb00486131c99437dc13259b5d82c5d7d63f))
45
+ - **geometry:** Keep the oval callout on its ellipse ([a98b010](https://github.com/ChristopherVR/ooxml/commit/a98b010ba274ae857d2bd3bc618761a1dce4bb39))
46
+ - **svelte:** Translate the chart section and lead with its title ([1a102b6](https://github.com/ChristopherVR/ooxml/commit/1a102b60aeb7def69f05fd2d5d0b18286467cd46))
47
+ - **react:** Name chart data grid cells through the translator ([4d96bdd](https://github.com/ChristopherVR/ooxml/commit/4d96bdd20b7eb4ac65c42b6ddaff32501f6f8d09))
48
+
49
+ ### Refactor
50
+
51
+ - **pptx:** Drop the unused jszip import from the chart parser ([66f67dc](https://github.com/ChristopherVR/ooxml/commit/66f67dcb464a61015ea3b56fcc6578a29e7016a5))
52
+ - **chart:** Move waterfall steps and range into the chart area ([b6fa22a](https://github.com/ChristopherVR/ooxml/commit/b6fa22a987d40b63f3369868083435eba35afa83))
53
+ - **pptx:** Open file > options through the shared options dialog ([d6d4fba](https://github.com/ChristopherVR/ooxml/commit/d6d4fbad29c6d0f7ccf5ce676fa8ca3a2e8c0ae6))
54
+ - **chart:** Move number formats, palettes, axis labels, auto title to core ([26bde03](https://github.com/ChristopherVR/ooxml/commit/26bde036faed3663e9a037b8e755e5c517202263))
55
+ - **chart:** Move bubble, stock, treemap and sunburst geometry to core ([a465fa6](https://github.com/ChristopherVR/ooxml/commit/a465fa63dfd1f15c67a22a97fa5ed9c97d2965e8))
56
+ - **pptx:** Read chart trendlines and error bars from core model ([fa53d97](https://github.com/ChristopherVR/ooxml/commit/fa53d97b442df87b60ac1be85f5e4480bb8fec7a))
57
+
58
+ ### Chores
59
+
60
+ - **ui:** Drop an unused chart import and clarify the note lookup ([76ed6f1](https://github.com/ChristopherVR/ooxml/commit/76ed6f1bbd263129a0d3950119a8f062ba020d9f))
61
+
62
+ ## [4.37.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.37.0) - 2026-10-15
63
+
64
+ ### Features
65
+
66
+ - **ui:** Add pptx table layout tab and review comment navigation ([325ab16](https://github.com/ChristopherVR/ooxml/commit/325ab1613592c633a6d1291ecee7d05478e40485))
67
+
10
68
  ## [4.36.3](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-react-viewer@4.36.3) - 2026-10-14
11
69
 
12
70
  ### Bug Fixes
@@ -1,4 +1,4 @@
1
- import { dist_exports, normalizeHexColor, DEFAULT_STROKE_COLOR, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getAriaRoleDescription, getAriaLabel, getAriaRole, isEditableTextElement, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageEffectsOpacity, getImageEffectsFilter, getImageRenderStyle, cn, ACTION_BUTTON_PRESETS, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getElementLabel, DEFAULT_FILL_COLOR, buildCssGradientFromShapeStyle, getCropShapeClipPath, getElementTransform, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, isImageTiled, getDuotoneColors, getTextWarpStyle, getTextCompensationTransform, renderTextSegments, buildReactChartViewModel, renderChartElement, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, MIN_ELEMENT_SIZE, buildTextBody3DSceneStyle, getImageTilingStyle, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, substituteFieldText, HYPERLINK_COLOR, cloneTemplateElementsBySlideId, cloneSlide, cloneHistorySnapshot, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, isTemplateElementId, comparePresentation, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, stopAllPersistentAudio, buildSaveSlides, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, makeCloneId, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, buildPdfFromTiledImageData, GRID_SIZE, copyFormatFromElement, hasCopyableFormat, rerouteConnectorsForMovedElements, applyReroutedConnectors, splitCell, mergeCells, buildNotesPdf, canvasToJpegData, applyFormatToElement, isPpactionUrl, parsePpactionUrl, isUrlSafe, computeSnapToShape, safeOpenUrl as safeOpenUrl$1 } from './chunk-UC2VQORY.mjs';
1
+ import { dist_exports, normalizeHexColor, DEFAULT_STROKE_COLOR, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getAriaRoleDescription, getAriaLabel, getAriaRole, isEditableTextElement, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageEffectsOpacity, getImageEffectsFilter, getImageRenderStyle, cn, ACTION_BUTTON_PRESETS, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getElementLabel, DEFAULT_FILL_COLOR, buildCssGradientFromShapeStyle, getCropShapeClipPath, getElementTransform, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, isImageTiled, getDuotoneColors, getTextWarpStyle, getTextCompensationTransform, renderTextSegments, buildReactChartViewModel, renderChartElement, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, MIN_ELEMENT_SIZE, buildTextBody3DSceneStyle, getImageTilingStyle, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, substituteFieldText, HYPERLINK_COLOR, cloneTemplateElementsBySlideId, cloneSlide, cloneHistorySnapshot, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, isTemplateElementId, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, comparePresentation, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, stopAllPersistentAudio, buildSaveSlides, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, makeCloneId, buildPdfFromTiledImageData, GRID_SIZE, copyFormatFromElement, hasCopyableFormat, rerouteConnectorsForMovedElements, applyReroutedConnectors, splitCell, mergeCells, buildNotesPdf, canvasToJpegData, applyFormatToElement, isPpactionUrl, parsePpactionUrl, isUrlSafe, computeSnapToShape, safeOpenUrl as safeOpenUrl$1 } from './chunk-UC2VQORY.mjs';
2
2
  import { GlyphOutlineFontCache, createGlyphOutlineLookup, DEFAULT_VIEWER_OPTIONS, TOOLBAR_TABS, defineThreeViewElement, getSelectionControlArtworkStyle, svgLineCap, getSelectionOutlineColor, screenStrokeWidth, connectorWrapperTransform, resolveElementInteractivity, getBackgroundAnimationState, getShapeEffectLayerPlacement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, isMediaFullscreenActive, shouldRenderHitTarget, elementHitTargetStyle, getShapeEffectAnimationLayerStyle, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, mediaTransportVisible, oleActionsVisible, getGroupChildParentFill, getResizeHandleHitAreaStyle, paintedStrokeWidth, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, paintedElementSize, MEDIA_FULLSCREEN_OVERLAY_STYLE, elementContainerHeightStyle, getAnimationOpacity, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, strokeOutlineViewBox, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, getImageColorWashStyle, readEditableText, placeCaretAt, takePendingCaretPoint, getPendingSelectionRestore, restoreSegmentSelection, mapInlineTextFormatKey, mapInlineEditorChord, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, getAriaRoleDescription as getAriaRoleDescription$1, getAriaLabel as getAriaLabel$1, attachRotateHandlePlacement, elementIdSelector, createRotationDrag, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, SMARTART_DEFAULT_PALETTE, resolvePalette as resolvePalette$1, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, measureSvgViewportRect, modelDataToBlobUrl, resolveZoomNavigationTarget, getImageSvgFilters, getCachedNativeImageSize, probeNativeImageSize, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, inlineListBodyText, createInlineListSeed, readListActivationSelection, createInlineListModelObserver, attachCollaborationInlineEditor, bindInlineListParagraph, bindInlineListRun, attachInlineListController, restoreInlineListBodySelection, getInlineEditorSelectionResult, isBulletMarkerSegment, resolveChartThreeViewSpec, applyChart3DDrag, applyChart3DSelect, findChartPartTarget, withChartTitle, resolveSmartArtThreeViewSpec, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, hasGlyphEnvelope, buildGlyphEnvelopeBlock, getWarpPath, isWedgeCalloutPresetShape, getAriaRole as getAriaRole$1, isElementActionable, centeredSvgTextLines, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, advanceChartMarkDrag, advanceChartValueDrag, resolveChartKind, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, commitSmartArtNodeFill, commitSmartArtNodeText, groupIntoParagraphs as groupIntoParagraphs$1, computeInlineEditorRect, smartArtNodeAtPoint, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, createPresenceProjector, BROADCAST_THROTTLE_MS, sanitizeColor, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, resolveMediaBookmarkTimesMs, advanceMainSequence, playGroup, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, resolveForwardSlideWithZoomReturn, buildZoomTransitionOverride, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, beginZoomExcursion, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, findInSlides, applyFindReplacements, visibleTemplateElements, createCollaborationLivePatcher, publishLiveInlineText, initialInspectorOpen, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTextFillBlipUrls, seedRecentColors, resolveAuthoredCustomShowId, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, resolveInitialSlideIndex, resolveAutosaveIntervalMs, shouldWriteAutosaveSnapshot, saveAutosaveSnapshot, autosaveSnapshotMark, updateMasterViewElement, updateElement, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canMergeShapes, canInteractWithElement, prepareHtml2CanvasClone, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, resolveImageResolutionScale, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, shouldProbeAutosaveRecovery, probeAutosaveRecovery, acceptAutosaveRecovery, acknowledgeAutosaveRecovery, discardAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, rasterResultToPngBlob, downloadBlob, elementPictureFilename, canEditElementPoints, collectReferencedFontFamilies, resolveGoogleWebfontHref, syncGoogleWebfontStylesheet, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, isFeatureEnabled, mapSlideShowStartKey, mapCustomizedEditorKey, isEditorControlTarget, isEditorTextInputTarget, parentSelection, textFontSizePtToPx, stepFontSizePt, textFontSizePxToPt, cycleSelectableElement, createCustomizationController, prepareElementForInsertion, slideSpaceElement, createViewerOptionsStore, observeYDocSlides, LOCAL_SYNC_ORIGIN, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, isKeyboardOpen, scopeLayoutOptionsToSlide, checkModifyPassword, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, openPptxFile, readBackstageRecentFile, resolveCollaborationShellEditability, resolveCollaborationShellState, deviceStrokeStageStyle, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, setPendingCaretPoint, drillSelectionForDoubleClick, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, contextMenuInspectorAnchor, savedPresentationFileName, exportDeckJson, groupElements, generateElementId, ungroupElements, alignElements, distributeElements, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, planMergeShapes, applyMergeShapesPlan, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, openPendingPrintWindow, computeColorFilter, filterHiddenSlideIndices, computeSlideIndices, buildPrintDocument, finishPrintWindow, buildPrintHtmlDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, insertSlidePaste, applySlidePasteTemplates, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, resolveViewportFitOptions, EDITOR_VIEWPORT_FIT, calculateViewportFit, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, slideSpaceMembers, remapTextToSegments, buildInlineListStylePatch, applyActiveInlineListFormatting, applyListStyleUpdate, setPendingSelectionRestore, applyTextStyleUpdate, toggleSelectionBullets, transformInlineListCase, applyCaseTransformToSegments, transformTextCase, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx as computeGridSpacingPx$1, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, overlayMasterViewInlineSnapshot, overlayInlineTextSnapshot, rasterizeElement, cloneElementForPaste, applyPasteSpecialFormat, buildRasterPictureElement, cloneElementUpdates, assertElementUpdateTarget, prepareElementUpdateBatch, createWriteBackScheduler, observeExternalCollaborationReadiness, resolveHistoryDepth, createBackstagePresentation, buildFieldSubstitutionContext, isEnterableGroup, memberChainAtPoint, findElementPath, drillSelectionForClick, scrollInspectorSectionIntoView, computeScrollDelta, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, withCellStyle, setCellText, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, stopCaptureStream, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, createSnapshotTextPositions, resolvePresentationAction, buildSmartArtPresetData, classifyMediaType, publishLiveGeometry, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, rasterizeElementTiledToCanvas, borrowExternalCollaborationAwareness, observeExternalCollaborationSession, clampGifDimensions, rasterResultToPngDataUrl, shouldConfirmExternalHyperlink, applyResize, lockResizeAspect, snapBoxToGrid, applyMotionPathPreset, bringForward, sendBackward, bringToFront, sendToBack } from 'ooxml-ui/pptx';
3
3
  export { DUOTONE_PRESETS, MOBILE_BREAKPOINT, SLIDE_TRANSITION_KEYFRAMES, TABLET_BREAKPOINT, clearAudienceContent, computeVirtualRange, downloadBlob, getSlideTransitionAnimations, loadAudienceContent, storeAudienceContent } from 'ooxml-ui/pptx';
4
4
  import React17, { createContext, useMemo, useState, useCallback, useEffect, Suspense, useRef, useLayoutEffect, useContext, useSyncExternalStore, useImperativeHandle } from 'react';
@@ -6548,12 +6548,12 @@ function useInsertElements(input) {
6548
6548
  }
6549
6549
  });
6550
6550
  };
6551
- const handleAddTable = () => {
6551
+ const handleAddTable = (rows = DEFAULT_TABLE_ROWS, columns = DEFAULT_TABLE_COLUMNS) => {
6552
6552
  if (!activeSlide) {
6553
6553
  return;
6554
6554
  }
6555
6555
  addElement({
6556
- ...newTableElement(DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, 100, 200),
6556
+ ...newTableElement(rows, columns, 100, 200),
6557
6557
  id: generateElementId()
6558
6558
  });
6559
6559
  };
@@ -11116,9 +11116,14 @@ function useViewerIntegration(input) {
11116
11116
  const updateElements = useElementUpdateBatch(input);
11117
11117
  const fallbackCustomizationRef = useRef(null);
11118
11118
  const customizationApi = input.customizationApi ?? (fallbackCustomizationRef.current ??= createCustomizationController().api);
11119
+ const latestHandleRef = useRef(null);
11120
+ const viewerApiRef = useRef(null);
11121
+ viewerApiRef.current ??= new Proxy({}, {
11122
+ get: (_target, key) => latestHandleRef.current?.[key]
11123
+ });
11119
11124
  useImperativeHandle(
11120
11125
  ref,
11121
- () => ({
11126
+ () => latestHandleRef.current = {
11122
11127
  ...customizationApi,
11123
11128
  async getContent() {
11124
11129
  const data = await serializeSlides();
@@ -11275,7 +11280,7 @@ function useViewerIntegration(input) {
11275
11280
  editorOps.manipulation.handleDuplicate();
11276
11281
  return state.selectedElementIds[0];
11277
11282
  }
11278
- }),
11283
+ },
11279
11284
  [
11280
11285
  updateElements,
11281
11286
  serializeSlides,
@@ -11362,6 +11367,7 @@ function useViewerIntegration(input) {
11362
11367
  isEncryptedDialogOpen,
11363
11368
  setIsEncryptedDialogOpen,
11364
11369
  handlerRef,
11370
+ viewerApi: viewerApiRef.current,
11365
11371
  loadVersion
11366
11372
  };
11367
11373
  }
@@ -12275,6 +12281,31 @@ function buildCanvasProps(input) {
12275
12281
  }
12276
12282
  };
12277
12283
  }
12284
+
12285
+ // src/viewer/hooks/createReviewCommentsHost.ts
12286
+ function createReviewCommentsHost(input) {
12287
+ const { state: s, activeSlideIndex, updateSlides, markDirty } = input;
12288
+ return {
12289
+ slides: () => s.slides,
12290
+ currentSlide: () => activeSlideIndex,
12291
+ goToSlide: (index) => s.setActiveSlideIndex(index),
12292
+ ensureCommentsOpen: () => {
12293
+ s.setSidebarPanelMode("comments");
12294
+ if (!s.isInspectorPaneOpen) {
12295
+ s.setIsInspectorPaneOpen(true);
12296
+ }
12297
+ },
12298
+ applyComments: (changes) => {
12299
+ updateSlides(
12300
+ (slides) => slides.map((slide, index) => {
12301
+ const change = changes.find((candidate) => candidate.slideIndex === index);
12302
+ return change ? { ...slide, comments: change.comments } : slide;
12303
+ })
12304
+ );
12305
+ markDirty();
12306
+ }
12307
+ };
12308
+ }
12278
12309
  function scopeLayoutOptionsToActiveSlide(options, activeSlide) {
12279
12310
  return scopeLayoutOptionsToSlide(options, activeSlide?.layoutPath);
12280
12311
  }
@@ -12560,6 +12591,12 @@ function buildToolbarProps(input) {
12560
12591
  },
12561
12592
  isCommentsPanelOpen: s.isInspectorPaneOpen,
12562
12593
  slideCommentCount: activeSlide?.comments?.length ?? 0,
12594
+ reviewComments: createReviewCommentsHost({
12595
+ state: s,
12596
+ activeSlideIndex,
12597
+ updateSlides: ops.updateSlides,
12598
+ markDirty: history.markDirty
12599
+ }),
12563
12600
  formatPainterActive: s.formatPainterActive,
12564
12601
  canActivateFormatPainter: hasCopyableFormat(selectedElement),
12565
12602
  onToggleFormatPainter: () => s.setFormatPainterActive((p) => !p),
@@ -18883,4 +18920,4 @@ function useResizablePanels() {
18883
18920
  };
18884
18921
  }
18885
18922
 
18886
- export { ACTION_VERB_MAP, ChartPartSelectionProvider, CollaborationCursorOverlay, CollaborationProvider, ElementRenderer, FragmentedTransitionLayer, InlineCollaborationContext, MIN_TOUCH_TARGET, MorphTransitionOverlay, PresentationTransitionOverlay, RemoteSelectionOverlay, RemoteUserCursors, Rendering3DFlagsContext, ResizeHandles, SlideBackgroundImageLayer, SlideLayer, SmartArtRenderer, StaticElementRenderer, ViewerOptionsContext, ViewerOptionsStoreContext, computeToolbarVisibility, detectTargetType, imgSrc, isAudienceTab, parseAudienceNonce, parseEmailUrl, parseSlideFromUrl, playAnimationSound, renderStrokeView, renderToCanvas, resolveSmartArtDataPalette, safePrompt, scopeLayoutOptionsToActiveSlide, useAnimationPlayback, useAnnotationHandlers, useAudienceMode, useAutosave, useBroadcastFollower, useCanvasInteractions, useChartPartSelection, useClipboardHandlers, useCollaboration, useCollaborationDocumentSync, useCollaborativeHistory, useCollaborativeState, useComments, useCompatibilityToastsState, useContentLifecycle, useDerivedElementState, useDerivedSlideState, useDialogCustomShows, useEditorHistory, useEditorOperations, useElementManipulation, useElementOperations, useExportHandlers, useExportSaveAs, useFindReplace, useFollowMode, useFontInjection, useGroupAlignLayerHandlers, useIOHandlers, useInsertElements, useIsMobile, useKeyboardInsets, useKeyboardShortcutWiring, useKeyboardShortcuts, useLayoutSwitching, useLoadContent, useMergeShapesHandler, useModalDismissDrag, usePointerHandlers, usePresenceTracking, usePresentationAnnotations, usePresentationKeyboard, usePresentationMode, usePresentationSetup, usePresenterWindow, usePrintHandlers, usePropertyHandlers, useReadOnlyRecommendationState, useRecoveryDetection, useReducedMotion, useRehearsalTimings, useResizablePanels, useSectionOperations, useSerialize, useSheetDismissDrag, useSlideManagement, useSlideNavigation, useSwipeNavigation, useTableOperations, useThemeHandlers, useThemeSwitching, useToolbarVisibility, useTouchGestures, useViewPreferencesSync, useViewerBuildingBlocks, useViewerCoreState, useViewerDialogs, useViewerIntegration, useViewerOptions, useViewerOptionsContext, useViewerState, useViewerUIState, useVirtualizedSlides, useYjsDocumentSync, useYjsProvider, useZoomNavigation, useZoomViewport };
18923
+ export { ACTION_VERB_MAP, ChartPartSelectionProvider, CollaborationCursorOverlay, CollaborationProvider, ElementRenderer, FragmentedTransitionLayer, InlineCollaborationContext, MIN_TOUCH_TARGET, MorphTransitionOverlay, PresentationTransitionOverlay, RemoteSelectionOverlay, RemoteUserCursors, Rendering3DFlagsContext, ResizeHandles, SlideBackgroundImageLayer, SlideLayer, SmartArtRenderer, StaticElementRenderer, ViewerOptionsContext, ViewerOptionsStoreContext, computeToolbarVisibility, createReviewCommentsHost, detectTargetType, imgSrc, isAudienceTab, parseAudienceNonce, parseEmailUrl, parseSlideFromUrl, playAnimationSound, renderStrokeView, renderToCanvas, resolveSmartArtDataPalette, safePrompt, scopeLayoutOptionsToActiveSlide, useAnimationPlayback, useAnnotationHandlers, useAudienceMode, useAutosave, useBroadcastFollower, useCanvasInteractions, useChartPartSelection, useClipboardHandlers, useCollaboration, useCollaborationDocumentSync, useCollaborativeHistory, useCollaborativeState, useComments, useCompatibilityToastsState, useContentLifecycle, useDerivedElementState, useDerivedSlideState, useDialogCustomShows, useEditorHistory, useEditorOperations, useElementManipulation, useElementOperations, useExportHandlers, useExportSaveAs, useFindReplace, useFollowMode, useFontInjection, useGroupAlignLayerHandlers, useIOHandlers, useInsertElements, useIsMobile, useKeyboardInsets, useKeyboardShortcutWiring, useKeyboardShortcuts, useLayoutSwitching, useLoadContent, useMergeShapesHandler, useModalDismissDrag, usePointerHandlers, usePresenceTracking, usePresentationAnnotations, usePresentationKeyboard, usePresentationMode, usePresentationSetup, usePresenterWindow, usePrintHandlers, usePropertyHandlers, useReadOnlyRecommendationState, useRecoveryDetection, useReducedMotion, useRehearsalTimings, useResizablePanels, useSectionOperations, useSerialize, useSheetDismissDrag, useSlideManagement, useSlideNavigation, useSwipeNavigation, useTableOperations, useThemeHandlers, useThemeSwitching, useToolbarVisibility, useTouchGestures, useViewPreferencesSync, useViewerBuildingBlocks, useViewerCoreState, useViewerDialogs, useViewerIntegration, useViewerOptions, useViewerOptionsContext, useViewerState, useViewerUIState, useVirtualizedSlides, useYjsDocumentSync, useYjsProvider, useZoomNavigation, useZoomViewport };
Binary file
Binary file