pptx-react-viewer 4.58.0 → 4.60.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.
- package/CHANGELOG.md +47 -0
- package/dist/{chunk-MO4FI3EX.mjs → chunk-FYQVCABH.mjs} +24 -4
- package/dist/chunk-FYQVCABH.mjs.br +0 -0
- package/dist/chunk-FYQVCABH.mjs.gz +0 -0
- package/dist/{chunk-W7LUZLIS.mjs → chunk-JXP7DZTT.mjs} +471 -150
- package/dist/chunk-JXP7DZTT.mjs.br +0 -0
- package/dist/chunk-JXP7DZTT.mjs.gz +0 -0
- package/dist/{chunk-PUXJT6AD.js → chunk-TXVGYIO6.js} +23 -3
- package/dist/chunk-TXVGYIO6.js.br +0 -0
- package/dist/chunk-TXVGYIO6.js.gz +0 -0
- package/dist/{chunk-4CDLXDPF.js → chunk-XDJKHCKL.js} +1538 -1217
- package/dist/chunk-XDJKHCKL.js.br +0 -0
- package/dist/chunk-XDJKHCKL.js.gz +0 -0
- package/dist/i18n/de.cjs +8 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +8 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +8 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +8 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +8 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +8 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +8 -0
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +8 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.mjs.gz +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +24 -24
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +15 -0
- package/dist/internals.js +80 -80
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +1 -1
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.js +18 -18
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +2 -2
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +3 -3
- package/dist/chunk-4CDLXDPF.js.br +0 -0
- package/dist/chunk-4CDLXDPF.js.gz +0 -0
- package/dist/chunk-MO4FI3EX.mjs.br +0 -0
- package/dist/chunk-MO4FI3EX.mjs.gz +0 -0
- package/dist/chunk-PUXJT6AD.js.br +0 -0
- package/dist/chunk-PUXJT6AD.js.gz +0 -0
- package/dist/chunk-W7LUZLIS.mjs.br +0 -0
- package/dist/chunk-W7LUZLIS.mjs.gz +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { aiAssistants, AiChatPanelLazy } from './chunk-NE5JQMED.mjs';
|
|
2
|
-
import { useCollaboration, useVirtualizedSlides, StaticElementRenderer, useModalDismissDrag, useToolbarVisibility, useViewerOptionsContext, InlineCollaborationContext, SlideBackgroundImageLayer, ElementRenderer, withDisplayName, ResizeHandles, imgSrc, renderStrokeView, useChartFormatContext, useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useClearSelectionOnSlideChange, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useSheetDismissDrag, playAnimationSound, ViewerOptionsStoreContext, safePrompt, useController, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useKeyboardInsets, ViewerOptionsContext, useReportOnChange, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob, useChartPartSelection, resolveSmartArtDataPalette, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES } from './chunk-
|
|
2
|
+
import { useCollaboration, useVirtualizedSlides, StaticElementRenderer, useModalDismissDrag, useToolbarVisibility, useViewerOptionsContext, InlineCollaborationContext, SlideBackgroundImageLayer, ElementRenderer, withDisplayName, ResizeHandles, imgSrc, renderStrokeView, useChartFormatContext, useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useClearSelectionOnSlideChange, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useSheetDismissDrag, playAnimationSound, ViewerOptionsStoreContext, safePrompt, useController, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useKeyboardInsets, ViewerOptionsContext, useReportOnChange, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob, useChartPartSelection, resolveSmartArtDataPalette, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES } from './chunk-FYQVCABH.mjs';
|
|
3
3
|
import { useTranslation, DEFAULT_SECTION_GROUP_ID, cn, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, PptxI18nContext, TOOLBAR_SECTIONS, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, UNGROUPED_SECTION_ID, ViewerLocaleControlsContext, hasCopyableFormat, ViewerI18nContext, useHostI18next, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, normalizeHexColor, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, ANIMATION_PRESET_OPTIONS, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, getPatternSvg, DEFAULT_STROKE_COLOR, openNativeEyeDropper } from './chunk-MR3ZSEHS.mjs';
|
|
4
|
-
import { ANIMATION_DIRECTION_LABEL_KEYS, buildQuickStylesGallery, editorThumbnailWidth, EDITOR_THUMBNAIL_WIDTH, buildSlideTemplateContent, SLIDE_TEMPLATES, homeLaunchers, attachRibbonOverflow, isPanelVisible, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, RULER_THICKNESS, shouldShowElementHandles, deviceStrokeStageStyle, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, activateModalFocus, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, isDialogAvailable, resolveScreenTip, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, isFeatureEnabled, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, buildTitleBarState, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, DEFAULT_INSERT_CHART_KIND, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, FIXED_TAB_GALLERIES, DESIGN_RIBBON_COMMANDS, designCommandState, CONTEXTUAL_TAB_GROUPS, 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, getSlideBackgroundStyle, sectionAddAfterSlideIndex, EMPTY_RESOLVED_CUSTOMIZATION, getRegionRenderer, ViewerRegionHost, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, readStoredViewerPrefs, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, buildRecordRibbon, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, buildHelpRibbon, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, resolveCollaborationConfig, resolveViewerRootOptions, buildUserFontFaceStyles, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrectToEdit, resolveImageResolutionScale, resolveAllowExternalContent, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, saveFailureMessage, withSaveFailureToast, createSlidePackageClipboard, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, hiddenSlideCue, editorThumbnailHeight, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, MIN_TOUCH_TARGET_PX, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsFromOptions, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, hasTiltData, RULER_FONT_SIZE, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, pruneExpiredAutosaveSnapshots, createDeckStyleHost, galleryDeckView, tableLayoutCells, commitsThroughDeckStyle, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, forgetStepsUsingRemovedParts, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, deleteAutosaveSnapshot, dispatchReadOnlyBannerIntent, readOnlyBannerState, buildFieldSubstitutionContext, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, observeElementHeight, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, getDensePanelTouchTargetPx, shouldStickyActionRow, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, computeAnchoredPopupPosition, updateSubtitleSettings, overlayPointerInput, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, clearAutosaveSnapshots, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, visibleTemplateElements, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, statusBarState, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, resolveDefaultPrintSettings, HANDOUT_OPTIONS, effectiveOrientation, computeSlideCount, estimatePageCount, computeSlideIndices, bindPptxOptionsDialog, optionsBlockSlot, optionsPaneSlot, DEFAULT_QUICK_ACCESS_COMMAND_IDS, AI_OPTIONS_CATEGORY, buildCollaborationShareUrl, buildActiveSessionUsers, slideClipboardLabels, sorterPasteInsertAt, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, listenForOutlineViewDismiss, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, createCollaborationStateReporter, buildCollaborationState, writeBackReport, cropModeKeyAction, isEditPointsEnabled, findReplacementAvailability, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, 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, dispatchStatusBarIntent, toggleSheet, describeElementChange, sanitizeMathMl, compileEquationTemplateMathMl, computeAllNotesPages, getNotesPrintableArea, CUSTOM_FONT_ACCEPT, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, resolveViewerAddinRows, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, 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, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, buildPreviewElements, deriveSlideFieldContext, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, ELEMENT_GEOMETRY_SECTIONS, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, elementLockTogglePatch, resolveInspectorSections, inspectorTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, inspectorNumber, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setDataLabelsRangeCache, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, strokeColorChange, 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, inspectorFieldPatch, 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, rebuildDrawingShapesIfCleared, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyTextStyleUpdate, buildThemeColorSwatchGrid, themeColorGridView, recentColorsGridView, 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, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, mediaTrimEndMsFromSeconds, validateMediaTrimRange, OFFICE_COLOR_SWATCHES, officeColorSwatchLabel, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, SHAPE_LINE_SECTIONS, shapeQuickStylePatch, SHAPE_EFFECT_SECTIONS, createLiveColorInput, themeColorGridCommit, TEXT_BOX_SECTIONS, buildTextWarpGallery, TEXT_WARP_PRESETS, 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, quickStyleShapeStyle, textWarpStyle, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
|
|
4
|
+
import { ANIMATION_DIRECTION_LABEL_KEYS, buildQuickStylesGallery, editorThumbnailWidth, EDITOR_THUMBNAIL_WIDTH, buildSlideTemplateContent, SLIDE_TEMPLATES, homeLaunchers, attachRibbonOverflow, isPanelVisible, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, RULER_THICKNESS, shouldShowElementHandles, deviceStrokeStageStyle, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, activateModalFocus, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, isDialogAvailable, resolveScreenTip, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, isFeatureEnabled, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, buildTitleBarState, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, DEFAULT_INSERT_CHART_KIND, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, FIXED_TAB_GALLERIES, DESIGN_RIBBON_COMMANDS, designCommandState, CONTEXTUAL_TAB_GROUPS, 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, getSlideBackgroundStyle, sectionAddAfterSlideIndex, EMPTY_RESOLVED_CUSTOMIZATION, getRegionRenderer, ViewerRegionHost, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, readStoredViewerPrefs, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, buildRecordRibbon, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, buildHelpRibbon, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, resolveCollaborationConfig, resolveViewerRootOptions, buildUserFontFaceStyles, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrectToEdit, resolveImageResolutionScale, resolveAllowExternalContent, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, saveFailureMessage, withSaveFailureToast, createSlidePackageClipboard, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, hiddenSlideCue, editorThumbnailHeight, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, MIN_TOUCH_TARGET_PX, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsFromOptions, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, hasTiltData, RULER_FONT_SIZE, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, pruneExpiredAutosaveSnapshots, createDeckStyleHost, galleryDeckView, tableLayoutCells, commitsThroughDeckStyle, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, forgetStepsUsingRemovedParts, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, deleteAutosaveSnapshot, dispatchReadOnlyBannerIntent, readOnlyBannerState, buildFieldSubstitutionContext, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, observeElementHeight, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, getDensePanelTouchTargetPx, shouldStickyActionRow, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, updateSubtitleSettings, overlayPointerInput, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, clearAutosaveSnapshots, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, visibleTemplateElements, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, statusBarState, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, createCustomShowsController, resolveDefaultPrintSettings, HANDOUT_OPTIONS, effectiveOrientation, computeSlideCount, estimatePageCount, computeSlideIndices, bindPptxOptionsDialog, optionsBlockSlot, optionsPaneSlot, DEFAULT_QUICK_ACCESS_COMMAND_IDS, AI_OPTIONS_CATEGORY, buildCollaborationShareUrl, buildActiveSessionUsers, slideClipboardLabels, sorterPasteInsertAt, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, listenForOutlineViewDismiss, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, createCollaborationStateReporter, buildCollaborationState, writeBackReport, cropModeKeyAction, isEditPointsEnabled, findReplacementAvailability, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, 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, dispatchStatusBarIntent, toggleSheet, describeElementChange, sanitizeMathMl, compileEquationTemplateMathMl, computeAllNotesPages, getNotesPrintableArea, CUSTOM_FONT_ACCEPT, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, resolveViewerAddinRows, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, 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, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, buildPreviewElements, deriveSlideFieldContext, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, ELEMENT_GEOMETRY_SECTIONS, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, elementLockTogglePatch, resolveInspectorSections, inspectorTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, inspectorNumber, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setDataLabelsRangeCache, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, strokeColorChange, 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, inspectorFieldPatch, 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, rebuildDrawingShapesIfCleared, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyTextStyleUpdate, buildThemeColorSwatchGrid, themeColorGridView, recentColorsGridView, 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, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, mediaTrimEndMsFromSeconds, validateMediaTrimRange, OFFICE_COLOR_SWATCHES, officeColorSwatchLabel, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, SHAPE_LINE_SECTIONS, shapeQuickStylePatch, SHAPE_EFFECT_SECTIONS, createLiveColorInput, themeColorGridCommit, TEXT_BOX_SECTIONS, buildTextWarpGallery, TEXT_WARP_PRESETS, 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, quickStyleShapeStyle, textWarpStyle, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
|
|
5
5
|
export { THEME_CATALOG, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from 'ooxml-ui/pptx';
|
|
6
|
-
import
|
|
6
|
+
import React108, { createContext, useContext, useRef, useMemo, useCallback, useEffect, useState, Fragment as Fragment$1, useLayoutEffect, forwardRef, useSyncExternalStore, useReducer, useId, useDeferredValue } from 'react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { LuArrowDown, LuArrowUp, LuArrowRight, LuArrowLeft, LuArrowDownRight, LuArrowDownLeft, LuArrowUpRight, LuArrowUpLeft, LuPlus, LuX, LuPanelLeft, LuPanelRight, LuSparkles, LuSettings, LuFolderOpen, LuType, LuPalette, LuFilter, LuPaintbrush, LuChevronDown, LuClipboardCopy, LuShapes, LuLayoutGrid, LuWand, LuPresentation, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuUpload, LuShare2, LuPrinter, LuDownload, LuSave, LuInfo, LuFilePlus2, LuHouse, LuCopy, LuFileJson, LuBox, LuVideo, LuFileImage, LuFileText, LuDatabase, LuPlay, LuClock3, LuShieldAlert, LuLock, LuUser, LuHardDrive, LuLogIn, LuMessageSquare, LuEyeOff, LuChevronRight, LuMonitor, LuClock, LuRadio, LuCaptions, LuCheck, LuImage, LuSearch, LuHistory, LuCalendarDays, LuHash, LuText, LuCast, LuShieldCheck, LuPanelLeftClose, LuTrash2, LuEye, LuLoader, LuSignature, LuTriangleAlert, LuPenTool, LuWifi, LuWifiOff, LuUsers, LuMinus, LuChevronLeft, LuPause, LuCaseSensitive, LuChevronUp, LuReplace, LuGripVertical, LuGrid2X2, LuStickyNote, LuList, LuBug, LuMove, LuCopyPlus, LuClipboardPaste, LuLayers, LuSettings2, LuLockOpen, LuPencil, LuReply, LuMoveRight, LuRotateCw, LuScissors, LuBookmark, LuPipette } from 'react-icons/lu';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
@@ -644,7 +644,7 @@ function slideThumbnailPropsEqual(prev, next) {
|
|
|
644
644
|
}
|
|
645
645
|
return true;
|
|
646
646
|
}
|
|
647
|
-
var SlideThumbnail = /* @__PURE__ */
|
|
647
|
+
var SlideThumbnail = /* @__PURE__ */ React108.memo(
|
|
648
648
|
SlideThumbnailImpl,
|
|
649
649
|
slideThumbnailPropsEqual
|
|
650
650
|
);
|
|
@@ -706,7 +706,7 @@ function LazyThumbnailInner({
|
|
|
706
706
|
}
|
|
707
707
|
) });
|
|
708
708
|
}
|
|
709
|
-
var LazyThumbnail = /* @__PURE__ */
|
|
709
|
+
var LazyThumbnail = /* @__PURE__ */ React108.memo(LazyThumbnailInner);
|
|
710
710
|
function declaredSectionFacts(groups, sectionId) {
|
|
711
711
|
const declared = groups.filter((group) => group.id !== DEFAULT_SECTION_GROUP_ID && group.id !== UNGROUPED_SECTION_ID).map((group) => group.id);
|
|
712
712
|
return {
|
|
@@ -874,7 +874,7 @@ function SlideItemInner({
|
|
|
874
874
|
}
|
|
875
875
|
);
|
|
876
876
|
}
|
|
877
|
-
var SlideItem = /* @__PURE__ */
|
|
877
|
+
var SlideItem = /* @__PURE__ */ React108.memo(SlideItemInner);
|
|
878
878
|
function useSlidePaneCallbacks(onMoveSlide, onRenameSection, onToggleSectionCollapse) {
|
|
879
879
|
const [collapsedSections, setCollapsedSections] = useState({});
|
|
880
880
|
const [renamingSectionId, setRenamingSectionId] = useState(null);
|
|
@@ -2247,7 +2247,7 @@ function WebHomeControls({
|
|
|
2247
2247
|
host.addEventListener("home-popup", listener);
|
|
2248
2248
|
return () => host.removeEventListener("home-popup", listener);
|
|
2249
2249
|
}, [onPopup]);
|
|
2250
|
-
return
|
|
2250
|
+
return React108.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
|
|
2251
2251
|
}
|
|
2252
2252
|
function ShapeArrangeExtras(p) {
|
|
2253
2253
|
const commands = useShapeFormatContext();
|
|
@@ -2790,7 +2790,7 @@ function AccountPage() {
|
|
|
2790
2790
|
return void 0;
|
|
2791
2791
|
});
|
|
2792
2792
|
};
|
|
2793
|
-
const version = "4.
|
|
2793
|
+
const version = "4.60.0" ;
|
|
2794
2794
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
2795
2795
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
2796
2796
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -3732,101 +3732,6 @@ function ReviewSection(p) {
|
|
|
3732
3732
|
};
|
|
3733
3733
|
return /* @__PURE__ */ jsx(WebRibbonSection, { groups, onCommand: request });
|
|
3734
3734
|
}
|
|
3735
|
-
function CustomShowsControls({
|
|
3736
|
-
customShows,
|
|
3737
|
-
activeCustomShowId,
|
|
3738
|
-
canEdit,
|
|
3739
|
-
isCurrentSlideInActiveShow,
|
|
3740
|
-
onSetActiveCustomShowId,
|
|
3741
|
-
onCreateCustomShow,
|
|
3742
|
-
onRenameActiveCustomShow,
|
|
3743
|
-
onDeleteActiveCustomShow,
|
|
3744
|
-
onToggleCurrentSlideInActiveShow
|
|
3745
|
-
}) {
|
|
3746
|
-
const { t } = useTranslation();
|
|
3747
|
-
if (customShows.length > 0) {
|
|
3748
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3749
|
-
sep,
|
|
3750
|
-
/* @__PURE__ */ jsxs(
|
|
3751
|
-
WebSelect,
|
|
3752
|
-
{
|
|
3753
|
-
value: activeCustomShowId ?? "",
|
|
3754
|
-
onChange: (e) => onSetActiveCustomShowId(e.target.value || null),
|
|
3755
|
-
className: "text-[11px]",
|
|
3756
|
-
title: t("pptx.customShows.customShowTooltip"),
|
|
3757
|
-
"aria-label": t("pptx.customShows.selectCustomShow"),
|
|
3758
|
-
children: [
|
|
3759
|
-
/* @__PURE__ */ jsx("option", { value: "", children: t("pptx.customShows.allSlides") }),
|
|
3760
|
-
customShows.map((cs) => /* @__PURE__ */ jsx("option", { value: cs.id, children: cs.name }, cs.id))
|
|
3761
|
-
]
|
|
3762
|
-
}
|
|
3763
|
-
),
|
|
3764
|
-
canEdit && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3765
|
-
/* @__PURE__ */ jsx(
|
|
3766
|
-
"button",
|
|
3767
|
-
{
|
|
3768
|
-
type: "button",
|
|
3769
|
-
onClick: onCreateCustomShow,
|
|
3770
|
-
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
3771
|
-
title: t("pptx.customShows.createTooltip"),
|
|
3772
|
-
children: t("pptx.customShows.addShow")
|
|
3773
|
-
}
|
|
3774
|
-
),
|
|
3775
|
-
activeCustomShowId && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3776
|
-
/* @__PURE__ */ jsx(
|
|
3777
|
-
"button",
|
|
3778
|
-
{
|
|
3779
|
-
type: "button",
|
|
3780
|
-
onClick: onRenameActiveCustomShow,
|
|
3781
|
-
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
3782
|
-
title: t("pptx.customShows.renameTooltip"),
|
|
3783
|
-
children: t("pptx.sections.rename")
|
|
3784
|
-
}
|
|
3785
|
-
),
|
|
3786
|
-
/* @__PURE__ */ jsx(
|
|
3787
|
-
"button",
|
|
3788
|
-
{
|
|
3789
|
-
type: "button",
|
|
3790
|
-
onClick: onDeleteActiveCustomShow,
|
|
3791
|
-
className: "px-2 py-1 rounded bg-red-700/80 hover:bg-red-600 text-[11px] transition-colors",
|
|
3792
|
-
title: t("pptx.customShows.deleteTooltip"),
|
|
3793
|
-
children: t("pptx.customShows.delete")
|
|
3794
|
-
}
|
|
3795
|
-
),
|
|
3796
|
-
/* @__PURE__ */ jsx(
|
|
3797
|
-
"button",
|
|
3798
|
-
{
|
|
3799
|
-
type: "button",
|
|
3800
|
-
onClick: onToggleCurrentSlideInActiveShow,
|
|
3801
|
-
className: cn(
|
|
3802
|
-
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
3803
|
-
isCurrentSlideInActiveShow ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
3804
|
-
),
|
|
3805
|
-
title: t("pptx.customShows.toggleSlideTooltip"),
|
|
3806
|
-
children: isCurrentSlideInActiveShow ? t("pptx.customShows.inShow") : t("pptx.customShows.addSlide")
|
|
3807
|
-
}
|
|
3808
|
-
)
|
|
3809
|
-
] })
|
|
3810
|
-
] })
|
|
3811
|
-
] });
|
|
3812
|
-
}
|
|
3813
|
-
if (canEdit) {
|
|
3814
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3815
|
-
sep,
|
|
3816
|
-
/* @__PURE__ */ jsx(
|
|
3817
|
-
"button",
|
|
3818
|
-
{
|
|
3819
|
-
type: "button",
|
|
3820
|
-
onClick: onCreateCustomShow,
|
|
3821
|
-
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
3822
|
-
title: t("pptx.customShows.createTooltip"),
|
|
3823
|
-
children: t("pptx.customShows.addShow")
|
|
3824
|
-
}
|
|
3825
|
-
)
|
|
3826
|
-
] });
|
|
3827
|
-
}
|
|
3828
|
-
return null;
|
|
3829
|
-
}
|
|
3830
3735
|
function SlideShowOptions({
|
|
3831
3736
|
presentationProperties,
|
|
3832
3737
|
onChange,
|
|
@@ -3888,25 +3793,11 @@ function SubtitleSettingsControl() {
|
|
|
3888
3793
|
function SlideShowSection(p) {
|
|
3889
3794
|
const { t } = useTranslation();
|
|
3890
3795
|
const { isHidden } = useToolbarVisibility(p.hiddenActions);
|
|
3891
|
-
const [showsOpen, setShowsOpen] = useState(false);
|
|
3892
|
-
const showsRef = useRef(null);
|
|
3893
|
-
useEffect(() => {
|
|
3894
|
-
if (!showsOpen) {
|
|
3895
|
-
return;
|
|
3896
|
-
}
|
|
3897
|
-
const handler = (event) => {
|
|
3898
|
-
if (showsRef.current && !showsRef.current.contains(event.target)) {
|
|
3899
|
-
setShowsOpen(false);
|
|
3900
|
-
}
|
|
3901
|
-
};
|
|
3902
|
-
document.addEventListener("mousedown", handler);
|
|
3903
|
-
return () => document.removeEventListener("mousedown", handler);
|
|
3904
|
-
}, [showsOpen]);
|
|
3905
3796
|
const actions = {
|
|
3906
3797
|
"slideShow.startSlideShow.fromBeginning": p.onPresentFromBeginning ?? (() => p.onSetMode("present")),
|
|
3907
3798
|
"slideShow.startSlideShow.fromCurrent": p.onPresent,
|
|
3908
3799
|
"slideShow.present.presenterView": p.onEnterPresenterView,
|
|
3909
|
-
"slideShow.startSlideShow.customShow":
|
|
3800
|
+
"slideShow.startSlideShow.customShow": p.onOpenCustomShows,
|
|
3910
3801
|
"slideShow.present.broadcast": p.onOpenBroadcastDialog,
|
|
3911
3802
|
"slideShow.setUp.setUpSlideShow": p.onOpenSetUpSlideShow,
|
|
3912
3803
|
"slideShow.setUp.hideSlide": p.onToggleHideSlide,
|
|
@@ -3918,7 +3809,6 @@ function SlideShowSection(p) {
|
|
|
3918
3809
|
SLIDE_SHOW_COMMAND_GROUPS.map((group) => /* @__PURE__ */ jsx(WebRibbonGroup, { groupId: group.id, label: t(group.labelKey), children: group.commands.filter(
|
|
3919
3810
|
(command) => command.id !== "slideShow.present.broadcast" || !isHidden("broadcast")
|
|
3920
3811
|
).map((command) => {
|
|
3921
|
-
const customShow = command.id === "slideShow.startSlideShow.customShow";
|
|
3922
3812
|
const hideSlide = command.id === "slideShow.setUp.hideSlide";
|
|
3923
3813
|
const button = /* @__PURE__ */ jsx(
|
|
3924
3814
|
WebRibbonCommand,
|
|
@@ -3928,17 +3818,13 @@ function SlideShowSection(p) {
|
|
|
3928
3818
|
icon: command.icon,
|
|
3929
3819
|
title: t(command.tooltipKey ?? command.labelKey),
|
|
3930
3820
|
disabled: command.unsupported,
|
|
3931
|
-
active: hideSlide ? p.activeSlideHidden :
|
|
3821
|
+
active: hideSlide ? p.activeSlideHidden : false,
|
|
3932
3822
|
pressed: hideSlide ? p.activeSlideHidden : void 0,
|
|
3933
|
-
expanded: customShow ? showsOpen : void 0,
|
|
3934
3823
|
onCommand: request
|
|
3935
3824
|
},
|
|
3936
3825
|
command.id
|
|
3937
3826
|
);
|
|
3938
|
-
return
|
|
3939
|
-
button,
|
|
3940
|
-
showsOpen && /* @__PURE__ */ jsx(RibbonMenu, { anchorRef: showsRef, className: "pt-1", children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 rounded-lg border border-border bg-popover p-2 shadow-2xl", children: /* @__PURE__ */ jsx(CustomShowsControls, { ...p.customShowControls }) }) })
|
|
3941
|
-
] }, command.id) : button;
|
|
3827
|
+
return button;
|
|
3942
3828
|
}) }, group.id)),
|
|
3943
3829
|
/* @__PURE__ */ jsx(WebRibbonGroup, { label: t("pptx.slideShow.options"), children: /* @__PURE__ */ jsx(
|
|
3944
3830
|
SlideShowOptions,
|
|
@@ -4625,7 +4511,8 @@ function MobileSectionBody({
|
|
|
4625
4511
|
}),
|
|
4626
4512
|
showSubtitles: p.showSubtitles ?? false,
|
|
4627
4513
|
onSetMode: p.onSetMode,
|
|
4628
|
-
|
|
4514
|
+
onOpenCustomShows: p.onOpenCustomShows ?? (() => {
|
|
4515
|
+
}),
|
|
4629
4516
|
hiddenActions: p.hiddenActions
|
|
4630
4517
|
}
|
|
4631
4518
|
) });
|
|
@@ -5156,6 +5043,101 @@ function TitleBarElement(p) {
|
|
|
5156
5043
|
}
|
|
5157
5044
|
);
|
|
5158
5045
|
}
|
|
5046
|
+
function CustomShowsControls({
|
|
5047
|
+
customShows,
|
|
5048
|
+
activeCustomShowId,
|
|
5049
|
+
canEdit,
|
|
5050
|
+
isCurrentSlideInActiveShow,
|
|
5051
|
+
onSetActiveCustomShowId,
|
|
5052
|
+
onCreateCustomShow,
|
|
5053
|
+
onRenameActiveCustomShow,
|
|
5054
|
+
onDeleteActiveCustomShow,
|
|
5055
|
+
onToggleCurrentSlideInActiveShow
|
|
5056
|
+
}) {
|
|
5057
|
+
const { t } = useTranslation();
|
|
5058
|
+
if (customShows.length > 0) {
|
|
5059
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5060
|
+
sep,
|
|
5061
|
+
/* @__PURE__ */ jsxs(
|
|
5062
|
+
WebSelect,
|
|
5063
|
+
{
|
|
5064
|
+
value: activeCustomShowId ?? "",
|
|
5065
|
+
onChange: (e) => onSetActiveCustomShowId(e.target.value || null),
|
|
5066
|
+
className: "text-[11px]",
|
|
5067
|
+
title: t("pptx.customShows.customShowTooltip"),
|
|
5068
|
+
"aria-label": t("pptx.customShows.selectCustomShow"),
|
|
5069
|
+
children: [
|
|
5070
|
+
/* @__PURE__ */ jsx("option", { value: "", children: t("pptx.customShows.allSlides") }),
|
|
5071
|
+
customShows.map((cs) => /* @__PURE__ */ jsx("option", { value: cs.id, children: cs.name }, cs.id))
|
|
5072
|
+
]
|
|
5073
|
+
}
|
|
5074
|
+
),
|
|
5075
|
+
canEdit && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5076
|
+
/* @__PURE__ */ jsx(
|
|
5077
|
+
"button",
|
|
5078
|
+
{
|
|
5079
|
+
type: "button",
|
|
5080
|
+
onClick: onCreateCustomShow,
|
|
5081
|
+
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
5082
|
+
title: t("pptx.customShows.createTooltip"),
|
|
5083
|
+
children: t("pptx.customShows.addShow")
|
|
5084
|
+
}
|
|
5085
|
+
),
|
|
5086
|
+
activeCustomShowId && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5087
|
+
/* @__PURE__ */ jsx(
|
|
5088
|
+
"button",
|
|
5089
|
+
{
|
|
5090
|
+
type: "button",
|
|
5091
|
+
onClick: onRenameActiveCustomShow,
|
|
5092
|
+
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
5093
|
+
title: t("pptx.customShows.renameTooltip"),
|
|
5094
|
+
children: t("pptx.sections.rename")
|
|
5095
|
+
}
|
|
5096
|
+
),
|
|
5097
|
+
/* @__PURE__ */ jsx(
|
|
5098
|
+
"button",
|
|
5099
|
+
{
|
|
5100
|
+
type: "button",
|
|
5101
|
+
onClick: onDeleteActiveCustomShow,
|
|
5102
|
+
className: "px-2 py-1 rounded bg-red-700/80 hover:bg-red-600 text-[11px] transition-colors",
|
|
5103
|
+
title: t("pptx.customShows.deleteTooltip"),
|
|
5104
|
+
children: t("pptx.customShows.delete")
|
|
5105
|
+
}
|
|
5106
|
+
),
|
|
5107
|
+
/* @__PURE__ */ jsx(
|
|
5108
|
+
"button",
|
|
5109
|
+
{
|
|
5110
|
+
type: "button",
|
|
5111
|
+
onClick: onToggleCurrentSlideInActiveShow,
|
|
5112
|
+
className: cn(
|
|
5113
|
+
"px-2 py-1 rounded text-[11px] transition-colors",
|
|
5114
|
+
isCurrentSlideInActiveShow ? "bg-primary text-white" : "bg-muted hover:bg-accent"
|
|
5115
|
+
),
|
|
5116
|
+
title: t("pptx.customShows.toggleSlideTooltip"),
|
|
5117
|
+
children: isCurrentSlideInActiveShow ? t("pptx.customShows.inShow") : t("pptx.customShows.addSlide")
|
|
5118
|
+
}
|
|
5119
|
+
)
|
|
5120
|
+
] })
|
|
5121
|
+
] })
|
|
5122
|
+
] });
|
|
5123
|
+
}
|
|
5124
|
+
if (canEdit) {
|
|
5125
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5126
|
+
sep,
|
|
5127
|
+
/* @__PURE__ */ jsx(
|
|
5128
|
+
"button",
|
|
5129
|
+
{
|
|
5130
|
+
type: "button",
|
|
5131
|
+
onClick: onCreateCustomShow,
|
|
5132
|
+
className: "px-2 py-1 rounded bg-muted hover:bg-accent text-[11px] transition-colors",
|
|
5133
|
+
title: t("pptx.customShows.createTooltip"),
|
|
5134
|
+
children: t("pptx.customShows.addShow")
|
|
5135
|
+
}
|
|
5136
|
+
)
|
|
5137
|
+
] });
|
|
5138
|
+
}
|
|
5139
|
+
return null;
|
|
5140
|
+
}
|
|
5159
5141
|
function PresentDropdown({
|
|
5160
5142
|
isActive,
|
|
5161
5143
|
onPresent,
|
|
@@ -5645,6 +5627,8 @@ function ToolbarLateTabs({
|
|
|
5645
5627
|
}),
|
|
5646
5628
|
onOpenSetUpSlideShow: p.onOpenSetUpSlideShow ?? (() => {
|
|
5647
5629
|
}),
|
|
5630
|
+
onOpenCustomShows: p.onOpenCustomShows ?? (() => {
|
|
5631
|
+
}),
|
|
5648
5632
|
onToggleHideSlide: p.onToggleHideSlide ?? (() => {
|
|
5649
5633
|
}),
|
|
5650
5634
|
activeSlideHidden: p.activeSlideHidden ?? false,
|
|
@@ -5654,7 +5638,6 @@ function ToolbarLateTabs({
|
|
|
5654
5638
|
}),
|
|
5655
5639
|
showSubtitles: p.showSubtitles ?? false,
|
|
5656
5640
|
onSetMode: p.onSetMode,
|
|
5657
|
-
customShowControls: p,
|
|
5658
5641
|
hiddenActions: p.hiddenActions,
|
|
5659
5642
|
presentationProperties: p.presentationProperties,
|
|
5660
5643
|
onPresentationPropertiesChange: p.onPresentationPropertiesChange
|
|
@@ -6295,7 +6278,7 @@ function ChartQuickActionsOverlay({
|
|
|
6295
6278
|
"data-export-ignore": "true",
|
|
6296
6279
|
style: { position: "absolute", left: 0, top: 0, zIndex: 59 },
|
|
6297
6280
|
onMouseDown: (e) => e.stopPropagation(),
|
|
6298
|
-
children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(
|
|
6281
|
+
children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React108.Fragment, { children: [
|
|
6299
6282
|
/* @__PURE__ */ jsx(
|
|
6300
6283
|
"button",
|
|
6301
6284
|
{
|
|
@@ -6315,7 +6298,7 @@ function ChartQuickActionsOverlay({
|
|
|
6315
6298
|
transformOrigin: "top left"
|
|
6316
6299
|
},
|
|
6317
6300
|
className: "flex items-center justify-center rounded bg-white border border-gray-300 shadow-sm hover:bg-gray-100 text-gray-700",
|
|
6318
|
-
children:
|
|
6301
|
+
children: React108.createElement(ICONS3[button.id], { className: "size-3.5" })
|
|
6319
6302
|
}
|
|
6320
6303
|
),
|
|
6321
6304
|
open === button.id && button.id === "elements" && /* @__PURE__ */ jsxs(
|
|
@@ -7433,7 +7416,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
|
|
|
7433
7416
|
);
|
|
7434
7417
|
}
|
|
7435
7418
|
var HorizontalRuler = /* @__PURE__ */ withDisplayName(
|
|
7436
|
-
/* @__PURE__ */
|
|
7419
|
+
/* @__PURE__ */ React108.memo(HorizontalRulerView),
|
|
7437
7420
|
"HorizontalRuler"
|
|
7438
7421
|
);
|
|
7439
7422
|
function VerticalRulerView({ ticks, heightPx, highlight }) {
|
|
@@ -7507,7 +7490,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
|
|
|
7507
7490
|
);
|
|
7508
7491
|
}
|
|
7509
7492
|
var VerticalRuler = /* @__PURE__ */ withDisplayName(
|
|
7510
|
-
/* @__PURE__ */
|
|
7493
|
+
/* @__PURE__ */ React108.memo(VerticalRulerView),
|
|
7511
7494
|
"VerticalRuler"
|
|
7512
7495
|
);
|
|
7513
7496
|
function Ruler({
|
|
@@ -10554,7 +10537,7 @@ function arePropsEqual(prev, next) {
|
|
|
10554
10537
|
}
|
|
10555
10538
|
return true;
|
|
10556
10539
|
}
|
|
10557
|
-
var SlideCard = /* @__PURE__ */
|
|
10540
|
+
var SlideCard = /* @__PURE__ */ React108.memo(SlideCardImpl, arePropsEqual);
|
|
10558
10541
|
var ICON_CLASS = "h-3.5 w-3.5 text-muted-foreground";
|
|
10559
10542
|
function SorterContextMenu({
|
|
10560
10543
|
x,
|
|
@@ -10979,7 +10962,7 @@ function SlideSorterOverlay({
|
|
|
10979
10962
|
count: state.selectedSlideIds.length
|
|
10980
10963
|
}) })
|
|
10981
10964
|
] }),
|
|
10982
|
-
|
|
10965
|
+
React108.createElement("pptx-ui-slide-clipboard", {
|
|
10983
10966
|
ref: (node) => {
|
|
10984
10967
|
if (!node) {
|
|
10985
10968
|
return;
|
|
@@ -11895,8 +11878,8 @@ function SlideNotesPanel({
|
|
|
11895
11878
|
onHeightChange
|
|
11896
11879
|
}) {
|
|
11897
11880
|
const { t } = useTranslation();
|
|
11898
|
-
const rootRef =
|
|
11899
|
-
|
|
11881
|
+
const rootRef = React108.useRef(null);
|
|
11882
|
+
React108.useEffect(() => {
|
|
11900
11883
|
const el = rootRef.current;
|
|
11901
11884
|
if (!el || !onHeightChange) {
|
|
11902
11885
|
return void 0;
|
|
@@ -13739,9 +13722,9 @@ function PresentationSubtitleBar({
|
|
|
13739
13722
|
function renderNotesSegments(segments) {
|
|
13740
13723
|
return notesSegmentsToSpans(segments).map((span) => {
|
|
13741
13724
|
if (span.kind === "break") {
|
|
13742
|
-
return
|
|
13725
|
+
return React108.createElement("br", { key: span.key });
|
|
13743
13726
|
}
|
|
13744
|
-
return
|
|
13727
|
+
return React108.createElement(
|
|
13745
13728
|
"span",
|
|
13746
13729
|
{ key: span.key, style: span.style },
|
|
13747
13730
|
span.text
|
|
@@ -13917,7 +13900,7 @@ function scaledSlidePreviewPropsEqual(prev, next) {
|
|
|
13917
13900
|
}
|
|
13918
13901
|
return true;
|
|
13919
13902
|
}
|
|
13920
|
-
var ScaledSlidePreview = /* @__PURE__ */
|
|
13903
|
+
var ScaledSlidePreview = /* @__PURE__ */ React108.memo(
|
|
13921
13904
|
ScaledSlidePreviewImpl,
|
|
13922
13905
|
scaledSlidePreviewPropsEqual
|
|
13923
13906
|
);
|
|
@@ -15163,7 +15146,7 @@ function EffectSoundRow({
|
|
|
15163
15146
|
onPickStock
|
|
15164
15147
|
}) {
|
|
15165
15148
|
const { t } = useTranslation();
|
|
15166
|
-
const fileInputRef =
|
|
15149
|
+
const fileInputRef = React108.useRef(null);
|
|
15167
15150
|
const selectedValue = soundState.catalogueId ?? (soundState.hasSound ? CURRENT_VALUE : NONE_VALUE);
|
|
15168
15151
|
const handleSelectChange = (event) => {
|
|
15169
15152
|
const value = event.target.value;
|
|
@@ -18551,7 +18534,7 @@ function ConnectorArrowsSection({
|
|
|
18551
18534
|
["Start", "End"].map((end) => {
|
|
18552
18535
|
const widthKey = end === "Start" ? "connectorStartArrowWidth" : "connectorEndArrowWidth";
|
|
18553
18536
|
const lengthKey = end === "Start" ? "connectorStartArrowLength" : "connectorEndArrowLength";
|
|
18554
|
-
return /* @__PURE__ */ jsxs(
|
|
18537
|
+
return /* @__PURE__ */ jsxs(React108.Fragment, { children: [
|
|
18555
18538
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
18556
18539
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t(END_LABEL_KEYS[end].width) }),
|
|
18557
18540
|
/* @__PURE__ */ jsx(
|
|
@@ -19530,7 +19513,7 @@ function InspectorFields({
|
|
|
19530
19513
|
)
|
|
19531
19514
|
] }, key);
|
|
19532
19515
|
};
|
|
19533
|
-
return /* @__PURE__ */ jsx(Fragment, { children: views.map((section) => /* @__PURE__ */ jsxs(
|
|
19516
|
+
return /* @__PURE__ */ jsx(Fragment, { children: views.map((section) => /* @__PURE__ */ jsxs(React108.Fragment, { children: [
|
|
19534
19517
|
section.toggleable ? /* @__PURE__ */ jsxs("label", { className: `inline-flex items-center gap-2 text-foreground ${COL2}`, children: [
|
|
19535
19518
|
/* @__PURE__ */ jsx(
|
|
19536
19519
|
WebCheckbox,
|
|
@@ -21786,7 +21769,7 @@ function TextWarpGallery({
|
|
|
21786
21769
|
onUpdateTextStyle
|
|
21787
21770
|
}) {
|
|
21788
21771
|
const { t } = useTranslation();
|
|
21789
|
-
const [expanded, setExpanded] =
|
|
21772
|
+
const [expanded, setExpanded] = React108.useState(false);
|
|
21790
21773
|
const currentPreset = ts?.textWarpPreset || "textNoShape";
|
|
21791
21774
|
const descriptor = useMemo(() => buildTextWarpGallery(ts?.textWarpPreset), [ts?.textWarpPreset]);
|
|
21792
21775
|
const ref = useRef(null);
|
|
@@ -22234,7 +22217,7 @@ function SmartArtStyleControls({
|
|
|
22234
22217
|
onChangeStyle
|
|
22235
22218
|
}) {
|
|
22236
22219
|
const { t } = useTranslation();
|
|
22237
|
-
const translate =
|
|
22220
|
+
const translate = React108.useCallback((key) => t(key), [t]);
|
|
22238
22221
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22239
22222
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
|
|
22240
22223
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.smartart.colorScheme") }),
|
|
@@ -22287,7 +22270,7 @@ function SmartArtPropertiesPanel({
|
|
|
22287
22270
|
}) {
|
|
22288
22271
|
const { t } = useTranslation();
|
|
22289
22272
|
const { pushColor } = useRecentColors();
|
|
22290
|
-
const paneRef =
|
|
22273
|
+
const paneRef = React108.useRef(null);
|
|
22291
22274
|
const applySmartArtData = (newData) => {
|
|
22292
22275
|
const reflowed = box ? rebuildDrawingShapesIfCleared(
|
|
22293
22276
|
newData,
|
|
@@ -22299,12 +22282,12 @@ function SmartArtPropertiesPanel({
|
|
|
22299
22282
|
) : newData;
|
|
22300
22283
|
onUpdateElement({ smartArtData: reflowed });
|
|
22301
22284
|
};
|
|
22302
|
-
const applyRef =
|
|
22285
|
+
const applyRef = React108.useRef(applySmartArtData);
|
|
22303
22286
|
applyRef.current = applySmartArtData;
|
|
22304
22287
|
const updateSmartArt = (patch) => {
|
|
22305
22288
|
applySmartArtData({ ...smartArtData, ...patch });
|
|
22306
22289
|
};
|
|
22307
|
-
|
|
22290
|
+
React108.useLayoutEffect(() => {
|
|
22308
22291
|
if (paneRef.current) {
|
|
22309
22292
|
paneRef.current.state = {
|
|
22310
22293
|
smartArtData,
|
|
@@ -22313,7 +22296,7 @@ function SmartArtPropertiesPanel({
|
|
|
22313
22296
|
};
|
|
22314
22297
|
}
|
|
22315
22298
|
}, [smartArtData, canEdit, t]);
|
|
22316
|
-
|
|
22299
|
+
React108.useEffect(() => {
|
|
22317
22300
|
const pane = paneRef.current;
|
|
22318
22301
|
if (!pane) {
|
|
22319
22302
|
return;
|
|
@@ -23750,7 +23733,7 @@ function CommentBody({ text, mentions, className }) {
|
|
|
23750
23733
|
index
|
|
23751
23734
|
) : (
|
|
23752
23735
|
// eslint-disable-next-line react/no-array-index-key -- segments are positional
|
|
23753
|
-
/* @__PURE__ */ jsx(
|
|
23736
|
+
/* @__PURE__ */ jsx(React108.Fragment, { children: segment.text }, index)
|
|
23754
23737
|
)
|
|
23755
23738
|
) });
|
|
23756
23739
|
}
|
|
@@ -25267,7 +25250,7 @@ function PresentationPropertiesPanel({
|
|
|
25267
25250
|
onUpdateTagCollections
|
|
25268
25251
|
}) {
|
|
25269
25252
|
const { t } = useTranslation();
|
|
25270
|
-
const handleTransitionChange =
|
|
25253
|
+
const handleTransitionChange = React108.useCallback(
|
|
25271
25254
|
(updates) => {
|
|
25272
25255
|
onUpdateSlide({
|
|
25273
25256
|
transition: mergeSlideTransition(activeSlide?.transition, updates)
|
|
@@ -28728,7 +28711,7 @@ function ViewerToolbarSection(props) {
|
|
|
28728
28711
|
},
|
|
28729
28712
|
[activeSlide, propertyHandlers]
|
|
28730
28713
|
);
|
|
28731
|
-
const scopedLayoutOptions =
|
|
28714
|
+
const scopedLayoutOptions = React108.useMemo(
|
|
28732
28715
|
() => scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
|
|
28733
28716
|
[s.layoutOptions, activeSlide]
|
|
28734
28717
|
);
|
|
@@ -29150,6 +29133,7 @@ function ViewerToolbarSection(props) {
|
|
|
29150
29133
|
eyedropperActive: s.eyedropperActive,
|
|
29151
29134
|
onToggleEyedropper: () => s.setEyedropperActive((p) => !p),
|
|
29152
29135
|
onOpenSetUpSlideShow: () => dialogs.setIsSetUpSlideShowOpen(true),
|
|
29136
|
+
onOpenCustomShows: () => dialogs.setIsCustomShowsOpen(true),
|
|
29153
29137
|
onToggleHideSlide: () => slideOps.handleToggleHideSlides([activeSlideIndex]),
|
|
29154
29138
|
activeSlideHidden: Boolean(activeSlide?.hidden),
|
|
29155
29139
|
onOpenBroadcastDialog: () => dialogs.setIsBroadcastDialogOpen(true),
|
|
@@ -29200,6 +29184,314 @@ function ViewerToolbarSection(props) {
|
|
|
29200
29184
|
)
|
|
29201
29185
|
] });
|
|
29202
29186
|
}
|
|
29187
|
+
var LIST_CLASS = "m-0 p-0 max-h-56 overflow-auto list-none rounded border border-border text-[12px]";
|
|
29188
|
+
var BUTTON_CLASS = "px-2 py-1 rounded border border-border bg-muted hover:bg-accent text-[12px] disabled:opacity-50";
|
|
29189
|
+
function Rows(props) {
|
|
29190
|
+
return /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
29191
|
+
/* @__PURE__ */ jsx("strong", { className: "block text-[11px] mb-1", children: props.label }),
|
|
29192
|
+
/* @__PURE__ */ jsxs(
|
|
29193
|
+
"div",
|
|
29194
|
+
{
|
|
29195
|
+
role: "listbox",
|
|
29196
|
+
"aria-multiselectable": "true",
|
|
29197
|
+
"aria-label": props.label,
|
|
29198
|
+
className: LIST_CLASS,
|
|
29199
|
+
children: [
|
|
29200
|
+
props.rows.map((row) => /* @__PURE__ */ jsxs(
|
|
29201
|
+
"div",
|
|
29202
|
+
{
|
|
29203
|
+
role: "option",
|
|
29204
|
+
tabIndex: 0,
|
|
29205
|
+
"aria-selected": row.selected,
|
|
29206
|
+
className: row.selected ? "px-2 py-1 cursor-pointer bg-primary text-white" : "px-2 py-1 cursor-pointer",
|
|
29207
|
+
onClick: () => props.onToggle(row),
|
|
29208
|
+
onDoubleClick: () => props.onDoubleClick?.(row),
|
|
29209
|
+
onKeyDown: (event) => {
|
|
29210
|
+
if (event.key === " ") {
|
|
29211
|
+
event.preventDefault();
|
|
29212
|
+
props.onToggle(row);
|
|
29213
|
+
}
|
|
29214
|
+
},
|
|
29215
|
+
children: [
|
|
29216
|
+
row.number,
|
|
29217
|
+
". ",
|
|
29218
|
+
row.title
|
|
29219
|
+
]
|
|
29220
|
+
},
|
|
29221
|
+
props.keyOf(row)
|
|
29222
|
+
)),
|
|
29223
|
+
props.rows.length === 0 && props.empty ? /* @__PURE__ */ jsx("div", { className: "px-2 py-1 opacity-70", children: props.empty }) : null
|
|
29224
|
+
]
|
|
29225
|
+
}
|
|
29226
|
+
)
|
|
29227
|
+
] });
|
|
29228
|
+
}
|
|
29229
|
+
function CustomShowsDialog({
|
|
29230
|
+
customShows,
|
|
29231
|
+
slides,
|
|
29232
|
+
activeCustomShowId,
|
|
29233
|
+
onSave,
|
|
29234
|
+
onSetActive,
|
|
29235
|
+
onRun,
|
|
29236
|
+
onClose
|
|
29237
|
+
}) {
|
|
29238
|
+
const { t } = useTranslation();
|
|
29239
|
+
const controller = useMemo(
|
|
29240
|
+
() => createCustomShowsController(customShows, activeCustomShowId),
|
|
29241
|
+
// A fresh draft per open: the host mounts this only while the dialog is open.
|
|
29242
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29243
|
+
[]
|
|
29244
|
+
);
|
|
29245
|
+
useController(controller);
|
|
29246
|
+
const view = controller.view(slides);
|
|
29247
|
+
const [active, setActive] = useState(activeCustomShowId ?? "");
|
|
29248
|
+
const pickerValue = view.shows.some(({ id }) => id === active) ? active : "";
|
|
29249
|
+
const commit = () => {
|
|
29250
|
+
const result = controller.result(slides);
|
|
29251
|
+
onSave(result.shows, result.slides);
|
|
29252
|
+
onSetActive(result.shows.some(({ id }) => id === active) ? active : null);
|
|
29253
|
+
return result.shows;
|
|
29254
|
+
};
|
|
29255
|
+
const handleFooter = (id) => {
|
|
29256
|
+
if (id === "ok") {
|
|
29257
|
+
commit();
|
|
29258
|
+
onClose();
|
|
29259
|
+
} else if (id === "show") {
|
|
29260
|
+
const selectedId = controller.getSnapshot().selectedId;
|
|
29261
|
+
const show = commit().find((candidate) => candidate.id === selectedId);
|
|
29262
|
+
if (show) {
|
|
29263
|
+
onSetActive(show.id);
|
|
29264
|
+
onRun();
|
|
29265
|
+
onClose();
|
|
29266
|
+
}
|
|
29267
|
+
} else {
|
|
29268
|
+
onClose();
|
|
29269
|
+
}
|
|
29270
|
+
};
|
|
29271
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
29272
|
+
/* @__PURE__ */ jsx(
|
|
29273
|
+
"button",
|
|
29274
|
+
{
|
|
29275
|
+
type: "button",
|
|
29276
|
+
style: { zIndex: 1200 },
|
|
29277
|
+
className: "fixed inset-0 bg-black/50",
|
|
29278
|
+
"aria-label": t("pptx.customShows.closeDialog"),
|
|
29279
|
+
onClick: onClose
|
|
29280
|
+
}
|
|
29281
|
+
),
|
|
29282
|
+
/* @__PURE__ */ jsx(
|
|
29283
|
+
"div",
|
|
29284
|
+
{
|
|
29285
|
+
style: { zIndex: 1201 },
|
|
29286
|
+
className: "fixed inset-0 flex items-center justify-center pointer-events-none",
|
|
29287
|
+
children: /* @__PURE__ */ jsxs(
|
|
29288
|
+
"div",
|
|
29289
|
+
{
|
|
29290
|
+
role: "dialog",
|
|
29291
|
+
"aria-modal": "true",
|
|
29292
|
+
"aria-label": t("pptx.customShows.title"),
|
|
29293
|
+
className: "pointer-events-auto flex flex-col w-[820px] max-w-[96vw] max-h-[90vh] rounded-xl border border-border bg-background shadow-2xl max-md:fixed max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:w-full max-md:max-w-none max-md:max-h-[88dvh] max-md:rounded-t-2xl max-md:rounded-b-none max-md:border-x-0 max-md:border-b-0",
|
|
29294
|
+
children: [
|
|
29295
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-5 py-3 border-b border-border shrink-0", children: [
|
|
29296
|
+
/* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold text-foreground", children: t("pptx.customShows.title") }),
|
|
29297
|
+
/* @__PURE__ */ jsx(
|
|
29298
|
+
"button",
|
|
29299
|
+
{
|
|
29300
|
+
type: "button",
|
|
29301
|
+
onClick: onClose,
|
|
29302
|
+
className: "text-muted-foreground hover:text-foreground text-lg leading-none",
|
|
29303
|
+
"aria-label": t("pptx.customShows.close"),
|
|
29304
|
+
children: "\xD7"
|
|
29305
|
+
}
|
|
29306
|
+
)
|
|
29307
|
+
] }),
|
|
29308
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 px-5 py-4 space-y-3 text-[12px] text-foreground overflow-y-auto", children: [
|
|
29309
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2", children: [
|
|
29310
|
+
/* @__PURE__ */ jsx("span", { children: t("pptx.customShows.selectCustomShow") }),
|
|
29311
|
+
/* @__PURE__ */ jsxs(
|
|
29312
|
+
WebSelect,
|
|
29313
|
+
{
|
|
29314
|
+
value: pickerValue,
|
|
29315
|
+
onChange: (event) => {
|
|
29316
|
+
setActive(event.target.value);
|
|
29317
|
+
onSetActive(event.target.value || null);
|
|
29318
|
+
},
|
|
29319
|
+
className: "text-[11px] flex-1 min-w-0",
|
|
29320
|
+
"aria-label": t("pptx.customShows.selectCustomShow"),
|
|
29321
|
+
children: [
|
|
29322
|
+
/* @__PURE__ */ jsx("option", { value: "", children: t("pptx.customShows.allSlides") }),
|
|
29323
|
+
view.shows.map((show) => /* @__PURE__ */ jsx("option", { value: show.id, children: show.name }, show.id))
|
|
29324
|
+
]
|
|
29325
|
+
}
|
|
29326
|
+
)
|
|
29327
|
+
] }),
|
|
29328
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-3 md:grid-cols-[190px_1fr]", children: [
|
|
29329
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
29330
|
+
/* @__PURE__ */ jsxs(
|
|
29331
|
+
"div",
|
|
29332
|
+
{
|
|
29333
|
+
role: "listbox",
|
|
29334
|
+
"aria-label": t("pptx.customShows.savedShows"),
|
|
29335
|
+
className: LIST_CLASS,
|
|
29336
|
+
children: [
|
|
29337
|
+
view.shows.map((show) => /* @__PURE__ */ jsx(
|
|
29338
|
+
"div",
|
|
29339
|
+
{
|
|
29340
|
+
role: "option",
|
|
29341
|
+
tabIndex: 0,
|
|
29342
|
+
"aria-selected": show.selected,
|
|
29343
|
+
className: show.selected ? "px-2 py-1 cursor-pointer bg-primary text-white" : "px-2 py-1 cursor-pointer",
|
|
29344
|
+
onClick: () => controller.select(show.id),
|
|
29345
|
+
onKeyDown: (event) => {
|
|
29346
|
+
if (event.key === "Enter") {
|
|
29347
|
+
controller.select(show.id);
|
|
29348
|
+
}
|
|
29349
|
+
},
|
|
29350
|
+
children: show.name
|
|
29351
|
+
},
|
|
29352
|
+
show.id
|
|
29353
|
+
)),
|
|
29354
|
+
view.shows.length === 0 ? /* @__PURE__ */ jsx("div", { className: "px-2 py-1 opacity-70", children: t("pptx.customShows.empty") }) : null
|
|
29355
|
+
]
|
|
29356
|
+
}
|
|
29357
|
+
),
|
|
29358
|
+
/* @__PURE__ */ jsx(
|
|
29359
|
+
"button",
|
|
29360
|
+
{
|
|
29361
|
+
type: "button",
|
|
29362
|
+
className: BUTTON_CLASS,
|
|
29363
|
+
onClick: () => controller.create(t("pptx.customShows.newDefaultName")),
|
|
29364
|
+
children: t("pptx.customShows.createNew")
|
|
29365
|
+
}
|
|
29366
|
+
),
|
|
29367
|
+
/* @__PURE__ */ jsx(
|
|
29368
|
+
"button",
|
|
29369
|
+
{
|
|
29370
|
+
type: "button",
|
|
29371
|
+
className: BUTTON_CLASS,
|
|
29372
|
+
disabled: !view.canEdit,
|
|
29373
|
+
onClick: () => controller.copySelected(),
|
|
29374
|
+
children: t("pptx.customShows.copy")
|
|
29375
|
+
}
|
|
29376
|
+
),
|
|
29377
|
+
/* @__PURE__ */ jsx(
|
|
29378
|
+
"button",
|
|
29379
|
+
{
|
|
29380
|
+
type: "button",
|
|
29381
|
+
className: BUTTON_CLASS,
|
|
29382
|
+
disabled: !view.canEdit,
|
|
29383
|
+
onClick: () => controller.removeSelected(),
|
|
29384
|
+
children: t("pptx.customShows.remove")
|
|
29385
|
+
}
|
|
29386
|
+
)
|
|
29387
|
+
] }),
|
|
29388
|
+
view.selected ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 min-w-0", children: [
|
|
29389
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2", children: [
|
|
29390
|
+
/* @__PURE__ */ jsx("span", { children: t("pptx.customShows.renameNameLabel") }),
|
|
29391
|
+
/* @__PURE__ */ jsx(
|
|
29392
|
+
"input",
|
|
29393
|
+
{
|
|
29394
|
+
type: "text",
|
|
29395
|
+
defaultValue: view.selected.name,
|
|
29396
|
+
"aria-label": t("pptx.customShows.renameNameLabel"),
|
|
29397
|
+
className: "flex-1 min-w-0 rounded border border-border bg-muted px-2 py-1",
|
|
29398
|
+
onBlur: (event) => controller.rename(event.target.value),
|
|
29399
|
+
onKeyDown: (event) => {
|
|
29400
|
+
if (event.key === "Enter") {
|
|
29401
|
+
controller.rename(event.currentTarget.value);
|
|
29402
|
+
}
|
|
29403
|
+
}
|
|
29404
|
+
},
|
|
29405
|
+
view.selected.id
|
|
29406
|
+
)
|
|
29407
|
+
] }),
|
|
29408
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-2 md:grid-cols-[1fr_auto_1fr_auto]", children: [
|
|
29409
|
+
/* @__PURE__ */ jsx(
|
|
29410
|
+
Rows,
|
|
29411
|
+
{
|
|
29412
|
+
label: t("pptx.customShows.slidesInPresentation"),
|
|
29413
|
+
rows: view.presentationSlides,
|
|
29414
|
+
keyOf: (row) => row.rId,
|
|
29415
|
+
onToggle: (row) => controller.toggleLeft(row.rId),
|
|
29416
|
+
onDoubleClick: (row) => controller.addSlide(row.rId)
|
|
29417
|
+
}
|
|
29418
|
+
),
|
|
29419
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center gap-1.5", children: [
|
|
29420
|
+
/* @__PURE__ */ jsx(
|
|
29421
|
+
"button",
|
|
29422
|
+
{
|
|
29423
|
+
type: "button",
|
|
29424
|
+
className: BUTTON_CLASS,
|
|
29425
|
+
disabled: !view.canAdd,
|
|
29426
|
+
onClick: () => controller.addSelected(slides),
|
|
29427
|
+
children: t("pptx.customShows.add")
|
|
29428
|
+
}
|
|
29429
|
+
),
|
|
29430
|
+
/* @__PURE__ */ jsx(
|
|
29431
|
+
"button",
|
|
29432
|
+
{
|
|
29433
|
+
type: "button",
|
|
29434
|
+
className: BUTTON_CLASS,
|
|
29435
|
+
disabled: !view.canRemoveSlides,
|
|
29436
|
+
onClick: () => controller.removeSelectedSlides(),
|
|
29437
|
+
children: t("pptx.customShows.remove")
|
|
29438
|
+
}
|
|
29439
|
+
)
|
|
29440
|
+
] }),
|
|
29441
|
+
/* @__PURE__ */ jsx(
|
|
29442
|
+
Rows,
|
|
29443
|
+
{
|
|
29444
|
+
label: t("pptx.customShows.slidesInShow"),
|
|
29445
|
+
rows: view.showSlides,
|
|
29446
|
+
keyOf: (row) => row.position ?? 0,
|
|
29447
|
+
onToggle: (row) => controller.toggleRight(row.position ?? 0),
|
|
29448
|
+
empty: t("pptx.customShows.noSlidesYet")
|
|
29449
|
+
}
|
|
29450
|
+
),
|
|
29451
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center gap-1.5", children: [
|
|
29452
|
+
/* @__PURE__ */ jsx(
|
|
29453
|
+
"button",
|
|
29454
|
+
{
|
|
29455
|
+
type: "button",
|
|
29456
|
+
className: BUTTON_CLASS,
|
|
29457
|
+
disabled: !view.canMoveUp,
|
|
29458
|
+
onClick: () => controller.moveUp(),
|
|
29459
|
+
children: t("pptx.customShows.moveUp")
|
|
29460
|
+
}
|
|
29461
|
+
),
|
|
29462
|
+
/* @__PURE__ */ jsx(
|
|
29463
|
+
"button",
|
|
29464
|
+
{
|
|
29465
|
+
type: "button",
|
|
29466
|
+
className: BUTTON_CLASS,
|
|
29467
|
+
disabled: !view.canMoveDown,
|
|
29468
|
+
onClick: () => controller.moveDown(),
|
|
29469
|
+
children: t("pptx.customShows.moveDown")
|
|
29470
|
+
}
|
|
29471
|
+
)
|
|
29472
|
+
] })
|
|
29473
|
+
] })
|
|
29474
|
+
] }) : null
|
|
29475
|
+
] })
|
|
29476
|
+
] }),
|
|
29477
|
+
/* @__PURE__ */ jsx("div", { className: "px-5 py-3 border-t border-border shrink-0", children: /* @__PURE__ */ jsx(
|
|
29478
|
+
DialogFooter,
|
|
29479
|
+
{
|
|
29480
|
+
actions: [
|
|
29481
|
+
{ id: "show", label: t("pptx.customShows.showButton") },
|
|
29482
|
+
{ id: "cancel", label: t("pptx.common.cancel") },
|
|
29483
|
+
{ id: "ok", label: t("pptx.common.ok"), variant: "primary" }
|
|
29484
|
+
],
|
|
29485
|
+
onAction: handleFooter
|
|
29486
|
+
}
|
|
29487
|
+
) })
|
|
29488
|
+
]
|
|
29489
|
+
}
|
|
29490
|
+
)
|
|
29491
|
+
}
|
|
29492
|
+
)
|
|
29493
|
+
] });
|
|
29494
|
+
}
|
|
29203
29495
|
var TEMPLATES = EQUATION_TEMPLATES;
|
|
29204
29496
|
var TEMPLATE_MATHML = /* @__PURE__ */ compileEquationTemplateMathMl();
|
|
29205
29497
|
function MathMlPreview({ mathml }) {
|
|
@@ -29479,6 +29771,9 @@ function ViewerDialogGroup(props) {
|
|
|
29479
29771
|
digitalSignatureCount,
|
|
29480
29772
|
presentationProperties,
|
|
29481
29773
|
customShows,
|
|
29774
|
+
activeCustomShowId,
|
|
29775
|
+
onSetActiveCustomShowId,
|
|
29776
|
+
onRunCustomShow,
|
|
29482
29777
|
selectedElements,
|
|
29483
29778
|
isEncryptedDialogOpen,
|
|
29484
29779
|
setIsEncryptedDialogOpen,
|
|
@@ -29633,6 +29928,18 @@ function ViewerDialogGroup(props) {
|
|
|
29633
29928
|
slideCount: slides.length
|
|
29634
29929
|
}
|
|
29635
29930
|
),
|
|
29931
|
+
dialogs.isCustomShowsOpen && /* @__PURE__ */ jsx(
|
|
29932
|
+
CustomShowsDialog,
|
|
29933
|
+
{
|
|
29934
|
+
customShows,
|
|
29935
|
+
slides,
|
|
29936
|
+
activeCustomShowId,
|
|
29937
|
+
onSave: dialogs.handleCommitCustomShows,
|
|
29938
|
+
onSetActive: onSetActiveCustomShowId,
|
|
29939
|
+
onRun: onRunCustomShow,
|
|
29940
|
+
onClose: () => dialogs.setIsCustomShowsOpen(false)
|
|
29941
|
+
}
|
|
29942
|
+
),
|
|
29636
29943
|
/* @__PURE__ */ jsx(
|
|
29637
29944
|
PrintDialog,
|
|
29638
29945
|
{
|
|
@@ -32840,6 +33147,8 @@ function useAiBridge(input) {
|
|
|
32840
33147
|
getHandler: () => live().handlerRef.current,
|
|
32841
33148
|
getFileName: () => live().fileName,
|
|
32842
33149
|
getSections: () => live().sections,
|
|
33150
|
+
getCustomShows: () => live().customShows,
|
|
33151
|
+
setCustomShows: (shows) => live().setCustomShows(shows),
|
|
32843
33152
|
getPresentationProperties: () => live().presentationProperties,
|
|
32844
33153
|
getCustomProperties: () => live().customProperties,
|
|
32845
33154
|
getCoreProperties: () => live().coreProperties,
|
|
@@ -34044,6 +34353,12 @@ var PowerPointViewerBody = /* @__PURE__ */ forwardRef(
|
|
|
34044
34353
|
onSetActiveCustomShowId: state.setActiveCustomShowId,
|
|
34045
34354
|
onAddRunProgramNotice: runProgramNoticesState.addNotice
|
|
34046
34355
|
});
|
|
34356
|
+
const [customShowRunRequest, setCustomShowRunRequest] = useState(0);
|
|
34357
|
+
useEffect(() => {
|
|
34358
|
+
if (customShowRunRequest > 0) {
|
|
34359
|
+
presentation.enterPresentModeFromBeginning();
|
|
34360
|
+
}
|
|
34361
|
+
}, [customShowRunRequest]);
|
|
34047
34362
|
useEffect(() => {
|
|
34048
34363
|
const root = containerRef.current;
|
|
34049
34364
|
if (!root) {
|
|
@@ -34110,6 +34425,7 @@ ${url}`)
|
|
|
34110
34425
|
activeCustomShowId: state.activeCustomShowId,
|
|
34111
34426
|
setCustomShows: state.setCustomShows,
|
|
34112
34427
|
setActiveCustomShowId: state.setActiveCustomShowId,
|
|
34428
|
+
setSlides: state.setSlides,
|
|
34113
34429
|
setGuides: state.setGuides,
|
|
34114
34430
|
setPresentationProperties: state.setPresentationProperties,
|
|
34115
34431
|
setAccessibilityIssues: state.setAccessibilityIssues,
|
|
@@ -34430,6 +34746,8 @@ ${url}`)
|
|
|
34430
34746
|
pickedFocus: aiPanel.pickTargets.length > 0 ? aiPanel.pickTargets : null,
|
|
34431
34747
|
handlerRef,
|
|
34432
34748
|
sections: state.sections,
|
|
34749
|
+
customShows: state.customShows,
|
|
34750
|
+
setCustomShows: state.setCustomShows,
|
|
34433
34751
|
presentationProperties: state.presentationProperties,
|
|
34434
34752
|
customProperties: state.customProperties,
|
|
34435
34753
|
coreProperties: state.coreProperties,
|
|
@@ -34706,6 +35024,9 @@ ${url}`)
|
|
|
34706
35024
|
digitalSignatureCount: state.digitalSignatureCount,
|
|
34707
35025
|
presentationProperties: state.presentationProperties,
|
|
34708
35026
|
customShows: state.customShows,
|
|
35027
|
+
activeCustomShowId: state.activeCustomShowId,
|
|
35028
|
+
onSetActiveCustomShowId: state.setActiveCustomShowId,
|
|
35029
|
+
onRunCustomShow: () => setCustomShowRunRequest((count) => count + 1),
|
|
34709
35030
|
selectedElements: state.selectedElements,
|
|
34710
35031
|
isEncryptedDialogOpen,
|
|
34711
35032
|
setIsEncryptedDialogOpen,
|