pptx-react-viewer 4.26.0 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +3 -0
  3. package/dist/{AiChatPanel-TIJ3MRTR.mjs → AiChatPanel-6EIOUV7J.mjs} +3 -7
  4. package/dist/AiChatPanel-6EIOUV7J.mjs.br +0 -0
  5. package/dist/AiChatPanel-6EIOUV7J.mjs.gz +0 -0
  6. package/dist/{AiChatPanel-PGZDMW4M.js → AiChatPanel-AK6X4NJD.js} +27 -31
  7. package/dist/AiChatPanel-AK6X4NJD.js.br +0 -0
  8. package/dist/AiChatPanel-AK6X4NJD.js.gz +0 -0
  9. package/dist/{Model3DScene-SJGIK2TB.mjs → Model3DScene-EZDCI7TT.mjs} +2 -2
  10. package/dist/Model3DScene-EZDCI7TT.mjs.br +0 -0
  11. package/dist/Model3DScene-EZDCI7TT.mjs.gz +0 -0
  12. package/dist/{Model3DScene-LQBTZGVN.js → Model3DScene-KYIYYLMY.js} +3 -3
  13. package/dist/Model3DScene-KYIYYLMY.js.br +0 -0
  14. package/dist/Model3DScene-KYIYYLMY.js.gz +0 -0
  15. package/dist/{chunk-QJNZZBVF.mjs → chunk-6YOFWVII.mjs} +149 -167
  16. package/dist/chunk-6YOFWVII.mjs.br +0 -0
  17. package/dist/chunk-6YOFWVII.mjs.gz +0 -0
  18. package/dist/{chunk-ZW2WNQN7.js → chunk-7JMO6R6B.js} +1215 -1190
  19. package/dist/chunk-7JMO6R6B.js.br +0 -0
  20. package/dist/chunk-7JMO6R6B.js.gz +0 -0
  21. package/dist/{chunk-VEVEP7VF.js → chunk-CTL42ZRR.js} +533 -272
  22. package/dist/chunk-CTL42ZRR.js.br +0 -0
  23. package/dist/chunk-CTL42ZRR.js.gz +0 -0
  24. package/dist/{chunk-4VNS5WPM.js → chunk-DFFCFNK2.js} +2 -5
  25. package/dist/chunk-DFFCFNK2.js.br +0 -0
  26. package/dist/chunk-DFFCFNK2.js.gz +0 -0
  27. package/dist/{chunk-K564H64A.mjs → chunk-EW45F35P.mjs} +125 -176
  28. package/dist/chunk-EW45F35P.mjs.br +0 -0
  29. package/dist/chunk-EW45F35P.mjs.gz +0 -0
  30. package/dist/{chunk-XGB3TDIC.mjs → chunk-GDQSMJQZ.mjs} +2 -5
  31. package/dist/chunk-GDQSMJQZ.mjs.br +0 -0
  32. package/dist/chunk-GDQSMJQZ.mjs.gz +0 -0
  33. package/dist/{chunk-PW3YOZFA.js → chunk-K3EGXT6W.js} +921 -933
  34. package/dist/chunk-K3EGXT6W.js.br +0 -0
  35. package/dist/chunk-K3EGXT6W.js.gz +0 -0
  36. package/dist/{chunk-USJXG5TE.mjs → chunk-VI575UU6.mjs} +87 -105
  37. package/dist/chunk-VI575UU6.mjs.br +0 -0
  38. package/dist/chunk-VI575UU6.mjs.gz +0 -0
  39. package/dist/i18n.d.ts +1 -46
  40. package/dist/i18n.js +5 -5
  41. package/dist/i18n.js.br +2 -2
  42. package/dist/i18n.js.gz +0 -0
  43. package/dist/i18n.mjs +2 -2
  44. package/dist/i18n.mjs.br +0 -0
  45. package/dist/i18n.mjs.gz +0 -0
  46. package/dist/index.d.ts +28 -3703
  47. package/dist/index.js +96 -97
  48. package/dist/index.js.br +0 -0
  49. package/dist/index.js.gz +0 -0
  50. package/dist/index.mjs +6 -7
  51. package/dist/index.mjs.br +0 -0
  52. package/dist/index.mjs.gz +0 -0
  53. package/dist/internals.d.ts +16 -3848
  54. package/dist/internals.js +114 -115
  55. package/dist/internals.js.br +0 -0
  56. package/dist/internals.js.gz +0 -0
  57. package/dist/internals.mjs +4 -5
  58. package/dist/internals.mjs.br +0 -0
  59. package/dist/internals.mjs.gz +0 -0
  60. package/dist/{chunk-NJYF5KTY.mjs → three.module-2R4ADL7W.mjs} +2 -0
  61. package/dist/three.module-2R4ADL7W.mjs.br +0 -0
  62. package/dist/three.module-2R4ADL7W.mjs.gz +0 -0
  63. package/dist/{chunk-QS3GAPPA.js → three.module-LS32MK23.js} +2 -0
  64. package/dist/three.module-LS32MK23.js.br +0 -0
  65. package/dist/three.module-LS32MK23.js.gz +0 -0
  66. package/dist/viewer/index.d.ts +29 -2633
  67. package/dist/viewer/index.js +35 -37
  68. package/dist/viewer/index.js.br +0 -0
  69. package/dist/viewer/index.js.gz +0 -0
  70. package/dist/viewer/index.mjs +5 -7
  71. package/dist/viewer/index.mjs.br +0 -0
  72. package/dist/viewer/index.mjs.gz +0 -0
  73. package/dist/{y-webrtc-GAHCEZSS.mjs → y-webrtc-6DZI5KUK.mjs} +1 -1
  74. package/dist/y-webrtc-6DZI5KUK.mjs.br +0 -0
  75. package/dist/y-webrtc-6DZI5KUK.mjs.gz +0 -0
  76. package/dist/{y-webrtc-F2H7BRUK.js → y-webrtc-OTRGEYOH.js} +5 -5
  77. package/dist/y-webrtc-OTRGEYOH.js.br +0 -0
  78. package/dist/y-webrtc-OTRGEYOH.js.gz +0 -0
  79. package/dist/{y-websocket-FBMB63F4.js → y-websocket-AWBYMAHL.js} +1 -1
  80. package/dist/y-websocket-AWBYMAHL.js.br +0 -0
  81. package/dist/y-websocket-AWBYMAHL.js.gz +0 -0
  82. package/dist/{y-websocket-MAGDFVLN.mjs → y-websocket-VAKUVRQT.mjs} +1 -1
  83. package/dist/y-websocket-VAKUVRQT.mjs.br +0 -0
  84. package/dist/y-websocket-VAKUVRQT.mjs.gz +0 -0
  85. package/package.json +4 -4
  86. package/dist/AiChatPanel-PGZDMW4M.js.br +0 -0
  87. package/dist/AiChatPanel-PGZDMW4M.js.gz +0 -0
  88. package/dist/AiChatPanel-TIJ3MRTR.mjs.br +0 -0
  89. package/dist/AiChatPanel-TIJ3MRTR.mjs.gz +0 -0
  90. package/dist/GLTFLoader-O7FNKCHG.mjs +0 -2649
  91. package/dist/GLTFLoader-O7FNKCHG.mjs.br +0 -0
  92. package/dist/GLTFLoader-O7FNKCHG.mjs.gz +0 -0
  93. package/dist/GLTFLoader-UM56GMCK.js +0 -2651
  94. package/dist/GLTFLoader-UM56GMCK.js.br +0 -0
  95. package/dist/GLTFLoader-UM56GMCK.js.gz +0 -0
  96. package/dist/Model3DScene-LQBTZGVN.js.br +0 -0
  97. package/dist/Model3DScene-LQBTZGVN.js.gz +0 -0
  98. package/dist/Model3DScene-SJGIK2TB.mjs.br +0 -0
  99. package/dist/Model3DScene-SJGIK2TB.mjs.gz +0 -0
  100. package/dist/OrbitControls-EXEHIXFI.js +0 -922
  101. package/dist/OrbitControls-EXEHIXFI.js.br +0 -0
  102. package/dist/OrbitControls-EXEHIXFI.js.gz +0 -0
  103. package/dist/OrbitControls-PZQ4CBVS.mjs +0 -920
  104. package/dist/OrbitControls-PZQ4CBVS.mjs.br +0 -0
  105. package/dist/OrbitControls-PZQ4CBVS.mjs.gz +0 -0
  106. package/dist/UTIF-6SHLXCNF.js +0 -6402
  107. package/dist/UTIF-6SHLXCNF.js.br +0 -0
  108. package/dist/UTIF-6SHLXCNF.js.gz +0 -0
  109. package/dist/UTIF-CNNXS5Z5.mjs +0 -6400
  110. package/dist/UTIF-CNNXS5Z5.mjs.br +0 -0
  111. package/dist/UTIF-CNNXS5Z5.mjs.gz +0 -0
  112. package/dist/chunk-4VNS5WPM.js.br +0 -0
  113. package/dist/chunk-4VNS5WPM.js.gz +0 -0
  114. package/dist/chunk-6HMJTCFO.js +0 -4247
  115. package/dist/chunk-6HMJTCFO.js.br +0 -0
  116. package/dist/chunk-6HMJTCFO.js.gz +0 -0
  117. package/dist/chunk-DKMPRUXL.mjs +0 -22197
  118. package/dist/chunk-DKMPRUXL.mjs.br +0 -0
  119. package/dist/chunk-DKMPRUXL.mjs.gz +0 -0
  120. package/dist/chunk-K564H64A.mjs.br +0 -0
  121. package/dist/chunk-K564H64A.mjs.gz +0 -0
  122. package/dist/chunk-LCWNHXHZ.mjs +0 -312894
  123. package/dist/chunk-LCWNHXHZ.mjs.br +0 -0
  124. package/dist/chunk-LCWNHXHZ.mjs.gz +0 -0
  125. package/dist/chunk-NJYF5KTY.mjs.br +0 -0
  126. package/dist/chunk-NJYF5KTY.mjs.gz +0 -0
  127. package/dist/chunk-NWZKMLGC.js +0 -22241
  128. package/dist/chunk-NWZKMLGC.js.br +0 -0
  129. package/dist/chunk-NWZKMLGC.js.gz +0 -0
  130. package/dist/chunk-PW3YOZFA.js.br +0 -0
  131. package/dist/chunk-PW3YOZFA.js.gz +0 -0
  132. package/dist/chunk-QJNZZBVF.mjs.br +0 -0
  133. package/dist/chunk-QJNZZBVF.mjs.gz +0 -0
  134. package/dist/chunk-QS3GAPPA.js.br +0 -0
  135. package/dist/chunk-QS3GAPPA.js.gz +0 -0
  136. package/dist/chunk-UHW3R465.js +0 -314151
  137. package/dist/chunk-UHW3R465.js.br +0 -0
  138. package/dist/chunk-UHW3R465.js.gz +0 -0
  139. package/dist/chunk-USJXG5TE.mjs.br +0 -0
  140. package/dist/chunk-USJXG5TE.mjs.gz +0 -0
  141. package/dist/chunk-VEVEP7VF.js.br +0 -0
  142. package/dist/chunk-VEVEP7VF.js.gz +0 -0
  143. package/dist/chunk-XGB3TDIC.mjs.br +0 -0
  144. package/dist/chunk-XGB3TDIC.mjs.gz +0 -0
  145. package/dist/chunk-XLPQM7OJ.mjs +0 -4243
  146. package/dist/chunk-XLPQM7OJ.mjs.br +0 -0
  147. package/dist/chunk-XLPQM7OJ.mjs.gz +0 -0
  148. package/dist/chunk-ZW2WNQN7.js.br +0 -0
  149. package/dist/chunk-ZW2WNQN7.js.gz +0 -0
  150. package/dist/smartart-layouts-5T2QZGLG.js +0 -2494
  151. package/dist/smartart-layouts-5T2QZGLG.js.br +0 -0
  152. package/dist/smartart-layouts-5T2QZGLG.js.gz +0 -0
  153. package/dist/smartart-layouts-UCAFYVFW.mjs +0 -2487
  154. package/dist/smartart-layouts-UCAFYVFW.mjs.br +0 -0
  155. package/dist/smartart-layouts-UCAFYVFW.mjs.gz +0 -0
  156. package/dist/three.module-BLHG4FHZ.js +0 -1783
  157. package/dist/three.module-BLHG4FHZ.js.br +0 -0
  158. package/dist/three.module-BLHG4FHZ.js.gz +0 -0
  159. package/dist/three.module-ZSSMKKHW.mjs +0 -2
  160. package/dist/three.module-ZSSMKKHW.mjs.br +0 -0
  161. package/dist/three.module-ZSSMKKHW.mjs.gz +0 -0
  162. package/dist/y-webrtc-F2H7BRUK.js.br +0 -0
  163. package/dist/y-webrtc-F2H7BRUK.js.gz +0 -0
  164. package/dist/y-webrtc-GAHCEZSS.mjs.br +0 -0
  165. package/dist/y-webrtc-GAHCEZSS.mjs.gz +0 -0
  166. package/dist/y-websocket-FBMB63F4.js.br +0 -0
  167. package/dist/y-websocket-FBMB63F4.js.gz +0 -0
  168. package/dist/y-websocket-MAGDFVLN.mjs.br +0 -0
  169. package/dist/y-websocket-MAGDFVLN.mjs.gz +0 -0
@@ -1,13 +1,14 @@
1
- import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-DKMPRUXL.mjs';
2
- 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, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, resolveSmartArtDataPalette } from './chunk-K564H64A.mjs';
3
- import { ANIMATION_PRESET_OPTIONS, cn, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, isConnectorOrLineElement, GRID_SIZE, MIN_ELEMENT_SIZE, SHAPE_PRESETS, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS } from './chunk-USJXG5TE.mjs';
4
- import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, isPanelVisible, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, EDITOR_THUMBNAIL_WIDTH, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, normalizeHexColor, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, 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, safeOpenUrl, resolvePresentationAction, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, themeColorSchemesEqual, observeElementHeight, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent2, 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, hasTextProperties, textFontSizePtToPx, hasShapeProperties, 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, isUrlSafe, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, 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, getShapeAdjustmentHandleDescriptors, 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, getElementTransformWithoutRotation, getElementTransform, 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, isImageLikeElement, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, getElementLabel, 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, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, THEME_COLOR_SCHEME_KEYS, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_PATTERN_OPTIONS, TRANSITION_THRUBLK_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, 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, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, 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, addSmartArtNodeAsChild, setSmartArtNodeStyle, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, updateSmartArtNodeText, reorder, cropResetState, clampCropValue, cropResetPatch, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, getEffectSoundAsset, animationEffectLabel, overlayPointerInput, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, OFFICE_COLOR_SWATCHES, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from './chunk-LCWNHXHZ.mjs';
5
- import { LOCALE_CATALOG } from './chunk-XLPQM7OJ.mjs';
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-EW45F35P.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-VI575UU6.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, 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, 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
+ export { THEME_CATALOG, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from 'ooxml-ui/pptx';
6
5
  import React97, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
7
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
7
  import { useTranslation } from 'react-i18next';
9
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';
10
9
  import { createPortal } from 'react-dom';
10
+ import { LOCALE_CATALOG } from 'ooxml-ui/pptx/i18n';
11
+ import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs as exportAiChatLogs$1, applyElementUpdate } from 'ooxml-ui/pptx/ai';
11
12
 
12
13
  var ViewerThemeContext = createContext(void 0);
13
14
  function ViewerThemeProvider({ theme, children }) {
@@ -1209,7 +1210,7 @@ function AccountPage() {
1209
1210
  return void 0;
1210
1211
  });
1211
1212
  };
1212
- const version = "4.26.0" ;
1213
+ const version = "4.29.0" ;
1213
1214
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1214
1215
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1215
1216
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -2528,15 +2529,13 @@ function SlideShowSection(p) {
2528
2529
  ) })
2529
2530
  ] });
2530
2531
  }
2531
-
2532
- // src/viewer/components/toolbar/font-info.ts
2533
2532
  function extractFontInfo(element, themeFonts) {
2534
2533
  const placeholderType = element?.placeholderType;
2535
2534
  const defaults = {
2536
2535
  fontFamily: resolveDefaultFontFamily(placeholderType, themeFonts),
2537
2536
  fontSize: "24"
2538
2537
  };
2539
- if (!element || !hasTextProperties(element)) {
2538
+ if (!element || !(0, dist_exports.hasTextProperties)(element)) {
2540
2539
  return defaults;
2541
2540
  }
2542
2541
  const segStyle = element.textSegments?.[0]?.style;
@@ -2553,13 +2552,11 @@ var ThemeColorMapProvider = ThemeColorMapContext.Provider;
2553
2552
  function useThemeColorMap() {
2554
2553
  return useContext(ThemeColorMapContext);
2555
2554
  }
2556
-
2557
- // src/viewer/components/toolbar/text-section-state.ts
2558
2555
  function getEffectiveTextStyle(element, tableEditorState) {
2559
2556
  if (!element) {
2560
2557
  return void 0;
2561
2558
  }
2562
- if (hasTextProperties(element)) {
2559
+ if ((0, dist_exports.hasTextProperties)(element)) {
2563
2560
  return element.textStyle;
2564
2561
  }
2565
2562
  if (element.type === "table" && tableEditorState && element.tableData) {
@@ -2572,7 +2569,7 @@ function isTextDecorationFlag(id) {
2572
2569
  return TEXT_DECORATION_FLAGS.includes(id);
2573
2570
  }
2574
2571
  function textSectionFlags(element, tableEditorState, readSelection) {
2575
- if (element && hasTextProperties(element)) {
2572
+ if (element && (0, dist_exports.hasTextProperties)(element)) {
2576
2573
  const result = readSelection ? getInlineEditorSelectionResult(element.textSegments) : null;
2577
2574
  const current = result?.kind === "supported" && (!result.snapshot || result.snapshot.elementId === element.id) ? result : null;
2578
2575
  return getSelectionTextStyleFlags(
@@ -2588,7 +2585,7 @@ function textSectionFlags(element, tableEditorState, readSelection) {
2588
2585
  );
2589
2586
  }
2590
2587
  function textSectionBulletKind(element, tableEditorState) {
2591
- if (element && hasTextProperties(element)) {
2588
+ if (element && (0, dist_exports.hasTextProperties)(element)) {
2592
2589
  const result = getInlineEditorSelectionResult(element.textSegments, { preserveCaret: true });
2593
2590
  return result.kind === "supported" && (!result.snapshot || result.snapshot.elementId === element.id) ? selectionBulletKind(element, result.selection, result.snapshot?.textSegments) : elementBulletKind(element);
2594
2591
  }
@@ -2825,7 +2822,7 @@ function subscribe(onChange) {
2825
2822
  }
2826
2823
  function useParagraphListKind(element) {
2827
2824
  const read = useCallback(() => {
2828
- if (!element || !hasTextProperties(element)) {
2825
+ if (!element || !(0, dist_exports.hasTextProperties)(element)) {
2829
2826
  return "none";
2830
2827
  }
2831
2828
  const result = getInlineEditorSelectionResult(element.textSegments, { preserveCaret: true });
@@ -2848,7 +2845,7 @@ function TextSection(p) {
2848
2845
  const hasSel = Boolean(p.selectedElement);
2849
2846
  const canMut = hasSel && p.canEdit;
2850
2847
  const { fontFamily, fontSize } = extractFontInfo(p.selectedElement, p.themeFonts);
2851
- const isTextEl = hasSel && p.selectedElement !== null && hasTextProperties(p.selectedElement);
2848
+ const isTextEl = hasSel && p.selectedElement !== null && (0, dist_exports.hasTextProperties)(p.selectedElement);
2852
2849
  const isTable = hasSel && p.selectedElement?.type === "table";
2853
2850
  const canFormat = isTextEl || isTable;
2854
2851
  const effectiveTs = getEffectiveTextStyle(p.selectedElement, p.tableEditorState);
@@ -2858,15 +2855,15 @@ function TextSection(p) {
2858
2855
  if (!p.canEdit || !canFormat || !p.selectedElement) {
2859
2856
  return;
2860
2857
  }
2861
- if (hasTextProperties(p.selectedElement)) {
2858
+ if ((0, dist_exports.hasTextProperties)(p.selectedElement)) {
2862
2859
  p.onToggleBullets(kind);
2863
2860
  return;
2864
2861
  }
2865
2862
  p.onUpdateTextStyle({ listType: effectiveTs?.listType === kind ? "none" : kind });
2866
2863
  };
2867
- const currentColor = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.color ?? p.selectedElement.textStyle?.color ?? "#000000" : effectiveTs?.color ?? "#000000";
2868
- const currentColorThemeRef = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.colorRef ?? p.selectedElement.textStyle?.colorRef : void 0;
2869
- const currentHighlight = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.highlightColor ?? p.selectedElement.textStyle?.highlightColor ?? "#ffff00" : "#ffff00";
2864
+ const currentColor = isTextEl && p.selectedElement && (0, dist_exports.hasTextProperties)(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.color ?? p.selectedElement.textStyle?.color ?? "#000000" : effectiveTs?.color ?? "#000000";
2865
+ const currentColorThemeRef = isTextEl && p.selectedElement && (0, dist_exports.hasTextProperties)(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.colorRef ?? p.selectedElement.textStyle?.colorRef : void 0;
2866
+ const currentHighlight = isTextEl && p.selectedElement && (0, dist_exports.hasTextProperties)(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.highlightColor ?? p.selectedElement.textStyle?.highlightColor ?? "#ffff00" : "#ffff00";
2870
2867
  return /* @__PURE__ */ jsxs(Fragment, { children: [
2871
2868
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-0.5", ...groupAttr("home.font"), children: [
2872
2869
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", "data-pptx-chrome": "font-controls", children: [
@@ -2881,7 +2878,7 @@ function TextSection(p) {
2881
2878
  customFonts: p.customFontFamilies,
2882
2879
  onFamily: (family) => p.onUpdateTextStyle({ fontFamily: family }),
2883
2880
  onSize: (size) => p.onUpdateTextStyle({
2884
- fontSize: p.selectedElement && hasTextProperties(p.selectedElement) ? textFontSizePtToPx(size) : size
2881
+ fontSize: p.selectedElement && (0, dist_exports.hasTextProperties)(p.selectedElement) ? textFontSizePtToPx(size) : size
2885
2882
  })
2886
2883
  }
2887
2884
  ),
@@ -3425,7 +3422,7 @@ function DrawingGroup(p) {
3425
3422
  const { recentColors, pushColor } = useRecentColors();
3426
3423
  const themeColors = useThemeColorMap();
3427
3424
  const commands = useRibbonGalleryCommands();
3428
- const style = p.selectedElement && hasShapeProperties(p.selectedElement) ? p.selectedElement.shapeStyle : void 0;
3425
+ const style = p.selectedElement && (0, dist_exports.hasShapeProperties)(p.selectedElement) ? p.selectedElement.shapeStyle : void 0;
3429
3426
  const { onMoveLayer, onMoveLayerToEdge, onSetNewShapeType, onAddShape, onUpdateElementStyle } = p;
3430
3427
  const hasSelection = Boolean(p.selectedElement);
3431
3428
  const controls = useMemo(
@@ -4565,8 +4562,6 @@ function Toolbar(p) {
4565
4562
  }
4566
4563
  );
4567
4564
  }
4568
-
4569
- // src/viewer/utils/slide-background-style.ts
4570
4565
  function getReactSlideBackgroundStyle(slide, slideSize) {
4571
4566
  const style = getSlideBackgroundStyle(slide, slideSize);
4572
4567
  return {
@@ -4652,8 +4647,6 @@ function SnapLinesOverlay({ snapLines }) {
4652
4647
  i
4653
4648
  )) });
4654
4649
  }
4655
-
4656
- // src/viewer/components/inspector/chart-panel-constants.ts
4657
4650
  var HEADING = "text-[11px] uppercase tracking-wide text-muted-foreground";
4658
4651
  var CARD = "rounded border border-border bg-card p-2 space-y-2";
4659
4652
  var INPUT = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full max-md:min-h-[44px]!";
@@ -7686,7 +7679,7 @@ function ExportProgressModal({
7686
7679
  if (!isOpen) {
7687
7680
  return null;
7688
7681
  }
7689
- const clampedProgress = clampPercent2(progress);
7682
+ const clampedProgress = clampPercent(progress);
7690
7683
  return /* @__PURE__ */ jsx(
7691
7684
  "div",
7692
7685
  {
@@ -7949,8 +7942,6 @@ function slideThumbnailPropsEqual(prev, next) {
7949
7942
  return true;
7950
7943
  }
7951
7944
  var SlideThumbnail = React97.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
7952
-
7953
- // src/viewer/components/context-menu-dispatch.ts
7954
7945
  function tableCell(props) {
7955
7946
  const { selectedElement, tableEditorState } = props;
7956
7947
  if (selectedElement?.type !== "table" || tableEditorState === null) {
@@ -8594,8 +8585,6 @@ function LazyThumbnailInner({
8594
8585
  ) });
8595
8586
  }
8596
8587
  var LazyThumbnail = React97.memo(LazyThumbnailInner);
8597
-
8598
- // src/viewer/components/slides-pane/utils.ts
8599
8588
  function declaredSectionFacts(groups, sectionId) {
8600
8589
  const declared = groups.filter((group) => group.id !== DEFAULT_SECTION_GROUP_ID && group.id !== UNGROUPED_SECTION_ID).map((group) => group.id);
8601
8590
  return {
@@ -10260,8 +10249,6 @@ function SorterContextMenu({
10260
10249
  )
10261
10250
  ] });
10262
10251
  }
10263
-
10264
- // src/viewer/components/slide-sorter/types.ts
10265
10252
  var MIN_ZOOM = SORTER_MIN_ZOOM;
10266
10253
  var MAX_ZOOM = SORTER_MAX_ZOOM;
10267
10254
  var ZOOM_STEP = SORTER_ZOOM_STEP;
@@ -10760,7 +10747,7 @@ function useOutlineView(input) {
10760
10747
  }, [rows]);
10761
10748
  return { rows, containerRef, run, onRowKeyDown };
10762
10749
  }
10763
- var INDENT_PX2 = 22;
10750
+ var INDENT_PX = 22;
10764
10751
  function OutlineViewOverlay({
10765
10752
  slides,
10766
10753
  canvasSize,
@@ -10806,7 +10793,7 @@ function OutlineViewOverlay({
10806
10793
  "div",
10807
10794
  {
10808
10795
  className: "flex items-center gap-2 py-0.5",
10809
- style: { paddingLeft: row.level * INDENT_PX2 },
10796
+ style: { paddingLeft: row.level * INDENT_PX },
10810
10797
  children: [
10811
10798
  /* @__PURE__ */ jsx("span", { className: "w-6 shrink-0 text-right text-[10px] tabular-nums text-white/40", children: row.kind === "title" ? row.slideIndex + 1 : "" }),
10812
10799
  /* @__PURE__ */ jsx(
@@ -11050,7 +11037,7 @@ function renderRichNotesSegments(segments) {
11050
11037
  }
11051
11038
  const divStyle = {};
11052
11039
  if (para.indentLevel > 0) {
11053
- divStyle.paddingLeft = para.indentLevel * INDENT_PX;
11040
+ divStyle.paddingLeft = para.indentLevel * INDENT_PX$1;
11054
11041
  }
11055
11042
  const children = [];
11056
11043
  if (para.bulletType === "bullet") {
@@ -14178,7 +14165,7 @@ function getElementDisplayName(element, index) {
14178
14165
  if (element.name && element.name.trim().length > 0) {
14179
14166
  return element.name.trim();
14180
14167
  }
14181
- if (hasTextProperties(element) && element.text && element.text.trim().length > 0) {
14168
+ if ((0, dist_exports.hasTextProperties)(element) && element.text && element.text.trim().length > 0) {
14182
14169
  return element.text.trim().slice(0, 32);
14183
14170
  }
14184
14171
  const label = TYPE_LABELS[element.type] ?? "Object";
@@ -15220,7 +15207,7 @@ function useAnimationHandlers({
15220
15207
  if (!el) {
15221
15208
  return anim.elementId.slice(0, 8);
15222
15209
  }
15223
- const text = hasTextProperties(el) ? el.text : void 0;
15210
+ const text = (0, dist_exports.hasTextProperties)(el) ? el.text : void 0;
15224
15211
  return text || getElementLabel(el);
15225
15212
  },
15226
15213
  [activeSlide.elements]
@@ -15231,7 +15218,7 @@ function useAnimationHandlers({
15231
15218
  if (!el) {
15232
15219
  return id.slice(0, 8);
15233
15220
  }
15234
- const text = hasTextProperties(el) ? el.text : void 0;
15221
+ const text = (0, dist_exports.hasTextProperties)(el) ? el.text : void 0;
15235
15222
  return text || getElementLabel(el);
15236
15223
  }).join(", "),
15237
15224
  [activeSlide.elements]
@@ -15712,11 +15699,11 @@ function ActionSettingsPanel({
15712
15699
  onUpdateElement
15713
15700
  }) {
15714
15701
  const { t } = useTranslation();
15715
- const clickAction = selectedElement.actionClick ? pptxActionToElementAction(selectedElement.actionClick, "click") : void 0;
15716
- const hoverAction = selectedElement.actionHover ? pptxActionToElementAction(selectedElement.actionHover, "hover") : void 0;
15702
+ const clickAction = selectedElement.actionClick ? (0, dist_exports.pptxActionToElementAction)(selectedElement.actionClick, "click") : void 0;
15703
+ const hoverAction = selectedElement.actionHover ? (0, dist_exports.pptxActionToElementAction)(selectedElement.actionHover, "hover") : void 0;
15717
15704
  const updateAction = (trigger, type, patch) => {
15718
15705
  const ea = { trigger, type, ...patch };
15719
- const pa = elementActionToPptxAction(ea);
15706
+ const pa = (0, dist_exports.elementActionToPptxAction)(ea);
15720
15707
  if (trigger === "click") {
15721
15708
  onUpdateElement({ actionClick: pa });
15722
15709
  } else {
@@ -17761,40 +17748,40 @@ function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
17761
17748
  [chartData, selectedElement, replaceChartData]
17762
17749
  );
17763
17750
  const setAxisLogScale = useCallback(
17764
- (axisType, opts) => applyChartOp((el) => setChartAxisLogScale(el, axisType, opts)),
17751
+ (axisType, opts) => applyChartOp((el) => (0, dist_exports.setChartAxisLogScale)(el, axisType, opts)),
17765
17752
  [applyChartOp]
17766
17753
  );
17767
17754
  const setAxisTitleStyle = useCallback(
17768
- (axisType, edit) => applyChartOp((el) => setChartAxisTitleStyle(el, axisType, edit)),
17755
+ (axisType, edit) => applyChartOp((el) => (0, dist_exports.setChartAxisTitleStyle)(el, axisType, edit)),
17769
17756
  [applyChartOp]
17770
17757
  );
17771
17758
  const setGridlineStyle = useCallback(
17772
- (axisType, which, edit) => applyChartOp((el) => setChartAxisGridlineStyle(el, axisType, which, edit)),
17759
+ (axisType, which, edit) => applyChartOp((el) => (0, dist_exports.setChartAxisGridlineStyle)(el, axisType, which, edit)),
17773
17760
  [applyChartOp]
17774
17761
  );
17775
17762
  const setSeriesMarker = useCallback(
17776
- (index, marker) => applyChartOp((el) => setChartSeriesMarker(el, index, marker)),
17763
+ (index, marker) => applyChartOp((el) => (0, dist_exports.setChartSeriesMarker)(el, index, marker)),
17777
17764
  [applyChartOp]
17778
17765
  );
17779
17766
  const setSeriesType = useCallback(
17780
- (index, seriesType) => applyChartOp((el) => setChartSeriesChartType(el, index, seriesType)),
17767
+ (index, seriesType) => applyChartOp((el) => (0, dist_exports.setChartSeriesChartType)(el, index, seriesType)),
17781
17768
  [applyChartOp]
17782
17769
  );
17783
17770
  const setPointFill = useCallback(
17784
- (seriesIndex, pointIndex, color) => applyChartOp((el) => setChartDataPointFill(el, seriesIndex, pointIndex, color)),
17771
+ (seriesIndex, pointIndex, color) => applyChartOp((el) => (0, dist_exports.setChartDataPointFill)(el, seriesIndex, pointIndex, color)),
17785
17772
  [applyChartOp]
17786
17773
  );
17787
17774
  const setPointExplosion = useCallback(
17788
- (seriesIndex, pointIndex, explosion) => applyChartOp((el) => setChartDataPointExplosion(el, seriesIndex, pointIndex, explosion)),
17775
+ (seriesIndex, pointIndex, explosion) => applyChartOp((el) => (0, dist_exports.setChartDataPointExplosion)(el, seriesIndex, pointIndex, explosion)),
17789
17776
  [applyChartOp]
17790
17777
  );
17791
17778
  const setPointMarker = useCallback(
17792
- (seriesIndex, pointIndex, marker) => applyChartOp((el) => setChartDataPointMarker(el, seriesIndex, pointIndex, marker)),
17779
+ (seriesIndex, pointIndex, marker) => applyChartOp((el) => (0, dist_exports.setChartDataPointMarker)(el, seriesIndex, pointIndex, marker)),
17793
17780
  [applyChartOp]
17794
17781
  );
17795
17782
  const setPointLabel = useCallback(
17796
17783
  (seriesIndex, pointIndex, text) => applyChartOp(
17797
- (el) => setChartDataPointLabel(el, seriesIndex, pointIndex, text !== null ? { text } : null)
17784
+ (el) => (0, dist_exports.setChartDataPointLabel)(el, seriesIndex, pointIndex, text !== null ? { text } : null)
17798
17785
  ),
17799
17786
  [applyChartOp]
17800
17787
  );
@@ -18062,17 +18049,17 @@ function OleEditorDialog({
18062
18049
  const kind = descriptor.contentTab.kind;
18063
18050
  const load = async () => {
18064
18051
  if (kind === "sheet") {
18065
- const value = await getOleSheetGrid(element);
18052
+ const value = await (0, dist_exports.getOleSheetGrid)(element);
18066
18053
  if (!cancelled) {
18067
18054
  setGrid(value);
18068
18055
  }
18069
18056
  } else if (kind === "document") {
18070
- const value = await getOleDocumentParagraphs(element);
18057
+ const value = await (0, dist_exports.getOleDocumentParagraphs)(element);
18071
18058
  if (!cancelled) {
18072
18059
  setParagraphs(value);
18073
18060
  }
18074
18061
  } else if (kind === "deck") {
18075
- const value = await getOleNestedDeckDetail(element);
18062
+ const value = await (0, dist_exports.getOleNestedDeckDetail)(element);
18076
18063
  if (!cancelled) {
18077
18064
  setDeckSlides(value);
18078
18065
  }
@@ -18098,9 +18085,9 @@ function OleEditorDialog({
18098
18085
  const handleCellEdit = useCallback(
18099
18086
  async (row, col, value) => {
18100
18087
  try {
18101
- const updated = await applyOleSheetCellEdit(element, { row, col, value });
18088
+ const updated = await (0, dist_exports.applyOleSheetCellEdit)(element, { row, col, value });
18102
18089
  commit(updated);
18103
- const refreshed = await getOleSheetGrid(updated);
18090
+ const refreshed = await (0, dist_exports.getOleSheetGrid)(updated);
18104
18091
  if (mountedRef.current) {
18105
18092
  setGrid(refreshed);
18106
18093
  }
@@ -18115,9 +18102,9 @@ function OleEditorDialog({
18115
18102
  const handleParagraphEdit = useCallback(
18116
18103
  async (index, text) => {
18117
18104
  try {
18118
- const updated = await applyOleDocumentParagraphEdit(element, index, text);
18105
+ const updated = await (0, dist_exports.applyOleDocumentParagraphEdit)(element, index, text);
18119
18106
  commit(updated);
18120
- const refreshed = await getOleDocumentParagraphs(updated);
18107
+ const refreshed = await (0, dist_exports.getOleDocumentParagraphs)(updated);
18121
18108
  if (mountedRef.current) {
18122
18109
  setParagraphs(refreshed);
18123
18110
  }
@@ -18132,14 +18119,14 @@ function OleEditorDialog({
18132
18119
  const handleDeckElementEdit = useCallback(
18133
18120
  async (slideIndex, deckElementId, text) => {
18134
18121
  try {
18135
- const updated = await applyOleNestedDeckElementTextEdit(
18122
+ const updated = await (0, dist_exports.applyOleNestedDeckElementTextEdit)(
18136
18123
  element,
18137
18124
  slideIndex,
18138
18125
  deckElementId,
18139
18126
  text
18140
18127
  );
18141
18128
  commit(updated);
18142
- const refreshed = await getOleNestedDeckDetail(updated);
18129
+ const refreshed = await (0, dist_exports.getOleNestedDeckDetail)(updated);
18143
18130
  if (mountedRef.current) {
18144
18131
  setDeckSlides(refreshed);
18145
18132
  }
@@ -18155,7 +18142,7 @@ function OleEditorDialog({
18155
18142
  async (file) => {
18156
18143
  try {
18157
18144
  const bytes = new Uint8Array(await file.arrayBuffer());
18158
- const updated = await replaceOleFile(element, bytes, file.name);
18145
+ const updated = await (0, dist_exports.replaceOleFile)(element, bytes, file.name);
18159
18146
  commit(updated);
18160
18147
  if (mountedRef.current) {
18161
18148
  onClose();
@@ -18427,7 +18414,7 @@ function OlePropertiesPanel({
18427
18414
  ] }),
18428
18415
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
18429
18416
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.ole.type") }),
18430
- /* @__PURE__ */ jsx("span", { className: "text-foreground truncate", children: getOleObjectTypeLabel(ole.oleObjectType) })
18417
+ /* @__PURE__ */ jsx("span", { className: "text-foreground truncate", children: (0, dist_exports.getOleObjectTypeLabel)(ole.oleObjectType) })
18431
18418
  ] }),
18432
18419
  ole.fileName && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
18433
18420
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.ole.fileName") }),
@@ -18953,7 +18940,7 @@ function ImageCropSection({
18953
18940
  onUpdateElement
18954
18941
  }) {
18955
18942
  const { t } = useTranslation();
18956
- if (!isImageLikeElement(selectedElement)) {
18943
+ if (!(0, dist_exports.isImageLikeElement)(selectedElement)) {
18957
18944
  return null;
18958
18945
  }
18959
18946
  const croppable = cropResetState(selectedElement, canEdit, true).enabled;
@@ -19996,20 +19983,18 @@ function AccessibilityTextSection({
19996
19983
  ] })
19997
19984
  ] });
19998
19985
  }
19999
-
20000
- // src/viewer/components/inspector/fill-stroke-options.ts
20001
- var COMPOUND_LINE_OPTIONS2 = COMPOUND_LINE_OPTIONS;
20002
- var LINE_JOIN_OPTIONS2 = LINE_JOIN_OPTIONS;
20003
- var LINE_CAP_OPTIONS2 = LINE_CAP_OPTIONS;
20004
- var PATTERN_PRESET_OPTIONS2 = PATTERN_PRESET_OPTIONS;
20005
- var FILL_MODE_OPTIONS2 = [
19986
+ var COMPOUND_LINE_OPTIONS = COMPOUND_LINE_OPTIONS$1;
19987
+ var LINE_JOIN_OPTIONS = LINE_JOIN_OPTIONS$1;
19988
+ var LINE_CAP_OPTIONS = LINE_CAP_OPTIONS$1;
19989
+ var PATTERN_PRESET_OPTIONS = PATTERN_PRESET_OPTIONS$1;
19990
+ var FILL_MODE_OPTIONS = [
20006
19991
  { value: "solid", label: "Solid", i18nKey: "pptx.fill.solid" },
20007
19992
  { value: "gradient", label: "Gradient", i18nKey: "pptx.fill.gradient" },
20008
19993
  { value: "pattern", label: "Pattern", i18nKey: "pptx.table.fillPattern" },
20009
19994
  { value: "image", label: "Image", i18nKey: "pptx.inspector.image" },
20010
19995
  { value: "none", label: "None", i18nKey: "pptx.fill.none" }
20011
19996
  ];
20012
- var GRADIENT_TYPE_OPTIONS2 = [
19997
+ var GRADIENT_TYPE_OPTIONS = [
20013
19998
  { value: "linear", label: "Linear", i18nKey: "pptx.gradient.linear" },
20014
19999
  { value: "radial", label: "Radial", i18nKey: "pptx.gradient.radial" }
20015
20000
  ];
@@ -20550,12 +20535,12 @@ var VISUAL_EFFECT_CONFIGS = [
20550
20535
 
20551
20536
  // src/viewer/components/inspector/FillStrokeHelpers.tsx
20552
20537
  var EFFECT_CONFIGS = [...SHADOW_EFFECT_CONFIGS, ...VISUAL_EFFECT_CONFIGS];
20553
- var SEL2 = "bg-muted border border-border rounded px-2 py-1 max-md:min-h-[44px]!";
20554
- var NUM2 = SEL2;
20538
+ var SEL = "bg-muted border border-border rounded px-2 py-1 max-md:min-h-[44px]!";
20539
+ var NUM = SEL;
20555
20540
  var RNG = "accent-primary";
20556
20541
  var SWATCH = "h-4 w-4 rounded border border-border";
20557
20542
  var DIS = "disabled:opacity-40 disabled:cursor-not-allowed";
20558
- var LBL2 = "text-muted-foreground";
20543
+ var LBL = "text-muted-foreground";
20559
20544
  var COL2 = "col-span-2";
20560
20545
  var isLineish = (el, st) => el.type === "connector" || st === "line";
20561
20546
  var safeNum = (raw, fallback) => {
@@ -20654,7 +20639,7 @@ function EffectField({
20654
20639
  const cls = `flex flex-col gap-1 ${field.span2 ? COL2 : ""}`;
20655
20640
  if (field.type === "select" && field.options) {
20656
20641
  return /* @__PURE__ */ jsxs("label", { className: cls, children: [
20657
- /* @__PURE__ */ jsx("span", { className: LBL2, children: fieldLabel }),
20642
+ /* @__PURE__ */ jsx("span", { className: LBL, children: fieldLabel }),
20658
20643
  /* @__PURE__ */ jsx(
20659
20644
  WebSelect,
20660
20645
  {
@@ -20664,7 +20649,7 @@ function EffectField({
20664
20649
  const result = field.write(e.target.value, style);
20665
20650
  onUpdate(typeof result === "function" ? result(style) : result);
20666
20651
  },
20667
- className: SEL2,
20652
+ className: SEL,
20668
20653
  children: field.options.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.label }, o.value))
20669
20654
  }
20670
20655
  )
@@ -20672,7 +20657,7 @@ function EffectField({
20672
20657
  }
20673
20658
  if (field.type === "color") {
20674
20659
  return /* @__PURE__ */ jsxs("label", { className: cls, children: [
20675
- /* @__PURE__ */ jsx("span", { className: LBL2, children: fieldLabel }),
20660
+ /* @__PURE__ */ jsx("span", { className: LBL, children: fieldLabel }),
20676
20661
  /* @__PURE__ */ jsx(
20677
20662
  "input",
20678
20663
  {
@@ -20683,7 +20668,7 @@ function EffectField({
20683
20668
  onUpdate(typeof result === "function" ? result(style) : result);
20684
20669
  pushColor(e.target.value);
20685
20670
  },
20686
- className: `h-8 ${SEL2} px-1`
20671
+ className: `h-8 ${SEL} px-1`
20687
20672
  }
20688
20673
  )
20689
20674
  ] });
@@ -20701,12 +20686,12 @@ function EffectField({
20701
20686
  className: "h-4 w-4"
20702
20687
  }
20703
20688
  ),
20704
- /* @__PURE__ */ jsx("span", { className: LBL2, children: fieldLabel })
20689
+ /* @__PURE__ */ jsx("span", { className: LBL, children: fieldLabel })
20705
20690
  ] });
20706
20691
  }
20707
20692
  if (field.type === "range") {
20708
20693
  return /* @__PURE__ */ jsxs("label", { className: cls, children: [
20709
- /* @__PURE__ */ jsx("span", { className: LBL2, children: fieldLabel }),
20694
+ /* @__PURE__ */ jsx("span", { className: LBL, children: fieldLabel }),
20710
20695
  /* @__PURE__ */ jsx(
20711
20696
  "input",
20712
20697
  {
@@ -20724,7 +20709,7 @@ function EffectField({
20724
20709
  ] });
20725
20710
  }
20726
20711
  return /* @__PURE__ */ jsxs("label", { className: cls, children: [
20727
- /* @__PURE__ */ jsx("span", { className: LBL2, children: fieldLabel }),
20712
+ /* @__PURE__ */ jsx("span", { className: LBL, children: fieldLabel }),
20728
20713
  /* @__PURE__ */ jsx(
20729
20714
  "input",
20730
20715
  {
@@ -20738,7 +20723,7 @@ function EffectField({
20738
20723
  const result = field.write(n, style);
20739
20724
  onUpdate(typeof result === "function" ? result(style) : result);
20740
20725
  },
20741
- className: NUM2
20726
+ className: NUM
20742
20727
  }
20743
20728
  )
20744
20729
  ] });
@@ -20752,14 +20737,14 @@ function SelectRow({
20752
20737
  }) {
20753
20738
  const { t } = useTranslation();
20754
20739
  return /* @__PURE__ */ jsxs("label", { className: `flex flex-col gap-1 ${span2 ? COL2 : ""}`, children: [
20755
- /* @__PURE__ */ jsx("span", { className: LBL2, children: label }),
20740
+ /* @__PURE__ */ jsx("span", { className: LBL, children: label }),
20756
20741
  /* @__PURE__ */ jsx(
20757
20742
  WebSelect,
20758
20743
  {
20759
20744
  "aria-label": label,
20760
20745
  value,
20761
20746
  onChange: (e) => onChange(e.target.value),
20762
- className: SEL2,
20747
+ className: SEL,
20763
20748
  children: options.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.i18nKey ? t(o.i18nKey) : o.label }, o.value))
20764
20749
  }
20765
20750
  )
@@ -20786,7 +20771,7 @@ function ColorPickerRow({
20786
20771
  }
20787
20772
  };
20788
20773
  return /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
20789
- /* @__PURE__ */ jsx("span", { className: LBL2, children: label }),
20774
+ /* @__PURE__ */ jsx("span", { className: LBL, children: label }),
20790
20775
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
20791
20776
  /* @__PURE__ */ jsx(
20792
20777
  "input",
@@ -20795,7 +20780,7 @@ function ColorPickerRow({
20795
20780
  value,
20796
20781
  disabled,
20797
20782
  onChange: (e) => commit(e.target.value),
20798
- className: `h-8 flex-1 ${SEL2} px-1 ${DIS}`
20783
+ className: `h-8 flex-1 ${SEL} px-1 ${DIS}`
20799
20784
  }
20800
20785
  ),
20801
20786
  /* @__PURE__ */ jsx(
@@ -20945,7 +20930,7 @@ function FillAdvancedControls({
20945
20930
  label: t("pptx.fillAdvanced.gradientType"),
20946
20931
  span2: true,
20947
20932
  value: gradType,
20948
- options: GRADIENT_TYPE_OPTIONS2,
20933
+ options: GRADIENT_TYPE_OPTIONS,
20949
20934
  onChange: (v) => onUpdateShapeStyle({
20950
20935
  fillMode: "gradient",
20951
20936
  fillGradientType: v
@@ -20953,7 +20938,7 @@ function FillAdvancedControls({
20953
20938
  }
20954
20939
  ),
20955
20940
  gradType === "linear" && /* @__PURE__ */ jsxs("label", { className: `flex flex-col gap-1 ${COL2}`, children: [
20956
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.fillAdvanced.gradientAngle") }),
20941
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.fillAdvanced.gradientAngle") }),
20957
20942
  /* @__PURE__ */ jsx(
20958
20943
  "input",
20959
20944
  {
@@ -21002,8 +20987,8 @@ function FillAdvancedControls({
21002
20987
  ] }),
21003
20988
  style?.fillMode === "pattern" && /* @__PURE__ */ jsxs(Fragment, { children: [
21004
20989
  /* @__PURE__ */ jsxs("div", { className: `${COL2} flex flex-col gap-2`, children: [
21005
- /* @__PURE__ */ jsx("span", { className: LBL2, children: "Pattern" }),
21006
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-8 gap-1 max-h-48 overflow-y-auto rounded border border-border p-2", children: PATTERN_PRESET_OPTIONS2.map((opt) => {
20990
+ /* @__PURE__ */ jsx("span", { className: LBL, children: "Pattern" }),
20991
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-8 gap-1 max-h-48 overflow-y-auto rounded border border-border p-2", children: PATTERN_PRESET_OPTIONS.map((opt) => {
21007
20992
  const fgColor = normalizeHexColor(style?.fillColor, DEFAULT_FILL_COLOR);
21008
20993
  const bgColor = normalizeHexColor(style?.fillPatternBackgroundColor, "#ffffff");
21009
20994
  const svgPattern = getPatternSvg(opt.value, fgColor, bgColor);
@@ -21060,7 +21045,7 @@ function FillAdvancedControls({
21060
21045
  ] }),
21061
21046
  style?.fillMode === "image" && /* @__PURE__ */ jsxs("div", { className: `${COL2} space-y-2`, children: [
21062
21047
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
21063
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.fillAdvanced.imageUrl") }),
21048
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.fillAdvanced.imageUrl") }),
21064
21049
  /* @__PURE__ */ jsx(
21065
21050
  "input",
21066
21051
  {
@@ -21068,12 +21053,12 @@ function FillAdvancedControls({
21068
21053
  placeholder: "https://example.com/image.png",
21069
21054
  value: style?.fillImageUrl || "",
21070
21055
  onChange: (e) => onUpdateShapeStyle({ fillImageUrl: e.target.value }),
21071
- className: `${SEL2} text-xs`
21056
+ className: `${SEL} text-xs`
21072
21057
  }
21073
21058
  )
21074
21059
  ] }),
21075
21060
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
21076
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.fillAdvanced.orChooseFile") }),
21061
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.fillAdvanced.orChooseFile") }),
21077
21062
  /* @__PURE__ */ jsx(
21078
21063
  "input",
21079
21064
  {
@@ -21119,7 +21104,7 @@ function QuickStylesGallery({
21119
21104
  const { viewportWidth } = useIsMobile();
21120
21105
  const swatchMinHeight = getDensePanelTouchTargetPx(viewportWidth);
21121
21106
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
21122
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.shape.quickStyles") }),
21107
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.shape.quickStyles") }),
21123
21108
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-6 gap-1", children: SHAPE_QUICK_STYLES.map((qs, idx) => /* @__PURE__ */ jsx(
21124
21109
  "button",
21125
21110
  {
@@ -21153,7 +21138,7 @@ function StrokeEffectsSection({
21153
21138
  }
21154
21139
  ),
21155
21140
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
21156
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.strokeEffects.strokeWidth") }),
21141
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.strokeEffects.strokeWidth") }),
21157
21142
  /* @__PURE__ */ jsx(
21158
21143
  "input",
21159
21144
  {
@@ -21164,12 +21149,12 @@ function StrokeEffectsSection({
21164
21149
  const v = safeNum(e.target.value, 0);
21165
21150
  onUpdateShapeStyle({ strokeWidth: Math.max(0, v) });
21166
21151
  },
21167
- className: NUM2
21152
+ className: NUM
21168
21153
  }
21169
21154
  )
21170
21155
  ] }),
21171
21156
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
21172
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.strokeEffects.fillOpacity") }),
21157
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.strokeEffects.fillOpacity") }),
21173
21158
  /* @__PURE__ */ jsx(
21174
21159
  "input",
21175
21160
  {
@@ -21184,7 +21169,7 @@ function StrokeEffectsSection({
21184
21169
  )
21185
21170
  ] }),
21186
21171
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
21187
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.strokeEffects.strokeOpacity") }),
21172
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.strokeEffects.strokeOpacity") }),
21188
21173
  /* @__PURE__ */ jsx(
21189
21174
  "input",
21190
21175
  {
@@ -21200,7 +21185,7 @@ function StrokeEffectsSection({
21200
21185
  )
21201
21186
  ] }),
21202
21187
  /* @__PURE__ */ jsxs("label", { className: `flex flex-col gap-1 ${COL2}`, children: [
21203
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.strokeEffects.strokeDash") }),
21188
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.strokeEffects.strokeDash") }),
21204
21189
  /* @__PURE__ */ jsx(
21205
21190
  WebSelect,
21206
21191
  {
@@ -21209,14 +21194,14 @@ function StrokeEffectsSection({
21209
21194
  onChange: (e) => onUpdateShapeStyle({
21210
21195
  strokeDash: e.target.value
21211
21196
  }),
21212
- className: SEL2,
21197
+ className: SEL,
21213
21198
  children: STROKE_DASH_OPTIONS.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: t(o.i18nKey) }, o.value))
21214
21199
  }
21215
21200
  )
21216
21201
  ] }),
21217
21202
  /* @__PURE__ */ jsxs("label", { className: `flex flex-col gap-1 ${COL2}`, children: [
21218
- /* @__PURE__ */ jsx("span", { className: LBL2, children: t("pptx.strokeEffects.compoundLine") }),
21219
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-5 gap-1", children: COMPOUND_LINE_OPTIONS2.map((opt) => /* @__PURE__ */ jsx(
21203
+ /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.strokeEffects.compoundLine") }),
21204
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-5 gap-1", children: COMPOUND_LINE_OPTIONS.map((opt) => /* @__PURE__ */ jsx(
21220
21205
  "button",
21221
21206
  {
21222
21207
  type: "button",
@@ -21260,7 +21245,7 @@ function StrokeEffectsSection({
21260
21245
  {
21261
21246
  label: t("pptx.strokeEffects.lineJoin"),
21262
21247
  value: style?.lineJoin || "round",
21263
- options: LINE_JOIN_OPTIONS2,
21248
+ options: LINE_JOIN_OPTIONS,
21264
21249
  onChange: (v) => onUpdateShapeStyle({ lineJoin: v })
21265
21250
  }
21266
21251
  ),
@@ -21269,7 +21254,7 @@ function StrokeEffectsSection({
21269
21254
  {
21270
21255
  label: t("pptx.strokeEffects.lineCap"),
21271
21256
  value: style?.lineCap || "flat",
21272
- options: LINE_CAP_OPTIONS2,
21257
+ options: LINE_CAP_OPTIONS,
21273
21258
  onChange: (v) => onUpdateShapeStyle({ lineCap: v })
21274
21259
  }
21275
21260
  )
@@ -21346,7 +21331,7 @@ function FillStrokeProperties({
21346
21331
  label: t("pptx.table.fillMode"),
21347
21332
  span2: true,
21348
21333
  value: style?.fillMode || (style?.fillColor === "transparent" ? "none" : "solid"),
21349
- options: FILL_MODE_OPTIONS2,
21334
+ options: FILL_MODE_OPTIONS,
21350
21335
  onChange: handleFillModeChange
21351
21336
  }
21352
21337
  ),
@@ -22140,7 +22125,7 @@ function TextAdvancedSections({
22140
22125
  canEdit,
22141
22126
  onUpdateTextStyle
22142
22127
  }) {
22143
- if (!hasTextProperties(selectedElement)) {
22128
+ if (!(0, dist_exports.hasTextProperties)(selectedElement)) {
22144
22129
  return null;
22145
22130
  }
22146
22131
  const ts = selectedElement.textStyle;
@@ -22169,7 +22154,7 @@ function ShapeTextPanels({
22169
22154
  }) {
22170
22155
  const { t } = useTranslation();
22171
22156
  return /* @__PURE__ */ jsxs(Fragment, { children: [
22172
- hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
22157
+ (0, dist_exports.hasShapeProperties)(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
22173
22158
  /* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.shape.type", "Shape Type") }),
22174
22159
  /* @__PURE__ */ jsx(
22175
22160
  WebSelect,
@@ -22184,7 +22169,7 @@ function ShapeTextPanels({
22184
22169
  }
22185
22170
  )
22186
22171
  ] }),
22187
- hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-fill-stroke": true, "data-pptx-inspector-section": "fill-stroke", children: [
22172
+ (0, dist_exports.hasShapeProperties)(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-fill-stroke": true, "data-pptx-inspector-section": "fill-stroke", children: [
22188
22173
  /* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.shape.fillStroke", "Fill & Stroke") }),
22189
22174
  /* @__PURE__ */ jsx(
22190
22175
  FillStrokeProperties,
@@ -22202,7 +22187,7 @@ function ShapeTextPanels({
22202
22187
  }
22203
22188
  )
22204
22189
  ] }),
22205
- hasTextProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-text-card": true, children: [
22190
+ (0, dist_exports.hasTextProperties)(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-text-card": true, children: [
22206
22191
  /* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.text.title", "Text") }),
22207
22192
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5 text-[11px]", children: [
22208
22193
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
@@ -22478,7 +22463,7 @@ var THUMB_COMPONENTS = {
22478
22463
  chevron: ChevronThumb,
22479
22464
  bending: BendingThumb
22480
22465
  };
22481
- var LAYOUT_DESCRIPTORS = SWITCHABLE_LAYOUT_TYPES.map((type) => ({
22466
+ var LAYOUT_DESCRIPTORS = dist_exports.SWITCHABLE_LAYOUT_TYPES.map((type) => ({
22482
22467
  type,
22483
22468
  i18nKey: `pptx.smartart.category.${type}`
22484
22469
  }));
@@ -22819,10 +22804,10 @@ function SmartArtPropertiesPanel({
22819
22804
  applySmartArtData({ ...smartArtData, ...patch });
22820
22805
  };
22821
22806
  const handleUpdateNodeText = (nodeId, text) => {
22822
- applySmartArtData(updateSmartArtNodeText(smartArtData, nodeId, text));
22807
+ applySmartArtData((0, dist_exports.updateSmartArtNodeText)(smartArtData, nodeId, text));
22823
22808
  };
22824
22809
  const handleChangeNodeStyle = (nodeId, patch) => {
22825
- const next = setSmartArtNodeStyle(smartArtData, nodeId, patch);
22810
+ const next = (0, dist_exports.setSmartArtNodeStyle)(smartArtData, nodeId, patch);
22826
22811
  if (next !== smartArtData) {
22827
22812
  applySmartArtData(next);
22828
22813
  }
@@ -22831,17 +22816,17 @@ function SmartArtPropertiesPanel({
22831
22816
  if (!canAddTopLevelNode(layout, topLevelCount)) {
22832
22817
  return;
22833
22818
  }
22834
- applySmartArtData(addSmartArtNodeAsChild(smartArtData));
22819
+ applySmartArtData((0, dist_exports.addSmartArtNodeAsChild)(smartArtData));
22835
22820
  };
22836
22821
  const addSubItem = (parentId) => {
22837
- applySmartArtData(addSmartArtNodeAsChild(smartArtData, parentId, "Sub-item"));
22822
+ applySmartArtData((0, dist_exports.addSmartArtNodeAsChild)(smartArtData, parentId, "Sub-item"));
22838
22823
  };
22839
22824
  const removeNode = (nodeId) => {
22840
22825
  const isTopLevel = !nodes.find((n) => n.id === nodeId)?.parentId;
22841
22826
  if (isTopLevel && !canRemoveTopLevelNode(layout, topLevelCount)) {
22842
22827
  return;
22843
22828
  }
22844
- applySmartArtData(removeSmartArtNode(smartArtData, nodeId));
22829
+ applySmartArtData((0, dist_exports.removeSmartArtNode)(smartArtData, nodeId));
22845
22830
  };
22846
22831
  const moveNode = (nodeId, direction) => {
22847
22832
  const next = reorder(smartArtData, nodeId, direction);
@@ -23166,13 +23151,13 @@ function TableCellPatternFill({
23166
23151
  const translate = (key) => t(key);
23167
23152
  return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
23168
23153
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23169
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.patternPreset") }),
23154
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.patternPreset") }),
23170
23155
  /* @__PURE__ */ jsx(
23171
23156
  WebSelect,
23172
23157
  {
23173
23158
  "aria-label": t("pptx.table.patternPreset"),
23174
23159
  disabled: !canEdit,
23175
- className: SEL,
23160
+ className: SEL$1,
23176
23161
  value: cellStyle.patternFillPreset ?? "ltDnDiag",
23177
23162
  onChange: (e) => onUpdateCellStyle({ patternFillPreset: e.target.value }),
23178
23163
  children: PATTERN_OPTIONS.map((p) => /* @__PURE__ */ jsx("option", { value: p, children: schemaLabel(FILL_PATTERN_LABEL_KEYS, p, translate) }, p))
@@ -23181,7 +23166,7 @@ function TableCellPatternFill({
23181
23166
  ] }),
23182
23167
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5", children: [
23183
23168
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23184
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.patternForeground") }),
23169
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.patternForeground") }),
23185
23170
  /* @__PURE__ */ jsx(
23186
23171
  "input",
23187
23172
  {
@@ -23197,7 +23182,7 @@ function TableCellPatternFill({
23197
23182
  )
23198
23183
  ] }),
23199
23184
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23200
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.patternBackground") }),
23185
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.patternBackground") }),
23201
23186
  /* @__PURE__ */ jsx(
23202
23187
  "input",
23203
23188
  {
@@ -23247,16 +23232,16 @@ function TableCellAdvancedFill({
23247
23232
  };
23248
23233
  return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
23249
23234
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
23250
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.fillMode") }),
23235
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.fillMode") }),
23251
23236
  /* @__PURE__ */ jsx(
23252
23237
  WebSelect,
23253
23238
  {
23254
23239
  "aria-label": t("pptx.table.fillMode"),
23255
23240
  disabled: !canEdit,
23256
- className: SEL,
23241
+ className: SEL$1,
23257
23242
  value: fillMode,
23258
23243
  onChange: (e) => handleFillModeChange(e.target.value),
23259
- children: FILL_MODE_OPTIONS.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value ?? "", children: t(opt.i18nKey) }, opt.value))
23244
+ children: FILL_MODE_OPTIONS$1.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value ?? "", children: t(opt.i18nKey) }, opt.value))
23260
23245
  }
23261
23246
  )
23262
23247
  ] }),
@@ -23284,13 +23269,13 @@ function TableCellAdvancedFill({
23284
23269
  ["marginLeft", "pptx.table.marginLeft"],
23285
23270
  ["marginRight", "pptx.table.marginRight"]
23286
23271
  ].map(([key, i18nKey]) => /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23287
- /* @__PURE__ */ jsx("span", { className: LBL, children: t(i18nKey) }),
23272
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t(i18nKey) }),
23288
23273
  /* @__PURE__ */ jsx(
23289
23274
  "input",
23290
23275
  {
23291
23276
  type: "number",
23292
23277
  disabled: !canEdit,
23293
- className: NUM,
23278
+ className: NUM$1,
23294
23279
  min: 0,
23295
23280
  max: 200,
23296
23281
  value: cellStyle[key] ?? 0,
@@ -23324,29 +23309,29 @@ function GradientControls({
23324
23309
  return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
23325
23310
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5", children: [
23326
23311
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23327
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.gradientType") }),
23312
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.gradientType") }),
23328
23313
  /* @__PURE__ */ jsx(
23329
23314
  WebSelect,
23330
23315
  {
23331
23316
  "aria-label": t("pptx.table.gradientType"),
23332
23317
  disabled: !canEdit,
23333
- className: SEL,
23318
+ className: SEL$1,
23334
23319
  value: gradType,
23335
23320
  onChange: (e) => onUpdateCellStyle({
23336
23321
  gradientFillType: e.target.value
23337
23322
  }),
23338
- children: GRADIENT_TYPE_OPTIONS.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: t(o.i18nKey) }, o.value))
23323
+ children: GRADIENT_TYPE_OPTIONS$1.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: t(o.i18nKey) }, o.value))
23339
23324
  }
23340
23325
  )
23341
23326
  ] }),
23342
23327
  gradType === "linear" && /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
23343
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.gradientAngle") }),
23328
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.gradientAngle") }),
23344
23329
  /* @__PURE__ */ jsx(
23345
23330
  "input",
23346
23331
  {
23347
23332
  type: "number",
23348
23333
  disabled: !canEdit,
23349
- className: NUM,
23334
+ className: NUM$1,
23350
23335
  min: 0,
23351
23336
  max: 360,
23352
23337
  value: cellStyle.gradientFillAngle ?? 90,
@@ -23357,7 +23342,7 @@ function GradientControls({
23357
23342
  )
23358
23343
  ] })
23359
23344
  ] }),
23360
- /* @__PURE__ */ jsx("span", { className: LBL, children: t("pptx.table.gradientStops") }),
23345
+ /* @__PURE__ */ jsx("span", { className: LBL$1, children: t("pptx.table.gradientStops") }),
23361
23346
  stops.map((stop2, idx) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
23362
23347
  /* @__PURE__ */ jsx(
23363
23348
  "input",
@@ -23377,7 +23362,7 @@ function GradientControls({
23377
23362
  {
23378
23363
  type: "number",
23379
23364
  disabled: !canEdit,
23380
- className: NUM,
23365
+ className: NUM$1,
23381
23366
  min: 0,
23382
23367
  max: 100,
23383
23368
  value: Math.round(stop2.position),
@@ -23827,7 +23812,7 @@ function TableStyleEditor({
23827
23812
  const { t } = useTranslation();
23828
23813
  const themeColorMap = useThemeColorMap();
23829
23814
  const [activeStyleId, setActiveStyleId] = useState(
23830
- styleId ? normalizeTableStyleGuid(styleId) : ""
23815
+ styleId ? (0, dist_exports.normalizeTableStyleGuid)(styleId) : ""
23831
23816
  );
23832
23817
  const [selectedPart, setSelectedPart] = useState("wholeTbl");
23833
23818
  const entry = activeStyleId ? styleMap?.[activeStyleId] : void 0;
@@ -23848,8 +23833,8 @@ function TableStyleEditor({
23848
23833
  return;
23849
23834
  }
23850
23835
  const nextMap = { ...styleMap ?? {} };
23851
- const created = createTableStyleEntry(nextMap, { styleName: name, basedOn: entry });
23852
- addTableStyleToMap(nextMap, created);
23836
+ const created = (0, dist_exports.createTableStyleEntry)(nextMap, { styleName: name, basedOn: entry });
23837
+ (0, dist_exports.addTableStyleToMap)(nextMap, created);
23853
23838
  onStyleMapChange(nextMap);
23854
23839
  setActiveStyleId(created.styleId);
23855
23840
  onAssignStyle?.(created.styleId);
@@ -23859,7 +23844,7 @@ function TableStyleEditor({
23859
23844
  return;
23860
23845
  }
23861
23846
  const nextMap = { ...styleMap };
23862
- deleteTableStyleFromMap(nextMap, entry.styleId);
23847
+ (0, dist_exports.deleteTableStyleFromMap)(nextMap, entry.styleId);
23863
23848
  onStyleMapChange(nextMap);
23864
23849
  onDeleteStyle(entry.styleId);
23865
23850
  onClose();
@@ -23913,7 +23898,7 @@ function TablePropertiesPanel({
23913
23898
  const updateMergeRows = (rows) => {
23914
23899
  const tableData = { ...td, rows };
23915
23900
  const updates = { tableData };
23916
- const rawXml = updateMergeAttrsInRawXml(tableElement, tableData);
23901
+ const rawXml = (0, dist_exports.updateMergeAttrsInRawXml)(tableElement, tableData);
23917
23902
  if (rawXml) {
23918
23903
  updates.rawXml = rawXml;
23919
23904
  }
@@ -24207,7 +24192,7 @@ function ElementInspectorBody({
24207
24192
  box: { width: selectedElement.width, height: selectedElement.height }
24208
24193
  }
24209
24194
  ),
24210
- isImageLikeElement(selectedElement) && /* @__PURE__ */ jsx(
24195
+ (0, dist_exports.isImageLikeElement)(selectedElement) && /* @__PURE__ */ jsx(
24211
24196
  ImagePropertiesPanel,
24212
24197
  {
24213
24198
  selectedElement,
@@ -24771,7 +24756,7 @@ function InspectorCommentsSection({
24771
24756
  ] });
24772
24757
  }
24773
24758
  function elementLabel(element) {
24774
- const text = hasTextProperties(element) ? (element.text || "").slice(0, 24) : void 0;
24759
+ const text = (0, dist_exports.hasTextProperties)(element) ? (element.text || "").slice(0, 24) : void 0;
24775
24760
  return text || element.type;
24776
24761
  }
24777
24762
  function InspectorElementsTab({
@@ -25402,14 +25387,14 @@ function SlideThemeOverridePanel({
25402
25387
  const translate = useCallback((key) => t(key), [t]);
25403
25388
  const override = activeSlide?.clrMapOverride;
25404
25389
  const isOverrideActive = override !== void 0;
25405
- const targetSlotOptions = useMemo(() => [...THEME_COLOR_SCHEME_KEYS], []);
25390
+ const targetSlotOptions = useMemo(() => [...dist_exports.THEME_COLOR_SCHEME_KEYS], []);
25406
25391
  const commitOverride = useCallback(
25407
25392
  (nextOverride) => {
25408
25393
  if (!activeSlide || !theme?.colorScheme) {
25409
25394
  onUpdateSlide({ clrMapOverride: nextOverride });
25410
25395
  return;
25411
25396
  }
25412
- const nextSlide = applyThemeOverrideToSlide(activeSlide, theme.colorScheme, nextOverride);
25397
+ const nextSlide = (0, dist_exports.applyThemeOverrideToSlide)(activeSlide, theme.colorScheme, nextOverride);
25413
25398
  onUpdateSlide({
25414
25399
  clrMapOverride: nextSlide.clrMapOverride,
25415
25400
  backgroundColor: nextSlide.backgroundColor,
@@ -25422,8 +25407,8 @@ function SlideThemeOverridePanel({
25422
25407
  (enabled) => {
25423
25408
  if (enabled) {
25424
25409
  const defaultMap = {};
25425
- for (const key of COLOR_MAP_ALIAS_KEYS) {
25426
- defaultMap[key] = DEFAULT_COLOR_MAP[key];
25410
+ for (const key of dist_exports.COLOR_MAP_ALIAS_KEYS) {
25411
+ defaultMap[key] = dist_exports.DEFAULT_COLOR_MAP[key];
25427
25412
  }
25428
25413
  commitOverride(defaultMap);
25429
25414
  } else {
@@ -25436,9 +25421,9 @@ function SlideThemeOverridePanel({
25436
25421
  (alias, targetSlot) => {
25437
25422
  const current = override ?? {};
25438
25423
  const next = { ...current, [alias]: targetSlot };
25439
- for (const key of COLOR_MAP_ALIAS_KEYS) {
25424
+ for (const key of dist_exports.COLOR_MAP_ALIAS_KEYS) {
25440
25425
  if (!next[key]) {
25441
- next[key] = DEFAULT_COLOR_MAP[key];
25426
+ next[key] = dist_exports.DEFAULT_COLOR_MAP[key];
25442
25427
  }
25443
25428
  }
25444
25429
  commitOverride(next);
@@ -25470,8 +25455,8 @@ function SlideThemeOverridePanel({
25470
25455
  ),
25471
25456
  t("pptx.themeOverride.enableOverride")
25472
25457
  ] }),
25473
- isOverrideActive && override && /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: COLOR_MAP_ALIAS_KEYS.map((alias) => {
25474
- const currentTarget = override[alias] ?? DEFAULT_COLOR_MAP[alias];
25458
+ isOverrideActive && override && /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: dist_exports.COLOR_MAP_ALIAS_KEYS.map((alias) => {
25459
+ const currentTarget = override[alias] ?? dist_exports.DEFAULT_COLOR_MAP[alias];
25475
25460
  const resolvedHex = resolveSlotColor(currentTarget);
25476
25461
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
25477
25462
  /* @__PURE__ */ jsx("span", { className: "w-24 truncate text-muted-foreground", title: ALIAS_LABELS[alias], children: ALIAS_LABELS[alias] }),
@@ -25636,13 +25621,13 @@ function SlideTransitionSection({
25636
25621
  return null;
25637
25622
  }
25638
25623
  const transitionType = activeSlide.transition?.type ?? "none";
25639
- const validDirections = TRANSITION_VALID_DIRECTIONS[transitionType];
25624
+ const validDirections = dist_exports.TRANSITION_VALID_DIRECTIONS[transitionType];
25640
25625
  const hasDirections = validDirections !== void 0 && validDirections.length > 0;
25641
25626
  const usesOrientation = TRANSITION_ORIENTATION_TYPES.has(transitionType);
25642
25627
  const isWheel = transitionType === "wheel";
25643
25628
  const isMorph = transitionType === "morph";
25644
- const patternOptions = TRANSITION_PATTERN_OPTIONS[transitionType];
25645
- const hasThruBlk = TRANSITION_THRUBLK_TYPES.has(transitionType);
25629
+ const patternOptions = dist_exports.TRANSITION_PATTERN_OPTIONS[transitionType];
25630
+ const hasThruBlk = dist_exports.TRANSITION_THRUBLK_TYPES.has(transitionType);
25646
25631
  return /* @__PURE__ */ jsxs(
25647
25632
  "div",
25648
25633
  {
@@ -27083,8 +27068,6 @@ function PrintPreview({
27083
27068
  }) })
27084
27069
  ] });
27085
27070
  }
27086
-
27087
- // src/viewer/components/print-dialog-types.ts
27088
27071
  var radioClass = (active) => `flex items-center gap-2 px-3 py-2 rounded-lg border text-sm cursor-pointer transition-colors ${active ? "border-primary bg-primary/10 text-foreground" : "border-border bg-background text-muted-foreground hover:border-primary/40"}`;
27089
27072
  function PrintSettingsPanel({
27090
27073
  printWhat,
@@ -31217,8 +31200,6 @@ ${url}`)) {
31217
31200
  )
31218
31201
  );
31219
31202
  }
31220
-
31221
- // src/viewer/hooks/useTableStyleMapHandlers.ts
31222
31203
  function useTableStyleMapHandlers(input) {
31223
31204
  const { tableStyleMap, setTableStyleMap, tableStylesToDelete, setTableStylesToDelete } = input;
31224
31205
  const handleTableStyleMapChange = (nextMap) => {
@@ -31236,7 +31217,7 @@ function useTableStyleMapHandlers(input) {
31236
31217
  var AiChatPanel = lazy(async () => {
31237
31218
  const [{ useChat }, { default: Panel }] = await Promise.all([
31238
31219
  import('@ai-sdk/react'),
31239
- import('./AiChatPanel-TIJ3MRTR.mjs')
31220
+ import('./AiChatPanel-6EIOUV7J.mjs')
31240
31221
  ]);
31241
31222
  function BoundAiChatPanel(props) {
31242
31223
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -31852,7 +31833,7 @@ function ViewerSidePanels(props) {
31852
31833
  const customization = useViewerCustomizationContext();
31853
31834
  const inspectorOpen = (mode === "edit" || mode === "master") && s.isInspectorPaneOpen && isPanelVisible(customization, "inspector");
31854
31835
  const currentBuiltInTheme = BUILT_IN_THEMES.find(
31855
- (candidate) => themeColorSchemesEqual(s.theme?.colorScheme, candidate.colorScheme)
31836
+ (candidate) => (0, dist_exports.themeColorSchemesEqual)(s.theme?.colorScheme, candidate.colorScheme)
31856
31837
  ) ?? null;
31857
31838
  return /* @__PURE__ */ jsxs(Fragment, { children: [
31858
31839
  inspectorOpen && onResizeRight && /* @__PURE__ */ jsx(ResizeHandle, { direction: "horizontal", onResize: onResizeRight }),
@@ -33256,12 +33237,10 @@ function OptionsRibbonPane({
33256
33237
  ] })
33257
33238
  ] });
33258
33239
  }
33259
-
33260
- // src/viewer/utils/ai-log-export.ts
33261
- async function exportAiChatLogs2(options) {
33240
+ async function exportAiChatLogs(options) {
33262
33241
  const store = options?.store ?? createChatHistoryStore();
33263
33242
  const chats = await collectStoredChats(store);
33264
- return exportAiChatLogs(
33243
+ return exportAiChatLogs$1(
33265
33244
  chats,
33266
33245
  { format: options?.format, detailed: options?.detailed, now: options?.now },
33267
33246
  (filename, content, mime) => {
@@ -33298,7 +33277,7 @@ function SettingsAiTab({ store }) {
33298
33277
  async (format) => {
33299
33278
  setStatus({ kind: "busy" });
33300
33279
  try {
33301
- const count = await exportAiChatLogs2({ store: activeStore, format, detailed });
33280
+ const count = await exportAiChatLogs({ store: activeStore, format, detailed });
33302
33281
  setStatus({ kind: "done", count });
33303
33282
  } catch {
33304
33283
  setStatus({ kind: "done", count: 0 });
@@ -34460,8 +34439,10 @@ var PowerPointViewer = forwardRef(
34460
34439
  pieChart3D = false,
34461
34440
  hiddenActions: legacyHiddenActions,
34462
34441
  ai,
34463
- customization
34442
+ customization,
34443
+ initialSlide
34464
34444
  } = props;
34445
+ const rootOptions = resolveViewerRootOptions(props);
34465
34446
  useEffect(() => {
34466
34447
  const css = buildUserFontFaceStyles(fonts);
34467
34448
  if (!css) {
@@ -34613,7 +34594,7 @@ var PowerPointViewer = forwardRef(
34613
34594
  [state.recentColors, pushColor]
34614
34595
  );
34615
34596
  const themeColorMapValue = useMemo(
34616
- () => state.theme?.colorScheme ? buildThemeColorMap(state.theme.colorScheme) : void 0,
34597
+ () => state.theme?.colorScheme ? (0, dist_exports.buildThemeColorMap)(state.theme.colorScheme) : void 0,
34617
34598
  [state.theme?.colorScheme]
34618
34599
  );
34619
34600
  const settings = useMemo(
@@ -34951,6 +34932,7 @@ var PowerPointViewer = forwardRef(
34951
34932
  // (SSRF/privacy-safe), so only an explicit `true` here lets remote
34952
34933
  // http(s) image sources actually load.
34953
34934
  allowExternalImages: viewerOptions.trust.allowExternalContent,
34935
+ initialSlide,
34954
34936
  setReadOnlyRecommendation: readOnlyRec.setRecommendation,
34955
34937
  setModifyVerifier: readOnlyRec.setModifyVerifier,
34956
34938
  setCompatToasts: compatToastsState.setToasts,
@@ -35117,7 +35099,7 @@ var PowerPointViewer = forwardRef(
35117
35099
  markDirty: history.markDirty,
35118
35100
  applyThemeUpdates: applyAiTheme
35119
35101
  });
35120
- const showSlidesPane = mode === "edit" && !isMobile && !dialogs.isNarrowViewport && state.isSlidesPaneOpen && isPanelVisible(customizationResolved, "slidesPane");
35102
+ const showSlidesPane = mode === "edit" && !isMobile && !dialogs.isNarrowViewport && state.isSlidesPaneOpen && rootOptions.showThumbnails && isPanelVisible(customizationResolved, "slidesPane");
35121
35103
  const showMasterPane = mode === "master" && !isMobile && state.isSlidesPaneOpen;
35122
35104
  const addinStatus = {
35123
35105
  smartArt3d: smartArt3D && !viewerOptions.advanced.disable3DRendering,
@@ -35146,7 +35128,7 @@ var PowerPointViewer = forwardRef(
35146
35128
  tabIndex: 0,
35147
35129
  className: "h-full w-full flex flex-col overflow-hidden outline-none",
35148
35130
  children: loading ? /* @__PURE__ */ jsx(LoadingState, {}) : error ? /* @__PURE__ */ jsx(ErrorState, { error }) : /* @__PURE__ */ jsx(ThemeColorMapProvider, { value: themeColorMapValue, children: /* @__PURE__ */ jsxs(RecentColorsProvider, { value: recentColorsValue, children: [
35149
- mode !== "present" && /* @__PURE__ */ jsx(
35131
+ mode !== "present" && rootOptions.showToolbar && /* @__PURE__ */ jsx(
35150
35132
  ViewerToolbarSection,
35151
35133
  {
35152
35134
  mode,
@@ -35200,7 +35182,7 @@ var PowerPointViewer = forwardRef(
35200
35182
  onSetShowGuides: viewPreferencesSync.handleSetShowGuides
35201
35183
  }
35202
35184
  ),
35203
- mode !== "present" && readOnlyRec.bannerVisible && /* @__PURE__ */ jsx(
35185
+ mode !== "present" && rootOptions.showToolbar && readOnlyRec.bannerVisible && /* @__PURE__ */ jsx(
35204
35186
  ReadOnlyBanner,
35205
35187
  {
35206
35188
  recommendation: readOnlyRec.recommendation,
@@ -35293,13 +35275,13 @@ var PowerPointViewer = forwardRef(
35293
35275
  mode,
35294
35276
  onSetMode: handleSetMode,
35295
35277
  onToggleSlideSorter: () => state.setShowSlideSorter((p) => !p),
35296
- hideStatusBar: isMobile,
35278
+ hideStatusBar: isMobile || !rootOptions.showToolbar,
35297
35279
  hiddenActions,
35298
35280
  notesStyle: state.notesMaster?.notesStyle,
35299
35281
  onNotesHeightChange: setNotesBarHeight
35300
35282
  }
35301
35283
  ),
35302
- mode !== "present" && isMobile && /* @__PURE__ */ jsx(
35284
+ mode !== "present" && isMobile && rootOptions.showToolbar && /* @__PURE__ */ jsx(
35303
35285
  MobileChromeOverlay,
35304
35286
  {
35305
35287
  state,