pptx-react-viewer 1.14.0 → 1.15.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 +8 -0
- package/dist/{Model3DScene-DX7S3IM7.mjs → Model3DScene-EF72C34A.mjs} +1 -1
- package/dist/Model3DScene-EF72C34A.mjs.br +0 -0
- package/dist/Model3DScene-EF72C34A.mjs.gz +0 -0
- package/dist/{Model3DScene-2E4HO4RQ.js → Model3DScene-QIE7QZ7M.js} +2 -2
- package/dist/{Model3DScene-2E4HO4RQ.js.br → Model3DScene-QIE7QZ7M.js.br} +0 -0
- package/dist/Model3DScene-QIE7QZ7M.js.gz +0 -0
- package/dist/{PowerPointViewer-DCYB93o0.d.ts → PowerPointViewer-BsaUH3ZT.d.ts} +1 -1
- package/dist/{PowerPointViewer-Crgj0LoS.d.mts → PowerPointViewer-Nxku67uL.d.mts} +1 -1
- package/dist/{SurfaceChart3DScene-327DEJSK.js → SurfaceChart3DScene-CBUOCCEN.js} +2 -2
- package/dist/{SurfaceChart3DScene-327DEJSK.js.br → SurfaceChart3DScene-CBUOCCEN.js.br} +0 -0
- package/dist/SurfaceChart3DScene-CBUOCCEN.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-C3D3F2NN.mjs → SurfaceChart3DScene-JYCQ2DBR.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-C3D3F2NN.mjs.br → SurfaceChart3DScene-JYCQ2DBR.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-JYCQ2DBR.mjs.gz +0 -0
- package/dist/{chunk-FMB2AJD7.js → chunk-BZVYWFHS.js} +418 -573
- package/dist/chunk-BZVYWFHS.js.br +0 -0
- package/dist/chunk-BZVYWFHS.js.gz +0 -0
- package/dist/{chunk-JZP5LYN3.mjs → chunk-FHOZRWAD.mjs} +289 -1
- package/dist/chunk-FHOZRWAD.mjs.br +0 -0
- package/dist/chunk-FHOZRWAD.mjs.gz +0 -0
- package/dist/{chunk-H5KXQEQD.js → chunk-FQXZZBFJ.js} +295 -0
- package/dist/chunk-FQXZZBFJ.js.br +0 -0
- package/dist/chunk-FQXZZBFJ.js.gz +0 -0
- package/dist/{chunk-OSWE3VXS.mjs → chunk-HJQZJ3VE.mjs} +9 -0
- package/dist/chunk-HJQZJ3VE.mjs.br +0 -0
- package/dist/chunk-HJQZJ3VE.mjs.gz +0 -0
- package/dist/{chunk-TQD5XTOT.mjs → chunk-POP5TS5L.mjs} +64 -219
- package/dist/chunk-POP5TS5L.mjs.br +0 -0
- package/dist/chunk-POP5TS5L.mjs.gz +0 -0
- package/dist/{chunk-K74UOJ6P.js → chunk-WGLJ32FW.js} +9 -0
- package/dist/chunk-WGLJ32FW.js.br +0 -0
- package/dist/chunk-WGLJ32FW.js.gz +0 -0
- package/dist/{chunk-45JY7DOB.mjs → chunk-X2UMJTCM.mjs} +38 -18
- package/dist/chunk-X2UMJTCM.mjs.br +0 -0
- package/dist/chunk-X2UMJTCM.mjs.gz +0 -0
- package/dist/{chunk-55OTTA3H.js → chunk-ZDV7QRGB.js} +779 -759
- package/dist/chunk-ZDV7QRGB.js.br +0 -0
- package/dist/chunk-ZDV7QRGB.js.gz +0 -0
- package/dist/hooks-unstable.d.mts +10 -4
- package/dist/hooks-unstable.d.ts +10 -4
- package/dist/hooks-unstable.js +74 -74
- 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/i18n.js +3 -3
- package/dist/i18n.js.br +1 -1
- 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.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +18 -18
- 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 +2 -1
- package/dist/index.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/{types-ui-Bagu4aYj.d.mts → types-ui-NG29h55h.d.mts} +17 -6
- package/dist/{types-ui-Bagu4aYj.d.ts → types-ui-NG29h55h.d.ts} +17 -6
- package/dist/{usePresenterWindow-DxZUXXk_.d.ts → usePresenterWindow-DToCijGy.d.ts} +1 -1
- package/dist/{usePresenterWindow-BarXkdvr.d.mts → usePresenterWindow-DeTm-unp.d.mts} +1 -1
- package/dist/viewer/index.d.mts +5 -5
- package/dist/viewer/index.d.ts +5 -5
- package/dist/viewer/index.js +19 -19
- 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-2E4HO4RQ.js.gz +0 -0
- package/dist/Model3DScene-DX7S3IM7.mjs.br +0 -0
- package/dist/Model3DScene-DX7S3IM7.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-327DEJSK.js.gz +0 -0
- package/dist/SurfaceChart3DScene-C3D3F2NN.mjs.gz +0 -0
- package/dist/chunk-45JY7DOB.mjs.br +0 -0
- package/dist/chunk-45JY7DOB.mjs.gz +0 -0
- package/dist/chunk-55OTTA3H.js.br +0 -0
- package/dist/chunk-55OTTA3H.js.gz +0 -0
- package/dist/chunk-FMB2AJD7.js.br +0 -0
- package/dist/chunk-FMB2AJD7.js.gz +0 -0
- package/dist/chunk-H5KXQEQD.js.br +0 -0
- package/dist/chunk-H5KXQEQD.js.gz +0 -0
- package/dist/chunk-JZP5LYN3.mjs.br +0 -0
- package/dist/chunk-JZP5LYN3.mjs.gz +0 -0
- package/dist/chunk-K74UOJ6P.js.br +0 -0
- package/dist/chunk-K74UOJ6P.js.gz +0 -0
- package/dist/chunk-OSWE3VXS.mjs.br +0 -0
- package/dist/chunk-OSWE3VXS.mjs.gz +0 -0
- package/dist/chunk-TQD5XTOT.mjs.br +0 -0
- package/dist/chunk-TQD5XTOT.mjs.gz +0 -0
|
@@ -1106,6 +1106,7 @@ var translationsEn = {
|
|
|
1106
1106
|
"pptx.table.bandRowCycle": "Row band size",
|
|
1107
1107
|
"pptx.table.cell": "Cell R{{row}} C{{col}}",
|
|
1108
1108
|
"pptx.table.cellBorders": "Cell borders",
|
|
1109
|
+
"pptx.table.cellPadding": "Cell padding",
|
|
1109
1110
|
"pptx.table.color": "Text",
|
|
1110
1111
|
"pptx.table.columnWidths": "Column widths",
|
|
1111
1112
|
"pptx.table.even": "Even",
|
|
@@ -1647,6 +1648,9 @@ var translationsEn = {
|
|
|
1647
1648
|
"pptx.ribbon.strokeWidth": "Stroke width",
|
|
1648
1649
|
"pptx.ribbon.browseThemes": "Browse Themes",
|
|
1649
1650
|
"pptx.ribbon.browseThemesTitle": "Browse and apply built-in themes",
|
|
1651
|
+
"pptx.ribbon.theme.default": "Default",
|
|
1652
|
+
"pptx.ribbon.theme.light": "Light (Vermilion)",
|
|
1653
|
+
"pptx.ribbon.theme.dark": "Dark (Vermilion)",
|
|
1650
1654
|
"pptx.ribbon.editTheme": "Edit Theme",
|
|
1651
1655
|
"pptx.ribbon.editThemeTitle": "Edit theme - theme editor not yet ported",
|
|
1652
1656
|
"pptx.ribbon.slideSize": "Slide Size",
|
|
@@ -2399,6 +2403,10 @@ var translationsEn = {
|
|
|
2399
2403
|
"pptx.text.characterSpacingTight": "Tight",
|
|
2400
2404
|
"pptx.text.characterSpacingVeryLoose": "Very Loose",
|
|
2401
2405
|
"pptx.text.characterSpacingVeryTight": "Very Tight",
|
|
2406
|
+
"pptx.textAdvanced.autoFit": "AutoFit",
|
|
2407
|
+
"pptx.textAdvanced.autoFitNone": "Do not autofit",
|
|
2408
|
+
"pptx.textAdvanced.autoFitResize": "Resize shape to fit text",
|
|
2409
|
+
"pptx.textAdvanced.autoFitShrink": "Shrink text on overflow",
|
|
2402
2410
|
"pptx.textAdvanced.autoPlaceholder": "auto",
|
|
2403
2411
|
"pptx.textAdvanced.indent": "Indent",
|
|
2404
2412
|
"pptx.textAdvanced.indentMargin": "Indent & Margin",
|
|
@@ -2412,6 +2420,7 @@ var translationsEn = {
|
|
|
2412
2420
|
"pptx.textAdvanced.spaceBefore": "Space Before",
|
|
2413
2421
|
"pptx.textAdvanced.spacing": "Spacing",
|
|
2414
2422
|
"pptx.textAdvanced.vAlign": "V-Align",
|
|
2423
|
+
"pptx.textAdvanced.wrapText": "Wrap text in shape",
|
|
2415
2424
|
"pptx.textFormatting.bulleted": "Bulleted",
|
|
2416
2425
|
"pptx.textFormatting.numbered": "Numbered",
|
|
2417
2426
|
"pptx.textFormatting.paragraphAfter": "Paragraph After",
|
|
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-
|
|
2
|
-
import { translationsEn } from './chunk-
|
|
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-FHOZRWAD.mjs';
|
|
2
|
+
import { translationsEn } from './chunk-HJQZJ3VE.mjs';
|
|
3
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 {
|
|
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
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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-
|
|
8490
|
+
return await import('./SurfaceChart3DScene-JYCQ2DBR.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
|
-
|
|
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
|
-
|
|
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,
|
|
Binary file
|
|
Binary file
|
|
@@ -1108,6 +1108,7 @@ var translationsEn = {
|
|
|
1108
1108
|
"pptx.table.bandRowCycle": "Row band size",
|
|
1109
1109
|
"pptx.table.cell": "Cell R{{row}} C{{col}}",
|
|
1110
1110
|
"pptx.table.cellBorders": "Cell borders",
|
|
1111
|
+
"pptx.table.cellPadding": "Cell padding",
|
|
1111
1112
|
"pptx.table.color": "Text",
|
|
1112
1113
|
"pptx.table.columnWidths": "Column widths",
|
|
1113
1114
|
"pptx.table.even": "Even",
|
|
@@ -1649,6 +1650,9 @@ var translationsEn = {
|
|
|
1649
1650
|
"pptx.ribbon.strokeWidth": "Stroke width",
|
|
1650
1651
|
"pptx.ribbon.browseThemes": "Browse Themes",
|
|
1651
1652
|
"pptx.ribbon.browseThemesTitle": "Browse and apply built-in themes",
|
|
1653
|
+
"pptx.ribbon.theme.default": "Default",
|
|
1654
|
+
"pptx.ribbon.theme.light": "Light (Vermilion)",
|
|
1655
|
+
"pptx.ribbon.theme.dark": "Dark (Vermilion)",
|
|
1652
1656
|
"pptx.ribbon.editTheme": "Edit Theme",
|
|
1653
1657
|
"pptx.ribbon.editThemeTitle": "Edit theme - theme editor not yet ported",
|
|
1654
1658
|
"pptx.ribbon.slideSize": "Slide Size",
|
|
@@ -2401,6 +2405,10 @@ var translationsEn = {
|
|
|
2401
2405
|
"pptx.text.characterSpacingTight": "Tight",
|
|
2402
2406
|
"pptx.text.characterSpacingVeryLoose": "Very Loose",
|
|
2403
2407
|
"pptx.text.characterSpacingVeryTight": "Very Tight",
|
|
2408
|
+
"pptx.textAdvanced.autoFit": "AutoFit",
|
|
2409
|
+
"pptx.textAdvanced.autoFitNone": "Do not autofit",
|
|
2410
|
+
"pptx.textAdvanced.autoFitResize": "Resize shape to fit text",
|
|
2411
|
+
"pptx.textAdvanced.autoFitShrink": "Shrink text on overflow",
|
|
2404
2412
|
"pptx.textAdvanced.autoPlaceholder": "auto",
|
|
2405
2413
|
"pptx.textAdvanced.indent": "Indent",
|
|
2406
2414
|
"pptx.textAdvanced.indentMargin": "Indent & Margin",
|
|
@@ -2414,6 +2422,7 @@ var translationsEn = {
|
|
|
2414
2422
|
"pptx.textAdvanced.spaceBefore": "Space Before",
|
|
2415
2423
|
"pptx.textAdvanced.spacing": "Spacing",
|
|
2416
2424
|
"pptx.textAdvanced.vAlign": "V-Align",
|
|
2425
|
+
"pptx.textAdvanced.wrapText": "Wrap text in shape",
|
|
2417
2426
|
"pptx.textFormatting.bulleted": "Bulleted",
|
|
2418
2427
|
"pptx.textFormatting.numbered": "Numbered",
|
|
2419
2428
|
"pptx.textFormatting.paragraphAfter": "Paragraph After",
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
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-
|
|
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-
|
|
3
|
-
import { translationsEn } from './chunk-
|
|
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-POP5TS5L.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-FHOZRWAD.mjs';
|
|
3
|
+
import { translationsEn } from './chunk-HJQZJ3VE.mjs';
|
|
4
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';
|
|
@@ -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-
|
|
4861
|
+
return await import('./Model3DScene-EF72C34A.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
|
-
|
|
14167
|
-
|
|
14168
|
-
|
|
14169
|
-
|
|
14170
|
-
|
|
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
|