pptx-react-viewer 1.25.3 → 1.25.5
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 +4 -0
- package/dist/{Model3DScene-IQLE5JLL.mjs → Model3DScene-XVYOISVJ.mjs} +2 -2
- package/dist/Model3DScene-XVYOISVJ.mjs.br +0 -0
- package/dist/Model3DScene-XVYOISVJ.mjs.gz +0 -0
- package/dist/{Model3DScene-F2GUSTZI.js → Model3DScene-Y5ABLO7K.js} +3 -3
- package/dist/Model3DScene-Y5ABLO7K.js.br +0 -0
- package/dist/Model3DScene-Y5ABLO7K.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-JG26PJ7O.mjs → SurfaceChart3DScene-RXZADECL.mjs} +2 -2
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-RXZADECL.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-4OMD7LWR.js → SurfaceChart3DScene-WMY5JTW4.js} +3 -3
- package/dist/{SurfaceChart3DScene-4OMD7LWR.js.br → SurfaceChart3DScene-WMY5JTW4.js.br} +0 -0
- package/dist/SurfaceChart3DScene-WMY5JTW4.js.gz +0 -0
- package/dist/{chunk-5G3SPYQE.js → chunk-7CSBUYRN.js} +849 -808
- package/dist/chunk-7CSBUYRN.js.br +0 -0
- package/dist/chunk-7CSBUYRN.js.gz +0 -0
- package/dist/{chunk-ZUJHFLOR.js → chunk-E55Q4AC7.js} +556 -476
- package/dist/chunk-E55Q4AC7.js.br +0 -0
- package/dist/chunk-E55Q4AC7.js.gz +0 -0
- package/dist/{chunk-NYBERTS7.mjs → chunk-F4WPQRZU.mjs} +96 -16
- package/dist/chunk-F4WPQRZU.mjs.br +0 -0
- package/dist/chunk-F4WPQRZU.mjs.gz +0 -0
- package/dist/{chunk-DAI4KM5W.mjs → chunk-FOMF7POV.mjs} +2285 -490
- package/dist/chunk-FOMF7POV.mjs.br +0 -0
- package/dist/chunk-FOMF7POV.mjs.gz +0 -0
- package/dist/{chunk-DVM75RMN.mjs → chunk-FVQDRA5N.mjs} +1100 -126
- package/dist/chunk-FVQDRA5N.mjs.br +0 -0
- package/dist/chunk-FVQDRA5N.mjs.gz +0 -0
- package/dist/{chunk-2V6BD4JQ.js → chunk-IPYAN574.js} +2288 -490
- package/dist/chunk-IPYAN574.js.br +0 -0
- package/dist/chunk-IPYAN574.js.gz +0 -0
- package/dist/{chunk-GNXWU7UG.mjs → chunk-L4ZADJOM.mjs} +48 -7
- package/dist/chunk-L4ZADJOM.mjs.br +0 -0
- package/dist/chunk-L4ZADJOM.mjs.gz +0 -0
- package/dist/{chunk-UXVFNGJH.js → chunk-TEN35NUX.js} +1133 -159
- package/dist/chunk-TEN35NUX.js.br +0 -0
- package/dist/chunk-TEN35NUX.js.gz +0 -0
- package/dist/{dist-ZA77P2O5.js → dist-755SJ3ZH.js} +574 -562
- package/dist/dist-755SJ3ZH.js.br +0 -0
- package/dist/dist-755SJ3ZH.js.gz +0 -0
- package/dist/dist-FFWP5NQZ.mjs +2 -0
- package/dist/dist-FFWP5NQZ.mjs.br +0 -0
- package/dist/dist-FFWP5NQZ.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts +350 -5
- package/dist/hooks-unstable.d.ts.map +1 -1
- package/dist/hooks-unstable.js +78 -78
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +3 -3
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/{index-DWvM1PBB.d.ts → index-J6IuHQ2_.d.ts} +21 -4
- package/dist/index-J6IuHQ2_.d.ts.map +1 -0
- package/dist/index.d.ts +330 -2
- package/dist/index.js +33 -33
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/viewer/index.d.ts +330 -2
- package/dist/viewer/index.js +20 -20
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +4 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/Model3DScene-F2GUSTZI.js.br +0 -0
- package/dist/Model3DScene-F2GUSTZI.js.gz +0 -0
- package/dist/Model3DScene-IQLE5JLL.mjs.br +0 -0
- package/dist/Model3DScene-IQLE5JLL.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-4OMD7LWR.js.gz +0 -0
- package/dist/SurfaceChart3DScene-JG26PJ7O.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-JG26PJ7O.mjs.gz +0 -0
- package/dist/chunk-2V6BD4JQ.js.br +0 -0
- package/dist/chunk-2V6BD4JQ.js.gz +0 -0
- package/dist/chunk-5G3SPYQE.js.br +0 -0
- package/dist/chunk-5G3SPYQE.js.gz +0 -0
- package/dist/chunk-DAI4KM5W.mjs.br +0 -0
- package/dist/chunk-DAI4KM5W.mjs.gz +0 -0
- package/dist/chunk-DVM75RMN.mjs.br +0 -0
- package/dist/chunk-DVM75RMN.mjs.gz +0 -0
- package/dist/chunk-GNXWU7UG.mjs.br +0 -0
- package/dist/chunk-GNXWU7UG.mjs.gz +0 -0
- package/dist/chunk-NYBERTS7.mjs.br +0 -0
- package/dist/chunk-NYBERTS7.mjs.gz +0 -0
- package/dist/chunk-UXVFNGJH.js.br +0 -0
- package/dist/chunk-UXVFNGJH.js.gz +0 -0
- package/dist/chunk-ZUJHFLOR.js.br +0 -0
- package/dist/chunk-ZUJHFLOR.js.gz +0 -0
- package/dist/dist-E3IHM3OU.mjs +0 -2
- package/dist/dist-E3IHM3OU.mjs.br +0 -0
- package/dist/dist-E3IHM3OU.mjs.gz +0 -0
- package/dist/dist-ZA77P2O5.js.br +0 -0
- package/dist/dist-ZA77P2O5.js.gz +0 -0
- package/dist/index-DWvM1PBB.d.ts.map +0 -1
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SHAPE_PRESET_DEFS, TOOLBAR_TABS, computeValueRangeForChart, cloneTemplateElementsBySlideId, cloneSlide, countTextSegments, expandTextBuildAnimations, TimelineEngine, TEXT_BUILD_ID_SEP, computeEntranceAnimationDelay, storePresentationDeck, loadPresentationDeck, clearPresentationDeck, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, isPresentationSessionMessage, collectMediaElements, collectImagePaths, buildInitialGuides, saveAutosaveSnapshot, getAnimationInitialStyle, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, clampCropValue, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildPreviewAnimation, isTemplateElementId, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, remapTextToSegments, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, createSyncGate, validateRoomId, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, BROADCAST_THROTTLE_MS, sanitizeColor, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, downloadBlob, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, derivePresenceList, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, cloneHistorySnapshot, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, isTemplateElement, substituteFieldText, resolveUnderlineDecorationStyle, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, apply3dEffects, clampUnitInterval, getRoundRectRadiusPx, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getPatternSvg, ooxmlDashToCssBorderStyle, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, sanitizeDownloadFilename, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, buildPrintHtmlDocument, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, tintColor2, shadeColor2, deleteTableColumn, insertTableColumn, deleteTableRow, insertTableRow, splitCell, mergeCells, buildSlidesPdfBytes, buildNotesPdfBytes, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, buildSmartArtPresetData, computeSnapToShape, computeMarqueeHitIds, mergeAdditiveSelection, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, applyResize, snapBoxToGrid, chartPartToAttrs } from './chunk-
|
|
1
|
+
import { SHAPE_PRESET_DEFS, TOOLBAR_TABS, computeValueRangeForChart, cloneTemplateElementsBySlideId, cloneSlide, countTextSegments, expandTextBuildAnimations, TimelineEngine, TEXT_BUILD_ID_SEP, computeEntranceAnimationDelay, storePresentationDeck, loadPresentationDeck, clearPresentationDeck, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, isPresentationSessionMessage, collectMediaElements, collectImagePaths, buildInitialGuides, saveAutosaveSnapshot, getAnimationInitialStyle, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, clampCropValue, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildPreviewAnimation, isTemplateElementId, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, remapTextToSegments, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, createSyncGate, validateRoomId, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, BROADCAST_THROTTLE_MS, sanitizeColor, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, downloadBlob, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, derivePresenceList, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, cloneHistorySnapshot, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, isTemplateElement, substituteFieldText, resolveUnderlineDecorationStyle, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, apply3dEffects, clampUnitInterval, getRoundRectRadiusPx, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getPatternSvg, ooxmlDashToCssBorderStyle, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, sanitizeDownloadFilename, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, buildPrintHtmlDocument, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, tintColor2, shadeColor2, deleteTableColumn, insertTableColumn, deleteTableRow, insertTableRow, splitCell, mergeCells, buildSlidesPdfBytes, buildNotesPdfBytes, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, buildSmartArtPresetData, computeSnapToShape, computeMarqueeHitIds, mergeAdditiveSelection, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, applyResize, snapBoxToGrid, chartPartToAttrs } from './chunk-FVQDRA5N.mjs';
|
|
2
2
|
import { translationsEn } from './chunk-M3SIFXWD.mjs';
|
|
3
|
-
import { hasTextProperties, PptxHandler, EncryptedFileError, hasShapeProperties, isImageLikeElement, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, guidePxToEmu, mergeShapes, getSubstituteFontFamily, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, SvgExporter, rebuildTableStructureInRawXml, updateCellTextStyleInRawXml, updateCellTextInRawXml, updateMergeAttrsInRawXml, elementActionToPptxAction } from './chunk-
|
|
3
|
+
import { hasTextProperties, PptxHandler, EncryptedFileError, hasShapeProperties, isImageLikeElement, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, guidePxToEmu, mergeShapes, getSubstituteFontFamily, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, SvgExporter, rebuildTableStructureInRawXml, updateCellTextStyleInRawXml, updateCellTextInRawXml, updateMergeAttrsInRawXml, elementActionToPptxAction } from './chunk-FOMF7POV.mjs';
|
|
4
4
|
import React3, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useSyncExternalStore, useImperativeHandle, useLayoutEffect } from 'react';
|
|
5
5
|
import { LuTriangle, LuPlus, LuMoveRight, LuMinus, LuDiamond, LuDatabase, LuCircle, LuSquare } from 'react-icons/lu';
|
|
6
6
|
import { clsx } from 'clsx';
|
|
@@ -549,10 +549,29 @@ function useZoomViewport({
|
|
|
549
549
|
};
|
|
550
550
|
}
|
|
551
551
|
|
|
552
|
+
// src/viewer/utils/animation-sound.ts
|
|
553
|
+
var activeAudio = null;
|
|
554
|
+
function playAnimationSound(soundUrl, loop = false) {
|
|
555
|
+
stopAnimationSound();
|
|
556
|
+
activeAudio = new Audio(soundUrl);
|
|
557
|
+
activeAudio.loop = loop;
|
|
558
|
+
activeAudio.play().catch(() => {
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
function stopAnimationSound() {
|
|
562
|
+
if (activeAudio) {
|
|
563
|
+
activeAudio.pause();
|
|
564
|
+
activeAudio.currentTime = 0;
|
|
565
|
+
activeAudio = null;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
|
|
552
569
|
// src/viewer/hooks/presentation-mode/animation-helpers.ts
|
|
553
570
|
function applyAnimationGroupSteps(group, onPlayActionSound, setPresentationElementStates, presentationTimersRef) {
|
|
554
571
|
for (const step of group.steps) {
|
|
555
|
-
if (step.stopSound)
|
|
572
|
+
if (step.stopSound) {
|
|
573
|
+
stopAnimationSound();
|
|
574
|
+
} else if (step.soundPath && onPlayActionSound) {
|
|
556
575
|
onPlayActionSound(step.soundPath);
|
|
557
576
|
}
|
|
558
577
|
}
|
|
@@ -1512,7 +1531,7 @@ function executeSlideTransition(nextSlideIndex, deps) {
|
|
|
1512
1531
|
deps.setPresentationSlideVisible(true);
|
|
1513
1532
|
if (durationMs > 0 && transition) {
|
|
1514
1533
|
if (transition.soundPath && deps.onPlayActionSound) {
|
|
1515
|
-
deps.onPlayActionSound(transition.soundPath);
|
|
1534
|
+
deps.onPlayActionSound(transition.soundPath, { loop: transition.soundLoop === true });
|
|
1516
1535
|
}
|
|
1517
1536
|
deps.setTransitionOverlay({
|
|
1518
1537
|
outgoingSlideIndex: deps.currentSlideIndex,
|
|
@@ -1533,6 +1552,9 @@ function executeSlideTransition(nextSlideIndex, deps) {
|
|
|
1533
1552
|
}
|
|
1534
1553
|
|
|
1535
1554
|
// src/viewer/hooks/presentation-mode/useSlideNavigation.ts
|
|
1555
|
+
function isClickAdvanceBlocked(slide, direction, trigger) {
|
|
1556
|
+
return trigger === "click" && direction === 1 && slide?.transition?.advanceOnClick === false;
|
|
1557
|
+
}
|
|
1536
1558
|
function useSlideNavigation(input) {
|
|
1537
1559
|
const {
|
|
1538
1560
|
slides,
|
|
@@ -1578,10 +1600,13 @@ function useSlideNavigation(input) {
|
|
|
1578
1600
|
[slides, presentationTimersRef, useTimings]
|
|
1579
1601
|
);
|
|
1580
1602
|
const movePresentationSlide = useCallback(
|
|
1581
|
-
(direction) => {
|
|
1603
|
+
(direction, trigger = "explicit") => {
|
|
1582
1604
|
if (direction === 1 && playNextAnimationGroup()) {
|
|
1583
1605
|
return;
|
|
1584
1606
|
}
|
|
1607
|
+
if (isClickAdvanceBlocked(slides[presentationSlideIndex], direction, trigger)) {
|
|
1608
|
+
return;
|
|
1609
|
+
}
|
|
1585
1610
|
const availableSlideIndexes = visibleSlideIndexes.length > 0 ? visibleSlideIndexes : slides.map((_slide, slideIndex) => slideIndex);
|
|
1586
1611
|
if (availableSlideIndexes.length === 0) {
|
|
1587
1612
|
return;
|
|
@@ -1890,7 +1915,7 @@ function usePresentationMode(input) {
|
|
|
1890
1915
|
setShowRehearsalSummary
|
|
1891
1916
|
});
|
|
1892
1917
|
const movePresentationSlide = useCallback(
|
|
1893
|
-
(direction) => {
|
|
1918
|
+
(direction, trigger = "explicit") => {
|
|
1894
1919
|
if (endOfShowVisible) {
|
|
1895
1920
|
setEndOfShowVisible(false);
|
|
1896
1921
|
if (direction === 1) {
|
|
@@ -1898,7 +1923,7 @@ function usePresentationMode(input) {
|
|
|
1898
1923
|
}
|
|
1899
1924
|
return;
|
|
1900
1925
|
}
|
|
1901
|
-
moveNavigationSlide(direction);
|
|
1926
|
+
moveNavigationSlide(direction, trigger);
|
|
1902
1927
|
},
|
|
1903
1928
|
[endOfShowVisible, moveNavigationSlide, onSetMode]
|
|
1904
1929
|
);
|
|
@@ -7796,6 +7821,50 @@ function renderDropLines(elementId, chartData, layout, range, mode) {
|
|
|
7796
7821
|
}
|
|
7797
7822
|
return /* @__PURE__ */ jsx("g", { children: nodes }, `${elementId}-droplines`);
|
|
7798
7823
|
}
|
|
7824
|
+
function renderUpDownBars(elementId, chartData, layout, range, mode) {
|
|
7825
|
+
if (!chartData.upDownBars || chartData.series.length < 2) {
|
|
7826
|
+
return null;
|
|
7827
|
+
}
|
|
7828
|
+
const catCount = Math.max(chartData.categories.length, 1);
|
|
7829
|
+
const bars = chartData.upDownBars;
|
|
7830
|
+
const first = chartData.series[0];
|
|
7831
|
+
const last = chartData.series[chartData.series.length - 1];
|
|
7832
|
+
const slot = layout.plotWidth / catCount;
|
|
7833
|
+
const gapWidth = bars.gapWidth ?? 150;
|
|
7834
|
+
const barW = Math.max(slot / (1 + Math.max(gapWidth, 0) / 100), 1);
|
|
7835
|
+
const upFill = bars.upBars?.fillColor ?? "#e2e8f0";
|
|
7836
|
+
const downFill = bars.downBars?.fillColor ?? "#334155";
|
|
7837
|
+
const nodes = [];
|
|
7838
|
+
for (let vi = 0; vi < catCount; vi++) {
|
|
7839
|
+
const firstVal = first.values[vi];
|
|
7840
|
+
const lastVal = last.values[vi];
|
|
7841
|
+
if (firstVal === void 0 || lastVal === void 0) {
|
|
7842
|
+
continue;
|
|
7843
|
+
}
|
|
7844
|
+
const firstY = valToY(firstVal, range, layout.plotTop, layout.plotBottom);
|
|
7845
|
+
const lastY = valToY(lastVal, range, layout.plotTop, layout.plotBottom);
|
|
7846
|
+
const cx = xToPixel(vi, catCount, layout);
|
|
7847
|
+
nodes.push(
|
|
7848
|
+
/* @__PURE__ */ jsx(
|
|
7849
|
+
"rect",
|
|
7850
|
+
{
|
|
7851
|
+
x: cx - barW / 2,
|
|
7852
|
+
y: Math.min(firstY, lastY),
|
|
7853
|
+
width: barW,
|
|
7854
|
+
height: Math.max(Math.abs(firstY - lastY), 1),
|
|
7855
|
+
fill: lastVal >= firstVal ? upFill : downFill,
|
|
7856
|
+
stroke: "#64748b",
|
|
7857
|
+
strokeWidth: 0.5
|
|
7858
|
+
},
|
|
7859
|
+
`${elementId}-udb-${vi}`
|
|
7860
|
+
)
|
|
7861
|
+
);
|
|
7862
|
+
}
|
|
7863
|
+
if (nodes.length === 0) {
|
|
7864
|
+
return null;
|
|
7865
|
+
}
|
|
7866
|
+
return /* @__PURE__ */ jsx("g", { children: nodes }, `${elementId}-updownbars`);
|
|
7867
|
+
}
|
|
7799
7868
|
function renderHiLowLines(elementId, chartData, layout, range, mode) {
|
|
7800
7869
|
if (!chartData.hiLowLines) {
|
|
7801
7870
|
return null;
|
|
@@ -8259,6 +8328,7 @@ function renderOverlays(id, chartData, layout, range, mode) {
|
|
|
8259
8328
|
const overlayLayout = layout;
|
|
8260
8329
|
const overlayRange = range;
|
|
8261
8330
|
const nodes = [];
|
|
8331
|
+
nodes.push(renderUpDownBars(id, chartData, overlayLayout, overlayRange));
|
|
8262
8332
|
nodes.push(renderDropLines(id, chartData, overlayLayout, overlayRange));
|
|
8263
8333
|
nodes.push(renderHiLowLines(id, chartData, overlayLayout, overlayRange));
|
|
8264
8334
|
nodes.push(renderTrendlines(id, chartData, overlayLayout, overlayRange));
|
|
@@ -8510,7 +8580,7 @@ function FailedToLoad() {
|
|
|
8510
8580
|
var LazySurfaceChart3DScene = React3.lazy(
|
|
8511
8581
|
async () => {
|
|
8512
8582
|
try {
|
|
8513
|
-
return await import('./SurfaceChart3DScene-
|
|
8583
|
+
return await import('./SurfaceChart3DScene-RXZADECL.mjs');
|
|
8514
8584
|
} catch {
|
|
8515
8585
|
return { default: FailedToLoad };
|
|
8516
8586
|
}
|
|
@@ -15515,22 +15585,28 @@ function usePresentationSetup(input) {
|
|
|
15515
15585
|
} else {
|
|
15516
15586
|
if (mode === "present" && nextMode !== "present") {
|
|
15517
15587
|
stopAllPersistentAudio();
|
|
15588
|
+
stopAnimationSound();
|
|
15518
15589
|
}
|
|
15519
15590
|
setMode(nextMode);
|
|
15520
15591
|
}
|
|
15521
15592
|
},
|
|
15522
15593
|
onSetActiveSlideIndex: setActiveSlideIndex,
|
|
15523
|
-
onPlayActionSound: (soundPath) => {
|
|
15594
|
+
onPlayActionSound: (soundPath, options) => {
|
|
15524
15595
|
void (async () => {
|
|
15525
15596
|
if (!soundPath) {
|
|
15526
15597
|
return;
|
|
15527
15598
|
}
|
|
15599
|
+
const loop = options?.loop === true;
|
|
15528
15600
|
const cachedSound = mediaDataUrls.get(soundPath);
|
|
15529
15601
|
if (cachedSound) {
|
|
15530
15602
|
try {
|
|
15531
|
-
|
|
15532
|
-
|
|
15533
|
-
}
|
|
15603
|
+
if (loop) {
|
|
15604
|
+
playAnimationSound(cachedSound, true);
|
|
15605
|
+
} else {
|
|
15606
|
+
const audio = new Audio(cachedSound);
|
|
15607
|
+
void audio.play().catch(() => {
|
|
15608
|
+
});
|
|
15609
|
+
}
|
|
15534
15610
|
} catch {
|
|
15535
15611
|
}
|
|
15536
15612
|
return;
|
|
@@ -15545,9 +15621,13 @@ function usePresentationSetup(input) {
|
|
|
15545
15621
|
return;
|
|
15546
15622
|
}
|
|
15547
15623
|
mediaDataUrls.set(soundPath, dataUrl);
|
|
15548
|
-
|
|
15549
|
-
|
|
15550
|
-
}
|
|
15624
|
+
if (loop) {
|
|
15625
|
+
playAnimationSound(dataUrl, true);
|
|
15626
|
+
} else {
|
|
15627
|
+
const audio = new Audio(dataUrl);
|
|
15628
|
+
void audio.play().catch(() => {
|
|
15629
|
+
});
|
|
15630
|
+
}
|
|
15551
15631
|
} catch {
|
|
15552
15632
|
}
|
|
15553
15633
|
})();
|
|
@@ -17114,7 +17194,7 @@ function useYjsDocumentSync({
|
|
|
17114
17194
|
return;
|
|
17115
17195
|
}
|
|
17116
17196
|
try {
|
|
17117
|
-
const { PptxHandler: PptxHandler2 } = await import('./dist-
|
|
17197
|
+
const { PptxHandler: PptxHandler2 } = await import('./dist-FFWP5NQZ.mjs');
|
|
17118
17198
|
const handler = new PptxHandler2();
|
|
17119
17199
|
await handler.load(sourceBytes.buffer);
|
|
17120
17200
|
const currentSlides = readSlidesFromYDoc(
|
|
Binary file
|
|
Binary file
|