pptx-react-viewer 4.30.1 → 4.30.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +3 -1
  3. package/dist/{AiChatPanel-7XZQQZ4P.js → AiChatPanel-6VWW4FHG.js} +9 -9
  4. package/dist/AiChatPanel-6VWW4FHG.js.br +0 -0
  5. package/dist/AiChatPanel-6VWW4FHG.js.gz +0 -0
  6. package/dist/{AiChatPanel-XI272UTZ.mjs → AiChatPanel-STFWEZCZ.mjs} +1 -1
  7. package/dist/AiChatPanel-STFWEZCZ.mjs.br +0 -0
  8. package/dist/AiChatPanel-STFWEZCZ.mjs.gz +0 -0
  9. package/dist/{chunk-M2AKDETN.js → chunk-3NIBDU4D.js} +1320 -1318
  10. package/dist/chunk-3NIBDU4D.js.br +0 -0
  11. package/dist/chunk-3NIBDU4D.js.gz +0 -0
  12. package/dist/{chunk-355ICDU6.js → chunk-BOQCAJIA.js} +245 -245
  13. package/dist/chunk-BOQCAJIA.js.br +0 -0
  14. package/dist/chunk-BOQCAJIA.js.gz +0 -0
  15. package/dist/{chunk-FPACF36E.mjs → chunk-FTNLOQ2T.mjs} +68 -66
  16. package/dist/chunk-FTNLOQ2T.mjs.br +0 -0
  17. package/dist/chunk-FTNLOQ2T.mjs.gz +0 -0
  18. package/dist/{chunk-ATGP75C4.mjs → chunk-IS76G64B.mjs} +36 -9
  19. package/dist/chunk-IS76G64B.mjs.br +0 -0
  20. package/dist/chunk-IS76G64B.mjs.gz +0 -0
  21. package/dist/{chunk-XRFJ7TAF.js → chunk-QO2AMZPA.js} +35 -8
  22. package/dist/chunk-QO2AMZPA.js.br +0 -0
  23. package/dist/chunk-QO2AMZPA.js.gz +0 -0
  24. package/dist/{chunk-CHZJORUW.mjs → chunk-RDT4I7MA.mjs} +1 -1
  25. package/dist/chunk-RDT4I7MA.mjs.br +0 -0
  26. package/dist/chunk-RDT4I7MA.mjs.gz +0 -0
  27. package/dist/index.js +24 -24
  28. package/dist/index.js.br +0 -0
  29. package/dist/index.js.gz +0 -0
  30. package/dist/index.mjs +3 -3
  31. package/dist/index.mjs.br +0 -0
  32. package/dist/index.mjs.gz +0 -0
  33. package/dist/internals.js +81 -81
  34. package/dist/internals.js.br +0 -0
  35. package/dist/internals.js.gz +0 -0
  36. package/dist/internals.mjs +2 -2
  37. package/dist/internals.mjs.br +0 -0
  38. package/dist/internals.mjs.gz +0 -0
  39. package/dist/pptx-viewer.css +1 -1
  40. package/dist/pptx-viewer.css.br +0 -0
  41. package/dist/pptx-viewer.css.gz +0 -0
  42. package/dist/viewer/index.js +19 -19
  43. package/dist/viewer/index.js.br +0 -0
  44. package/dist/viewer/index.js.gz +0 -0
  45. package/dist/viewer/index.mjs +3 -3
  46. package/dist/viewer/index.mjs.br +0 -0
  47. package/dist/viewer/index.mjs.gz +0 -0
  48. package/package.json +4 -4
  49. package/dist/AiChatPanel-7XZQQZ4P.js.br +0 -0
  50. package/dist/AiChatPanel-7XZQQZ4P.js.gz +0 -0
  51. package/dist/AiChatPanel-XI272UTZ.mjs.br +0 -0
  52. package/dist/AiChatPanel-XI272UTZ.mjs.gz +0 -0
  53. package/dist/chunk-355ICDU6.js.br +0 -0
  54. package/dist/chunk-355ICDU6.js.gz +0 -0
  55. package/dist/chunk-ATGP75C4.mjs.br +0 -0
  56. package/dist/chunk-ATGP75C4.mjs.gz +0 -0
  57. package/dist/chunk-CHZJORUW.mjs.br +0 -0
  58. package/dist/chunk-CHZJORUW.mjs.gz +0 -0
  59. package/dist/chunk-FPACF36E.mjs.br +0 -0
  60. package/dist/chunk-FPACF36E.mjs.gz +0 -0
  61. package/dist/chunk-M2AKDETN.js.br +0 -0
  62. package/dist/chunk-M2AKDETN.js.gz +0 -0
  63. package/dist/chunk-XRFJ7TAF.js.br +0 -0
  64. package/dist/chunk-XRFJ7TAF.js.gz +0 -0
Binary file
Binary file
@@ -1,11 +1,11 @@
1
- import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-CHZJORUW.mjs';
2
- import { ANIMATION_PRESET_OPTIONS, dist_exports, cn, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, normalizeHexColor, hasCopyableFormat, DEFAULT_SECTION_GROUP_ID, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, TOOLBAR_SECTIONS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, UNGROUPED_SECTION_ID, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, SHAPE_QUICK_STYLES, getPatternSvg, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS, openNativeEyeDropper } from './chunk-ATGP75C4.mjs';
3
- import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, isPanelVisible, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, deviceStrokeStageStyle, hiddenSlideCue, EDITOR_THUMBNAIL_WIDTH, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, getDensePanelTouchTargetPx, shouldStickyActionRow, customizeOptionsTabs, VIEWER_OPTIONS_TABS, isOptionsPageVisible, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, editorThumbnailWidth, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, observeElementHeight, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, TAB_ROW_ACTION_CLASSES, customizeBackstageNav, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, DESIGN_RIBBON_COMMANDS, designCommandState, FIXED_TAB_GALLERIES, CONTEXTUAL_TAB_GROUPS, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, isEditPointsEnabled, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, subtitleSettingsFromOptions, getSpeechRecognitionCtor, mergeCaptionResults, customizeContextMenuEntries, buildContextMenuEntries, contextMenuViewItems, customizeCanvasContextMenuEntries, buildCanvasContextMenuEntries, buildLayoutPreviewGeometry, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, themeEditorLabels, resolveNotesSegments, defaultRichEnabled, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX as INDENT_PX$1, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeAllNotesPages, getNotesPrintableArea, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, slideSorterPasteIndexes, sorterGridColumns, sorterMenuContext, buildSlideSorterContextMenuEntries, slideSorterContextMenuLabel, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, presenterConsoleAction, presenterConsoleViewState, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, parseCropValue, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, SLIDE_TEMPLATES, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, buildCropOverlay, CROP_HANDLE_ARIA_KEY, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, canEditElementPoints, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildSlideTemplateContent, updateSubtitleSettings, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, shouldShowAccessibilitySection, withFrameSlides, withSlidesPerPage, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, setTrigger, setTriggerBookmark, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, directionValuesFor, buildAnimationTimelineBars, motionPathPresetIdForPath, MOTION_PATH_FAMILIES, motionPathPresetsByFamily, motionPathPresetLabelKey, motionPathFamilyLabelKey, EFFECT_SOUND_CATALOGUE, listMediaBookmarkOptions, selectedBookmarkOptionValue, hasTiltData, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, resolveDisplayedChartType, CHART_TYPE_OPTIONS, chartDataLabelsTogglePatch, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, seriesColorClearState, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSiblingAfter, removeEmptyNode, demote, promote, reorder, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, getEffectSoundAsset, animationEffectLabel, overlayPointerInput, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, quickStyleSwatchCss, OFFICE_COLOR_SWATCHES, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, COMPOUND_LINE_OPTIONS as COMPOUND_LINE_OPTIONS$1, LINE_JOIN_OPTIONS as LINE_JOIN_OPTIONS$1, LINE_CAP_OPTIONS as LINE_CAP_OPTIONS$1, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS as GRADIENT_TYPE_OPTIONS$1, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
1
+ import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-RDT4I7MA.mjs';
2
+ import { ANIMATION_PRESET_OPTIONS, dist_exports, cn, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, normalizeHexColor, hasCopyableFormat, DEFAULT_SECTION_GROUP_ID, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, TOOLBAR_SECTIONS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, UNGROUPED_SECTION_ID, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, SHAPE_QUICK_STYLES, getPatternSvg, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS, openNativeEyeDropper } from './chunk-IS76G64B.mjs';
3
+ import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, isPanelVisible, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, deviceStrokeStageStyle, hiddenSlideCue, EDITOR_THUMBNAIL_WIDTH, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, getDensePanelTouchTargetPx, shouldStickyActionRow, customizeOptionsTabs, VIEWER_OPTIONS_TABS, isOptionsPageVisible, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, editorThumbnailWidth, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, observeElementHeight, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, customizeBackstageNav, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, DESIGN_RIBBON_COMMANDS, designCommandState, FIXED_TAB_GALLERIES, CONTEXTUAL_TAB_GROUPS, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, isEditPointsEnabled, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, subtitleSettingsFromOptions, getSpeechRecognitionCtor, mergeCaptionResults, customizeContextMenuEntries, buildContextMenuEntries, contextMenuViewItems, customizeCanvasContextMenuEntries, buildCanvasContextMenuEntries, buildLayoutPreviewGeometry, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, themeEditorLabels, resolveNotesSegments, defaultRichEnabled, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX as INDENT_PX$1, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeAllNotesPages, getNotesPrintableArea, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, slideSorterPasteIndexes, sorterGridColumns, sorterMenuContext, buildSlideSorterContextMenuEntries, slideSorterContextMenuLabel, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, presenterConsoleAction, presenterConsoleViewState, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, parseCropValue, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, SLIDE_TEMPLATES, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, buildCropOverlay, CROP_HANDLE_ARIA_KEY, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, canEditElementPoints, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildSlideTemplateContent, updateSubtitleSettings, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, shouldShowAccessibilitySection, withFrameSlides, withSlidesPerPage, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, setTrigger, setTriggerBookmark, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, directionValuesFor, buildAnimationTimelineBars, motionPathPresetIdForPath, MOTION_PATH_FAMILIES, motionPathPresetsByFamily, motionPathPresetLabelKey, motionPathFamilyLabelKey, EFFECT_SOUND_CATALOGUE, listMediaBookmarkOptions, selectedBookmarkOptionValue, hasTiltData, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, resolveDisplayedChartType, CHART_TYPE_OPTIONS, chartDataLabelsTogglePatch, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, seriesColorClearState, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSiblingAfter, removeEmptyNode, demote, promote, reorder, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, getEffectSoundAsset, animationEffectLabel, overlayPointerInput, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, quickStyleSwatchCss, OFFICE_COLOR_SWATCHES, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, COMPOUND_LINE_OPTIONS as COMPOUND_LINE_OPTIONS$1, LINE_JOIN_OPTIONS as LINE_JOIN_OPTIONS$1, LINE_CAP_OPTIONS as LINE_CAP_OPTIONS$1, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS as GRADIENT_TYPE_OPTIONS$1, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
4
4
  export { THEME_CATALOG, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from 'ooxml-ui/pptx';
5
- import React97, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
5
+ import React98, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { LuArrowDown, LuArrowUp, LuArrowRight, LuArrowLeft, LuArrowDownRight, LuArrowDownLeft, LuArrowUpRight, LuArrowUpLeft, LuMessageSquare, LuEyeOff, LuHistory, LuSettings, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuShieldCheck, LuPlus, LuPanelLeftClose, LuDownload, LuTrash2, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuMinus, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuPanelLeft, LuPanelRight, LuSparkles, LuShare2, LuFolderOpen, LuPalette, LuSearch, LuCaseSensitive, LuReplace, LuGripVertical, LuLoaderCircle, LuGrid2X2, LuStickyNote, LuList, LuClipboardCopy, LuPaintbrush, LuShapes, LuLayoutGrid, LuWand, LuPresentation, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuSave, LuFilePlus2, LuHouse, LuFileJson, LuBox, LuVideo, LuFileImage, LuDatabase, LuClock3, LuUser, LuHardDrive, LuLogIn, LuMove, LuCopyPlus, LuClipboardPaste, LuMonitor, LuRadio, LuCaptions, LuImage, LuFilter, LuLayers, LuSettings2, LuLockOpen, LuPencil, LuReply, LuMoveRight, LuRotateCw, LuScissors, LuBookmark, LuPipette } from 'react-icons/lu';
8
+ import { LuArrowDown, LuArrowUp, LuArrowRight, LuArrowLeft, LuArrowDownRight, LuArrowDownLeft, LuArrowUpRight, LuArrowUpLeft, LuMessageSquare, LuEyeOff, LuHistory, LuSettings, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuShieldCheck, LuPlus, LuPanelLeftClose, LuDownload, LuTrash2, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuMinus, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuPanelLeft, LuPanelRight, LuSparkles, LuFolderOpen, LuPalette, LuSearch, LuCaseSensitive, LuReplace, LuGripVertical, LuLoaderCircle, LuGrid2X2, LuStickyNote, LuList, LuClipboardCopy, LuPaintbrush, LuShapes, LuLayoutGrid, LuWand, LuPresentation, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuShare2, LuSave, LuFilePlus2, LuHouse, LuFileJson, LuBox, LuVideo, LuFileImage, LuDatabase, LuClock3, LuUser, LuHardDrive, LuLogIn, LuMove, LuCopyPlus, LuClipboardPaste, LuMonitor, LuRadio, LuCaptions, LuImage, LuFilter, LuLayers, LuSettings2, LuLockOpen, LuPencil, LuReply, LuMoveRight, LuRotateCw, LuScissors, LuBookmark, LuPipette } from 'react-icons/lu';
9
9
  import { createPortal } from 'react-dom';
10
10
  import { LOCALE_CATALOG } from 'ooxml-ui/pptx/i18n';
11
11
  import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs as exportAiChatLogs$1, applyElementUpdate } from 'ooxml-ui/pptx/ai';
@@ -713,7 +713,7 @@ function WebHomeControls({
713
713
  host.addEventListener("home-popup", listener);
714
714
  return () => host.removeEventListener("home-popup", listener);
715
715
  }, [onPopup]);
716
- return React97.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
716
+ return React98.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
717
717
  }
718
718
  function ShapeArrangeExtras(p) {
719
719
  const commands = useShapeFormatContext();
@@ -1210,7 +1210,7 @@ function AccountPage() {
1210
1210
  return void 0;
1211
1211
  });
1212
1212
  };
1213
- const version = "4.30.1" ;
1213
+ const version = "4.30.3" ;
1214
1214
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1215
1215
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1216
1216
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -3583,8 +3583,35 @@ function RibbonTabBar(p) {
3583
3583
  function TabRowActions(p) {
3584
3584
  const { t } = useTranslation();
3585
3585
  const collab = useCollaboration();
3586
- const isCollaborating = collab && collab.status === "connected";
3586
+ const isCollaborating = Boolean(collab && collab.status === "connected");
3587
3587
  const { isHidden } = useToolbarVisibility(p.hiddenActions);
3588
+ const customization = useViewerCustomizationContext();
3589
+ const ref = useRef(null);
3590
+ const handlers = useRef(p);
3591
+ handlers.current = p;
3592
+ const state = buildTabRowActionsState({
3593
+ translate: (key, params) => t(key, params),
3594
+ showComments: Boolean(p.onToggleComments) && isFeatureEnabled(customization, "comments"),
3595
+ commentsOpen: Boolean(p.isCommentsPanelOpen),
3596
+ commentCount: p.slideCommentCount ?? 0,
3597
+ showShare: !isHidden("share"),
3598
+ isCollaborating,
3599
+ collaboratorCount: collab?.connectedCount ?? 0
3600
+ });
3601
+ useEffect(() => {
3602
+ const host = ref.current;
3603
+ if (!host) {
3604
+ return;
3605
+ }
3606
+ const comments = () => handlers.current.onToggleComments?.();
3607
+ const share = () => handlers.current.onOpenShareDialog?.();
3608
+ host.addEventListener("comments-toggle", comments);
3609
+ host.addEventListener("share-request", share);
3610
+ return () => {
3611
+ host.removeEventListener("comments-toggle", comments);
3612
+ host.removeEventListener("share-request", share);
3613
+ };
3614
+ }, []);
3588
3615
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 pr-1", children: [
3589
3616
  p.onEnterRehearsalMode && !isHidden("record") && /* @__PURE__ */ jsxs(
3590
3617
  "button",
@@ -3600,21 +3627,12 @@ function TabRowActions(p) {
3600
3627
  ]
3601
3628
  }
3602
3629
  ),
3603
- !isHidden("share") && /* @__PURE__ */ jsxs(
3604
- "button",
3630
+ /* @__PURE__ */ jsx(
3631
+ "pptx-ui-ribbon-actions",
3605
3632
  {
3606
- type: "button",
3607
- onClick: p.onOpenShareDialog,
3608
- className: cn(
3609
- "relative inline-flex items-center gap-1 px-2.5 py-1 rounded-sm text-[11px] font-medium transition-colors whitespace-nowrap",
3610
- isCollaborating ? "bg-green-600 hover:bg-green-500 text-white" : "bg-primary hover:bg-primary/90 text-white"
3611
- ),
3612
- title: isCollaborating ? t("pptx.toolbar.sharingUsers", { count: collab.connectedCount }) : t("pptx.toolbar.share"),
3613
- "aria-label": t("pptx.toolbar.share"),
3614
- children: [
3615
- /* @__PURE__ */ jsx(LuShare2, { className: "w-3 h-3" }),
3616
- /* @__PURE__ */ jsx("span", { children: isCollaborating ? t("pptx.toolbar.sharingCount", { count: collab.connectedCount }) : t("pptx.toolbar.share") })
3617
- ]
3633
+ ref,
3634
+ "data-pptx-chrome": "tab-row-actions",
3635
+ ...tabRowActionsAttributes(state)
3618
3636
  }
3619
3637
  )
3620
3638
  ] });
@@ -3961,7 +3979,6 @@ function ToolbarPrimaryRow(p) {
3961
3979
  const customization = useViewerCustomizationContext();
3962
3980
  const showSlidesToggle = isPanelVisible(customization, "slidesPane");
3963
3981
  const showInspectorToggle = isPanelVisible(customization, "inspector");
3964
- const showComments = isFeatureEnabled(customization, "comments");
3965
3982
  const showShare = isDialogAvailable(customization, "share");
3966
3983
  const showSettings = isDialogAvailable(customization, "options");
3967
3984
  const qab = "p-1 max-md:p-2 max-md:min-h-[40px] max-md:min-w-[40px] rounded-sm transition-colors hover:bg-accent/60 disabled:opacity-40 disabled:cursor-not-allowed active:scale-90 active:opacity-70";
@@ -3983,24 +4000,6 @@ function ToolbarPrimaryRow(p) {
3983
4000
  }
3984
4001
  ),
3985
4002
  /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-2 max-md:min-w-1" }),
3986
- (mode === "edit" || mode === "master") && showComments && /* @__PURE__ */ jsxs(
3987
- "button",
3988
- {
3989
- type: "button",
3990
- onClick: p.onToggleComments,
3991
- className: cn(
3992
- qab,
3993
- "relative max-md:hidden",
3994
- p.isCommentsPanelOpen ? "text-foreground" : "text-muted-foreground"
3995
- ),
3996
- title: t("pptx.toolbar.comments"),
3997
- "aria-label": t("pptx.toolbar.comments"),
3998
- children: [
3999
- /* @__PURE__ */ jsx(LuMessageSquare, { className: ics }),
4000
- (p.slideCommentCount ?? 0) > 0 && /* @__PURE__ */ jsx("span", { className: "absolute -top-0.5 -right-0.5 flex items-center justify-center w-3.5 h-3.5 rounded-full bg-primary text-[8px] text-white leading-none", children: p.slideCommentCount })
4001
- ]
4002
- }
4003
- ),
4004
4003
  collab && showShare && (collab.status === "connected" || collab.status === "connecting") && collab.remoteUsers.length > 0 && /* @__PURE__ */ jsx(
4005
4004
  "button",
4006
4005
  {
@@ -4349,6 +4348,9 @@ function Toolbar(p) {
4349
4348
  {
4350
4349
  onEnterRehearsalMode: p.canEdit ? p.onEnterRehearsalMode : void 0,
4351
4350
  onOpenShareDialog: p.onOpenShareDialog,
4351
+ onToggleComments: p.onToggleComments,
4352
+ isCommentsPanelOpen: p.isCommentsPanelOpen,
4353
+ slideCommentCount: p.slideCommentCount,
4352
4354
  hiddenActions: p.hiddenActions
4353
4355
  }
4354
4356
  ),
@@ -4825,7 +4827,7 @@ function ChartQuickActionsOverlay({
4825
4827
  "data-export-ignore": "true",
4826
4828
  style: { position: "absolute", left: 0, top: 0, zIndex: 59 },
4827
4829
  onMouseDown: (e) => e.stopPropagation(),
4828
- children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React97.Fragment, { children: [
4830
+ children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React98.Fragment, { children: [
4829
4831
  /* @__PURE__ */ jsx(
4830
4832
  "button",
4831
4833
  {
@@ -4845,7 +4847,7 @@ function ChartQuickActionsOverlay({
4845
4847
  transformOrigin: "top left"
4846
4848
  },
4847
4849
  className: "flex items-center justify-center rounded bg-white border border-gray-300 shadow-sm hover:bg-gray-100 text-gray-700",
4848
- children: React97.createElement(ICONS3[button.id], { className: "size-3.5" })
4850
+ children: React98.createElement(ICONS3[button.id], { className: "size-3.5" })
4849
4851
  }
4850
4852
  ),
4851
4853
  open === button.id && button.id === "elements" && /* @__PURE__ */ jsxs(
@@ -5991,7 +5993,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
5991
5993
  }
5992
5994
  );
5993
5995
  }
5994
- var HorizontalRuler = React97.memo(HorizontalRulerView);
5996
+ var HorizontalRuler = React98.memo(HorizontalRulerView);
5995
5997
  HorizontalRuler.displayName = "HorizontalRuler";
5996
5998
  function VerticalRulerView({ ticks, heightPx, highlight }) {
5997
5999
  return /* @__PURE__ */ jsxs(
@@ -6063,7 +6065,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
6063
6065
  }
6064
6066
  );
6065
6067
  }
6066
- var VerticalRuler = React97.memo(VerticalRulerView);
6068
+ var VerticalRuler = React98.memo(VerticalRulerView);
6067
6069
  VerticalRuler.displayName = "VerticalRuler";
6068
6070
  function Ruler({
6069
6071
  canvasSize,
@@ -7944,7 +7946,7 @@ function slideThumbnailPropsEqual(prev, next) {
7944
7946
  }
7945
7947
  return true;
7946
7948
  }
7947
- var SlideThumbnail = React97.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
7949
+ var SlideThumbnail = React98.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
7948
7950
  function tableCell(props) {
7949
7951
  const { selectedElement, tableEditorState } = props;
7950
7952
  if (selectedElement?.type !== "table" || tableEditorState === null) {
@@ -8587,7 +8589,7 @@ function LazyThumbnailInner({
8587
8589
  }
8588
8590
  ) });
8589
8591
  }
8590
- var LazyThumbnail = React97.memo(LazyThumbnailInner);
8592
+ var LazyThumbnail = React98.memo(LazyThumbnailInner);
8591
8593
  function declaredSectionFacts(groups, sectionId) {
8592
8594
  const declared = groups.filter((group) => group.id !== DEFAULT_SECTION_GROUP_ID && group.id !== UNGROUPED_SECTION_ID).map((group) => group.id);
8593
8595
  return {
@@ -8755,7 +8757,7 @@ function SlideItemInner({
8755
8757
  }
8756
8758
  );
8757
8759
  }
8758
- var SlideItem = React97.memo(SlideItemInner);
8760
+ var SlideItem = React98.memo(SlideItemInner);
8759
8761
  function useSlidePaneCallbacks(onMoveSlide, onRenameSection, onToggleSectionCollapse) {
8760
8762
  const [collapsedSections, setCollapsedSections] = useState({});
8761
8763
  const [renamingSectionId, setRenamingSectionId] = useState(null);
@@ -10168,7 +10170,7 @@ function arePropsEqual(prev, next) {
10168
10170
  }
10169
10171
  return true;
10170
10172
  }
10171
- var SlideCard = React97.memo(SlideCardImpl, arePropsEqual);
10173
+ var SlideCard = React98.memo(SlideCardImpl, arePropsEqual);
10172
10174
  var ICON_CLASS = "h-3.5 w-3.5 text-muted-foreground";
10173
10175
  function SorterContextMenu({
10174
10176
  x,
@@ -11481,8 +11483,8 @@ function SlideNotesPanel({
11481
11483
  onHeightChange
11482
11484
  }) {
11483
11485
  const { t } = useTranslation();
11484
- const rootRef = React97.useRef(null);
11485
- React97.useEffect(() => {
11486
+ const rootRef = React98.useRef(null);
11487
+ React98.useEffect(() => {
11486
11488
  const el = rootRef.current;
11487
11489
  if (!el || !onHeightChange) {
11488
11490
  return void 0;
@@ -13325,9 +13327,9 @@ function PresentationSubtitleBar({
13325
13327
  function renderNotesSegments(segments) {
13326
13328
  return notesSegmentsToSpans(segments).map((span) => {
13327
13329
  if (span.kind === "break") {
13328
- return React97.createElement("br", { key: span.key });
13330
+ return React98.createElement("br", { key: span.key });
13329
13331
  }
13330
- return React97.createElement(
13332
+ return React98.createElement(
13331
13333
  "span",
13332
13334
  { key: span.key, style: span.style },
13333
13335
  span.text
@@ -13503,7 +13505,7 @@ function scaledSlidePreviewPropsEqual(prev, next) {
13503
13505
  }
13504
13506
  return true;
13505
13507
  }
13506
- var ScaledSlidePreview = React97.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13508
+ var ScaledSlidePreview = React98.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13507
13509
  function PresenterNotesRail({
13508
13510
  slides,
13509
13511
  current,
@@ -14731,7 +14733,7 @@ function EffectSoundRow({
14731
14733
  onPickStock
14732
14734
  }) {
14733
14735
  const { t } = useTranslation();
14734
- const fileInputRef = React97.useRef(null);
14736
+ const fileInputRef = React98.useRef(null);
14735
14737
  const selectedValue = soundState.catalogueId ?? (soundState.hasSound ? CURRENT_VALUE : NONE_VALUE);
14736
14738
  const handleSelectChange = (event) => {
14737
14739
  const value = event.target.value;
@@ -18303,7 +18305,7 @@ function ConnectorArrowsSection({
18303
18305
  ["Start", "End"].map((end) => {
18304
18306
  const widthKey = end === "Start" ? "connectorStartArrowWidth" : "connectorEndArrowWidth";
18305
18307
  const lengthKey = end === "Start" ? "connectorStartArrowLength" : "connectorEndArrowLength";
18306
- return /* @__PURE__ */ jsxs(React97.Fragment, { children: [
18308
+ return /* @__PURE__ */ jsxs(React98.Fragment, { children: [
18307
18309
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
18308
18310
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t(END_LABEL_KEYS[end].width) }),
18309
18311
  /* @__PURE__ */ jsx(
@@ -21228,7 +21230,7 @@ function StrokeEffectsSection({
21228
21230
  ] }),
21229
21231
  EFFECT_CONFIGS.map((cfg) => {
21230
21232
  const on = cfg.isOn(style);
21231
- return /* @__PURE__ */ jsxs(React97.Fragment, { children: [
21233
+ return /* @__PURE__ */ jsxs(React98.Fragment, { children: [
21232
21234
  /* @__PURE__ */ jsxs("label", { className: `inline-flex items-center gap-2 text-foreground ${COL2}`, children: [
21233
21235
  /* @__PURE__ */ jsx(
21234
21236
  WebCheckbox,
@@ -22083,7 +22085,7 @@ function TextWarpGallery({
22083
22085
  onUpdateTextStyle
22084
22086
  }) {
22085
22087
  const { t } = useTranslation();
22086
- const [expanded, setExpanded] = React97.useState(false);
22088
+ const [expanded, setExpanded] = React98.useState(false);
22087
22089
  const currentPreset = ts?.textWarpPreset || "textNoShape";
22088
22090
  return /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded border border-border bg-card p-2 space-y-2", children: [
22089
22091
  /* @__PURE__ */ jsxs(
@@ -22726,7 +22728,7 @@ function SmartArtStyleControls({
22726
22728
  onChangeStyle
22727
22729
  }) {
22728
22730
  const { t } = useTranslation();
22729
- const translate = React97.useCallback((key) => t(key), [t]);
22731
+ const translate = React98.useCallback((key) => t(key), [t]);
22730
22732
  return /* @__PURE__ */ jsxs(Fragment, { children: [
22731
22733
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
22732
22734
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.smartart.colorScheme") }),
@@ -22781,9 +22783,9 @@ function SmartArtPropertiesPanel({
22781
22783
  const nodes = smartArtData.nodes ?? [];
22782
22784
  const layout = smartArtData.resolvedLayoutType;
22783
22785
  const topLevelCount = nodes.filter((n) => !n.parentId).length;
22784
- const inputRefs = React97.useRef(/* @__PURE__ */ new Map());
22785
- const pendingFocusId = React97.useRef(null);
22786
- React97.useEffect(() => {
22786
+ const inputRefs = React98.useRef(/* @__PURE__ */ new Map());
22787
+ const pendingFocusId = React98.useRef(null);
22788
+ React98.useEffect(() => {
22787
22789
  const id = pendingFocusId.current;
22788
22790
  if (id) {
22789
22791
  inputRefs.current.get(id)?.focus();
@@ -24389,7 +24391,7 @@ function CommentBody({ text, mentions, className }) {
24389
24391
  index
24390
24392
  ) : (
24391
24393
  // eslint-disable-next-line react/no-array-index-key -- segments are positional
24392
- /* @__PURE__ */ jsx(React97.Fragment, { children: segment.text }, index)
24394
+ /* @__PURE__ */ jsx(React98.Fragment, { children: segment.text }, index)
24393
24395
  )
24394
24396
  ) });
24395
24397
  }
@@ -25905,7 +25907,7 @@ function PresentationPropertiesPanel({
25905
25907
  onUpdateTagCollections
25906
25908
  }) {
25907
25909
  const { t } = useTranslation();
25908
- const handleTransitionChange = React97.useCallback(
25910
+ const handleTransitionChange = React98.useCallback(
25909
25911
  (updates) => {
25910
25912
  onUpdateSlide({
25911
25913
  transition: mergeSlideTransition(activeSlide?.transition, updates)
@@ -29288,7 +29290,7 @@ function ViewerToolbarSection(props) {
29288
29290
  },
29289
29291
  [activeSlide, propertyHandlers]
29290
29292
  );
29291
- const scopedLayoutOptions = React97.useMemo(
29293
+ const scopedLayoutOptions = React98.useMemo(
29292
29294
  () => scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
29293
29295
  [s.layoutOptions, activeSlide]
29294
29296
  );
@@ -31218,7 +31220,7 @@ function useTableStyleMapHandlers(input) {
31218
31220
  var AiChatPanel = lazy(async () => {
31219
31221
  const [{ useChat }, { default: Panel }] = await Promise.all([
31220
31222
  import('@ai-sdk/react'),
31221
- import('./AiChatPanel-XI272UTZ.mjs')
31223
+ import('./AiChatPanel-STFWEZCZ.mjs')
31222
31224
  ]);
31223
31225
  function BoundAiChatPanel(props) {
31224
31226
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { __reExport } from './chunk-GDQSMJQZ.mjs';
2
- import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS as STROKE_DASH_OPTIONS$1, getAnimationInitialStyle as getAnimationInitialStyle$1, cloneHistorySnapshot as cloneHistorySnapshot$1, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, getCropShapeClipPath as getCropShapeClipPath$1, getImageTilingStyle as getImageTilingStyle$1, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle as buildTextBody3DSceneStyle$1, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData as build3DExtrusionData$1, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, screenStrokeWidth, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, canDrillDown, computeSelectionRect, DEFAULT_FONT_FAMILY as DEFAULT_FONT_FAMILY$1, cellStyleToCss, TABLE_CELL_TEXT_DEFAULTS, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildTiledSlidesPdfBytes, buildPreviewAnimation, measurePreviewGeometry, buildMotionPathPreview, mediaFallbackVisual, scheduleMediaTrimAndFade, registerCrossSlideAudio, shouldShowMediaFullscreenStopButton, withInlineListDecorationDefaults, segmentStyleToCss, resolveAutoFitFontScale, applyUnderlineVariant, nestedTextDecorationStyle, scaleFontSizeForAutoFit, resolveFontKerning, resolveScriptFontSet, hasDistinctScriptFonts, authoredLetterSpacingPx, eastAsianBreaksForRun, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, splitsUnderlineIntoWords, stripUnderlineDecoration, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects as apply3dEffects$1, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle as getTableCellBandStyle$1, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders as getCellDiagonalBorders$1, cellParagraphBlocks, resolveChartPalette, computeChartLegendLayout, resolveChartSvgDef, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, buildRectPathGradient, screenBorder, cellRunStyle, buildRunTabLines, chartPartToAttrs, splitWordsForUnderline, splitRunForMetrics, splitEastAsianBreaks, splitRunByScriptFont } from 'ooxml-ui/pptx';
2
+ import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS as STROKE_DASH_OPTIONS$1, getAnimationInitialStyle as getAnimationInitialStyle$1, cloneHistorySnapshot as cloneHistorySnapshot$1, getImageFitStyle, getImageFillCounterTransform, getComputedFillStyle, getCropShapeClipPath as getCropShapeClipPath$1, getImageTilingStyle as getImageTilingStyle$1, mediaPlaybackAttributes, getOnlineVideoEmbed, ONLINE_VIDEO_IFRAME_SANDBOX, ONLINE_VIDEO_IFRAME_ALLOW, buildTextBlockStyle, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle as buildTextBody3DSceneStyle$1, buildParagraphs, followingText, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData as build3DExtrusionData$1, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, screenStrokeWidth, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, canDrillDown, computeSelectionRect, DEFAULT_FONT_FAMILY as DEFAULT_FONT_FAMILY$1, cellStyleToCss, TABLE_CELL_TEXT_DEFAULTS, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildTiledSlidesPdfBytes, buildPreviewAnimation, measurePreviewGeometry, buildMotionPathPreview, mediaFallbackVisual, scheduleMediaTrimAndFade, registerCrossSlideAudio, shouldShowMediaFullscreenStopButton, withInlineListDecorationDefaults, segmentStyleToCss, resolveAutoFitFontScale, applyUnderlineVariant, nestedTextDecorationStyle, scaleFontSizeForAutoFit, resolveFontKerning, resolveScriptFontSet, hasDistinctScriptFonts, authoredLetterSpacingPx, eastAsianBreaksForRun, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, splitsUnderlineIntoWords, stripUnderlineDecoration, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects as apply3dEffects$1, buildSubpathPaints, computeColumnBoundaries, computeTableMergeCrossings, columnHandleSegments, rowHandleSegments, getTableCellBandStyle as getTableCellBandStyle$1, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders as getCellDiagonalBorders$1, cellParagraphBlocks, resolveChartPalette, computeChartLegendLayout, resolveChartSvgDef, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, buildRectPathGradient, screenBorder, cellRunStyle, buildRunTabLines, chartPartToAttrs, splitWordsForUnderline, splitRunForMetrics, splitEastAsianBreaks, splitRunByScriptFont } from 'ooxml-ui/pptx';
3
3
  export { ACTION_BUTTON_PRESETS, DEFAULT_COLOR_CHANGE_TOLERANCE, INK_REPLAY_KEYFRAMES, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, SHAPE_QUICK_STYLES, SLIDE_TRANSITION_OPTIONS, TABLE_STYLE_PRESETS, applyColorChange, applyFormatToElement, applyReroutedConnectors, buildCacheKey, buildContentPartStrokes, buildCssGradientFromShapeStyle, buildInkGroupStrokes, buildSaveSlides, canvasToJpegData, clampCropValue, cloneSlide, cloneTemplateElementsBySlideId, colorWithOpacity, comparePresentation, computeHandoutLayout, computeSnapToShape, copyFormatFromElement, formatCommentTimestamp, generateNoteLineCount, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCompoundLineOffsets, getCompoundLineWidths, getContentPartReplayStyles, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getImageEffectsFilter, getImageEffectsOpacity, getInkReplayStyles, getPatternSvg, getPrintableArea, getShapeAdjustmentHandleDescriptors, getSvgStrokeDasharray, getTextCompensationTransform, hasCopyableFormat, isEditableTextElement, isImageTiled, isPpactionUrl, isTemplateElementId, isUrlSafe, makeCloneId, mergeCells, normalizeHexColor, normalizeStrokeDashType, openNativeEyeDropper, parsePpactionUrl, partitionTemplateElements, rerouteConnectorsForMovedElements, safeOpenUrl, sanitizeGradientStops, setCachedResult, splitCell, stopAllPersistentAudio, substituteFieldText } from 'ooxml-ui/pptx';
4
4
  import * as pptx_star from 'ooxml-core/pptx';
5
5
  import { clsx } from 'clsx';
@@ -2979,14 +2979,20 @@ function TableCellInput({
2979
2979
  function TableResizeOverlay({
2980
2980
  children,
2981
2981
  columnWidths,
2982
+ rows,
2982
2983
  editable,
2983
2984
  onResizeColumns,
2984
2985
  onResizeRow
2985
2986
  }) {
2986
2987
  const containerRef = useRef(null);
2987
2988
  const [rowBounds, setRowBounds] = useState([]);
2989
+ const [tableHeight, setTableHeight] = useState(0);
2988
2990
  const dragRef = useRef(null);
2989
2991
  const colBoundaries = useMemo(() => computeColumnBoundaries(columnWidths), [columnWidths]);
2992
+ const crossings = useMemo(
2993
+ () => computeTableMergeCrossings(rows ?? [], columnWidths.length),
2994
+ [rows, columnWidths.length]
2995
+ );
2990
2996
  const measureRows = useCallback(() => {
2991
2997
  const container = containerRef.current;
2992
2998
  if (!container) {
@@ -3005,6 +3011,7 @@ function TableResizeOverlay({
3005
3011
  bounds.push(cumHeight);
3006
3012
  }
3007
3013
  });
3014
+ setTableHeight(table.offsetHeight);
3008
3015
  setRowBounds((prev) => {
3009
3016
  if (prev.length === bounds.length && prev.every((v, i) => v === bounds[i])) {
3010
3017
  return prev;
@@ -3066,7 +3073,7 @@ function TableResizeOverlay({
3066
3073
  type: "col",
3067
3074
  index,
3068
3075
  startPos: e.clientX,
3069
- handleEl: e.currentTarget,
3076
+ handleEl: e.currentTarget.parentElement ?? e.currentTarget,
3070
3077
  initialWidths: [...columnWidths]
3071
3078
  };
3072
3079
  };
@@ -3082,7 +3089,7 @@ function TableResizeOverlay({
3082
3089
  type: "row",
3083
3090
  index,
3084
3091
  startPos: e.clientY,
3085
- handleEl: e.currentTarget,
3092
+ handleEl: e.currentTarget.parentElement ?? e.currentTarget,
3086
3093
  initialRowHeight: actualHeight
3087
3094
  };
3088
3095
  };
@@ -3091,20 +3098,38 @@ function TableResizeOverlay({
3091
3098
  colBoundaries.map((leftPct, i) => /* @__PURE__ */ jsx(
3092
3099
  "div",
3093
3100
  {
3094
- className: "absolute top-0 bottom-0 w-[6px] cursor-col-resize z-10 pointer-events-auto group",
3101
+ className: "absolute top-0 bottom-0 w-[6px] z-10 pointer-events-none",
3095
3102
  style: { left: `calc(${leftPct}% - 3px)` },
3096
- onMouseDown: (e) => startColDrag(e, i),
3097
- children: /* @__PURE__ */ jsx("div", { className: "w-px h-full mx-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3103
+ children: columnHandleSegments(crossings.columns[i] ?? [], rowBounds, tableHeight).map(
3104
+ ({ top, height }) => /* @__PURE__ */ jsx(
3105
+ "div",
3106
+ {
3107
+ className: "absolute left-0 right-0 cursor-col-resize pointer-events-auto group",
3108
+ style: { top: `${top}px`, height: tableHeight ? `${height}px` : "100%" },
3109
+ onMouseDown: (e) => startColDrag(e, i),
3110
+ children: /* @__PURE__ */ jsx("div", { className: "w-px h-full mx-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3111
+ },
3112
+ top
3113
+ )
3114
+ )
3098
3115
  },
3099
3116
  `col-h-${i}`
3100
3117
  )),
3101
3118
  rowBounds.map((topPx, i) => /* @__PURE__ */ jsx(
3102
3119
  "div",
3103
3120
  {
3104
- className: "absolute left-0 right-0 h-[6px] cursor-row-resize z-10 pointer-events-auto group",
3121
+ className: "absolute left-0 right-0 h-[6px] z-10 pointer-events-none",
3105
3122
  style: { top: `${topPx - 3}px` },
3106
- onMouseDown: (e) => startRowDrag(e, i),
3107
- children: /* @__PURE__ */ jsx("div", { className: "h-px w-full my-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3123
+ children: rowHandleSegments(crossings.rows[i] ?? [], columnWidths).map(({ leftPct, widthPct }) => /* @__PURE__ */ jsx(
3124
+ "div",
3125
+ {
3126
+ className: "absolute top-0 bottom-0 cursor-row-resize pointer-events-auto group",
3127
+ style: { left: `${leftPct}%`, width: `${widthPct}%` },
3128
+ onMouseDown: (e) => startRowDrag(e, i),
3129
+ children: /* @__PURE__ */ jsx("div", { className: "h-px w-full my-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3130
+ },
3131
+ leftPct
3132
+ ))
3108
3133
  },
3109
3134
  `row-h-${i}`
3110
3135
  ))
@@ -3141,6 +3166,7 @@ function renderTableFromTableData(element, textStyle, options) {
3141
3166
  TableResizeOverlay,
3142
3167
  {
3143
3168
  columnWidths: tableData.columnWidths,
3169
+ rows: tableData.rows,
3144
3170
  editable: isEditable,
3145
3171
  onResizeColumns: options?.onResizeColumns,
3146
3172
  onResizeRow: options?.onResizeRow,
@@ -3301,6 +3327,7 @@ function renderTableElement(element, textStyle, options) {
3301
3327
  TableResizeOverlay,
3302
3328
  {
3303
3329
  columnWidths: parsedTable.columnPercentages.map((p) => p / 100),
3330
+ rows: tableEl.tableData?.rows,
3304
3331
  editable: isEditable,
3305
3332
  onResizeColumns: options?.onResizeColumns,
3306
3333
  onResizeRow: options?.onResizeRow,
Binary file
Binary file
@@ -3003,14 +3003,20 @@ function TableCellInput({
3003
3003
  function TableResizeOverlay({
3004
3004
  children,
3005
3005
  columnWidths,
3006
+ rows,
3006
3007
  editable,
3007
3008
  onResizeColumns,
3008
3009
  onResizeRow
3009
3010
  }) {
3010
3011
  const containerRef = React8.useRef(null);
3011
3012
  const [rowBounds, setRowBounds] = React8.useState([]);
3013
+ const [tableHeight, setTableHeight] = React8.useState(0);
3012
3014
  const dragRef = React8.useRef(null);
3013
3015
  const colBoundaries = React8.useMemo(() => pptx.computeColumnBoundaries(columnWidths), [columnWidths]);
3016
+ const crossings = React8.useMemo(
3017
+ () => pptx.computeTableMergeCrossings(rows ?? [], columnWidths.length),
3018
+ [rows, columnWidths.length]
3019
+ );
3014
3020
  const measureRows = React8.useCallback(() => {
3015
3021
  const container = containerRef.current;
3016
3022
  if (!container) {
@@ -3029,6 +3035,7 @@ function TableResizeOverlay({
3029
3035
  bounds.push(cumHeight);
3030
3036
  }
3031
3037
  });
3038
+ setTableHeight(table.offsetHeight);
3032
3039
  setRowBounds((prev) => {
3033
3040
  if (prev.length === bounds.length && prev.every((v, i) => v === bounds[i])) {
3034
3041
  return prev;
@@ -3090,7 +3097,7 @@ function TableResizeOverlay({
3090
3097
  type: "col",
3091
3098
  index,
3092
3099
  startPos: e.clientX,
3093
- handleEl: e.currentTarget,
3100
+ handleEl: e.currentTarget.parentElement ?? e.currentTarget,
3094
3101
  initialWidths: [...columnWidths]
3095
3102
  };
3096
3103
  };
@@ -3106,7 +3113,7 @@ function TableResizeOverlay({
3106
3113
  type: "row",
3107
3114
  index,
3108
3115
  startPos: e.clientY,
3109
- handleEl: e.currentTarget,
3116
+ handleEl: e.currentTarget.parentElement ?? e.currentTarget,
3110
3117
  initialRowHeight: actualHeight
3111
3118
  };
3112
3119
  };
@@ -3115,20 +3122,38 @@ function TableResizeOverlay({
3115
3122
  colBoundaries.map((leftPct, i) => /* @__PURE__ */ jsxRuntime.jsx(
3116
3123
  "div",
3117
3124
  {
3118
- className: "absolute top-0 bottom-0 w-[6px] cursor-col-resize z-10 pointer-events-auto group",
3125
+ className: "absolute top-0 bottom-0 w-[6px] z-10 pointer-events-none",
3119
3126
  style: { left: `calc(${leftPct}% - 3px)` },
3120
- onMouseDown: (e) => startColDrag(e, i),
3121
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-full mx-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3127
+ children: pptx.columnHandleSegments(crossings.columns[i] ?? [], rowBounds, tableHeight).map(
3128
+ ({ top, height }) => /* @__PURE__ */ jsxRuntime.jsx(
3129
+ "div",
3130
+ {
3131
+ className: "absolute left-0 right-0 cursor-col-resize pointer-events-auto group",
3132
+ style: { top: `${top}px`, height: tableHeight ? `${height}px` : "100%" },
3133
+ onMouseDown: (e) => startColDrag(e, i),
3134
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-px h-full mx-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3135
+ },
3136
+ top
3137
+ )
3138
+ )
3122
3139
  },
3123
3140
  `col-h-${i}`
3124
3141
  )),
3125
3142
  rowBounds.map((topPx, i) => /* @__PURE__ */ jsxRuntime.jsx(
3126
3143
  "div",
3127
3144
  {
3128
- className: "absolute left-0 right-0 h-[6px] cursor-row-resize z-10 pointer-events-auto group",
3145
+ className: "absolute left-0 right-0 h-[6px] z-10 pointer-events-none",
3129
3146
  style: { top: `${topPx - 3}px` },
3130
- onMouseDown: (e) => startRowDrag(e, i),
3131
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px w-full my-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3147
+ children: pptx.rowHandleSegments(crossings.rows[i] ?? [], columnWidths).map(({ leftPct, widthPct }) => /* @__PURE__ */ jsxRuntime.jsx(
3148
+ "div",
3149
+ {
3150
+ className: "absolute top-0 bottom-0 cursor-row-resize pointer-events-auto group",
3151
+ style: { left: `${leftPct}%`, width: `${widthPct}%` },
3152
+ onMouseDown: (e) => startRowDrag(e, i),
3153
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px w-full my-auto bg-transparent group-hover:bg-blue-400/60 transition-colors" })
3154
+ },
3155
+ leftPct
3156
+ ))
3132
3157
  },
3133
3158
  `row-h-${i}`
3134
3159
  ))
@@ -3165,6 +3190,7 @@ function renderTableFromTableData(element, textStyle, options) {
3165
3190
  TableResizeOverlay,
3166
3191
  {
3167
3192
  columnWidths: tableData.columnWidths,
3193
+ rows: tableData.rows,
3168
3194
  editable: isEditable,
3169
3195
  onResizeColumns: options?.onResizeColumns,
3170
3196
  onResizeRow: options?.onResizeRow,
@@ -3325,6 +3351,7 @@ function renderTableElement(element, textStyle, options) {
3325
3351
  TableResizeOverlay,
3326
3352
  {
3327
3353
  columnWidths: parsedTable.columnPercentages.map((p) => p / 100),
3354
+ rows: tableEl.tableData?.rows,
3328
3355
  editable: isEditable,
3329
3356
  onResizeColumns: options?.onResizeColumns,
3330
3357
  onResizeRow: options?.onResizeRow,