@aixa-transformation/pptx-viewer 2.0.27 → 2.0.29
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/dist/{Model3DScene-VK4AKXGO.js → Model3DScene-7PC3BTGV.js} +3 -3
- package/dist/{Model3DScene-QPOSBRM4.mjs → Model3DScene-OOLYRN3I.mjs} +2 -2
- package/dist/{SurfaceChart3DScene-LBHZDSGV.js → SurfaceChart3DScene-NKUQTDRP.js} +3 -3
- package/dist/{SurfaceChart3DScene-GIAS6HZ7.mjs → SurfaceChart3DScene-ZZYDRV5N.mjs} +2 -2
- package/dist/{chunk-Z7ZISSMC.js → chunk-E4API7OH.js} +870 -837
- package/dist/{chunk-LTBO2ZJC.mjs → chunk-JJ5MVLCK.mjs} +127 -104
- package/dist/{chunk-KWR2VRGW.mjs → chunk-LGPN7YBY.mjs} +48 -15
- package/dist/{chunk-HUD73YBT.js → chunk-N7OHVHBS.js} +127 -104
- package/dist/{chunk-2GATFIDB.js → chunk-OGINKMSL.js} +541 -487
- package/dist/{chunk-3VKZ7ZNY.mjs → chunk-TYXOHBKR.mjs} +64 -10
- package/dist/{chunk-DHNQHQ66.js → chunk-XCLYIGHM.js} +41 -41
- package/dist/{chunk-45A3IISI.mjs → chunk-YVQPLQ3C.mjs} +1 -1
- package/dist/{dist-L2EUDG6W.js → dist-72WLGYVZ.js} +568 -568
- package/dist/{dist-DPZ5B7L7.mjs → dist-RTG3TU65.mjs} +1 -1
- package/dist/index.js +34 -34
- package/dist/index.mjs +4 -4
- package/dist/internals.js +78 -78
- package/dist/internals.mjs +3 -3
- package/dist/presentation.js +2 -2
- package/dist/presentation.mjs +1 -1
- package/dist/viewer/index.js +20 -20
- package/dist/viewer/index.mjs +4 -4
- package/package.json +1 -1
|
@@ -10184,6 +10184,9 @@ function drawingChild(node, requestedName) {
|
|
|
10184
10184
|
continue;
|
|
10185
10185
|
}
|
|
10186
10186
|
const child20 = Array.isArray(value) ? value[0] : value;
|
|
10187
|
+
if (child20 === "" || child20 === null || child20 === void 0) {
|
|
10188
|
+
return {};
|
|
10189
|
+
}
|
|
10187
10190
|
if (child20 && typeof child20 === "object" && !Array.isArray(child20)) {
|
|
10188
10191
|
return child20;
|
|
10189
10192
|
}
|
|
@@ -12561,6 +12564,13 @@ var PptxShapeStyleExtractor = class {
|
|
|
12561
12564
|
if (earlyReturn) {
|
|
12562
12565
|
return style;
|
|
12563
12566
|
}
|
|
12567
|
+
if (!style.strokeColor && styleNode?.["a:lnRef"]) {
|
|
12568
|
+
const explicitWidth = style.strokeWidth;
|
|
12569
|
+
this.context.resolveThemeLineRef(styleNode["a:lnRef"], style);
|
|
12570
|
+
if (explicitWidth !== void 0) {
|
|
12571
|
+
style.strokeWidth = explicitWidth;
|
|
12572
|
+
}
|
|
12573
|
+
}
|
|
12564
12574
|
} else if (styleNode?.["a:lnRef"]) {
|
|
12565
12575
|
this.context.resolveThemeLineRef(styleNode["a:lnRef"], style);
|
|
12566
12576
|
}
|
|
@@ -13543,6 +13553,20 @@ function ensureArrayLike(value) {
|
|
|
13543
13553
|
}
|
|
13544
13554
|
return Array.isArray(value) ? value : [value];
|
|
13545
13555
|
}
|
|
13556
|
+
function readPositiveInteger(value) {
|
|
13557
|
+
const parsed = Number.parseInt(String(value ?? ""), 10);
|
|
13558
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : 0;
|
|
13559
|
+
}
|
|
13560
|
+
function getTableGridExtent(graphicData) {
|
|
13561
|
+
const table = graphicData?.["a:tbl"];
|
|
13562
|
+
if (!table) {
|
|
13563
|
+
return void 0;
|
|
13564
|
+
}
|
|
13565
|
+
const grid = table["a:tblGrid"];
|
|
13566
|
+
const widthEmu = ensureArrayLike(grid?.["a:gridCol"]).reduce((sum, column) => sum + readPositiveInteger(column?.["@_w"]), 0);
|
|
13567
|
+
const heightEmu = ensureArrayLike(table["a:tr"]).reduce((sum, row) => sum + readPositiveInteger(row?.["@_h"]), 0);
|
|
13568
|
+
return widthEmu > 0 && heightEmu > 0 ? { widthEmu, heightEmu } : void 0;
|
|
13569
|
+
}
|
|
13546
13570
|
function collectGraphicFrameExtensions(graphicData) {
|
|
13547
13571
|
if (!graphicData) {
|
|
13548
13572
|
return [];
|
|
@@ -13758,8 +13782,13 @@ var PptxGraphicFrameParser = class {
|
|
|
13758
13782
|
const extensionXml = collectGraphicFrameExtensions(graphicData);
|
|
13759
13783
|
if (type === "table" && graphicData) {
|
|
13760
13784
|
const tableData = this.context.parseTableData(graphicData);
|
|
13785
|
+
const tableGridExtent = getTableGridExtent(graphicData);
|
|
13761
13786
|
return {
|
|
13762
13787
|
...baseElement,
|
|
13788
|
+
...tableGridExtent ? {
|
|
13789
|
+
width: Math.round(tableGridExtent.widthEmu / this.context.emuPerPx),
|
|
13790
|
+
height: Math.round(tableGridExtent.heightEmu / this.context.emuPerPx)
|
|
13791
|
+
} : {},
|
|
13763
13792
|
tableData,
|
|
13764
13793
|
...extensionXml.length > 0 ? { extensionXml } : {}
|
|
13765
13794
|
};
|
|
@@ -36840,6 +36869,12 @@ function parseAlignmentAttr2(algn) {
|
|
|
36840
36869
|
}
|
|
36841
36870
|
return ALIGN_MAP[algn] || void 0;
|
|
36842
36871
|
}
|
|
36872
|
+
function resolveParagraphAlignment(authoredAlignment, placeholderAlignment, paragraphRtl) {
|
|
36873
|
+
if (authoredAlignment !== void 0 && authoredAlignment !== null) {
|
|
36874
|
+
return parseAlignmentAttr2(String(authoredAlignment)) ?? "left";
|
|
36875
|
+
}
|
|
36876
|
+
return placeholderAlignment ?? (paragraphRtl ? "right" : "left");
|
|
36877
|
+
}
|
|
36843
36878
|
function parseParagraphSpacingPx(spacingNode) {
|
|
36844
36879
|
if (!spacingNode) {
|
|
36845
36880
|
return void 0;
|
|
@@ -58166,7 +58201,7 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58166
58201
|
* Extract all placeholders from a layout's `p:spTree`, returning
|
|
58167
58202
|
* their placeholder info and their transform (position/size in EMU).
|
|
58168
58203
|
*/
|
|
58169
|
-
extractLayoutPlaceholders(layoutXml) {
|
|
58204
|
+
extractLayoutPlaceholders(layoutXml, layoutPath) {
|
|
58170
58205
|
const spTree = xmlPath(layoutXml, "p:sldLayout", "p:cSld", "p:spTree");
|
|
58171
58206
|
if (!spTree) {
|
|
58172
58207
|
return [];
|
|
@@ -58183,7 +58218,14 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58183
58218
|
if (!phInfo) {
|
|
58184
58219
|
continue;
|
|
58185
58220
|
}
|
|
58186
|
-
const
|
|
58221
|
+
const masterPath = layoutPath ? this.resolveMasterPathForLayout(layoutPath) : void 0;
|
|
58222
|
+
const masterContext = masterPath ? this.findPlaceholderInShapeTree(
|
|
58223
|
+
xmlPath(this.masterXmlMap.get(masterPath), "p:sldMaster", "p:cSld", "p:spTree"),
|
|
58224
|
+
phInfo
|
|
58225
|
+
) : void 0;
|
|
58226
|
+
const inheritedShape = masterContext?.shape ?? masterContext?.picture;
|
|
58227
|
+
const resolvedShape = inheritedShape ? this.mergeXmlObjects(inheritedShape, shape) ?? shape : shape;
|
|
58228
|
+
const spPr = resolvedShape["p:spPr"];
|
|
58187
58229
|
const xfrm = spPr?.["a:xfrm"];
|
|
58188
58230
|
const off = xfrm?.["a:off"];
|
|
58189
58231
|
const ext = xfrm?.["a:ext"];
|
|
@@ -58191,7 +58233,7 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58191
58233
|
const yEmu = off ? Number(off["@_y"] || 0) : 0;
|
|
58192
58234
|
const cxEmu = ext ? Number(ext["@_cx"] || 0) : 0;
|
|
58193
58235
|
const cyEmu = ext ? Number(ext["@_cy"] || 0) : 0;
|
|
58194
|
-
result.push({ phInfo, xEmu, yEmu, cxEmu, cyEmu, shapeXml:
|
|
58236
|
+
result.push({ phInfo, xEmu, yEmu, cxEmu, cyEmu, shapeXml: resolvedShape });
|
|
58195
58237
|
}
|
|
58196
58238
|
return result;
|
|
58197
58239
|
}
|
|
@@ -58262,16 +58304,31 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58262
58304
|
* @returns The updated elements array.
|
|
58263
58305
|
*/
|
|
58264
58306
|
remapElementsToNewLayout(elements2, newLayoutXml, newLayoutPath) {
|
|
58265
|
-
const layoutPlaceholders = this.extractLayoutPlaceholders(newLayoutXml);
|
|
58307
|
+
const layoutPlaceholders = this.extractLayoutPlaceholders(newLayoutXml, newLayoutPath);
|
|
58266
58308
|
const targetPlaceholders = [];
|
|
58267
58309
|
for (const lp of layoutPlaceholders) {
|
|
58268
58310
|
targetPlaceholders.push({ ...lp, matched: false });
|
|
58269
58311
|
}
|
|
58270
58312
|
const resultElements = [];
|
|
58271
58313
|
for (const element of elements2) {
|
|
58272
|
-
const
|
|
58314
|
+
const metadata = element;
|
|
58315
|
+
if (metadata._layoutSwitchGenerated) continue;
|
|
58316
|
+
const original = metadata._layoutSwitchOriginal ?? element;
|
|
58317
|
+
const originalPhInfo = this.getElementPlaceholderInfo(original);
|
|
58318
|
+
const baseElement = {
|
|
58319
|
+
// Keep all current content and styling edits. Only placeholder geometry
|
|
58320
|
+
// and identity come from the canonical pre-switch element.
|
|
58321
|
+
...element,
|
|
58322
|
+
...originalPhInfo ? { x: original.x, y: original.y, width: original.width, height: original.height } : {},
|
|
58323
|
+
rawXml: element.rawXml ? cloneXmlObject(element.rawXml) : element.rawXml
|
|
58324
|
+
};
|
|
58325
|
+
baseElement._layoutSwitchOriginal = metadata._layoutSwitchOriginal ?? {
|
|
58326
|
+
...element,
|
|
58327
|
+
rawXml: element.rawXml ? cloneXmlObject(element.rawXml) : element.rawXml
|
|
58328
|
+
};
|
|
58329
|
+
const phInfo = originalPhInfo ?? this.getElementPlaceholderInfo(baseElement);
|
|
58273
58330
|
if (!phInfo) {
|
|
58274
|
-
resultElements.push(
|
|
58331
|
+
resultElements.push(baseElement);
|
|
58275
58332
|
continue;
|
|
58276
58333
|
}
|
|
58277
58334
|
let resolvedLayoutPh;
|
|
@@ -58287,8 +58344,8 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58287
58344
|
if (resolvedLayoutPh) {
|
|
58288
58345
|
resolvedLayoutPh.matched = true;
|
|
58289
58346
|
const updatedElement = {
|
|
58290
|
-
...
|
|
58291
|
-
rawXml:
|
|
58347
|
+
...baseElement,
|
|
58348
|
+
rawXml: baseElement.rawXml ? cloneXmlObject(baseElement.rawXml) : baseElement.rawXml
|
|
58292
58349
|
};
|
|
58293
58350
|
if (resolvedLayoutPh.cxEmu > 0 && resolvedLayoutPh.cyEmu > 0) {
|
|
58294
58351
|
updatedElement.x = Math.round(resolvedLayoutPh.xEmu / EMU_PER_PX);
|
|
@@ -58310,7 +58367,7 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58310
58367
|
}
|
|
58311
58368
|
resultElements.push(updatedElement);
|
|
58312
58369
|
} else {
|
|
58313
|
-
resultElements.push(
|
|
58370
|
+
resultElements.push(baseElement);
|
|
58314
58371
|
}
|
|
58315
58372
|
}
|
|
58316
58373
|
for (const lp of targetPlaceholders) {
|
|
@@ -58436,6 +58493,7 @@ var PptxHandlerRuntime21 = class extends PptxHandlerRuntime20 {
|
|
|
58436
58493
|
text: "",
|
|
58437
58494
|
rawXml
|
|
58438
58495
|
};
|
|
58496
|
+
element._layoutSwitchGenerated = true;
|
|
58439
58497
|
return element;
|
|
58440
58498
|
}
|
|
58441
58499
|
};
|
|
@@ -67352,6 +67410,10 @@ var PptxHandlerRuntime52 = class _PptxHandlerRuntime19 extends PptxHandlerRuntim
|
|
|
67352
67410
|
if (sourceIdx !== targetIdx) {
|
|
67353
67411
|
return false;
|
|
67354
67412
|
}
|
|
67413
|
+
const specialTypes = /* @__PURE__ */ new Set(["dt", "ftr", "hdr", "sldnum"]);
|
|
67414
|
+
if (source.type === void 0 && target.type !== void 0 && specialTypes.has(target.type) || target.type === void 0 && source.type !== void 0 && specialTypes.has(source.type)) {
|
|
67415
|
+
return false;
|
|
67416
|
+
}
|
|
67355
67417
|
if (source.type && target.type && !typesMatch) {
|
|
67356
67418
|
return false;
|
|
67357
67419
|
}
|
|
@@ -69115,19 +69177,15 @@ var PptxHandlerRuntime62 = class _PptxHandlerRuntime26 extends PptxHandlerRuntim
|
|
|
69115
69177
|
if (paragraphRtl !== void 0 && textStyle.rtl === void 0) {
|
|
69116
69178
|
textStyle.rtl = paragraphRtl;
|
|
69117
69179
|
}
|
|
69118
|
-
|
|
69180
|
+
const level = pPr?.["@_lvl"] === void 0 ? -1 : Number.parseInt(String(pPr["@_lvl"]), 10);
|
|
69181
|
+
const normalizedLevel = level === -1 ? -1 : Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
|
|
69182
|
+
const placeholderLevelStyle = ctx.effectiveLevelStyles ? ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1] ?? (normalizedLevel === -1 ? ctx.effectiveLevelStyles[0] : void 0) : void 0;
|
|
69183
|
+
const paraAlign = resolveParagraphAlignment(
|
|
69184
|
+
pPr?.["@_algn"],
|
|
69185
|
+
placeholderLevelStyle?.alignment,
|
|
69186
|
+
paragraphRtl
|
|
69187
|
+
);
|
|
69119
69188
|
if (pPr?.["@_algn"]) {
|
|
69120
|
-
const alignMap = {
|
|
69121
|
-
l: "left",
|
|
69122
|
-
ctr: "center",
|
|
69123
|
-
r: "right",
|
|
69124
|
-
just: "justify",
|
|
69125
|
-
justify: "justify",
|
|
69126
|
-
justLow: "justLow",
|
|
69127
|
-
dist: "dist",
|
|
69128
|
-
thaiDist: "thaiDist"
|
|
69129
|
-
};
|
|
69130
|
-
paraAlign = alignMap[pPr["@_algn"]] || "left";
|
|
69131
69189
|
if (!textStyle.align) {
|
|
69132
69190
|
textStyle.align = paraAlign;
|
|
69133
69191
|
}
|
|
@@ -69234,7 +69292,6 @@ var PptxHandlerRuntime62 = class _PptxHandlerRuntime26 extends PptxHandlerRuntim
|
|
|
69234
69292
|
ctx.slideRelationshipMap,
|
|
69235
69293
|
false
|
|
69236
69294
|
);
|
|
69237
|
-
const level = pPr?.["@_lvl"] === void 0 ? -1 : Number.parseInt(String(pPr["@_lvl"]), 10);
|
|
69238
69295
|
const levelKey = level === -1 ? "a:defPPr" : `a:lvl${Number.isFinite(level) ? Math.min(Math.max(level + 1, 1), 9) : 1}pPr`;
|
|
69239
69296
|
const inheritedLevelStyle = this.extractTextRunStyle(
|
|
69240
69297
|
ctx.inheritedTxBody?.["a:lstStyle"]?.[levelKey]?.["a:defRPr"],
|
|
@@ -69261,31 +69318,20 @@ var PptxHandlerRuntime62 = class _PptxHandlerRuntime26 extends PptxHandlerRuntim
|
|
|
69261
69318
|
...endParagraphStyle,
|
|
69262
69319
|
...defaultRunStyle
|
|
69263
69320
|
};
|
|
69264
|
-
if (
|
|
69265
|
-
|
|
69266
|
-
|
|
69267
|
-
if (phLevel) {
|
|
69268
|
-
this.applyPlaceholderLevelDefaults(mergedDefaultRunStyle, phLevel);
|
|
69269
|
-
this.applyPlaceholderLevelDefaults(textStyle, phLevel);
|
|
69270
|
-
}
|
|
69271
|
-
}
|
|
69272
|
-
if (pPr?.["@_algn"] === void 0 && textStyle.align !== void 0) {
|
|
69273
|
-
paraAlign = textStyle.align;
|
|
69321
|
+
if (placeholderLevelStyle) {
|
|
69322
|
+
this.applyPlaceholderLevelDefaults(mergedDefaultRunStyle, placeholderLevelStyle);
|
|
69323
|
+
this.applyPlaceholderLevelDefaults(textStyle, placeholderLevelStyle);
|
|
69274
69324
|
}
|
|
69275
69325
|
const parMarginLeft = pPr?.["@_marL"] !== void 0 ? Number.parseInt(String(pPr["@_marL"]), 10) / _PptxHandlerRuntime26.EMU_PER_PX : void 0;
|
|
69276
69326
|
const parIndent = pPr?.["@_indent"] !== void 0 ? Number.parseInt(String(pPr["@_indent"]), 10) / _PptxHandlerRuntime26.EMU_PER_PX : void 0;
|
|
69277
69327
|
let effectiveMarginLeft = parMarginLeft;
|
|
69278
69328
|
let effectiveIndent = parIndent;
|
|
69279
|
-
if (
|
|
69280
|
-
|
|
69281
|
-
|
|
69282
|
-
|
|
69283
|
-
|
|
69284
|
-
|
|
69285
|
-
}
|
|
69286
|
-
if (effectiveIndent === void 0 && phLevel.indent !== void 0) {
|
|
69287
|
-
effectiveIndent = phLevel.indent;
|
|
69288
|
-
}
|
|
69329
|
+
if (placeholderLevelStyle) {
|
|
69330
|
+
if (effectiveMarginLeft === void 0 && placeholderLevelStyle.marginLeft !== void 0) {
|
|
69331
|
+
effectiveMarginLeft = placeholderLevelStyle.marginLeft;
|
|
69332
|
+
}
|
|
69333
|
+
if (effectiveIndent === void 0 && placeholderLevelStyle.indent !== void 0) {
|
|
69334
|
+
effectiveIndent = placeholderLevelStyle.indent;
|
|
69289
69335
|
}
|
|
69290
69336
|
}
|
|
69291
69337
|
return {
|
|
@@ -69478,72 +69524,49 @@ var PptxHandlerRuntime63 = class extends PptxHandlerRuntime62 {
|
|
|
69478
69524
|
"mc:AlternateContent",
|
|
69479
69525
|
"a:br"
|
|
69480
69526
|
]);
|
|
69481
|
-
const
|
|
69482
|
-
const paragraphBreaks = this.ensureArray(p["a:br"]);
|
|
69483
|
-
const hasCollapsedRunBreakOrder = paragraphRuns.length > 1 && paragraphBreaks.length > 0;
|
|
69484
|
-
for (const key of Object.keys(p)) {
|
|
69527
|
+
for (const [key, item] of orderedSmartArtTextEntries(p)) {
|
|
69485
69528
|
if (!contentTagSet.has(key)) {
|
|
69486
69529
|
continue;
|
|
69487
69530
|
}
|
|
69488
|
-
|
|
69489
|
-
|
|
69490
|
-
|
|
69491
|
-
|
|
69492
|
-
|
|
69493
|
-
|
|
69494
|
-
|
|
69495
|
-
|
|
69496
|
-
|
|
69497
|
-
|
|
69498
|
-
|
|
69499
|
-
|
|
69500
|
-
|
|
69501
|
-
|
|
69502
|
-
|
|
69503
|
-
|
|
69504
|
-
|
|
69505
|
-
|
|
69506
|
-
|
|
69507
|
-
|
|
69508
|
-
|
|
69509
|
-
|
|
69510
|
-
|
|
69511
|
-
|
|
69512
|
-
|
|
69513
|
-
|
|
69514
|
-
|
|
69515
|
-
|
|
69516
|
-
|
|
69517
|
-
|
|
69518
|
-
|
|
69519
|
-
|
|
69520
|
-
|
|
69521
|
-
|
|
69522
|
-
|
|
69523
|
-
|
|
69524
|
-
break;
|
|
69525
|
-
case "a:br": {
|
|
69526
|
-
if (hasCollapsedRunBreakOrder) {
|
|
69527
|
-
break;
|
|
69528
|
-
}
|
|
69529
|
-
const brNode = item ?? {};
|
|
69530
|
-
const brRunProps = brNode["a:rPr"];
|
|
69531
|
-
const brStyle = {
|
|
69532
|
-
...mergedDefaultRunStyle,
|
|
69533
|
-
...this.extractTextRunStyle(brRunProps, paraAlign, ctx.slideRelationshipMap)
|
|
69534
|
-
};
|
|
69535
|
-
parts.push("\n");
|
|
69536
|
-
const brSegment = {
|
|
69537
|
-
text: "\n",
|
|
69538
|
-
style: brStyle,
|
|
69539
|
-
isLineBreak: true
|
|
69540
|
-
};
|
|
69541
|
-
if (brRunProps && typeof brRunProps === "object") {
|
|
69542
|
-
brSegment.breakRunProperties = { ...brRunProps };
|
|
69543
|
-
}
|
|
69544
|
-
segments.push(brSegment);
|
|
69545
|
-
break;
|
|
69531
|
+
switch (key) {
|
|
69532
|
+
case "a:r": {
|
|
69533
|
+
processRun(item);
|
|
69534
|
+
break;
|
|
69535
|
+
}
|
|
69536
|
+
case "a:fld":
|
|
69537
|
+
processField(item);
|
|
69538
|
+
break;
|
|
69539
|
+
case "a:t": {
|
|
69540
|
+
const directText2 = typeof item === "string" ? item : item !== void 0 ? String(item) : "";
|
|
69541
|
+
appendRun(directText2, p["a:rPr"]);
|
|
69542
|
+
break;
|
|
69543
|
+
}
|
|
69544
|
+
case "a14:m":
|
|
69545
|
+
case "m:oMathPara":
|
|
69546
|
+
case "m:oMath":
|
|
69547
|
+
processMathElement(item);
|
|
69548
|
+
break;
|
|
69549
|
+
case "mc:AlternateContent":
|
|
69550
|
+
processAlternateContent(item);
|
|
69551
|
+
break;
|
|
69552
|
+
case "a:br": {
|
|
69553
|
+
const brNode = item ?? {};
|
|
69554
|
+
const brRunProps = brNode["a:rPr"];
|
|
69555
|
+
const brStyle = {
|
|
69556
|
+
...mergedDefaultRunStyle,
|
|
69557
|
+
...this.extractTextRunStyle(brRunProps, paraAlign, ctx.slideRelationshipMap)
|
|
69558
|
+
};
|
|
69559
|
+
parts.push("\n");
|
|
69560
|
+
const brSegment = {
|
|
69561
|
+
text: "\n",
|
|
69562
|
+
style: brStyle,
|
|
69563
|
+
isLineBreak: true
|
|
69564
|
+
};
|
|
69565
|
+
if (brRunProps && typeof brRunProps === "object") {
|
|
69566
|
+
brSegment.breakRunProperties = { ...brRunProps };
|
|
69546
69567
|
}
|
|
69568
|
+
segments.push(brSegment);
|
|
69569
|
+
break;
|
|
69547
69570
|
}
|
|
69548
69571
|
}
|
|
69549
69572
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker,
|
|
2
|
-
import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, createBackstagePresentation, buildCssGradientFromShapeStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getGroupChildParentFill, revealedSmartArtNodeCount, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, resolveGroupChildFill, shouldUseSvgWarp, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, withFrameSlides, withSlidesPerPage, 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-
|
|
1
|
+
import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useFollowMode, useBroadcastFollower, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, MIN_ELEMENT_SIZE, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, contrastingTextColor, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, truncate, gearPath, resolveSmartArtDataPalette, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-TYXOHBKR.mjs';
|
|
2
|
+
import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, createBackstagePresentation, buildCssGradientFromShapeStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getGroupChildParentFill, revealedSmartArtNodeCount, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, resolveGroupChildFill, shouldUseSvgWarp, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, withFrameSlides, withSlidesPerPage, 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-YVQPLQ3C.mjs';
|
|
3
3
|
import { LOCALE_CATALOG, translationsEn } from './chunk-2X72MOPZ.mjs';
|
|
4
|
-
import { hasShapeProperties, hasTextProperties, isInkElement, SWITCHABLE_LAYOUT_TYPES, isImageLikeElement, getLinkedTextBoxSegments, getSubstituteFontFamily, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-
|
|
4
|
+
import { hasShapeProperties, hasTextProperties, isInkElement, SWITCHABLE_LAYOUT_TYPES, isImageLikeElement, getLinkedTextBoxSegments, getSubstituteFontFamily, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-JJ5MVLCK.mjs';
|
|
5
5
|
import React18, { createContext, useMemo, useState, useCallback, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, useDeferredValue } from 'react';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
@@ -1335,7 +1335,7 @@ function AccountPage() {
|
|
|
1335
1335
|
return void 0;
|
|
1336
1336
|
});
|
|
1337
1337
|
};
|
|
1338
|
-
const version = "2.0.
|
|
1338
|
+
const version = "2.0.29" ;
|
|
1339
1339
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1340
1340
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
1341
1341
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -2617,8 +2617,14 @@ var ConnectorElementRenderer = React18.memo(
|
|
|
2617
2617
|
style: {
|
|
2618
2618
|
left: el.x,
|
|
2619
2619
|
top: el.y,
|
|
2620
|
-
|
|
2621
|
-
|
|
2620
|
+
// Do not apply the editor's minimum resize-box size to the visual
|
|
2621
|
+
// connector canvas. A horizontal OOXML connector commonly has a
|
|
2622
|
+
// zero (or sub-pixel) height; expanding that canvas to 12px changes
|
|
2623
|
+
// the SVG aspect ratio and makes a straight PowerPoint line appear
|
|
2624
|
+
// diagonal and displaced. The transparent SVG stroke below already
|
|
2625
|
+
// provides a comfortably large interaction target.
|
|
2626
|
+
width: viewWidth,
|
|
2627
|
+
height: viewHeight,
|
|
2622
2628
|
transform: getElementTransform(el),
|
|
2623
2629
|
transformOrigin: "center",
|
|
2624
2630
|
background: "transparent",
|
|
@@ -2883,7 +2889,8 @@ function getContainerStyle({
|
|
|
2883
2889
|
const blurGrowVisible = Boolean(
|
|
2884
2890
|
ss?.blurGrow && typeof ss.blurRadius === "number" && ss.blurRadius > 0
|
|
2885
2891
|
);
|
|
2886
|
-
const overflowValue = has3DExtrusion || blurGrowVisible ? "visible" : isImg ? "hidden" : void 0;
|
|
2892
|
+
const overflowValue = el.type === "table" || has3DExtrusion || blurGrowVisible ? "visible" : isImg ? "hidden" : void 0;
|
|
2893
|
+
const allowsUnclippedTextOverflow = hasTextProperties(el) && el.textStyle?.autoFitMode === "none" && el.textStyle?.vertOverflow !== "clip" && (!("shapeType" in el) || el.shapeType === void 0 || el.shapeType === "rect");
|
|
2887
2894
|
return {
|
|
2888
2895
|
left: isFullscreenMedia ? 0 : el.x,
|
|
2889
2896
|
top: isFullscreenMedia ? 0 : el.y,
|
|
@@ -2901,6 +2908,10 @@ function getContainerStyle({
|
|
|
2901
2908
|
transition: isFullscreenMedia ? "left 0.3s ease, top 0.3s ease, width 0.3s ease, height 0.3s ease" : void 0,
|
|
2902
2909
|
borderColor: isFullscreenMedia ? "transparent" : void 0,
|
|
2903
2910
|
...shapeVisualStyle,
|
|
2911
|
+
// A rectangle clip-path is useful for painted shapes, but it must not
|
|
2912
|
+
// clip a:noAutofit text. PowerPoint allows that text to continue beyond
|
|
2913
|
+
// the placeholder boundary when vertOverflow is not `clip`.
|
|
2914
|
+
...allowsUnclippedTextOverflow ? { overflow: "visible", clipPath: "none" } : {},
|
|
2904
2915
|
// Editable-template affordance: a distinct amber dashed ring + slight
|
|
2905
2916
|
// transparency so inherited master/layout shapes read as "template" while
|
|
2906
2917
|
// edit-template mode is on. Applied after the shape style so it wins; never
|
|
@@ -3842,7 +3853,7 @@ function FailedToLoad() {
|
|
|
3842
3853
|
var LazyModel3DScene = React18.lazy(
|
|
3843
3854
|
async () => {
|
|
3844
3855
|
try {
|
|
3845
|
-
return await import('./Model3DScene-
|
|
3856
|
+
return await import('./Model3DScene-OOLYRN3I.mjs');
|
|
3846
3857
|
} catch {
|
|
3847
3858
|
return { default: FailedToLoad };
|
|
3848
3859
|
}
|
|
@@ -6184,6 +6195,10 @@ function ActionButtonGlyphOverlay({
|
|
|
6184
6195
|
}
|
|
6185
6196
|
);
|
|
6186
6197
|
}
|
|
6198
|
+
function shouldRenderTextBody(isTextElement, hasActualText, promptText, isPresentationPassive) {
|
|
6199
|
+
if (!isTextElement) return Boolean(promptText) && !isPresentationPassive;
|
|
6200
|
+
return hasActualText || !promptText || !isPresentationPassive;
|
|
6201
|
+
}
|
|
6187
6202
|
function renderTextElementBody(options) {
|
|
6188
6203
|
const {
|
|
6189
6204
|
el,
|
|
@@ -6214,12 +6229,22 @@ function renderTextElementBody(options) {
|
|
|
6214
6229
|
...scene3dStyle?.transformStyle ? { transformStyle: scene3dStyle.transformStyle } : {},
|
|
6215
6230
|
...isLinkedTextBox ? { overflow: "hidden" } : {}
|
|
6216
6231
|
};
|
|
6232
|
+
const allowsNaturalVerticalOverflow = hasTextProperties(el) && el.textStyle?.autoFitMode === "none" && el.textStyle?.vertOverflow !== "clip" && (el.textStyle?.vAlign === void 0 || el.textStyle.vAlign === "top") && !isLinkedTextBox;
|
|
6233
|
+
const textBodySizeStyle = allowsNaturalVerticalOverflow ? { height: "auto", minHeight: "100%" } : void 0;
|
|
6217
6234
|
const shapeType = "shapeType" in el ? el.shapeType : void 0;
|
|
6218
|
-
const
|
|
6235
|
+
const textProperties = hasTextProperties(el) ? el : void 0;
|
|
6236
|
+
const hasActualText = Boolean(textProperties?.text) || Boolean(textProperties?.textSegments?.length);
|
|
6237
|
+
const shouldRenderText = shouldRenderTextBody(
|
|
6238
|
+
isTxtEl,
|
|
6239
|
+
hasActualText,
|
|
6240
|
+
textProperties?.promptText,
|
|
6241
|
+
isPresentationPassive
|
|
6242
|
+
);
|
|
6243
|
+
if (!shouldRenderText) return null;
|
|
6219
6244
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6220
6245
|
vecShape,
|
|
6221
6246
|
isActionButtonShape(shapeType) && /* @__PURE__ */ jsx(ActionButtonGlyphOverlay, { element: el }),
|
|
6222
|
-
|
|
6247
|
+
useSvgWarp ? /* @__PURE__ */ jsx(
|
|
6223
6248
|
"div",
|
|
6224
6249
|
{
|
|
6225
6250
|
className: cn(
|
|
@@ -6250,7 +6275,8 @@ function renderTextElementBody(options) {
|
|
|
6250
6275
|
...getTextLayoutStyle(el),
|
|
6251
6276
|
...txtS,
|
|
6252
6277
|
...getTextWarpStyle(txtSE),
|
|
6253
|
-
...transformStyle
|
|
6278
|
+
...transformStyle,
|
|
6279
|
+
...textBodySizeStyle
|
|
6254
6280
|
},
|
|
6255
6281
|
children: renderTextSegments(
|
|
6256
6282
|
el,
|
|
@@ -6264,7 +6290,7 @@ function renderTextElementBody(options) {
|
|
|
6264
6290
|
!isPresentationPassive
|
|
6265
6291
|
)
|
|
6266
6292
|
}
|
|
6267
|
-
)
|
|
6293
|
+
)
|
|
6268
6294
|
] });
|
|
6269
6295
|
}
|
|
6270
6296
|
function ZoomElementRenderer({
|
|
@@ -6665,7 +6691,9 @@ function StaticElementRendererImpl({
|
|
|
6665
6691
|
element.type === "shape" && hasFill ? "#ffffff" : DEFAULT_TEXT_COLOR
|
|
6666
6692
|
);
|
|
6667
6693
|
const isImage = element.type === "picture" || element.type === "image";
|
|
6668
|
-
const
|
|
6694
|
+
const isTable = element.type === "table";
|
|
6695
|
+
const allowsTextOverflow = isTable || hasTextProperties(element) && element.textStyle?.vertOverflow !== "clip";
|
|
6696
|
+
const allowsUnclippedTextOverflow = hasTextProperties(element) && element.textStyle?.autoFitMode === "none" && element.textStyle?.vertOverflow !== "clip" && (!("shapeType" in element) || element.shapeType === void 0 || element.shapeType === "rect");
|
|
6669
6697
|
return /* @__PURE__ */ jsxs(
|
|
6670
6698
|
"div",
|
|
6671
6699
|
{
|
|
@@ -6679,7 +6707,8 @@ function StaticElementRendererImpl({
|
|
|
6679
6707
|
transform: positioned ? getElementTransform(element) : void 0,
|
|
6680
6708
|
transformOrigin: "center",
|
|
6681
6709
|
zIndex,
|
|
6682
|
-
...visualStyle
|
|
6710
|
+
...visualStyle,
|
|
6711
|
+
...allowsUnclippedTextOverflow || isTable ? { overflow: "visible", clipPath: "none" } : {}
|
|
6683
6712
|
},
|
|
6684
6713
|
children: [
|
|
6685
6714
|
/* @__PURE__ */ jsx(ShapeEffectOverlay, { element }),
|
|
@@ -6719,7 +6748,10 @@ function StaticElementRendererImpl({
|
|
|
6719
6748
|
onEditChange: noop,
|
|
6720
6749
|
onCommit: noop,
|
|
6721
6750
|
onCancel: noop,
|
|
6722
|
-
|
|
6751
|
+
// Inherited master/layout and preview elements are read-only. Keeping
|
|
6752
|
+
// this passive prevents edit-time placeholder prompts and missing-media
|
|
6753
|
+
// diagnostics from leaking into the rendered slide.
|
|
6754
|
+
isPresentationPassive: STATIC_ELEMENTS_ARE_PRESENTATION_PASSIVE,
|
|
6723
6755
|
slideElements: activeSlide?.elements,
|
|
6724
6756
|
allSlides,
|
|
6725
6757
|
sourceSlideIndex,
|
|
@@ -6734,6 +6766,7 @@ function StaticElementRendererImpl({
|
|
|
6734
6766
|
}
|
|
6735
6767
|
var StaticElementRenderer = React18.memo(StaticElementRendererImpl);
|
|
6736
6768
|
StaticElementRenderer.displayName = "StaticElementRenderer";
|
|
6769
|
+
var STATIC_ELEMENTS_ARE_PRESENTATION_PASSIVE = true;
|
|
6737
6770
|
function LayoutPreview({ layout }) {
|
|
6738
6771
|
const width = Math.max(layout.previewWidth ?? 960, 1);
|
|
6739
6772
|
const height = Math.max(layout.previewHeight ?? 540, 1);
|