pptx-react-viewer 1.13.1 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{Model3DScene-C5O6LDSN.js → Model3DScene-E2FDY2TX.js} +3 -3
  3. package/dist/Model3DScene-E2FDY2TX.js.br +0 -0
  4. package/dist/Model3DScene-E2FDY2TX.js.gz +0 -0
  5. package/dist/{Model3DScene-SGFNVFB2.mjs → Model3DScene-JUJB4MJX.mjs} +2 -2
  6. package/dist/{Model3DScene-SGFNVFB2.mjs.br → Model3DScene-JUJB4MJX.mjs.br} +0 -0
  7. package/dist/Model3DScene-JUJB4MJX.mjs.gz +0 -0
  8. package/dist/{PowerPointViewer-C2a7iXAK.d.ts → PowerPointViewer-BsaUH3ZT.d.ts} +3 -3
  9. package/dist/{PowerPointViewer-BzsjqMzg.d.mts → PowerPointViewer-Nxku67uL.d.mts} +3 -3
  10. package/dist/{SurfaceChart3DScene-CDWIMU7C.mjs → SurfaceChart3DScene-2DEB7NMW.mjs} +2 -2
  11. package/dist/SurfaceChart3DScene-2DEB7NMW.mjs.br +0 -0
  12. package/dist/SurfaceChart3DScene-2DEB7NMW.mjs.gz +0 -0
  13. package/dist/{SurfaceChart3DScene-NWZ2GCPS.js → SurfaceChart3DScene-Z64TSGR5.js} +3 -3
  14. package/dist/SurfaceChart3DScene-Z64TSGR5.js.br +0 -0
  15. package/dist/SurfaceChart3DScene-Z64TSGR5.js.gz +0 -0
  16. package/dist/{chunk-LARZRLKB.js → chunk-6CNJINIT.js} +322 -27
  17. package/dist/chunk-6CNJINIT.js.br +0 -0
  18. package/dist/chunk-6CNJINIT.js.gz +0 -0
  19. package/dist/{chunk-AMFNG44P.js → chunk-CHG7GPGB.js} +471 -626
  20. package/dist/chunk-CHG7GPGB.js.br +0 -0
  21. package/dist/chunk-CHG7GPGB.js.gz +0 -0
  22. package/dist/{chunk-ASB757HI.mjs → chunk-CZOMQPLZ.mjs} +65 -220
  23. package/dist/chunk-CZOMQPLZ.mjs.br +0 -0
  24. package/dist/chunk-CZOMQPLZ.mjs.gz +0 -0
  25. package/dist/{chunk-4ZYUPWYP.mjs → chunk-MAXS6AU7.mjs} +38 -18
  26. package/dist/chunk-MAXS6AU7.mjs.br +0 -0
  27. package/dist/chunk-MAXS6AU7.mjs.gz +0 -0
  28. package/dist/{chunk-S52XBUDM.js → chunk-OBLHB72P.js} +10 -0
  29. package/dist/chunk-OBLHB72P.js.br +0 -0
  30. package/dist/{chunk-S52XBUDM.js.gz → chunk-OBLHB72P.js.gz} +0 -0
  31. package/dist/{chunk-XBOHG5BO.mjs → chunk-QFRXMAFR.mjs} +10 -0
  32. package/dist/chunk-QFRXMAFR.mjs.br +0 -0
  33. package/dist/{chunk-XBOHG5BO.mjs.gz → chunk-QFRXMAFR.mjs.gz} +0 -0
  34. package/dist/{chunk-3VVUDMB7.js → chunk-RXIGJGJN.js} +856 -836
  35. package/dist/chunk-RXIGJGJN.js.br +0 -0
  36. package/dist/chunk-RXIGJGJN.js.gz +0 -0
  37. package/dist/{chunk-KULOGKNE.mjs → chunk-ZK4SPHDQ.mjs} +291 -3
  38. package/dist/chunk-ZK4SPHDQ.mjs.br +0 -0
  39. package/dist/chunk-ZK4SPHDQ.mjs.gz +0 -0
  40. package/dist/{dist-JVXXDMU7.mjs → dist-D5LQ7PW7.mjs} +1 -1
  41. package/dist/dist-D5LQ7PW7.mjs.br +0 -0
  42. package/dist/dist-D5LQ7PW7.mjs.gz +0 -0
  43. package/dist/{dist-TRWOWXDT.js → dist-MVSQ6PWP.js} +505 -505
  44. package/dist/dist-MVSQ6PWP.js.br +0 -0
  45. package/dist/dist-MVSQ6PWP.js.gz +0 -0
  46. package/dist/hooks-unstable.d.mts +127 -121
  47. package/dist/hooks-unstable.d.ts +127 -121
  48. package/dist/hooks-unstable.js +74 -74
  49. package/dist/hooks-unstable.js.br +0 -0
  50. package/dist/hooks-unstable.js.gz +0 -0
  51. package/dist/hooks-unstable.mjs +3 -3
  52. package/dist/hooks-unstable.mjs.br +0 -0
  53. package/dist/hooks-unstable.mjs.gz +0 -0
  54. package/dist/index.d.mts +3 -3
  55. package/dist/index.d.ts +3 -3
  56. package/dist/index.js +18 -18
  57. package/dist/index.js.br +0 -0
  58. package/dist/index.js.gz +0 -0
  59. package/dist/index.mjs +4 -4
  60. package/dist/index.mjs.br +0 -0
  61. package/dist/index.mjs.gz +0 -0
  62. package/dist/pptx-viewer.css +2 -2
  63. package/dist/pptx-viewer.css.br +0 -0
  64. package/dist/pptx-viewer.css.gz +0 -0
  65. package/dist/{types-ui-DlsqFx7_.d.mts → types-ui-NG29h55h.d.mts} +31 -20
  66. package/dist/{types-ui-DlsqFx7_.d.ts → types-ui-NG29h55h.d.ts} +31 -20
  67. package/dist/{usePresenterWindow-BKx5DLJy.d.ts → usePresenterWindow-DToCijGy.d.ts} +44 -44
  68. package/dist/{usePresenterWindow-BQwzr87T.d.mts → usePresenterWindow-DeTm-unp.d.mts} +44 -44
  69. package/dist/viewer/index.d.mts +6 -6
  70. package/dist/viewer/index.d.ts +6 -6
  71. package/dist/viewer/index.js +19 -19
  72. package/dist/viewer/index.js.br +0 -0
  73. package/dist/viewer/index.js.gz +0 -0
  74. package/dist/viewer/index.mjs +4 -4
  75. package/dist/viewer/index.mjs.br +0 -0
  76. package/dist/viewer/index.mjs.gz +0 -0
  77. package/dist/y-webrtc-6CRYHAXH.mjs +2 -2
  78. package/dist/y-webrtc-6CRYHAXH.mjs.br +0 -0
  79. package/dist/y-webrtc-6CRYHAXH.mjs.gz +0 -0
  80. package/dist/y-webrtc-QCZF75JW.js +2 -2
  81. package/dist/y-webrtc-QCZF75JW.js.br +0 -0
  82. package/dist/y-webrtc-QCZF75JW.js.gz +0 -0
  83. package/package.json +1 -1
  84. package/dist/Model3DScene-C5O6LDSN.js.br +0 -0
  85. package/dist/Model3DScene-C5O6LDSN.js.gz +0 -0
  86. package/dist/Model3DScene-SGFNVFB2.mjs.gz +0 -0
  87. package/dist/SurfaceChart3DScene-CDWIMU7C.mjs.br +0 -0
  88. package/dist/SurfaceChart3DScene-CDWIMU7C.mjs.gz +0 -0
  89. package/dist/SurfaceChart3DScene-NWZ2GCPS.js.br +0 -0
  90. package/dist/SurfaceChart3DScene-NWZ2GCPS.js.gz +0 -0
  91. package/dist/chunk-3VVUDMB7.js.br +0 -0
  92. package/dist/chunk-3VVUDMB7.js.gz +0 -0
  93. package/dist/chunk-4ZYUPWYP.mjs.br +0 -0
  94. package/dist/chunk-4ZYUPWYP.mjs.gz +0 -0
  95. package/dist/chunk-AMFNG44P.js.br +0 -0
  96. package/dist/chunk-AMFNG44P.js.gz +0 -0
  97. package/dist/chunk-ASB757HI.mjs.br +0 -0
  98. package/dist/chunk-ASB757HI.mjs.gz +0 -0
  99. package/dist/chunk-KULOGKNE.mjs.br +0 -0
  100. package/dist/chunk-KULOGKNE.mjs.gz +0 -0
  101. package/dist/chunk-LARZRLKB.js.br +0 -0
  102. package/dist/chunk-LARZRLKB.js.gz +0 -0
  103. package/dist/chunk-S52XBUDM.js.br +0 -0
  104. package/dist/chunk-XBOHG5BO.mjs.br +0 -0
  105. package/dist/dist-JVXXDMU7.mjs.br +0 -0
  106. package/dist/dist-JVXXDMU7.mjs.gz +0 -0
  107. package/dist/dist-TRWOWXDT.js.br +0 -0
  108. package/dist/dist-TRWOWXDT.js.gz +0 -0
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- import { computeValueRangeForChart, cloneTemplateElementsBySlideId, cloneSlide, countTextSegments, expandTextBuildAnimations, TimelineEngine, TEXT_BUILD_ID_SEP, 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, parseDrawingColor, parseDrawingColorOpacity, getPatternSvg, ooxmlDashToCssBorderStyle, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildPreviewAnimation, isTemplateElementId, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, comparePresentation, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, remapTextToSegments, copyFormatFromElement, applyFormatToElement, INITIAL_SYNC_GRACE_MS, validateRoomId, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, BROADCAST_THROTTLE_MS, sanitizeColor, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, createTouchGestureRecognizer, isKeyboardOpen, downloadBlob, groupElements, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, derivePresenceList, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, cloneHistorySnapshot, secureRandomUuid, resolveTransitionDurationMs, isUrlSafe, isTemplateElement, substituteFieldText, resolveUnderlineDecorationStyle, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, apply3dEffects, clampUnitInterval, getRoundRectRadiusPx, tintColor2, shadeColor2, computeColumnBoundaries, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, sanitizeDownloadFilename, encodeGif, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, buildPrintHtmlDocument, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, deleteTableColumn, insertTableColumn, deleteTableRow, insertTableRow, splitCell, mergeCells, buildSlidesPdfBytes, buildNotesPdfBytes, ACTION_BUTTON_PRESETS, buildSmartArtPresetData, computeSnapToShape, computeMarqueeHitIds, mergeAdditiveSelection, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, applyResize, snapBoxToGrid, chartPartToAttrs } from './chunk-KULOGKNE.mjs';
1
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, cloneTemplateElementsBySlideId, cloneSlide, countTextSegments, expandTextBuildAnimations, TimelineEngine, TEXT_BUILD_ID_SEP, 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, parseDrawingColor, parseDrawingColorOpacity, getPatternSvg, ooxmlDashToCssBorderStyle, 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, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, remapTextToSegments, copyFormatFromElement, applyFormatToElement, INITIAL_SYNC_GRACE_MS, validateRoomId, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, BROADCAST_THROTTLE_MS, sanitizeColor, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, createTouchGestureRecognizer, isKeyboardOpen, buildElementClipboardPayload, downloadBlob, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, derivePresenceList, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, cloneHistorySnapshot, secureRandomUuid, resolveTransitionDurationMs, isUrlSafe, isTemplateElement, substituteFieldText, resolveUnderlineDecorationStyle, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, apply3dEffects, clampUnitInterval, getRoundRectRadiusPx, tintColor2, shadeColor2, computeColumnBoundaries, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, sanitizeDownloadFilename, encodeGif, cloneElementForPaste, computeScrollDelta, rerouteConnectorsForMovedElements, applyReroutedConnectors, buildPrintHtmlDocument, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, deleteTableColumn, insertTableColumn, deleteTableRow, insertTableRow, splitCell, mergeCells, buildSlidesPdfBytes, buildNotesPdfBytes, ACTION_BUTTON_PRESETS, buildSmartArtPresetData, computeSnapToShape, computeMarqueeHitIds, mergeAdditiveSelection, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, applyResize, snapBoxToGrid, chartPartToAttrs } from './chunk-ZK4SPHDQ.mjs';
2
2
  import { translationsEn } from './chunk-OSWE3VXS.mjs';
3
- import { hasTextProperties, PptxHandler, EncryptedFileError, hasShapeProperties, isImageLikeElement, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, applyThemeToData, THEME_PRESETS, guidePxToEmu, mergeShapes, getSubstituteFontFamily, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, SvgExporter, rebuildTableStructureInRawXml, updateCellTextStyleInRawXml, updateCellTextInRawXml, updateMergeAttrsInRawXml, elementActionToPptxAction } from './chunk-XBOHG5BO.mjs';
3
+ import { hasTextProperties, PptxHandler, EncryptedFileError, hasShapeProperties, isImageLikeElement, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, applyThemeToData, THEME_PRESETS, guidePxToEmu, mergeShapes, getSubstituteFontFamily, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, SvgExporter, rebuildTableStructureInRawXml, updateCellTextStyleInRawXml, updateCellTextInRawXml, updateMergeAttrsInRawXml, elementActionToPptxAction } from './chunk-QFRXMAFR.mjs';
4
4
  import React3, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useSyncExternalStore, useImperativeHandle, useLayoutEffect } from 'react';
5
- import { LuSquare, LuCircle, LuDatabase, LuMoveRight, LuTriangle, LuDiamond, LuPlus, LuMinus } from 'react-icons/lu';
5
+ import { LuTriangle, LuPlus, LuMoveRight, LuMinus, LuDiamond, LuDatabase, LuCircle, LuSquare } from 'react-icons/lu';
6
6
  import { clsx } from 'clsx';
7
7
  import { twMerge } from 'tailwind-merge';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -329,189 +329,26 @@ var ANIMATION_PRESET_OPTIONS = [
329
329
  { value: "growShrink", label: "Grow/Shrink", i18nKey: "pptx.animation.preset.growShrink" },
330
330
  { value: "teeter", label: "Teeter", i18nKey: "pptx.animation.preset.teeter" }
331
331
  ];
332
- var icon = (component, className) => React3.createElement(component, { className });
333
- var SHAPE_PRESETS = [
334
- {
335
- type: "rect",
336
- label: "Rectangle",
337
- i18nKey: "pptx.editorToolbar.shapeRectangle",
338
- icon: icon(LuSquare, "w-3.5 h-3.5")
339
- },
340
- {
341
- type: "roundRect",
342
- label: "Rounded",
343
- i18nKey: "pptx.shapePresets.rounded",
344
- icon: icon(LuSquare, "w-3.5 h-3.5")
345
- },
346
- {
347
- type: "ellipse",
348
- label: "Circle",
349
- i18nKey: "pptx.shapePresets.circle",
350
- icon: icon(LuCircle, "w-3.5 h-3.5")
351
- },
352
- {
353
- type: "cylinder",
354
- label: "Cylinder",
355
- i18nKey: "pptx.shapePresets.cylinder",
356
- icon: icon(LuDatabase, "w-3.5 h-3.5")
357
- },
358
- {
359
- type: "rtArrow",
360
- label: "Right Arrow",
361
- i18nKey: "pptx.shapePresets.rightArrow",
362
- icon: icon(LuMoveRight, "w-3.5 h-3.5")
363
- },
364
- {
365
- type: "leftArrow",
366
- label: "Left Arrow",
367
- i18nKey: "pptx.shapePresets.leftArrow",
368
- icon: icon(LuMoveRight, "w-3.5 h-3.5 rotate-180")
369
- },
370
- {
371
- type: "upArrow",
372
- label: "Up Arrow",
373
- i18nKey: "pptx.shapePresets.upArrow",
374
- icon: icon(LuMoveRight, "w-3.5 h-3.5 -rotate-90")
375
- },
376
- {
377
- type: "downArrow",
378
- label: "Down Arrow",
379
- i18nKey: "pptx.shapePresets.downArrow",
380
- icon: icon(LuMoveRight, "w-3.5 h-3.5 rotate-90")
381
- },
382
- {
383
- type: "triangle",
384
- label: "Triangle",
385
- i18nKey: "pptx.editorToolbar.shapeTriangle",
386
- icon: icon(LuTriangle, "w-3.5 h-3.5")
387
- },
388
- {
389
- type: "rtTriangle",
390
- label: "Right Triangle",
391
- i18nKey: "pptx.shapePresets.rightTriangle",
392
- icon: icon(LuTriangle, "w-3.5 h-3.5 rotate-90")
393
- },
394
- {
395
- type: "diamond",
396
- label: "Diamond",
397
- i18nKey: "pptx.shapePresets.diamond",
398
- icon: icon(LuDiamond, "w-3.5 h-3.5")
399
- },
400
- {
401
- type: "parallelogram",
402
- label: "Parallelogram",
403
- i18nKey: "pptx.shapePresets.parallelogram",
404
- icon: icon(LuSquare, "w-3.5 h-3.5 -skew-x-12")
405
- },
406
- {
407
- type: "trapezoid",
408
- label: "Trapezoid",
409
- i18nKey: "pptx.shapePresets.trapezoid",
410
- icon: icon(LuSquare, "w-3.5 h-3.5")
411
- },
412
- {
413
- type: "pentagon",
414
- label: "Pentagon",
415
- i18nKey: "pptx.shapePresets.pentagon",
416
- icon: icon(LuDiamond, "w-3.5 h-3.5")
417
- },
418
- {
419
- type: "hexagon",
420
- label: "Hexagon",
421
- i18nKey: "pptx.shapePresets.hexagon",
422
- icon: icon(LuDiamond, "w-3.5 h-3.5")
423
- },
424
- {
425
- type: "octagon",
426
- label: "Octagon",
427
- i18nKey: "pptx.shapePresets.octagon",
428
- icon: icon(LuCircle, "w-3.5 h-3.5")
429
- },
430
- {
431
- type: "chevron",
432
- label: "Chevron",
433
- i18nKey: "pptx.shapePresets.chevron",
434
- icon: icon(LuMoveRight, "w-3.5 h-3.5")
435
- },
436
- {
437
- type: "star5",
438
- label: "Star",
439
- i18nKey: "pptx.shapePresets.star",
440
- icon: icon(LuDiamond, "w-3.5 h-3.5 rotate-45")
441
- },
442
- {
443
- type: "star6",
444
- label: "Star 6",
445
- i18nKey: "pptx.shapePresets.star6",
446
- icon: icon(LuDiamond, "w-3.5 h-3.5")
447
- },
448
- {
449
- type: "star8",
450
- label: "Star 8",
451
- i18nKey: "pptx.shapePresets.star8",
452
- icon: icon(LuDiamond, "w-3.5 h-3.5 rotate-45")
453
- },
454
- {
455
- type: "plus",
456
- label: "Plus",
457
- i18nKey: "pptx.shapePresets.plus",
458
- icon: icon(LuPlus, "w-3.5 h-3.5")
459
- },
460
- {
461
- type: "heart",
462
- label: "Heart",
463
- i18nKey: "pptx.shapePresets.heart",
464
- icon: icon(LuCircle, "w-3.5 h-3.5")
465
- },
466
- {
467
- type: "cloud",
468
- label: "Cloud",
469
- i18nKey: "pptx.shapePresets.cloud",
470
- icon: icon(LuCircle, "w-3.5 h-3.5")
471
- },
472
- {
473
- type: "sun",
474
- label: "Sun",
475
- i18nKey: "pptx.shapePresets.sun",
476
- icon: icon(LuCircle, "w-3.5 h-3.5")
477
- },
478
- {
479
- type: "moon",
480
- label: "Moon",
481
- i18nKey: "pptx.shapePresets.moon",
482
- icon: icon(LuCircle, "w-3.5 h-3.5")
483
- },
484
- {
485
- type: "pie",
486
- label: "Pie",
487
- i18nKey: "pptx.shapePresets.pie",
488
- icon: icon(LuCircle, "w-3.5 h-3.5")
489
- },
490
- {
491
- type: "plaque",
492
- label: "Plaque",
493
- i18nKey: "pptx.shapePresets.plaque",
494
- icon: icon(LuSquare, "w-3.5 h-3.5")
495
- },
496
- {
497
- type: "teardrop",
498
- label: "Teardrop",
499
- i18nKey: "pptx.shapePresets.teardrop",
500
- icon: icon(LuCircle, "w-3.5 h-3.5")
501
- },
502
- {
503
- type: "line",
504
- label: "Line",
505
- i18nKey: "pptx.shapePresets.line",
506
- icon: icon(LuMinus, "w-3.5 h-3.5")
507
- },
508
- {
509
- type: "connector",
510
- label: "Connector",
511
- i18nKey: "pptx.elementType.connector",
512
- icon: icon(LuMoveRight, "w-3.5 h-3.5")
513
- }
514
- ];
332
+ var GLYPH_COMPONENTS = {
333
+ square: LuSquare,
334
+ circle: LuCircle,
335
+ database: LuDatabase,
336
+ diamond: LuDiamond,
337
+ minus: LuMinus,
338
+ moveRight: LuMoveRight,
339
+ plus: LuPlus,
340
+ triangle: LuTriangle
341
+ };
342
+ var SHAPE_PRESETS = SHAPE_PRESET_DEFS.map(
343
+ (def) => ({
344
+ type: def.type,
345
+ label: def.label,
346
+ i18nKey: def.i18nKey,
347
+ icon: React3.createElement(GLYPH_COMPONENTS[def.glyph], {
348
+ className: def.glyphClass ? `w-3.5 h-3.5 ${def.glyphClass}` : "w-3.5 h-3.5"
349
+ })
350
+ })
351
+ );
515
352
 
516
353
  // src/viewer/hooks/useZoomViewport.ts
517
354
  function useZoomViewport({
@@ -3302,11 +3139,6 @@ function useViewerState(input) {
3302
3139
  return { ...core, ...ui };
3303
3140
  }
3304
3141
 
3305
- // src/viewer/utils/generate-id.ts
3306
- function generateElementId() {
3307
- return `el-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
3308
- }
3309
-
3310
3142
  // src/viewer/utils/template-editing.ts
3311
3143
  function partitionTemplateElements(slides) {
3312
3144
  const templateElementsBySlideId = {};
@@ -3329,15 +3161,6 @@ function buildSaveSlides(slides, templateElementsBySlideId) {
3329
3161
  return { ...slide, elements: [...template, ...slide.elements] };
3330
3162
  });
3331
3163
  }
3332
- function makeCloneId(intoTemplate, sourceId) {
3333
- if (!intoTemplate) {
3334
- return generateElementId();
3335
- }
3336
- if (sourceId.startsWith("master-")) {
3337
- return `master-${generateElementId()}`;
3338
- }
3339
- return `layout-${generateElementId()}`;
3340
- }
3341
3164
 
3342
3165
  // src/viewer/hooks/useLoadContent.ts
3343
3166
  function useLoadContent({
@@ -8664,7 +8487,7 @@ function FailedToLoad() {
8664
8487
  var LazySurfaceChart3DScene = React3.lazy(
8665
8488
  async () => {
8666
8489
  try {
8667
- return await import('./SurfaceChart3DScene-CDWIMU7C.mjs');
8490
+ return await import('./SurfaceChart3DScene-2DEB7NMW.mjs');
8668
8491
  } catch {
8669
8492
  return { default: FailedToLoad };
8670
8493
  }
@@ -11518,6 +11341,36 @@ function useElementOperations(input) {
11518
11341
  },
11519
11342
  [selectedElement, updateSelectedElement]
11520
11343
  );
11344
+ const updateSelectedTextCase = useCallback(
11345
+ (mode) => {
11346
+ if (!selectedElement || !hasTextProperties(selectedElement)) {
11347
+ return;
11348
+ }
11349
+ const inlineSel = getInlineEditorSelection(selectedElement.textSegments);
11350
+ if (inlineSel && selectedElement.textSegments) {
11351
+ const newSegments = applyCaseTransformToSegments(
11352
+ selectedElement.textSegments,
11353
+ inlineSel,
11354
+ mode
11355
+ );
11356
+ updateSelectedElement({ textSegments: newSegments });
11357
+ return;
11358
+ }
11359
+ const updates = {};
11360
+ if (selectedElement.textSegments && selectedElement.textSegments.length > 0) {
11361
+ updates.textSegments = applyCaseTransformToSegments(
11362
+ selectedElement.textSegments,
11363
+ null,
11364
+ mode
11365
+ );
11366
+ }
11367
+ if (typeof selectedElement.text === "string") {
11368
+ updates.text = transformTextCase(selectedElement.text, mode);
11369
+ }
11370
+ updateSelectedElement(updates);
11371
+ },
11372
+ [selectedElement, updateSelectedElement]
11373
+ );
11521
11374
  const updateSlides = useCallback(
11522
11375
  (updater) => {
11523
11376
  setSlides((prev) => updater(prev));
@@ -11556,6 +11409,7 @@ function useElementOperations(input) {
11556
11409
  updateSelectedElement,
11557
11410
  updateSelectedShapeStyle,
11558
11411
  updateSelectedTextStyle,
11412
+ updateSelectedTextCase,
11559
11413
  updateSlides,
11560
11414
  activeElements,
11561
11415
  updateActiveElements,
@@ -12842,10 +12696,7 @@ function useClipboardHandlers(input) {
12842
12696
  if (!selectedElement) {
12843
12697
  return;
12844
12698
  }
12845
- setClipboardPayload({
12846
- element: structuredClone(selectedElement),
12847
- isTemplate: editTemplateMode
12848
- });
12699
+ setClipboardPayload(buildElementClipboardPayload(selectedElement, editTemplateMode));
12849
12700
  };
12850
12701
  const handleDelete = () => {
12851
12702
  const idsToDelete = effectiveSelectedIds;
@@ -12861,29 +12712,23 @@ function useClipboardHandlers(input) {
12861
12712
  handleCopy();
12862
12713
  handleDelete();
12863
12714
  };
12715
+ const insertClone = (source) => {
12716
+ const clone = cloneElementForPaste(source, { intoTemplate: editTemplateMode });
12717
+ ops.updateActiveElements((els) => [...els, clone]);
12718
+ ops.applySelection(clone.id);
12719
+ history.markDirty();
12720
+ };
12864
12721
  const handlePaste = () => {
12865
12722
  if (!clipboardPayload || !activeSlide) {
12866
12723
  return;
12867
12724
  }
12868
- const clone = structuredClone(clipboardPayload.element);
12869
- clone.id = makeCloneId(editTemplateMode, clipboardPayload.element.id);
12870
- clone.x += 20;
12871
- clone.y += 20;
12872
- ops.updateActiveElements((els) => [...els, clone]);
12873
- ops.applySelection(clone.id);
12874
- history.markDirty();
12725
+ insertClone(clipboardPayload.element);
12875
12726
  };
12876
12727
  const handleDuplicate = () => {
12877
12728
  if (!selectedElement || !activeSlide) {
12878
12729
  return;
12879
12730
  }
12880
- const clone = structuredClone(selectedElement);
12881
- clone.id = makeCloneId(editTemplateMode, selectedElement.id);
12882
- clone.x += 20;
12883
- clone.y += 20;
12884
- ops.updateActiveElements((els) => [...els, clone]);
12885
- ops.applySelection(clone.id);
12886
- history.markDirty();
12731
+ insertClone(selectedElement);
12887
12732
  };
12888
12733
  return {
12889
12734
  handleCopy,
@@ -17675,7 +17520,7 @@ function useYjsDocumentSync({
17675
17520
  return;
17676
17521
  }
17677
17522
  try {
17678
- const { PptxHandler: PptxHandler2 } = await import('./dist-JVXXDMU7.mjs');
17523
+ const { PptxHandler: PptxHandler2 } = await import('./dist-D5LQ7PW7.mjs');
17679
17524
  const handler = new PptxHandler2();
17680
17525
  await handler.load(sourceBytes.buffer);
17681
17526
  const currentSlides = readSlidesFromYDoc(
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, SLIDE_TRANSITION_OPTIONS, DEFAULT_FILL_COLOR, shouldRenderFallbackLabel, isImageTiled, getImageTilingStyle, renderTextSegments, getTextLayoutStyle, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, renderTableElement, renderMediaElement, buildTextBody3DSceneStyle, getTextWarpStyle, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, parseTableElementData, ensureArrayValue, getTableCellBandStyle, extractCellText, extractTableCellStyle, cellStyleToCss, renderChartElement, getDuotoneColors, renderDuotoneSvgFilter, renderArtisticEffectSvgFilter, renderImageAlphaSvgFilter, buildReactChartViewModel, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, EMU_PER_PX, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-ASB757HI.mjs';
2
- import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, openPptxFile, buildSmartArtA11y, buildCssGradientFromShapeStyle, getElementLabel, getTextCompensationTransform, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, resolveTransportForServerUrl, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveDrawingShapeNodeId, getPendingSelectionRestore, restoreSegmentSelection, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getWarpPath, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, NOTES_FONT_SIZE_DEFAULT, clampNotesFontSize, NOTES_FONT_SIZE_STEP, formatTime, formatElapsed, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, 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, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, INSERT_CHART_TYPES, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-KULOGKNE.mjs';
1
+ import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, SLIDE_TRANSITION_OPTIONS, DEFAULT_FILL_COLOR, shouldRenderFallbackLabel, isImageTiled, getImageTilingStyle, renderTextSegments, getTextLayoutStyle, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, renderTableElement, renderMediaElement, buildTextBody3DSceneStyle, getTextWarpStyle, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, parseTableElementData, ensureArrayValue, getTableCellBandStyle, extractCellText, extractTableCellStyle, cellStyleToCss, renderChartElement, getDuotoneColors, renderDuotoneSvgFilter, renderArtisticEffectSvgFilter, renderImageAlphaSvgFilter, buildReactChartViewModel, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, EMU_PER_PX, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-CZOMQPLZ.mjs';
2
+ import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, openPptxFile, buildSmartArtA11y, buildCssGradientFromShapeStyle, getElementLabel, getTextCompensationTransform, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, resolveTransportForServerUrl, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveDrawingShapeNodeId, getPendingSelectionRestore, restoreSegmentSelection, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getWarpPath, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, NOTES_FONT_SIZE_DEFAULT, clampNotesFontSize, NOTES_FONT_SIZE_STEP, formatTime, formatElapsed, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, 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, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, INSERT_CHART_TYPES, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-ZK4SPHDQ.mjs';
3
3
  import { translationsEn } from './chunk-OSWE3VXS.mjs';
4
- import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, getLinkedTextBoxSegments, isImageLikeElement, getSubstituteFontFamily, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, hasNonTrivialOverride, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-XBOHG5BO.mjs';
4
+ import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, getLinkedTextBoxSegments, isImageLikeElement, getSubstituteFontFamily, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, hasNonTrivialOverride, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-QFRXMAFR.mjs';
5
5
  import React5, { createContext, useMemo, useState, useCallback, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { useTranslation } from 'react-i18next';
@@ -4720,6 +4720,25 @@ function InlineTextEditor({
4720
4720
  const handleInput = useCallback(() => {
4721
4721
  onEditChange(extractText());
4722
4722
  }, [extractText, onEditChange]);
4723
+ const trimTrailingSpaceBeforeCaret = useCallback(() => {
4724
+ const selection = window.getSelection();
4725
+ if (!selection || !selection.isCollapsed || selection.rangeCount === 0) {
4726
+ return;
4727
+ }
4728
+ const range = selection.getRangeAt(0);
4729
+ const { startContainer, startOffset } = range;
4730
+ if (startContainer.nodeType !== Node.TEXT_NODE || startOffset === 0) {
4731
+ return;
4732
+ }
4733
+ const text = startContainer.textContent ?? "";
4734
+ if (text.charAt(startOffset - 1) !== " ") {
4735
+ return;
4736
+ }
4737
+ const trimRange = document.createRange();
4738
+ trimRange.setStart(startContainer, startOffset - 1);
4739
+ trimRange.setEnd(startContainer, startOffset);
4740
+ trimRange.deleteContents();
4741
+ }, []);
4723
4742
  useEffect(() => {
4724
4743
  const el = editorRef.current;
4725
4744
  if (!el) {
@@ -4818,6 +4837,10 @@ function InlineTextEditor({
4818
4837
  e.preventDefault();
4819
4838
  onEditChange(extractText());
4820
4839
  onCommit();
4840
+ return;
4841
+ }
4842
+ if (e.key === "Enter") {
4843
+ trimTrailingSpaceBeforeCaret();
4821
4844
  }
4822
4845
  },
4823
4846
  onPaste: (e) => {
@@ -4835,7 +4858,7 @@ function FailedToLoad() {
4835
4858
  var LazyModel3DScene = React5.lazy(
4836
4859
  async () => {
4837
4860
  try {
4838
- return await import('./Model3DScene-SGFNVFB2.mjs');
4861
+ return await import('./Model3DScene-JUJB4MJX.mjs');
4839
4862
  } catch {
4840
4863
  return { default: FailedToLoad };
4841
4864
  }
@@ -14163,19 +14186,13 @@ function TextSection(p) {
14163
14186
  if (!canFormat) {
14164
14187
  return;
14165
14188
  }
14166
- switch (opt.value) {
14167
- case "upper":
14168
- p.onUpdateTextStyle({ textCaps: "all" });
14169
- break;
14170
- case "lower":
14171
- p.onUpdateTextStyle({ textCaps: "none" });
14172
- break;
14173
- case "sentence":
14174
- case "capitalize":
14175
- case "toggle":
14176
- p.onUpdateTextStyle({ textCaps: "none" });
14177
- break;
14189
+ if (isTable) {
14190
+ p.onUpdateTextStyle({
14191
+ textCaps: opt.value === "upper" ? "all" : "none"
14192
+ });
14193
+ return;
14178
14194
  }
14195
+ p.onTransformTextCase(opt.value);
14179
14196
  },
14180
14197
  children: opt.label
14181
14198
  },
@@ -14770,7 +14787,8 @@ function MobileSectionBody({
14770
14787
  canEdit: p.canEdit,
14771
14788
  selectedElement: p.selectedElement,
14772
14789
  tableEditorState: p.tableEditorState,
14773
- onUpdateTextStyle: p.onUpdateTextStyle
14790
+ onUpdateTextStyle: p.onUpdateTextStyle,
14791
+ onTransformTextCase: p.onTransformTextCase
14774
14792
  }
14775
14793
  ) });
14776
14794
  case "draw":
@@ -15989,7 +16007,8 @@ function Toolbar(p) {
15989
16007
  canEdit: p.canEdit,
15990
16008
  selectedElement: p.selectedElement,
15991
16009
  tableEditorState: p.tableEditorState,
15992
- onUpdateTextStyle: p.onUpdateTextStyle
16010
+ onUpdateTextStyle: p.onUpdateTextStyle,
16011
+ onTransformTextCase: p.onTransformTextCase
15993
16012
  }
15994
16013
  ),
15995
16014
  sHome && /* @__PURE__ */ jsx(EditingSection, { onToggleFindReplace: p.onToggleFindReplace }),
@@ -28802,6 +28821,7 @@ function ViewerToolbarSection(props) {
28802
28821
  onRunAccessibilityCheck: dialogs.handleRunAccessibilityCheck,
28803
28822
  onToggleSlideSorter: () => s.setShowSlideSorter((p) => !p),
28804
28823
  onUpdateTextStyle: ops.updateSelectedTextStyle,
28824
+ onTransformTextCase: ops.updateSelectedTextCase,
28805
28825
  isOverflowMenuOpen: s.isOverflowMenuOpen,
28806
28826
  onSetOverflowMenuOpen: s.setIsOverflowMenuOpen,
28807
28827
  layoutOptions: scopedLayoutOptions,
Binary file
Binary file
@@ -66776,6 +66776,8 @@ var MediaContext = class {
66776
66776
  this.fs = fs;
66777
66777
  this.resolvedMediaDir = `${outputDir}/${this.folderName}`;
66778
66778
  }
66779
+ folderName;
66780
+ fs;
66779
66781
  /** Running counter used to assign unique sequential filenames. */
66780
66782
  imageIndex = 0;
66781
66783
  /** Whether the media output directory has been created yet. */
@@ -66899,6 +66901,9 @@ var DocumentConverter = class {
66899
66901
  this.fs = fs;
66900
66902
  this.mediaContext = new MediaContext(outputDir, options.mediaFolderName, fs);
66901
66903
  }
66904
+ outputDir;
66905
+ options;
66906
+ fs;
66902
66907
  /** Shared context for extracting and saving media (images) during conversion. */
66903
66908
  mediaContext;
66904
66909
  /**
@@ -68237,6 +68242,7 @@ var TextElementProcessor = class {
68237
68242
  constructor(textRenderer) {
68238
68243
  this.textRenderer = textRenderer;
68239
68244
  }
68245
+ textRenderer;
68240
68246
  supportedTypes = ["text", "shape", "connector"];
68241
68247
  async process(element, ctx) {
68242
68248
  if (!hasTextProperties(element)) {
@@ -68431,6 +68437,7 @@ var SlideMetadataRenderer = class {
68431
68437
  constructor(textRenderer) {
68432
68438
  this.textRenderer = textRenderer;
68433
68439
  }
68440
+ textRenderer;
68434
68441
  /**
68435
68442
  * Renders the slide transition effect as a short metadata line.
68436
68443
  */
@@ -68617,6 +68624,9 @@ var SlideProcessor = class {
68617
68624
  this.textRenderer = textRenderer;
68618
68625
  this.metadataRenderer = new SlideMetadataRenderer(textRenderer);
68619
68626
  }
68627
+ registry;
68628
+ mediaContext;
68629
+ textRenderer;
68620
68630
  /** Delegate for rendering slide-level metadata sections. */
68621
68631
  metadataRenderer;
68622
68632
  /** Processes a slide into a complete Markdown section. */
Binary file
@@ -66770,6 +66770,8 @@ var MediaContext = class {
66770
66770
  this.fs = fs;
66771
66771
  this.resolvedMediaDir = `${outputDir}/${this.folderName}`;
66772
66772
  }
66773
+ folderName;
66774
+ fs;
66773
66775
  /** Running counter used to assign unique sequential filenames. */
66774
66776
  imageIndex = 0;
66775
66777
  /** Whether the media output directory has been created yet. */
@@ -66893,6 +66895,9 @@ var DocumentConverter = class {
66893
66895
  this.fs = fs;
66894
66896
  this.mediaContext = new MediaContext(outputDir, options.mediaFolderName, fs);
66895
66897
  }
66898
+ outputDir;
66899
+ options;
66900
+ fs;
66896
66901
  /** Shared context for extracting and saving media (images) during conversion. */
66897
66902
  mediaContext;
66898
66903
  /**
@@ -68231,6 +68236,7 @@ var TextElementProcessor = class {
68231
68236
  constructor(textRenderer) {
68232
68237
  this.textRenderer = textRenderer;
68233
68238
  }
68239
+ textRenderer;
68234
68240
  supportedTypes = ["text", "shape", "connector"];
68235
68241
  async process(element, ctx) {
68236
68242
  if (!hasTextProperties(element)) {
@@ -68425,6 +68431,7 @@ var SlideMetadataRenderer = class {
68425
68431
  constructor(textRenderer) {
68426
68432
  this.textRenderer = textRenderer;
68427
68433
  }
68434
+ textRenderer;
68428
68435
  /**
68429
68436
  * Renders the slide transition effect as a short metadata line.
68430
68437
  */
@@ -68611,6 +68618,9 @@ var SlideProcessor = class {
68611
68618
  this.textRenderer = textRenderer;
68612
68619
  this.metadataRenderer = new SlideMetadataRenderer(textRenderer);
68613
68620
  }
68621
+ registry;
68622
+ mediaContext;
68623
+ textRenderer;
68614
68624
  /** Delegate for rendering slide-level metadata sections. */
68615
68625
  metadataRenderer;
68616
68626
  /** Processes a slide into a complete Markdown section. */
Binary file