pptx-react-viewer 3.15.0 → 3.16.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 +22 -0
- package/dist/{AiChatPanel-TBIAQSZ7.mjs → AiChatPanel-FAAO6JYZ.mjs} +3 -3
- package/dist/AiChatPanel-FAAO6JYZ.mjs.br +0 -0
- package/dist/AiChatPanel-FAAO6JYZ.mjs.gz +0 -0
- package/dist/{AiChatPanel-7CWOJ3PS.js → AiChatPanel-WSH2K7T4.js} +24 -24
- package/dist/AiChatPanel-WSH2K7T4.js.br +0 -0
- package/dist/AiChatPanel-WSH2K7T4.js.gz +0 -0
- package/dist/{Area3DChartScene-6FFBYPHF.mjs → Area3DChartScene-LGLVVQEB.mjs} +1 -1
- package/dist/Area3DChartScene-LGLVVQEB.mjs.br +0 -0
- package/dist/Area3DChartScene-LGLVVQEB.mjs.gz +0 -0
- package/dist/{Area3DChartScene-ZJYR6K66.js → Area3DChartScene-PTKML4PN.js} +2 -2
- package/dist/Area3DChartScene-PTKML4PN.js.br +0 -0
- package/dist/Area3DChartScene-PTKML4PN.js.gz +0 -0
- package/dist/{Bar3DChartScene-42MWINQX.mjs → Bar3DChartScene-HCP7MA3A.mjs} +1 -1
- package/dist/Bar3DChartScene-HCP7MA3A.mjs.br +0 -0
- package/dist/Bar3DChartScene-HCP7MA3A.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-JP3BXEZW.js → Bar3DChartScene-UXC4LE44.js} +2 -2
- package/dist/Bar3DChartScene-UXC4LE44.js.br +0 -0
- package/dist/Bar3DChartScene-UXC4LE44.js.gz +0 -0
- package/dist/{Line3DChartScene-YVCSJMWK.mjs → Line3DChartScene-JF54KXMH.mjs} +1 -1
- package/dist/Line3DChartScene-JF54KXMH.mjs.br +0 -0
- package/dist/Line3DChartScene-JF54KXMH.mjs.gz +0 -0
- package/dist/{Line3DChartScene-JK3AELXZ.js → Line3DChartScene-Z2EVGX4C.js} +2 -2
- package/dist/Line3DChartScene-Z2EVGX4C.js.br +0 -0
- package/dist/Line3DChartScene-Z2EVGX4C.js.gz +0 -0
- package/dist/{Model3DScene-OXWSYHHK.mjs → Model3DScene-YWQBX477.mjs} +1 -1
- package/dist/Model3DScene-YWQBX477.mjs.br +0 -0
- package/dist/Model3DScene-YWQBX477.mjs.gz +0 -0
- package/dist/{Model3DScene-N6UIMN7T.js → Model3DScene-ZBOF56VV.js} +2 -2
- package/dist/Model3DScene-ZBOF56VV.js.br +0 -0
- package/dist/Model3DScene-ZBOF56VV.js.gz +0 -0
- package/dist/{PieChart3DScene-XK4ETZJC.mjs → PieChart3DScene-4TRQ4V3M.mjs} +1 -1
- package/dist/PieChart3DScene-4TRQ4V3M.mjs.br +0 -0
- package/dist/PieChart3DScene-4TRQ4V3M.mjs.gz +0 -0
- package/dist/{PieChart3DScene-Q2Z3ECL4.js → PieChart3DScene-JPQTAS34.js} +2 -2
- package/dist/PieChart3DScene-JPQTAS34.js.br +0 -0
- package/dist/PieChart3DScene-JPQTAS34.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-KNWMKMOL.mjs → SurfaceChart3DScene-N76RNCUY.mjs} +1 -1
- package/dist/SurfaceChart3DScene-N76RNCUY.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-N76RNCUY.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-ULBUIF7T.js → SurfaceChart3DScene-P3LX35OP.js} +2 -2
- package/dist/SurfaceChart3DScene-P3LX35OP.js.br +0 -0
- package/dist/SurfaceChart3DScene-P3LX35OP.js.gz +0 -0
- package/dist/{chunk-6547ZWC7.mjs → chunk-6B7A5JNM.mjs} +12 -12
- package/dist/chunk-6B7A5JNM.mjs.br +0 -0
- package/dist/chunk-6B7A5JNM.mjs.gz +0 -0
- package/dist/{chunk-AT4BJKON.mjs → chunk-A6UVUZUX.mjs} +1 -1
- package/dist/chunk-A6UVUZUX.mjs.br +0 -0
- package/dist/chunk-A6UVUZUX.mjs.gz +0 -0
- package/dist/{chunk-C4Q4WYAJ.mjs → chunk-BNR6YPW5.mjs} +12 -34
- package/dist/chunk-BNR6YPW5.mjs.br +0 -0
- package/dist/chunk-BNR6YPW5.mjs.gz +0 -0
- package/dist/{chunk-J7Q7AGN7.mjs → chunk-ERCY52HH.mjs} +1 -1
- package/dist/chunk-ERCY52HH.mjs.br +0 -0
- package/dist/chunk-ERCY52HH.mjs.gz +0 -0
- package/dist/{chunk-5KAMDV37.js → chunk-L2MOKP3E.js} +1057 -375
- package/dist/chunk-L2MOKP3E.js.br +0 -0
- package/dist/chunk-L2MOKP3E.js.gz +0 -0
- package/dist/{chunk-YNTZCMRI.mjs → chunk-QVEPXTUB.mjs} +1056 -371
- package/dist/chunk-QVEPXTUB.mjs.br +0 -0
- package/dist/chunk-QVEPXTUB.mjs.gz +0 -0
- package/dist/{chunk-LAB7WX2N.js → chunk-TJ4L42RA.js} +456 -478
- package/dist/chunk-TJ4L42RA.js.br +0 -0
- package/dist/chunk-TJ4L42RA.js.gz +0 -0
- package/dist/{chunk-GLY4OPMY.js → chunk-W5W75MFP.js} +167 -167
- package/dist/chunk-W5W75MFP.js.br +0 -0
- package/dist/chunk-W5W75MFP.js.gz +0 -0
- package/dist/{chunk-Q6CSZ7VM.js → chunk-WYGPSCMS.js} +1289 -1289
- package/dist/chunk-WYGPSCMS.js.br +0 -0
- package/dist/chunk-WYGPSCMS.js.gz +0 -0
- package/dist/{chunk-VVJTEFGP.js → chunk-Y2UFUL7P.js} +5 -5
- package/dist/chunk-Y2UFUL7P.js.br +0 -0
- package/dist/chunk-Y2UFUL7P.js.gz +0 -0
- package/dist/index.d.ts +2 -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.d.ts +2 -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.d.ts +2 -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-7CWOJ3PS.js.br +0 -0
- package/dist/AiChatPanel-7CWOJ3PS.js.gz +0 -0
- package/dist/AiChatPanel-TBIAQSZ7.mjs.br +0 -0
- package/dist/AiChatPanel-TBIAQSZ7.mjs.gz +0 -0
- package/dist/Area3DChartScene-6FFBYPHF.mjs.br +0 -0
- package/dist/Area3DChartScene-6FFBYPHF.mjs.gz +0 -0
- package/dist/Area3DChartScene-ZJYR6K66.js.br +0 -0
- package/dist/Area3DChartScene-ZJYR6K66.js.gz +0 -0
- package/dist/Bar3DChartScene-42MWINQX.mjs.br +0 -0
- package/dist/Bar3DChartScene-42MWINQX.mjs.gz +0 -0
- package/dist/Bar3DChartScene-JP3BXEZW.js.br +0 -0
- package/dist/Bar3DChartScene-JP3BXEZW.js.gz +0 -0
- package/dist/Line3DChartScene-JK3AELXZ.js.br +0 -0
- package/dist/Line3DChartScene-JK3AELXZ.js.gz +0 -0
- package/dist/Line3DChartScene-YVCSJMWK.mjs.br +0 -0
- package/dist/Line3DChartScene-YVCSJMWK.mjs.gz +0 -0
- package/dist/Model3DScene-N6UIMN7T.js.br +0 -0
- package/dist/Model3DScene-N6UIMN7T.js.gz +0 -0
- package/dist/Model3DScene-OXWSYHHK.mjs.br +0 -0
- package/dist/Model3DScene-OXWSYHHK.mjs.gz +0 -0
- package/dist/PieChart3DScene-Q2Z3ECL4.js.br +0 -0
- package/dist/PieChart3DScene-Q2Z3ECL4.js.gz +0 -0
- package/dist/PieChart3DScene-XK4ETZJC.mjs.br +0 -0
- package/dist/PieChart3DScene-XK4ETZJC.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-KNWMKMOL.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-KNWMKMOL.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-ULBUIF7T.js.br +0 -0
- package/dist/SurfaceChart3DScene-ULBUIF7T.js.gz +0 -0
- package/dist/chunk-5KAMDV37.js.br +0 -0
- package/dist/chunk-5KAMDV37.js.gz +0 -0
- package/dist/chunk-6547ZWC7.mjs.br +0 -0
- package/dist/chunk-6547ZWC7.mjs.gz +0 -0
- package/dist/chunk-AT4BJKON.mjs.br +0 -0
- package/dist/chunk-AT4BJKON.mjs.gz +0 -0
- package/dist/chunk-C4Q4WYAJ.mjs.br +0 -0
- package/dist/chunk-C4Q4WYAJ.mjs.gz +0 -0
- package/dist/chunk-GLY4OPMY.js.br +0 -0
- package/dist/chunk-GLY4OPMY.js.gz +0 -0
- package/dist/chunk-J7Q7AGN7.mjs.br +0 -0
- package/dist/chunk-J7Q7AGN7.mjs.gz +0 -0
- package/dist/chunk-LAB7WX2N.js.br +0 -0
- package/dist/chunk-LAB7WX2N.js.gz +0 -0
- package/dist/chunk-Q6CSZ7VM.js.br +0 -0
- package/dist/chunk-Q6CSZ7VM.js.gz +0 -0
- package/dist/chunk-VVJTEFGP.js.br +0 -0
- package/dist/chunk-VVJTEFGP.js.gz +0 -0
- package/dist/chunk-YNTZCMRI.mjs.br +0 -0
- package/dist/chunk-YNTZCMRI.mjs.gz +0 -0
|
@@ -27567,20 +27567,20 @@ function ensureCell(sheetData, ref) {
|
|
|
27567
27567
|
}
|
|
27568
27568
|
sheetData["row"] = rows;
|
|
27569
27569
|
}
|
|
27570
|
-
const
|
|
27571
|
-
let cell =
|
|
27570
|
+
const cells2 = toArray(row["c"]);
|
|
27571
|
+
let cell = cells2.find((c) => String(c["@_r"] ?? "") === ref);
|
|
27572
27572
|
if (!cell) {
|
|
27573
27573
|
cell = { "@_r": ref };
|
|
27574
|
-
const insertAt3 =
|
|
27574
|
+
const insertAt3 = cells2.findIndex((c) => {
|
|
27575
27575
|
const existingAddress = parseCellAddress(String(c["@_r"] ?? ""));
|
|
27576
27576
|
return existingAddress !== void 0 && existingAddress.col > address.col;
|
|
27577
27577
|
});
|
|
27578
27578
|
if (insertAt3 < 0) {
|
|
27579
|
-
|
|
27579
|
+
cells2.push(cell);
|
|
27580
27580
|
} else {
|
|
27581
|
-
|
|
27581
|
+
cells2.splice(insertAt3, 0, cell);
|
|
27582
27582
|
}
|
|
27583
|
-
row["c"] =
|
|
27583
|
+
row["c"] = cells2;
|
|
27584
27584
|
}
|
|
27585
27585
|
return cell;
|
|
27586
27586
|
}
|
|
@@ -28448,6 +28448,9 @@ async function writeOleDocumentParagraphEdit(docxBytes, paragraphIndex, text22)
|
|
|
28448
28448
|
};
|
|
28449
28449
|
const pPr = xmlChild(paragraph, "w:pPr");
|
|
28450
28450
|
for (const key2 of Object.keys(paragraph)) {
|
|
28451
|
+
if (key2 === "__proto__" || key2 === "constructor" || key2 === "prototype") {
|
|
28452
|
+
continue;
|
|
28453
|
+
}
|
|
28451
28454
|
delete paragraph[key2];
|
|
28452
28455
|
}
|
|
28453
28456
|
if (pPr) {
|
|
@@ -33231,7 +33234,7 @@ var init_smartart_layout_interpreter_choose_composite = __esm({
|
|
|
33231
33234
|
init_smartart_layout_interpreter_choose_branch();
|
|
33232
33235
|
}
|
|
33233
33236
|
});
|
|
33234
|
-
function branchAlg(raw, nodeCount, context) {
|
|
33237
|
+
function branchAlg(raw, nodeCount, context, allowedTypes = CHOOSE_ALG_TYPES) {
|
|
33235
33238
|
if (!raw) {
|
|
33236
33239
|
return void 0;
|
|
33237
33240
|
}
|
|
@@ -33255,7 +33258,7 @@ function branchAlg(raw, nodeCount, context) {
|
|
|
33255
33258
|
if (name === "alg") {
|
|
33256
33259
|
for (const candidate of Array.isArray(entry2) ? entry2 : [entry2]) {
|
|
33257
33260
|
const type = candidate && typeof candidate === "object" ? String(candidate["@_type"] ?? "") : "";
|
|
33258
|
-
if (
|
|
33261
|
+
if (allowedTypes.has(type)) {
|
|
33259
33262
|
found = { type, raw: candidate };
|
|
33260
33263
|
return;
|
|
33261
33264
|
}
|
|
@@ -33336,6 +33339,24 @@ function chooseAlgorithm(node, nodeCount, context = {}) {
|
|
|
33336
33339
|
}
|
|
33337
33340
|
return void 0;
|
|
33338
33341
|
}
|
|
33342
|
+
function chooseAlgorithmOfType(node, nodeCount, allowedTypes, context = {}) {
|
|
33343
|
+
if (!node.choose || node.choose.length === 0) {
|
|
33344
|
+
return void 0;
|
|
33345
|
+
}
|
|
33346
|
+
for (const choose of node.choose) {
|
|
33347
|
+
const found = branchAlg(
|
|
33348
|
+
activeBranch(choose, nodeCount, context),
|
|
33349
|
+
nodeCount,
|
|
33350
|
+
context,
|
|
33351
|
+
allowedTypes
|
|
33352
|
+
);
|
|
33353
|
+
if (found) {
|
|
33354
|
+
const parameters = parseBranchAlgParams(found.raw);
|
|
33355
|
+
return { type: found.type, ...parameters ? { parameters } : {} };
|
|
33356
|
+
}
|
|
33357
|
+
}
|
|
33358
|
+
return void 0;
|
|
33359
|
+
}
|
|
33339
33360
|
var CHOOSE_ALG_TYPES;
|
|
33340
33361
|
var init_smartart_layout_interpreter_choose_algorithm = __esm({
|
|
33341
33362
|
"src/core/utils/smartart-layout-interpreter-choose-algorithm.ts"() {
|
|
@@ -34425,6 +34446,41 @@ var init_smartart_constraint_declared_by = __esm({
|
|
|
34425
34446
|
init_smartart_constraint_solver();
|
|
34426
34447
|
}
|
|
34427
34448
|
});
|
|
34449
|
+
function readAlgorithmAspectRatio(node) {
|
|
34450
|
+
const raw = node?.algorithm?.parameters?.find((param) => param.type === "ar")?.value;
|
|
34451
|
+
if (raw === void 0) {
|
|
34452
|
+
return void 0;
|
|
34453
|
+
}
|
|
34454
|
+
const ar = Number.parseFloat(raw);
|
|
34455
|
+
return Number.isFinite(ar) && ar > 0 ? ar : void 0;
|
|
34456
|
+
}
|
|
34457
|
+
function fitAspectRatioBox(box, ar) {
|
|
34458
|
+
if (ar === void 0 || box.height <= 0 || box.width <= 0) {
|
|
34459
|
+
return box;
|
|
34460
|
+
}
|
|
34461
|
+
const boxAr = box.width / box.height;
|
|
34462
|
+
if (boxAr > ar) {
|
|
34463
|
+
return { width: box.height * ar, height: box.height };
|
|
34464
|
+
}
|
|
34465
|
+
if (boxAr < ar) {
|
|
34466
|
+
return { width: box.width, height: box.width / ar };
|
|
34467
|
+
}
|
|
34468
|
+
return box;
|
|
34469
|
+
}
|
|
34470
|
+
function isUserSizeHubRole(role, index) {
|
|
34471
|
+
for (const entries of index.entries.values()) {
|
|
34472
|
+
for (const { constraint } of entries) {
|
|
34473
|
+
if (constraint.type === "userS" && constraint.referenceForName === role) {
|
|
34474
|
+
return true;
|
|
34475
|
+
}
|
|
34476
|
+
}
|
|
34477
|
+
}
|
|
34478
|
+
return false;
|
|
34479
|
+
}
|
|
34480
|
+
var init_smartart_layout_interpreter_composite_aspect = __esm({
|
|
34481
|
+
"src/core/utils/smartart-layout-interpreter-composite-aspect.ts"() {
|
|
34482
|
+
}
|
|
34483
|
+
});
|
|
34428
34484
|
function finiteFactor(value) {
|
|
34429
34485
|
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
34430
34486
|
}
|
|
@@ -34442,7 +34498,8 @@ function resolveHubToNodeRatioViaUserSize(ringItem, arrangerConstraints, index,
|
|
|
34442
34498
|
if (userSizeDecl) {
|
|
34443
34499
|
return {
|
|
34444
34500
|
hubName: userSizeDecl.referenceForName,
|
|
34445
|
-
factor: userSizeDecl.factor
|
|
34501
|
+
factor: userSizeDecl.factor,
|
|
34502
|
+
viaUserSize: true
|
|
34446
34503
|
};
|
|
34447
34504
|
}
|
|
34448
34505
|
if (index && declaringRoleChain && declaringRoleChain.length > 0) {
|
|
@@ -34455,15 +34512,27 @@ function resolveHubToNodeRatioViaUserSize(ringItem, arrangerConstraints, index,
|
|
|
34455
34512
|
if (ancestorDecl) {
|
|
34456
34513
|
return {
|
|
34457
34514
|
hubName: ancestorDecl.constraint.referenceForName,
|
|
34458
|
-
factor: ancestorDecl.constraint.factor
|
|
34515
|
+
factor: ancestorDecl.constraint.factor,
|
|
34516
|
+
viaUserSize: true
|
|
34459
34517
|
};
|
|
34460
34518
|
}
|
|
34461
34519
|
}
|
|
34462
34520
|
return void 0;
|
|
34463
34521
|
}
|
|
34522
|
+
function resolveViaUserSizeNodeWidthPx(ratio, index, box, sizeBox) {
|
|
34523
|
+
const hubW = resolveConstraint(index, ratio.hubName, "w");
|
|
34524
|
+
if (hubW === void 0) {
|
|
34525
|
+
return void 0;
|
|
34526
|
+
}
|
|
34527
|
+
const hubExtent = isUserSizeHubRole(ratio.hubName, index) ? sizeBox.width : box.width;
|
|
34528
|
+
const side = ratio.factor * hubW * hubExtent;
|
|
34529
|
+
return side > 0 ? side : void 0;
|
|
34530
|
+
}
|
|
34464
34531
|
var init_smartart_layout_interpreter_cycle_hub_ratio_usersize = __esm({
|
|
34465
34532
|
"src/core/utils/smartart-layout-interpreter-cycle-hub-ratio-usersize.ts"() {
|
|
34466
34533
|
init_smartart_constraint_declared_by();
|
|
34534
|
+
init_smartart_constraint_solver();
|
|
34535
|
+
init_smartart_layout_interpreter_composite_aspect();
|
|
34467
34536
|
}
|
|
34468
34537
|
});
|
|
34469
34538
|
function resolveHubToNodeRatio(ringItem, arrangerConstraints, index, arrangerRuleCandidates, satelliteCount, declaringRoleChain) {
|
|
@@ -34508,12 +34577,12 @@ function resolveHubGapRatio(itemName, hubRatio, arrangerConstraints) {
|
|
|
34508
34577
|
return void 0;
|
|
34509
34578
|
}
|
|
34510
34579
|
const sp = (arrangerConstraints ?? []).find(
|
|
34511
|
-
(c) => c.type === "sp" && typeof c.factor === "number"
|
|
34580
|
+
(c) => c.type === "sp" && typeof c.factor === "number"
|
|
34512
34581
|
);
|
|
34513
34582
|
if (!sp || typeof sp.factor !== "number") {
|
|
34514
34583
|
return void 0;
|
|
34515
34584
|
}
|
|
34516
|
-
if (sp.referenceForName === itemName) {
|
|
34585
|
+
if (sp.referenceForName === void 0 || sp.referenceForName === itemName) {
|
|
34517
34586
|
return sp.factor;
|
|
34518
34587
|
}
|
|
34519
34588
|
if (sp.referenceForName === hubRatio.hubName) {
|
|
@@ -36168,6 +36237,20 @@ var init_smartart_layout_interpreter_cycle_fontfit = __esm({
|
|
|
36168
36237
|
init_smartart_layout_item_font_tier();
|
|
36169
36238
|
}
|
|
36170
36239
|
});
|
|
36240
|
+
function resolveHubExpansion(nodes, plan, hubAlreadyStripped, hubRatio, hubGapRatio, absoluteHubGapPx, index, box, sizeBox) {
|
|
36241
|
+
const hasHub = !hubAlreadyStripped && (!hubRatio || hubRatio.viaUserSize === true) && algorithmParam(plan.node, "ctrShpMap") === "fNode" && nodes.length > 0;
|
|
36242
|
+
const hubNode = hasHub ? nodes[0] : void 0;
|
|
36243
|
+
const ringNodes = hasHub ? nodes.slice(1) : nodes;
|
|
36244
|
+
const hubGeometry = hubRatio && (hubGapRatio !== void 0 || absoluteHubGapPx !== void 0) ? { factor: hubRatio.viaUserSize ? 1 : hubRatio.factor, gapRatio: hubGapRatio ?? 0 } : void 0;
|
|
36245
|
+
const knownNodeWidthPx = ringNodes.length === 1 && hubRatio?.viaUserSize ? resolveViaUserSizeNodeWidthPx(hubRatio, index, box, sizeBox ?? box) : void 0;
|
|
36246
|
+
return { hasHub, hubNode, ringNodes, hubGeometry, knownNodeWidthPx };
|
|
36247
|
+
}
|
|
36248
|
+
var init_smartart_layout_interpreter_cycle_hub_detect = __esm({
|
|
36249
|
+
"src/core/utils/smartart-layout-interpreter-cycle-hub-detect.ts"() {
|
|
36250
|
+
init_smartart_layout_interpreter_cycle_hub_ratio_usersize();
|
|
36251
|
+
init_smartart_layout_interpreter_model();
|
|
36252
|
+
}
|
|
36253
|
+
});
|
|
36171
36254
|
function computeRingBulgeBounds(xs, ys, halfW, halfH, sibTransBulgeRatio) {
|
|
36172
36255
|
const minX = Math.min(...xs) - halfW;
|
|
36173
36256
|
const maxX = Math.max(...xs) + halfW;
|
|
@@ -36191,6 +36274,32 @@ var init_smartart_layout_interpreter_cycle_ring_bulge = __esm({
|
|
|
36191
36274
|
"src/core/utils/smartart-layout-interpreter-cycle-ring-bulge.ts"() {
|
|
36192
36275
|
}
|
|
36193
36276
|
});
|
|
36277
|
+
function nestedHubSatelliteRingLayout(stAngDeg, heightOverWidth, box, hubGeometry, nodeWidthPx) {
|
|
36278
|
+
const boxCentre = { x: box.width / 2, y: box.height / 2 };
|
|
36279
|
+
const halfH = Math.max(0.01, heightOverWidth) / 2;
|
|
36280
|
+
const hubHalfWidthNat = 0.5 / Math.max(1e-6, hubGeometry.factor);
|
|
36281
|
+
const r0Nat = hubHalfWidthNat + Math.max(0, hubGeometry.gapRatio) + 0.5;
|
|
36282
|
+
const angleRad = (stAngDeg - 90) * DEG_TO_RAD2;
|
|
36283
|
+
const r0Px = r0Nat * nodeWidthPx;
|
|
36284
|
+
const satellite = {
|
|
36285
|
+
x: boxCentre.x + r0Px * Math.cos(angleRad),
|
|
36286
|
+
y: boxCentre.y + r0Px * Math.sin(angleRad)
|
|
36287
|
+
};
|
|
36288
|
+
return {
|
|
36289
|
+
centers: [satellite],
|
|
36290
|
+
nodeWidth: nodeWidthPx,
|
|
36291
|
+
nodeHeight: nodeWidthPx * Math.max(0.01, heightOverWidth),
|
|
36292
|
+
hubCenter: boxCentre,
|
|
36293
|
+
hubHalfWidth: hubHalfWidthNat * nodeWidthPx,
|
|
36294
|
+
hubHalfHeight: hubHalfWidthNat * (halfH / 0.5) * nodeWidthPx
|
|
36295
|
+
};
|
|
36296
|
+
}
|
|
36297
|
+
var DEG_TO_RAD2;
|
|
36298
|
+
var init_smartart_layout_interpreter_cycle_ring_nested_hub = __esm({
|
|
36299
|
+
"src/core/utils/smartart-layout-interpreter-cycle-ring-nested-hub.ts"() {
|
|
36300
|
+
DEG_TO_RAD2 = Math.PI / 180;
|
|
36301
|
+
}
|
|
36302
|
+
});
|
|
36194
36303
|
function resolveRingAxisOffset(dimension, boundSize, scale2, values) {
|
|
36195
36304
|
const span = Math.max(1e-9, Math.max(...values) - Math.min(...values));
|
|
36196
36305
|
const epsilon = span * TIE_EPSILON_FRACTION;
|
|
@@ -36238,14 +36347,23 @@ function degenerateRingLayout(n, heightOverWidth, box) {
|
|
|
36238
36347
|
}
|
|
36239
36348
|
return void 0;
|
|
36240
36349
|
}
|
|
36241
|
-
function ringLayoutForGapFactor(n, stAngDeg, spanDeg, gapFactor, heightOverWidth, box, hubGeometry, sibTransBulgeRatio) {
|
|
36350
|
+
function ringLayoutForGapFactor(n, stAngDeg, spanDeg, gapFactor, heightOverWidth, box, hubGeometry, sibTransBulgeRatio, knownNodeWidthPx) {
|
|
36351
|
+
if (n === 1 && hubGeometry && knownNodeWidthPx !== void 0 && knownNodeWidthPx > 0) {
|
|
36352
|
+
return nestedHubSatelliteRingLayout(
|
|
36353
|
+
stAngDeg,
|
|
36354
|
+
heightOverWidth,
|
|
36355
|
+
box,
|
|
36356
|
+
hubGeometry,
|
|
36357
|
+
knownNodeWidthPx
|
|
36358
|
+
);
|
|
36359
|
+
}
|
|
36242
36360
|
const degenerate = degenerateRingLayout(n, heightOverWidth, box);
|
|
36243
36361
|
if (degenerate) {
|
|
36244
36362
|
return degenerate;
|
|
36245
36363
|
}
|
|
36246
36364
|
const full = Math.abs(spanDeg) >= 360;
|
|
36247
36365
|
const step = full ? spanDeg / n : spanDeg / (n - 1);
|
|
36248
|
-
const halfStepRad = Math.abs(step) *
|
|
36366
|
+
const halfStepRad = Math.abs(step) * DEG_TO_RAD3 / 2;
|
|
36249
36367
|
const clampedGap = Math.max(0, gapFactor);
|
|
36250
36368
|
const sinHalf = Math.sin(halfStepRad);
|
|
36251
36369
|
let r0 = sinHalf > 1e-6 ? (1 + clampedGap) / (2 * sinHalf) : 0;
|
|
@@ -36255,7 +36373,7 @@ function ringLayoutForGapFactor(n, stAngDeg, spanDeg, gapFactor, heightOverWidth
|
|
|
36255
36373
|
r0 = Math.max(r0, r0Hub);
|
|
36256
36374
|
}
|
|
36257
36375
|
const natural = Array.from({ length: n }, (_, i2) => {
|
|
36258
|
-
const angleRad = (stAngDeg + i2 * step - 90) *
|
|
36376
|
+
const angleRad = (stAngDeg + i2 * step - 90) * DEG_TO_RAD3;
|
|
36259
36377
|
return { x: r0 * Math.cos(angleRad), y: r0 * Math.sin(angleRad) };
|
|
36260
36378
|
});
|
|
36261
36379
|
const halfW = 0.5;
|
|
@@ -36283,10 +36401,13 @@ function ringLayoutForGapFactor(n, stAngDeg, spanDeg, gapFactor, heightOverWidth
|
|
|
36283
36401
|
hubHalfHeight: naturalHubRadius * scaleY
|
|
36284
36402
|
};
|
|
36285
36403
|
}
|
|
36286
|
-
function computeCycleRingLayout(n, stAngDeg, spanDeg, minGapRatio, heightOverWidth, box, absoluteGapPx, hubGeometry, absoluteHubGapPx, sibTransBulgeRatio) {
|
|
36287
|
-
const
|
|
36288
|
-
if (
|
|
36289
|
-
|
|
36404
|
+
function computeCycleRingLayout(n, stAngDeg, spanDeg, minGapRatio, heightOverWidth, box, absoluteGapPx, hubGeometry, absoluteHubGapPx, sibTransBulgeRatio, knownNodeWidthPx) {
|
|
36405
|
+
const nestedHubSatellite = n === 1 && hubGeometry && knownNodeWidthPx !== void 0 && knownNodeWidthPx > 0;
|
|
36406
|
+
if (!nestedHubSatellite) {
|
|
36407
|
+
const degenerate = degenerateRingLayout(n, heightOverWidth, box);
|
|
36408
|
+
if (degenerate) {
|
|
36409
|
+
return degenerate;
|
|
36410
|
+
}
|
|
36290
36411
|
}
|
|
36291
36412
|
const needsGapIteration = absoluteGapPx !== void 0 && absoluteGapPx > 0;
|
|
36292
36413
|
const needsHubGapIteration = absoluteHubGapPx !== void 0 && absoluteHubGapPx > 0 && hubGeometry !== void 0;
|
|
@@ -36299,7 +36420,8 @@ function computeCycleRingLayout(n, stAngDeg, spanDeg, minGapRatio, heightOverWid
|
|
|
36299
36420
|
heightOverWidth,
|
|
36300
36421
|
box,
|
|
36301
36422
|
hubGeometry,
|
|
36302
|
-
sibTransBulgeRatio
|
|
36423
|
+
sibTransBulgeRatio,
|
|
36424
|
+
knownNodeWidthPx
|
|
36303
36425
|
);
|
|
36304
36426
|
}
|
|
36305
36427
|
let gapFactor = minGapRatio;
|
|
@@ -36338,15 +36460,16 @@ function computeCycleRingLayout(n, stAngDeg, spanDeg, minGapRatio, heightOverWid
|
|
|
36338
36460
|
sibTransBulgeRatio
|
|
36339
36461
|
);
|
|
36340
36462
|
}
|
|
36341
|
-
var
|
|
36463
|
+
var DEG_TO_RAD3;
|
|
36342
36464
|
var init_smartart_layout_interpreter_cycle_ring = __esm({
|
|
36343
36465
|
"src/core/utils/smartart-layout-interpreter-cycle-ring.ts"() {
|
|
36344
36466
|
init_smartart_layout_interpreter_cycle_ring_bulge();
|
|
36467
|
+
init_smartart_layout_interpreter_cycle_ring_nested_hub();
|
|
36345
36468
|
init_smartart_layout_interpreter_cycle_ring_offset();
|
|
36346
|
-
|
|
36469
|
+
DEG_TO_RAD3 = Math.PI / 180;
|
|
36347
36470
|
}
|
|
36348
36471
|
});
|
|
36349
|
-
function arrangeCycle(plan, nodes, box, palette, style, elementId, index = EMPTY_CONSTRAINT_INDEX, hubAlreadyStripped = false, childrenOf, fontName, declaringRoleChain) {
|
|
36472
|
+
function arrangeCycle(plan, nodes, box, palette, style, elementId, index = EMPTY_CONSTRAINT_INDEX, hubAlreadyStripped = false, childrenOf, fontName, declaringRoleChain, sizeBox) {
|
|
36350
36473
|
const { width: w, height: h2 } = box;
|
|
36351
36474
|
const ctx = styleContext(style);
|
|
36352
36475
|
const {
|
|
@@ -36363,13 +36486,20 @@ function arrangeCycle(plan, nodes, box, palette, style, elementId, index = EMPTY
|
|
|
36363
36486
|
hubAlreadyStripped ? nodes.length : void 0,
|
|
36364
36487
|
declaringRoleChain
|
|
36365
36488
|
);
|
|
36366
|
-
const
|
|
36367
|
-
|
|
36368
|
-
|
|
36489
|
+
const { hubNode, ringNodes, hubGeometry, knownNodeWidthPx } = resolveHubExpansion(
|
|
36490
|
+
nodes,
|
|
36491
|
+
plan,
|
|
36492
|
+
hubAlreadyStripped,
|
|
36493
|
+
hubRatio,
|
|
36494
|
+
hubGapRatio,
|
|
36495
|
+
absoluteHubGapPx,
|
|
36496
|
+
index,
|
|
36497
|
+
box,
|
|
36498
|
+
sizeBox
|
|
36499
|
+
);
|
|
36369
36500
|
const n = ringNodes.length;
|
|
36370
36501
|
const startDeg = numericParam(plan.node, "stAng", 0);
|
|
36371
36502
|
const spanDeg = numericParam(plan.node, "spanAng", 360);
|
|
36372
|
-
const hubGeometry = hubRatio && (hubGapRatio !== void 0 || absoluteHubGapPx !== void 0) ? { factor: hubRatio.factor, gapRatio: hubGapRatio ?? 0 } : void 0;
|
|
36373
36503
|
const ring = computeCycleRingLayout(
|
|
36374
36504
|
n,
|
|
36375
36505
|
startDeg,
|
|
@@ -36380,7 +36510,8 @@ function arrangeCycle(plan, nodes, box, palette, style, elementId, index = EMPTY
|
|
|
36380
36510
|
absoluteGapPx,
|
|
36381
36511
|
hubGeometry,
|
|
36382
36512
|
absoluteHubGapPx,
|
|
36383
|
-
sibTransBulgeRatio
|
|
36513
|
+
sibTransBulgeRatio,
|
|
36514
|
+
knownNodeWidthPx
|
|
36384
36515
|
);
|
|
36385
36516
|
const full = Math.abs(spanDeg) >= 360;
|
|
36386
36517
|
const connectorCount = n > 0 ? full ? n : Math.max(0, n - 1) : 0;
|
|
@@ -36449,6 +36580,7 @@ var init_smartart_layout_interpreter_cycle = __esm({
|
|
|
36449
36580
|
init_smartart_layout_interpreter_cycle_constraints();
|
|
36450
36581
|
init_smartart_layout_interpreter_cycle_extension();
|
|
36451
36582
|
init_smartart_layout_interpreter_cycle_fontfit();
|
|
36583
|
+
init_smartart_layout_interpreter_cycle_hub_detect();
|
|
36452
36584
|
init_smartart_layout_interpreter_cycle_ring();
|
|
36453
36585
|
init_smartart_layout_interpreter_model();
|
|
36454
36586
|
init_smartart_layout_interpreter_render();
|
|
@@ -37509,18 +37641,18 @@ function arrangeSnake(plan, nodes, box, palette, style, elementId, index = EMPTY
|
|
|
37509
37641
|
naturalAspect,
|
|
37510
37642
|
cornerInset
|
|
37511
37643
|
);
|
|
37512
|
-
const
|
|
37644
|
+
const cells2 = nodes.map((_node, i2) => snakeCell(i2, dims, flowDir, sameDir, grDir));
|
|
37513
37645
|
const centerIncompleteLines = algorithmParam(plan.node, "off") === "ctr";
|
|
37514
37646
|
const fullLineCount = flowDir === "row" ? dims.cols : dims.rows;
|
|
37515
37647
|
const lineCounts = /* @__PURE__ */ new Map();
|
|
37516
37648
|
if (centerIncompleteLines) {
|
|
37517
|
-
for (const cell of
|
|
37649
|
+
for (const cell of cells2) {
|
|
37518
37650
|
const key2 = flowDir === "row" ? cell.row : cell.col;
|
|
37519
37651
|
lineCounts.set(key2, (lineCounts.get(key2) ?? 0) + 1);
|
|
37520
37652
|
}
|
|
37521
37653
|
}
|
|
37522
37654
|
const renderedNodes = nodes.map((node, i2) => {
|
|
37523
|
-
const { col, row } =
|
|
37655
|
+
const { col, row } = cells2[i2];
|
|
37524
37656
|
let x = INSET + col * (cellW + gapX);
|
|
37525
37657
|
let y = INSET + row * (cellH + gapY);
|
|
37526
37658
|
if (centerIncompleteLines) {
|
|
@@ -37806,41 +37938,6 @@ var init_smartart_layout_interpreter_aux = __esm({
|
|
|
37806
37938
|
INSET2 = 6;
|
|
37807
37939
|
}
|
|
37808
37940
|
});
|
|
37809
|
-
function readAlgorithmAspectRatio(node) {
|
|
37810
|
-
const raw = node?.algorithm?.parameters?.find((param) => param.type === "ar")?.value;
|
|
37811
|
-
if (raw === void 0) {
|
|
37812
|
-
return void 0;
|
|
37813
|
-
}
|
|
37814
|
-
const ar = Number.parseFloat(raw);
|
|
37815
|
-
return Number.isFinite(ar) && ar > 0 ? ar : void 0;
|
|
37816
|
-
}
|
|
37817
|
-
function fitAspectRatioBox(box, ar) {
|
|
37818
|
-
if (ar === void 0 || box.height <= 0 || box.width <= 0) {
|
|
37819
|
-
return box;
|
|
37820
|
-
}
|
|
37821
|
-
const boxAr = box.width / box.height;
|
|
37822
|
-
if (boxAr > ar) {
|
|
37823
|
-
return { width: box.height * ar, height: box.height };
|
|
37824
|
-
}
|
|
37825
|
-
if (boxAr < ar) {
|
|
37826
|
-
return { width: box.width, height: box.width / ar };
|
|
37827
|
-
}
|
|
37828
|
-
return box;
|
|
37829
|
-
}
|
|
37830
|
-
function isUserSizeHubRole(role, index) {
|
|
37831
|
-
for (const entries of index.entries.values()) {
|
|
37832
|
-
for (const { constraint } of entries) {
|
|
37833
|
-
if (constraint.type === "userS" && constraint.referenceForName === role) {
|
|
37834
|
-
return true;
|
|
37835
|
-
}
|
|
37836
|
-
}
|
|
37837
|
-
}
|
|
37838
|
-
return false;
|
|
37839
|
-
}
|
|
37840
|
-
var init_smartart_layout_interpreter_composite_aspect = __esm({
|
|
37841
|
-
"src/core/utils/smartart-layout-interpreter-composite-aspect.ts"() {
|
|
37842
|
-
}
|
|
37843
|
-
});
|
|
37844
37941
|
function resolveOrigin(node, flat) {
|
|
37845
37942
|
const origin = node.forEachOrigin;
|
|
37846
37943
|
if (!origin?.axis || origin.axis.length === 0) {
|
|
@@ -38527,6 +38624,36 @@ var init_smartart_hierarchy_pitch = __esm({
|
|
|
38527
38624
|
GENERATION_MARGIN_RATIO = 0.1675;
|
|
38528
38625
|
}
|
|
38529
38626
|
});
|
|
38627
|
+
function isSquareHeightConstraint(constraints) {
|
|
38628
|
+
const h2 = findConstraint(constraints, "h");
|
|
38629
|
+
return h2?.referenceType === "w" && h2.factor === void 0 && h2.value === void 0 && h2.referenceForName === void 0;
|
|
38630
|
+
}
|
|
38631
|
+
function resolveUserSizeItemBoxPx(wrapper, index, box, sizeBox, declaringRoleChain) {
|
|
38632
|
+
for (const template of wrapper.children ?? []) {
|
|
38633
|
+
if (!isSquareHeightConstraint(template.constraints)) {
|
|
38634
|
+
continue;
|
|
38635
|
+
}
|
|
38636
|
+
const ratio = resolveHubToNodeRatioViaUserSize(
|
|
38637
|
+
template,
|
|
38638
|
+
wrapper.constraints,
|
|
38639
|
+
index,
|
|
38640
|
+
declaringRoleChain
|
|
38641
|
+
);
|
|
38642
|
+
if (!ratio) {
|
|
38643
|
+
continue;
|
|
38644
|
+
}
|
|
38645
|
+
const hubRatio = resolveConstraint(index, ratio.hubName, "w");
|
|
38646
|
+
if (hubRatio === void 0) {
|
|
38647
|
+
continue;
|
|
38648
|
+
}
|
|
38649
|
+
const hubExtent = isUserSizeHubRole(ratio.hubName, index) ? sizeBox.width : box.width;
|
|
38650
|
+
const side = ratio.factor * hubRatio * hubExtent;
|
|
38651
|
+
if (side > 0) {
|
|
38652
|
+
return { width: side, height: side };
|
|
38653
|
+
}
|
|
38654
|
+
}
|
|
38655
|
+
return void 0;
|
|
38656
|
+
}
|
|
38530
38657
|
function childAxisSpec(template, childCount) {
|
|
38531
38658
|
const axis = template.presentationOf?.axis;
|
|
38532
38659
|
if (!axis || axis.length === 0) {
|
|
@@ -38566,7 +38693,7 @@ function collectChildRepeaterItems(wrapper, anchorChildren) {
|
|
|
38566
38693
|
items.sort((a, b) => a.position - b.position);
|
|
38567
38694
|
return items;
|
|
38568
38695
|
}
|
|
38569
|
-
function renderChildRepeaterSlot(wrapperSlot, anchor, anchorIndex, box, absX, absY, childrenOf, ctx) {
|
|
38696
|
+
function renderChildRepeaterSlot(wrapperSlot, anchor, anchorIndex, box, absX, absY, childrenOf, ctx, sizingCtx) {
|
|
38570
38697
|
const anchorChildren = childrenOf.get(anchor.id) ?? [];
|
|
38571
38698
|
const items = collectChildRepeaterItems(wrapperSlot.node, anchorChildren);
|
|
38572
38699
|
if (items.length === 0) {
|
|
@@ -38574,15 +38701,27 @@ function renderChildRepeaterSlot(wrapperSlot, anchor, anchorIndex, box, absX, ab
|
|
|
38574
38701
|
}
|
|
38575
38702
|
const rect22 = resolveSlot(wrapperSlot.dims, box, absX, absY);
|
|
38576
38703
|
const columnWidth = rect22.width / items.length;
|
|
38704
|
+
const userSize = sizingCtx ? resolveUserSizeItemBoxPx(
|
|
38705
|
+
wrapperSlot.node,
|
|
38706
|
+
sizingCtx.index,
|
|
38707
|
+
box,
|
|
38708
|
+
sizingCtx.sizeBox,
|
|
38709
|
+
sizingCtx.declaringRoleChain
|
|
38710
|
+
) : void 0;
|
|
38577
38711
|
return items.map((item, i2) => {
|
|
38578
38712
|
const folded = item.fold ? smartArtDescendantsWithText(item.child, childrenOf) : [];
|
|
38713
|
+
const columnX = rect22.x + columnWidth * i2;
|
|
38714
|
+
const width = userSize ? Math.min(userSize.width, columnWidth) : columnWidth;
|
|
38715
|
+
const height = userSize ? Math.min(userSize.height, rect22.height) : rect22.height;
|
|
38716
|
+
const x = userSize ? columnX + (columnWidth - width) / 2 : columnX;
|
|
38717
|
+
const y = userSize ? rect22.y + (rect22.height - height) / 2 : rect22.y;
|
|
38579
38718
|
const rendered = {
|
|
38580
38719
|
...rectNode({
|
|
38581
38720
|
key: `${ctx.elementId}-comp-child-${item.child.id}-${anchorIndex}-${i2}`,
|
|
38582
|
-
x
|
|
38583
|
-
y
|
|
38584
|
-
width
|
|
38585
|
-
height
|
|
38721
|
+
x,
|
|
38722
|
+
y,
|
|
38723
|
+
width,
|
|
38724
|
+
height,
|
|
38586
38725
|
node: item.child,
|
|
38587
38726
|
index: i2,
|
|
38588
38727
|
total: items.length,
|
|
@@ -38597,8 +38736,12 @@ function renderChildRepeaterSlot(wrapperSlot, anchor, anchorIndex, box, absX, ab
|
|
|
38597
38736
|
}
|
|
38598
38737
|
var init_smartart_layout_interpreter_composite_children = __esm({
|
|
38599
38738
|
"src/core/utils/smartart-layout-interpreter-composite-children.ts"() {
|
|
38739
|
+
init_smartart_constraint_solver();
|
|
38600
38740
|
init_smartart_layout_interpreter_axis_range();
|
|
38741
|
+
init_smartart_layout_interpreter_composite_aspect();
|
|
38601
38742
|
init_smartart_layout_interpreter_composite_slots();
|
|
38743
|
+
init_smartart_layout_interpreter_constraints();
|
|
38744
|
+
init_smartart_layout_interpreter_cycle_hub_ratio_usersize();
|
|
38602
38745
|
init_smartart_layout_interpreter_render();
|
|
38603
38746
|
init_smartart_node_tree_axis();
|
|
38604
38747
|
}
|
|
@@ -38612,7 +38755,7 @@ function resolveNestedCycleAnchor(wrapper, anchor, childrenOf) {
|
|
|
38612
38755
|
const resolved = items[0].child;
|
|
38613
38756
|
return (childrenOf.get(resolved.id)?.length ?? 0) > 0 ? resolved : void 0;
|
|
38614
38757
|
}
|
|
38615
|
-
function arrangeNestedCycleSlot(wrapperSlot, anchor, box, absX, absY, childrenOf, nodeCount, flat, presLayoutVars, index, palette, style, elementId, fontName, declaringRoleChain) {
|
|
38758
|
+
function arrangeNestedCycleSlot(wrapperSlot, anchor, box, absX, absY, childrenOf, nodeCount, flat, presLayoutVars, index, palette, style, elementId, fontName, declaringRoleChain, sizeBox) {
|
|
38616
38759
|
const wrapper = wrapperSlot.node;
|
|
38617
38760
|
const nestedAnchor = resolveNestedCycleAnchor(wrapper, anchor, childrenOf);
|
|
38618
38761
|
if (!nestedAnchor) {
|
|
@@ -38640,11 +38783,12 @@ function arrangeNestedCycleSlot(wrapperSlot, anchor, box, absX, absY, childrenOf
|
|
|
38640
38783
|
false,
|
|
38641
38784
|
childrenOf,
|
|
38642
38785
|
fontName,
|
|
38643
|
-
declaringRoleChain
|
|
38786
|
+
declaringRoleChain,
|
|
38787
|
+
sizeBox
|
|
38644
38788
|
);
|
|
38645
38789
|
return translateResult(result, rect22.x, rect22.y).nodes;
|
|
38646
38790
|
}
|
|
38647
|
-
function renderChildRepeaterOrNestedCycle(wrapperSlot, anchor, anchorIndex, box, absX, absY, childrenOf, flat, presLayoutVars, index, ctx, fontName, declaringRoleChain) {
|
|
38791
|
+
function renderChildRepeaterOrNestedCycle(wrapperSlot, anchor, anchorIndex, box, absX, absY, childrenOf, flat, presLayoutVars, index, ctx, fontName, declaringRoleChain, sizeBox) {
|
|
38648
38792
|
const nested = arrangeNestedCycleSlot(
|
|
38649
38793
|
wrapperSlot,
|
|
38650
38794
|
anchor,
|
|
@@ -38660,9 +38804,24 @@ function renderChildRepeaterOrNestedCycle(wrapperSlot, anchor, anchorIndex, box,
|
|
|
38660
38804
|
ctx.style,
|
|
38661
38805
|
ctx.elementId,
|
|
38662
38806
|
fontName,
|
|
38663
|
-
declaringRoleChain
|
|
38807
|
+
declaringRoleChain,
|
|
38808
|
+
sizeBox
|
|
38809
|
+
);
|
|
38810
|
+
if (nested) {
|
|
38811
|
+
return nested;
|
|
38812
|
+
}
|
|
38813
|
+
const sizingCtx = declaringRoleChain && sizeBox ? { index, sizeBox, declaringRoleChain } : void 0;
|
|
38814
|
+
return renderChildRepeaterSlot(
|
|
38815
|
+
wrapperSlot,
|
|
38816
|
+
anchor,
|
|
38817
|
+
anchorIndex,
|
|
38818
|
+
box,
|
|
38819
|
+
absX,
|
|
38820
|
+
absY,
|
|
38821
|
+
childrenOf,
|
|
38822
|
+
ctx,
|
|
38823
|
+
sizingCtx
|
|
38664
38824
|
);
|
|
38665
|
-
return nested ?? renderChildRepeaterSlot(wrapperSlot, anchor, anchorIndex, box, absX, absY, childrenOf, ctx);
|
|
38666
38825
|
}
|
|
38667
38826
|
var init_smartart_layout_interpreter_composite_nested_cycle = __esm({
|
|
38668
38827
|
"src/core/utils/smartart-layout-interpreter-composite-nested-cycle.ts"() {
|
|
@@ -38851,7 +39010,7 @@ var init_smartart_layout_interpreter_composite_render = __esm({
|
|
|
38851
39010
|
function slotsWithAxis(slotted, axis) {
|
|
38852
39011
|
return slotted.filter((slot) => slot.node.presentationOf?.axis?.[0] === axis);
|
|
38853
39012
|
}
|
|
38854
|
-
function arrangeByPresentationOf(slotted, allChildren, nodes, flat, box, absX, absY, childrenOf, ctx, fontCtx, index, presLayoutVars, declaringRoleChain) {
|
|
39013
|
+
function arrangeByPresentationOf(slotted, allChildren, nodes, flat, box, absX, absY, childrenOf, ctx, fontCtx, index, presLayoutVars, declaringRoleChain, sizeBox) {
|
|
38855
39014
|
const selfSlots = slotsWithAxis(slotted, "self");
|
|
38856
39015
|
if (selfSlots.length === 0) {
|
|
38857
39016
|
return void 0;
|
|
@@ -38892,7 +39051,8 @@ function arrangeByPresentationOf(slotted, allChildren, nodes, flat, box, absX, a
|
|
|
38892
39051
|
index,
|
|
38893
39052
|
ctx,
|
|
38894
39053
|
fontCtx?.fontName,
|
|
38895
|
-
declaringRoleChain
|
|
39054
|
+
declaringRoleChain,
|
|
39055
|
+
sizeBox
|
|
38896
39056
|
)
|
|
38897
39057
|
);
|
|
38898
39058
|
}
|
|
@@ -38941,7 +39101,8 @@ function arrangeComposite(plan, nodes, box, palette, style, elementId, index = E
|
|
|
38941
39101
|
fontCtx,
|
|
38942
39102
|
index,
|
|
38943
39103
|
presLayoutVars,
|
|
38944
|
-
[declaringRole]
|
|
39104
|
+
[declaringRole],
|
|
39105
|
+
sizeBox
|
|
38945
39106
|
) ?? arrangeByChooseAwareSlots(plan.node, flat, box, index, ctx, fontCtx) ?? arrangeByOrder(slotted, nodes, box, absX, absY, ctx, fontCtx);
|
|
38946
39107
|
return {
|
|
38947
39108
|
nodes: renderedNodes,
|
|
@@ -39310,12 +39471,13 @@ function computeHierarchyAxisPitches(effectiveBox, orientation, boxW, boxH, tota
|
|
|
39310
39471
|
const fanWidth = tailedPitch ? effectiveBox.width - (cascadeReserveOffsetPx ?? hangShape.maxHangDepth * HIER_TAIL_OFFSET_RATIO * boxW) : effectiveBox.width;
|
|
39311
39472
|
const hangHeightRatio = orientation.hangHeightRatio ?? HANG_HEIGHT_RATIO;
|
|
39312
39473
|
const fanHeight = tailedPitch ? effectiveBox.height - hangShape.maxHangRows * (1 + hangHeightRatio) * boxH : effectiveBox.height;
|
|
39474
|
+
const fanSibSpRatio = tailedPitch && orientation.transposed ? orientation.sibSpRatio + hangShape.maxHangDepth * HIER_TAIL_OFFSET_RATIO * (totalLeaves > 0 ? hangShape.hangingColumns / totalLeaves : 0) : orientation.sibSpRatio;
|
|
39313
39475
|
const xPitch = compositeFanPitch(
|
|
39314
39476
|
fanWidth,
|
|
39315
39477
|
boxW,
|
|
39316
39478
|
orientation.compositeWidthFactor,
|
|
39317
39479
|
orientation.cardOffsetXRatio,
|
|
39318
|
-
|
|
39480
|
+
fanSibSpRatio,
|
|
39319
39481
|
totalLeaves
|
|
39320
39482
|
);
|
|
39321
39483
|
const fixedGenerationGapRatio = orientation.transposed ? void 0 : tailedPitch ? orientation.generationGapRatio : orientation.compositeGenerationGapRatio;
|
|
@@ -39445,16 +39607,17 @@ var init_smartart_hierarchy_dispatch_lindir = __esm({
|
|
|
39445
39607
|
init_smartart_layout_interpreter_choose_algorithm();
|
|
39446
39608
|
}
|
|
39447
39609
|
});
|
|
39448
|
-
function collectScoped(node, crossedHierChild, out) {
|
|
39610
|
+
function collectScoped(node, crossedHierChild, out, nodeCount, presLayoutVars) {
|
|
39449
39611
|
if (!node) {
|
|
39450
39612
|
return;
|
|
39451
39613
|
}
|
|
39452
|
-
|
|
39614
|
+
const effectiveType = node.algorithm?.type ?? (node.choose ? chooseAlgorithmOfType(node, nodeCount, TX_ALG_TYPES, { presLayoutVars })?.type : void 0);
|
|
39615
|
+
if (effectiveType === "tx" && node.shape) {
|
|
39453
39616
|
out.push({ node, descendantScope: crossedHierChild });
|
|
39454
39617
|
}
|
|
39455
39618
|
const nextCrossed = crossedHierChild || node.algorithm?.type === "hierChild";
|
|
39456
39619
|
for (const child262 of node.children ?? []) {
|
|
39457
|
-
collectScoped(child262, nextCrossed, out);
|
|
39620
|
+
collectScoped(child262, nextCrossed, out, nodeCount, presLayoutVars);
|
|
39458
39621
|
}
|
|
39459
39622
|
}
|
|
39460
39623
|
function resolvedSize(index, name) {
|
|
@@ -39465,14 +39628,14 @@ function resolvedSize(index, name) {
|
|
|
39465
39628
|
}
|
|
39466
39629
|
return { w, h: h2 };
|
|
39467
39630
|
}
|
|
39468
|
-
function resolveHierarchyGenerationTemplates(algorithmNode, index) {
|
|
39631
|
+
function resolveHierarchyGenerationTemplates(algorithmNode, index, nodeCount, presLayoutVars) {
|
|
39469
39632
|
if (!algorithmNode) {
|
|
39470
39633
|
return void 0;
|
|
39471
39634
|
}
|
|
39472
39635
|
const fallbackNode = resolveHierarchyItemNode(algorithmNode);
|
|
39473
39636
|
const scoped = [];
|
|
39474
39637
|
for (const child262 of algorithmNode.children ?? []) {
|
|
39475
|
-
collectScoped(child262, false, scoped);
|
|
39638
|
+
collectScoped(child262, false, scoped, nodeCount, presLayoutVars);
|
|
39476
39639
|
}
|
|
39477
39640
|
const rootScoped = scoped.filter((c) => !c.descendantScope);
|
|
39478
39641
|
const descendantScoped = scoped.filter((c) => c.descendantScope);
|
|
@@ -39500,10 +39663,13 @@ function resolveHierarchyGenerationTemplates(algorithmNode, index) {
|
|
|
39500
39663
|
root: { node: rootMatch.node, name: rootMatch.node.name, widthFactor, heightFactor }
|
|
39501
39664
|
};
|
|
39502
39665
|
}
|
|
39666
|
+
var TX_ALG_TYPES;
|
|
39503
39667
|
var init_smartart_hierarchy_generation_templates = __esm({
|
|
39504
39668
|
"src/core/utils/smartart-hierarchy-generation-templates.ts"() {
|
|
39505
39669
|
init_smartart_constraint_solver();
|
|
39506
39670
|
init_smartart_hierarchy_item_template();
|
|
39671
|
+
init_smartart_layout_interpreter_choose_algorithm();
|
|
39672
|
+
TX_ALG_TYPES = /* @__PURE__ */ new Set(["tx"]);
|
|
39507
39673
|
}
|
|
39508
39674
|
});
|
|
39509
39675
|
function resolveCornerHangPlan(algorithmNode, nodeCount, presLayoutVars, index) {
|
|
@@ -39518,7 +39684,12 @@ function resolveCornerHangPlan(algorithmNode, nodeCount, presLayoutVars, index)
|
|
|
39518
39684
|
if (!linDir || !VERTICAL_LIN_DIR.has(linDir)) {
|
|
39519
39685
|
return void 0;
|
|
39520
39686
|
}
|
|
39521
|
-
const templates = resolveHierarchyGenerationTemplates(
|
|
39687
|
+
const templates = resolveHierarchyGenerationTemplates(
|
|
39688
|
+
algorithmNode,
|
|
39689
|
+
index,
|
|
39690
|
+
nodeCount,
|
|
39691
|
+
presLayoutVars
|
|
39692
|
+
);
|
|
39522
39693
|
if (!templates?.root) {
|
|
39523
39694
|
return void 0;
|
|
39524
39695
|
}
|
|
@@ -39749,6 +39920,188 @@ var init_smartart_hierarchy_fold_depth = __esm({
|
|
|
39749
39920
|
"src/core/utils/smartart-hierarchy-fold-depth.ts"() {
|
|
39750
39921
|
}
|
|
39751
39922
|
});
|
|
39923
|
+
function resolveSibSpRatio(algorithmNode) {
|
|
39924
|
+
const constraints = algorithmNode.allConstraints ?? algorithmNode.constraints ?? [];
|
|
39925
|
+
const sibSp = constraints.find((c) => c.type === "sibSp" && typeof c.factor === "number");
|
|
39926
|
+
return sibSp?.factor ?? DEFAULT_SIB_SP_RATIO;
|
|
39927
|
+
}
|
|
39928
|
+
function resolveFannedHangGeometry(algorithmNode, index, nodeCount, presLayoutVars, branchCount, box) {
|
|
39929
|
+
if (!algorithmNode || branchCount < 1) {
|
|
39930
|
+
return void 0;
|
|
39931
|
+
}
|
|
39932
|
+
const templates = resolveHierarchyGenerationTemplates(
|
|
39933
|
+
algorithmNode,
|
|
39934
|
+
index,
|
|
39935
|
+
nodeCount,
|
|
39936
|
+
presLayoutVars
|
|
39937
|
+
);
|
|
39938
|
+
if (!templates?.root) {
|
|
39939
|
+
return void 0;
|
|
39940
|
+
}
|
|
39941
|
+
const rootW_ = resolveConstraint(index, templates.root.name, "w");
|
|
39942
|
+
const rootH_ = resolveConstraint(index, templates.root.name, "h");
|
|
39943
|
+
if (rootW_ === void 0 || rootH_ === void 0 || !(rootW_ > 0) || !(rootH_ > 0)) {
|
|
39944
|
+
return void 0;
|
|
39945
|
+
}
|
|
39946
|
+
const rootAspect = rootW_ / rootH_;
|
|
39947
|
+
if (!(rootAspect > 0)) {
|
|
39948
|
+
return void 0;
|
|
39949
|
+
}
|
|
39950
|
+
const sibSpRatio = resolveSibSpRatio(algorithmNode);
|
|
39951
|
+
const rootW = box.width / (branchCount + (branchCount - 1) * sibSpRatio);
|
|
39952
|
+
const rootH = rootW / rootAspect;
|
|
39953
|
+
if (!(rootW > 0) || !(rootH > 0)) {
|
|
39954
|
+
return void 0;
|
|
39955
|
+
}
|
|
39956
|
+
const heightFactor = templates.root.heightFactor;
|
|
39957
|
+
const descH = heightFactor > 0 ? rootH / heightFactor : rootH;
|
|
39958
|
+
const descWidthFraction = resolveConstraint(index, templates.descendant.name, "w");
|
|
39959
|
+
const descW = (descWidthFraction !== void 0 && descWidthFraction > 0 && descWidthFraction <= 1.5 ? descWidthFraction : DEFAULT_DESC_WIDTH_FRACTION) * rootW;
|
|
39960
|
+
const chAlign = resolveHierarchyDispatchChAlign(algorithmNode, nodeCount, presLayoutVars);
|
|
39961
|
+
const linDir = algorithmNode.algorithm?.parameters?.find((p) => p.type === "linDir")?.value;
|
|
39962
|
+
return {
|
|
39963
|
+
rootW,
|
|
39964
|
+
rootH,
|
|
39965
|
+
descW,
|
|
39966
|
+
descH,
|
|
39967
|
+
gap: sibSpRatio * rootW,
|
|
39968
|
+
side: chAlign === "r" ? "right" : "left",
|
|
39969
|
+
reversed: linDir === "fromR"
|
|
39970
|
+
};
|
|
39971
|
+
}
|
|
39972
|
+
var DEFAULT_SIB_SP_RATIO;
|
|
39973
|
+
var DEFAULT_DESC_WIDTH_FRACTION;
|
|
39974
|
+
var init_smartart_hierarchy_fanned_hang_geometry = __esm({
|
|
39975
|
+
"src/core/utils/smartart-hierarchy-fanned-hang-geometry.ts"() {
|
|
39976
|
+
init_smartart_constraint_solver();
|
|
39977
|
+
init_smartart_hierarchy_dispatch_lindir();
|
|
39978
|
+
init_smartart_hierarchy_generation_templates();
|
|
39979
|
+
DEFAULT_SIB_SP_RATIO = 0.05;
|
|
39980
|
+
DEFAULT_DESC_WIDTH_FRACTION = 0.85;
|
|
39981
|
+
}
|
|
39982
|
+
});
|
|
39983
|
+
function resolveHierarchyItemFontSizePx(nodes, algorithmNode, index, boxW, boxH, fontName) {
|
|
39984
|
+
if (!algorithmNode) {
|
|
39985
|
+
return void 0;
|
|
39986
|
+
}
|
|
39987
|
+
const textNodes = nodes.filter((node) => node.text && node.text.trim().length > 0);
|
|
39988
|
+
if (textNodes.length === 0) {
|
|
39989
|
+
return void 0;
|
|
39990
|
+
}
|
|
39991
|
+
const plan = { node: algorithmNode };
|
|
39992
|
+
const { rootSizePx } = resolveTieredItemFontSize(
|
|
39993
|
+
plan,
|
|
39994
|
+
index,
|
|
39995
|
+
textNodes.map((node) => ({
|
|
39996
|
+
rootText: node.text,
|
|
39997
|
+
descendantTexts: [],
|
|
39998
|
+
width: boxW,
|
|
39999
|
+
height: boxH
|
|
40000
|
+
})),
|
|
40001
|
+
fontName,
|
|
40002
|
+
void 0,
|
|
40003
|
+
0,
|
|
40004
|
+
algorithmNode
|
|
40005
|
+
);
|
|
40006
|
+
return rootSizePx;
|
|
40007
|
+
}
|
|
40008
|
+
var init_smartart_layout_interpreter_hierarchy_fontfit = __esm({
|
|
40009
|
+
"src/core/utils/smartart-layout-interpreter-hierarchy-fontfit.ts"() {
|
|
40010
|
+
init_smartart_layout_item_font_tier();
|
|
40011
|
+
}
|
|
40012
|
+
});
|
|
40013
|
+
function placeDescendantColumn(hc, node, edgeX, side, y, descW, descH, stackGapPx, parentId, parentCenterX, parentBottom) {
|
|
40014
|
+
const x = side === "right" ? edgeX - descW : edgeX;
|
|
40015
|
+
pushNode(hc, node.node, x, y, descW, descH);
|
|
40016
|
+
elbowConnector(hc, parentId, parentCenterX, parentBottom, x + descW / 2, y, node.node.id);
|
|
40017
|
+
let nextY = y + descH + stackGapPx;
|
|
40018
|
+
for (const child262 of node.children) {
|
|
40019
|
+
nextY = placeDescendantColumn(
|
|
40020
|
+
hc,
|
|
40021
|
+
child262,
|
|
40022
|
+
edgeX,
|
|
40023
|
+
side,
|
|
40024
|
+
nextY,
|
|
40025
|
+
descW,
|
|
40026
|
+
descH,
|
|
40027
|
+
stackGapPx,
|
|
40028
|
+
node.node.id,
|
|
40029
|
+
x + descW / 2,
|
|
40030
|
+
y + descH
|
|
40031
|
+
);
|
|
40032
|
+
}
|
|
40033
|
+
return nextY;
|
|
40034
|
+
}
|
|
40035
|
+
function arrangeFannedHangingForest(nodes, box, palette, style, elementId, roots, itemShape, connectorLabels, algorithmNode, index, fontName, presLayoutVars, orgChart) {
|
|
40036
|
+
if (orgChart) {
|
|
40037
|
+
return void 0;
|
|
40038
|
+
}
|
|
40039
|
+
const geometry = resolveFannedHangGeometry(
|
|
40040
|
+
algorithmNode,
|
|
40041
|
+
index,
|
|
40042
|
+
nodes.length,
|
|
40043
|
+
presLayoutVars,
|
|
40044
|
+
roots.length,
|
|
40045
|
+
box
|
|
40046
|
+
);
|
|
40047
|
+
if (!geometry) {
|
|
40048
|
+
return void 0;
|
|
40049
|
+
}
|
|
40050
|
+
const { rootW, rootH, descW, descH, gap, side, reversed } = geometry;
|
|
40051
|
+
const hc = baseContext(
|
|
40052
|
+
nodes.length,
|
|
40053
|
+
elementId,
|
|
40054
|
+
palette,
|
|
40055
|
+
style,
|
|
40056
|
+
descW,
|
|
40057
|
+
descH,
|
|
40058
|
+
connectorLabels,
|
|
40059
|
+
itemShape,
|
|
40060
|
+
resolveHierarchyItemFontSizePx(nodes, algorithmNode, index, descW, descH, fontName)
|
|
40061
|
+
);
|
|
40062
|
+
const rootChildGap = ROOT_CHILD_GAP_RATIO * descH;
|
|
40063
|
+
const branchCount = roots.length;
|
|
40064
|
+
roots.forEach((root, i2) => {
|
|
40065
|
+
const columnIndex = reversed ? branchCount - 1 - i2 : i2;
|
|
40066
|
+
const branchX = columnIndex * (rootW + gap);
|
|
40067
|
+
pushNode(hc, root.node, branchX, 0, rootW, rootH);
|
|
40068
|
+
const edgeX = side === "right" ? branchX + rootW : branchX;
|
|
40069
|
+
let y = rootH + rootChildGap;
|
|
40070
|
+
for (const child262 of root.children) {
|
|
40071
|
+
y = placeDescendantColumn(
|
|
40072
|
+
hc,
|
|
40073
|
+
child262,
|
|
40074
|
+
edgeX,
|
|
40075
|
+
side,
|
|
40076
|
+
y,
|
|
40077
|
+
descW,
|
|
40078
|
+
descH,
|
|
40079
|
+
DESCENDANT_STACK_GAP_RATIO * descH,
|
|
40080
|
+
root.node.id,
|
|
40081
|
+
branchX + rootW / 2,
|
|
40082
|
+
rootH
|
|
40083
|
+
);
|
|
40084
|
+
}
|
|
40085
|
+
});
|
|
40086
|
+
return {
|
|
40087
|
+
nodes: hc.nodes,
|
|
40088
|
+
connectors: hc.connectors,
|
|
40089
|
+
shadowFilter: hc.ctx.shadow,
|
|
40090
|
+
viewBox: `0 0 ${box.width} ${box.height}`,
|
|
40091
|
+
family: "hierarchy"
|
|
40092
|
+
};
|
|
40093
|
+
}
|
|
40094
|
+
var ROOT_CHILD_GAP_RATIO;
|
|
40095
|
+
var DESCENDANT_STACK_GAP_RATIO;
|
|
40096
|
+
var init_smartart_hierarchy_fanned_hang = __esm({
|
|
40097
|
+
"src/core/utils/smartart-hierarchy-fanned-hang.ts"() {
|
|
40098
|
+
init_smartart_hierarchy_fanned_hang_geometry();
|
|
40099
|
+
init_smartart_hierarchy_shared();
|
|
40100
|
+
init_smartart_layout_interpreter_hierarchy_fontfit();
|
|
40101
|
+
ROOT_CHILD_GAP_RATIO = 0.98;
|
|
40102
|
+
DESCENDANT_STACK_GAP_RATIO = 0;
|
|
40103
|
+
}
|
|
40104
|
+
});
|
|
39752
40105
|
function placeAssistants(hc, x, parentBottom, assistants, options, cursor) {
|
|
39753
40106
|
for (const assistant of assistants) {
|
|
39754
40107
|
const y = cursor.y;
|
|
@@ -39808,7 +40161,7 @@ function resolveRowGapRatio(constraints, descendantName) {
|
|
|
39808
40161
|
);
|
|
39809
40162
|
return sibSp?.factor;
|
|
39810
40163
|
}
|
|
39811
|
-
function fitHangingBox(algorithmNode, index, w, h2, rows) {
|
|
40164
|
+
function fitHangingBox(algorithmNode, index, w, h2, rows, nodeCount, presLayoutVars) {
|
|
39812
40165
|
const fallbackBoxH = Math.min(h2 * FALLBACK_BOX_H_RATIO, FALLBACK_BOX_H_MAX);
|
|
39813
40166
|
const fallback = {
|
|
39814
40167
|
boxW: Math.min(w * FALLBACK_BOX_W_RATIO, FALLBACK_BOX_W_MAX),
|
|
@@ -39818,7 +40171,12 @@ function fitHangingBox(algorithmNode, index, w, h2, rows) {
|
|
|
39818
40171
|
if (!algorithmNode || rows < 1) {
|
|
39819
40172
|
return fallback;
|
|
39820
40173
|
}
|
|
39821
|
-
const templates = resolveHierarchyGenerationTemplates(
|
|
40174
|
+
const templates = resolveHierarchyGenerationTemplates(
|
|
40175
|
+
algorithmNode,
|
|
40176
|
+
index,
|
|
40177
|
+
nodeCount,
|
|
40178
|
+
presLayoutVars
|
|
40179
|
+
);
|
|
39822
40180
|
if (!templates) {
|
|
39823
40181
|
return fallback;
|
|
39824
40182
|
}
|
|
@@ -39889,41 +40247,11 @@ var init_smartart_hierarchy_hanging_fold = __esm({
|
|
|
39889
40247
|
init_smartart_hierarchy_orgchart_tree();
|
|
39890
40248
|
}
|
|
39891
40249
|
});
|
|
39892
|
-
function
|
|
39893
|
-
if (!algorithmNode) {
|
|
39894
|
-
return void 0;
|
|
39895
|
-
}
|
|
39896
|
-
const textNodes = nodes.filter((node) => node.text && node.text.trim().length > 0);
|
|
39897
|
-
if (textNodes.length === 0) {
|
|
39898
|
-
return void 0;
|
|
39899
|
-
}
|
|
39900
|
-
const plan = { node: algorithmNode };
|
|
39901
|
-
const { rootSizePx } = resolveTieredItemFontSize(
|
|
39902
|
-
plan,
|
|
39903
|
-
index,
|
|
39904
|
-
textNodes.map((node) => ({
|
|
39905
|
-
rootText: node.text,
|
|
39906
|
-
descendantTexts: [],
|
|
39907
|
-
width: boxW,
|
|
39908
|
-
height: boxH
|
|
39909
|
-
})),
|
|
39910
|
-
fontName,
|
|
39911
|
-
void 0,
|
|
39912
|
-
0,
|
|
39913
|
-
algorithmNode
|
|
39914
|
-
);
|
|
39915
|
-
return rootSizePx;
|
|
39916
|
-
}
|
|
39917
|
-
var init_smartart_layout_interpreter_hierarchy_fontfit = __esm({
|
|
39918
|
-
"src/core/utils/smartart-layout-interpreter-hierarchy-fontfit.ts"() {
|
|
39919
|
-
init_smartart_layout_item_font_tier();
|
|
39920
|
-
}
|
|
39921
|
-
});
|
|
39922
|
-
function arrangeFullyHangingTree(nodes, box, palette, style, elementId, roots, itemShape, connectorLabels, algorithmNode, index, fontName, linDir, orgChart, cornerSide) {
|
|
40250
|
+
function arrangeFullyHangingTree(nodes, box, palette, style, elementId, roots, itemShape, connectorLabels, algorithmNode, index, fontName, linDir, orgChart, presLayoutVars, cornerSide) {
|
|
39923
40251
|
const { width: w, height: h2 } = box;
|
|
39924
40252
|
const foldDeeperGenerations = algorithmNode ? hierarchyLeafFoldsDescendants(algorithmNode) : false;
|
|
39925
40253
|
const rows = countHangingRows(roots, orgChart, foldDeeperGenerations);
|
|
39926
|
-
const fit = fitHangingBox(algorithmNode, index, w, h2, rows);
|
|
40254
|
+
const fit = fitHangingBox(algorithmNode, index, w, h2, rows, nodes.length, presLayoutVars);
|
|
39927
40255
|
const { boxW, boxH, vGap } = fit;
|
|
39928
40256
|
const indent = boxW * 0.35;
|
|
39929
40257
|
const hc = baseContext(
|
|
@@ -39979,6 +40307,51 @@ var init_smartart_hierarchy_hanging_arrange = __esm({
|
|
|
39979
40307
|
HANGING_MODE_INSET = 6;
|
|
39980
40308
|
}
|
|
39981
40309
|
});
|
|
40310
|
+
function dispatchHangingMode(nodes, box, palette, style, elementId, roots, itemShape, connectorLabels, algorithmNode, index, fontName, presLayoutVars, orgChart, cornerPlan) {
|
|
40311
|
+
if (roots.length > 1) {
|
|
40312
|
+
const fanned = arrangeFannedHangingForest(
|
|
40313
|
+
nodes,
|
|
40314
|
+
box,
|
|
40315
|
+
palette,
|
|
40316
|
+
style,
|
|
40317
|
+
elementId,
|
|
40318
|
+
roots,
|
|
40319
|
+
itemShape,
|
|
40320
|
+
connectorLabels,
|
|
40321
|
+
algorithmNode,
|
|
40322
|
+
index,
|
|
40323
|
+
fontName,
|
|
40324
|
+
presLayoutVars,
|
|
40325
|
+
orgChart
|
|
40326
|
+
);
|
|
40327
|
+
if (fanned) {
|
|
40328
|
+
return fanned;
|
|
40329
|
+
}
|
|
40330
|
+
}
|
|
40331
|
+
return arrangeFullyHangingTree(
|
|
40332
|
+
nodes,
|
|
40333
|
+
box,
|
|
40334
|
+
palette,
|
|
40335
|
+
style,
|
|
40336
|
+
elementId,
|
|
40337
|
+
roots,
|
|
40338
|
+
itemShape,
|
|
40339
|
+
connectorLabels,
|
|
40340
|
+
algorithmNode,
|
|
40341
|
+
index,
|
|
40342
|
+
fontName,
|
|
40343
|
+
cornerPlan?.linDir,
|
|
40344
|
+
orgChart,
|
|
40345
|
+
presLayoutVars,
|
|
40346
|
+
cornerPlan?.side
|
|
40347
|
+
);
|
|
40348
|
+
}
|
|
40349
|
+
var init_smartart_hierarchy_hang_dispatch = __esm({
|
|
40350
|
+
"src/core/utils/smartart-hierarchy-hang-dispatch.ts"() {
|
|
40351
|
+
init_smartart_hierarchy_fanned_hang();
|
|
40352
|
+
init_smartart_hierarchy_hanging_arrange();
|
|
40353
|
+
}
|
|
40354
|
+
});
|
|
39982
40355
|
function findCompositeDescendant(node) {
|
|
39983
40356
|
if (!node) {
|
|
39984
40357
|
return void 0;
|
|
@@ -40335,7 +40708,7 @@ function resolveHierarchyOrientation(algorithmNode, index, mode = "std", itemSha
|
|
|
40335
40708
|
index,
|
|
40336
40709
|
roleOf(algorithmNode),
|
|
40337
40710
|
["sibSp"],
|
|
40338
|
-
|
|
40711
|
+
DEFAULT_SIB_SP_RATIO2,
|
|
40339
40712
|
algorithmNode?.rules
|
|
40340
40713
|
);
|
|
40341
40714
|
if (sibSpReferencesHeight || tailedTransposed) {
|
|
@@ -40399,7 +40772,7 @@ function resolveHierarchyOrientation(algorithmNode, index, mode = "std", itemSha
|
|
|
40399
40772
|
cardOffsetXRatio: compositeChild?.offsetXRatio ?? 0
|
|
40400
40773
|
};
|
|
40401
40774
|
}
|
|
40402
|
-
var
|
|
40775
|
+
var DEFAULT_SIB_SP_RATIO2;
|
|
40403
40776
|
var OUTER_MARGIN_X_RATIO;
|
|
40404
40777
|
var OUTER_MARGIN_Y_RATIO;
|
|
40405
40778
|
var init_smartart_hierarchy_orientation = __esm({
|
|
@@ -40415,7 +40788,7 @@ var init_smartart_hierarchy_orientation = __esm({
|
|
|
40415
40788
|
init_smartart_hierarchy_transpose();
|
|
40416
40789
|
init_smartart_hierarchy_fit_item_box();
|
|
40417
40790
|
init_smartart_hierarchy_child_order();
|
|
40418
|
-
|
|
40791
|
+
DEFAULT_SIB_SP_RATIO2 = 0.1;
|
|
40419
40792
|
OUTER_MARGIN_X_RATIO = 0.0491;
|
|
40420
40793
|
OUTER_MARGIN_Y_RATIO = 0.0707;
|
|
40421
40794
|
}
|
|
@@ -40841,7 +41214,7 @@ function arrangeHierarchy(nodes, box, palette, style, elementId, presLayoutVars,
|
|
|
40841
41214
|
const mode = branchMode(presLayoutVars, cornerPlan?.linDir);
|
|
40842
41215
|
const itemShape = algorithmNode ? findHierarchyItemShape(algorithmNode) : void 0;
|
|
40843
41216
|
if (mode === "hanging") {
|
|
40844
|
-
return
|
|
41217
|
+
return dispatchHangingMode(
|
|
40845
41218
|
nodes,
|
|
40846
41219
|
box,
|
|
40847
41220
|
palette,
|
|
@@ -40853,9 +41226,9 @@ function arrangeHierarchy(nodes, box, palette, style, elementId, presLayoutVars,
|
|
|
40853
41226
|
algorithmNode,
|
|
40854
41227
|
index,
|
|
40855
41228
|
fontName,
|
|
40856
|
-
|
|
41229
|
+
presLayoutVars,
|
|
40857
41230
|
orgChart,
|
|
40858
|
-
cornerPlan
|
|
41231
|
+
cornerPlan
|
|
40859
41232
|
);
|
|
40860
41233
|
}
|
|
40861
41234
|
const { orientation, swapAxes, effectiveBox } = resolveHierarchyEffectiveOrientation(
|
|
@@ -40965,7 +41338,7 @@ var init_smartart_layout_interpreter_hierarchy = __esm({
|
|
|
40965
41338
|
init_smartart_hierarchy_fan_aware_width();
|
|
40966
41339
|
init_smartart_hierarchy_fold_depth();
|
|
40967
41340
|
init_smartart_hierarchy_hang_depth();
|
|
40968
|
-
|
|
41341
|
+
init_smartart_hierarchy_hang_dispatch();
|
|
40969
41342
|
init_smartart_hierarchy_orgchart_tree();
|
|
40970
41343
|
init_smartart_hierarchy_orientation();
|
|
40971
41344
|
init_smartart_hierarchy_orientation_resolve();
|
|
@@ -46524,16 +46897,29 @@ function parseChartUniqueId(node, localName28) {
|
|
|
46524
46897
|
const val2 = uniqueIdNode?.["@_val"];
|
|
46525
46898
|
return typeof val2 === "string" && val2.length > 0 ? val2 : void 0;
|
|
46526
46899
|
}
|
|
46900
|
+
function randomBytes(length) {
|
|
46901
|
+
const cryptoObj = typeof crypto === "undefined" ? void 0 : crypto;
|
|
46902
|
+
if (cryptoObj && typeof cryptoObj.getRandomValues === "function") {
|
|
46903
|
+
return cryptoObj.getRandomValues(new Uint8Array(length));
|
|
46904
|
+
}
|
|
46905
|
+
const bytes = new Uint8Array(length);
|
|
46906
|
+
for (let i2 = 0; i2 < length; i2++) {
|
|
46907
|
+
bytes[i2] = Math.floor(Math.random() * 256);
|
|
46908
|
+
}
|
|
46909
|
+
return bytes;
|
|
46910
|
+
}
|
|
46527
46911
|
function randomHex(length) {
|
|
46912
|
+
const bytes = randomBytes(Math.ceil(length / 2));
|
|
46528
46913
|
let out = "";
|
|
46529
|
-
for (
|
|
46530
|
-
out +=
|
|
46914
|
+
for (const b of bytes) {
|
|
46915
|
+
out += b.toString(16).padStart(2, "0");
|
|
46531
46916
|
}
|
|
46532
|
-
return out;
|
|
46917
|
+
return out.slice(0, length);
|
|
46533
46918
|
}
|
|
46534
46919
|
function generateChartUniqueId() {
|
|
46535
46920
|
const cryptoObj = typeof crypto === "undefined" ? void 0 : crypto;
|
|
46536
|
-
const
|
|
46921
|
+
const variantNibble = (8 + randomBytes(1)[0] % 4).toString(16);
|
|
46922
|
+
const uuid = cryptoObj && typeof cryptoObj.randomUUID === "function" ? cryptoObj.randomUUID() : `${randomHex(8)}-${randomHex(4)}-4${randomHex(3)}-${variantNibble}${randomHex(3)}-${randomHex(12)}`;
|
|
46537
46923
|
return `{${uuid.toUpperCase()}}`;
|
|
46538
46924
|
}
|
|
46539
46925
|
function buildChartUniqueIdExtLst(uniqueId) {
|
|
@@ -49293,7 +49679,7 @@ function parseWorksheetCells(xml) {
|
|
|
49293
49679
|
return [];
|
|
49294
49680
|
}
|
|
49295
49681
|
const rows = getChildArray(sheetData, "row");
|
|
49296
|
-
const
|
|
49682
|
+
const cells2 = [];
|
|
49297
49683
|
for (const row of rows) {
|
|
49298
49684
|
const cellNodes = getChildArray(row, "c");
|
|
49299
49685
|
for (const cell of cellNodes) {
|
|
@@ -49307,7 +49693,7 @@ function parseWorksheetCells(xml) {
|
|
|
49307
49693
|
if (rawValue === void 0) {
|
|
49308
49694
|
continue;
|
|
49309
49695
|
}
|
|
49310
|
-
|
|
49696
|
+
cells2.push({
|
|
49311
49697
|
col,
|
|
49312
49698
|
row: rowIdx,
|
|
49313
49699
|
type: cellType,
|
|
@@ -49315,7 +49701,7 @@ function parseWorksheetCells(xml) {
|
|
|
49315
49701
|
});
|
|
49316
49702
|
}
|
|
49317
49703
|
}
|
|
49318
|
-
return
|
|
49704
|
+
return cells2;
|
|
49319
49705
|
}
|
|
49320
49706
|
function findByLocalName2(obj, localName28) {
|
|
49321
49707
|
for (const key2 of Object.keys(obj)) {
|
|
@@ -49416,13 +49802,13 @@ async function parseEmbeddedXlsx(xlsxData) {
|
|
|
49416
49802
|
}
|
|
49417
49803
|
const sheet1Xml = await sheet1File.async("string");
|
|
49418
49804
|
const parsedSheet = xmlParser.parse(sheet1Xml);
|
|
49419
|
-
const
|
|
49420
|
-
if (
|
|
49805
|
+
const cells2 = parseWorksheetCells(parsedSheet);
|
|
49806
|
+
if (cells2.length === 0) {
|
|
49421
49807
|
return void 0;
|
|
49422
49808
|
}
|
|
49423
49809
|
let maxRow = 0;
|
|
49424
49810
|
let maxCol = 0;
|
|
49425
|
-
for (const cell of
|
|
49811
|
+
for (const cell of cells2) {
|
|
49426
49812
|
if (cell.row > maxRow) {
|
|
49427
49813
|
maxRow = cell.row;
|
|
49428
49814
|
}
|
|
@@ -49434,7 +49820,7 @@ async function parseEmbeddedXlsx(xlsxData) {
|
|
|
49434
49820
|
for (let r = 0; r <= maxRow; r++) {
|
|
49435
49821
|
grid[r] = Array.from({ length: maxCol + 1 }).fill(void 0);
|
|
49436
49822
|
}
|
|
49437
|
-
for (const cell of
|
|
49823
|
+
for (const cell of cells2) {
|
|
49438
49824
|
grid[cell.row][cell.col] = resolveCellValue(cell, sharedStrings);
|
|
49439
49825
|
}
|
|
49440
49826
|
if (maxRow === 0 && maxCol === 0) {
|
|
@@ -67376,11 +67762,11 @@ function annotateParagraphSiblingOrder(xml, parsed) {
|
|
|
67376
67762
|
}
|
|
67377
67763
|
}
|
|
67378
67764
|
}
|
|
67379
|
-
function paragraphContentEntries(paragraph, contentTags
|
|
67765
|
+
function paragraphContentEntries(paragraph, contentTags) {
|
|
67380
67766
|
const order = childOrder2.get(paragraph);
|
|
67381
67767
|
if (!order) {
|
|
67382
67768
|
const entries2 = Object.keys(paragraph).flatMap(
|
|
67383
|
-
(key2) => contentTags.has(key2) ?
|
|
67769
|
+
(key2) => contentTags.has(key2) ? ensureItems(paragraph[key2]).map((item) => [key2, item]) : []
|
|
67384
67770
|
);
|
|
67385
67771
|
return { entries: entries2, authored: false };
|
|
67386
67772
|
}
|
|
@@ -67392,7 +67778,7 @@ function paragraphContentEntries(paragraph, contentTags, ensureArray20) {
|
|
|
67392
67778
|
if (!contentTags.has(tag)) {
|
|
67393
67779
|
continue;
|
|
67394
67780
|
}
|
|
67395
|
-
const item =
|
|
67781
|
+
const item = ensureItems(paragraph[tag])[index];
|
|
67396
67782
|
if (item !== void 0) {
|
|
67397
67783
|
entries.push([tag, item]);
|
|
67398
67784
|
}
|
|
@@ -67458,29 +67844,29 @@ function extractTableCellTextRuns(tableCell, context) {
|
|
|
67458
67844
|
return void 0;
|
|
67459
67845
|
}
|
|
67460
67846
|
const runs = [];
|
|
67461
|
-
let
|
|
67847
|
+
let contentRunCount = 0;
|
|
67462
67848
|
paragraphs.forEach((paragraph, paragraphIndex) => {
|
|
67463
67849
|
if (paragraphIndex > 0) {
|
|
67464
67850
|
runs.push({ text: "", isParagraphBreak: true });
|
|
67465
67851
|
}
|
|
67466
|
-
const { entries } = paragraphContentEntries(
|
|
67467
|
-
paragraph,
|
|
67468
|
-
CELL_CONTENT_TAGS,
|
|
67469
|
-
(value) => context.ensureArray(value)
|
|
67470
|
-
);
|
|
67852
|
+
const { entries } = paragraphContentEntries(paragraph, CELL_CONTENT_TAGS);
|
|
67471
67853
|
for (const [tag, item] of entries) {
|
|
67472
67854
|
if (tag === "a:br") {
|
|
67473
67855
|
runs.push({ text: "", isLineBreak: true });
|
|
67856
|
+
contentRunCount++;
|
|
67474
67857
|
continue;
|
|
67475
67858
|
}
|
|
67476
67859
|
const node = item;
|
|
67477
67860
|
const run = { text: String(node?.["a:t"] ?? "") };
|
|
67861
|
+
if (tag === "a:fld") {
|
|
67862
|
+
run.isField = true;
|
|
67863
|
+
}
|
|
67478
67864
|
applyRunProperties(run, node?.["a:rPr"], context);
|
|
67479
67865
|
runs.push(run);
|
|
67480
|
-
|
|
67866
|
+
contentRunCount++;
|
|
67481
67867
|
}
|
|
67482
67868
|
});
|
|
67483
|
-
return
|
|
67869
|
+
return contentRunCount > 0 ? runs : void 0;
|
|
67484
67870
|
}
|
|
67485
67871
|
var CELL_CONTENT_TAGS;
|
|
67486
67872
|
var init_table_cell_runs = __esm({
|
|
@@ -99938,6 +100324,149 @@ var init_save_table_merge_helpers = __esm({
|
|
|
99938
100324
|
];
|
|
99939
100325
|
}
|
|
99940
100326
|
});
|
|
100327
|
+
function runTag(run) {
|
|
100328
|
+
return run.isLineBreak ? "a:br" : run.isField ? "a:fld" : "a:r";
|
|
100329
|
+
}
|
|
100330
|
+
function supportsOrder(paragraph, tags) {
|
|
100331
|
+
for (const [key2, value] of Object.entries(paragraph)) {
|
|
100332
|
+
if (key2.startsWith("@_") || key2 === "a:pPr" || key2 === "a:endParaRPr") {
|
|
100333
|
+
continue;
|
|
100334
|
+
}
|
|
100335
|
+
if (key2 === "#text" && String(value).trim() === "") {
|
|
100336
|
+
continue;
|
|
100337
|
+
}
|
|
100338
|
+
if (!CONTENT_TAGS.has(key2)) {
|
|
100339
|
+
return false;
|
|
100340
|
+
}
|
|
100341
|
+
}
|
|
100342
|
+
return [...CONTENT_TAGS].every(
|
|
100343
|
+
(tag) => tags.filter((candidate) => candidate === tag).length === ensureItems(paragraph[tag]).length
|
|
100344
|
+
);
|
|
100345
|
+
}
|
|
100346
|
+
function matchesParagraph(paragraph, runs) {
|
|
100347
|
+
if (!supportsOrder(paragraph, runs.map(runTag))) {
|
|
100348
|
+
return false;
|
|
100349
|
+
}
|
|
100350
|
+
const consumed = /* @__PURE__ */ new Map();
|
|
100351
|
+
for (const run of runs) {
|
|
100352
|
+
const tag = runTag(run);
|
|
100353
|
+
const index = consumed.get(tag) ?? 0;
|
|
100354
|
+
const node = ensureItems(paragraph[tag])[index];
|
|
100355
|
+
if (node === void 0) {
|
|
100356
|
+
return false;
|
|
100357
|
+
}
|
|
100358
|
+
if (tag !== "a:br" && (!isXmlObject3(node) || String(node["a:t"] ?? "") !== run.text)) {
|
|
100359
|
+
return false;
|
|
100360
|
+
}
|
|
100361
|
+
consumed.set(tag, index + 1);
|
|
100362
|
+
}
|
|
100363
|
+
return true;
|
|
100364
|
+
}
|
|
100365
|
+
function recordTableParagraphOrder(xmlCell, textRuns) {
|
|
100366
|
+
const txBody = xmlCell["a:txBody"];
|
|
100367
|
+
const paragraphs = isXmlObject3(txBody) ? ensureItems(txBody["a:p"]) : [];
|
|
100368
|
+
for (const paragraph of paragraphs) {
|
|
100369
|
+
if (isXmlObject3(paragraph)) {
|
|
100370
|
+
paragraphOrders.delete(paragraph);
|
|
100371
|
+
}
|
|
100372
|
+
}
|
|
100373
|
+
if (!textRuns) {
|
|
100374
|
+
return;
|
|
100375
|
+
}
|
|
100376
|
+
const runsByParagraph = [[]];
|
|
100377
|
+
for (const run of textRuns) {
|
|
100378
|
+
if (run.isParagraphBreak) {
|
|
100379
|
+
runsByParagraph.push([]);
|
|
100380
|
+
} else {
|
|
100381
|
+
runsByParagraph.at(-1).push(run);
|
|
100382
|
+
}
|
|
100383
|
+
}
|
|
100384
|
+
if (runsByParagraph.length !== paragraphs.length) {
|
|
100385
|
+
return;
|
|
100386
|
+
}
|
|
100387
|
+
paragraphs.forEach((paragraph, index) => {
|
|
100388
|
+
const runs = runsByParagraph[index];
|
|
100389
|
+
const tags = runs.map(runTag);
|
|
100390
|
+
if (isXmlObject3(paragraph) && !isGroupedByTag(tags) && matchesParagraph(paragraph, runs)) {
|
|
100391
|
+
paragraphOrders.set(paragraph, tags);
|
|
100392
|
+
}
|
|
100393
|
+
});
|
|
100394
|
+
}
|
|
100395
|
+
function orderedParagraph(paragraph, tags) {
|
|
100396
|
+
const result = {};
|
|
100397
|
+
for (const [key2, value] of Object.entries(paragraph)) {
|
|
100398
|
+
if (!CONTENT_TAGS.has(key2) && key2 !== "a:pPr" && key2 !== "a:endParaRPr") {
|
|
100399
|
+
setOwnXmlProperty(result, key2, value);
|
|
100400
|
+
}
|
|
100401
|
+
}
|
|
100402
|
+
if (paragraph["a:pPr"] !== void 0) {
|
|
100403
|
+
result["a:pPr"] = paragraph["a:pPr"];
|
|
100404
|
+
}
|
|
100405
|
+
const consumed = /* @__PURE__ */ new Map();
|
|
100406
|
+
assignOrderedXmlChildren(
|
|
100407
|
+
result,
|
|
100408
|
+
tags.map((tag) => {
|
|
100409
|
+
const index = consumed.get(tag) ?? 0;
|
|
100410
|
+
consumed.set(tag, index + 1);
|
|
100411
|
+
return { tag, node: ensureItems(paragraph[tag])[index] };
|
|
100412
|
+
})
|
|
100413
|
+
);
|
|
100414
|
+
if (paragraph["a:endParaRPr"] !== void 0) {
|
|
100415
|
+
result["a:endParaRPr"] = paragraph["a:endParaRPr"];
|
|
100416
|
+
}
|
|
100417
|
+
return result;
|
|
100418
|
+
}
|
|
100419
|
+
function withOrderedTableParagraphs(value, insideTable = false) {
|
|
100420
|
+
if (Array.isArray(value)) {
|
|
100421
|
+
let result2 = value;
|
|
100422
|
+
value.forEach((item, index) => {
|
|
100423
|
+
const next = withOrderedTableParagraphs(item, insideTable);
|
|
100424
|
+
if (next !== item) {
|
|
100425
|
+
if (result2 === value) {
|
|
100426
|
+
result2 = [...value];
|
|
100427
|
+
}
|
|
100428
|
+
result2[index] = next;
|
|
100429
|
+
}
|
|
100430
|
+
});
|
|
100431
|
+
return result2;
|
|
100432
|
+
}
|
|
100433
|
+
if (!isXmlObject3(value)) {
|
|
100434
|
+
return value;
|
|
100435
|
+
}
|
|
100436
|
+
let result = value;
|
|
100437
|
+
for (const [key2, item] of Object.entries(value)) {
|
|
100438
|
+
if (key2.startsWith("@_") || key2 === "#text") {
|
|
100439
|
+
continue;
|
|
100440
|
+
}
|
|
100441
|
+
const next = withOrderedTableParagraphs(item, insideTable || key2 === "a:tbl");
|
|
100442
|
+
if (next !== item) {
|
|
100443
|
+
if (result === value) {
|
|
100444
|
+
result = { ...value };
|
|
100445
|
+
}
|
|
100446
|
+
setOwnXmlProperty(result, key2, next);
|
|
100447
|
+
}
|
|
100448
|
+
}
|
|
100449
|
+
let tags = paragraphOrders.get(value);
|
|
100450
|
+
if (!tags && insideTable) {
|
|
100451
|
+
const { entries, authored } = paragraphContentEntries(value, CONTENT_TAGS);
|
|
100452
|
+
const sourceTags = entries.map(([tag]) => tag);
|
|
100453
|
+
if (authored && supportsOrder(value, sourceTags)) {
|
|
100454
|
+
tags = sourceTags;
|
|
100455
|
+
}
|
|
100456
|
+
}
|
|
100457
|
+
return tags ? orderedParagraph(result, tags) : result;
|
|
100458
|
+
}
|
|
100459
|
+
var CONTENT_TAGS;
|
|
100460
|
+
var paragraphOrders;
|
|
100461
|
+
var init_table_paragraph_save_order = __esm({
|
|
100462
|
+
"src/core/core/runtime/table-paragraph-save-order.ts"() {
|
|
100463
|
+
init_ordered_xml_children();
|
|
100464
|
+
init_paragraph_sibling_order();
|
|
100465
|
+
init_xml_child_scan();
|
|
100466
|
+
CONTENT_TAGS = /* @__PURE__ */ new Set(["a:r", "a:br", "a:fld"]);
|
|
100467
|
+
paragraphOrders = /* @__PURE__ */ new WeakMap();
|
|
100468
|
+
}
|
|
100469
|
+
});
|
|
99941
100470
|
function ensureArray19(value) {
|
|
99942
100471
|
if (value === void 0 || value === null) {
|
|
99943
100472
|
return [];
|
|
@@ -99958,6 +100487,13 @@ function createDefaultXmlCell() {
|
|
|
99958
100487
|
"a:tcPr": {}
|
|
99959
100488
|
};
|
|
99960
100489
|
}
|
|
100490
|
+
function createDefaultXmlRow(colCount, heightEmu) {
|
|
100491
|
+
const cells2 = Array.from({ length: colCount }, () => createDefaultXmlCell());
|
|
100492
|
+
return {
|
|
100493
|
+
"@_h": String(DEFAULT_ROW_HEIGHT_EMU),
|
|
100494
|
+
"a:tc": cells2.length === 1 ? cells2[0] : cells2
|
|
100495
|
+
};
|
|
100496
|
+
}
|
|
99961
100497
|
function getTblFromRawXml(rawXml) {
|
|
99962
100498
|
const graphicData = rawXml["a:graphic"]?.["a:graphicData"];
|
|
99963
100499
|
return graphicData?.["a:tbl"];
|
|
@@ -100156,6 +100692,157 @@ var init_table_create_xml = __esm({
|
|
|
100156
100692
|
init_table_style_defaults();
|
|
100157
100693
|
}
|
|
100158
100694
|
});
|
|
100695
|
+
function cells(row) {
|
|
100696
|
+
return ensureArray19(row["a:tc"]);
|
|
100697
|
+
}
|
|
100698
|
+
function promoteTextBody(source, next, removed, survivor, axis) {
|
|
100699
|
+
const span = axis === "row" ? "rowSpan" : "gridSpan";
|
|
100700
|
+
const continuation = axis === "row" ? "vMerge" : "hMerge";
|
|
100701
|
+
if (!source?.text || !next || !removed || !survivor || source[continuation] || (source[span] ?? 1) <= 1 || next[continuation] || (next[span] ?? 1) !== (source[span] ?? 1) - 1) {
|
|
100702
|
+
return;
|
|
100703
|
+
}
|
|
100704
|
+
if (removed["a:txBody"] !== void 0) {
|
|
100705
|
+
survivor["a:txBody"] = removed["a:txBody"];
|
|
100706
|
+
}
|
|
100707
|
+
}
|
|
100708
|
+
function applyTableStructureEditXml(table2, source, next, edit) {
|
|
100709
|
+
const rows = ensureArray19(table2["a:tr"]);
|
|
100710
|
+
const grid = table2["a:tblGrid"];
|
|
100711
|
+
const columns = ensureArray19(grid?.["a:gridCol"]);
|
|
100712
|
+
const { axis, action, index } = edit;
|
|
100713
|
+
if (axis !== "row" && axis !== "column" || action !== "insert" && action !== "delete") {
|
|
100714
|
+
return false;
|
|
100715
|
+
}
|
|
100716
|
+
const count = axis === "row" ? rows.length : columns.length;
|
|
100717
|
+
const delta = action === "insert" ? 1 : -1;
|
|
100718
|
+
if (!grid || !Number.isInteger(index) || index < 0 || index > count - (action === "delete" ? 1 : 0) || action === "delete" && count <= 1 || next.rows.length !== rows.length + (axis === "row" ? delta : 0) || next.columnWidths.length !== columns.length + (axis === "column" ? delta : 0)) {
|
|
100719
|
+
return false;
|
|
100720
|
+
}
|
|
100721
|
+
if (axis === "row") {
|
|
100722
|
+
if (action === "insert") {
|
|
100723
|
+
rows.splice(index, 0, createDefaultXmlRow(columns.length));
|
|
100724
|
+
} else {
|
|
100725
|
+
const removedCells = cells(rows[index]);
|
|
100726
|
+
const nextCells = rows[index + 1] ? cells(rows[index + 1]) : [];
|
|
100727
|
+
removedCells.forEach(
|
|
100728
|
+
(removed, column) => promoteTextBody(
|
|
100729
|
+
source?.rows[index]?.cells[column],
|
|
100730
|
+
next.rows[index]?.cells[column],
|
|
100731
|
+
removed,
|
|
100732
|
+
nextCells[column],
|
|
100733
|
+
axis
|
|
100734
|
+
)
|
|
100735
|
+
);
|
|
100736
|
+
rows.splice(index, 1);
|
|
100737
|
+
}
|
|
100738
|
+
table2["a:tr"] = rows.length === 1 ? rows[0] : rows;
|
|
100739
|
+
} else {
|
|
100740
|
+
if (action === "insert") {
|
|
100741
|
+
columns.splice(index, 0, { "@_w": "0" });
|
|
100742
|
+
} else {
|
|
100743
|
+
columns.splice(index, 1);
|
|
100744
|
+
}
|
|
100745
|
+
grid["a:gridCol"] = columns.length === 1 ? columns[0] : columns;
|
|
100746
|
+
rows.forEach((row, rowIndex) => {
|
|
100747
|
+
const rowCells = cells(row);
|
|
100748
|
+
if (action === "insert") {
|
|
100749
|
+
rowCells.splice(index, 0, createDefaultXmlCell());
|
|
100750
|
+
} else {
|
|
100751
|
+
promoteTextBody(
|
|
100752
|
+
source?.rows[rowIndex]?.cells[index],
|
|
100753
|
+
next.rows[rowIndex]?.cells[index],
|
|
100754
|
+
rowCells[index],
|
|
100755
|
+
rowCells[index + 1],
|
|
100756
|
+
axis
|
|
100757
|
+
);
|
|
100758
|
+
rowCells.splice(index, 1);
|
|
100759
|
+
}
|
|
100760
|
+
row["a:tc"] = rowCells.length === 1 ? rowCells[0] : rowCells;
|
|
100761
|
+
});
|
|
100762
|
+
}
|
|
100763
|
+
return true;
|
|
100764
|
+
}
|
|
100765
|
+
var init_table_structure_edit_xml = __esm({
|
|
100766
|
+
"src/core/core/runtime/table-structure-edit-xml.ts"() {
|
|
100767
|
+
init_table_structural_helpers();
|
|
100768
|
+
}
|
|
100769
|
+
});
|
|
100770
|
+
function createDefaultRebuildXmlCell() {
|
|
100771
|
+
return {
|
|
100772
|
+
"a:txBody": {
|
|
100773
|
+
"a:bodyPr": {},
|
|
100774
|
+
"a:lstStyle": {},
|
|
100775
|
+
"a:p": {
|
|
100776
|
+
"a:endParaRPr": { "@_lang": "en-US" }
|
|
100777
|
+
}
|
|
100778
|
+
},
|
|
100779
|
+
"a:tcPr": {}
|
|
100780
|
+
};
|
|
100781
|
+
}
|
|
100782
|
+
function rebuildTableStructureInRawXml(element, tableData, edit) {
|
|
100783
|
+
if (!element.rawXml) {
|
|
100784
|
+
return void 0;
|
|
100785
|
+
}
|
|
100786
|
+
const newRawXml = structuredClone(element.rawXml);
|
|
100787
|
+
const table2 = getTblFromRawXml(newRawXml);
|
|
100788
|
+
if (!table2) {
|
|
100789
|
+
return void 0;
|
|
100790
|
+
}
|
|
100791
|
+
const existingGridCols = ensureArray19(
|
|
100792
|
+
table2["a:tblGrid"]?.["a:gridCol"]
|
|
100793
|
+
);
|
|
100794
|
+
const totalWidthEmu = existingGridCols.reduce((sum, col) => {
|
|
100795
|
+
return sum + (parseInt(String(col?.["@_w"] || "0"), 10) || 0);
|
|
100796
|
+
}, 0) || 9144e3;
|
|
100797
|
+
const appliedEdit = edit ? applyTableStructureEditXml(
|
|
100798
|
+
table2,
|
|
100799
|
+
element.type === "table" ? element.tableData : void 0,
|
|
100800
|
+
tableData,
|
|
100801
|
+
edit
|
|
100802
|
+
) : false;
|
|
100803
|
+
const alignedGridCols = ensureArray19(
|
|
100804
|
+
table2["a:tblGrid"]?.["a:gridCol"]
|
|
100805
|
+
);
|
|
100806
|
+
const newGridCols = tableData.columnWidths.map((w, index) => ({
|
|
100807
|
+
...appliedEdit ? alignedGridCols[index] : {},
|
|
100808
|
+
"@_w": String(Math.round(w * totalWidthEmu))
|
|
100809
|
+
}));
|
|
100810
|
+
if (!table2["a:tblGrid"]) {
|
|
100811
|
+
table2["a:tblGrid"] = {};
|
|
100812
|
+
}
|
|
100813
|
+
table2["a:tblGrid"]["a:gridCol"] = newGridCols.length === 1 ? newGridCols[0] : newGridCols;
|
|
100814
|
+
const existingXmlRows = ensureArray19(table2["a:tr"]);
|
|
100815
|
+
const newXmlRows = tableData.rows.map((dataRow, ri) => {
|
|
100816
|
+
const existingRow = ri < existingXmlRows.length ? existingXmlRows[ri] : void 0;
|
|
100817
|
+
const existingCells = existingRow ? ensureArray19(existingRow["a:tc"]) : [];
|
|
100818
|
+
const heightEmu = dataRow.height ? Math.round(dataRow.height * EMU_PER_PX) : existingRow?.["@_h"] ? parseInt(String(existingRow["@_h"]), 10) : DEFAULT_ROW_HEIGHT_EMU;
|
|
100819
|
+
const newXmlCells = dataRow.cells.map((cell, ci) => {
|
|
100820
|
+
let xmlCell;
|
|
100821
|
+
if (ci < existingCells.length) {
|
|
100822
|
+
xmlCell = existingCells[ci];
|
|
100823
|
+
} else {
|
|
100824
|
+
xmlCell = createDefaultRebuildXmlCell();
|
|
100825
|
+
}
|
|
100826
|
+
serializeCellMergeAttributes(xmlCell, cell);
|
|
100827
|
+
return xmlCell;
|
|
100828
|
+
});
|
|
100829
|
+
return {
|
|
100830
|
+
...appliedEdit ? existingRow : {},
|
|
100831
|
+
"@_h": String(heightEmu),
|
|
100832
|
+
"a:tc": newXmlCells.length === 1 ? newXmlCells[0] : newXmlCells
|
|
100833
|
+
};
|
|
100834
|
+
});
|
|
100835
|
+
table2["a:tr"] = newXmlRows.length === 1 ? newXmlRows[0] : newXmlRows;
|
|
100836
|
+
return newRawXml;
|
|
100837
|
+
}
|
|
100838
|
+
var init_table_structure_rawxml = __esm({
|
|
100839
|
+
"src/core/core/runtime/table-structure-rawxml.ts"() {
|
|
100840
|
+
init_constants();
|
|
100841
|
+
init_save_table_merge_helpers();
|
|
100842
|
+
init_table_structural_helpers();
|
|
100843
|
+
init_table_structure_edit_xml();
|
|
100844
|
+
}
|
|
100845
|
+
});
|
|
100159
100846
|
function updateCellTextInRawXml(element, rowIndex, colIndex, text22) {
|
|
100160
100847
|
if (!element.rawXml) {
|
|
100161
100848
|
return void 0;
|
|
@@ -100169,12 +100856,12 @@ function updateCellTextInRawXml(element, rowIndex, colIndex, text22) {
|
|
|
100169
100856
|
if (rowIndex < 0 || rowIndex >= rows.length) {
|
|
100170
100857
|
return void 0;
|
|
100171
100858
|
}
|
|
100172
|
-
const
|
|
100173
|
-
if (colIndex < 0 || colIndex >=
|
|
100859
|
+
const cells2 = ensureArray19(rows[rowIndex]["a:tc"]);
|
|
100860
|
+
if (colIndex < 0 || colIndex >= cells2.length) {
|
|
100174
100861
|
return void 0;
|
|
100175
100862
|
}
|
|
100176
|
-
|
|
100177
|
-
|
|
100863
|
+
cells2[colIndex]["a:txBody"] = rebuildCellTextBody(
|
|
100864
|
+
cells2[colIndex]["a:txBody"],
|
|
100178
100865
|
text22
|
|
100179
100866
|
);
|
|
100180
100867
|
return newRawXml;
|
|
@@ -100219,11 +100906,11 @@ function updateCellTextStyleInRawXml(element, rowIndex, colIndex, styleUpdates)
|
|
|
100219
100906
|
if (rowIndex < 0 || rowIndex >= rows.length) {
|
|
100220
100907
|
return void 0;
|
|
100221
100908
|
}
|
|
100222
|
-
const
|
|
100223
|
-
if (colIndex < 0 || colIndex >=
|
|
100909
|
+
const cells2 = ensureArray19(rows[rowIndex]["a:tc"]);
|
|
100910
|
+
if (colIndex < 0 || colIndex >= cells2.length) {
|
|
100224
100911
|
return void 0;
|
|
100225
100912
|
}
|
|
100226
|
-
const cell =
|
|
100913
|
+
const cell = cells2[colIndex];
|
|
100227
100914
|
const txBody = cell["a:txBody"];
|
|
100228
100915
|
if (!txBody) {
|
|
100229
100916
|
return void 0;
|
|
@@ -100354,87 +101041,11 @@ function updateMergeAttrsInRawXml(element, tableData) {
|
|
|
100354
101041
|
}
|
|
100355
101042
|
return newRawXml;
|
|
100356
101043
|
}
|
|
100357
|
-
function createDefaultRebuildXmlCell() {
|
|
100358
|
-
return {
|
|
100359
|
-
"a:txBody": {
|
|
100360
|
-
"a:bodyPr": {},
|
|
100361
|
-
"a:lstStyle": {},
|
|
100362
|
-
"a:p": {
|
|
100363
|
-
"a:endParaRPr": { "@_lang": "en-US" }
|
|
100364
|
-
}
|
|
100365
|
-
},
|
|
100366
|
-
"a:tcPr": {}
|
|
100367
|
-
};
|
|
100368
|
-
}
|
|
100369
|
-
function rebuildTableStructureInRawXml(element, tableData) {
|
|
100370
|
-
if (!element.rawXml) {
|
|
100371
|
-
return void 0;
|
|
100372
|
-
}
|
|
100373
|
-
const newRawXml = structuredClone(element.rawXml);
|
|
100374
|
-
const table2 = getTblFromRawXml(newRawXml);
|
|
100375
|
-
if (!table2) {
|
|
100376
|
-
return void 0;
|
|
100377
|
-
}
|
|
100378
|
-
const existingGridCols = ensureArray19(
|
|
100379
|
-
table2["a:tblGrid"]?.["a:gridCol"]
|
|
100380
|
-
);
|
|
100381
|
-
const totalWidthEmu = existingGridCols.reduce((sum, col) => {
|
|
100382
|
-
return sum + (parseInt(String(col?.["@_w"] || "0"), 10) || 0);
|
|
100383
|
-
}, 0) || 9144e3;
|
|
100384
|
-
const newGridCols = tableData.columnWidths.map((w) => ({
|
|
100385
|
-
"@_w": String(Math.round(w * totalWidthEmu))
|
|
100386
|
-
}));
|
|
100387
|
-
if (!table2["a:tblGrid"]) {
|
|
100388
|
-
table2["a:tblGrid"] = {};
|
|
100389
|
-
}
|
|
100390
|
-
table2["a:tblGrid"]["a:gridCol"] = newGridCols.length === 1 ? newGridCols[0] : newGridCols;
|
|
100391
|
-
const existingXmlRows = ensureArray19(table2["a:tr"]);
|
|
100392
|
-
const newXmlRows = tableData.rows.map((dataRow, ri) => {
|
|
100393
|
-
const existingRow = ri < existingXmlRows.length ? existingXmlRows[ri] : void 0;
|
|
100394
|
-
const existingCells = existingRow ? ensureArray19(existingRow["a:tc"]) : [];
|
|
100395
|
-
const heightEmu = dataRow.height ? Math.round(dataRow.height * EMU_PER_PX) : existingRow?.["@_h"] ? parseInt(String(existingRow["@_h"]), 10) : DEFAULT_ROW_HEIGHT_EMU;
|
|
100396
|
-
const newXmlCells = dataRow.cells.map((cell, ci) => {
|
|
100397
|
-
let xmlCell;
|
|
100398
|
-
if (ci < existingCells.length) {
|
|
100399
|
-
xmlCell = structuredClone(existingCells[ci]);
|
|
100400
|
-
} else {
|
|
100401
|
-
xmlCell = createDefaultRebuildXmlCell();
|
|
100402
|
-
}
|
|
100403
|
-
if (cell.gridSpan !== void 0 && cell.gridSpan > 1) {
|
|
100404
|
-
xmlCell["@_gridSpan"] = String(cell.gridSpan);
|
|
100405
|
-
} else {
|
|
100406
|
-
delete xmlCell["@_gridSpan"];
|
|
100407
|
-
}
|
|
100408
|
-
if (cell.rowSpan !== void 0 && cell.rowSpan > 1) {
|
|
100409
|
-
xmlCell["@_rowSpan"] = String(cell.rowSpan);
|
|
100410
|
-
} else {
|
|
100411
|
-
delete xmlCell["@_rowSpan"];
|
|
100412
|
-
}
|
|
100413
|
-
if (cell.hMerge) {
|
|
100414
|
-
xmlCell["@_hMerge"] = "1";
|
|
100415
|
-
} else {
|
|
100416
|
-
delete xmlCell["@_hMerge"];
|
|
100417
|
-
}
|
|
100418
|
-
if (cell.vMerge) {
|
|
100419
|
-
xmlCell["@_vMerge"] = "1";
|
|
100420
|
-
} else {
|
|
100421
|
-
delete xmlCell["@_vMerge"];
|
|
100422
|
-
}
|
|
100423
|
-
return xmlCell;
|
|
100424
|
-
});
|
|
100425
|
-
return {
|
|
100426
|
-
"@_h": String(heightEmu),
|
|
100427
|
-
"a:tc": newXmlCells.length === 1 ? newXmlCells[0] : newXmlCells
|
|
100428
|
-
};
|
|
100429
|
-
});
|
|
100430
|
-
table2["a:tr"] = newXmlRows.length === 1 ? newXmlRows[0] : newXmlRows;
|
|
100431
|
-
return newRawXml;
|
|
100432
|
-
}
|
|
100433
101044
|
var init_table_cell_rawxml_ops = __esm({
|
|
100434
101045
|
"src/core/core/runtime/table-cell-rawxml-ops.ts"() {
|
|
100435
|
-
init_constants();
|
|
100436
101046
|
init_xml_access();
|
|
100437
101047
|
init_table_structural_helpers();
|
|
101048
|
+
init_table_structure_rawxml();
|
|
100438
101049
|
}
|
|
100439
101050
|
});
|
|
100440
101051
|
var init_table_structural_ops = __esm({
|
|
@@ -100665,6 +101276,7 @@ var init_PptxHandlerRuntimeSaveDataSerialization = __esm({
|
|
|
100665
101276
|
init_chart_part_family_switch();
|
|
100666
101277
|
init_PptxHandlerRuntimeChartUserShapes();
|
|
100667
101278
|
init_save_table_merge_helpers();
|
|
101279
|
+
init_table_paragraph_save_order();
|
|
100668
101280
|
init_table_structural_ops();
|
|
100669
101281
|
init_table_tblpr_save();
|
|
100670
101282
|
CHART_DATA_DISPLAY_OPTIONS_EXT_URI = "{56B9EC1D-385E-4148-901F-78D8002777C0}";
|
|
@@ -100742,6 +101354,7 @@ var init_PptxHandlerRuntimeSaveDataSerialization = __esm({
|
|
|
100742
101354
|
this.writeTableCellStyle(xmlCell, cell.style);
|
|
100743
101355
|
}
|
|
100744
101356
|
serializeCellExtraAttributes(xmlCell, cell.extraAttributes);
|
|
101357
|
+
recordTableParagraphOrder(xmlCell, cell.textRuns);
|
|
100745
101358
|
}
|
|
100746
101359
|
}
|
|
100747
101360
|
} catch (e) {
|
|
@@ -102418,6 +103031,7 @@ var init_PptxHandlerRuntimeSaveDocumentParts = __esm({
|
|
|
102418
103031
|
init_smartart_save_chrome();
|
|
102419
103032
|
init_smartart_save_geometry();
|
|
102420
103033
|
init_smartart_xml_builders();
|
|
103034
|
+
init_table_paragraph_save_order();
|
|
102421
103035
|
PptxHandlerRuntime25 = class _PptxHandlerRuntime extends PptxHandlerRuntime24 {
|
|
102422
103036
|
/** Pending SmartArt data updates to process during save. */
|
|
102423
103037
|
pendingSmartArtUpdates;
|
|
@@ -102694,7 +103308,7 @@ var init_PptxHandlerRuntimeSaveDocumentParts = __esm({
|
|
|
102694
103308
|
);
|
|
102695
103309
|
root["p:cSld"] = cSld;
|
|
102696
103310
|
data["p:notesMaster"] = root;
|
|
102697
|
-
this.zip.file(notesMaster.path, this.builder.build(data));
|
|
103311
|
+
this.zip.file(notesMaster.path, this.builder.build(withOrderedTableParagraphs(data)));
|
|
102698
103312
|
} catch (e) {
|
|
102699
103313
|
console.warn("Failed to save notes master changes:", e);
|
|
102700
103314
|
}
|
|
@@ -102729,7 +103343,7 @@ var init_PptxHandlerRuntimeSaveDocumentParts = __esm({
|
|
|
102729
103343
|
);
|
|
102730
103344
|
root["p:cSld"] = cSld;
|
|
102731
103345
|
data["p:handoutMaster"] = root;
|
|
102732
|
-
this.zip.file(handoutMaster.path, this.builder.build(data));
|
|
103346
|
+
this.zip.file(handoutMaster.path, this.builder.build(withOrderedTableParagraphs(data)));
|
|
102733
103347
|
} catch (e) {
|
|
102734
103348
|
console.warn("Failed to save handout master changes:", e);
|
|
102735
103349
|
}
|
|
@@ -106976,7 +107590,7 @@ function buildOrderedSlideXml(options) {
|
|
|
106976
107590
|
}
|
|
106977
107591
|
}
|
|
106978
107592
|
nextSlide = orderSlideRootChildren(nextSlide, getLocalName2);
|
|
106979
|
-
return { ...xmlObj, "p:sld": nextSlide };
|
|
107593
|
+
return withOrderedTableParagraphs({ ...xmlObj, "p:sld": nextSlide });
|
|
106980
107594
|
}
|
|
106981
107595
|
var ALTERNATE_CONTENT_TAG;
|
|
106982
107596
|
var UNRANKED;
|
|
@@ -106988,6 +107602,7 @@ var init_slide_save_xml_order = __esm({
|
|
|
106988
107602
|
"src/core/core/runtime/slide-save-xml-order.ts"() {
|
|
106989
107603
|
init_utils();
|
|
106990
107604
|
init_ordered_xml_children();
|
|
107605
|
+
init_table_paragraph_save_order();
|
|
106991
107606
|
ALTERNATE_CONTENT_TAG = "mc:AlternateContent";
|
|
106992
107607
|
UNRANKED = Number.MAX_SAFE_INTEGER;
|
|
106993
107608
|
COLLECTOR_KEYS = [
|
|
@@ -108482,12 +109097,12 @@ function orderedTemplatePartXml(options) {
|
|
|
108482
109097
|
const rebuilt = positionsByRuntime.get(runtime)?.get(partPath);
|
|
108483
109098
|
const ordered4 = rebuilt ? orderShapeTreeChildren(rewrapped, (node) => rebuilt.get(node), getLocalName2) : orderContainer(rewrapped, sourceXml ? scanSpTreeDocumentOrder(sourceXml) : [], getLocalName2);
|
|
108484
109099
|
if (ordered4 === spTree) {
|
|
108485
|
-
return xmlObj;
|
|
109100
|
+
return withOrderedTableParagraphs(xmlObj);
|
|
108486
109101
|
}
|
|
108487
109102
|
const nextRoot = { ...root, "p:cSld": { ...commonSlideData, "p:spTree": ordered4 } };
|
|
108488
109103
|
const nextPart = { ...xmlObj };
|
|
108489
109104
|
setOwnXmlProperty(nextPart, rootTag2, nextRoot);
|
|
108490
|
-
return nextPart;
|
|
109105
|
+
return withOrderedTableParagraphs(nextPart);
|
|
108491
109106
|
}
|
|
108492
109107
|
var ALTERNATE_CONTENT_TAG3;
|
|
108493
109108
|
var positionsByRuntime;
|
|
@@ -108497,6 +109112,7 @@ var init_template_sp_tree_order = __esm({
|
|
|
108497
109112
|
init_ordered_xml_children();
|
|
108498
109113
|
init_slide_save_xml_order();
|
|
108499
109114
|
init_sp_tree_document_order_scan();
|
|
109115
|
+
init_table_paragraph_save_order();
|
|
108500
109116
|
ALTERNATE_CONTENT_TAG3 = "mc:AlternateContent";
|
|
108501
109117
|
positionsByRuntime = /* @__PURE__ */ new WeakMap();
|
|
108502
109118
|
}
|
|
@@ -112490,11 +113106,7 @@ var init_PptxHandlerRuntimeShapeParagraphContentParsing = __esm({
|
|
|
112490
113106
|
processField(f6);
|
|
112491
113107
|
}
|
|
112492
113108
|
};
|
|
112493
|
-
const { entries, authored } = paragraphContentEntries(
|
|
112494
|
-
p,
|
|
112495
|
-
PARAGRAPH_CONTENT_TAGS,
|
|
112496
|
-
(value) => this.ensureArray(value)
|
|
112497
|
-
);
|
|
113109
|
+
const { entries, authored } = paragraphContentEntries(p, PARAGRAPH_CONTENT_TAGS);
|
|
112498
113110
|
const runCount = this.ensureArray(p["a:r"]).length;
|
|
112499
113111
|
const breakCount = this.ensureArray(p["a:br"]).length;
|
|
112500
113112
|
const insertCollapsedBreaks = !authored && runCount > 1 && breakCount > 0;
|
|
@@ -136241,8 +136853,8 @@ var ChartElementProcessor = class {
|
|
|
136241
136853
|
widths[widths.length - 1] = Math.max(widths[widths.length - 1], pct2.length);
|
|
136242
136854
|
}
|
|
136243
136855
|
}
|
|
136244
|
-
const formatRow = (
|
|
136245
|
-
const padded =
|
|
136856
|
+
const formatRow = (cells2) => {
|
|
136857
|
+
const padded = cells2.map((cell, index) => cell.padEnd(widths[index]));
|
|
136246
136858
|
return `| ${padded.join(" | ")} |`;
|
|
136247
136859
|
};
|
|
136248
136860
|
const separator = `| ${widths.map((width) => "-".repeat(width)).join(" | ")} |`;
|
|
@@ -136802,7 +137414,7 @@ var TableElementProcessor = class {
|
|
|
136802
137414
|
const row = tableData.rows[ri];
|
|
136803
137415
|
const isHeader = ri === 0 && tableData.firstRowHeader !== false;
|
|
136804
137416
|
const tag = isHeader ? "th" : "td";
|
|
136805
|
-
const
|
|
137417
|
+
const cells2 = [];
|
|
136806
137418
|
let ci = 0;
|
|
136807
137419
|
for (const cell of row.cells) {
|
|
136808
137420
|
while (this.isOccupied(rowSpanOccupancy, ri, ci)) {
|
|
@@ -136823,11 +137435,11 @@ var TableElementProcessor = class {
|
|
|
136823
137435
|
}
|
|
136824
137436
|
const attrs3 = this.buildCellAttrs(cell, gridSpan, rowSpan, isHeader);
|
|
136825
137437
|
const content = this.renderCellContent(cell);
|
|
136826
|
-
|
|
137438
|
+
cells2.push(`<${tag}${attrs3}>${content}</${tag}>`);
|
|
136827
137439
|
ci += gridSpan;
|
|
136828
137440
|
}
|
|
136829
|
-
if (
|
|
136830
|
-
htmlRows.push(`<tr>${
|
|
137441
|
+
if (cells2.length > 0) {
|
|
137442
|
+
htmlRows.push(`<tr>${cells2.join("")}</tr>`);
|
|
136831
137443
|
}
|
|
136832
137444
|
}
|
|
136833
137445
|
if (htmlRows.length === 0) {
|
|
@@ -137043,14 +137655,14 @@ ${htmlRows.join("\n")}
|
|
|
137043
137655
|
const mdRows = [];
|
|
137044
137656
|
const hasHeader = tableData.firstRowHeader !== false;
|
|
137045
137657
|
for (let ri = 0; ri < rows.length; ri++) {
|
|
137046
|
-
const
|
|
137658
|
+
const cells2 = rows[ri].cells.map((cell) => {
|
|
137047
137659
|
const text22 = this.getCellFormattedText(cell);
|
|
137048
137660
|
return this.escapeMarkdownTableCell(text22);
|
|
137049
137661
|
});
|
|
137050
|
-
while (
|
|
137051
|
-
|
|
137662
|
+
while (cells2.length < columnCount) {
|
|
137663
|
+
cells2.push("");
|
|
137052
137664
|
}
|
|
137053
|
-
mdRows.push(`| ${
|
|
137665
|
+
mdRows.push(`| ${cells2.join(" | ")} |`);
|
|
137054
137666
|
if (ri === 0 && hasHeader) {
|
|
137055
137667
|
const divider = Array.from({ length: columnCount }, () => "---");
|
|
137056
137668
|
mdRows.push(`| ${divider.join(" | ")} |`);
|
|
@@ -138371,8 +138983,8 @@ var OmmlLatexConverter = class {
|
|
|
138371
138983
|
return null;
|
|
138372
138984
|
}
|
|
138373
138985
|
const rows = this.toRecordArray(m["m:mr"]).map((row) => {
|
|
138374
|
-
const
|
|
138375
|
-
return
|
|
138986
|
+
const cells2 = this.toRecordArray(row["m:e"]).map((entry2) => this.renderNode(entry2).trim()).filter((entry2) => entry2.length > 0);
|
|
138987
|
+
return cells2.join(" & ");
|
|
138376
138988
|
}).filter((row) => row.length > 0);
|
|
138377
138989
|
if (rows.length === 0) {
|
|
138378
138990
|
return null;
|
|
@@ -143822,6 +144434,60 @@ var NOMINAL_ENVELOPE_BAND = {
|
|
|
143822
144434
|
top: TOP_MARGIN,
|
|
143823
144435
|
bottom: BOTTOM_MARGIN
|
|
143824
144436
|
};
|
|
144437
|
+
var measureCtx;
|
|
144438
|
+
function getMeasureCtx() {
|
|
144439
|
+
if (measureCtx !== void 0) {
|
|
144440
|
+
return measureCtx;
|
|
144441
|
+
}
|
|
144442
|
+
if (typeof document === "undefined") {
|
|
144443
|
+
measureCtx = null;
|
|
144444
|
+
return null;
|
|
144445
|
+
}
|
|
144446
|
+
measureCtx = document.createElement("canvas").getContext("2d");
|
|
144447
|
+
return measureCtx;
|
|
144448
|
+
}
|
|
144449
|
+
function toCanvasFont(font) {
|
|
144450
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : DEFAULT_TEXT_FONT_SIZE2;
|
|
144451
|
+
const family = font.fontFamily || DEFAULT_FONT_FAMILY2;
|
|
144452
|
+
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family}`;
|
|
144453
|
+
}
|
|
144454
|
+
function measureGlyphAdvances(text22, font) {
|
|
144455
|
+
const chars = [...text22];
|
|
144456
|
+
const ctx = getMeasureCtx();
|
|
144457
|
+
if (!ctx) {
|
|
144458
|
+
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : DEFAULT_TEXT_FONT_SIZE2;
|
|
144459
|
+
return chars.map(() => size * 0.55);
|
|
144460
|
+
}
|
|
144461
|
+
ctx.font = toCanvasFont(font);
|
|
144462
|
+
const advances = [];
|
|
144463
|
+
let previous = 0;
|
|
144464
|
+
let prefix = "";
|
|
144465
|
+
for (const char of chars) {
|
|
144466
|
+
prefix += char;
|
|
144467
|
+
const width = ctx.measureText(prefix).width;
|
|
144468
|
+
advances.push(Math.max(0, width - previous));
|
|
144469
|
+
previous = width;
|
|
144470
|
+
}
|
|
144471
|
+
return advances;
|
|
144472
|
+
}
|
|
144473
|
+
function measureLineAscent(segments) {
|
|
144474
|
+
const ctx = getMeasureCtx();
|
|
144475
|
+
if (!ctx) {
|
|
144476
|
+
return void 0;
|
|
144477
|
+
}
|
|
144478
|
+
let maxAscent = 0;
|
|
144479
|
+
for (const segment of segments) {
|
|
144480
|
+
if (!segment.text) {
|
|
144481
|
+
continue;
|
|
144482
|
+
}
|
|
144483
|
+
ctx.font = toCanvasFont(segment.font);
|
|
144484
|
+
const ascent = ctx.measureText(segment.text).actualBoundingBoxAscent;
|
|
144485
|
+
if (Number.isFinite(ascent) && ascent > maxAscent) {
|
|
144486
|
+
maxAscent = ascent;
|
|
144487
|
+
}
|
|
144488
|
+
}
|
|
144489
|
+
return maxAscent > 0 ? maxAscent : void 0;
|
|
144490
|
+
}
|
|
143825
144491
|
function sliceBand(top, bottom, index, count) {
|
|
143826
144492
|
const span = bottom - top;
|
|
143827
144493
|
return {
|
|
@@ -143829,11 +144495,31 @@ function sliceBand(top, bottom, index, count) {
|
|
|
143829
144495
|
bottom: top + (index + 1) / count * span
|
|
143830
144496
|
};
|
|
143831
144497
|
}
|
|
143832
|
-
function
|
|
144498
|
+
function deformedBandAt(preset, u, adj, adj2, height) {
|
|
143833
144499
|
const curve = envelopeCurveAt(preset, u, adj, adj2);
|
|
143834
|
-
|
|
143835
|
-
|
|
143836
|
-
|
|
144500
|
+
return {
|
|
144501
|
+
top: (curve?.top ?? NOMINAL_ENVELOPE_BAND.top) * height,
|
|
144502
|
+
bottom: (curve?.bottom ?? NOMINAL_ENVELOPE_BAND.bottom) * height
|
|
144503
|
+
};
|
|
144504
|
+
}
|
|
144505
|
+
var ROW_BOUNDARY_REFERENCE_U = 0.5;
|
|
144506
|
+
function edgeBandAt(preset, u, adj, adj2, height, lineIndex, lineCount) {
|
|
144507
|
+
const actual = deformedBandAt(preset, u, adj, adj2, height);
|
|
144508
|
+
if (lineCount <= 1) {
|
|
144509
|
+
return sliceBand(actual.top, actual.bottom, 0, 1);
|
|
144510
|
+
}
|
|
144511
|
+
const reference = deformedBandAt(preset, ROW_BOUNDARY_REFERENCE_U, adj, adj2, height);
|
|
144512
|
+
const fixedSlice = sliceBand(reference.top, reference.bottom, lineIndex, lineCount);
|
|
144513
|
+
const isFirstRow = lineIndex <= 0;
|
|
144514
|
+
const isLastRow = lineIndex >= lineCount - 1;
|
|
144515
|
+
const flatTop = NOMINAL_ENVELOPE_BAND.top * height;
|
|
144516
|
+
const flatBottom = NOMINAL_ENVELOPE_BAND.bottom * height;
|
|
144517
|
+
const dampedOuterTop = flatTop + (actual.top - flatTop) / lineCount;
|
|
144518
|
+
const dampedOuterBottom = flatBottom + (actual.bottom - flatBottom) / lineCount;
|
|
144519
|
+
return {
|
|
144520
|
+
top: isFirstRow ? dampedOuterTop : fixedSlice.top,
|
|
144521
|
+
bottom: isLastRow ? dampedOuterBottom : fixedSlice.bottom
|
|
144522
|
+
};
|
|
143837
144523
|
}
|
|
143838
144524
|
function glyphEnvelopeMatrix(x0, x1, edge0, edge1, nomTop, nomBottom) {
|
|
143839
144525
|
const nominalSpan = nomBottom - nomTop;
|
|
@@ -143846,6 +144532,34 @@ function glyphEnvelopeMatrix(x0, x1, edge0, edge1, nomTop, nomBottom) {
|
|
|
143846
144532
|
const f6 = grandMean - b * meanX - d * meanY;
|
|
143847
144533
|
return `matrix(1 ${b} 0 ${d} 0 ${f6})`;
|
|
143848
144534
|
}
|
|
144535
|
+
function scaleOutlineCommandsX(commands, originX, scale2) {
|
|
144536
|
+
if (scale2 === 1) {
|
|
144537
|
+
return commands;
|
|
144538
|
+
}
|
|
144539
|
+
const sx = (x) => originX + (x - originX) * scale2;
|
|
144540
|
+
return commands.map((cmd) => {
|
|
144541
|
+
switch (cmd.type) {
|
|
144542
|
+
case "M":
|
|
144543
|
+
case "L":
|
|
144544
|
+
return { type: cmd.type, x: sx(cmd.x), y: cmd.y };
|
|
144545
|
+
case "Q":
|
|
144546
|
+
return { type: "Q", x1: sx(cmd.x1), y1: cmd.y1, x: sx(cmd.x), y: cmd.y };
|
|
144547
|
+
case "C":
|
|
144548
|
+
return {
|
|
144549
|
+
type: "C",
|
|
144550
|
+
x1: sx(cmd.x1),
|
|
144551
|
+
y1: cmd.y1,
|
|
144552
|
+
x2: sx(cmd.x2),
|
|
144553
|
+
y2: cmd.y2,
|
|
144554
|
+
x: sx(cmd.x),
|
|
144555
|
+
y: cmd.y
|
|
144556
|
+
};
|
|
144557
|
+
case "Z":
|
|
144558
|
+
default:
|
|
144559
|
+
return cmd;
|
|
144560
|
+
}
|
|
144561
|
+
});
|
|
144562
|
+
}
|
|
143849
144563
|
function mapYThroughEnvelopeBand(y, nomTop, nomBottom, edgeTop, edgeBottom) {
|
|
143850
144564
|
const nominalSpan = nomBottom - nomTop;
|
|
143851
144565
|
if (nominalSpan <= 0) {
|
|
@@ -143975,75 +144689,16 @@ function buildGlyphSlices(preset, x0, x1, u0, u1, adj, adj2, height, lineIndex,
|
|
|
143975
144689
|
const sliceX1 = x0 + (x1 - x0) * (i2 + 1) / n;
|
|
143976
144690
|
const sliceU0 = u0 + (u1 - u0) * i2 / n;
|
|
143977
144691
|
const sliceU1 = u0 + (u1 - u0) * (i2 + 1) / n;
|
|
144692
|
+
const e0 = edgeAt(sliceU0);
|
|
144693
|
+
const e1 = edgeAt(sliceU1);
|
|
143978
144694
|
slices.push({
|
|
143979
144695
|
clipX0: sliceX0 - (i2 === 0 ? 0 : SEAM_OVERLAP_PX),
|
|
143980
144696
|
clipX1: sliceX1 + (i2 === n - 1 ? 0 : SEAM_OVERLAP_PX),
|
|
143981
|
-
transform: glyphEnvelopeMatrix(
|
|
143982
|
-
sliceX0,
|
|
143983
|
-
sliceX1,
|
|
143984
|
-
edgeAt(sliceU0),
|
|
143985
|
-
edgeAt(sliceU1),
|
|
143986
|
-
nomTop,
|
|
143987
|
-
nomBottom
|
|
143988
|
-
)
|
|
144697
|
+
transform: glyphEnvelopeMatrix(sliceX0, sliceX1, e0, e1, nomTop, nomBottom)
|
|
143989
144698
|
});
|
|
143990
144699
|
}
|
|
143991
144700
|
return slices;
|
|
143992
144701
|
}
|
|
143993
|
-
var measureCtx;
|
|
143994
|
-
function getMeasureCtx() {
|
|
143995
|
-
if (measureCtx !== void 0) {
|
|
143996
|
-
return measureCtx;
|
|
143997
|
-
}
|
|
143998
|
-
if (typeof document === "undefined") {
|
|
143999
|
-
measureCtx = null;
|
|
144000
|
-
return null;
|
|
144001
|
-
}
|
|
144002
|
-
measureCtx = document.createElement("canvas").getContext("2d");
|
|
144003
|
-
return measureCtx;
|
|
144004
|
-
}
|
|
144005
|
-
function toCanvasFont(font) {
|
|
144006
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : DEFAULT_TEXT_FONT_SIZE2;
|
|
144007
|
-
const family = font.fontFamily || DEFAULT_FONT_FAMILY2;
|
|
144008
|
-
return `${font.italic ? "italic " : ""}${font.bold ? "bold " : ""}${size}px ${family}`;
|
|
144009
|
-
}
|
|
144010
|
-
function measureGlyphAdvances(text22, font) {
|
|
144011
|
-
const chars = [...text22];
|
|
144012
|
-
const ctx = getMeasureCtx();
|
|
144013
|
-
if (!ctx) {
|
|
144014
|
-
const size = font.fontSizePx && font.fontSizePx > 0 ? font.fontSizePx : DEFAULT_TEXT_FONT_SIZE2;
|
|
144015
|
-
return chars.map(() => size * 0.55);
|
|
144016
|
-
}
|
|
144017
|
-
ctx.font = toCanvasFont(font);
|
|
144018
|
-
const advances = [];
|
|
144019
|
-
let previous = 0;
|
|
144020
|
-
let prefix = "";
|
|
144021
|
-
for (const char of chars) {
|
|
144022
|
-
prefix += char;
|
|
144023
|
-
const width = ctx.measureText(prefix).width;
|
|
144024
|
-
advances.push(Math.max(0, width - previous));
|
|
144025
|
-
previous = width;
|
|
144026
|
-
}
|
|
144027
|
-
return advances;
|
|
144028
|
-
}
|
|
144029
|
-
function measureLineAscent(segments) {
|
|
144030
|
-
const ctx = getMeasureCtx();
|
|
144031
|
-
if (!ctx) {
|
|
144032
|
-
return void 0;
|
|
144033
|
-
}
|
|
144034
|
-
let maxAscent = 0;
|
|
144035
|
-
for (const segment of segments) {
|
|
144036
|
-
if (!segment.text) {
|
|
144037
|
-
continue;
|
|
144038
|
-
}
|
|
144039
|
-
ctx.font = toCanvasFont(segment.font);
|
|
144040
|
-
const ascent = ctx.measureText(segment.text).actualBoundingBoxAscent;
|
|
144041
|
-
if (Number.isFinite(ascent) && ascent > maxAscent) {
|
|
144042
|
-
maxAscent = ascent;
|
|
144043
|
-
}
|
|
144044
|
-
}
|
|
144045
|
-
return maxAscent > 0 ? maxAscent : void 0;
|
|
144046
|
-
}
|
|
144047
144702
|
function startX(align, width, lineWidth) {
|
|
144048
144703
|
if (align === "right") {
|
|
144049
144704
|
return width - lineWidth;
|
|
@@ -144072,20 +144727,25 @@ function buildGlyphEnvelope(preset, segments, width, height, align, adj, adj2, l
|
|
|
144072
144727
|
);
|
|
144073
144728
|
const realAscent = measureLineAscent(segments);
|
|
144074
144729
|
const nomTop = realAscent !== void 0 ? Math.max(fixedBandTop, nomBottom - realAscent) : fixedBandTop;
|
|
144730
|
+
const isCanFamily = preset === "textCanUp" || preset === "textCanDown";
|
|
144731
|
+
const stretch = width > 0 && lineWidth > 0 ? width / lineWidth : 1;
|
|
144732
|
+
const shapeScale = isCanFamily ? 1 : stretch;
|
|
144075
144733
|
const placements = [];
|
|
144076
|
-
let x = startX(align, width, lineWidth);
|
|
144734
|
+
let x = lineWidth > 0 ? 0 : startX(align, width, lineWidth);
|
|
144077
144735
|
segments.forEach((segment, segIdx) => {
|
|
144078
144736
|
const chars = [...segment.text];
|
|
144079
144737
|
const advances = perSegmentAdvances[segIdx];
|
|
144080
144738
|
chars.forEach((char, i2) => {
|
|
144081
|
-
const
|
|
144739
|
+
const naturalGlyphWidth = advances[i2] ?? 0;
|
|
144740
|
+
const pitch = naturalGlyphWidth * stretch;
|
|
144082
144741
|
const x0 = x;
|
|
144083
|
-
const x1 =
|
|
144742
|
+
const x1 = x0 + naturalGlyphWidth;
|
|
144084
144743
|
const u0 = width > 0 ? x0 / width : 0.5;
|
|
144085
144744
|
const u1 = width > 0 ? x1 / width : 0.5;
|
|
144086
144745
|
const edge0 = edgeBandAt(preset, u0, adj, adj2, height, safeLineIndex, safeLineCount);
|
|
144087
144746
|
const edge1 = edgeBandAt(preset, u1, adj, adj2, height, safeLineIndex, safeLineCount);
|
|
144088
|
-
const
|
|
144747
|
+
const rawOutline = getGlyphOutline?.(char, segment.font, x0, nomBottom);
|
|
144748
|
+
const outlineCommands = rawOutline ? scaleOutlineCommandsX(rawOutline, x0, shapeScale) : void 0;
|
|
144089
144749
|
const outlinePath = outlineCommands ? buildWarpedGlyphOutlinePathD(
|
|
144090
144750
|
outlineCommands,
|
|
144091
144751
|
preset,
|
|
@@ -144102,7 +144762,7 @@ function buildGlyphEnvelope(preset, segments, width, height, align, adj, adj2, l
|
|
|
144102
144762
|
placements.push({
|
|
144103
144763
|
char,
|
|
144104
144764
|
segmentIndex: segment.segmentIndex,
|
|
144105
|
-
x,
|
|
144765
|
+
x: x0,
|
|
144106
144766
|
y: nomBottom,
|
|
144107
144767
|
transform: glyphEnvelopeMatrix(x0, x1, edge0, edge1, nomTop, nomBottom),
|
|
144108
144768
|
slices: sliceCount > 1 ? buildGlyphSlices(
|
|
@@ -144122,7 +144782,7 @@ function buildGlyphEnvelope(preset, segments, width, height, align, adj, adj2, l
|
|
|
144122
144782
|
) : void 0,
|
|
144123
144783
|
outlinePath
|
|
144124
144784
|
});
|
|
144125
|
-
x +=
|
|
144785
|
+
x += pitch;
|
|
144126
144786
|
});
|
|
144127
144787
|
});
|
|
144128
144788
|
return placements;
|
|
@@ -146738,9 +147398,9 @@ function convertMatrix(node, cc) {
|
|
|
146738
147398
|
const rows = ensureArray6(node["m:mr"]);
|
|
146739
147399
|
const tableRows = [];
|
|
146740
147400
|
for (const row of rows) {
|
|
146741
|
-
const
|
|
147401
|
+
const cells2 = ensureArray6(row["m:e"]);
|
|
146742
147402
|
const tdParts = [];
|
|
146743
|
-
for (const cell of
|
|
147403
|
+
for (const cell of cells2) {
|
|
146744
147404
|
tdParts.push(`<mtd><mrow>${cc(cell)}</mrow></mtd>`);
|
|
146745
147405
|
}
|
|
146746
147406
|
tableRows.push(`<mtr>${tdParts.join("")}</mtr>`);
|
|
@@ -147465,16 +148125,16 @@ function parseEnvBody(ctx) {
|
|
|
147465
148125
|
function buildMatrix(ctx, rows) {
|
|
147466
148126
|
return {
|
|
147467
148127
|
"m:m": {
|
|
147468
|
-
"m:mr": rows.map((
|
|
147469
|
-
"m:e":
|
|
148128
|
+
"m:mr": rows.map((cells2) => ({
|
|
148129
|
+
"m:e": cells2.map((cell) => ctx.wrapE(cell))
|
|
147470
148130
|
}))
|
|
147471
148131
|
}
|
|
147472
148132
|
};
|
|
147473
148133
|
}
|
|
147474
148134
|
function buildEqArr(ctx, rows) {
|
|
147475
|
-
const lines = rows.map((
|
|
148135
|
+
const lines = rows.map((cells2) => {
|
|
147476
148136
|
const nodes = [];
|
|
147477
|
-
|
|
148137
|
+
cells2.forEach((cell, index) => {
|
|
147478
148138
|
if (index > 0) {
|
|
147479
148139
|
nodes.push(ctx.makeRun("&"));
|
|
147480
148140
|
}
|
|
@@ -154312,13 +154972,13 @@ function buildIsometricSurfaceViewModel(element, chartData, categoryLabels) {
|
|
|
154312
154972
|
const projH = maxSY - minSY;
|
|
154313
154973
|
const offsetX = layout.plotLeft + layout.plotWidth / 2 - (minSX + projW / 2);
|
|
154314
154974
|
const offsetY = layout.plotTop + layout.plotHeight / 2 - (minSY + projH / 2);
|
|
154315
|
-
const
|
|
154975
|
+
const cells2 = [];
|
|
154316
154976
|
for (let r = 0; r < rows; r++) {
|
|
154317
154977
|
for (let c = 0; c < cols; c++) {
|
|
154318
|
-
|
|
154978
|
+
cells2.push({ row: r, col: c, depth: r + c });
|
|
154319
154979
|
}
|
|
154320
154980
|
}
|
|
154321
|
-
|
|
154981
|
+
cells2.sort((a, b) => a.depth - b.depth);
|
|
154322
154982
|
const primitives = [];
|
|
154323
154983
|
primitives.push(
|
|
154324
154984
|
...buildSurfaceWallPanels(cols, rows, cellSize, zScale, offsetX, offsetY, {
|
|
@@ -154327,7 +154987,7 @@ function buildIsometricSurfaceViewModel(element, chartData, categoryLabels) {
|
|
|
154327
154987
|
backWall: chartData.backWall
|
|
154328
154988
|
})
|
|
154329
154989
|
);
|
|
154330
|
-
for (const { row, col } of
|
|
154990
|
+
for (const { row, col } of cells2) {
|
|
154331
154991
|
const corners = [
|
|
154332
154992
|
[col, row],
|
|
154333
154993
|
[col + 1, row],
|
|
@@ -167664,15 +168324,15 @@ function setCellText(element, rowIndex, colIndex, text22) {
|
|
|
167664
168324
|
});
|
|
167665
168325
|
return { ...element, tableData: { ...tableData, rows } };
|
|
167666
168326
|
}
|
|
167667
|
-
function computeBoundingRect(
|
|
167668
|
-
if (
|
|
168327
|
+
function computeBoundingRect(cells2) {
|
|
168328
|
+
if (cells2.length === 0) {
|
|
167669
168329
|
return void 0;
|
|
167670
168330
|
}
|
|
167671
|
-
let startRow =
|
|
167672
|
-
let startCol =
|
|
167673
|
-
let endRow =
|
|
167674
|
-
let endCol =
|
|
167675
|
-
for (const { row, col } of
|
|
168331
|
+
let startRow = cells2[0].row;
|
|
168332
|
+
let startCol = cells2[0].col;
|
|
168333
|
+
let endRow = cells2[0].row;
|
|
168334
|
+
let endCol = cells2[0].col;
|
|
168335
|
+
for (const { row, col } of cells2) {
|
|
167676
168336
|
if (row < startRow) {
|
|
167677
168337
|
startRow = row;
|
|
167678
168338
|
}
|
|
@@ -167758,8 +168418,8 @@ function expandRectForExistingMerges(rect22, tableData) {
|
|
|
167758
168418
|
}
|
|
167759
168419
|
return { startRow, startCol, endRow, endCol };
|
|
167760
168420
|
}
|
|
167761
|
-
function mergeCells(
|
|
167762
|
-
const rawRect = computeBoundingRect(
|
|
168421
|
+
function mergeCells(cells2, tableData) {
|
|
168422
|
+
const rawRect = computeBoundingRect(cells2);
|
|
167763
168423
|
if (!rawRect) {
|
|
167764
168424
|
return tableData;
|
|
167765
168425
|
}
|
|
@@ -167949,7 +168609,7 @@ function deleteTableRow(tableData, rowIdx) {
|
|
|
167949
168609
|
}
|
|
167950
168610
|
const removedRow = tableData.rows[rowIdx];
|
|
167951
168611
|
const adjustedRows = [...tableData.rows];
|
|
167952
|
-
const updateCellRowSpan = (
|
|
168612
|
+
const updateCellRowSpan = (cells2, colIdx, newRowSpan) => cells2.map((cc, ci) => ci === colIdx ? { ...cc, rowSpan: newRowSpan } : cc);
|
|
167953
168613
|
for (let c = 0; c < removedRow.cells.length; c++) {
|
|
167954
168614
|
const cell = removedRow.cells[c];
|
|
167955
168615
|
if (cell.vMerge) {
|
|
@@ -167984,6 +168644,7 @@ function deleteTableRow(tableData, rowIdx) {
|
|
|
167984
168644
|
return {
|
|
167985
168645
|
...cc,
|
|
167986
168646
|
text: cell.text || cc.text,
|
|
168647
|
+
textRuns: cell.text ? cell.textRuns : cc.textRuns,
|
|
167987
168648
|
style: cc.style || cell.style,
|
|
167988
168649
|
rowSpan: newRs > 1 ? newRs : void 0,
|
|
167989
168650
|
vMerge: void 0,
|
|
@@ -168083,6 +168744,7 @@ function deleteTableColumn(tableData, colIdx) {
|
|
|
168083
168744
|
adjustedCells[nextColIdx] = {
|
|
168084
168745
|
...nextCell,
|
|
168085
168746
|
text: cell.text || nextCell.text,
|
|
168747
|
+
textRuns: cell.text ? cell.textRuns : nextCell.textRuns,
|
|
168086
168748
|
style: nextCell.style || cell.style,
|
|
168087
168749
|
gridSpan: gs - 1 > 1 ? gs - 1 : void 0,
|
|
168088
168750
|
hMerge: void 0,
|
|
@@ -168122,7 +168784,7 @@ function buildTableDataGrid(element) {
|
|
|
168122
168784
|
canRemoveColumn: colCount > 1
|
|
168123
168785
|
};
|
|
168124
168786
|
}
|
|
168125
|
-
function withTableData(element, transform6) {
|
|
168787
|
+
function withTableData(element, transform6, edit) {
|
|
168126
168788
|
const tableData = element.tableData;
|
|
168127
168789
|
if (!tableData) {
|
|
168128
168790
|
return element;
|
|
@@ -168133,7 +168795,7 @@ function withTableData(element, transform6) {
|
|
|
168133
168795
|
}
|
|
168134
168796
|
const updated = { ...element, tableData: next };
|
|
168135
168797
|
if (element.rawXml) {
|
|
168136
|
-
const rawXml = rebuildTableStructureInRawXml(element, next);
|
|
168798
|
+
const rawXml = rebuildTableStructureInRawXml(element, next, edit);
|
|
168137
168799
|
if (rawXml) {
|
|
168138
168800
|
updated.rawXml = rawXml;
|
|
168139
168801
|
}
|
|
@@ -168149,16 +168811,32 @@ function setTableElementCellText(element, rowIndex, colIndex, text22) {
|
|
|
168149
168811
|
return rawXml ? { ...updated, rawXml } : updated;
|
|
168150
168812
|
}
|
|
168151
168813
|
function insertTableElementRow(element, rowIdx, position2) {
|
|
168152
|
-
return withTableData(element, (data) => insertTableRow(data, rowIdx, position2)
|
|
168814
|
+
return withTableData(element, (data) => insertTableRow(data, rowIdx, position2), {
|
|
168815
|
+
axis: "row",
|
|
168816
|
+
action: "insert",
|
|
168817
|
+
index: position2 === "above" ? rowIdx : rowIdx + 1
|
|
168818
|
+
});
|
|
168153
168819
|
}
|
|
168154
168820
|
function removeTableElementRow(element, rowIdx) {
|
|
168155
|
-
return withTableData(element, (data) => deleteTableRow(data, rowIdx)
|
|
168821
|
+
return withTableData(element, (data) => deleteTableRow(data, rowIdx), {
|
|
168822
|
+
axis: "row",
|
|
168823
|
+
action: "delete",
|
|
168824
|
+
index: rowIdx
|
|
168825
|
+
});
|
|
168156
168826
|
}
|
|
168157
168827
|
function insertTableElementColumn(element, colIdx, position2) {
|
|
168158
|
-
return withTableData(element, (data) => insertTableColumn(data, colIdx, position2)
|
|
168828
|
+
return withTableData(element, (data) => insertTableColumn(data, colIdx, position2), {
|
|
168829
|
+
axis: "column",
|
|
168830
|
+
action: "insert",
|
|
168831
|
+
index: position2 === "left" ? colIdx : colIdx + 1
|
|
168832
|
+
});
|
|
168159
168833
|
}
|
|
168160
168834
|
function removeTableElementColumn(element, colIdx) {
|
|
168161
|
-
return withTableData(element, (data) => deleteTableColumn(data, colIdx)
|
|
168835
|
+
return withTableData(element, (data) => deleteTableColumn(data, colIdx), {
|
|
168836
|
+
axis: "column",
|
|
168837
|
+
action: "delete",
|
|
168838
|
+
index: colIdx
|
|
168839
|
+
});
|
|
168162
168840
|
}
|
|
168163
168841
|
function appendTableElementRow(element) {
|
|
168164
168842
|
const rowCount = element.tableData?.rows.length ?? 0;
|
|
@@ -168637,7 +169315,7 @@ function distributeElements(elements, axis, options) {
|
|
|
168637
169315
|
}
|
|
168638
169316
|
return result;
|
|
168639
169317
|
}
|
|
168640
|
-
var
|
|
169318
|
+
var DEG_TO_RAD4 = Math.PI / 180;
|
|
168641
169319
|
function rotationOf(box) {
|
|
168642
169320
|
return box.rotation ?? 0;
|
|
168643
169321
|
}
|
|
@@ -168645,7 +169323,7 @@ function rotateDelta(dx, dy, rotationDeg) {
|
|
|
168645
169323
|
if (!rotationDeg) {
|
|
168646
169324
|
return { x: dx, y: dy };
|
|
168647
169325
|
}
|
|
168648
|
-
const rad = -rotationDeg *
|
|
169326
|
+
const rad = -rotationDeg * DEG_TO_RAD4;
|
|
168649
169327
|
const cos = Math.cos(rad);
|
|
168650
169328
|
const sin = Math.sin(rad);
|
|
168651
169329
|
return {
|
|
@@ -168975,7 +169653,7 @@ function computeShadeToTitleFillToRect(title, slideWidthPx, slideHeightPx) {
|
|
|
168975
169653
|
b: clampUnit3(1 - (title.y + title.height) / slideHeightPx)
|
|
168976
169654
|
};
|
|
168977
169655
|
}
|
|
168978
|
-
var GRADIENT_STOP_TOKEN = /(rgba?\([^)]*\)|#[0-9a-fA-F]{3,8})\s+(-?[\d.]+)%/gu;
|
|
169656
|
+
var GRADIENT_STOP_TOKEN = /(rgba?\([^()]*\)|#[0-9a-fA-F]{3,8})\s+(-?[\d.]+)%/gu;
|
|
168979
169657
|
function toHexChannel2(value) {
|
|
168980
169658
|
return Math.min(255, Math.max(0, Math.round(value))).toString(16).padStart(2, "0");
|
|
168981
169659
|
}
|
|
@@ -169166,7 +169844,7 @@ function newTableElement(rows = 3, cols = 3, x = DEFAULT_X, y = TABLE_DEFAULT_Y)
|
|
|
169166
169844
|
const columnWidths = Array.from({ length: cols }).fill(colWidth);
|
|
169167
169845
|
const tableRows = Array.from({ length: rows }, (_, rowIdx) => {
|
|
169168
169846
|
const isHeader = rowIdx === 0;
|
|
169169
|
-
const
|
|
169847
|
+
const cells2 = Array.from({ length: cols }, (__, colIdx) => ({
|
|
169170
169848
|
text: isHeader ? `Header ${colIdx + 1}` : "",
|
|
169171
169849
|
style: {
|
|
169172
169850
|
borderTopWidth: 1,
|
|
@@ -169184,7 +169862,7 @@ function newTableElement(rows = 3, cols = 3, x = DEFAULT_X, y = TABLE_DEFAULT_Y)
|
|
|
169184
169862
|
} : {}
|
|
169185
169863
|
}
|
|
169186
169864
|
}));
|
|
169187
|
-
return { cells, height: isHeader ? 40 : 36 };
|
|
169865
|
+
return { cells: cells2, height: isHeader ? 40 : 36 };
|
|
169188
169866
|
});
|
|
169189
169867
|
return {
|
|
169190
169868
|
type: "table",
|
|
@@ -184260,7 +184938,7 @@ var TRANSITION_DIR_GRID_POSITIONS = {
|
|
|
184260
184938
|
rd: [2, 2]
|
|
184261
184939
|
};
|
|
184262
184940
|
function buildDirectionGrid(directions) {
|
|
184263
|
-
const
|
|
184941
|
+
const cells2 = [
|
|
184264
184942
|
[null, null, null],
|
|
184265
184943
|
[null, null, null],
|
|
184266
184944
|
[null, null, null]
|
|
@@ -184268,10 +184946,10 @@ function buildDirectionGrid(directions) {
|
|
|
184268
184946
|
for (const dir of directions) {
|
|
184269
184947
|
const pos2 = TRANSITION_DIR_GRID_POSITIONS[dir];
|
|
184270
184948
|
if (pos2) {
|
|
184271
|
-
|
|
184949
|
+
cells2[pos2[0]][pos2[1]] = dir;
|
|
184272
184950
|
}
|
|
184273
184951
|
}
|
|
184274
|
-
return
|
|
184952
|
+
return cells2;
|
|
184275
184953
|
}
|
|
184276
184954
|
function mergeSlideTransition(current, changes) {
|
|
184277
184955
|
return { type: "none", ...current, ...changes };
|
|
@@ -199599,12 +200277,12 @@ async function fetchTextIfCrossOriginSafe(url) {
|
|
|
199599
200277
|
return null;
|
|
199600
200278
|
}
|
|
199601
200279
|
}
|
|
199602
|
-
var FONT_FACE_URL_PATTERN = /url\(\s*["']
|
|
200280
|
+
var FONT_FACE_URL_PATTERN = /url\(\s*(?:"([^"]*)"|'([^']*)'|([^"')\s]+))\s*\)/gu;
|
|
199603
200281
|
async function inlineFontFaceUrls(css, fetchDataUrl) {
|
|
199604
200282
|
const urls = /* @__PURE__ */ new Set();
|
|
199605
200283
|
for (const match of css.matchAll(FONT_FACE_URL_PATTERN)) {
|
|
199606
|
-
const raw = match[1];
|
|
199607
|
-
if (raw.startsWith("http:") || raw.startsWith("https:")) {
|
|
200284
|
+
const raw = match[1] ?? match[2] ?? match[3];
|
|
200285
|
+
if (raw && (raw.startsWith("http:") || raw.startsWith("https:"))) {
|
|
199608
200286
|
urls.add(raw);
|
|
199609
200287
|
}
|
|
199610
200288
|
}
|
|
@@ -199664,9 +200342,13 @@ async function fetchAsDataUrl(url) {
|
|
|
199664
200342
|
return null;
|
|
199665
200343
|
}
|
|
199666
200344
|
}
|
|
200345
|
+
var CSS_URL_PATTERN = /url\(\s*(?:"([^"]*)"|'([^']*)'|([^"')\s]+))\s*\)/u;
|
|
199667
200346
|
function extractCssUrl(value) {
|
|
199668
|
-
const match =
|
|
199669
|
-
|
|
200347
|
+
const match = CSS_URL_PATTERN.exec(value);
|
|
200348
|
+
if (!match) {
|
|
200349
|
+
return null;
|
|
200350
|
+
}
|
|
200351
|
+
return match[1] ?? match[2] ?? match[3] ?? null;
|
|
199670
200352
|
}
|
|
199671
200353
|
function needsEmbedding(url) {
|
|
199672
200354
|
return url.startsWith("blob:") || url.startsWith("http:") || url.startsWith("https:");
|
|
@@ -200136,13 +200818,13 @@ function computePageCells(pageIndex, slidesPerPage, totalSlides, startSlideIndex
|
|
|
200136
200818
|
const printableWidth = page.width - page.marginLeft - page.marginRight;
|
|
200137
200819
|
const printableHeight = page.height - page.marginTop - page.marginBottom;
|
|
200138
200820
|
const isThreePerPage = slidesPerPage === 3;
|
|
200139
|
-
const
|
|
200821
|
+
const cells2 = [];
|
|
200140
200822
|
if (isThreePerPage) {
|
|
200141
200823
|
const slideAreaWidth = printableWidth * THREE_PER_PAGE_SLIDE_FRACTION;
|
|
200142
200824
|
const cellHeight = (printableHeight - CELL_GAP * (grid.rows - 1)) / grid.rows;
|
|
200143
200825
|
for (let row = 0; row < grid.rows; row++) {
|
|
200144
200826
|
const slideIdx = startSlideIndex + row;
|
|
200145
|
-
|
|
200827
|
+
cells2.push({
|
|
200146
200828
|
slideIndex: slideIdx < totalSlides ? slideIdx : -1,
|
|
200147
200829
|
row,
|
|
200148
200830
|
col: 0,
|
|
@@ -200159,7 +200841,7 @@ function computePageCells(pageIndex, slidesPerPage, totalSlides, startSlideIndex
|
|
|
200159
200841
|
for (let row = 0; row < grid.rows; row++) {
|
|
200160
200842
|
for (let col = 0; col < grid.columns; col++) {
|
|
200161
200843
|
const slideIdx = startSlideIndex + cellIndex;
|
|
200162
|
-
|
|
200844
|
+
cells2.push({
|
|
200163
200845
|
slideIndex: slideIdx < totalSlides ? slideIdx : -1,
|
|
200164
200846
|
row,
|
|
200165
200847
|
col,
|
|
@@ -200174,7 +200856,7 @@ function computePageCells(pageIndex, slidesPerPage, totalSlides, startSlideIndex
|
|
|
200174
200856
|
}
|
|
200175
200857
|
return {
|
|
200176
200858
|
pageIndex,
|
|
200177
|
-
cells,
|
|
200859
|
+
cells: cells2,
|
|
200178
200860
|
hasNoteLines: isThreePerPage
|
|
200179
200861
|
};
|
|
200180
200862
|
}
|
|
@@ -201927,6 +202609,9 @@ function groupTilesByRow(tiles) {
|
|
|
201927
202609
|
const rowCount = tiles.reduce((max, t) => Math.max(max, t.row), 0) + 1;
|
|
201928
202610
|
const rows = Array.from({ length: rowCount }, () => []);
|
|
201929
202611
|
for (const tile of tiles) {
|
|
202612
|
+
if (!Number.isInteger(tile.row) || !Number.isInteger(tile.col) || tile.row < 0 || tile.col < 0) {
|
|
202613
|
+
continue;
|
|
202614
|
+
}
|
|
201930
202615
|
rows[tile.row][tile.col] = tile;
|
|
201931
202616
|
}
|
|
201932
202617
|
return rows;
|
|
@@ -202153,4 +202838,4 @@ async function rasterResultToPngBlob(result) {
|
|
|
202153
202838
|
* `<p:extLst>` (optional)
|
|
202154
202839
|
*/
|
|
202155
202840
|
|
|
202156
|
-
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_TYPE_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, insertCommentMention, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, restoreFilteredSeries, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };
|
|
202841
|
+
export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, CHART_TYPE_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMENT_MARKER_SIZE, COMMENT_MENTION_ATTRIBUTE, COMMENT_MENTION_CLASS, COMMON_FONTS, COMMON_FONT_SIZES, COMPOUND_LINE_OPTIONS, CONNECTION_TIMEOUT_MS, CONNECTOR_SITE_SNAP_PX, CUSTOM_FONT_ACCEPT, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PREFERENCES, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EFFECT_SOUND_CATALOGUE, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GIF_POST_CAPTURE_MAX_SIDE, GRADIENT_TYPE_OPTIONS, GlyphOutlineFontCache, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINE_CAP_OPTIONS, LINE_JOIN_OPTIONS, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_TOUCH_TARGET_PX, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OFFICE_COLOR_SWATCHES, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PATTERN_PRESET_OPTIONS, PDF_SLIDES_PAGE_HEIGHT_PT, PDF_SLIDES_PAGE_WIDTH_PT, PEN_COLORS, PPTX_OPEN_ACCEPT, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_HIT_TEST_CSS, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_OPEN_EXTENSIONS, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RADAR_STYLE_OPTIONS, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RIBBON_SHAPE_SWATCHES, RIBBON_TRANSITION_PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_SHOW_OPTIONS, SLIDE_SIZE_PRESETS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, SMARTART_STYLE_LABEL_KEYS, SORTER_MAX_ZOOM, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, STATUS_BAR_CLASSES, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, SURFACE_WIREFRAME_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_BORDER_SIDES, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, TABLE_STYLE_EDITOR_PARTS, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_MORPH_OPTIONS, TRANSITION_ORIENTATION_TYPES, TRANSITION_SOUND_NONE_VALUE, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SPEED_OPTIONS, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptAutosaveRecovery, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addCommentToList, addQuickAccessCommand, addSection, addSiblingAfter, addSmartArtNodeAsChild, addTableStyleToMap, addTagToCollections, advanceChartMarkDrag, advanceChartValueDrag, advanceMainSequence, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyAnimationTimelineOrder, applyAutoCorrect, applyCaseTransformToSegments, applyChartPartHighlight, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyHighlightClickStyle, applyImagePathPatches, applyMasterViewCrudAction, applyMotionPathPreset, applyOleDocumentParagraphEdit, applyOleNestedDeckElementTextEdit, applyOleSheetCellEdit, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyTableStyleDelete, applyTableStyleFieldEdit, applyTableStyleMapChange, applyTableStylePreset, applyThemeOverrideToSlide, applyThemeToData, applyTransitionSoundFile, applyTransitionStockSound, attachPresentationVisibilityPause, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, buildSvgGradientDef, buildTabContext, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBodyLayoutStyle, buildTextBuildSpec, buildTextStyleOverrideCss, buildThemeColorGrid, buildThemeColorMap, buildThemeColorSwatchGrid, buildTiledSlidesPdfBytes, buildUserFontFaceStyles, canAddTopLevelNode, canCommitActionType, canDrillDown, canGoNext, canGoPrevious, canGroupSelection, canInteractWithElement, canRemoveTopLevelNode, canSetStrokeWidth, canUngroupSelection, canUseClipboard, cancelBuildReveal, canvasToJpegData, cellRunStyle, cellStyleToCss, centeredSvgTextLines, chartGridlinesPatch, chartGridlinesState, chartPartToAttrs, chartPreserveAspectRatio, checkModifyPassword, clampCropValue, clampGifDimensions, clampNotesFontSize, clampOptionNumber, clampPercent2, clampSorterZoom, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, classifyExtraConnections, classifyMediaType, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearPlaybackTimers, clearStoredViewerPrefs, clearTransitionSound, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collapseChartTitleRunsForEdit, collectCoherent3DOffNodeIds, collectConnectorSiteCandidates, collectImagePaths, collectMediaElements, collectReferencedFontFamilies, collectUsedFonts, colorWithOpacity, commentMentionQuery, commentTextSegments, comparePresentation, compatToastStackStyle, compatibilityWarningToasts, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeAnchoredPopupPosition, computeChartLegendLayout, computeColorFilter, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeGridSpacingPx, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSlideIndices, computeSmartArtElementLayout, computeSnapToShape, computeSplitCell, computeVirtualRange, connectorWrapperTransform, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createActiveAnimationGroup, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDefaultChartUserShape, createDefaultChartUserShapeGroupChild, createDepartureChannel, createGlyphOutlineLookup, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementIdSelector, elementLockTogglePatch, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, ensureChartInteractionStyles, erasePresentationInkAt, evenColumnWidths, evenRowHeights, exportDeckJson, extraQuickAccessCommands, fetchGoogleWebfontOutlineBytes, filterCommands, filterHiddenSlideIndices, filterInteractableIds, filterRenderedElements, findChartPartTarget, findConnectorSiteNear, findEraserHitElementId, findInSlides, findSelectedThemeSwatch, findSmartArtNodeText, finishPrintWindow, firstShowSlideIndex, flattenNodes, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateNoteLineCount, generateTicks, getActiveXControlOverlayView, getAnimationColorBaseStyle, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getBarFacePicturePixelSampleVersion, getBevelLightingSvgFilter, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getChartUserShapeGroupTransform, getChartUserShapeRowChartBox, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getComputedFillStyle, getComputedStrokeStyle, getConnectorEndpointHandles, getContentPartReplayStyles, getCropShapeClipPath, getCurrentParagraphIndex, getDenseGridLayoutPlan, getDensePanelTouchTargetPx, getDraggedShapeAdjustments, getDuotoneCachedResult, getEffectSoundAsset, getEffectSoundState, getEffectStyleSource, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getFragmentedTransitionDescriptor, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getImageTilingStyle, getInkReplayStyles, getInlineEditorSelection, getLocalStorageUsageSummary, getNonVisualDescriptionFields, getNotesPrintableArea, getOleAriaLabel, getOleBadgeLabel, getOleDisplayName, getOleDocumentParagraphs, getOleNestedDeckDetail, getOleObjectTypeLabel, getOleSheetGrid, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPresetShapeVectorGeometry, getPrintableArea, getSessionTabId, getShapeAdjustmentHandleDescriptors, getShapeConnectionSites, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextBodyRotationTransform, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasGlyphEnvelope, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hasTiltData, hexToRgbUnit, hiddenSlideCue, hideChartSeries, hollowTextFillStyle, inlineElementPointerEvents, insertCommentMention, insertTableElementColumn, insertTableElementRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isCurrentLayout, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementLocked, isElementRendered, isExportAbortError, isHeaderFooterDateTextVisible, isHeaderFooterFooterTextVisible, isHeaderFooterHeaderTextVisible, isHollowShapeElement, isImageLikeElement, isImageTiled, isInkElement, isKeyboardOpen, isLegacyBinaryPresentation, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mapSlideShowStartKey, mapSlideSorterKey, masterViewBackgroundColor, masterViewCrudActions, masterViewCrudFailureKey, masterViewElements, masterViewPseudoSlide, matchCommentMentionAuthors, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, mediaTrimEndMsFromSeconds, mediaTrimEndSeconds, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, modelDataToBlobUrl, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPendingPrintWindow, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, patchChartData, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, placeTileOnPage, placeholderPromptDescriptor, playFeedbackSound, playGroup, playSlideTransitionPreview, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationBaseName, presentationEntrySlideIndex, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, probeAutosaveRecovery, projectDrawingShapes, promote, publishLiveGeometry, publishLiveInlineText, pushRecentColor, quickStyleSwatchCss, radarStylePatch, rasterResultToPngBlob, rasterizeElement, rasterizeElementTiledToCanvas, rasterizeElementTiles, reResolveElementColors, reResolveSlideColors, readBackstageRecentFile, readEditableText, readOnlyRecommendation, readRibbonTransitionDraft, readSlideShowOption, readSlidesFromYDoc, readSoundFileAsDataUrl, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, redistributeColumnWidth, registerCollaborationTeardown, registerCrossSlideAudio, registerCustomFont, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeCommentFromList, removeEmptyNode, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorder2 as reorder, reorderAnimationTimelineRows, replaceMasterViewElements, replaceOleFile, replyToCommentInList, rerouteConnectorsForMovedElements, resetPresenterTimer, resetSlideLayoutPath, resolve3DRenderingFlags, resolveActionType, resolveAudienceScreenPlacement, resolveAuthoredCustomShowId, resolveAuthoredSlideRange, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveAutosaveActivation, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, resolveChartKind, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveTableCellImageUrls, resolveTableStyleImageUrls, resolveTemplateBackgroundRows, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransitionSoundAction, resolveTransportForServerUrl, resolveViewerAddinRows, restoreFilteredSeries, restoreSegmentSelection, restoreSessionDeck, ribbonTransitionUpdates, rulerDragToGuidePosition, runPresentationAction, runProgramNoticeStackStyle, safeOpenUrl, sanitizeColor, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveDeckWithPassword, saveViewerProfile, savedPresentationFileName, scaleSlidesForSizeChange, scanAvailableFontFamilies, scheduleAutoAdvanceChain, scheduleMediaTrimAndFade, schemaLabel, scopeLayoutOptionsToSlide, seedRecentColors, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, selectGoogleWebfontFamilies, sendBackward, sendToBack, seriesSecondaryAxisPatch, setAfterAnimation, setAfterAnimationColor, setCachedResult, setCellText, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDataLabelsRangeCache, setDuotoneCachedResult, setEffectSound, setEffectStockSound, setMasterViewBackgroundColor, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shapeFillChange, shapeOutlineChange, shouldAutoFollowBroadcaster, shouldClearAutosaveCacheOnClose, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldDiscardAutosaveOnSuccessfulSave, shouldLoopContinuously, shouldProbeAutosaveRecovery, shouldRoomSlidesReplaceLoad, shouldShowAccessibilitySection, shouldShowAutosaveRecoveryPrompt, shouldShowElementHandles, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, stripUnderlineDecoration, strokeOutlineViewBox, strokeWidthOf, styleShadowFilter, subscribeBarFacePicturePixelSamples, substituteFieldText, surfaceWireframePatch, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, tableCellCss, tableContainerCss, tableStyleAssignmentUpdate, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, textFontSizePtToPx, textFontSizePxToPt, themeColorLabel, themeColorSchemesEqual, themeColorSwatchRows, themeSwatchCommit, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, toggleCommentResolvedInList, togglePresenterTimer, toggleSheet, toggleStageElementMedia, toggleText3dExtrusion, transformTextCase, transitionSoundOptions, transitionSoundSelectedValue, transitionStockSoundId, trimmedMediaDurationMs, ungroupElements, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateElement, updateMasterViewElement, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateMediaTrimRange, validateRoomId, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewPropertiesPatchFromPreferences, viewerOptionsToPreferences, viewerPreferencesFromViewProperties, visibleTemplateElements, warpPreviewPath, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs };
|