pptx-react-viewer 3.0.1 → 3.0.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 (99) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{AiChatPanel-NLIUZ5RI.js → AiChatPanel-235ZZA3Y.js} +23 -23
  3. package/dist/AiChatPanel-235ZZA3Y.js.br +0 -0
  4. package/dist/AiChatPanel-235ZZA3Y.js.gz +0 -0
  5. package/dist/{AiChatPanel-DMBQPAGB.mjs → AiChatPanel-DYOBY6OG.mjs} +3 -3
  6. package/dist/AiChatPanel-DYOBY6OG.mjs.br +0 -0
  7. package/dist/AiChatPanel-DYOBY6OG.mjs.gz +0 -0
  8. package/dist/{Model3DScene-JNZN42TU.js → Model3DScene-5QDYQF55.js} +2 -2
  9. package/dist/Model3DScene-5QDYQF55.js.br +0 -0
  10. package/dist/Model3DScene-5QDYQF55.js.gz +0 -0
  11. package/dist/{Model3DScene-ZO6U7YVU.mjs → Model3DScene-A3652H7T.mjs} +1 -1
  12. package/dist/Model3DScene-A3652H7T.mjs.br +0 -0
  13. package/dist/Model3DScene-A3652H7T.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-P6CVRWDQ.mjs → SurfaceChart3DScene-N66TY4SW.mjs} +1 -1
  15. package/dist/SurfaceChart3DScene-N66TY4SW.mjs.br +0 -0
  16. package/dist/SurfaceChart3DScene-N66TY4SW.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-PGD4ZCLI.js → SurfaceChart3DScene-QHENN3AF.js} +2 -2
  18. package/dist/SurfaceChart3DScene-QHENN3AF.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-QHENN3AF.js.gz +0 -0
  20. package/dist/{chunk-SDOQKSKI.js → chunk-35YJ5RLU.js} +10 -10
  21. package/dist/chunk-35YJ5RLU.js.br +0 -0
  22. package/dist/{chunk-SDOQKSKI.js.gz → chunk-35YJ5RLU.js.gz} +0 -0
  23. package/dist/{chunk-3MW6F3K7.js → chunk-7HUYHWQS.js} +389 -389
  24. package/dist/chunk-7HUYHWQS.js.br +0 -0
  25. package/dist/chunk-7HUYHWQS.js.gz +0 -0
  26. package/dist/{chunk-VGHEHM66.mjs → chunk-CY24IMMZ.mjs} +188 -164
  27. package/dist/chunk-CY24IMMZ.mjs.br +0 -0
  28. package/dist/chunk-CY24IMMZ.mjs.gz +0 -0
  29. package/dist/{chunk-OB4PKKIN.mjs → chunk-EVXT7HLY.mjs} +1 -1
  30. package/dist/chunk-EVXT7HLY.mjs.br +0 -0
  31. package/dist/chunk-EVXT7HLY.mjs.gz +0 -0
  32. package/dist/{chunk-WFMSDYVQ.js → chunk-GJ7E44BG.js} +3 -3
  33. package/dist/chunk-GJ7E44BG.js.br +0 -0
  34. package/dist/chunk-GJ7E44BG.js.gz +0 -0
  35. package/dist/{chunk-OXPD2UYI.mjs → chunk-M2TISD4A.mjs} +10 -10
  36. package/dist/chunk-M2TISD4A.mjs.br +0 -0
  37. package/dist/{chunk-OXPD2UYI.mjs.gz → chunk-M2TISD4A.mjs.gz} +0 -0
  38. package/dist/{chunk-S6PFSR7I.mjs → chunk-QG7TXWXP.mjs} +1 -1
  39. package/dist/chunk-QG7TXWXP.mjs.br +0 -0
  40. package/dist/chunk-QG7TXWXP.mjs.gz +0 -0
  41. package/dist/{chunk-XMLPTDPM.js → chunk-UU6NFFRR.js} +147 -147
  42. package/dist/chunk-UU6NFFRR.js.br +0 -0
  43. package/dist/chunk-UU6NFFRR.js.gz +0 -0
  44. package/dist/{chunk-BGAJLL4N.mjs → chunk-YISXETNN.mjs} +2 -2
  45. package/dist/chunk-YISXETNN.mjs.br +0 -0
  46. package/dist/chunk-YISXETNN.mjs.gz +0 -0
  47. package/dist/{chunk-54SDLPJY.js → chunk-Z4RY432D.js} +1221 -1197
  48. package/dist/chunk-Z4RY432D.js.br +0 -0
  49. package/dist/chunk-Z4RY432D.js.gz +0 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +45 -45
  52. package/dist/index.js.br +0 -0
  53. package/dist/index.js.gz +0 -0
  54. package/dist/index.mjs +5 -5
  55. package/dist/index.mjs.br +0 -0
  56. package/dist/index.mjs.gz +0 -0
  57. package/dist/internals.js +78 -78
  58. package/dist/internals.js.br +0 -0
  59. package/dist/internals.js.gz +0 -0
  60. package/dist/internals.mjs +3 -3
  61. package/dist/internals.mjs.br +0 -0
  62. package/dist/internals.mjs.gz +0 -0
  63. package/dist/viewer/index.js +26 -26
  64. package/dist/viewer/index.js.br +0 -0
  65. package/dist/viewer/index.js.gz +0 -0
  66. package/dist/viewer/index.mjs +5 -5
  67. package/dist/viewer/index.mjs.br +0 -0
  68. package/dist/viewer/index.mjs.gz +0 -0
  69. package/package.json +2 -2
  70. package/dist/AiChatPanel-DMBQPAGB.mjs.br +0 -0
  71. package/dist/AiChatPanel-DMBQPAGB.mjs.gz +0 -0
  72. package/dist/AiChatPanel-NLIUZ5RI.js.br +0 -0
  73. package/dist/AiChatPanel-NLIUZ5RI.js.gz +0 -0
  74. package/dist/Model3DScene-JNZN42TU.js.br +0 -0
  75. package/dist/Model3DScene-JNZN42TU.js.gz +0 -0
  76. package/dist/Model3DScene-ZO6U7YVU.mjs.br +0 -0
  77. package/dist/Model3DScene-ZO6U7YVU.mjs.gz +0 -0
  78. package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.br +0 -0
  79. package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.gz +0 -0
  80. package/dist/SurfaceChart3DScene-PGD4ZCLI.js.br +0 -0
  81. package/dist/SurfaceChart3DScene-PGD4ZCLI.js.gz +0 -0
  82. package/dist/chunk-3MW6F3K7.js.br +0 -0
  83. package/dist/chunk-3MW6F3K7.js.gz +0 -0
  84. package/dist/chunk-54SDLPJY.js.br +0 -0
  85. package/dist/chunk-54SDLPJY.js.gz +0 -0
  86. package/dist/chunk-BGAJLL4N.mjs.br +0 -0
  87. package/dist/chunk-BGAJLL4N.mjs.gz +0 -0
  88. package/dist/chunk-OB4PKKIN.mjs.br +0 -0
  89. package/dist/chunk-OB4PKKIN.mjs.gz +0 -0
  90. package/dist/chunk-OXPD2UYI.mjs.br +0 -0
  91. package/dist/chunk-S6PFSR7I.mjs.br +0 -0
  92. package/dist/chunk-S6PFSR7I.mjs.gz +0 -0
  93. package/dist/chunk-SDOQKSKI.js.br +0 -0
  94. package/dist/chunk-VGHEHM66.mjs.br +0 -0
  95. package/dist/chunk-VGHEHM66.mjs.gz +0 -0
  96. package/dist/chunk-WFMSDYVQ.js.br +0 -0
  97. package/dist/chunk-WFMSDYVQ.js.gz +0 -0
  98. package/dist/chunk-XMLPTDPM.js.br +0 -0
  99. package/dist/chunk-XMLPTDPM.js.gz +0 -0
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-OB4PKKIN.mjs';
2
- import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-BGAJLL4N.mjs';
3
- import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-S6PFSR7I.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-EVXT7HLY.mjs';
2
+ import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-YISXETNN.mjs';
3
+ import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-QG7TXWXP.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-L5MNLIQF.mjs';
5
- import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, 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, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OXPD2UYI.mjs';
5
+ import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, 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, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, getElementTransformWithoutRotation, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-M2TISD4A.mjs';
6
6
  import React15, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, Fragment as Fragment$1, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -485,7 +485,7 @@ function FailedToLoad() {
485
485
  var LazySurfaceChart3DScene = React15.lazy(
486
486
  async () => {
487
487
  try {
488
- return await import('./SurfaceChart3DScene-P6CVRWDQ.mjs');
488
+ return await import('./SurfaceChart3DScene-N66TY4SW.mjs');
489
489
  } catch {
490
490
  return { default: FailedToLoad };
491
491
  }
@@ -1094,7 +1094,9 @@ function ResizeHandles({
1094
1094
  onResizePointerDown(elementId, e, handle);
1095
1095
  };
1096
1096
  const startRotate = (btn, pointerId) => {
1097
- const wrapper = btn.closest("[data-element-id]");
1097
+ const wrapper = btn.closest(
1098
+ "[data-pptx-selection-handle-host], [data-element-id]"
1099
+ );
1098
1100
  if (!wrapper) {
1099
1101
  return;
1100
1102
  }
@@ -1585,23 +1587,6 @@ function getContainerStyle({
1585
1587
  ...templateEditing ? { outline: "2px dashed rgb(217, 119, 6)", outlineOffset: "1px", opacity: opacity ?? 0.95 } : {}
1586
1588
  };
1587
1589
  }
1588
- function getHandleHostStyle({
1589
- el,
1590
- isFullscreenMedia,
1591
- zIndex
1592
- }) {
1593
- return {
1594
- position: "absolute",
1595
- left: isFullscreenMedia ? 0 : el.x,
1596
- top: isFullscreenMedia ? 0 : el.y,
1597
- width: isFullscreenMedia ? "100%" : Math.max(el.width, MIN_ELEMENT_SIZE),
1598
- height: isFullscreenMedia ? "100%" : Math.max(el.height, MIN_ELEMENT_SIZE),
1599
- transform: isFullscreenMedia ? "none" : getElementTransform(el),
1600
- transformOrigin: "center",
1601
- zIndex: isFullscreenMedia ? 21 : zIndex,
1602
- pointerEvents: "none"
1603
- };
1604
- }
1605
1590
 
1606
1591
  // src/viewer/components/elements/element-shape-params.ts
1607
1592
  function shapeParams(element) {
@@ -1856,7 +1841,6 @@ var ElementRenderer = React15.memo(
1856
1841
  adjustmentHandles: adjH,
1857
1842
  onResizePointerDown,
1858
1843
  onAdjustmentPointerDown,
1859
- onRotate,
1860
1844
  onInlineEditChange,
1861
1845
  onInlineEditCommit,
1862
1846
  onInlineEditCancel,
@@ -1950,7 +1934,6 @@ var ElementRenderer = React15.memo(
1950
1934
  );
1951
1935
  }
1952
1936
  const effectiveCanInteract = canInteract && allow.selectable;
1953
- const effectiveShowResizeHandles = showResizeHandles && allow.resizable;
1954
1937
  const effectiveIsInlineEditing = isInlineEditing && allow.textEditable;
1955
1938
  const canEditSmartArt = effectiveCanInteract && allow.textEditable;
1956
1939
  const canEditChart = effectiveCanInteract;
@@ -1979,144 +1962,123 @@ var ElementRenderer = React15.memo(
1979
1962
  onInlineEditCancel,
1980
1963
  onActionClick
1981
1964
  });
1982
- return /* @__PURE__ */ jsxs(Fragment, { children: [
1983
- /* @__PURE__ */ jsxs(
1984
- "div",
1985
- {
1986
- "data-pptx-element": "true",
1987
- "data-element-id": el.id,
1988
- "data-pptx-action": isActionable ? "click" : void 0,
1989
- role: ariaRole,
1990
- "aria-label": ariaLabel,
1991
- "aria-roledescription": ariaRoleDescription,
1992
- "aria-selected": isSelected ? true : void 0,
1993
- tabIndex: isFocusable ? 0 : -1,
1994
- className: cn(
1995
- "absolute",
1996
- "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1997
- cur,
1998
- // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1999
- // (injected by `PresentationStage`) owns hit-testing there, because
2000
- // it is the only form that can re-enable an action shape nested
2001
- // inside inert scenery - an inline `pointer-events: none` on the
2002
- // group could never do that, and React was the one binding that
2003
- // wrote it. Off the show stage the inline rule still applies.
2004
- inlineElementPointerEvents({
2005
- interactive: effectiveCanInteract || isActionable,
2006
- presenting: presenting === true
2007
- }) === "none" ? "pointer-events-none" : "",
2008
- // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
2009
- // outline only, so its interior must not swallow clicks meant for what it
2010
- // is drawn over. ShapeEffectOverlay paints a transparent
2011
- // pointer-events:stroke band that opts the outline back in.
2012
- isHollowShapeElement(el) ? "pointer-events-none" : "",
2013
- isFullscreenMedia ? "pointer-events-auto" : "",
2014
- selB,
2015
- // Shared class the tooltip's `:hover` rule keys off (see
2016
- // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
2017
- // so the four non-Tailwind bindings reveal it the same way.
2018
- actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
2019
- ),
2020
- style: getContainerStyle({
1965
+ return /* @__PURE__ */ jsxs(
1966
+ "div",
1967
+ {
1968
+ "data-pptx-element": "true",
1969
+ "data-element-id": el.id,
1970
+ "data-pptx-action": isActionable ? "click" : void 0,
1971
+ role: ariaRole,
1972
+ "aria-label": ariaLabel,
1973
+ "aria-roledescription": ariaRoleDescription,
1974
+ "aria-selected": isSelected ? true : void 0,
1975
+ tabIndex: isFocusable ? 0 : -1,
1976
+ className: cn(
1977
+ "absolute",
1978
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1979
+ cur,
1980
+ // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1981
+ // (injected by `PresentationStage`) owns hit-testing there, because
1982
+ // it is the only form that can re-enable an action shape nested
1983
+ // inside inert scenery - an inline `pointer-events: none` on the
1984
+ // group could never do that, and React was the one binding that
1985
+ // wrote it. Off the show stage the inline rule still applies.
1986
+ inlineElementPointerEvents({
1987
+ interactive: effectiveCanInteract || isActionable,
1988
+ presenting: presenting === true
1989
+ }) === "none" ? "pointer-events-none" : "",
1990
+ // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
1991
+ // outline only, so its interior must not swallow clicks meant for what it
1992
+ // is drawn over. ShapeEffectOverlay paints a transparent
1993
+ // pointer-events:stroke band that opts the outline back in.
1994
+ isHollowShapeElement(el) ? "pointer-events-none" : "",
1995
+ isFullscreenMedia ? "pointer-events-auto" : "",
1996
+ selB,
1997
+ // Shared class the tooltip's `:hover` rule keys off (see
1998
+ // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
1999
+ // so the four non-Tailwind bindings reveal it the same way.
2000
+ actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
2001
+ ),
2002
+ style: getContainerStyle({
2003
+ el,
2004
+ isFullscreenMedia,
2005
+ isImg: isImg || isModel3D,
2006
+ zIndex,
2007
+ opacity,
2008
+ animationState,
2009
+ shapeVisualStyle: ss,
2010
+ has3DExtrusion: extrusionData.hasExtrusion,
2011
+ templateEditing
2012
+ }),
2013
+ ...interactionProps,
2014
+ children: [
2015
+ renderDagDuotoneFilterForElement(el),
2016
+ /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
2017
+ extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
2018
+ renderBody({
2021
2019
  el,
2022
- isFullscreenMedia,
2023
- isImg: isImg || isModel3D,
2024
- zIndex,
2025
- opacity,
2026
- animationState,
2027
- shapeVisualStyle: ss,
2028
- has3DExtrusion: extrusionData.hasExtrusion,
2029
- templateEditing
2020
+ isImg,
2021
+ isEditing: effectiveIsInlineEditing,
2022
+ editText: inlineEditingText,
2023
+ spellCheck: spellCheckEnabled,
2024
+ txtSE,
2025
+ txtS: ts,
2026
+ vecShape: vs,
2027
+ imgStyle: getImageRenderStyle(el),
2028
+ imgFilter: getImageEffectsFilter(el),
2029
+ imgOpacity: getImageEffectsOpacity(el),
2030
+ imgAlt: imageAltText,
2031
+ isTxtEl: isTxt,
2032
+ media: mediaDataUrls,
2033
+ tableSt: tableEditorState,
2034
+ isSel: isSelected,
2035
+ doInk,
2036
+ doGrp,
2037
+ renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
2038
+ StaticElementRenderer,
2039
+ {
2040
+ element: child,
2041
+ activeSlide,
2042
+ allSlides,
2043
+ mediaDataUrls,
2044
+ sourceSlideIndex,
2045
+ zIndex: index,
2046
+ animation: presentationElementStates?.get(child.id)?.cssAnimation,
2047
+ exposeElementId: true,
2048
+ parentGroupFill: getGroupChildParentFill(el),
2049
+ onActionClick: el.actionClick ? void 0 : onActionClick,
2050
+ actionRequiresModifier: effectiveCanInteract
2051
+ },
2052
+ child.id
2053
+ ),
2054
+ onEditChange: onInlineEditChange,
2055
+ onCommit: onInlineEditCommit,
2056
+ onCancel: onInlineEditCancel,
2057
+ onCellSel: cellSelectHandler,
2058
+ onCellCommit: cellCommitHandler,
2059
+ onColResize: colResizeHandler,
2060
+ onRowResize: rowResizeHandler,
2061
+ findHl: findHighlights,
2062
+ onHyperlinkClick,
2063
+ isPresentationPassive,
2064
+ handleMediaPlayStateChange,
2065
+ presentationElementStates,
2066
+ slideElements: activeSlide?.elements,
2067
+ allSlides,
2068
+ onZoomClick,
2069
+ sourceSlideIndex,
2070
+ fieldContext,
2071
+ tableStyleContext,
2072
+ canEditSmartArt,
2073
+ onUpdateSmartArtElement: smartArtUpdateHandler,
2074
+ canEditChart,
2075
+ onUpdateChartElement: chartUpdateHandler,
2076
+ onFormatText
2030
2077
  }),
2031
- ...interactionProps,
2032
- children: [
2033
- renderDagDuotoneFilterForElement(el),
2034
- /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
2035
- extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
2036
- renderBody({
2037
- el,
2038
- isImg,
2039
- isEditing: effectiveIsInlineEditing,
2040
- editText: inlineEditingText,
2041
- spellCheck: spellCheckEnabled,
2042
- txtSE,
2043
- txtS: ts,
2044
- vecShape: vs,
2045
- imgStyle: getImageRenderStyle(el),
2046
- imgFilter: getImageEffectsFilter(el),
2047
- imgOpacity: getImageEffectsOpacity(el),
2048
- imgAlt: imageAltText,
2049
- isTxtEl: isTxt,
2050
- media: mediaDataUrls,
2051
- tableSt: tableEditorState,
2052
- isSel: isSelected,
2053
- doInk,
2054
- doGrp,
2055
- renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
2056
- StaticElementRenderer,
2057
- {
2058
- element: child,
2059
- activeSlide,
2060
- allSlides,
2061
- mediaDataUrls,
2062
- sourceSlideIndex,
2063
- zIndex: index,
2064
- animation: presentationElementStates?.get(child.id)?.cssAnimation,
2065
- exposeElementId: true,
2066
- parentGroupFill: getGroupChildParentFill(el),
2067
- onActionClick: el.actionClick ? void 0 : onActionClick,
2068
- actionRequiresModifier: effectiveCanInteract
2069
- },
2070
- child.id
2071
- ),
2072
- onEditChange: onInlineEditChange,
2073
- onCommit: onInlineEditCommit,
2074
- onCancel: onInlineEditCancel,
2075
- onCellSel: cellSelectHandler,
2076
- onCellCommit: cellCommitHandler,
2077
- onColResize: colResizeHandler,
2078
- onRowResize: rowResizeHandler,
2079
- findHl: findHighlights,
2080
- onHyperlinkClick,
2081
- isPresentationPassive,
2082
- handleMediaPlayStateChange,
2083
- presentationElementStates,
2084
- slideElements: activeSlide?.elements,
2085
- allSlides,
2086
- onZoomClick,
2087
- sourceSlideIndex,
2088
- fieldContext,
2089
- tableStyleContext,
2090
- canEditSmartArt,
2091
- onUpdateSmartArtElement: smartArtUpdateHandler,
2092
- canEditChart,
2093
- onUpdateChartElement: chartUpdateHandler,
2094
- onFormatText
2095
- }),
2096
- /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance })
2097
- ]
2098
- }
2099
- ),
2100
- effectiveShowResizeHandles && !effectiveIsInlineEditing && // A SIBLING of the shape's own (possibly clip-path'd) container, not a
2101
- // child: `clip-path` excludes every descendant from hit-testing, not
2102
- // just paint, so a handle measured onto a preset vertex outside the
2103
- // shape's silhouette (see `getHandleHostStyle`) would be unclickable
2104
- // if nested inside it. `pointerEvents: 'none'` on the host keeps every
2105
- // non-handle pixel click-through to whatever is actually under it.
2106
- /* @__PURE__ */ jsx("div", { style: getHandleHostStyle({ el, isFullscreenMedia, zIndex }), children: /* @__PURE__ */ jsx(
2107
- ResizeHandles,
2108
- {
2109
- elementId: el.id,
2110
- adjustmentHandles: adjH,
2111
- onResizePointerDown,
2112
- onAdjustmentPointerDown,
2113
- rotation: el.rotation,
2114
- nonRotationTransform: getElementTransformWithoutRotation(el),
2115
- onRotate: allow.rotatable ? onRotate : void 0,
2116
- forcePointerEvents: true
2117
- }
2118
- ) })
2119
- ] });
2078
+ /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance })
2079
+ ]
2080
+ }
2081
+ );
2120
2082
  }
2121
2083
  );
2122
2084
  function renderPressureStroke(pathD, widths, baseWidth, color, opacity, keyPrefix) {
@@ -2678,7 +2640,7 @@ function FailedToLoad2() {
2678
2640
  var LazyModel3DScene = React15.lazy(
2679
2641
  async () => {
2680
2642
  try {
2681
- return await import('./Model3DScene-ZO6U7YVU.mjs');
2643
+ return await import('./Model3DScene-A3652H7T.mjs');
2682
2644
  } catch {
2683
2645
  return { default: FailedToLoad2 };
2684
2646
  }
@@ -5872,7 +5834,7 @@ function AccountPage() {
5872
5834
  return void 0;
5873
5835
  });
5874
5836
  };
5875
- const version = "3.0.0" ;
5837
+ const version = "3.0.2" ;
5876
5838
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
5877
5839
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
5878
5840
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -11085,6 +11047,55 @@ function Ruler({
11085
11047
  )
11086
11048
  ] });
11087
11049
  }
11050
+ function SelectionHandleOverlay({
11051
+ element,
11052
+ adjustmentHandles,
11053
+ onResizePointerDown,
11054
+ onAdjustmentPointerDown,
11055
+ onRotate,
11056
+ onClick,
11057
+ onDoubleClick,
11058
+ onContextMenu
11059
+ }) {
11060
+ const allow = resolveElementInteractivity(element);
11061
+ return /* @__PURE__ */ jsx(
11062
+ "div",
11063
+ {
11064
+ "data-pptx-handle-for": element.id,
11065
+ "data-pptx-selection-handle-host": "true",
11066
+ style: {
11067
+ position: "absolute",
11068
+ left: element.x,
11069
+ top: element.y,
11070
+ width: Math.max(element.width, MIN_ELEMENT_SIZE),
11071
+ height: Math.max(element.height, MIN_ELEMENT_SIZE),
11072
+ transform: getElementTransform(element),
11073
+ transformOrigin: "center",
11074
+ // Transparent everywhere a handle button is not, so a click that
11075
+ // misses every handle still reaches the shape (or whatever is
11076
+ // behind it) exactly as if this host did not exist. `ResizeHandles`
11077
+ // renders with `forcePointerEvents` so its own buttons opt back in.
11078
+ pointerEvents: "none"
11079
+ },
11080
+ onClick: (e) => onClick(element.id, e),
11081
+ onDoubleClick: (e) => onDoubleClick(element.id, e),
11082
+ onContextMenu: (e) => onContextMenu(element.id, e),
11083
+ children: /* @__PURE__ */ jsx(
11084
+ ResizeHandles,
11085
+ {
11086
+ elementId: element.id,
11087
+ adjustmentHandles,
11088
+ onResizePointerDown,
11089
+ onAdjustmentPointerDown,
11090
+ rotation: element.rotation,
11091
+ nonRotationTransform: getElementTransformWithoutRotation(element),
11092
+ onRotate: allow.rotatable ? onRotate : void 0,
11093
+ forcePointerEvents: true
11094
+ }
11095
+ )
11096
+ }
11097
+ );
11098
+ }
11088
11099
 
11089
11100
  // src/viewer/components/canvas/canvas-types.ts
11090
11101
  function getElementIdFromEvent(e) {
@@ -12022,6 +12033,19 @@ function SlideCanvas({
12022
12033
  },
12023
12034
  element.id
12024
12035
  )),
12036
+ isEditableCanvas && selectedElement && selectedElementIdSet.size <= 1 && !inlineEditingElementId && !isConnectorOrLineElement(selectedElement) && /* @__PURE__ */ jsx(
12037
+ SelectionHandleOverlay,
12038
+ {
12039
+ element: selectedElement,
12040
+ adjustmentHandles: getShapeAdjustmentHandleDescriptors(selectedElement),
12041
+ onResizePointerDown: stableResizePointerDown,
12042
+ onAdjustmentPointerDown: stableAdjustmentPointerDown,
12043
+ onRotate: stableRotate,
12044
+ onClick,
12045
+ onDoubleClick,
12046
+ onContextMenu
12047
+ }
12048
+ ),
12025
12049
  /* @__PURE__ */ jsx(MarqueeOverlay, { marqueeSelectionState }),
12026
12050
  activeSlide?.activeXControls && activeSlide.activeXControls.length > 0 && /* @__PURE__ */ jsx(ActiveXControlOverlay, { controls: activeSlide.activeXControls, canvasSize }),
12027
12051
  showCommentMarkers && comments && comments.length > 0 && /* @__PURE__ */ jsx(
@@ -34572,7 +34596,7 @@ ${url}`)) {
34572
34596
  var AiChatPanel = lazy(async () => {
34573
34597
  const [{ useChat }, { default: Panel }] = await Promise.all([
34574
34598
  import('@ai-sdk/react'),
34575
- import('./AiChatPanel-DMBQPAGB.mjs')
34599
+ import('./AiChatPanel-DYOBY6OG.mjs')
34576
34600
  ]);
34577
34601
  function BoundAiChatPanel(props) {
34578
34602
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter } from './chunk-OXPD2UYI.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter } from './chunk-M2TISD4A.mjs';
2
2
  import { __export } from './chunk-XGB3TDIC.mjs';
3
3
  import * as mcp from 'pptx-viewer-mcp';
4
4
  import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkSDOQKSKI_js = require('./chunk-SDOQKSKI.js');
3
+ var chunk35YJ5RLU_js = require('./chunk-35YJ5RLU.js');
4
4
  var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
5
5
  var mcp = require('pptx-viewer-mcp');
6
6
  var mcpSchemas = require('pptx-viewer-mcp/schemas');
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
14879
14879
  };
14880
14880
  let markdown;
14881
14881
  try {
14882
- const converter = new chunkSDOQKSKI_js.PptxMarkdownConverter(
14882
+ const converter = new chunk35YJ5RLU_js.PptxMarkdownConverter(
14883
14883
  "",
14884
14884
  {
14885
14885
  sourceName: meta3.title ?? "deck.pptx",
@@ -15471,7 +15471,7 @@ var getTheme = (ctx) => {
15471
15471
  name: theme?.name,
15472
15472
  colorScheme: theme?.colorScheme,
15473
15473
  fontScheme: theme?.fontScheme,
15474
- availablePresets: Object.keys(chunkSDOQKSKI_js.ThemePresets)
15474
+ availablePresets: Object.keys(chunk35YJ5RLU_js.ThemePresets)
15475
15475
  };
15476
15476
  };
15477
15477
  var readExecutors = {
Binary file
Binary file
@@ -99811,6 +99811,15 @@ function strokeOnlyPresetPathData(element) {
99811
99811
  const stroked = paths.filter((path) => path.stroke !== false).map((path) => path.d);
99812
99812
  return stroked.length > 0 ? stroked.join(" ") : void 0;
99813
99813
  }
99814
+ function hasStrokePaint(style) {
99815
+ if (!style || Math.max(0, style.strokeWidth ?? 0) <= 0) {
99816
+ return false;
99817
+ }
99818
+ return style.strokeColor !== void 0 || style.strokeFillMode !== void 0;
99819
+ }
99820
+ function paintedStrokeWidth(style) {
99821
+ return hasStrokePaint(style) ? Math.max(0, style?.strokeWidth ?? 0) : 0;
99822
+ }
99814
99823
  function clampUnit(value) {
99815
99824
  return value < 0 ? 0 : value > 1 ? 1 : value;
99816
99825
  }
@@ -100384,7 +100393,7 @@ function outlineStrands(compoundLine, strokeWidth) {
100384
100393
  return offsets.map((offset, idx) => ({ strokeWidth: widths[idx] ?? strokeWidth, offset }));
100385
100394
  }
100386
100395
  function needsCenteredStrokeOverlay(element, style, declaredWidth) {
100387
- if (!style || declaredWidth <= 0 || element.type === "connector") {
100396
+ if (!style || declaredWidth <= 0 || element.type === "connector" || !hasStrokePaint(style)) {
100388
100397
  return false;
100389
100398
  }
100390
100399
  const shapeType = getShapeType(element.shapeType);
@@ -100535,15 +100544,6 @@ function resolveShapeGeometry(element) {
100535
100544
  }
100536
100545
  return { kind: "none" };
100537
100546
  }
100538
- function hasStrokePaint(style) {
100539
- if (!style || Math.max(0, style.strokeWidth ?? 0) <= 0) {
100540
- return false;
100541
- }
100542
- return style.strokeColor !== void 0 || style.strokeFillMode !== void 0;
100543
- }
100544
- function paintedStrokeWidth(style) {
100545
- return hasStrokePaint(style) ? Math.max(0, style?.strokeWidth ?? 0) : 0;
100546
- }
100547
100547
  var NO_STROKE = {
100548
100548
  borderWidth: 0,
100549
100549
  borderStyle: void 0,
Binary file
@@ -1,5 +1,5 @@
1
1
  import { translationsEn } from './chunk-L5MNLIQF.mjs';
2
- import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, isImageLikeElement, getImageTilingStyle, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getComputedFillStyle, getComputedEffectStyle, getComputedStrokeStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx2, getResolvedShapeClipPath, mediaFallbackVisual, registerPersistentAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-OXPD2UYI.mjs';
2
+ import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, isImageLikeElement, getImageTilingStyle, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getComputedFillStyle, getComputedEffectStyle, getComputedStrokeStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx2, getResolvedShapeClipPath, mediaFallbackVisual, registerPersistentAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-M2TISD4A.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import React6, { useRef, useState, useEffect, useCallback, useMemo, useLayoutEffect } from 'react';
Binary file
Binary file