pptx-react-viewer 3.5.0 → 3.5.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.
- package/CHANGELOG.md +15 -0
- package/dist/{AiChatPanel-KZX4NZ5R.mjs → AiChatPanel-6RN4FZ5Y.mjs} +3 -3
- package/dist/AiChatPanel-6RN4FZ5Y.mjs.br +0 -0
- package/dist/AiChatPanel-6RN4FZ5Y.mjs.gz +0 -0
- package/dist/{AiChatPanel-M7RSMOZV.js → AiChatPanel-D5DDUEIW.js} +24 -24
- package/dist/AiChatPanel-D5DDUEIW.js.br +0 -0
- package/dist/AiChatPanel-D5DDUEIW.js.gz +0 -0
- package/dist/{Area3DChartScene-AD6BO2VM.mjs → Area3DChartScene-PWBCCYGS.mjs} +1 -1
- package/dist/Area3DChartScene-PWBCCYGS.mjs.br +1 -0
- package/dist/Area3DChartScene-PWBCCYGS.mjs.gz +0 -0
- package/dist/{Area3DChartScene-7AYWOGBC.js → Area3DChartScene-UH6DXEDV.js} +2 -2
- package/dist/Area3DChartScene-UH6DXEDV.js.br +0 -0
- package/dist/Area3DChartScene-UH6DXEDV.js.gz +0 -0
- package/dist/{Bar3DChartScene-JOGF3C5E.mjs → Bar3DChartScene-6GDMTIFI.mjs} +1 -1
- package/dist/Bar3DChartScene-6GDMTIFI.mjs.br +0 -0
- package/dist/Bar3DChartScene-6GDMTIFI.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-FWKMBT4O.js → Bar3DChartScene-HN54LAH5.js} +2 -2
- package/dist/Bar3DChartScene-HN54LAH5.js.br +0 -0
- package/dist/Bar3DChartScene-HN54LAH5.js.gz +0 -0
- package/dist/{Line3DChartScene-ADORAAXV.mjs → Line3DChartScene-5WIHGKH4.mjs} +1 -1
- package/dist/Line3DChartScene-5WIHGKH4.mjs.br +1 -0
- package/dist/Line3DChartScene-5WIHGKH4.mjs.gz +0 -0
- package/dist/{Line3DChartScene-X2BJNGIK.js → Line3DChartScene-WSDPBF5W.js} +2 -2
- package/dist/Line3DChartScene-WSDPBF5W.js.br +0 -0
- package/dist/Line3DChartScene-WSDPBF5W.js.gz +0 -0
- package/dist/{Model3DScene-RORDMQ6Q.mjs → Model3DScene-7ZUKNMXA.mjs} +1 -1
- package/dist/Model3DScene-7ZUKNMXA.mjs.br +0 -0
- package/dist/Model3DScene-7ZUKNMXA.mjs.gz +0 -0
- package/dist/{Model3DScene-KSZHZAVD.js → Model3DScene-GUYP4VJP.js} +2 -2
- package/dist/{Model3DScene-KSZHZAVD.js.br → Model3DScene-GUYP4VJP.js.br} +0 -0
- package/dist/Model3DScene-GUYP4VJP.js.gz +0 -0
- package/dist/{PieChart3DScene-IXJHU3MI.mjs → PieChart3DScene-FBYOJF2T.mjs} +1 -1
- package/dist/PieChart3DScene-FBYOJF2T.mjs.br +0 -0
- package/dist/PieChart3DScene-FBYOJF2T.mjs.gz +0 -0
- package/dist/{PieChart3DScene-BXMI7U2X.js → PieChart3DScene-W7QK76IY.js} +2 -2
- package/dist/PieChart3DScene-W7QK76IY.js.br +0 -0
- package/dist/PieChart3DScene-W7QK76IY.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-TTBGVNYL.js → SurfaceChart3DScene-6SRHNAYR.js} +2 -2
- package/dist/{SurfaceChart3DScene-TTBGVNYL.js.br → SurfaceChart3DScene-6SRHNAYR.js.br} +0 -0
- package/dist/SurfaceChart3DScene-6SRHNAYR.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-SJ2IDLP6.mjs → SurfaceChart3DScene-QIXANTOO.mjs} +1 -1
- package/dist/SurfaceChart3DScene-QIXANTOO.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-QIXANTOO.mjs.gz +0 -0
- package/dist/{chunk-DUC32SQJ.mjs → chunk-2TKEP3LD.mjs} +13 -13
- package/dist/chunk-2TKEP3LD.mjs.br +0 -0
- package/dist/chunk-2TKEP3LD.mjs.gz +0 -0
- package/dist/{chunk-C7ZSRYF4.mjs → chunk-3MJLEKOD.mjs} +7 -2
- package/dist/chunk-3MJLEKOD.mjs.br +0 -0
- package/dist/chunk-3MJLEKOD.mjs.gz +0 -0
- package/dist/{chunk-AEP6X24D.js → chunk-BRUBTLWG.js} +164 -160
- package/dist/chunk-BRUBTLWG.js.br +0 -0
- package/dist/chunk-BRUBTLWG.js.gz +0 -0
- package/dist/{chunk-24XC5C2B.mjs → chunk-DGFYYQAK.mjs} +5 -1
- package/dist/chunk-DGFYYQAK.mjs.br +0 -0
- package/dist/chunk-DGFYYQAK.mjs.gz +0 -0
- package/dist/{chunk-AU5YFUUK.js → chunk-MLDG7WX6.js} +196 -86
- package/dist/chunk-MLDG7WX6.js.br +0 -0
- package/dist/chunk-MLDG7WX6.js.gz +0 -0
- package/dist/{chunk-HCTJCUGP.js → chunk-NZY4GXCF.js} +435 -430
- package/dist/chunk-NZY4GXCF.js.br +0 -0
- package/dist/chunk-NZY4GXCF.js.gz +0 -0
- package/dist/{chunk-X7L3RHFQ.mjs → chunk-P7SNHVMV.mjs} +196 -87
- package/dist/chunk-P7SNHVMV.mjs.br +0 -0
- package/dist/chunk-P7SNHVMV.mjs.gz +0 -0
- package/dist/{chunk-X6OJYCTW.mjs → chunk-QCFRIC6B.mjs} +1 -1
- package/dist/chunk-QCFRIC6B.mjs.br +0 -0
- package/dist/chunk-QCFRIC6B.mjs.gz +0 -0
- package/dist/{chunk-XSHYXVPD.js → chunk-WPOZ2SAD.js} +1171 -1171
- package/dist/chunk-WPOZ2SAD.js.br +0 -0
- package/dist/chunk-WPOZ2SAD.js.gz +0 -0
- package/dist/{chunk-JTS7AZYQ.js → chunk-ZGSPOPVM.js} +5 -5
- package/dist/chunk-ZGSPOPVM.js.br +0 -0
- package/dist/{chunk-JTS7AZYQ.js.gz → chunk-ZGSPOPVM.js.gz} +0 -0
- package/dist/index.js +45 -45
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.js +78 -78
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/viewer/index.js +26 -26
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-KZX4NZ5R.mjs.br +0 -0
- package/dist/AiChatPanel-KZX4NZ5R.mjs.gz +0 -0
- package/dist/AiChatPanel-M7RSMOZV.js.br +0 -0
- package/dist/AiChatPanel-M7RSMOZV.js.gz +0 -0
- package/dist/Area3DChartScene-7AYWOGBC.js.br +0 -0
- package/dist/Area3DChartScene-7AYWOGBC.js.gz +0 -0
- package/dist/Area3DChartScene-AD6BO2VM.mjs.br +0 -3
- package/dist/Area3DChartScene-AD6BO2VM.mjs.gz +0 -0
- package/dist/Bar3DChartScene-FWKMBT4O.js.br +0 -0
- package/dist/Bar3DChartScene-FWKMBT4O.js.gz +0 -0
- package/dist/Bar3DChartScene-JOGF3C5E.mjs.br +0 -0
- package/dist/Bar3DChartScene-JOGF3C5E.mjs.gz +0 -0
- package/dist/Line3DChartScene-ADORAAXV.mjs.br +0 -3
- package/dist/Line3DChartScene-ADORAAXV.mjs.gz +0 -0
- package/dist/Line3DChartScene-X2BJNGIK.js.br +0 -0
- package/dist/Line3DChartScene-X2BJNGIK.js.gz +0 -0
- package/dist/Model3DScene-KSZHZAVD.js.gz +0 -0
- package/dist/Model3DScene-RORDMQ6Q.mjs.br +0 -0
- package/dist/Model3DScene-RORDMQ6Q.mjs.gz +0 -0
- package/dist/PieChart3DScene-BXMI7U2X.js.br +0 -0
- package/dist/PieChart3DScene-BXMI7U2X.js.gz +0 -0
- package/dist/PieChart3DScene-IXJHU3MI.mjs.br +0 -0
- package/dist/PieChart3DScene-IXJHU3MI.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-SJ2IDLP6.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-SJ2IDLP6.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-TTBGVNYL.js.gz +0 -0
- package/dist/chunk-24XC5C2B.mjs.br +0 -0
- package/dist/chunk-24XC5C2B.mjs.gz +0 -0
- package/dist/chunk-AEP6X24D.js.br +0 -0
- package/dist/chunk-AEP6X24D.js.gz +0 -0
- package/dist/chunk-AU5YFUUK.js.br +0 -0
- package/dist/chunk-AU5YFUUK.js.gz +0 -0
- package/dist/chunk-C7ZSRYF4.mjs.br +0 -0
- package/dist/chunk-C7ZSRYF4.mjs.gz +0 -0
- package/dist/chunk-DUC32SQJ.mjs.br +0 -0
- package/dist/chunk-DUC32SQJ.mjs.gz +0 -0
- package/dist/chunk-HCTJCUGP.js.br +0 -0
- package/dist/chunk-HCTJCUGP.js.gz +0 -0
- package/dist/chunk-JTS7AZYQ.js.br +0 -0
- package/dist/chunk-X6OJYCTW.mjs.br +0 -0
- package/dist/chunk-X6OJYCTW.mjs.gz +0 -0
- package/dist/chunk-X7L3RHFQ.mjs.br +0 -0
- package/dist/chunk-X7L3RHFQ.mjs.gz +0 -0
- package/dist/chunk-XSHYXVPD.js.br +0 -0
- package/dist/chunk-XSHYXVPD.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerCrossSlideAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-
|
|
1
|
+
import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerCrossSlideAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-P7SNHVMV.mjs';
|
|
2
2
|
import { translationsEn } from './chunk-JCJ3EPG6.mjs';
|
|
3
3
|
import { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
@@ -1586,6 +1586,8 @@ function renderBulletMarker(para, paraIndex, elementId) {
|
|
|
1586
1586
|
return /* @__PURE__ */ jsx(
|
|
1587
1587
|
"img",
|
|
1588
1588
|
{
|
|
1589
|
+
"data-pptx-bullet-marker": true,
|
|
1590
|
+
contentEditable: false,
|
|
1589
1591
|
src: picture.src,
|
|
1590
1592
|
alt: picture.accessibleLabel,
|
|
1591
1593
|
style: {
|
|
@@ -1607,6 +1609,8 @@ function renderBulletMarker(para, paraIndex, elementId) {
|
|
|
1607
1609
|
"span",
|
|
1608
1610
|
{
|
|
1609
1611
|
className: "pptx-bullet",
|
|
1612
|
+
"data-pptx-bullet-marker": true,
|
|
1613
|
+
contentEditable: false,
|
|
1610
1614
|
style: para.bulletStyle,
|
|
1611
1615
|
"aria-label": picture?.accessibleLabel,
|
|
1612
1616
|
children: para.bulletMarker
|
|
Binary file
|
|
Binary file
|
|
@@ -62976,8 +62976,16 @@ var PptxHandlerRuntime13 = class extends PptxHandlerRuntime12 {
|
|
|
62976
62976
|
if (!bullet) {
|
|
62977
62977
|
return false;
|
|
62978
62978
|
}
|
|
62979
|
-
|
|
62980
|
-
|
|
62979
|
+
if (bullet.autoNumType) {
|
|
62980
|
+
if (bullet.paragraphIndex === void 0) {
|
|
62981
|
+
return false;
|
|
62982
|
+
}
|
|
62983
|
+
const ordinal = Math.max(1, (bullet.autoNumStartAt ?? 1) + bullet.paragraphIndex);
|
|
62984
|
+
const marker2 = formatAutoNumberMarker(bullet.autoNumType, ordinal);
|
|
62985
|
+
return segment.text === marker2 || segment.text === `${marker2} `;
|
|
62986
|
+
}
|
|
62987
|
+
const marker = bullet.char ? `${bullet.char} ` : bullet.imageRelId || bullet.imageDataUrl ? "\u{1F4CE} " : "\u2022 ";
|
|
62988
|
+
return segment.text === marker;
|
|
62981
62989
|
}
|
|
62982
62990
|
createParagraphsFromTextContent(text22, textStyle, textSegments, resolveHyperlinkRelationshipId) {
|
|
62983
62991
|
const runScopedTextStyle = toRunScopedTextStyle(textStyle);
|
|
@@ -123330,6 +123338,89 @@ function round2(value) {
|
|
|
123330
123338
|
function round6(value) {
|
|
123331
123339
|
return Math.round(value * 1e6) / 1e6;
|
|
123332
123340
|
}
|
|
123341
|
+
function resolvePictureBullet(info, baseFontSize) {
|
|
123342
|
+
if (!info.imageDataUrl && !info.imageRelId && !info.imageBlipFillXml) {
|
|
123343
|
+
return void 0;
|
|
123344
|
+
}
|
|
123345
|
+
const sizePx = typeof info.sizePts === "number" ? info.sizePts : typeof info.sizePercent === "number" ? baseFontSize * (info.sizePercent / 100) : baseFontSize;
|
|
123346
|
+
return {
|
|
123347
|
+
...info.imageDataUrl ? { src: info.imageDataUrl } : {},
|
|
123348
|
+
sizePx,
|
|
123349
|
+
fallbackMarker: "\u2022",
|
|
123350
|
+
accessibleLabel: "Bullet",
|
|
123351
|
+
...info.imageRelId ? { imageRelId: info.imageRelId } : {}
|
|
123352
|
+
};
|
|
123353
|
+
}
|
|
123354
|
+
function resolveParagraphBullet(firstSegment, baseFontSize = firstSegment?.style?.fontSize ?? 16) {
|
|
123355
|
+
if (!firstSegment) {
|
|
123356
|
+
return void 0;
|
|
123357
|
+
}
|
|
123358
|
+
if (firstSegment.style?.listType === "none") {
|
|
123359
|
+
return void 0;
|
|
123360
|
+
}
|
|
123361
|
+
const info = firstSegment.bulletInfo;
|
|
123362
|
+
if (!info || info.none) {
|
|
123363
|
+
return void 0;
|
|
123364
|
+
}
|
|
123365
|
+
const color2 = info.color;
|
|
123366
|
+
const fontFamily = info.fontFamily;
|
|
123367
|
+
const sizePts = typeof info.sizePts === "number" ? info.sizePts : void 0;
|
|
123368
|
+
const sizePercent = typeof info.sizePercent === "number" ? info.sizePercent : void 0;
|
|
123369
|
+
const picture = resolvePictureBullet(info, baseFontSize);
|
|
123370
|
+
if (picture) {
|
|
123371
|
+
return {
|
|
123372
|
+
marker: picture.fallbackMarker,
|
|
123373
|
+
isNumbered: false,
|
|
123374
|
+
color: color2,
|
|
123375
|
+
fontFamily,
|
|
123376
|
+
sizePts,
|
|
123377
|
+
sizePercent,
|
|
123378
|
+
picture
|
|
123379
|
+
};
|
|
123380
|
+
}
|
|
123381
|
+
if (info.autoNumType) {
|
|
123382
|
+
const startAt = typeof info.autoNumStartAt === "number" ? info.autoNumStartAt : 1;
|
|
123383
|
+
const paraIdx = typeof info.paragraphIndex === "number" ? info.paragraphIndex : 0;
|
|
123384
|
+
const seqNum = Math.max(1, startAt + paraIdx);
|
|
123385
|
+
return {
|
|
123386
|
+
marker: formatAutoNumberMarker(info.autoNumType, seqNum),
|
|
123387
|
+
isNumbered: true,
|
|
123388
|
+
color: color2,
|
|
123389
|
+
fontFamily,
|
|
123390
|
+
sizePts,
|
|
123391
|
+
sizePercent
|
|
123392
|
+
};
|
|
123393
|
+
}
|
|
123394
|
+
if (info.char) {
|
|
123395
|
+
return { marker: info.char, isNumbered: false, color: color2, fontFamily, sizePts, sizePercent };
|
|
123396
|
+
}
|
|
123397
|
+
return void 0;
|
|
123398
|
+
}
|
|
123399
|
+
var INDENT_PX_PER_LEVEL = 18;
|
|
123400
|
+
function bulletIndentPx(level) {
|
|
123401
|
+
const lvl = typeof level === "number" && level > 0 ? level : 0;
|
|
123402
|
+
return lvl * INDENT_PX_PER_LEVEL;
|
|
123403
|
+
}
|
|
123404
|
+
function resolveParagraphIndent(paraIndent, paragraphLevel) {
|
|
123405
|
+
const marginLeft = typeof paraIndent?.marginLeft === "number" && paraIndent.marginLeft !== 0 ? paraIndent.marginLeft : void 0;
|
|
123406
|
+
const textIndent = typeof paraIndent?.indent === "number" && paraIndent.indent !== 0 ? paraIndent.indent : void 0;
|
|
123407
|
+
if (marginLeft === void 0 && textIndent === void 0) {
|
|
123408
|
+
const levelPx = bulletIndentPx(paragraphLevel);
|
|
123409
|
+
return levelPx > 0 ? { marginLeftPx: levelPx } : {};
|
|
123410
|
+
}
|
|
123411
|
+
return { marginLeftPx: marginLeft, textIndentPx: textIndent };
|
|
123412
|
+
}
|
|
123413
|
+
function isBulletMarkerSegment(segment) {
|
|
123414
|
+
const bullet = segment.bulletInfo;
|
|
123415
|
+
if (!bullet || bullet.none) {
|
|
123416
|
+
return false;
|
|
123417
|
+
}
|
|
123418
|
+
const resolved = resolveParagraphBullet(segment);
|
|
123419
|
+
if (!resolved) {
|
|
123420
|
+
return false;
|
|
123421
|
+
}
|
|
123422
|
+
return segment.text.trim() === resolved.marker.trim() && segment.text.trim().length > 0;
|
|
123423
|
+
}
|
|
123333
123424
|
var OUTLINE_VIEW_ATTR = "data-pptx-outline-view";
|
|
123334
123425
|
var OUTLINE_ROW_ATTR = "data-pptx-outline-row";
|
|
123335
123426
|
var OUTLINE_SLIDE_ATTR = "data-pptx-outline-slide";
|
|
@@ -123385,10 +123476,13 @@ function isBulletMarker(segment) {
|
|
|
123385
123476
|
if (!bullet) {
|
|
123386
123477
|
return false;
|
|
123387
123478
|
}
|
|
123388
|
-
|
|
123389
|
-
|
|
123479
|
+
if (bullet.autoNumType) {
|
|
123480
|
+
return bullet.paragraphIndex !== void 0 && isBulletMarkerSegment(segment);
|
|
123481
|
+
}
|
|
123482
|
+
const marker = bullet.char ? `${bullet.char} ` : bullet.imageRelId || bullet.imageDataUrl ? "\u{1F4CE} " : "\u2022 ";
|
|
123483
|
+
return segment.text === marker;
|
|
123390
123484
|
}
|
|
123391
|
-
function
|
|
123485
|
+
function isParagraphSeparator2(segment) {
|
|
123392
123486
|
return Boolean(segment.isParagraphBreak) || segment.text === "\n" && !segment.isLineBreak;
|
|
123393
123487
|
}
|
|
123394
123488
|
function groupElementParagraphs(element) {
|
|
@@ -123402,7 +123496,7 @@ function groupElementParagraphs(element) {
|
|
|
123402
123496
|
}
|
|
123403
123497
|
const groups = [{ content: [] }];
|
|
123404
123498
|
for (const segment of segments) {
|
|
123405
|
-
if (
|
|
123499
|
+
if (isParagraphSeparator2(segment)) {
|
|
123406
123500
|
groups.push({ content: [] });
|
|
123407
123501
|
continue;
|
|
123408
123502
|
}
|
|
@@ -128428,78 +128522,6 @@ function rulerDragToGuidePosition(pointerOffsetPx, scale, slideLengthPx) {
|
|
|
128428
128522
|
}
|
|
128429
128523
|
return position2;
|
|
128430
128524
|
}
|
|
128431
|
-
function resolvePictureBullet(info, baseFontSize) {
|
|
128432
|
-
if (!info.imageDataUrl && !info.imageRelId && !info.imageBlipFillXml) {
|
|
128433
|
-
return void 0;
|
|
128434
|
-
}
|
|
128435
|
-
const sizePx = typeof info.sizePts === "number" ? info.sizePts : typeof info.sizePercent === "number" ? baseFontSize * (info.sizePercent / 100) : baseFontSize;
|
|
128436
|
-
return {
|
|
128437
|
-
...info.imageDataUrl ? { src: info.imageDataUrl } : {},
|
|
128438
|
-
sizePx,
|
|
128439
|
-
fallbackMarker: "\u2022",
|
|
128440
|
-
accessibleLabel: "Bullet",
|
|
128441
|
-
...info.imageRelId ? { imageRelId: info.imageRelId } : {}
|
|
128442
|
-
};
|
|
128443
|
-
}
|
|
128444
|
-
function resolveParagraphBullet(firstSegment, baseFontSize = firstSegment?.style?.fontSize ?? 16) {
|
|
128445
|
-
if (!firstSegment) {
|
|
128446
|
-
return void 0;
|
|
128447
|
-
}
|
|
128448
|
-
if (firstSegment.style?.listType === "none") {
|
|
128449
|
-
return void 0;
|
|
128450
|
-
}
|
|
128451
|
-
const info = firstSegment.bulletInfo;
|
|
128452
|
-
if (!info || info.none) {
|
|
128453
|
-
return void 0;
|
|
128454
|
-
}
|
|
128455
|
-
const color2 = info.color;
|
|
128456
|
-
const fontFamily = info.fontFamily;
|
|
128457
|
-
const sizePts = typeof info.sizePts === "number" ? info.sizePts : void 0;
|
|
128458
|
-
const sizePercent = typeof info.sizePercent === "number" ? info.sizePercent : void 0;
|
|
128459
|
-
const picture = resolvePictureBullet(info, baseFontSize);
|
|
128460
|
-
if (picture) {
|
|
128461
|
-
return {
|
|
128462
|
-
marker: picture.fallbackMarker,
|
|
128463
|
-
isNumbered: false,
|
|
128464
|
-
color: color2,
|
|
128465
|
-
fontFamily,
|
|
128466
|
-
sizePts,
|
|
128467
|
-
sizePercent,
|
|
128468
|
-
picture
|
|
128469
|
-
};
|
|
128470
|
-
}
|
|
128471
|
-
if (info.autoNumType) {
|
|
128472
|
-
const startAt = typeof info.autoNumStartAt === "number" ? info.autoNumStartAt : 1;
|
|
128473
|
-
const paraIdx = typeof info.paragraphIndex === "number" ? info.paragraphIndex : 0;
|
|
128474
|
-
const seqNum = Math.max(1, startAt + paraIdx);
|
|
128475
|
-
return {
|
|
128476
|
-
marker: formatAutoNumberMarker(info.autoNumType, seqNum),
|
|
128477
|
-
isNumbered: true,
|
|
128478
|
-
color: color2,
|
|
128479
|
-
fontFamily,
|
|
128480
|
-
sizePts,
|
|
128481
|
-
sizePercent
|
|
128482
|
-
};
|
|
128483
|
-
}
|
|
128484
|
-
if (info.char) {
|
|
128485
|
-
return { marker: info.char, isNumbered: false, color: color2, fontFamily, sizePts, sizePercent };
|
|
128486
|
-
}
|
|
128487
|
-
return void 0;
|
|
128488
|
-
}
|
|
128489
|
-
var INDENT_PX_PER_LEVEL = 18;
|
|
128490
|
-
function bulletIndentPx(level) {
|
|
128491
|
-
const lvl = typeof level === "number" && level > 0 ? level : 0;
|
|
128492
|
-
return lvl * INDENT_PX_PER_LEVEL;
|
|
128493
|
-
}
|
|
128494
|
-
function resolveParagraphIndent(paraIndent, paragraphLevel) {
|
|
128495
|
-
const marginLeft = typeof paraIndent?.marginLeft === "number" && paraIndent.marginLeft !== 0 ? paraIndent.marginLeft : void 0;
|
|
128496
|
-
const textIndent = typeof paraIndent?.indent === "number" && paraIndent.indent !== 0 ? paraIndent.indent : void 0;
|
|
128497
|
-
if (marginLeft === void 0 && textIndent === void 0) {
|
|
128498
|
-
const levelPx = bulletIndentPx(paragraphLevel);
|
|
128499
|
-
return levelPx > 0 ? { marginLeftPx: levelPx } : {};
|
|
128500
|
-
}
|
|
128501
|
-
return { marginLeftPx: marginLeft, textIndentPx: textIndent };
|
|
128502
|
-
}
|
|
128503
128525
|
var DEBOUNCE_MS = 600;
|
|
128504
128526
|
var EXPANDED_MAX_HEIGHT = 200;
|
|
128505
128527
|
var PX_TO_PT = 0.75;
|
|
@@ -133863,6 +133885,26 @@ function hasCopyableFormat(element) {
|
|
|
133863
133885
|
}
|
|
133864
133886
|
return hasShapeProperties(element) || hasTextProperties(element);
|
|
133865
133887
|
}
|
|
133888
|
+
function withoutRenderedBulletPrefix(text22, originalSegments, dedicatedMarker) {
|
|
133889
|
+
if (!dedicatedMarker) {
|
|
133890
|
+
return text22;
|
|
133891
|
+
}
|
|
133892
|
+
const resolved = resolveParagraphBullet(dedicatedMarker);
|
|
133893
|
+
if (!resolved || !text22.startsWith(resolved.marker)) {
|
|
133894
|
+
return text22;
|
|
133895
|
+
}
|
|
133896
|
+
const withoutMarker = text22.slice(resolved.marker.length);
|
|
133897
|
+
const originalContent = originalSegments.slice(1).map((segment) => segment.text).join("");
|
|
133898
|
+
if (originalContent.trim().length === 0) {
|
|
133899
|
+
return text22;
|
|
133900
|
+
}
|
|
133901
|
+
const originalLeadingSpaces = originalContent.length - originalContent.trimStart().length;
|
|
133902
|
+
const editedLeadingSpaces = withoutMarker.length - withoutMarker.trimStart().length;
|
|
133903
|
+
if (editedLeadingSpaces > originalLeadingSpaces) {
|
|
133904
|
+
return withoutMarker.slice(1);
|
|
133905
|
+
}
|
|
133906
|
+
return withoutMarker;
|
|
133907
|
+
}
|
|
133866
133908
|
function isAtomicOriginalSegment(seg) {
|
|
133867
133909
|
return seg.fieldType !== void 0 || seg.equationXml !== void 0;
|
|
133868
133910
|
}
|
|
@@ -133887,26 +133929,61 @@ function copySegmentMetadata(from, to) {
|
|
|
133887
133929
|
}
|
|
133888
133930
|
return to;
|
|
133889
133931
|
}
|
|
133932
|
+
function restoreParagraphMetadata(from, segments) {
|
|
133933
|
+
if (segments.length === 0) {
|
|
133934
|
+
return segments;
|
|
133935
|
+
}
|
|
133936
|
+
const [first, ...rest] = segments;
|
|
133937
|
+
const restored = { ...first };
|
|
133938
|
+
delete restored.paragraphLevel;
|
|
133939
|
+
delete restored.paragraphProperties;
|
|
133940
|
+
delete restored.endParaRunProperties;
|
|
133941
|
+
if (from?.paragraphLevel !== void 0) {
|
|
133942
|
+
restored.paragraphLevel = from.paragraphLevel;
|
|
133943
|
+
}
|
|
133944
|
+
if (from?.paragraphProperties !== void 0) {
|
|
133945
|
+
restored.paragraphProperties = from.paragraphProperties;
|
|
133946
|
+
}
|
|
133947
|
+
if (from?.endParaRunProperties !== void 0) {
|
|
133948
|
+
restored.endParaRunProperties = from.endParaRunProperties;
|
|
133949
|
+
}
|
|
133950
|
+
return [restored, ...rest];
|
|
133951
|
+
}
|
|
133890
133952
|
function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
133891
133953
|
const fallbackStyle = { ...elementTextStyle };
|
|
133892
133954
|
if (!originalSegments || originalSegments.length === 0) {
|
|
133893
133955
|
return [{ text: newText, style: fallbackStyle }];
|
|
133894
133956
|
}
|
|
133895
|
-
const originalParagraphs = [
|
|
133957
|
+
const originalParagraphs = [
|
|
133958
|
+
{ segments: [] }
|
|
133959
|
+
];
|
|
133896
133960
|
for (const seg of originalSegments) {
|
|
133897
133961
|
if (seg.text === "\n" || seg.isParagraphBreak) {
|
|
133898
|
-
originalParagraphs.
|
|
133962
|
+
originalParagraphs[originalParagraphs.length - 1].terminator = seg;
|
|
133963
|
+
originalParagraphs.push({ segments: [] });
|
|
133899
133964
|
} else {
|
|
133900
|
-
originalParagraphs[originalParagraphs.length - 1].push(seg);
|
|
133965
|
+
originalParagraphs[originalParagraphs.length - 1].segments.push(seg);
|
|
133901
133966
|
}
|
|
133902
133967
|
}
|
|
133903
133968
|
const newParagraphTexts = newText.split("\n");
|
|
133904
|
-
const firstContentSeg = originalParagraphs.
|
|
133969
|
+
const firstContentSeg = originalParagraphs.flatMap((paragraph) => paragraph.segments).find((s) => s.text.trim().length > 0);
|
|
133905
133970
|
const baseFallbackStyle = firstContentSeg?.style ? { ...firstContentSeg.style } : fallbackStyle;
|
|
133906
133971
|
function remapParagraph(paraNewText, paraOrigSegments) {
|
|
133907
133972
|
if (paraOrigSegments.length === 0) {
|
|
133908
133973
|
return paraNewText.length > 0 ? [{ text: paraNewText, style: { ...baseFallbackStyle } }] : [{ text: "", style: { ...baseFallbackStyle } }];
|
|
133909
133974
|
}
|
|
133975
|
+
const firstSegment = paraOrigSegments[0];
|
|
133976
|
+
const dedicatedMarker = isBulletMarkerSegment(firstSegment) && (!firstSegment.bulletInfo?.autoNumType || firstSegment.bulletInfo.paragraphIndex !== void 0) ? firstSegment : void 0;
|
|
133977
|
+
if (dedicatedMarker) {
|
|
133978
|
+
const contentSegments = paraOrigSegments.slice(1);
|
|
133979
|
+
const contentText = withoutRenderedBulletPrefix(
|
|
133980
|
+
paraNewText,
|
|
133981
|
+
paraOrigSegments,
|
|
133982
|
+
dedicatedMarker
|
|
133983
|
+
);
|
|
133984
|
+
const content = contentSegments.length > 0 ? remapParagraph(contentText, contentSegments) : [{ text: contentText, style: { ...dedicatedMarker.style } }];
|
|
133985
|
+
return [dedicatedMarker, ...content];
|
|
133986
|
+
}
|
|
133910
133987
|
const paragraphBulletInfo = paraOrigSegments[0].bulletInfo;
|
|
133911
133988
|
if (paraNewText.length === 0) {
|
|
133912
133989
|
const emptyStyle = { ...paraOrigSegments[0].style };
|
|
@@ -133976,15 +134053,19 @@ function remapTextToSegments(newText, originalSegments, elementTextStyle) {
|
|
|
133976
134053
|
return remapped;
|
|
133977
134054
|
}
|
|
133978
134055
|
const output = [];
|
|
133979
|
-
const lastOrigPara = originalParagraphs[originalParagraphs.length - 1];
|
|
134056
|
+
const lastOrigPara = originalParagraphs[originalParagraphs.length - 1]?.segments;
|
|
133980
134057
|
for (let pi = 0; pi < newParagraphTexts.length; pi++) {
|
|
133981
134058
|
if (pi > 0) {
|
|
133982
|
-
const precedingOrigPara = originalParagraphs[pi - 1] ?? [];
|
|
134059
|
+
const precedingOrigPara = originalParagraphs[pi - 1]?.segments ?? [];
|
|
133983
134060
|
const breakStyle = precedingOrigPara[0]?.style ? { ...precedingOrigPara[0].style } : { ...baseFallbackStyle };
|
|
133984
134061
|
output.push({ text: "\n", style: breakStyle, isParagraphBreak: true });
|
|
133985
134062
|
}
|
|
133986
|
-
const
|
|
133987
|
-
const
|
|
134063
|
+
const originalParagraph = originalParagraphs[pi];
|
|
134064
|
+
const origPara = originalParagraph?.segments ?? lastOrigPara ?? [];
|
|
134065
|
+
const paraSegments = restoreParagraphMetadata(
|
|
134066
|
+
originalParagraph?.segments[0] ?? originalParagraph?.terminator,
|
|
134067
|
+
remapParagraph(newParagraphTexts[pi], origPara)
|
|
134068
|
+
);
|
|
133988
134069
|
output.push(...paraSegments);
|
|
133989
134070
|
}
|
|
133990
134071
|
return output.length > 0 ? output : [{ text: "", style: { ...baseFallbackStyle } }];
|
|
@@ -152322,6 +152403,34 @@ function updateElement(slides, slideIndex, elementId, updates) {
|
|
|
152322
152403
|
)
|
|
152323
152404
|
);
|
|
152324
152405
|
}
|
|
152406
|
+
function readEditableText(root) {
|
|
152407
|
+
let out = "";
|
|
152408
|
+
const walk2 = (node) => {
|
|
152409
|
+
for (const child27 of Array.from(node.childNodes)) {
|
|
152410
|
+
if (child27.nodeType === 3) {
|
|
152411
|
+
out += child27.nodeValue ?? "";
|
|
152412
|
+
continue;
|
|
152413
|
+
}
|
|
152414
|
+
if (!(child27 instanceof HTMLElement)) {
|
|
152415
|
+
continue;
|
|
152416
|
+
}
|
|
152417
|
+
if (child27.hasAttribute("data-pptx-bullet-marker")) {
|
|
152418
|
+
continue;
|
|
152419
|
+
}
|
|
152420
|
+
if (child27.tagName === "BR") {
|
|
152421
|
+
out += "\n";
|
|
152422
|
+
continue;
|
|
152423
|
+
}
|
|
152424
|
+
const isBlock = child27.tagName === "DIV" || child27.tagName === "P";
|
|
152425
|
+
if (isBlock && out.length > 0 && !out.endsWith("\n")) {
|
|
152426
|
+
out += "\n";
|
|
152427
|
+
}
|
|
152428
|
+
walk2(child27);
|
|
152429
|
+
}
|
|
152430
|
+
};
|
|
152431
|
+
walk2(root);
|
|
152432
|
+
return out;
|
|
152433
|
+
}
|
|
152325
152434
|
var STROKE_DASH_OPTIONS = [
|
|
152326
152435
|
{ value: "solid", label: "Solid", i18nKey: "pptx.stroke.dashSolid" },
|
|
152327
152436
|
{ value: "dot", label: "Dot", i18nKey: "pptx.stroke.dashDot" },
|
|
@@ -155211,6 +155320,7 @@ exports.radarStylePatch = radarStylePatch;
|
|
|
155211
155320
|
exports.reResolveElementColors = reResolveElementColors;
|
|
155212
155321
|
exports.reResolveSlideColors = reResolveSlideColors;
|
|
155213
155322
|
exports.readBackstageRecentFile = readBackstageRecentFile;
|
|
155323
|
+
exports.readEditableText = readEditableText;
|
|
155214
155324
|
exports.readOnlyRecommendation = readOnlyRecommendation;
|
|
155215
155325
|
exports.readRibbonTransitionDraft = readRibbonTransitionDraft;
|
|
155216
155326
|
exports.readSlideShowOption = readSlideShowOption;
|
|
Binary file
|
|
Binary file
|