pptx-react-viewer 2.9.0 → 2.10.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 +2 -0
- package/dist/{AiChatPanel-6W6ZBAGU.mjs → AiChatPanel-35CHYS5N.mjs} +4 -4
- package/dist/AiChatPanel-35CHYS5N.mjs.br +0 -0
- package/dist/AiChatPanel-35CHYS5N.mjs.gz +0 -0
- package/dist/{AiChatPanel-MALC32TM.js → AiChatPanel-KTMWRUD5.js} +23 -23
- package/dist/AiChatPanel-KTMWRUD5.js.br +0 -0
- package/dist/AiChatPanel-KTMWRUD5.js.gz +0 -0
- package/dist/{Model3DScene-57HZ4NVD.mjs → Model3DScene-2VMN3B65.mjs} +1 -1
- package/dist/Model3DScene-2VMN3B65.mjs.br +0 -0
- package/dist/Model3DScene-2VMN3B65.mjs.gz +0 -0
- package/dist/{Model3DScene-76R2YXSO.js → Model3DScene-TMNUKCL6.js} +2 -2
- package/dist/Model3DScene-TMNUKCL6.js.br +0 -0
- package/dist/Model3DScene-TMNUKCL6.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-JGOQNHSU.mjs → SurfaceChart3DScene-GKRDDN2U.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-JGOQNHSU.mjs.br → SurfaceChart3DScene-GKRDDN2U.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-GKRDDN2U.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-2QZZTBV4.js → SurfaceChart3DScene-KPNP3QD5.js} +2 -2
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.br +0 -0
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.gz +0 -0
- package/dist/{chunk-D6SHCB4V.js → chunk-A7HLINZU.js} +328 -324
- package/dist/chunk-A7HLINZU.js.br +0 -0
- package/dist/chunk-A7HLINZU.js.gz +0 -0
- package/dist/{chunk-JPTO6P5K.mjs → chunk-FY2AFXKP.mjs} +8 -47
- package/dist/chunk-FY2AFXKP.mjs.br +0 -0
- package/dist/chunk-FY2AFXKP.mjs.gz +0 -0
- package/dist/{chunk-IKISUZKE.js → chunk-H74UXL4Q.js} +340 -17
- package/dist/chunk-H74UXL4Q.js.br +0 -0
- package/dist/{chunk-IKISUZKE.js.gz → chunk-H74UXL4Q.js.gz} +0 -0
- package/dist/{chunk-34BUZNKO.js → chunk-IJVDNQLG.js} +252 -291
- package/dist/chunk-IJVDNQLG.js.br +0 -0
- package/dist/chunk-IJVDNQLG.js.gz +0 -0
- package/dist/{chunk-6UXRNLHD.js → chunk-JWMXOYSX.js} +1330 -968
- package/dist/chunk-JWMXOYSX.js.br +0 -0
- package/dist/chunk-JWMXOYSX.js.gz +0 -0
- package/dist/{chunk-NQLVK23T.mjs → chunk-LCG7WBAG.mjs} +403 -41
- package/dist/chunk-LCG7WBAG.mjs.br +0 -0
- package/dist/chunk-LCG7WBAG.mjs.gz +0 -0
- package/dist/{chunk-6OLS3EJW.mjs → chunk-LXTKPSIG.mjs} +1 -1
- package/dist/chunk-LXTKPSIG.mjs.br +0 -0
- package/dist/chunk-LXTKPSIG.mjs.gz +0 -0
- package/dist/{chunk-2JDWFMIK.js → chunk-MMK4K3QI.js} +1 -0
- package/dist/chunk-MMK4K3QI.js.br +0 -0
- package/dist/{chunk-2JDWFMIK.js.gz → chunk-MMK4K3QI.js.gz} +0 -0
- package/dist/{chunk-4FO4JMTN.mjs → chunk-OHPF2HTP.mjs} +7 -3
- package/dist/chunk-OHPF2HTP.mjs.br +0 -0
- package/dist/chunk-OHPF2HTP.mjs.gz +0 -0
- package/dist/{chunk-CD434OFE.mjs → chunk-SL3XPERE.mjs} +1 -0
- package/dist/chunk-SL3XPERE.mjs.br +0 -0
- package/dist/{chunk-CD434OFE.mjs.gz → chunk-SL3XPERE.mjs.gz} +0 -0
- package/dist/{chunk-YEM2VOAP.js → chunk-SPJR6MPI.js} +3 -3
- package/dist/chunk-SPJR6MPI.js.br +0 -0
- package/dist/chunk-SPJR6MPI.js.gz +0 -0
- package/dist/{chunk-L47Y62L6.mjs → chunk-TJ55KUWH.mjs} +320 -17
- package/dist/chunk-TJ55KUWH.mjs.br +0 -0
- package/dist/{chunk-L47Y62L6.mjs.gz → chunk-TJ55KUWH.mjs.gz} +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +36 -36
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +4 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +79 -79
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- 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/{useViewerBuildingBlocks-C59NY1qZ.d.ts → useViewerBuildingBlocks-CpUwhBD5.d.ts} +3 -1
- package/dist/useViewerBuildingBlocks-CpUwhBD5.d.ts.map +1 -0
- package/dist/viewer/index.js +22 -22
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-6W6ZBAGU.mjs.br +0 -0
- package/dist/AiChatPanel-6W6ZBAGU.mjs.gz +0 -0
- package/dist/AiChatPanel-MALC32TM.js.br +0 -0
- package/dist/AiChatPanel-MALC32TM.js.gz +0 -0
- package/dist/Model3DScene-57HZ4NVD.mjs.br +0 -0
- package/dist/Model3DScene-57HZ4NVD.mjs.gz +0 -0
- package/dist/Model3DScene-76R2YXSO.js.br +0 -0
- package/dist/Model3DScene-76R2YXSO.js.gz +0 -0
- package/dist/SurfaceChart3DScene-2QZZTBV4.js.br +0 -0
- package/dist/SurfaceChart3DScene-2QZZTBV4.js.gz +0 -0
- package/dist/SurfaceChart3DScene-JGOQNHSU.mjs.gz +0 -0
- package/dist/chunk-2JDWFMIK.js.br +0 -0
- package/dist/chunk-34BUZNKO.js.br +0 -0
- package/dist/chunk-34BUZNKO.js.gz +0 -0
- package/dist/chunk-4FO4JMTN.mjs.br +0 -0
- package/dist/chunk-4FO4JMTN.mjs.gz +0 -0
- package/dist/chunk-6OLS3EJW.mjs.br +0 -0
- package/dist/chunk-6OLS3EJW.mjs.gz +0 -0
- package/dist/chunk-6UXRNLHD.js.br +0 -0
- package/dist/chunk-6UXRNLHD.js.gz +0 -0
- package/dist/chunk-CD434OFE.mjs.br +0 -0
- package/dist/chunk-D6SHCB4V.js.br +0 -0
- package/dist/chunk-D6SHCB4V.js.gz +0 -0
- package/dist/chunk-IKISUZKE.js.br +0 -0
- package/dist/chunk-JPTO6P5K.mjs.br +0 -0
- package/dist/chunk-JPTO6P5K.mjs.gz +0 -0
- package/dist/chunk-L47Y62L6.mjs.br +0 -0
- package/dist/chunk-NQLVK23T.mjs.br +0 -0
- package/dist/chunk-NQLVK23T.mjs.gz +0 -0
- package/dist/chunk-YEM2VOAP.js.br +0 -0
- package/dist/chunk-YEM2VOAP.js.gz +0 -0
- package/dist/useViewerBuildingBlocks-C59NY1qZ.d.ts.map +0 -1
|
Binary file
|
|
Binary file
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-
|
|
2
|
-
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-
|
|
3
|
-
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-
|
|
4
|
-
import { LOCALE_CATALOG, translationsEn } from './chunk-
|
|
5
|
-
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, isElementRendered, isElementActionable, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS,
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-LXTKPSIG.mjs';
|
|
2
|
+
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-OHPF2HTP.mjs';
|
|
3
|
+
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-FY2AFXKP.mjs';
|
|
4
|
+
import { LOCALE_CATALOG, translationsEn } from './chunk-SL3XPERE.mjs';
|
|
5
|
+
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, isElementRendered, isElementActionable, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, RULER_THICKNESS, RULER_FONT_SIZE, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, svgGradientFillRef, isInkElement, getElementLabel, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, buildContextMenuEntries, themeColorSchemesEqual, STATUS_BAR_CLASSES, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, PRESET_THEMES, isUrlSafe, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, getConnectionSites, generateTicks, rulerDragToGuidePosition, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, mergeSlideTransition, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, chartDataChangeType, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-TJ55KUWH.mjs';
|
|
6
6
|
import React33, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, Fragment as Fragment$1, useDeferredValue } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
@@ -1409,7 +1409,7 @@ function AccountPage() {
|
|
|
1409
1409
|
return void 0;
|
|
1410
1410
|
});
|
|
1411
1411
|
};
|
|
1412
|
-
const version = "2.
|
|
1412
|
+
const version = "2.9.0" ;
|
|
1413
1413
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1414
1414
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
1415
1415
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -3896,7 +3896,7 @@ function ViewSection(p) {
|
|
|
3896
3896
|
{
|
|
3897
3897
|
label: t("pptx.view.readingView"),
|
|
3898
3898
|
icon: /* @__PURE__ */ jsx(LuBookOpen, {}),
|
|
3899
|
-
|
|
3899
|
+
onClick: p.onOpenReadingView,
|
|
3900
3900
|
title: t("pptx.view.readingView")
|
|
3901
3901
|
}
|
|
3902
3902
|
)
|
|
@@ -4371,7 +4371,9 @@ function MobileSectionBody({
|
|
|
4371
4371
|
isSelectionPaneOpen: p.isSelectionPaneOpen,
|
|
4372
4372
|
onToggleSelectionPane: p.onToggleSelectionPane,
|
|
4373
4373
|
eyedropperActive: p.eyedropperActive,
|
|
4374
|
-
onToggleEyedropper: p.onToggleEyedropper
|
|
4374
|
+
onToggleEyedropper: p.onToggleEyedropper,
|
|
4375
|
+
onToggleSlideSorter: p.onToggleSlideSorter,
|
|
4376
|
+
onOpenReadingView: p.onOpenReadingView
|
|
4375
4377
|
}
|
|
4376
4378
|
) });
|
|
4377
4379
|
case "file":
|
|
@@ -5623,6 +5625,8 @@ function Toolbar(p) {
|
|
|
5623
5625
|
onToggleSelectionPane: p.onToggleSelectionPane,
|
|
5624
5626
|
eyedropperActive: p.eyedropperActive,
|
|
5625
5627
|
onToggleEyedropper: p.onToggleEyedropper,
|
|
5628
|
+
onToggleSlideSorter: p.onToggleSlideSorter,
|
|
5629
|
+
onOpenReadingView: p.onOpenReadingView,
|
|
5626
5630
|
onZoomToFit: p.onZoomToFit
|
|
5627
5631
|
}
|
|
5628
5632
|
),
|
|
@@ -8522,7 +8526,7 @@ function FailedToLoad() {
|
|
|
8522
8526
|
var LazyModel3DScene = React33.lazy(
|
|
8523
8527
|
async () => {
|
|
8524
8528
|
try {
|
|
8525
|
-
return await import('./Model3DScene-
|
|
8529
|
+
return await import('./Model3DScene-2VMN3B65.mjs');
|
|
8526
8530
|
} catch {
|
|
8527
8531
|
return { default: FailedToLoad };
|
|
8528
8532
|
}
|
|
@@ -15297,6 +15301,208 @@ function SlideSorterOverlay({
|
|
|
15297
15301
|
}
|
|
15298
15302
|
);
|
|
15299
15303
|
}
|
|
15304
|
+
function ReadingViewStage({
|
|
15305
|
+
slide,
|
|
15306
|
+
templateElements,
|
|
15307
|
+
canvasSize,
|
|
15308
|
+
scale
|
|
15309
|
+
}) {
|
|
15310
|
+
if (scale <= 0) {
|
|
15311
|
+
return null;
|
|
15312
|
+
}
|
|
15313
|
+
const width = Math.max(canvasSize.width, 1);
|
|
15314
|
+
const height = Math.max(canvasSize.height, 1);
|
|
15315
|
+
const elements = [...templateElements, ...slide.elements];
|
|
15316
|
+
return /* @__PURE__ */ jsxs(
|
|
15317
|
+
"div",
|
|
15318
|
+
{
|
|
15319
|
+
...{ [READING_VIEW_STAGE_ATTR]: "true" },
|
|
15320
|
+
"aria-roledescription": "slide",
|
|
15321
|
+
className: "relative overflow-hidden bg-white shadow-2xl",
|
|
15322
|
+
style: { width: width * scale, height: height * scale },
|
|
15323
|
+
children: [
|
|
15324
|
+
slide.backgroundColor && slide.backgroundColor !== "transparent" && /* @__PURE__ */ jsx(
|
|
15325
|
+
"div",
|
|
15326
|
+
{
|
|
15327
|
+
className: "absolute inset-0",
|
|
15328
|
+
style: { backgroundColor: normalizeHexColor(slide.backgroundColor, "#ffffff") }
|
|
15329
|
+
}
|
|
15330
|
+
),
|
|
15331
|
+
slide.backgroundImage && /* @__PURE__ */ jsx(
|
|
15332
|
+
"img",
|
|
15333
|
+
{
|
|
15334
|
+
src: slide.backgroundImage,
|
|
15335
|
+
alt: "",
|
|
15336
|
+
className: "absolute inset-0 h-full w-full object-cover",
|
|
15337
|
+
draggable: false
|
|
15338
|
+
}
|
|
15339
|
+
),
|
|
15340
|
+
slide.backgroundGradient && /* @__PURE__ */ jsx("div", { className: "absolute inset-0", style: { backgroundImage: slide.backgroundGradient } }),
|
|
15341
|
+
/* @__PURE__ */ jsx(
|
|
15342
|
+
"div",
|
|
15343
|
+
{
|
|
15344
|
+
className: "absolute left-0 top-0 origin-top-left",
|
|
15345
|
+
style: { width, height, transform: `scale(${scale})` },
|
|
15346
|
+
children: elements.map((element, index) => /* @__PURE__ */ jsx(
|
|
15347
|
+
StaticElementRenderer,
|
|
15348
|
+
{
|
|
15349
|
+
element,
|
|
15350
|
+
activeSlide: slide,
|
|
15351
|
+
allSlides: [slide],
|
|
15352
|
+
zIndex: index
|
|
15353
|
+
},
|
|
15354
|
+
element.id
|
|
15355
|
+
))
|
|
15356
|
+
}
|
|
15357
|
+
)
|
|
15358
|
+
]
|
|
15359
|
+
}
|
|
15360
|
+
);
|
|
15361
|
+
}
|
|
15362
|
+
var READING_VIEW_PADDING = 24;
|
|
15363
|
+
function useReadingView(input) {
|
|
15364
|
+
const { slideCount, canvasSize, initialSlideIndex, onExit } = input;
|
|
15365
|
+
const [state, setState] = useState(
|
|
15366
|
+
() => openReadingView(initialSlideIndex, slideCount)
|
|
15367
|
+
);
|
|
15368
|
+
const viewportRef = useRef(null);
|
|
15369
|
+
const [viewport, setViewport] = useState({ width: 0, height: 0 });
|
|
15370
|
+
const onExitRef = useRef(onExit);
|
|
15371
|
+
onExitRef.current = onExit;
|
|
15372
|
+
const run = useCallback(
|
|
15373
|
+
(command) => {
|
|
15374
|
+
setState((previous) => {
|
|
15375
|
+
const next = applyReadingViewCommand(previous, command, slideCount);
|
|
15376
|
+
if (previous.open && !next.open) {
|
|
15377
|
+
onExitRef.current(previous.slideIndex);
|
|
15378
|
+
}
|
|
15379
|
+
return next;
|
|
15380
|
+
});
|
|
15381
|
+
},
|
|
15382
|
+
[slideCount]
|
|
15383
|
+
);
|
|
15384
|
+
useEffect(() => {
|
|
15385
|
+
const buffer = createPresentationKeyBuffer();
|
|
15386
|
+
const handle = (event) => {
|
|
15387
|
+
const { command, swallow, preventDefault } = handleReadingViewKey(event, buffer);
|
|
15388
|
+
if (swallow) {
|
|
15389
|
+
event.stopPropagation();
|
|
15390
|
+
}
|
|
15391
|
+
if (preventDefault) {
|
|
15392
|
+
event.preventDefault();
|
|
15393
|
+
}
|
|
15394
|
+
if (command.command !== "none") {
|
|
15395
|
+
run(command);
|
|
15396
|
+
}
|
|
15397
|
+
};
|
|
15398
|
+
window.addEventListener("keydown", handle, true);
|
|
15399
|
+
return () => window.removeEventListener("keydown", handle, true);
|
|
15400
|
+
}, [run]);
|
|
15401
|
+
useEffect(() => {
|
|
15402
|
+
const element = viewportRef.current;
|
|
15403
|
+
if (!element) {
|
|
15404
|
+
return;
|
|
15405
|
+
}
|
|
15406
|
+
const observer = new ResizeObserver((entries) => {
|
|
15407
|
+
const rect = entries[0]?.contentRect;
|
|
15408
|
+
if (rect) {
|
|
15409
|
+
setViewport({ width: rect.width, height: rect.height });
|
|
15410
|
+
}
|
|
15411
|
+
});
|
|
15412
|
+
observer.observe(element);
|
|
15413
|
+
return () => observer.disconnect();
|
|
15414
|
+
}, []);
|
|
15415
|
+
const scale = useMemo(
|
|
15416
|
+
() => readingViewFitScale(canvasSize, viewport, READING_VIEW_PADDING),
|
|
15417
|
+
[canvasSize, viewport]
|
|
15418
|
+
);
|
|
15419
|
+
return { state, viewportRef, scale, run };
|
|
15420
|
+
}
|
|
15421
|
+
function ReadingViewOverlay({
|
|
15422
|
+
slides,
|
|
15423
|
+
templateElements,
|
|
15424
|
+
canvasSize,
|
|
15425
|
+
activeSlideIndex,
|
|
15426
|
+
onExit
|
|
15427
|
+
}) {
|
|
15428
|
+
const { t } = useTranslation();
|
|
15429
|
+
const { state, viewportRef, scale, run } = useReadingView({
|
|
15430
|
+
slideCount: slides.length,
|
|
15431
|
+
canvasSize,
|
|
15432
|
+
initialSlideIndex: activeSlideIndex,
|
|
15433
|
+
onExit
|
|
15434
|
+
});
|
|
15435
|
+
const slide = slides[state.slideIndex];
|
|
15436
|
+
if (!state.open || !slide) {
|
|
15437
|
+
return null;
|
|
15438
|
+
}
|
|
15439
|
+
const control = "inline-flex h-8 w-8 items-center justify-center rounded text-white/80 transition-colors hover:bg-white/15 hover:text-white disabled:cursor-default disabled:opacity-30 disabled:hover:bg-transparent";
|
|
15440
|
+
return /* @__PURE__ */ jsxs(
|
|
15441
|
+
"div",
|
|
15442
|
+
{
|
|
15443
|
+
...{ [READING_VIEW_ATTR]: "true" },
|
|
15444
|
+
role: "region",
|
|
15445
|
+
"aria-label": t("pptx.view.readingView"),
|
|
15446
|
+
className: "fixed inset-0 z-[1300] flex flex-col bg-neutral-900",
|
|
15447
|
+
children: [
|
|
15448
|
+
/* @__PURE__ */ jsx("div", { ref: viewportRef, className: "flex min-h-0 flex-1 items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
15449
|
+
ReadingViewStage,
|
|
15450
|
+
{
|
|
15451
|
+
slide,
|
|
15452
|
+
templateElements,
|
|
15453
|
+
canvasSize,
|
|
15454
|
+
scale
|
|
15455
|
+
}
|
|
15456
|
+
) }),
|
|
15457
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-3 border-t border-white/10 px-4 py-2", children: [
|
|
15458
|
+
/* @__PURE__ */ jsx(
|
|
15459
|
+
"button",
|
|
15460
|
+
{
|
|
15461
|
+
type: "button",
|
|
15462
|
+
className: control,
|
|
15463
|
+
"aria-label": t("pptx.common.previous"),
|
|
15464
|
+
title: t("pptx.common.previous"),
|
|
15465
|
+
disabled: !canGoPrevious(state),
|
|
15466
|
+
onClick: () => run({ command: "previous" }),
|
|
15467
|
+
children: /* @__PURE__ */ jsx(LuChevronLeft, {})
|
|
15468
|
+
}
|
|
15469
|
+
),
|
|
15470
|
+
/* @__PURE__ */ jsx(
|
|
15471
|
+
"span",
|
|
15472
|
+
{
|
|
15473
|
+
...{ [READING_VIEW_COUNTER_ATTR]: "true" },
|
|
15474
|
+
className: "min-w-16 text-center text-xs tabular-nums text-white/70",
|
|
15475
|
+
children: formatSlideCounter(state.slideIndex, slides.length)
|
|
15476
|
+
}
|
|
15477
|
+
),
|
|
15478
|
+
/* @__PURE__ */ jsx(
|
|
15479
|
+
"button",
|
|
15480
|
+
{
|
|
15481
|
+
type: "button",
|
|
15482
|
+
className: control,
|
|
15483
|
+
"aria-label": t("pptx.common.next"),
|
|
15484
|
+
title: t("pptx.common.next"),
|
|
15485
|
+
disabled: !canGoNext(state, slides.length),
|
|
15486
|
+
onClick: () => run({ command: "next" }),
|
|
15487
|
+
children: /* @__PURE__ */ jsx(LuChevronRight, {})
|
|
15488
|
+
}
|
|
15489
|
+
),
|
|
15490
|
+
/* @__PURE__ */ jsx(
|
|
15491
|
+
"button",
|
|
15492
|
+
{
|
|
15493
|
+
type: "button",
|
|
15494
|
+
className: control,
|
|
15495
|
+
"aria-label": t("pptx.statusBar.normalView"),
|
|
15496
|
+
title: t("pptx.statusBar.normalView"),
|
|
15497
|
+
onClick: () => run({ command: "exit" }),
|
|
15498
|
+
children: /* @__PURE__ */ jsx(LuX, {})
|
|
15499
|
+
}
|
|
15500
|
+
)
|
|
15501
|
+
] })
|
|
15502
|
+
]
|
|
15503
|
+
}
|
|
15504
|
+
);
|
|
15505
|
+
}
|
|
15300
15506
|
|
|
15301
15507
|
// src/viewer/components/notes/notes-utils.ts
|
|
15302
15508
|
var DEBOUNCE_MS = 600;
|
|
@@ -26413,6 +26619,151 @@ function SmartArtPropertiesPanel({
|
|
|
26413
26619
|
] })
|
|
26414
26620
|
] });
|
|
26415
26621
|
}
|
|
26622
|
+
var HEADER_CELL = "flex items-center justify-center gap-0.5 bg-muted text-muted-foreground border border-border -m-px px-1 py-0.5 whitespace-nowrap";
|
|
26623
|
+
var CELL_INPUT2 = "w-full box-border bg-muted px-1 py-0.5 text-[11px] border-0 outline-none focus:bg-accent disabled:opacity-60";
|
|
26624
|
+
var REMOVE_BTN = "px-0.5 leading-none text-destructive hover:opacity-80";
|
|
26625
|
+
function TableDataGrid({
|
|
26626
|
+
tableElement,
|
|
26627
|
+
canEdit,
|
|
26628
|
+
onUpdateElement
|
|
26629
|
+
}) {
|
|
26630
|
+
const { t } = useTranslation();
|
|
26631
|
+
const grid = buildTableDataGrid(tableElement);
|
|
26632
|
+
if (grid.rowCount === 0 || grid.colCount === 0) {
|
|
26633
|
+
return null;
|
|
26634
|
+
}
|
|
26635
|
+
const commit = (next) => {
|
|
26636
|
+
if (next === tableElement) {
|
|
26637
|
+
return;
|
|
26638
|
+
}
|
|
26639
|
+
onUpdateElement({ tableData: next.tableData, rawXml: next.rawXml });
|
|
26640
|
+
};
|
|
26641
|
+
return /* @__PURE__ */ jsx("div", { className: CARD, children: /* @__PURE__ */ jsxs("section", { "aria-label": t("pptx.tableDataEditor.ariaLabel"), children: [
|
|
26642
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-1 mb-1.5", children: [
|
|
26643
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.inspector.tableData") }),
|
|
26644
|
+
canEdit && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-0.5", children: [
|
|
26645
|
+
/* @__PURE__ */ jsx(
|
|
26646
|
+
"button",
|
|
26647
|
+
{
|
|
26648
|
+
type: "button",
|
|
26649
|
+
className: BTN,
|
|
26650
|
+
title: t("pptx.tableDataEditor.addRowTitle"),
|
|
26651
|
+
onClick: () => commit(appendTableElementRow(tableElement)),
|
|
26652
|
+
children: t("pptx.tableDataEditor.addRowLabel")
|
|
26653
|
+
}
|
|
26654
|
+
),
|
|
26655
|
+
/* @__PURE__ */ jsx(
|
|
26656
|
+
"button",
|
|
26657
|
+
{
|
|
26658
|
+
type: "button",
|
|
26659
|
+
className: BTN,
|
|
26660
|
+
disabled: !grid.canRemoveRow,
|
|
26661
|
+
title: t("pptx.tableDataEditor.removeRowTitle"),
|
|
26662
|
+
onClick: () => commit(removeLastTableElementRow(tableElement)),
|
|
26663
|
+
children: t("pptx.tableDataEditor.removeRowLabel")
|
|
26664
|
+
}
|
|
26665
|
+
),
|
|
26666
|
+
/* @__PURE__ */ jsx(
|
|
26667
|
+
"button",
|
|
26668
|
+
{
|
|
26669
|
+
type: "button",
|
|
26670
|
+
className: BTN,
|
|
26671
|
+
title: t("pptx.tableDataEditor.addColumnTitle"),
|
|
26672
|
+
onClick: () => commit(appendTableElementColumn(tableElement)),
|
|
26673
|
+
children: t("pptx.tableDataEditor.addColumnLabel")
|
|
26674
|
+
}
|
|
26675
|
+
),
|
|
26676
|
+
/* @__PURE__ */ jsx(
|
|
26677
|
+
"button",
|
|
26678
|
+
{
|
|
26679
|
+
type: "button",
|
|
26680
|
+
className: BTN,
|
|
26681
|
+
disabled: !grid.canRemoveColumn,
|
|
26682
|
+
title: t("pptx.tableDataEditor.removeColumnTitle"),
|
|
26683
|
+
onClick: () => commit(removeLastTableElementColumn(tableElement)),
|
|
26684
|
+
children: t("pptx.tableDataEditor.removeColumnLabel")
|
|
26685
|
+
}
|
|
26686
|
+
)
|
|
26687
|
+
] })
|
|
26688
|
+
] }),
|
|
26689
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col text-[11px] w-max min-w-full", role: "grid", children: [
|
|
26690
|
+
/* @__PURE__ */ jsxs("div", { className: "flex", role: "row", children: [
|
|
26691
|
+
/* @__PURE__ */ jsx("div", { className: `${HEADER_CELL} flex-none w-10`, "aria-hidden": "true" }),
|
|
26692
|
+
grid.colIndices.map((colIndex) => /* @__PURE__ */ jsxs(
|
|
26693
|
+
"div",
|
|
26694
|
+
{
|
|
26695
|
+
className: `${HEADER_CELL} flex-1 basis-16`,
|
|
26696
|
+
role: "columnheader",
|
|
26697
|
+
children: [
|
|
26698
|
+
/* @__PURE__ */ jsx("span", { children: colIndex + 1 }),
|
|
26699
|
+
canEdit && grid.canRemoveColumn && /* @__PURE__ */ jsx(
|
|
26700
|
+
"button",
|
|
26701
|
+
{
|
|
26702
|
+
type: "button",
|
|
26703
|
+
className: REMOVE_BTN,
|
|
26704
|
+
"aria-label": t("pptx.tableDataEditor.removeColumnN", {
|
|
26705
|
+
number: colIndex + 1
|
|
26706
|
+
}),
|
|
26707
|
+
title: t("pptx.tableDataEditor.removeColumnN", { number: colIndex + 1 }),
|
|
26708
|
+
onClick: () => commit(removeTableElementColumn(tableElement, colIndex)),
|
|
26709
|
+
children: "\xD7"
|
|
26710
|
+
}
|
|
26711
|
+
)
|
|
26712
|
+
]
|
|
26713
|
+
},
|
|
26714
|
+
colIndex
|
|
26715
|
+
))
|
|
26716
|
+
] }),
|
|
26717
|
+
grid.rows.map((row) => /* @__PURE__ */ jsxs("div", { className: "flex", role: "row", children: [
|
|
26718
|
+
/* @__PURE__ */ jsxs("div", { className: `${HEADER_CELL} flex-none w-10`, role: "rowheader", children: [
|
|
26719
|
+
/* @__PURE__ */ jsx("span", { children: row.rowIndex + 1 }),
|
|
26720
|
+
canEdit && grid.canRemoveRow && /* @__PURE__ */ jsx(
|
|
26721
|
+
"button",
|
|
26722
|
+
{
|
|
26723
|
+
type: "button",
|
|
26724
|
+
className: REMOVE_BTN,
|
|
26725
|
+
"aria-label": t("pptx.tableDataEditor.removeRowN", {
|
|
26726
|
+
number: row.rowIndex + 1
|
|
26727
|
+
}),
|
|
26728
|
+
title: t("pptx.tableDataEditor.removeRowN", { number: row.rowIndex + 1 }),
|
|
26729
|
+
onClick: () => commit(removeTableElementRow(tableElement, row.rowIndex)),
|
|
26730
|
+
children: "\xD7"
|
|
26731
|
+
}
|
|
26732
|
+
)
|
|
26733
|
+
] }),
|
|
26734
|
+
row.cells.map((cell) => /* @__PURE__ */ jsx(
|
|
26735
|
+
"div",
|
|
26736
|
+
{
|
|
26737
|
+
className: "flex flex-1 basis-16 p-px border border-border -m-px",
|
|
26738
|
+
role: "gridcell",
|
|
26739
|
+
children: /* @__PURE__ */ jsx(
|
|
26740
|
+
"input",
|
|
26741
|
+
{
|
|
26742
|
+
type: "text",
|
|
26743
|
+
className: CELL_INPUT2,
|
|
26744
|
+
disabled: !canEdit,
|
|
26745
|
+
"aria-label": t("pptx.tableDataEditor.cellAriaLabel", {
|
|
26746
|
+
row: cell.rowIndex + 1,
|
|
26747
|
+
column: cell.colIndex + 1
|
|
26748
|
+
}),
|
|
26749
|
+
value: cell.text,
|
|
26750
|
+
onChange: (event) => commit(
|
|
26751
|
+
setTableElementCellText(
|
|
26752
|
+
tableElement,
|
|
26753
|
+
cell.rowIndex,
|
|
26754
|
+
cell.colIndex,
|
|
26755
|
+
event.target.value
|
|
26756
|
+
)
|
|
26757
|
+
)
|
|
26758
|
+
}
|
|
26759
|
+
)
|
|
26760
|
+
},
|
|
26761
|
+
cell.colIndex
|
|
26762
|
+
))
|
|
26763
|
+
] }, row.rowIndex))
|
|
26764
|
+
] }) })
|
|
26765
|
+
] }) });
|
|
26766
|
+
}
|
|
26416
26767
|
function TableCellAdvancedFill({
|
|
26417
26768
|
cellStyle,
|
|
26418
26769
|
canEdit,
|
|
@@ -27149,15 +27500,25 @@ function ElementInspectorBody({
|
|
|
27149
27500
|
)
|
|
27150
27501
|
] }, key)) })
|
|
27151
27502
|
] }),
|
|
27152
|
-
selectedElement.type === "table" && /* @__PURE__ */
|
|
27153
|
-
|
|
27154
|
-
|
|
27155
|
-
|
|
27156
|
-
|
|
27157
|
-
|
|
27158
|
-
|
|
27159
|
-
|
|
27160
|
-
|
|
27503
|
+
selectedElement.type === "table" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
27504
|
+
/* @__PURE__ */ jsx(
|
|
27505
|
+
TableDataGrid,
|
|
27506
|
+
{
|
|
27507
|
+
tableElement: selectedElement,
|
|
27508
|
+
canEdit,
|
|
27509
|
+
onUpdateElement
|
|
27510
|
+
}
|
|
27511
|
+
),
|
|
27512
|
+
/* @__PURE__ */ jsx(
|
|
27513
|
+
TablePropertiesPanel,
|
|
27514
|
+
{
|
|
27515
|
+
tableElement: selectedElement,
|
|
27516
|
+
canEdit,
|
|
27517
|
+
onUpdateElement,
|
|
27518
|
+
tableEditorState
|
|
27519
|
+
}
|
|
27520
|
+
)
|
|
27521
|
+
] }),
|
|
27161
27522
|
selectedElement.type === "chart" && /* @__PURE__ */ jsx(
|
|
27162
27523
|
ChartDataPanel,
|
|
27163
27524
|
{
|
|
@@ -31821,6 +32182,8 @@ function ViewerOverlays({
|
|
|
31821
32182
|
isShortcutHelpOpen,
|
|
31822
32183
|
isAccessibilityPanelOpen,
|
|
31823
32184
|
showSlideSorter,
|
|
32185
|
+
showReadingView,
|
|
32186
|
+
templateElements,
|
|
31824
32187
|
accessibilityIssues,
|
|
31825
32188
|
slides,
|
|
31826
32189
|
activeSlideIndex,
|
|
@@ -31835,10 +32198,11 @@ function ViewerOverlays({
|
|
|
31835
32198
|
onDuplicateSlides,
|
|
31836
32199
|
onToggleHideSlides,
|
|
31837
32200
|
onCloseSorter,
|
|
32201
|
+
onCloseReadingView,
|
|
31838
32202
|
reducedMotion,
|
|
31839
32203
|
onToggleReducedMotion
|
|
31840
32204
|
}) {
|
|
31841
|
-
const hasOverlay = isShortcutHelpOpen || isAccessibilityPanelOpen || showSlideSorter;
|
|
32205
|
+
const hasOverlay = isShortcutHelpOpen || isAccessibilityPanelOpen || showSlideSorter || showReadingView;
|
|
31842
32206
|
if (!hasOverlay) {
|
|
31843
32207
|
return null;
|
|
31844
32208
|
}
|
|
@@ -31869,6 +32233,16 @@ function ViewerOverlays({
|
|
|
31869
32233
|
onToggleHideSlides,
|
|
31870
32234
|
onClose: onCloseSorter
|
|
31871
32235
|
}
|
|
32236
|
+
),
|
|
32237
|
+
showReadingView && /* @__PURE__ */ jsx(
|
|
32238
|
+
ReadingViewOverlay,
|
|
32239
|
+
{
|
|
32240
|
+
slides,
|
|
32241
|
+
templateElements,
|
|
32242
|
+
canvasSize,
|
|
32243
|
+
activeSlideIndex,
|
|
32244
|
+
onExit: onCloseReadingView
|
|
32245
|
+
}
|
|
31872
32246
|
)
|
|
31873
32247
|
] });
|
|
31874
32248
|
}
|
|
@@ -32693,6 +33067,7 @@ function ViewerToolbarSection(props) {
|
|
|
32693
33067
|
onOpenSettings,
|
|
32694
33068
|
onRunAccessibilityCheck: dialogs.handleRunAccessibilityCheck,
|
|
32695
33069
|
onToggleSlideSorter: () => s.setShowSlideSorter((p) => !p),
|
|
33070
|
+
onOpenReadingView: () => s.setShowReadingView(true),
|
|
32696
33071
|
onUpdateTextStyle: ops.updateSelectedTextStyle,
|
|
32697
33072
|
onTransformTextCase: ops.updateSelectedTextCase,
|
|
32698
33073
|
isOverflowMenuOpen: s.isOverflowMenuOpen,
|
|
@@ -32781,15 +33156,7 @@ function ViewerToolbarSection(props) {
|
|
|
32781
33156
|
] });
|
|
32782
33157
|
}
|
|
32783
33158
|
var TEMPLATES = EQUATION_TEMPLATES;
|
|
32784
|
-
var TEMPLATE_MATHML =
|
|
32785
|
-
try {
|
|
32786
|
-
const tmplOmml = convertLatexToOmml(tmpl.latex);
|
|
32787
|
-
const raw = convertOmmlToMathMl(tmplOmml);
|
|
32788
|
-
return raw ? sanitizeMathMl(raw) : "";
|
|
32789
|
-
} catch {
|
|
32790
|
-
return "";
|
|
32791
|
-
}
|
|
32792
|
-
});
|
|
33159
|
+
var TEMPLATE_MATHML = compileEquationTemplateMathMl();
|
|
32793
33160
|
function MathMlPreview({ mathml }) {
|
|
32794
33161
|
const containerRef = useRef(null);
|
|
32795
33162
|
useEffect(() => {
|
|
@@ -32835,18 +33202,7 @@ function EquationEditorDialog({
|
|
|
32835
33202
|
setLatex(initialLatex);
|
|
32836
33203
|
}
|
|
32837
33204
|
}, [isOpen, initialLatex]);
|
|
32838
|
-
const { mathml, omml } = useMemo(() =>
|
|
32839
|
-
if (!deferredLatex.trim()) {
|
|
32840
|
-
return { mathml: "", omml: {} };
|
|
32841
|
-
}
|
|
32842
|
-
try {
|
|
32843
|
-
const ommlObj = convertLatexToOmml(deferredLatex);
|
|
32844
|
-
const mathmlStr = convertOmmlToMathMl(ommlObj);
|
|
32845
|
-
return { mathml: mathmlStr, omml: ommlObj };
|
|
32846
|
-
} catch {
|
|
32847
|
-
return { mathml: "", omml: {} };
|
|
32848
|
-
}
|
|
32849
|
-
}, [deferredLatex]);
|
|
33205
|
+
const { mathml, omml } = useMemo(() => compileLatexEquation(deferredLatex), [deferredLatex]);
|
|
32850
33206
|
const handleInsert = useCallback(() => {
|
|
32851
33207
|
if (!latex.trim()) {
|
|
32852
33208
|
return;
|
|
@@ -34159,7 +34515,7 @@ ${url}`)) {
|
|
|
34159
34515
|
)
|
|
34160
34516
|
);
|
|
34161
34517
|
}
|
|
34162
|
-
var AiChatPanel = lazy(() => import('./AiChatPanel-
|
|
34518
|
+
var AiChatPanel = lazy(() => import('./AiChatPanel-35CHYS5N.mjs'));
|
|
34163
34519
|
function AiChatPanelLazy(props) {
|
|
34164
34520
|
return /* @__PURE__ */ jsx(
|
|
34165
34521
|
Suspense,
|
|
@@ -37733,6 +38089,8 @@ var PowerPointViewer = forwardRef(
|
|
|
37733
38089
|
isShortcutHelpOpen: state.isShortcutHelpOpen,
|
|
37734
38090
|
isAccessibilityPanelOpen: state.isAccessibilityPanelOpen,
|
|
37735
38091
|
showSlideSorter: state.showSlideSorter,
|
|
38092
|
+
showReadingView: state.showReadingView,
|
|
38093
|
+
templateElements: state.templateElements,
|
|
37736
38094
|
accessibilityIssues: state.accessibilityIssues,
|
|
37737
38095
|
slides,
|
|
37738
38096
|
activeSlideIndex,
|
|
@@ -37750,6 +38108,10 @@ var PowerPointViewer = forwardRef(
|
|
|
37750
38108
|
onDuplicateSlides: editorOps.slideOps.handleDuplicateSlides,
|
|
37751
38109
|
onToggleHideSlides: editorOps.slideOps.handleToggleHideSlides,
|
|
37752
38110
|
onCloseSorter: () => state.setShowSlideSorter(false),
|
|
38111
|
+
onCloseReadingView: (slideIndex) => {
|
|
38112
|
+
state.setShowReadingView(false);
|
|
38113
|
+
state.setActiveSlideIndex(slideIndex);
|
|
38114
|
+
},
|
|
37753
38115
|
reducedMotion,
|
|
37754
38116
|
onToggleReducedMotion: toggleReducedMotion
|
|
37755
38117
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemePresets, PptxMarkdownConverter } from './chunk-
|
|
1
|
+
import { ThemePresets, PptxMarkdownConverter } from './chunk-TJ55KUWH.mjs';
|
|
2
2
|
import { __export } from './chunk-XGB3TDIC.mjs';
|
|
3
3
|
import * as mcp from 'pptx-viewer-mcp';
|
|
4
4
|
import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
|
|
Binary file
|
|
Binary file
|
|
@@ -2499,6 +2499,7 @@ var translationsEn = {
|
|
|
2499
2499
|
"pptx.tableDataEditor.addRowLabel": "+ Row",
|
|
2500
2500
|
"pptx.tableDataEditor.addRowTitle": "Add row below last",
|
|
2501
2501
|
"pptx.tableDataEditor.ariaLabel": "Table data editor",
|
|
2502
|
+
"pptx.tableDataEditor.cellAriaLabel": "Row {{row}}, column {{column}}",
|
|
2502
2503
|
"pptx.tableDataEditor.removeColumnLabel": "- Col",
|
|
2503
2504
|
"pptx.tableDataEditor.removeColumnN": "Remove column {{number}}",
|
|
2504
2505
|
"pptx.tableDataEditor.removeColumnTitle": "Remove last column",
|
|
Binary file
|
|
Binary file
|