pptx-react-viewer 4.9.0 → 4.10.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 +61 -0
- package/dist/{AiChatPanel-WJ64Q6KO.js → AiChatPanel-RBQFM6JK.js} +27 -27
- package/dist/AiChatPanel-RBQFM6JK.js.br +0 -0
- package/dist/AiChatPanel-RBQFM6JK.js.gz +0 -0
- package/dist/{AiChatPanel-YRWC7C3B.mjs → AiChatPanel-SIEMT43N.mjs} +3 -3
- package/dist/AiChatPanel-SIEMT43N.mjs.br +0 -0
- package/dist/AiChatPanel-SIEMT43N.mjs.gz +0 -0
- package/dist/{Model3DScene-DS6AQWFV.mjs → Model3DScene-HZ7SOUFQ.mjs} +1 -1
- package/dist/{Model3DScene-DS6AQWFV.mjs.br → Model3DScene-HZ7SOUFQ.mjs.br} +0 -0
- package/dist/Model3DScene-HZ7SOUFQ.mjs.gz +0 -0
- package/dist/{Model3DScene-VHDYCHO5.js → Model3DScene-ITAVIIVY.js} +2 -2
- package/dist/Model3DScene-ITAVIIVY.js.br +0 -0
- package/dist/Model3DScene-ITAVIIVY.js.gz +0 -0
- package/dist/{chunk-K5HZD63F.mjs → chunk-3UZYGG6W.mjs} +6 -6
- package/dist/chunk-3UZYGG6W.mjs.br +0 -0
- package/dist/chunk-3UZYGG6W.mjs.gz +0 -0
- package/dist/{chunk-M6KW27TZ.mjs → chunk-A5A6B2PA.mjs} +17 -13
- package/dist/chunk-A5A6B2PA.mjs.br +0 -0
- package/dist/chunk-A5A6B2PA.mjs.gz +0 -0
- package/dist/{chunk-YWAFJZ23.js → chunk-E5565MDK.js} +796 -327
- package/dist/chunk-E5565MDK.js.br +0 -0
- package/dist/chunk-E5565MDK.js.gz +0 -0
- package/dist/{chunk-Y7RTQOD6.mjs → chunk-LMJU46E5.mjs} +1 -1
- package/dist/chunk-LMJU46E5.mjs.br +0 -0
- package/dist/chunk-LMJU46E5.mjs.gz +0 -0
- package/dist/{chunk-7NTNFOPT.js → chunk-NTMJSTXL.js} +187 -187
- package/dist/chunk-NTMJSTXL.js.br +0 -0
- package/dist/chunk-NTMJSTXL.js.gz +0 -0
- package/dist/{chunk-PSJTZIIK.js → chunk-PPDIZ3XP.js} +5 -5
- package/dist/chunk-PPDIZ3XP.js.br +0 -0
- package/dist/chunk-PPDIZ3XP.js.gz +0 -0
- package/dist/{chunk-ZZY24BB7.mjs → chunk-WM33FDLD.mjs} +1 -1
- package/dist/chunk-WM33FDLD.mjs.br +0 -0
- package/dist/chunk-WM33FDLD.mjs.gz +0 -0
- package/dist/{chunk-PJT2DTOS.mjs → chunk-ZBFDEYLQ.mjs} +796 -327
- package/dist/chunk-ZBFDEYLQ.mjs.br +0 -0
- package/dist/chunk-ZBFDEYLQ.mjs.gz +0 -0
- package/dist/{chunk-NMXIX7E4.js → chunk-ZEQVK2FT.js} +1179 -1179
- package/dist/chunk-ZEQVK2FT.js.br +0 -0
- package/dist/chunk-ZEQVK2FT.js.gz +0 -0
- package/dist/{chunk-ZZ6IPWOP.js → chunk-ZI57KREY.js} +820 -816
- package/dist/chunk-ZI57KREY.js.br +0 -0
- package/dist/chunk-ZI57KREY.js.gz +0 -0
- package/dist/index.d.ts +20 -4
- package/dist/index.js +61 -61
- 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 +22 -6
- package/dist/internals.js +104 -104
- 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 +20 -4
- 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 +2 -2
- package/dist/AiChatPanel-WJ64Q6KO.js.br +0 -0
- package/dist/AiChatPanel-WJ64Q6KO.js.gz +0 -0
- package/dist/AiChatPanel-YRWC7C3B.mjs.br +0 -0
- package/dist/AiChatPanel-YRWC7C3B.mjs.gz +0 -0
- package/dist/Model3DScene-DS6AQWFV.mjs.gz +0 -0
- package/dist/Model3DScene-VHDYCHO5.js.br +0 -0
- package/dist/Model3DScene-VHDYCHO5.js.gz +0 -0
- package/dist/chunk-7NTNFOPT.js.br +0 -0
- package/dist/chunk-7NTNFOPT.js.gz +0 -0
- package/dist/chunk-K5HZD63F.mjs.br +0 -0
- package/dist/chunk-K5HZD63F.mjs.gz +0 -0
- package/dist/chunk-M6KW27TZ.mjs.br +0 -0
- package/dist/chunk-M6KW27TZ.mjs.gz +0 -0
- package/dist/chunk-NMXIX7E4.js.br +0 -0
- package/dist/chunk-NMXIX7E4.js.gz +0 -0
- package/dist/chunk-PJT2DTOS.mjs.br +0 -0
- package/dist/chunk-PJT2DTOS.mjs.gz +0 -0
- package/dist/chunk-PSJTZIIK.js.br +0 -0
- package/dist/chunk-PSJTZIIK.js.gz +0 -0
- package/dist/chunk-Y7RTQOD6.mjs.br +0 -0
- package/dist/chunk-Y7RTQOD6.mjs.gz +0 -0
- package/dist/chunk-YWAFJZ23.js.br +0 -0
- package/dist/chunk-YWAFJZ23.js.gz +0 -0
- package/dist/chunk-ZZ6IPWOP.js.br +0 -0
- package/dist/chunk-ZZ6IPWOP.js.gz +0 -0
- package/dist/chunk-ZZY24BB7.mjs.br +0 -0
- package/dist/chunk-ZZY24BB7.mjs.gz +0 -0
|
@@ -11107,7 +11107,7 @@ function createChartElement(chartType, input, options) {
|
|
|
11107
11107
|
const chartData = {
|
|
11108
11108
|
chartType,
|
|
11109
11109
|
categories: input.categories,
|
|
11110
|
-
categoryLevels: input.categoryLevels?.map((
|
|
11110
|
+
categoryLevels: input.categoryLevels?.map((level2) => [...level2]),
|
|
11111
11111
|
series,
|
|
11112
11112
|
title: input.title,
|
|
11113
11113
|
grouping: input.grouping,
|
|
@@ -35951,9 +35951,9 @@ function paragraphsAt(text22, sizePt) {
|
|
|
35951
35951
|
const afterParent = (text22.spaceAfterParent ?? DEFAULT_SPACE_AFTER_PARENT) / 100;
|
|
35952
35952
|
const afterChild = (text22.spaceAfterChild ?? DEFAULT_SPACE_AFTER_CHILD) / 100;
|
|
35953
35953
|
const { secondary } = paragraphSizesPt(text22, sizePt);
|
|
35954
|
-
const paragraph = (value,
|
|
35955
|
-
const bullet = bulletLevel > 0 &&
|
|
35956
|
-
const size = bullet ||
|
|
35954
|
+
const paragraph = (value, level2) => {
|
|
35955
|
+
const bullet = bulletLevel > 0 && level2 >= bulletLevel;
|
|
35956
|
+
const size = bullet || level2 >= 2 ? secondary : sizePt;
|
|
35957
35957
|
return {
|
|
35958
35958
|
text: value,
|
|
35959
35959
|
size,
|
|
@@ -36826,6 +36826,136 @@ var init_alg_hier = __esm({
|
|
|
36826
36826
|
HIER_ALGS = /* @__PURE__ */ new Set(["hierRoot", "hierChild"]);
|
|
36827
36827
|
}
|
|
36828
36828
|
});
|
|
36829
|
+
function shapeTransform(node) {
|
|
36830
|
+
const box = node.box;
|
|
36831
|
+
if (!box) {
|
|
36832
|
+
return void 0;
|
|
36833
|
+
}
|
|
36834
|
+
const rotation = (((node.shape?.rot ?? 0) + node.rotation) % 360 + 360) % 360;
|
|
36835
|
+
const quarter = Math.round((node.shape?.rot ?? 0) / 90);
|
|
36836
|
+
if (Math.abs(quarter) % 2 === 1 && Math.abs((node.shape?.rot ?? 0) - quarter * 90) < 1e-6) {
|
|
36837
|
+
const cx = box.x + box.w / 2;
|
|
36838
|
+
const cy = box.y + box.h / 2;
|
|
36839
|
+
return { x: cx - box.h / 2, y: cy - box.w / 2, w: box.h, h: box.w, rotation };
|
|
36840
|
+
}
|
|
36841
|
+
return { ...box, rotation };
|
|
36842
|
+
}
|
|
36843
|
+
var init_shape_transform = __esm({
|
|
36844
|
+
"src/core/utils/smartart-engine/shape-transform.ts"() {
|
|
36845
|
+
}
|
|
36846
|
+
});
|
|
36847
|
+
function depthOf(point) {
|
|
36848
|
+
let depth = 0;
|
|
36849
|
+
for (let current = point.parent; current; current = current.parent) {
|
|
36850
|
+
depth++;
|
|
36851
|
+
}
|
|
36852
|
+
return depth;
|
|
36853
|
+
}
|
|
36854
|
+
function level(depth) {
|
|
36855
|
+
return Math.max(0, Math.min(MAX_LEVEL, depth));
|
|
36856
|
+
}
|
|
36857
|
+
function connectorDim(node) {
|
|
36858
|
+
return node.alg.type === "conn" && node.alg.params.dim === "1D" ? "1D" : "2D";
|
|
36859
|
+
}
|
|
36860
|
+
function derivedStyleLabel(node) {
|
|
36861
|
+
if (!node.hasPresOf) {
|
|
36862
|
+
return void 0;
|
|
36863
|
+
}
|
|
36864
|
+
const point = node.presOf[0] ?? node.point;
|
|
36865
|
+
switch (point.type) {
|
|
36866
|
+
case "node":
|
|
36867
|
+
case "asst":
|
|
36868
|
+
return `node${level(depthOf(point))}`;
|
|
36869
|
+
case "sibTrans":
|
|
36870
|
+
return `sibTrans${connectorDim(node)}1`;
|
|
36871
|
+
case "parTrans":
|
|
36872
|
+
return `parChTrans${connectorDim(node)}${level(depthOf(point))}`;
|
|
36873
|
+
default:
|
|
36874
|
+
return void 0;
|
|
36875
|
+
}
|
|
36876
|
+
}
|
|
36877
|
+
function engineStyleLabel(node) {
|
|
36878
|
+
for (let current = node; current; current = current.parent) {
|
|
36879
|
+
if (current.styleLbl) {
|
|
36880
|
+
return current.styleLbl;
|
|
36881
|
+
}
|
|
36882
|
+
}
|
|
36883
|
+
return derivedStyleLabel(node);
|
|
36884
|
+
}
|
|
36885
|
+
var MAX_LEVEL;
|
|
36886
|
+
var init_style_label = __esm({
|
|
36887
|
+
"src/core/utils/smartart-engine/style-label.ts"() {
|
|
36888
|
+
MAX_LEVEL = 4;
|
|
36889
|
+
}
|
|
36890
|
+
});
|
|
36891
|
+
function connectorPreset(node) {
|
|
36892
|
+
const type = node.shape?.type;
|
|
36893
|
+
if (!type || type === "none" || node.shape?.hideGeom || !node.values.has("connDist")) {
|
|
36894
|
+
return void 0;
|
|
36895
|
+
}
|
|
36896
|
+
if (type !== "conn") {
|
|
36897
|
+
return type;
|
|
36898
|
+
}
|
|
36899
|
+
const params = node.alg.params;
|
|
36900
|
+
if ((params.dim ?? "2D") !== "2D" || (params.connRout ?? "stra") !== "stra") {
|
|
36901
|
+
return void 0;
|
|
36902
|
+
}
|
|
36903
|
+
const begin = (params.begSty ?? "noArr") === "arr";
|
|
36904
|
+
const end = (params.endSty ?? "arr") === "arr";
|
|
36905
|
+
if (begin && end) {
|
|
36906
|
+
return "leftRightArrow";
|
|
36907
|
+
}
|
|
36908
|
+
if (begin) {
|
|
36909
|
+
return "leftArrow";
|
|
36910
|
+
}
|
|
36911
|
+
return end ? "rightArrow" : "rect";
|
|
36912
|
+
}
|
|
36913
|
+
function buildConnectorNode(node, index, connectorIndex, palette, roleColors) {
|
|
36914
|
+
const preset22 = connectorPreset(node);
|
|
36915
|
+
const transform6 = preset22 ? shapeTransform(node) : void 0;
|
|
36916
|
+
if (!preset22 || !transform6 || !(transform6.w > 0) || !(transform6.h > 0)) {
|
|
36917
|
+
return void 0;
|
|
36918
|
+
}
|
|
36919
|
+
const styleLabel = engineStyleLabel(node);
|
|
36920
|
+
const fills = styleLabel ? roleColors?.[styleLabel]?.fill : void 0;
|
|
36921
|
+
const fill = fills && fills.length > 0 ? fills[connectorIndex % fills.length] : colour(index, palette);
|
|
36922
|
+
const x = transform6.x * PX_PER_PT3;
|
|
36923
|
+
const y = transform6.y * PX_PER_PT3;
|
|
36924
|
+
const width = transform6.w * PX_PER_PT3;
|
|
36925
|
+
const height = transform6.h * PX_PER_PT3;
|
|
36926
|
+
return {
|
|
36927
|
+
kind: "rect",
|
|
36928
|
+
key: `${node.name || "engine-conn"}-${index}`,
|
|
36929
|
+
x,
|
|
36930
|
+
y,
|
|
36931
|
+
width,
|
|
36932
|
+
height,
|
|
36933
|
+
rx: 0,
|
|
36934
|
+
fill,
|
|
36935
|
+
stroke: "none",
|
|
36936
|
+
strokeWidth: 0,
|
|
36937
|
+
opacity: 1,
|
|
36938
|
+
text: "",
|
|
36939
|
+
fontSize: 0,
|
|
36940
|
+
textX: x + width / 2,
|
|
36941
|
+
textY: y + height / 2,
|
|
36942
|
+
rotation: transform6.rotation === 0 ? void 0 : transform6.rotation,
|
|
36943
|
+
presetOverride: preset22,
|
|
36944
|
+
...preset22 === "rect" ? {} : { shapeAdjustments: { ...ARROW_ADJUSTMENTS } },
|
|
36945
|
+
...styleLabel ? { styleLabel } : {}
|
|
36946
|
+
};
|
|
36947
|
+
}
|
|
36948
|
+
var ARROW_ADJUSTMENTS;
|
|
36949
|
+
var PX_PER_PT3;
|
|
36950
|
+
var init_connector_shape = __esm({
|
|
36951
|
+
"src/core/utils/smartart-engine/connector-shape.ts"() {
|
|
36952
|
+
init_smartart_layout_style_helpers();
|
|
36953
|
+
init_shape_transform();
|
|
36954
|
+
init_style_label();
|
|
36955
|
+
ARROW_ADJUSTMENTS = { adj1: 6e4, adj2: 5e4 };
|
|
36956
|
+
PX_PER_PT3 = 96 / 72;
|
|
36957
|
+
}
|
|
36958
|
+
});
|
|
36829
36959
|
function collectNodes(nodes, parentId, out) {
|
|
36830
36960
|
for (const node of nodes) {
|
|
36831
36961
|
out.push({ node, parentId: node.parentId ?? parentId });
|
|
@@ -37521,6 +37651,68 @@ var init_pres_tree = __esm({
|
|
|
37521
37651
|
MAX_DEPTH = 96;
|
|
37522
37652
|
}
|
|
37523
37653
|
});
|
|
37654
|
+
function connectorThickness(node, fallback) {
|
|
37655
|
+
const parent = node.parent;
|
|
37656
|
+
let resized = false;
|
|
37657
|
+
for (const constraint of parent?.constraints ?? []) {
|
|
37658
|
+
if (!parent || !SIZE_TYPES2.has(constraint.type) || !SIZE_TYPES2.has(constraint.refType)) {
|
|
37659
|
+
continue;
|
|
37660
|
+
}
|
|
37661
|
+
if (constraint.refFor === "self" && !constraint.refForName) {
|
|
37662
|
+
continue;
|
|
37663
|
+
}
|
|
37664
|
+
const targets = relatedNodes(parent, constraint.for, constraint.forName, constraint.ptType);
|
|
37665
|
+
if (!targets.includes(node)) {
|
|
37666
|
+
continue;
|
|
37667
|
+
}
|
|
37668
|
+
const ref = relatedNodes(
|
|
37669
|
+
parent,
|
|
37670
|
+
constraint.refFor,
|
|
37671
|
+
constraint.refForName,
|
|
37672
|
+
constraint.refPtType
|
|
37673
|
+
)[0];
|
|
37674
|
+
const box = ref?.box;
|
|
37675
|
+
if (!box || ref.alg.type === "conn") {
|
|
37676
|
+
continue;
|
|
37677
|
+
}
|
|
37678
|
+
const base = constraint.refType === "w" ? box.w : box.h;
|
|
37679
|
+
if (base > 0) {
|
|
37680
|
+
node.values.set(constraint.type, base * constraint.fact);
|
|
37681
|
+
resized = true;
|
|
37682
|
+
}
|
|
37683
|
+
}
|
|
37684
|
+
if (resized) {
|
|
37685
|
+
for (let i2 = 0; i2 < node.constraints.length; i2++) {
|
|
37686
|
+
if (isSelfSizeConstraint(node, i2)) {
|
|
37687
|
+
applyConstraint(node, node.constraints[i2]);
|
|
37688
|
+
}
|
|
37689
|
+
}
|
|
37690
|
+
}
|
|
37691
|
+
const h2 = node.values.get("h");
|
|
37692
|
+
return resized && h2 !== void 0 && h2 > 0 ? h2 : fallback;
|
|
37693
|
+
}
|
|
37694
|
+
function edgeDistance(shape, box, dx, dy) {
|
|
37695
|
+
const halfW = box.w / 2;
|
|
37696
|
+
const halfH = box.h / 2;
|
|
37697
|
+
if (shape.shape?.type === "ellipse" && halfW > 0 && halfH > 0) {
|
|
37698
|
+
return halfW * halfH / Math.hypot(halfH * dx, halfW * dy);
|
|
37699
|
+
}
|
|
37700
|
+
const tx = dx === 0 ? Infinity : halfW / Math.abs(dx);
|
|
37701
|
+
const ty = dy === 0 ? Infinity : halfH / Math.abs(dy);
|
|
37702
|
+
return Math.min(tx, ty);
|
|
37703
|
+
}
|
|
37704
|
+
var SIZE_TYPES2;
|
|
37705
|
+
var DEFAULT_BEGIN_PAD;
|
|
37706
|
+
var DEFAULT_END_PAD;
|
|
37707
|
+
var init_connector_size = __esm({
|
|
37708
|
+
"src/core/utils/smartart-engine/connector-size.ts"() {
|
|
37709
|
+
init_constraint_eval();
|
|
37710
|
+
init_preferred_size();
|
|
37711
|
+
SIZE_TYPES2 = /* @__PURE__ */ new Set(["w", "h"]);
|
|
37712
|
+
DEFAULT_BEGIN_PAD = 0.22;
|
|
37713
|
+
DEFAULT_END_PAD = 0.25;
|
|
37714
|
+
}
|
|
37715
|
+
});
|
|
37524
37716
|
function rootOf2(node) {
|
|
37525
37717
|
let current = node;
|
|
37526
37718
|
while (current.parent) {
|
|
@@ -37567,13 +37759,6 @@ function findShape(scope, point, name, skip) {
|
|
|
37567
37759
|
visit(scope);
|
|
37568
37760
|
return named ?? fallback;
|
|
37569
37761
|
}
|
|
37570
|
-
function edgeDistance(box, dx, dy) {
|
|
37571
|
-
const halfW = box.w / 2;
|
|
37572
|
-
const halfH = box.h / 2;
|
|
37573
|
-
const tx = dx === 0 ? Infinity : halfW / Math.abs(dx);
|
|
37574
|
-
const ty = dy === 0 ? Infinity : halfH / Math.abs(dy);
|
|
37575
|
-
return Math.min(tx, ty);
|
|
37576
|
-
}
|
|
37577
37762
|
function arrangeConnector(node) {
|
|
37578
37763
|
const box = node.box;
|
|
37579
37764
|
if (!box) {
|
|
@@ -37592,8 +37777,8 @@ function arrangeConnector(node) {
|
|
|
37592
37777
|
if (length > 0) {
|
|
37593
37778
|
const dx = (ex - sx) / length;
|
|
37594
37779
|
const dy = (ey - sy) / length;
|
|
37595
|
-
const startGap = edgeDistance(src.box, dx, dy);
|
|
37596
|
-
const endGap = edgeDistance(dst.box, dx, dy);
|
|
37780
|
+
const startGap = edgeDistance(src, src.box, dx, dy);
|
|
37781
|
+
const endGap = edgeDistance(dst, dst.box, dx, dy);
|
|
37597
37782
|
const connDist = Math.max(0, length - startGap - endGap);
|
|
37598
37783
|
node.values.set("connDist", connDist);
|
|
37599
37784
|
for (const constraint of node.constraints) {
|
|
@@ -37601,13 +37786,13 @@ function arrangeConnector(node) {
|
|
|
37601
37786
|
node.values.set(constraint.type, connDist * constraint.fact);
|
|
37602
37787
|
}
|
|
37603
37788
|
}
|
|
37604
|
-
const begPad = node.values.get("begPad") ??
|
|
37605
|
-
const endPad = node.values.get("endPad") ??
|
|
37789
|
+
const begPad = node.values.get("begPad") ?? connDist * DEFAULT_BEGIN_PAD;
|
|
37790
|
+
const endPad = node.values.get("endPad") ?? connDist * DEFAULT_END_PAD;
|
|
37606
37791
|
const arrowLength = Math.max(0, connDist - begPad - endPad);
|
|
37607
37792
|
const mid = startGap + begPad + arrowLength / 2;
|
|
37608
37793
|
const cx = sx + dx * mid;
|
|
37609
37794
|
const cy = sy + dy * mid;
|
|
37610
|
-
const thickness = box.h;
|
|
37795
|
+
const thickness = connectorThickness(node, box.h);
|
|
37611
37796
|
node.box = { x: cx - arrowLength / 2, y: cy - thickness / 2, w: arrowLength, h: thickness };
|
|
37612
37797
|
node.rotation = normaliseAngle2(Math.atan2(dy, dx) * 180 / Math.PI);
|
|
37613
37798
|
}
|
|
@@ -37623,6 +37808,7 @@ function normaliseAngle2(degrees) {
|
|
|
37623
37808
|
}
|
|
37624
37809
|
var init_alg_connector = __esm({
|
|
37625
37810
|
"src/core/utils/smartart-engine/alg-connector.ts"() {
|
|
37811
|
+
init_connector_size();
|
|
37626
37812
|
}
|
|
37627
37813
|
});
|
|
37628
37814
|
function groupContentChildren(node) {
|
|
@@ -38662,11 +38848,11 @@ function applyEngineFonts(collected, nodeById, fontName) {
|
|
|
38662
38848
|
const pt2 = sizes.get(node) ?? 18;
|
|
38663
38849
|
const text22 = texts.get(node);
|
|
38664
38850
|
const { first, secondary } = text22 ? paragraphSizesPt(text22, pt2) : { first: pt2, secondary: Math.round(pt2 * DESCENDANT_FONT_SCALE) };
|
|
38665
|
-
rendered.fontSize = first *
|
|
38666
|
-
rendered.descendantFontSize = hasDescendants(node) ? secondary *
|
|
38851
|
+
rendered.fontSize = first * PX_PER_PT4;
|
|
38852
|
+
rendered.descendantFontSize = hasDescendants(node) ? secondary * PX_PER_PT4 : void 0;
|
|
38667
38853
|
}
|
|
38668
38854
|
}
|
|
38669
|
-
var
|
|
38855
|
+
var PX_PER_PT4;
|
|
38670
38856
|
var init_engine_fonts = __esm({
|
|
38671
38857
|
"src/core/utils/smartart-engine/engine-fonts.ts"() {
|
|
38672
38858
|
init_smartart_layout_item_font_size();
|
|
@@ -38674,7 +38860,7 @@ var init_engine_fonts = __esm({
|
|
|
38674
38860
|
init_move_with_merge();
|
|
38675
38861
|
init_node_text();
|
|
38676
38862
|
init_text_measure();
|
|
38677
|
-
|
|
38863
|
+
PX_PER_PT4 = 96 / 72;
|
|
38678
38864
|
}
|
|
38679
38865
|
});
|
|
38680
38866
|
function transitionLabelOf(node) {
|
|
@@ -38704,24 +38890,6 @@ var init_render_filter = __esm({
|
|
|
38704
38890
|
"src/core/utils/smartart-engine/render-filter.ts"() {
|
|
38705
38891
|
}
|
|
38706
38892
|
});
|
|
38707
|
-
function shapeTransform(node) {
|
|
38708
|
-
const box = node.box;
|
|
38709
|
-
if (!box) {
|
|
38710
|
-
return void 0;
|
|
38711
|
-
}
|
|
38712
|
-
const rotation = (((node.shape?.rot ?? 0) + node.rotation) % 360 + 360) % 360;
|
|
38713
|
-
const quarter = Math.round((node.shape?.rot ?? 0) / 90);
|
|
38714
|
-
if (Math.abs(quarter) % 2 === 1 && Math.abs((node.shape?.rot ?? 0) - quarter * 90) < 1e-6) {
|
|
38715
|
-
const cx = box.x + box.w / 2;
|
|
38716
|
-
const cy = box.y + box.h / 2;
|
|
38717
|
-
return { x: cx - box.h / 2, y: cy - box.w / 2, w: box.h, h: box.w, rotation };
|
|
38718
|
-
}
|
|
38719
|
-
return { ...box, rotation };
|
|
38720
|
-
}
|
|
38721
|
-
var init_shape_transform = __esm({
|
|
38722
|
-
"src/core/utils/smartart-engine/shape-transform.ts"() {
|
|
38723
|
-
}
|
|
38724
|
-
});
|
|
38725
38893
|
function isFullySupported(root) {
|
|
38726
38894
|
let ok = true;
|
|
38727
38895
|
const visit = (node) => {
|
|
@@ -38748,10 +38916,10 @@ function buildRenderedNode(node, index, nodeById, palette, style, mergedSourceId
|
|
|
38748
38916
|
const hidden = Boolean(node.shape?.hideGeom);
|
|
38749
38917
|
const text22 = primary?.text ?? literalText ?? "";
|
|
38750
38918
|
const sw = hidden ? 0 : styleStroke(style);
|
|
38751
|
-
const x = transform6.x *
|
|
38752
|
-
const y = transform6.y *
|
|
38753
|
-
const width = transform6.w *
|
|
38754
|
-
const height = transform6.h *
|
|
38919
|
+
const x = transform6.x * PX_PER_PT5;
|
|
38920
|
+
const y = transform6.y * PX_PER_PT5;
|
|
38921
|
+
const width = transform6.w * PX_PER_PT5;
|
|
38922
|
+
const height = transform6.h * PX_PER_PT5;
|
|
38755
38923
|
const foldedNodeIds = [
|
|
38756
38924
|
...sourceIds.slice(1),
|
|
38757
38925
|
...(mergedSourceIds ?? []).filter((id) => !sourceIds.includes(id))
|
|
@@ -38778,15 +38946,23 @@ function buildRenderedNode(node, index, nodeById, palette, style, mergedSourceId
|
|
|
38778
38946
|
rotation: transform6.rotation === 0 ? void 0 : transform6.rotation,
|
|
38779
38947
|
presetOverride: node.shape?.type ?? "roundRect",
|
|
38780
38948
|
foldedNodeIds: foldedNodeIds.length > 0 ? foldedNodeIds : void 0,
|
|
38781
|
-
literalText
|
|
38949
|
+
literalText,
|
|
38950
|
+
styleLabel: engineStyleLabel(node)
|
|
38782
38951
|
};
|
|
38783
38952
|
}
|
|
38784
|
-
function collectRenderedNodes(root, nodeById, palette, style) {
|
|
38953
|
+
function collectRenderedNodes(root, nodeById, palette, style, roleColors) {
|
|
38785
38954
|
const out = [];
|
|
38955
|
+
const connectors2 = [];
|
|
38786
38956
|
const visitSiblings = (siblings) => {
|
|
38787
38957
|
const { extraIdsByTarget, suppressed, carrierByTarget } = computeMoveWithMerge(siblings);
|
|
38788
38958
|
for (const node of siblings) {
|
|
38789
|
-
if (node.alg.type
|
|
38959
|
+
if (node.alg.type === "conn") {
|
|
38960
|
+
const index = out.length + connectors2.length;
|
|
38961
|
+
const arrow = buildConnectorNode(node, index, connectors2.length, palette, roleColors);
|
|
38962
|
+
if (arrow) {
|
|
38963
|
+
connectors2.push(arrow);
|
|
38964
|
+
}
|
|
38965
|
+
} else if (!suppressed.has(node)) {
|
|
38790
38966
|
const mergedIds = extraIdsByTarget.get(node.name);
|
|
38791
38967
|
const rendered = buildRenderedNode(node, out.length, nodeById, palette, style, mergedIds);
|
|
38792
38968
|
if (rendered) {
|
|
@@ -38799,7 +38975,7 @@ function collectRenderedNodes(root, nodeById, palette, style) {
|
|
|
38799
38975
|
}
|
|
38800
38976
|
};
|
|
38801
38977
|
visitSiblings([root]);
|
|
38802
|
-
return out;
|
|
38978
|
+
return { collected: out, connectors: connectors2 };
|
|
38803
38979
|
}
|
|
38804
38980
|
function isFiniteGeometry(node) {
|
|
38805
38981
|
return Number.isFinite(node.x) && Number.isFinite(node.y) && Number.isFinite(node.width) && Number.isFinite(node.height) && node.width > 0 && node.height > 0;
|
|
@@ -38827,9 +39003,15 @@ function runEngineLayout(smartArtData, containerBounds, nodes, palette, style) {
|
|
|
38827
39003
|
if (!run || !isFullySupported(run.root)) {
|
|
38828
39004
|
return void 0;
|
|
38829
39005
|
}
|
|
38830
|
-
const collected = collectRenderedNodes(
|
|
39006
|
+
const { collected, connectors: connectors2 } = collectRenderedNodes(
|
|
39007
|
+
run.root,
|
|
39008
|
+
nodeById,
|
|
39009
|
+
palette,
|
|
39010
|
+
style,
|
|
39011
|
+
smartArtData.colorTransform?.roleColors
|
|
39012
|
+
);
|
|
38831
39013
|
applyEngineFonts(collected, nodeById, smartArtData.themeMinorFont);
|
|
38832
|
-
const rendered = collected.map((entry5) => entry5.rendered);
|
|
39014
|
+
const rendered = [...collected.map((entry5) => entry5.rendered), ...connectors2];
|
|
38833
39015
|
if (rendered.length === 0 || !rendered.every(isFiniteGeometry)) {
|
|
38834
39016
|
return void 0;
|
|
38835
39017
|
}
|
|
@@ -38843,18 +39025,20 @@ function runEngineLayout(smartArtData, containerBounds, nodes, palette, style) {
|
|
|
38843
39025
|
}
|
|
38844
39026
|
var SUPPORTED_ALGS;
|
|
38845
39027
|
var PT_PER_PX;
|
|
38846
|
-
var
|
|
39028
|
+
var PX_PER_PT5;
|
|
38847
39029
|
var init_engine_to_result = __esm({
|
|
38848
39030
|
"src/core/utils/smartart-engine/engine-to-result.ts"() {
|
|
38849
39031
|
init_smartart_layout_item_font_size();
|
|
38850
39032
|
init_smartart_layout_style_helpers();
|
|
38851
39033
|
init_alg_hier();
|
|
39034
|
+
init_connector_shape();
|
|
38852
39035
|
init_engine();
|
|
38853
39036
|
init_engine_fonts();
|
|
38854
39037
|
init_move_with_merge();
|
|
38855
39038
|
init_node_text();
|
|
38856
39039
|
init_render_filter();
|
|
38857
39040
|
init_shape_transform();
|
|
39041
|
+
init_style_label();
|
|
38858
39042
|
init_text_measure();
|
|
38859
39043
|
SUPPORTED_ALGS = /* @__PURE__ */ new Set([
|
|
38860
39044
|
"composite",
|
|
@@ -38869,7 +39053,22 @@ var init_engine_to_result = __esm({
|
|
|
38869
39053
|
"tx"
|
|
38870
39054
|
]);
|
|
38871
39055
|
PT_PER_PX = 72 / 96;
|
|
38872
|
-
|
|
39056
|
+
PX_PER_PT5 = 1 / PT_PER_PX;
|
|
39057
|
+
}
|
|
39058
|
+
});
|
|
39059
|
+
function tagSmartArtElementStyleLabel(element, label) {
|
|
39060
|
+
if (label) {
|
|
39061
|
+
styleLabels.set(element, label);
|
|
39062
|
+
}
|
|
39063
|
+
return element;
|
|
39064
|
+
}
|
|
39065
|
+
function smartArtElementStyleLabel(element) {
|
|
39066
|
+
return styleLabels.get(element);
|
|
39067
|
+
}
|
|
39068
|
+
var styleLabels;
|
|
39069
|
+
var init_smartart_element_style_label = __esm({
|
|
39070
|
+
"src/core/utils/smartart-element-style-label.ts"() {
|
|
39071
|
+
styleLabels = /* @__PURE__ */ new WeakMap();
|
|
38873
39072
|
}
|
|
38874
39073
|
});
|
|
38875
39074
|
function accentColor(index, themeColorMap) {
|
|
@@ -39792,8 +39991,8 @@ function parseParagraphLevel(pPr) {
|
|
|
39792
39991
|
if (!pPr) {
|
|
39793
39992
|
return 0;
|
|
39794
39993
|
}
|
|
39795
|
-
const
|
|
39796
|
-
return Number.isFinite(
|
|
39994
|
+
const level2 = Number.parseInt(String(pPr["@_lvl"] || "0"), 10);
|
|
39995
|
+
return Number.isFinite(level2) ? Math.min(Math.max(level2, 0), 8) : 0;
|
|
39797
39996
|
}
|
|
39798
39997
|
function parseParagraphExtraAttributes(pPr) {
|
|
39799
39998
|
const result = {};
|
|
@@ -40167,12 +40366,12 @@ function paragraphStyle(paragraph, fallback) {
|
|
|
40167
40366
|
}
|
|
40168
40367
|
function paragraphMetadata(paragraph, paragraphIndex, bulletEnabled) {
|
|
40169
40368
|
const pPr = paragraph.pPr;
|
|
40170
|
-
const
|
|
40369
|
+
const level2 = parseParagraphLevel(pPr);
|
|
40171
40370
|
const explicitBullet = parseBulletInfo(pPr, paragraphIndex) ?? void 0;
|
|
40172
|
-
const bulletInfo = explicitBullet ?? (bulletEnabled && (
|
|
40371
|
+
const bulletInfo = explicitBullet ?? (bulletEnabled && (level2 ?? 0) >= 1 ? { char: AUTO_BULLET_CHAR } : void 0);
|
|
40173
40372
|
return {
|
|
40174
40373
|
...bulletInfo ? { bulletInfo } : {},
|
|
40175
|
-
paragraphLevel:
|
|
40374
|
+
paragraphLevel: level2,
|
|
40176
40375
|
...paragraph.endParaRPr ? { endParaRunProperties: paragraph.endParaRPr } : {}
|
|
40177
40376
|
};
|
|
40178
40377
|
}
|
|
@@ -40409,10 +40608,12 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
40409
40608
|
fontSize,
|
|
40410
40609
|
fontColor: rendered.fontColor ?? "#FFFFFF",
|
|
40411
40610
|
textSegments,
|
|
40412
|
-
rotation: rendered.rotation
|
|
40611
|
+
rotation: rendered.rotation,
|
|
40612
|
+
...rendered.shapeAdjustments ? { shapeAdjustments: rendered.shapeAdjustments } : {}
|
|
40413
40613
|
};
|
|
40614
|
+
const push2 = (element) => elements2.push(tagSmartArtElementStyleLabel(element, rendered.styleLabel));
|
|
40414
40615
|
if (rendered.kind === "rect") {
|
|
40415
|
-
|
|
40616
|
+
push2(
|
|
40416
40617
|
makeShapeElement(
|
|
40417
40618
|
id,
|
|
40418
40619
|
containerBounds.x + rendered.x,
|
|
@@ -40433,7 +40634,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
40433
40634
|
} else if (rendered.kind === "circle") {
|
|
40434
40635
|
const halfWidth = rendered.rx ?? rendered.r;
|
|
40435
40636
|
const halfHeight = rendered.ry ?? rendered.r;
|
|
40436
|
-
|
|
40637
|
+
push2(
|
|
40437
40638
|
makeShapeElement(
|
|
40438
40639
|
id,
|
|
40439
40640
|
containerBounds.x + rendered.cx - halfWidth,
|
|
@@ -40453,7 +40654,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
40453
40654
|
);
|
|
40454
40655
|
} else {
|
|
40455
40656
|
const bbox = polygonBoundingBox(rendered.points);
|
|
40456
|
-
|
|
40657
|
+
push2(
|
|
40457
40658
|
makeShapeElement(
|
|
40458
40659
|
id,
|
|
40459
40660
|
containerBounds.x + bbox.x,
|
|
@@ -40472,6 +40673,7 @@ function interpretedLayoutToElements(result, nodes, containerBounds, bulletEnabl
|
|
|
40472
40673
|
}
|
|
40473
40674
|
var init_smartart_interpreter_drawing_bridge = __esm({
|
|
40474
40675
|
"src/core/utils/smartart-interpreter-drawing-bridge.ts"() {
|
|
40676
|
+
init_smartart_element_style_label();
|
|
40475
40677
|
init_smartart_helpers();
|
|
40476
40678
|
init_smartart_interpreter_fold_text();
|
|
40477
40679
|
init_smartart_node_tree_axis();
|
|
@@ -41343,8 +41545,8 @@ function resolveTieredItemFontSize(plan, index, items, fontName, naturalAspect,
|
|
|
41343
41545
|
const proportional = proportionalMarginFraction(index, role);
|
|
41344
41546
|
const lineSpacingFactor = SMARTART_LINE_SPACING_FACTOR;
|
|
41345
41547
|
const fitsAtPoint = (rootPt2) => {
|
|
41346
|
-
const rootPx = rootPt2 *
|
|
41347
|
-
const descendantPx = Math.round(rootPt2 * SMARTART_DESCENDANT_FONT_SCALE) *
|
|
41548
|
+
const rootPx = rootPt2 * PX_PER_PT6;
|
|
41549
|
+
const descendantPx = Math.round(rootPt2 * SMARTART_DESCENDANT_FONT_SCALE) * PX_PER_PT6;
|
|
41348
41550
|
const margins = proportional ? { horizontal: proportional.horizontal * rootPx, vertical: proportional.vertical * rootPx } : fixedMargins;
|
|
41349
41551
|
for (const item3 of items) {
|
|
41350
41552
|
const naturalHeight = typeof naturalAspect === "number" ? Math.min(item3.height, item3.width * naturalAspect) : item3.height;
|
|
@@ -41366,8 +41568,8 @@ function resolveTieredItemFontSize(plan, index, items, fontName, naturalAspect,
|
|
|
41366
41568
|
}
|
|
41367
41569
|
return true;
|
|
41368
41570
|
};
|
|
41369
|
-
const ceilingPt = Math.max(1, Math.floor(ceilingPx /
|
|
41370
|
-
const floorPt = Math.min(ceilingPt, Math.max(1, Math.ceil(floorPx /
|
|
41571
|
+
const ceilingPt = Math.max(1, Math.floor(ceilingPx / PX_PER_PT6 + 1e-9));
|
|
41572
|
+
const floorPt = Math.min(ceilingPt, Math.max(1, Math.ceil(floorPx / PX_PER_PT6 - 1e-9)));
|
|
41371
41573
|
let rootPt = floorPt;
|
|
41372
41574
|
for (let candidate = ceilingPt; candidate > floorPt; candidate--) {
|
|
41373
41575
|
if (fitsAtPoint(candidate)) {
|
|
@@ -41375,12 +41577,12 @@ function resolveTieredItemFontSize(plan, index, items, fontName, naturalAspect,
|
|
|
41375
41577
|
break;
|
|
41376
41578
|
}
|
|
41377
41579
|
}
|
|
41378
|
-
const rootSizePx = rootPt *
|
|
41580
|
+
const rootSizePx = rootPt * PX_PER_PT6;
|
|
41379
41581
|
const descendantSizePx = snapToWholePoint(rootSizePx * SMARTART_DESCENDANT_FONT_SCALE);
|
|
41380
41582
|
return { rootSizePx, descendantSizePx };
|
|
41381
41583
|
}
|
|
41382
41584
|
var SMARTART_DESCENDANT_FONT_SCALE;
|
|
41383
|
-
var
|
|
41585
|
+
var PX_PER_PT6;
|
|
41384
41586
|
var init_smartart_layout_item_font_tier = __esm({
|
|
41385
41587
|
"src/core/utils/smartart-layout-item-font-tier.ts"() {
|
|
41386
41588
|
init_smartart_layout_item_font_role();
|
|
@@ -41388,7 +41590,7 @@ var init_smartart_layout_item_font_tier = __esm({
|
|
|
41388
41590
|
init_smartart_layout_item_font_tier_fit();
|
|
41389
41591
|
init_smartart_text_wrap_fit();
|
|
41390
41592
|
SMARTART_DESCENDANT_FONT_SCALE = 0.78;
|
|
41391
|
-
|
|
41593
|
+
PX_PER_PT6 = 96 / 72;
|
|
41392
41594
|
}
|
|
41393
41595
|
});
|
|
41394
41596
|
function resolveCycleFontFit(plan, index, ringNodes, hubNode, ringNodeWidth, ringNodeHeight, hubWidth, hubHeight, cornerInsetPx, childrenOf, fontName) {
|
|
@@ -42675,7 +42877,7 @@ function arrangeRecursiveTable(plan, nodes, box, palette, style, elementId, inde
|
|
|
42675
42877
|
}
|
|
42676
42878
|
}
|
|
42677
42879
|
const roots = nodes.filter((n) => !childIds.has(n.id));
|
|
42678
|
-
const
|
|
42880
|
+
const depthOf2 = /* @__PURE__ */ new Map();
|
|
42679
42881
|
let maxDepth2 = 0;
|
|
42680
42882
|
const depthStack = roots.map((r) => ({
|
|
42681
42883
|
node: r,
|
|
@@ -42683,7 +42885,7 @@ function arrangeRecursiveTable(plan, nodes, box, palette, style, elementId, inde
|
|
|
42683
42885
|
}));
|
|
42684
42886
|
while (depthStack.length > 0) {
|
|
42685
42887
|
const { node, depth } = depthStack.pop();
|
|
42686
|
-
|
|
42888
|
+
depthOf2.set(node.id, depth);
|
|
42687
42889
|
maxDepth2 = Math.max(maxDepth2, depth);
|
|
42688
42890
|
for (const c of childrenIn(node)) {
|
|
42689
42891
|
depthStack.push({ node: c, depth: depth + 1 });
|
|
@@ -42740,7 +42942,7 @@ function arrangeRecursiveTable(plan, nodes, box, palette, style, elementId, inde
|
|
|
42740
42942
|
({ node, x, width }, i2) => presetBoxNode({
|
|
42741
42943
|
key: `${elementId}-lintbl-${node.id}-${i2}`,
|
|
42742
42944
|
x,
|
|
42743
|
-
y: rowY(
|
|
42945
|
+
y: rowY(depthOf2.get(node.id) ?? 0),
|
|
42744
42946
|
width,
|
|
42745
42947
|
height: rowHeight,
|
|
42746
42948
|
node,
|
|
@@ -44992,18 +45194,18 @@ function fanContinues(t, perRow, orgChart, siblingCount2, normalCount) {
|
|
|
44992
45194
|
const spanW = effectiveWidth(t, orgChart);
|
|
44993
45195
|
return chPrefFanEligible || isSoloChainLink && normalCount > 1 && spanW === normalCount;
|
|
44994
45196
|
}
|
|
44995
|
-
function walk2(t,
|
|
45197
|
+
function walk2(t, level2, perRow, orgChart, siblingCount2) {
|
|
44996
45198
|
const { normal } = partitionChildren(t, orgChart);
|
|
44997
45199
|
if (normal.length === 0) {
|
|
44998
|
-
return { deepestFanLevel:
|
|
45200
|
+
return { deepestFanLevel: level2, maxHangDepth: 0, maxHangRows: 0, hangingColumns: 0 };
|
|
44999
45201
|
}
|
|
45000
|
-
if (
|
|
45001
|
-
let deepestFan =
|
|
45202
|
+
if (level2 === 0) {
|
|
45203
|
+
let deepestFan = level2;
|
|
45002
45204
|
let maxHang = 0;
|
|
45003
45205
|
let maxRows = 0;
|
|
45004
45206
|
let hangingColumns = 0;
|
|
45005
45207
|
for (const child262 of normal) {
|
|
45006
|
-
const r = walk2(child262,
|
|
45208
|
+
const r = walk2(child262, level2 + 1, perRow, orgChart, normal.length);
|
|
45007
45209
|
deepestFan = Math.max(deepestFan, r.deepestFanLevel);
|
|
45008
45210
|
maxHang = Math.max(maxHang, r.maxHangDepth);
|
|
45009
45211
|
maxRows = Math.max(maxRows, r.maxHangRows);
|
|
@@ -45017,12 +45219,12 @@ function walk2(t, level, perRow, orgChart, siblingCount2) {
|
|
|
45017
45219
|
};
|
|
45018
45220
|
}
|
|
45019
45221
|
if (fanContinues(t, perRow, orgChart, siblingCount2, normal.length)) {
|
|
45020
|
-
let deepestFan =
|
|
45222
|
+
let deepestFan = level2 + 1;
|
|
45021
45223
|
let maxHang = 0;
|
|
45022
45224
|
let maxRows = 0;
|
|
45023
45225
|
let hangingColumns = 0;
|
|
45024
45226
|
for (const child262 of normal) {
|
|
45025
|
-
const r = walk2(child262,
|
|
45227
|
+
const r = walk2(child262, level2 + 1, perRow, orgChart, void 0);
|
|
45026
45228
|
deepestFan = Math.max(deepestFan, r.deepestFanLevel);
|
|
45027
45229
|
maxHang = Math.max(maxHang, r.maxHangDepth);
|
|
45028
45230
|
maxRows = Math.max(maxRows, r.maxHangRows);
|
|
@@ -45036,7 +45238,7 @@ function walk2(t, level, perRow, orgChart, siblingCount2) {
|
|
|
45036
45238
|
};
|
|
45037
45239
|
}
|
|
45038
45240
|
return {
|
|
45039
|
-
deepestFanLevel:
|
|
45241
|
+
deepestFanLevel: level2,
|
|
45040
45242
|
maxHangDepth: treeDepth(t) - 1,
|
|
45041
45243
|
maxHangRows: countDescendants(t, orgChart),
|
|
45042
45244
|
hangingColumns: 1
|
|
@@ -45079,20 +45281,20 @@ var init_smartart_hierarchy_hang_depth = __esm({
|
|
|
45079
45281
|
init_smartart_hierarchy_orgchart_tree();
|
|
45080
45282
|
}
|
|
45081
45283
|
});
|
|
45082
|
-
function widthWalk(t,
|
|
45284
|
+
function widthWalk(t, level2, perRow, orgChart, siblingCount2, map) {
|
|
45083
45285
|
const { normal } = partitionChildren(t, orgChart);
|
|
45084
45286
|
let width;
|
|
45085
45287
|
if (normal.length === 0) {
|
|
45086
45288
|
width = 1;
|
|
45087
|
-
} else if (
|
|
45289
|
+
} else if (level2 === 0) {
|
|
45088
45290
|
width = 0;
|
|
45089
45291
|
for (const child262 of normal) {
|
|
45090
|
-
width += widthWalk(child262,
|
|
45292
|
+
width += widthWalk(child262, level2 + 1, perRow, orgChart, normal.length, map);
|
|
45091
45293
|
}
|
|
45092
45294
|
} else if (fanContinues(t, perRow, orgChart, siblingCount2, normal.length)) {
|
|
45093
45295
|
width = 0;
|
|
45094
45296
|
for (const child262 of normal) {
|
|
45095
|
-
width += widthWalk(child262,
|
|
45297
|
+
width += widthWalk(child262, level2 + 1, perRow, orgChart, void 0, map);
|
|
45096
45298
|
}
|
|
45097
45299
|
} else {
|
|
45098
45300
|
width = 1;
|
|
@@ -45334,7 +45536,7 @@ function placeAssistants(hc, x, parentBottom, assistants, options, cursor) {
|
|
|
45334
45536
|
stubConnector(hc, assistant.node.id, x + hc.boxH / 2, parentBottom, x + width / 2, y);
|
|
45335
45537
|
}
|
|
45336
45538
|
}
|
|
45337
|
-
function placeHangingTree(hc, t, x, options, cursor, size,
|
|
45539
|
+
function placeHangingTree(hc, t, x, options, cursor, size, level2 = 0) {
|
|
45338
45540
|
const y = cursor.y;
|
|
45339
45541
|
const boxW = size?.w ?? hc.boxW;
|
|
45340
45542
|
const boxH = size?.h ?? hc.boxH;
|
|
@@ -45347,7 +45549,7 @@ function placeHangingTree(hc, t, x, options, cursor, size, level = 0) {
|
|
|
45347
45549
|
if (normal.length === 0) {
|
|
45348
45550
|
return;
|
|
45349
45551
|
}
|
|
45350
|
-
if (options.foldDeeperGenerations &&
|
|
45552
|
+
if (options.foldDeeperGenerations && level2 >= 1) {
|
|
45351
45553
|
return;
|
|
45352
45554
|
}
|
|
45353
45555
|
const childX = align ? placeX : options.direction === "left" ? x - options.indent : x + options.indent;
|
|
@@ -45362,7 +45564,7 @@ function placeHangingTree(hc, t, x, options, cursor, size, level = 0) {
|
|
|
45362
45564
|
childY,
|
|
45363
45565
|
child262.node.id
|
|
45364
45566
|
);
|
|
45365
|
-
placeHangingTree(hc, child262, childX, options, cursor, void 0,
|
|
45567
|
+
placeHangingTree(hc, child262, childX, options, cursor, void 0, level2 + 1);
|
|
45366
45568
|
}
|
|
45367
45569
|
}
|
|
45368
45570
|
function placeHangingForest(hc, roots, startX, startY, options, rootSize) {
|
|
@@ -45447,17 +45649,17 @@ var init_smartart_hierarchy_hanging_box = __esm({
|
|
|
45447
45649
|
DEFAULT_HANGING_VGAP_RATIO = 0.55;
|
|
45448
45650
|
}
|
|
45449
45651
|
});
|
|
45450
|
-
function countRows(t,
|
|
45652
|
+
function countRows(t, level2, orgChart, fold) {
|
|
45451
45653
|
const { assistants, normal } = partitionChildren(t, orgChart);
|
|
45452
45654
|
let count = 1 + assistants.length;
|
|
45453
45655
|
if (normal.length === 0) {
|
|
45454
45656
|
return count;
|
|
45455
45657
|
}
|
|
45456
|
-
if (fold &&
|
|
45658
|
+
if (fold && level2 >= 1) {
|
|
45457
45659
|
return count;
|
|
45458
45660
|
}
|
|
45459
45661
|
for (const child262 of normal) {
|
|
45460
|
-
count += countRows(child262,
|
|
45662
|
+
count += countRows(child262, level2 + 1, orgChart, fold);
|
|
45461
45663
|
}
|
|
45462
45664
|
return count;
|
|
45463
45665
|
}
|
|
@@ -46093,8 +46295,8 @@ function planFan(childCount, perRow, siblingCxs) {
|
|
|
46093
46295
|
}
|
|
46094
46296
|
return { columns: siblingCxs, overflow: childCount - siblingCxs.length };
|
|
46095
46297
|
}
|
|
46096
|
-
function placeFannedRow(hc, t, normal, plan, cx, cy,
|
|
46097
|
-
const fanCy = (
|
|
46298
|
+
function placeFannedRow(hc, t, normal, plan, cx, cy, level2, cellW, cellH, options, placeAtFn) {
|
|
46299
|
+
const fanCy = (level2 + 1) * cellH + cellH / 2;
|
|
46098
46300
|
const fanned = normal.slice(0, plan.columns.length);
|
|
46099
46301
|
for (let i2 = 0; i2 < fanned.length; i2++) {
|
|
46100
46302
|
const child262 = fanned[i2];
|
|
@@ -46108,7 +46310,7 @@ function placeFannedRow(hc, t, normal, plan, cx, cy, level, cellW, cellH, option
|
|
|
46108
46310
|
fanCy - hc.boxH / 2,
|
|
46109
46311
|
child262.node.id
|
|
46110
46312
|
);
|
|
46111
|
-
placeAtFn(hc, child262, childCx, fanCy, 0, 1,
|
|
46313
|
+
placeAtFn(hc, child262, childCx, fanCy, 0, 1, level2 + 1, cellW, cellH, options);
|
|
46112
46314
|
}
|
|
46113
46315
|
if (plan.overflow <= 0 || !options.hangingPlacer) {
|
|
46114
46316
|
return;
|
|
@@ -46116,7 +46318,7 @@ function placeFannedRow(hc, t, normal, plan, cx, cy, level, cellW, cellH, option
|
|
|
46116
46318
|
const remainder = normal.slice(plan.columns.length);
|
|
46117
46319
|
const columnOffset = hc.boxW * HIER_TAIL_OFFSET_RATIO;
|
|
46118
46320
|
const anchorX = plan.columns[0] - hc.boxW / 2 + columnOffset;
|
|
46119
|
-
const anchorY = (
|
|
46321
|
+
const anchorY = (level2 + 2) * cellH;
|
|
46120
46322
|
for (const child262 of remainder) {
|
|
46121
46323
|
elbowConnector(
|
|
46122
46324
|
hc,
|
|
@@ -46158,7 +46360,7 @@ function placeAssistantRow(hc, parentId, cx, cy, assistants) {
|
|
|
46158
46360
|
x += assistW + ASSISTANT_GAP;
|
|
46159
46361
|
}
|
|
46160
46362
|
}
|
|
46161
|
-
function placeFlatChildren(hc, parentId, normal, cx, cy, xOffset,
|
|
46363
|
+
function placeFlatChildren(hc, parentId, normal, cx, cy, xOffset, level2, cellW, cellH, options, placeChild) {
|
|
46162
46364
|
const siblingCxs = [];
|
|
46163
46365
|
{
|
|
46164
46366
|
let offset = xOffset;
|
|
@@ -46168,12 +46370,12 @@ function placeFlatChildren(hc, parentId, normal, cx, cy, xOffset, level, cellW,
|
|
|
46168
46370
|
offset += childW;
|
|
46169
46371
|
}
|
|
46170
46372
|
}
|
|
46171
|
-
const cascadeShift = options.cascadeOffsetX &&
|
|
46373
|
+
const cascadeShift = options.cascadeOffsetX && level2 + 1 >= options.cascadeOffsetX.fromLevel ? options.cascadeOffsetX.offsetPx : 0;
|
|
46172
46374
|
let childOffset = xOffset;
|
|
46173
46375
|
for (const child262 of normal) {
|
|
46174
46376
|
const childW = spanOf(child262, options);
|
|
46175
46377
|
const childCx = (childOffset + childW / 2) * cellW + cascadeShift;
|
|
46176
|
-
const childCy = (
|
|
46378
|
+
const childCy = (level2 + 1) * cellH + cellH / 2;
|
|
46177
46379
|
elbowConnector(
|
|
46178
46380
|
hc,
|
|
46179
46381
|
parentId,
|
|
@@ -46190,7 +46392,7 @@ function placeFlatChildren(hc, parentId, normal, cx, cy, xOffset, level, cellW,
|
|
|
46190
46392
|
childCy,
|
|
46191
46393
|
childOffset,
|
|
46192
46394
|
childW,
|
|
46193
|
-
|
|
46395
|
+
level2 + 1,
|
|
46194
46396
|
cellW,
|
|
46195
46397
|
cellH,
|
|
46196
46398
|
options,
|
|
@@ -46222,13 +46424,13 @@ function wrappedGroupSlotCount(group2, orgChart) {
|
|
|
46222
46424
|
}
|
|
46223
46425
|
return group2.members.reduce((sum, m) => sum + effectiveWidth(m, orgChart), 0);
|
|
46224
46426
|
}
|
|
46225
|
-
function placeWrappedChildren(hc, parentId, normal, cx, cy, xOffset, spanW,
|
|
46427
|
+
function placeWrappedChildren(hc, parentId, normal, cx, cy, xOffset, spanW, level2, cellW, cellH, options, placeAtFn) {
|
|
46226
46428
|
const groups = planWrappedGroups(normal, options.perRow, options.orgChart);
|
|
46227
46429
|
const totalSlots = groups.reduce((sum, g2) => sum + wrappedGroupSlotCount(g2, options.orgChart), 0);
|
|
46228
46430
|
const totalW = spanW * cellW;
|
|
46229
46431
|
const leftX = xOffset * cellW;
|
|
46230
46432
|
const unitW = totalW / Math.max(1, totalSlots);
|
|
46231
|
-
const rowCy = (
|
|
46433
|
+
const rowCy = (level2 + 1) * cellH + cellH / 2;
|
|
46232
46434
|
let slot = 0;
|
|
46233
46435
|
for (const group2 of groups) {
|
|
46234
46436
|
slot = group2.fansAsRow ? placeRowFanGroup(
|
|
@@ -46241,7 +46443,7 @@ function placeWrappedChildren(hc, parentId, normal, cx, cy, xOffset, spanW, leve
|
|
|
46241
46443
|
unitW,
|
|
46242
46444
|
slot,
|
|
46243
46445
|
rowCy,
|
|
46244
|
-
|
|
46446
|
+
level2,
|
|
46245
46447
|
cellW,
|
|
46246
46448
|
cellH,
|
|
46247
46449
|
options,
|
|
@@ -46258,25 +46460,25 @@ function placeWrappedChildren(hc, parentId, normal, cx, cy, xOffset, spanW, leve
|
|
|
46258
46460
|
rowCy,
|
|
46259
46461
|
cellW,
|
|
46260
46462
|
cellH,
|
|
46261
|
-
|
|
46463
|
+
level2,
|
|
46262
46464
|
options,
|
|
46263
46465
|
placeAtFn
|
|
46264
46466
|
);
|
|
46265
46467
|
}
|
|
46266
46468
|
}
|
|
46267
|
-
function placeRowFanGroup(hc, parentId, group2, cx, cy, leftX, unitW, slot, rowCy,
|
|
46469
|
+
function placeRowFanGroup(hc, parentId, group2, cx, cy, leftX, unitW, slot, rowCy, level2, cellW, cellH, options, placeAtFn) {
|
|
46268
46470
|
let cursor = slot;
|
|
46269
46471
|
for (const child262 of group2.members) {
|
|
46270
46472
|
const childW = effectiveWidth(child262, options.orgChart);
|
|
46271
46473
|
const childCx = leftX + unitW * (cursor + childW / 2);
|
|
46272
46474
|
elbowConnector(hc, parentId, cx, cy + hc.boxH / 2, childCx, rowCy - hc.boxH / 2, child262.node.id);
|
|
46273
46475
|
const virtualOffset = childCx / cellW - childW / 2;
|
|
46274
|
-
placeAtFn(hc, child262, childCx, rowCy, virtualOffset, childW,
|
|
46476
|
+
placeAtFn(hc, child262, childCx, rowCy, virtualOffset, childW, level2 + 1, cellW, cellH, options);
|
|
46275
46477
|
cursor += childW;
|
|
46276
46478
|
}
|
|
46277
46479
|
return cursor;
|
|
46278
46480
|
}
|
|
46279
|
-
function placeColumnGroup(hc, parentId, group2, cx, cy, leftX, unitW, slot, rowCy, cellW, cellH,
|
|
46481
|
+
function placeColumnGroup(hc, parentId, group2, cx, cy, leftX, unitW, slot, rowCy, cellW, cellH, level2, options, placeAtFn) {
|
|
46280
46482
|
const groupCx = leftX + unitW * (slot + 0.5);
|
|
46281
46483
|
const subRowH = cellH / group2.members.length;
|
|
46282
46484
|
let fromId = parentId;
|
|
@@ -46288,7 +46490,7 @@ function placeColumnGroup(hc, parentId, group2, cx, cy, leftX, unitW, slot, rowC
|
|
|
46288
46490
|
elbowConnector(hc, fromId, fromX, fromY, groupCx, childCy - hc.boxH / 2, child262.node.id);
|
|
46289
46491
|
const childW = effectiveWidth(child262, options.orgChart);
|
|
46290
46492
|
const virtualOffset = groupCx / cellW - childW / 2;
|
|
46291
|
-
placeAtFn(hc, child262, groupCx, childCy, virtualOffset, childW,
|
|
46493
|
+
placeAtFn(hc, child262, groupCx, childCy, virtualOffset, childW, level2 + 1, cellW, cellH, options);
|
|
46292
46494
|
fromId = child262.node.id;
|
|
46293
46495
|
fromX = groupCx;
|
|
46294
46496
|
fromY = childCy + hc.boxH / 2;
|
|
@@ -46301,7 +46503,7 @@ var init_smartart_hierarchy_wrapped_groups = __esm({
|
|
|
46301
46503
|
init_smartart_hierarchy_shared();
|
|
46302
46504
|
}
|
|
46303
46505
|
});
|
|
46304
|
-
function placeFlatChildren2(hc, parentId, normal, cx, cy, xOffset,
|
|
46506
|
+
function placeFlatChildren2(hc, parentId, normal, cx, cy, xOffset, level2, cellW, cellH, options) {
|
|
46305
46507
|
placeFlatChildren(
|
|
46306
46508
|
hc,
|
|
46307
46509
|
parentId,
|
|
@@ -46309,14 +46511,14 @@ function placeFlatChildren2(hc, parentId, normal, cx, cy, xOffset, level, cellW,
|
|
|
46309
46511
|
cx,
|
|
46310
46512
|
cy,
|
|
46311
46513
|
xOffset,
|
|
46312
|
-
|
|
46514
|
+
level2,
|
|
46313
46515
|
cellW,
|
|
46314
46516
|
cellH,
|
|
46315
46517
|
options,
|
|
46316
46518
|
placeAt
|
|
46317
46519
|
);
|
|
46318
46520
|
}
|
|
46319
|
-
function placeWrappedChildren2(hc, parentId, normal, cx, cy, xOffset, spanW,
|
|
46521
|
+
function placeWrappedChildren2(hc, parentId, normal, cx, cy, xOffset, spanW, level2, cellW, cellH, options) {
|
|
46320
46522
|
placeWrappedChildren(
|
|
46321
46523
|
hc,
|
|
46322
46524
|
parentId,
|
|
@@ -46325,32 +46527,32 @@ function placeWrappedChildren2(hc, parentId, normal, cx, cy, xOffset, spanW, lev
|
|
|
46325
46527
|
cy,
|
|
46326
46528
|
xOffset,
|
|
46327
46529
|
spanW,
|
|
46328
|
-
|
|
46530
|
+
level2,
|
|
46329
46531
|
cellW,
|
|
46330
46532
|
cellH,
|
|
46331
46533
|
options,
|
|
46332
46534
|
placeAt
|
|
46333
46535
|
);
|
|
46334
46536
|
}
|
|
46335
|
-
function placeAt(hc, t, cx, cy, xOffset, spanW,
|
|
46537
|
+
function placeAt(hc, t, cx, cy, xOffset, spanW, level2, cellW, cellH, options, siblingCxs) {
|
|
46336
46538
|
pushNode(hc, t.node, cx - hc.boxW / 2, cy - hc.boxH / 2);
|
|
46337
46539
|
const { assistants, normal } = partitionChildren(t, options.orgChart);
|
|
46338
46540
|
placeAssistantRow(hc, t.node.id, cx, cy, assistants);
|
|
46339
46541
|
if (normal.length === 0) {
|
|
46340
46542
|
return;
|
|
46341
46543
|
}
|
|
46342
|
-
if (options.foldDeeperGenerations &&
|
|
46544
|
+
if (options.foldDeeperGenerations && level2 >= 1) {
|
|
46343
46545
|
return;
|
|
46344
46546
|
}
|
|
46345
|
-
if (options.hangingPlacer &&
|
|
46547
|
+
if (options.hangingPlacer && level2 >= 1) {
|
|
46346
46548
|
const plan = planFan(normal.length, options.perRow, siblingCxs);
|
|
46347
46549
|
if (plan) {
|
|
46348
|
-
placeFannedRow(hc, t, normal, plan, cx, cy,
|
|
46550
|
+
placeFannedRow(hc, t, normal, plan, cx, cy, level2, cellW, cellH, options, placeAt);
|
|
46349
46551
|
return;
|
|
46350
46552
|
}
|
|
46351
46553
|
const isSoloChainLink = !siblingCxs || siblingCxs.length === 1;
|
|
46352
46554
|
if (isSoloChainLink && normal.length > 1 && spanW === normal.length) {
|
|
46353
|
-
placeFlatChildren2(hc, t.node.id, normal, cx, cy, xOffset,
|
|
46555
|
+
placeFlatChildren2(hc, t.node.id, normal, cx, cy, xOffset, level2, cellW, cellH, options);
|
|
46354
46556
|
return;
|
|
46355
46557
|
}
|
|
46356
46558
|
const anchorY = cy + hc.boxH / 2 + (options.hangHeightRatio ?? HANG_HEIGHT_RATIO) * hc.boxH;
|
|
@@ -46378,21 +46580,21 @@ function placeAt(hc, t, cx, cy, xOffset, spanW, level, cellW, cellH, options, si
|
|
|
46378
46580
|
cy,
|
|
46379
46581
|
xOffset,
|
|
46380
46582
|
spanW,
|
|
46381
|
-
|
|
46583
|
+
level2,
|
|
46382
46584
|
cellW,
|
|
46383
46585
|
cellH,
|
|
46384
46586
|
options
|
|
46385
46587
|
);
|
|
46386
46588
|
} else {
|
|
46387
|
-
placeFlatChildren2(hc, t.node.id, normal, cx, cy, xOffset,
|
|
46589
|
+
placeFlatChildren2(hc, t.node.id, normal, cx, cy, xOffset, level2, cellW, cellH, options);
|
|
46388
46590
|
}
|
|
46389
46591
|
}
|
|
46390
|
-
function placeStandardTree(hc, t, xOffset,
|
|
46592
|
+
function placeStandardTree(hc, t, xOffset, level2, cellW, cellH, options) {
|
|
46391
46593
|
const spanW = spanOf(t, options);
|
|
46392
|
-
const cascadeShift = options.cascadeOffsetX &&
|
|
46594
|
+
const cascadeShift = options.cascadeOffsetX && level2 >= options.cascadeOffsetX.fromLevel ? options.cascadeOffsetX.offsetPx : 0;
|
|
46393
46595
|
const cx = (xOffset + spanW / 2) * cellW + cascadeShift;
|
|
46394
|
-
const cy =
|
|
46395
|
-
placeAt(hc, t, cx, cy, xOffset, spanW,
|
|
46596
|
+
const cy = level2 * cellH + cellH / 2;
|
|
46597
|
+
placeAt(hc, t, cx, cy, xOffset, spanW, level2, cellW, cellH, options);
|
|
46396
46598
|
}
|
|
46397
46599
|
var init_smartart_hierarchy_standard = __esm({
|
|
46398
46600
|
"src/core/utils/smartart-hierarchy-standard.ts"() {
|
|
@@ -48054,10 +48256,10 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
48054
48256
|
const boxH = Math.min(cellH * 0.35, 28);
|
|
48055
48257
|
const elements2 = [];
|
|
48056
48258
|
let colourIdx = 0;
|
|
48057
|
-
function walk3(t, xOffset,
|
|
48259
|
+
function walk3(t, xOffset, level2) {
|
|
48058
48260
|
const w = treeWidth(t);
|
|
48059
48261
|
const cx = bounds.x + padding + (xOffset + w / 2) * cellW;
|
|
48060
|
-
const cy = bounds.y + padding +
|
|
48262
|
+
const cy = bounds.y + padding + level2 * cellH + cellH / 2;
|
|
48061
48263
|
const ci = colourIdx++;
|
|
48062
48264
|
const fill = accentColor(ci, themeColorMap);
|
|
48063
48265
|
elements2.push(
|
|
@@ -48080,7 +48282,7 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
48080
48282
|
for (const child262 of t.children) {
|
|
48081
48283
|
const childW = treeWidth(child262);
|
|
48082
48284
|
const childCx = bounds.x + padding + (childOffset + childW / 2) * cellW;
|
|
48083
|
-
const childCy = bounds.y + padding + (
|
|
48285
|
+
const childCy = bounds.y + padding + (level2 + 1) * cellH + cellH / 2;
|
|
48084
48286
|
elements2.push(
|
|
48085
48287
|
makeConnectorElement(
|
|
48086
48288
|
nextId("sa-hier-conn"),
|
|
@@ -48091,7 +48293,7 @@ function layoutHierarchy(nodes, bounds, themeColorMap) {
|
|
|
48091
48293
|
lighten(fill, 0.5)
|
|
48092
48294
|
)
|
|
48093
48295
|
);
|
|
48094
|
-
walk3(child262, childOffset,
|
|
48296
|
+
walk3(child262, childOffset, level2 + 1);
|
|
48095
48297
|
childOffset += childW;
|
|
48096
48298
|
}
|
|
48097
48299
|
return w;
|
|
@@ -49076,10 +49278,15 @@ function buildSmartArtColorRoleMap(styleLbls, deps) {
|
|
|
49076
49278
|
const map = {};
|
|
49077
49279
|
for (const lbl of styleLbls) {
|
|
49078
49280
|
const parsed = parseLabel(lbl, deps);
|
|
49079
|
-
|
|
49281
|
+
const hasText = parsed.textFill.length > 0;
|
|
49282
|
+
if (!parsed.name || parsed.fill.length === 0 && parsed.line.length === 0 && !hasText) {
|
|
49080
49283
|
continue;
|
|
49081
49284
|
}
|
|
49082
|
-
map[parsed.name] = {
|
|
49285
|
+
map[parsed.name] = {
|
|
49286
|
+
fill: parsed.fill,
|
|
49287
|
+
line: parsed.line,
|
|
49288
|
+
...hasText ? { textFill: parsed.textFill } : {}
|
|
49289
|
+
};
|
|
49083
49290
|
}
|
|
49084
49291
|
return map;
|
|
49085
49292
|
}
|
|
@@ -55174,10 +55381,10 @@ function parseCxRegionMapOptions(series, dataNode, xmlLookup, colorParser) {
|
|
|
55174
55381
|
}
|
|
55175
55382
|
function readIndexedDimension(dataNode, kind, type, xmlLookup) {
|
|
55176
55383
|
const dimension = xmlLookup.getChildrenArrayByLocalName(dataNode, kind).find((candidate) => String(candidate["@_type"] ?? "") === type);
|
|
55177
|
-
const
|
|
55384
|
+
const level2 = xmlLookup.getChildByLocalName(dimension, "lvl");
|
|
55178
55385
|
const values = [];
|
|
55179
55386
|
const indices = [];
|
|
55180
|
-
for (const [position2, point] of xmlLookup.getChildrenArrayByLocalName(
|
|
55387
|
+
for (const [position2, point] of xmlLookup.getChildrenArrayByLocalName(level2, "pt").entries()) {
|
|
55181
55388
|
const raw = xmlLookup.getScalarChildByLocalName(point, "v") ?? point["#text"];
|
|
55182
55389
|
values.push(String(raw ?? "").trim());
|
|
55183
55390
|
const parsed = Number.parseInt(String(point["@_idx"] ?? position2), 10);
|
|
@@ -55314,7 +55521,7 @@ function parseCxChartSeries(plotArea, xmlLookup, chartSpace, chartRoot, colorPar
|
|
|
55314
55521
|
if (serIndex === 0) {
|
|
55315
55522
|
const catDimLevels = strDims.get("cat") ?? strDims.values().next().value;
|
|
55316
55523
|
if (catDimLevels) {
|
|
55317
|
-
categoryLevels = catDimLevels.map((
|
|
55524
|
+
categoryLevels = catDimLevels.map((level2) => [...level2]);
|
|
55318
55525
|
for (const val2 of catDimLevels[0] ?? []) {
|
|
55319
55526
|
if (val2) {
|
|
55320
55527
|
categories.push(val2);
|
|
@@ -63942,6 +64149,10 @@ function buildFabricatedDrawingXml(shapes, nodes, presentationGuidByNodeId) {
|
|
|
63942
64149
|
return `${XML_PROLOG}\r
|
|
63943
64150
|
<dsp:drawing ${DSP_XMLNS}><dsp:spTree><dsp:nvGrpSpPr><dsp:cNvPr id="0" name=""/><dsp:cNvGrpSpPr/></dsp:nvGrpSpPr><dsp:grpSpPr/>${body}</dsp:spTree></dsp:drawing>`;
|
|
63944
64151
|
}
|
|
64152
|
+
function withStyleLabel(element) {
|
|
64153
|
+
const styleLabel = smartArtElementStyleLabel(element);
|
|
64154
|
+
return styleLabel ? { styleLabel } : {};
|
|
64155
|
+
}
|
|
63945
64156
|
function smartArtElementsToDrawingShapes(elements2) {
|
|
63946
64157
|
if (!elements2 || elements2.length === 0) {
|
|
63947
64158
|
return [];
|
|
@@ -63984,7 +64195,8 @@ function smartArtElementsToDrawingShapes(elements2) {
|
|
|
63984
64195
|
fontColor: shape.textStyle?.color,
|
|
63985
64196
|
...shape.shapeStyle?.scene3d ? { scene3d: shape.shapeStyle.scene3d } : {},
|
|
63986
64197
|
...shape.shapeStyle?.shape3d ? { shape3d: shape.shapeStyle.shape3d } : {},
|
|
63987
|
-
...shape.textStyle?.text3d ? { text3d: shape.textStyle.text3d } : {}
|
|
64198
|
+
...shape.textStyle?.text3d ? { text3d: shape.textStyle.text3d } : {},
|
|
64199
|
+
...withStyleLabel(el)
|
|
63988
64200
|
});
|
|
63989
64201
|
}
|
|
63990
64202
|
return shapes;
|
|
@@ -63999,6 +64211,7 @@ var init_smartart_fabrication_drawing = __esm({
|
|
|
63999
64211
|
init_constants();
|
|
64000
64212
|
init_custom_geometry();
|
|
64001
64213
|
init_custom_geometry_command_order();
|
|
64214
|
+
init_smartart_element_style_label();
|
|
64002
64215
|
init_smartart_fabrication_3d();
|
|
64003
64216
|
init_smartart_fabrication_data();
|
|
64004
64217
|
init_smartart_fabrication_text();
|
|
@@ -64070,6 +64283,10 @@ function applySmartArtQuickStyle3d(shapes, data) {
|
|
|
64070
64283
|
const nodeLabels = resolveNodeLabels(data.nodes);
|
|
64071
64284
|
const fallback = labelsByName.get(PRIMARY_STYLE_LABEL) ?? labelsByName.get(nodeLabels.values().next().value ?? "");
|
|
64072
64285
|
return shapes.map((shape) => {
|
|
64286
|
+
const own = shape.styleLabel ? labelsByName.get(shape.styleLabel) : void 0;
|
|
64287
|
+
if (own || shape.styleLabel) {
|
|
64288
|
+
return own ? withLabel3d(shape, own) : shape;
|
|
64289
|
+
}
|
|
64073
64290
|
const nodeId = nodeIdForShape(shape.id, data.nodes);
|
|
64074
64291
|
const labelName = nodeId ? nodeLabels.get(nodeId) : void 0;
|
|
64075
64292
|
const label = (labelName ? labelsByName.get(labelName) : void 0) ?? fallback;
|
|
@@ -68722,17 +68939,17 @@ var init_placeholder_level_style_serializer = __esm({
|
|
|
68722
68939
|
FILL_VARIANTS = ["a:noFill", "a:gradFill", "a:blipFill", "a:pattFill", "a:grpFill"];
|
|
68723
68940
|
}
|
|
68724
68941
|
});
|
|
68725
|
-
function levelXmlKey(
|
|
68726
|
-
return
|
|
68942
|
+
function levelXmlKey(level2) {
|
|
68943
|
+
return level2 === -1 ? "a:defPPr" : `a:lvl${level2 + 1}pPr`;
|
|
68727
68944
|
}
|
|
68728
68945
|
function serializeTextStyleLevels(levels, existing) {
|
|
68729
68946
|
const childEdits = /* @__PURE__ */ new Map();
|
|
68730
68947
|
for (const [key2, style] of Object.entries(levels)) {
|
|
68731
|
-
const
|
|
68732
|
-
if (!Number.isFinite(
|
|
68948
|
+
const level2 = Number(key2);
|
|
68949
|
+
if (!Number.isFinite(level2)) {
|
|
68733
68950
|
continue;
|
|
68734
68951
|
}
|
|
68735
|
-
const xmlKey = levelXmlKey(
|
|
68952
|
+
const xmlKey = levelXmlKey(level2);
|
|
68736
68953
|
childEdits.set(
|
|
68737
68954
|
xmlKey,
|
|
68738
68955
|
serializePlaceholderLevelStyle(style, existing?.[xmlKey])
|
|
@@ -78113,10 +78330,10 @@ function parseOleChartElement(shape) {
|
|
|
78113
78330
|
if (!oleChartEl || oleChartEl["@_type"] === void 0) {
|
|
78114
78331
|
return void 0;
|
|
78115
78332
|
}
|
|
78116
|
-
const
|
|
78333
|
+
const level2 = oleChartEl["@_lvl"] !== void 0 ? Number(oleChartEl["@_lvl"]) : void 0;
|
|
78117
78334
|
return {
|
|
78118
78335
|
subelementType: String(oleChartEl["@_type"]),
|
|
78119
|
-
...
|
|
78336
|
+
...level2 !== void 0 && !Number.isNaN(level2) ? { level: level2 } : {}
|
|
78120
78337
|
};
|
|
78121
78338
|
}
|
|
78122
78339
|
var init_animation_target_graphic_el = __esm({
|
|
@@ -78687,9 +78904,9 @@ function extractBldPTemplates(bldP) {
|
|
|
78687
78904
|
continue;
|
|
78688
78905
|
}
|
|
78689
78906
|
const levelRaw = tmpl["@_lvl"];
|
|
78690
|
-
const
|
|
78907
|
+
const level2 = levelRaw !== void 0 ? Number.parseInt(String(levelRaw), 10) : 0;
|
|
78691
78908
|
result.push({
|
|
78692
|
-
level: Number.isFinite(
|
|
78909
|
+
level: Number.isFinite(level2) ? level2 : 0,
|
|
78693
78910
|
timeNodeList: tnLst,
|
|
78694
78911
|
rawXml: tmpl
|
|
78695
78912
|
});
|
|
@@ -104466,6 +104683,113 @@ var init_chart_multi_level_category_parser = __esm({
|
|
|
104466
104683
|
"src/core/utils/chart-multi-level-category-parser.ts"() {
|
|
104467
104684
|
}
|
|
104468
104685
|
});
|
|
104686
|
+
function prSetOf(pt2, localName292) {
|
|
104687
|
+
const key2 = Object.keys(pt2).find((candidate) => localName292(candidate) === "prSet");
|
|
104688
|
+
const value = key2 ? pt2[key2] : void 0;
|
|
104689
|
+
return Array.isArray(value) ? value[0] : value;
|
|
104690
|
+
}
|
|
104691
|
+
function readPresPoints(points4, localName292) {
|
|
104692
|
+
const byId = /* @__PURE__ */ new Map();
|
|
104693
|
+
for (const pt2 of points4) {
|
|
104694
|
+
if (!pt2 || typeof pt2 !== "object" || String(pt2["@_type"] ?? "").trim() !== "pres") {
|
|
104695
|
+
continue;
|
|
104696
|
+
}
|
|
104697
|
+
const id = String(pt2["@_modelId"] ?? "").trim();
|
|
104698
|
+
const prSet = prSetOf(pt2, localName292);
|
|
104699
|
+
if (!id || !prSet) {
|
|
104700
|
+
continue;
|
|
104701
|
+
}
|
|
104702
|
+
const styleIndex2 = Number(prSet["@_presStyleIdx"] ?? 0);
|
|
104703
|
+
byId.set(id, {
|
|
104704
|
+
id,
|
|
104705
|
+
name: String(prSet["@_presName"] ?? "").trim(),
|
|
104706
|
+
styleLabel: String(prSet["@_presStyleLbl"] ?? "").trim(),
|
|
104707
|
+
styleIndex: Number.isFinite(styleIndex2) && styleIndex2 > 0 ? Math.floor(styleIndex2) : 0,
|
|
104708
|
+
assocId: String(prSet["@_presAssocID"] ?? "").trim()
|
|
104709
|
+
});
|
|
104710
|
+
}
|
|
104711
|
+
return byId;
|
|
104712
|
+
}
|
|
104713
|
+
function algorithmByLayoutNodeName(root) {
|
|
104714
|
+
const byName = /* @__PURE__ */ new Map();
|
|
104715
|
+
const stack = root ? [root] : [];
|
|
104716
|
+
while (stack.length > 0) {
|
|
104717
|
+
const node = stack.pop();
|
|
104718
|
+
if (node.name && node.algorithm?.type && !byName.has(node.name)) {
|
|
104719
|
+
byName.set(node.name, node.algorithm.type);
|
|
104720
|
+
}
|
|
104721
|
+
stack.push(...node.children ?? []);
|
|
104722
|
+
}
|
|
104723
|
+
return byName;
|
|
104724
|
+
}
|
|
104725
|
+
function resolveSmartArtMergedTextLabels(points4, connections, layout, localName292) {
|
|
104726
|
+
const result = /* @__PURE__ */ new Map();
|
|
104727
|
+
const algorithms = algorithmByLayoutNodeName(layout?.rootNode);
|
|
104728
|
+
const presPoints = readPresPoints(points4, localName292);
|
|
104729
|
+
if (algorithms.size === 0 || presPoints.size === 0) {
|
|
104730
|
+
return result;
|
|
104731
|
+
}
|
|
104732
|
+
const presented = /* @__PURE__ */ new Set();
|
|
104733
|
+
const childrenByParent = /* @__PURE__ */ new Map();
|
|
104734
|
+
for (const connection of connections) {
|
|
104735
|
+
if (connection.type === "presOf") {
|
|
104736
|
+
presented.add(connection.destId);
|
|
104737
|
+
} else if (connection.type === "presParOf") {
|
|
104738
|
+
const siblings = childrenByParent.get(connection.sourceId) ?? [];
|
|
104739
|
+
siblings.push(connection.destId);
|
|
104740
|
+
childrenByParent.set(connection.sourceId, siblings);
|
|
104741
|
+
}
|
|
104742
|
+
}
|
|
104743
|
+
for (const siblingIds of childrenByParent.values()) {
|
|
104744
|
+
const siblings = siblingIds.map((id) => presPoints.get(id)).filter((pt2) => Boolean(pt2?.styleLabel && presented.has(pt2.id)));
|
|
104745
|
+
const texts = siblings.filter((pt2) => algorithms.get(pt2.name) === "tx");
|
|
104746
|
+
for (const shape of siblings) {
|
|
104747
|
+
if (algorithms.get(shape.name) === "tx" || result.has(shape.id)) {
|
|
104748
|
+
continue;
|
|
104749
|
+
}
|
|
104750
|
+
const text22 = texts.find(
|
|
104751
|
+
(pt2) => pt2.assocId === shape.assocId && pt2.styleLabel !== shape.styleLabel
|
|
104752
|
+
);
|
|
104753
|
+
if (text22) {
|
|
104754
|
+
result.set(shape.id, {
|
|
104755
|
+
styleLabel: text22.styleLabel,
|
|
104756
|
+
styleIndex: text22.styleIndex,
|
|
104757
|
+
textPointId: text22.id
|
|
104758
|
+
});
|
|
104759
|
+
}
|
|
104760
|
+
}
|
|
104761
|
+
}
|
|
104762
|
+
return result;
|
|
104763
|
+
}
|
|
104764
|
+
function smartArtMergedTextColor(label, textFillByLabel) {
|
|
104765
|
+
const list2 = textFillByLabel?.[label.styleLabel]?.textFill;
|
|
104766
|
+
if (!list2 || list2.length === 0) {
|
|
104767
|
+
return void 0;
|
|
104768
|
+
}
|
|
104769
|
+
return list2[label.styleIndex % list2.length];
|
|
104770
|
+
}
|
|
104771
|
+
function resolveSmartArtMergedTextColors(points4, connections, layout, textFillByLabel, localName292) {
|
|
104772
|
+
const colors = /* @__PURE__ */ new Map();
|
|
104773
|
+
if (!textFillByLabel) {
|
|
104774
|
+
return colors;
|
|
104775
|
+
}
|
|
104776
|
+
for (const [shapeId, label] of resolveSmartArtMergedTextLabels(
|
|
104777
|
+
points4,
|
|
104778
|
+
connections,
|
|
104779
|
+
layout,
|
|
104780
|
+
localName292
|
|
104781
|
+
)) {
|
|
104782
|
+
const color2 = smartArtMergedTextColor(label, textFillByLabel);
|
|
104783
|
+
if (color2) {
|
|
104784
|
+
colors.set(shapeId, color2);
|
|
104785
|
+
}
|
|
104786
|
+
}
|
|
104787
|
+
return colors;
|
|
104788
|
+
}
|
|
104789
|
+
var init_smartart_merged_text_label = __esm({
|
|
104790
|
+
"src/core/utils/smartart-merged-text-label.ts"() {
|
|
104791
|
+
}
|
|
104792
|
+
});
|
|
104469
104793
|
function children12(node, name, localName292) {
|
|
104470
104794
|
if (!node) {
|
|
104471
104795
|
return [];
|
|
@@ -105965,21 +106289,21 @@ var init_text_body_has_content = __esm({
|
|
|
105965
106289
|
function createAutoNumberSequence() {
|
|
105966
106290
|
return { levels: /* @__PURE__ */ new Map() };
|
|
105967
106291
|
}
|
|
105968
|
-
function forgetFromLevel(sequence,
|
|
106292
|
+
function forgetFromLevel(sequence, level2) {
|
|
105969
106293
|
for (const recorded of sequence.levels.keys()) {
|
|
105970
|
-
if (recorded >=
|
|
106294
|
+
if (recorded >= level2) {
|
|
105971
106295
|
sequence.levels.delete(recorded);
|
|
105972
106296
|
}
|
|
105973
106297
|
}
|
|
105974
106298
|
}
|
|
105975
|
-
function breakAutoNumberRun(sequence,
|
|
105976
|
-
forgetFromLevel(sequence,
|
|
106299
|
+
function breakAutoNumberRun(sequence, level2) {
|
|
106300
|
+
forgetFromLevel(sequence, level2);
|
|
105977
106301
|
}
|
|
105978
|
-
function nextAutoNumber(sequence,
|
|
105979
|
-
const running = sequence.levels.get(
|
|
106302
|
+
function nextAutoNumber(sequence, level2, scheme, startAt) {
|
|
106303
|
+
const running = sequence.levels.get(level2);
|
|
105980
106304
|
const ordinal = running && running.scheme === scheme ? running.ordinal + 1 : startAt;
|
|
105981
|
-
forgetFromLevel(sequence,
|
|
105982
|
-
sequence.levels.set(
|
|
106305
|
+
forgetFromLevel(sequence, level2 + 1);
|
|
106306
|
+
sequence.levels.set(level2, { scheme, ordinal });
|
|
105983
106307
|
return ordinal;
|
|
105984
106308
|
}
|
|
105985
106309
|
var init_auto_number_sequence = __esm({
|
|
@@ -108690,7 +109014,7 @@ function masterStyleFonts(styles) {
|
|
|
108690
109014
|
if (!styles) {
|
|
108691
109015
|
return [];
|
|
108692
109016
|
}
|
|
108693
|
-
return [styles.title, styles.body, styles.other].flatMap((levels) => levels ?? []).map((
|
|
109017
|
+
return [styles.title, styles.body, styles.other].flatMap((levels) => levels ?? []).map((level2) => level2.run.fontName).filter((name) => Boolean(name));
|
|
108694
109018
|
}
|
|
108695
109019
|
var PPT_MASTER_LEVELS;
|
|
108696
109020
|
var TITLE_LEVELS;
|
|
@@ -110376,8 +110700,8 @@ function textSpecInfo(count) {
|
|
|
110376
110700
|
function promptText(textType, paragraphs2) {
|
|
110377
110701
|
const text22 = paragraphs2.join("\r");
|
|
110378
110702
|
const levels = new ByteWriter();
|
|
110379
|
-
paragraphs2.forEach((para,
|
|
110380
|
-
levels.u32(para.length + 1).u16(
|
|
110703
|
+
paragraphs2.forEach((para, level2) => {
|
|
110704
|
+
levels.u32(para.length + 1).u16(level2);
|
|
110381
110705
|
});
|
|
110382
110706
|
return new ByteWriter().bytes(textHeader(textType)).bytes(atom(RT.TextBytesAtom, new ByteWriter().ansi(text22).toBytes())).bytes(atom(RT.MasterTextPropAtom, levels.toBytes())).bytes(textSpecInfo(text22.length + 1)).toBytes();
|
|
110383
110707
|
}
|
|
@@ -110543,9 +110867,9 @@ var init_master_placeholders_writer = __esm({
|
|
|
110543
110867
|
});
|
|
110544
110868
|
function buildMasterStyleAtom(recInstance, levels, fontIndex) {
|
|
110545
110869
|
const w = new ByteWriter().u16(levels.length);
|
|
110546
|
-
for (const
|
|
110547
|
-
writePfException(w,
|
|
110548
|
-
writeCfException(w,
|
|
110870
|
+
for (const level2 of levels) {
|
|
110871
|
+
writePfException(w, level2.paragraph);
|
|
110872
|
+
writeCfException(w, level2.run, fontIndex);
|
|
110549
110873
|
}
|
|
110550
110874
|
return record(RT.TextMasterStyleAtom, w.toBytes(), recInstance, false, 0);
|
|
110551
110875
|
}
|
|
@@ -111601,11 +111925,11 @@ function levelsFor(styles, textType) {
|
|
|
111601
111925
|
return void 0;
|
|
111602
111926
|
}
|
|
111603
111927
|
}
|
|
111604
|
-
function relativiseParagraph(para,
|
|
111928
|
+
function relativiseParagraph(para, level2) {
|
|
111605
111929
|
const runs = para.runs.map((run) => {
|
|
111606
111930
|
const out = { ...run };
|
|
111607
111931
|
for (const key2 of STYLE_KEYS) {
|
|
111608
|
-
const inherited =
|
|
111932
|
+
const inherited = level2?.run[key2] ?? false;
|
|
111609
111933
|
if (out[key2] !== void 0 && out[key2] === inherited) {
|
|
111610
111934
|
delete out[key2];
|
|
111611
111935
|
}
|
|
@@ -112238,9 +112562,9 @@ function buildChartExData(chartData, series, id) {
|
|
|
112238
112562
|
const stringDimensions = [
|
|
112239
112563
|
{
|
|
112240
112564
|
"@_type": "cat",
|
|
112241
|
-
"cx:lvl": categoryLevels.map((
|
|
112242
|
-
"@_ptCount": String(
|
|
112243
|
-
"cx:pt": chartData.chartType === "regionMap" &&
|
|
112565
|
+
"cx:lvl": categoryLevels.map((level2) => ({
|
|
112566
|
+
"@_ptCount": String(level2.length),
|
|
112567
|
+
"cx:pt": chartData.chartType === "regionMap" && level2 === categoryLevels[0] ? indexedPoints(level2, regionOptions?.categorySourceIndices) : points(level2)
|
|
112244
112568
|
}))
|
|
112245
112569
|
}
|
|
112246
112570
|
];
|
|
@@ -115833,10 +116157,10 @@ function replaceLevels(target, source, getLocalName2) {
|
|
|
115833
116157
|
const targetKey = findKey26(target, "lvl", getLocalName2) ?? "cx:lvl";
|
|
115834
116158
|
const sourceKey = findKey26(source, "lvl", getLocalName2);
|
|
115835
116159
|
const oldLevels = asArray4(target[targetKey]);
|
|
115836
|
-
const newLevels = asArray4(sourceKey ? source[sourceKey] : void 0).map((
|
|
116160
|
+
const newLevels = asArray4(sourceKey ? source[sourceKey] : void 0).map((level2, index) => {
|
|
115837
116161
|
const old = oldLevels[index];
|
|
115838
116162
|
if (!old) {
|
|
115839
|
-
return
|
|
116163
|
+
return level2;
|
|
115840
116164
|
}
|
|
115841
116165
|
const merged = {};
|
|
115842
116166
|
for (const key2 of Object.keys(old)) {
|
|
@@ -115844,7 +116168,7 @@ function replaceLevels(target, source, getLocalName2) {
|
|
|
115844
116168
|
merged[key2] = old[key2];
|
|
115845
116169
|
}
|
|
115846
116170
|
}
|
|
115847
|
-
return { ...
|
|
116171
|
+
return { ...level2, ...merged };
|
|
115848
116172
|
});
|
|
115849
116173
|
target[targetKey] = newLevels.length === 1 ? newLevels[0] : newLevels;
|
|
115850
116174
|
}
|
|
@@ -118025,18 +118349,18 @@ var init_uniform_segment_overrides = __esm({
|
|
|
118025
118349
|
"src/core/core/runtime/uniform-segment-overrides.ts"() {
|
|
118026
118350
|
}
|
|
118027
118351
|
});
|
|
118028
|
-
function authoredPropertyGate(authoredProperties,
|
|
118352
|
+
function authoredPropertyGate(authoredProperties, level2) {
|
|
118029
118353
|
if (authoredProperties) {
|
|
118030
118354
|
return (key2) => authoredProperties[key2] !== void 0;
|
|
118031
118355
|
}
|
|
118032
|
-
const isNested = typeof
|
|
118356
|
+
const isNested = typeof level2 === "number" && Number.isFinite(level2) && level2 > 0;
|
|
118033
118357
|
return () => !isNested;
|
|
118034
118358
|
}
|
|
118035
|
-
function buildParagraphPropertiesXml(textStyle, paragraphAlign, bulletInfo, spacing,
|
|
118359
|
+
function buildParagraphPropertiesXml(textStyle, paragraphAlign, bulletInfo, spacing, level2, authoredProperties) {
|
|
118036
118360
|
const paragraphProps = {};
|
|
118037
|
-
const owns = authoredPropertyGate(authoredProperties,
|
|
118038
|
-
if (typeof
|
|
118039
|
-
paragraphProps["@_lvl"] = String(Math.min(Math.max(Math.round(
|
|
118361
|
+
const owns = authoredPropertyGate(authoredProperties, level2);
|
|
118362
|
+
if (typeof level2 === "number" && Number.isFinite(level2) && level2 >= 0) {
|
|
118363
|
+
paragraphProps["@_lvl"] = String(Math.min(Math.max(Math.round(level2), 0), 8));
|
|
118040
118364
|
}
|
|
118041
118365
|
if (paragraphAlign && owns("align")) {
|
|
118042
118366
|
paragraphProps["@_algn"] = paragraphAlign;
|
|
@@ -123346,7 +123670,7 @@ var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
|
123346
123670
|
PptxHandlerRuntime13 = class extends PptxHandlerRuntime12 {
|
|
123347
123671
|
createParagraphsFromTextContent(text22, textStyle, textSegments, resolveHyperlinkRelationshipId) {
|
|
123348
123672
|
const runScopedTextStyle = toRunScopedTextStyle(textStyle);
|
|
123349
|
-
const createParagraph = (runs, bulletInfo,
|
|
123673
|
+
const createParagraph = (runs, bulletInfo, level2, endParaRunProperties, paragraphProperties2, markup) => {
|
|
123350
123674
|
const effectiveStyle = paragraphProperties2 ? { ...textStyle, ...paragraphProperties2 } : textStyle;
|
|
123351
123675
|
const paragraphAlign = this.textAlignToDrawingValue(effectiveStyle?.align);
|
|
123352
123676
|
const spacing = {
|
|
@@ -123360,7 +123684,7 @@ var init_PptxHandlerRuntimeSaveParagraphs = __esm({
|
|
|
123360
123684
|
paragraphAlign,
|
|
123361
123685
|
bulletInfo,
|
|
123362
123686
|
spacing,
|
|
123363
|
-
|
|
123687
|
+
level2,
|
|
123364
123688
|
paragraphProperties2
|
|
123365
123689
|
);
|
|
123366
123690
|
return assembleParagraphXml(runs, paragraphProps, endParaRunProperties, markup);
|
|
@@ -129211,20 +129535,20 @@ var init_smartart_colors_builder = __esm({
|
|
|
129211
129535
|
]);
|
|
129212
129536
|
}
|
|
129213
129537
|
});
|
|
129214
|
-
function
|
|
129538
|
+
function prSetOf2(pt2) {
|
|
129215
129539
|
const prSet = pt2["dgm:prSet"];
|
|
129216
129540
|
return prSet && typeof prSet === "object" && !Array.isArray(prSet) ? prSet : {};
|
|
129217
129541
|
}
|
|
129218
129542
|
function findPresPointForAssoc(pts, assocId) {
|
|
129219
129543
|
return pts.find(
|
|
129220
|
-
(pt2) => pt2["@_type"] === "pres" && String(
|
|
129544
|
+
(pt2) => pt2["@_type"] === "pres" && String(prSetOf2(pt2)["@_presAssocID"] || "") === assocId
|
|
129221
129545
|
);
|
|
129222
129546
|
}
|
|
129223
129547
|
function maxPresParOfOrd(cxns, srcId) {
|
|
129224
129548
|
return cxns.filter((c) => c["@_type"] === "presParOf" && c["@_srcId"] === srcId).reduce((max, c) => Math.max(max, parseInt(String(c["@_srcOrd"] ?? ""), 10) || 0), -1);
|
|
129225
129549
|
}
|
|
129226
129550
|
function countNodePresPoints(pts) {
|
|
129227
|
-
return pts.filter((pt2) => pt2["@_type"] === "pres" &&
|
|
129551
|
+
return pts.filter((pt2) => pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node").length;
|
|
129228
129552
|
}
|
|
129229
129553
|
function emptyTextBody() {
|
|
129230
129554
|
return { "a:bodyPr": {}, "a:lstStyle": {}, "a:p": { "a:endParaRPr": { "@_lang": "en-US" } } };
|
|
@@ -129334,8 +129658,8 @@ function synthesizeNewSmartArtStructuralPoints(existingPts, existingCxns, nodes,
|
|
|
129334
129658
|
pts.push(buildPresSibTransPoint(presSibTransId, sibTransId));
|
|
129335
129659
|
const total = idx + 1;
|
|
129336
129660
|
for (const pt2 of pts) {
|
|
129337
|
-
if (pt2["@_type"] === "pres" &&
|
|
129338
|
-
|
|
129661
|
+
if (pt2["@_type"] === "pres" && prSetOf2(pt2)["@_presName"] === "node") {
|
|
129662
|
+
prSetOf2(pt2)["@_presStyleCnt"] = String(total);
|
|
129339
129663
|
}
|
|
129340
129664
|
}
|
|
129341
129665
|
const srcOrd = connectionByChildId.get(node.id)?.srcOrd ?? 0;
|
|
@@ -138255,8 +138579,8 @@ var init_PptxHandlerRuntimePlaceholderLookup = __esm({
|
|
|
138255
138579
|
mergePlaceholderLevelStyles(base, override) {
|
|
138256
138580
|
const merged = {};
|
|
138257
138581
|
for (const key2 of /* @__PURE__ */ new Set([...Object.keys(base ?? {}), ...Object.keys(override ?? {})])) {
|
|
138258
|
-
const
|
|
138259
|
-
merged[
|
|
138582
|
+
const level2 = Number.parseInt(key2, 10);
|
|
138583
|
+
merged[level2] = { ...base?.[level2], ...override?.[level2] };
|
|
138260
138584
|
}
|
|
138261
138585
|
return merged;
|
|
138262
138586
|
}
|
|
@@ -139168,8 +139492,8 @@ var init_PptxHandlerRuntimeBulletParsing = __esm({
|
|
|
139168
139492
|
...paragraphProps?.["a:buSzTx"] !== void 0 ? { sizeInherit: true } : {}
|
|
139169
139493
|
};
|
|
139170
139494
|
}
|
|
139171
|
-
const
|
|
139172
|
-
const normalizedLevel = Number.isFinite(
|
|
139495
|
+
const level2 = Number.parseInt(String(paragraphProps?.["@_lvl"] || "0"), 10);
|
|
139496
|
+
const normalizedLevel = Number.isFinite(level2) ? Math.min(Math.max(level2 + 1, 1), 9) : 1;
|
|
139173
139497
|
const levelKey = `a:lvl${normalizedLevel}pPr`;
|
|
139174
139498
|
const inheritedLevelProps = xmlChild(xmlChild(inheritedTxBody, "a:lstStyle"), levelKey);
|
|
139175
139499
|
const bodyLevelProps = xmlChild(xmlChild(txBody, "a:lstStyle"), levelKey);
|
|
@@ -139730,8 +140054,8 @@ var init_PptxHandlerRuntimeShapeTextParsing = __esm({
|
|
|
139730
140054
|
p["a:pPr"]
|
|
139731
140055
|
);
|
|
139732
140056
|
const parsedLevel = Number.parseInt(String(directPPr?.["@_lvl"] ?? "0"), 10);
|
|
139733
|
-
const
|
|
139734
|
-
const levelKey = `a:lvl${
|
|
140057
|
+
const level2 = Number.isFinite(parsedLevel) ? Math.min(Math.max(parsedLevel, 0), 8) : 0;
|
|
140058
|
+
const levelKey = `a:lvl${level2 + 1}pPr`;
|
|
139735
140059
|
const ownLstStyle = ctx.txBody?.["a:lstStyle"];
|
|
139736
140060
|
const inheritedLstStyle = ctx.inheritedTxBody?.["a:lstStyle"];
|
|
139737
140061
|
const lstStyleParagraphDefaults = this.mergeXmlObjects(
|
|
@@ -139749,7 +140073,7 @@ var init_PptxHandlerRuntimeShapeTextParsing = __esm({
|
|
|
139749
140073
|
if (paragraphRtl !== void 0 && textStyle.rtl === void 0) {
|
|
139750
140074
|
textStyle.rtl = paragraphRtl;
|
|
139751
140075
|
}
|
|
139752
|
-
const ownPlaceholderAlignment = ctx.effectiveLevelStyles?.[
|
|
140076
|
+
const ownPlaceholderAlignment = ctx.effectiveLevelStyles?.[level2]?.alignment ?? ctx.effectiveLevelStyles?.[-1]?.alignment;
|
|
139753
140077
|
const paraAlign = resolveParagraphAlignment(
|
|
139754
140078
|
pPr?.["@_algn"],
|
|
139755
140079
|
ownPlaceholderAlignment,
|
|
@@ -139877,7 +140201,7 @@ var init_PptxHandlerRuntimeShapeTextParsing = __esm({
|
|
|
139877
140201
|
mergedDefaultRunStyle.fontFamily = ctx.styleFontRefTypeface;
|
|
139878
140202
|
}
|
|
139879
140203
|
if (ctx.effectiveLevelStyles) {
|
|
139880
|
-
const phLevel = ctx.effectiveLevelStyles[
|
|
140204
|
+
const phLevel = ctx.effectiveLevelStyles[level2];
|
|
139881
140205
|
const phBase = ctx.effectiveLevelStyles[-1];
|
|
139882
140206
|
const runOwnRtl = mergedDefaultRunStyle.rtl;
|
|
139883
140207
|
if (phLevel) {
|
|
@@ -139897,7 +140221,7 @@ var init_PptxHandlerRuntimeShapeTextParsing = __esm({
|
|
|
139897
140221
|
let effectiveMarginLeft = parMarginLeft;
|
|
139898
140222
|
let effectiveIndent = parIndent;
|
|
139899
140223
|
if (ctx.effectiveLevelStyles) {
|
|
139900
|
-
const phLevel = ctx.effectiveLevelStyles[
|
|
140224
|
+
const phLevel = ctx.effectiveLevelStyles[level2];
|
|
139901
140225
|
const phBase = ctx.effectiveLevelStyles[-1];
|
|
139902
140226
|
if (effectiveMarginLeft === void 0) {
|
|
139903
140227
|
effectiveMarginLeft = phLevel?.marginLeft ?? phBase?.marginLeft;
|
|
@@ -143271,12 +143595,12 @@ var init_PptxHandlerRuntimeMasterElements = __esm({
|
|
|
143271
143595
|
return;
|
|
143272
143596
|
}
|
|
143273
143597
|
const levelStyles = {};
|
|
143274
|
-
for (let
|
|
143598
|
+
for (let level2 = 1; level2 <= 9; level2++) {
|
|
143275
143599
|
const parsed = this.parsePlaceholderLevelStyle(
|
|
143276
|
-
defaultTextStyle[`a:lvl${
|
|
143600
|
+
defaultTextStyle[`a:lvl${level2}pPr`]
|
|
143277
143601
|
);
|
|
143278
143602
|
if (parsed) {
|
|
143279
|
-
levelStyles[
|
|
143603
|
+
levelStyles[level2 - 1] = parsed;
|
|
143280
143604
|
}
|
|
143281
143605
|
}
|
|
143282
143606
|
const defaultLevel = this.parsePlaceholderLevelStyle(
|
|
@@ -146319,7 +146643,7 @@ var init_PptxHandlerRuntimeSmartArtParsing = __esm({
|
|
|
146319
146643
|
return [];
|
|
146320
146644
|
}
|
|
146321
146645
|
}
|
|
146322
|
-
parseDrawingShape(sp, index, emuPerPx) {
|
|
146646
|
+
parseDrawingShape(sp, index, emuPerPx, mergedTextColor) {
|
|
146323
146647
|
const spPr = this.xmlLookupService.getChildByLocalName(sp, "spPr");
|
|
146324
146648
|
if (!spPr) {
|
|
146325
146649
|
return null;
|
|
@@ -146380,7 +146704,7 @@ var init_PptxHandlerRuntimeSmartArtParsing = __esm({
|
|
|
146380
146704
|
}
|
|
146381
146705
|
const text22 = textValues2.join("").trim() || void 0;
|
|
146382
146706
|
const textStyle = extractDrawingShapeTextStyle(txBody, this.drawingShapeStyleDeps(), emuPerPx);
|
|
146383
|
-
textStyle.fontColor ??= extractDrawingShapeFontRefColor(sp, this.drawingShapeStyleDeps());
|
|
146707
|
+
textStyle.fontColor ??= mergedTextColor ?? extractDrawingShapeFontRefColor(sp, this.drawingShapeStyleDeps());
|
|
146384
146708
|
const { fontSize, fontColor } = textStyle;
|
|
146385
146709
|
const txXfrm = this.xmlLookupService.getChildByLocalName(sp, "txXfrm");
|
|
146386
146710
|
const txOff = this.xmlLookupService.getChildByLocalName(txXfrm, "off");
|
|
@@ -146608,6 +146932,7 @@ var PptxHandlerRuntime89;
|
|
|
146608
146932
|
var init_PptxHandlerRuntimeSmartArt = __esm({
|
|
146609
146933
|
"src/core/core/runtime/PptxHandlerRuntimeSmartArt.ts"() {
|
|
146610
146934
|
init_utils();
|
|
146935
|
+
init_smartart_merged_text_label();
|
|
146611
146936
|
init_smartart_point_metadata();
|
|
146612
146937
|
init_smartart_pres_layout_vars();
|
|
146613
146938
|
init_smart_art_text_helpers();
|
|
@@ -146706,7 +147031,16 @@ var init_PptxHandlerRuntimeSmartArt = __esm({
|
|
|
146706
147031
|
diagramDataRelationshipId,
|
|
146707
147032
|
drawingExtensionRelId
|
|
146708
147033
|
);
|
|
146709
|
-
const drawingShapes = drawingResolution ? await this.parseSmartArtDrawingShapesFromPath(
|
|
147034
|
+
const drawingShapes = drawingResolution ? await this.parseSmartArtDrawingShapesFromPath(
|
|
147035
|
+
drawingResolution.path,
|
|
147036
|
+
resolveSmartArtMergedTextColors(
|
|
147037
|
+
points4,
|
|
147038
|
+
parsedConnections,
|
|
147039
|
+
layoutDefinition,
|
|
147040
|
+
colorTransform?.roleColors,
|
|
147041
|
+
localName292
|
|
147042
|
+
)
|
|
147043
|
+
) : [];
|
|
146710
147044
|
const drawingRelationshipId = drawingResolution?.relId;
|
|
146711
147045
|
const styleRelationshipId = parsedRelationshipIds?.styleRelId ?? "";
|
|
146712
147046
|
const quickStyle = await this.parseSmartArtQuickStyle(slidePath, styleRelationshipId);
|
|
@@ -146813,17 +147147,22 @@ var init_PptxHandlerRuntimeSmartArt = __esm({
|
|
|
146813
147147
|
* resolves picture (blip) fills to data URLs via the drawing part's own
|
|
146814
147148
|
* relationships. Delegates to a pure helper with an injected dep bundle.
|
|
146815
147149
|
*/
|
|
146816
|
-
async parseSmartArtDrawingShapesFromPath(drawingPath) {
|
|
146817
|
-
return parseDrawingShapesFromPart(drawingPath, this.drawingBlipDeps());
|
|
147150
|
+
async parseSmartArtDrawingShapesFromPath(drawingPath, mergedTextColors) {
|
|
147151
|
+
return parseDrawingShapesFromPart(drawingPath, this.drawingBlipDeps(mergedTextColors));
|
|
146818
147152
|
}
|
|
146819
147153
|
/** Bind runtime zip / parser / lookup / image helpers for the drawing parser. */
|
|
146820
|
-
drawingBlipDeps() {
|
|
147154
|
+
drawingBlipDeps(mergedTextColors) {
|
|
146821
147155
|
return {
|
|
146822
147156
|
readText: (path) => this.zip.file(path)?.async("string") ?? Promise.resolve(void 0),
|
|
146823
147157
|
parse: (xml) => this.parser.parse(xml),
|
|
146824
147158
|
getChild: (node, local) => this.xmlLookupService.getChildByLocalName(node, local),
|
|
146825
147159
|
getChildren: (node, local) => this.xmlLookupService.getChildrenArrayByLocalName(node, local),
|
|
146826
|
-
parseDrawingShape: (sp, index, emuPerPx) => this.parseDrawingShape(
|
|
147160
|
+
parseDrawingShape: (sp, index, emuPerPx) => this.parseDrawingShape(
|
|
147161
|
+
sp,
|
|
147162
|
+
index,
|
|
147163
|
+
emuPerPx,
|
|
147164
|
+
mergedTextColors?.get(String(sp["@_modelId"] ?? ""))
|
|
147165
|
+
),
|
|
146827
147166
|
emuPerPx: _PptxHandlerRuntime.EMU_PER_PX,
|
|
146828
147167
|
ensureArray: (value) => this.ensureArray(value),
|
|
146829
147168
|
resolveImagePath: (base, target) => this.resolveImagePath(base, target),
|
|
@@ -149596,7 +149935,7 @@ var init_PptxHandlerRuntimeLoadPipeline = __esm({
|
|
|
149596
149935
|
},
|
|
149597
149936
|
placeholderType: (element) => this.getElementPlaceholderInfo(element)?.type,
|
|
149598
149937
|
applyBodyDefaults: (textStyle, defaults) => this.applyPlaceholderBodyDefaults(textStyle, defaults),
|
|
149599
|
-
applyLevelDefaults: (textStyle,
|
|
149938
|
+
applyLevelDefaults: (textStyle, level2) => this.applyPlaceholderLevelDefaults(textStyle, level2)
|
|
149600
149939
|
}
|
|
149601
149940
|
);
|
|
149602
149941
|
const sldLayout = layoutXml["p:sldLayout"];
|
|
@@ -151666,38 +152005,38 @@ function parseMasterStyleAtom(view, rec, scheme, fonts) {
|
|
|
151666
152005
|
break;
|
|
151667
152006
|
}
|
|
151668
152007
|
pos2 = cf.next;
|
|
151669
|
-
const
|
|
152008
|
+
const level2 = {};
|
|
151670
152009
|
if (cf.props.sizePt !== void 0) {
|
|
151671
|
-
|
|
152010
|
+
level2.sizePt = cf.props.sizePt;
|
|
151672
152011
|
}
|
|
151673
152012
|
if (cf.props.bold !== void 0) {
|
|
151674
|
-
|
|
152013
|
+
level2.bold = cf.props.bold;
|
|
151675
152014
|
}
|
|
151676
152015
|
if (cf.props.colorRgb !== void 0) {
|
|
151677
|
-
|
|
152016
|
+
level2.colorRgb = cf.props.colorRgb;
|
|
151678
152017
|
}
|
|
151679
152018
|
if (cf.props.fontRef !== void 0 && fonts[cf.props.fontRef]) {
|
|
151680
|
-
|
|
152019
|
+
level2.fontName = fonts[cf.props.fontRef];
|
|
151681
152020
|
}
|
|
151682
152021
|
if (pf.props.align !== void 0) {
|
|
151683
|
-
|
|
152022
|
+
level2.align = pf.props.align;
|
|
151684
152023
|
}
|
|
151685
152024
|
if (pf.props.hasBullet !== void 0) {
|
|
151686
|
-
|
|
152025
|
+
level2.hasBullet = pf.props.hasBullet;
|
|
151687
152026
|
}
|
|
151688
152027
|
if (pf.props.bulletChar !== void 0) {
|
|
151689
|
-
|
|
152028
|
+
level2.bulletChar = pf.props.bulletChar;
|
|
151690
152029
|
}
|
|
151691
152030
|
if (pf.props.bulletFontRef !== void 0 && fonts[pf.props.bulletFontRef]) {
|
|
151692
|
-
|
|
152031
|
+
level2.bulletFontName = fonts[pf.props.bulletFontRef];
|
|
151693
152032
|
}
|
|
151694
152033
|
if (pf.props.leftMarginMu !== void 0) {
|
|
151695
|
-
|
|
152034
|
+
level2.marginLeftEmu = masterToEmu(pf.props.leftMarginMu);
|
|
151696
152035
|
}
|
|
151697
152036
|
if (pf.props.indentMu !== void 0) {
|
|
151698
|
-
|
|
152037
|
+
level2.indentEmu = masterToEmu(pf.props.indentMu);
|
|
151699
152038
|
}
|
|
151700
|
-
levels.push(
|
|
152039
|
+
levels.push(level2);
|
|
151701
152040
|
}
|
|
151702
152041
|
return levels;
|
|
151703
152042
|
}
|
|
@@ -152277,28 +152616,28 @@ var init_shape_writer2 = __esm({
|
|
|
152277
152616
|
init_xml_utils();
|
|
152278
152617
|
}
|
|
152279
152618
|
});
|
|
152280
|
-
function levelXml(tag,
|
|
152619
|
+
function levelXml(tag, level2, fallbackSizePt) {
|
|
152281
152620
|
const attrs3 = [];
|
|
152282
|
-
if (
|
|
152283
|
-
attrs3.push(`marL="${emu(
|
|
152621
|
+
if (level2.marginLeftEmu !== void 0) {
|
|
152622
|
+
attrs3.push(`marL="${emu(level2.marginLeftEmu)}"`);
|
|
152284
152623
|
}
|
|
152285
|
-
if (
|
|
152286
|
-
attrs3.push(`indent="${-Math.abs(emu(
|
|
152624
|
+
if (level2.indentEmu !== void 0) {
|
|
152625
|
+
attrs3.push(`indent="${-Math.abs(emu(level2.indentEmu))}"`);
|
|
152287
152626
|
}
|
|
152288
|
-
attrs3.push(`algn="${
|
|
152627
|
+
attrs3.push(`algn="${level2.align ?? "l"}"`);
|
|
152289
152628
|
let bullet = "";
|
|
152290
|
-
if (
|
|
152629
|
+
if (level2.hasBullet === false) {
|
|
152291
152630
|
bullet = "<a:buNone/>";
|
|
152292
|
-
} else if (
|
|
152293
|
-
if (
|
|
152294
|
-
bullet += `<a:buFont typeface="${esc(
|
|
152631
|
+
} else if (level2.hasBullet === true || level2.bulletChar !== void 0) {
|
|
152632
|
+
if (level2.bulletFontName !== void 0) {
|
|
152633
|
+
bullet += `<a:buFont typeface="${esc(level2.bulletFontName)}"/>`;
|
|
152295
152634
|
}
|
|
152296
|
-
bullet += `<a:buChar char="${esc(
|
|
152635
|
+
bullet += `<a:buChar char="${esc(level2.bulletChar ?? "\u2022")}"/>`;
|
|
152297
152636
|
}
|
|
152298
|
-
const size = Math.round((
|
|
152299
|
-
const bold =
|
|
152300
|
-
const color2 =
|
|
152301
|
-
const font =
|
|
152637
|
+
const size = Math.round((level2.sizePt ?? fallbackSizePt) * 100);
|
|
152638
|
+
const bold = level2.bold ? ' b="1"' : "";
|
|
152639
|
+
const color2 = level2.colorRgb !== void 0 ? solidFill(level2.colorRgb) : '<a:solidFill><a:schemeClr val="tx1"/></a:solidFill>';
|
|
152640
|
+
const font = level2.fontName !== void 0 ? `<a:latin typeface="${esc(level2.fontName)}"/>` : '<a:latin typeface="+mn-lt"/>';
|
|
152302
152641
|
const defRPr = `<a:defRPr sz="${size}" kern="1200"${bold}>${color2}${font}</a:defRPr>`;
|
|
152303
152642
|
return `<a:${tag} ${attrs3.join(" ")}>${bullet}${defRPr}</a:${tag}>`;
|
|
152304
152643
|
}
|
|
@@ -164983,16 +165322,16 @@ var SmartArtElementProcessor = class {
|
|
|
164983
165322
|
}
|
|
164984
165323
|
return roots.length > 0 ? roots : [...nodeMap.values()];
|
|
164985
165324
|
}
|
|
164986
|
-
renderNestedList(nodes,
|
|
165325
|
+
renderNestedList(nodes, level2) {
|
|
164987
165326
|
const lines = [];
|
|
164988
|
-
const indent = " ".repeat(
|
|
165327
|
+
const indent = " ".repeat(level2);
|
|
164989
165328
|
for (const node of nodes) {
|
|
164990
165329
|
const text22 = node.text.trim();
|
|
164991
165330
|
if (text22) {
|
|
164992
165331
|
lines.push(`${indent}- ${text22}`);
|
|
164993
165332
|
}
|
|
164994
165333
|
if (node.children && node.children.length > 0) {
|
|
164995
|
-
lines.push(this.renderNestedList(node.children,
|
|
165334
|
+
lines.push(this.renderNestedList(node.children, level2 + 1));
|
|
164996
165335
|
}
|
|
164997
165336
|
}
|
|
164998
165337
|
return lines.join("\n");
|
|
@@ -166929,19 +167268,19 @@ var TextSegmentRenderer = class {
|
|
|
166929
167268
|
if (!options.disableLists && !options.inlineMode) {
|
|
166930
167269
|
const bullet = group2.segments.find((segment) => Boolean(segment.bulletInfo))?.bulletInfo;
|
|
166931
167270
|
if (bullet && !bullet.none) {
|
|
166932
|
-
const
|
|
167271
|
+
const level2 = resolveListLevel(bullet, group2.index, options.paragraphIndents);
|
|
166933
167272
|
const marker = resolveListMarker(bullet, group2.index);
|
|
166934
167273
|
const alreadyNumbered = bullet.autoNumType && /^\d+[.)]\s/.test(rawText);
|
|
166935
167274
|
const prefix = alreadyNumbered ? "" : `${marker} `;
|
|
166936
167275
|
if (options.htmlFormatting) {
|
|
166937
|
-
const pad23 =
|
|
167276
|
+
const pad23 = level2 * 1.5;
|
|
166938
167277
|
return {
|
|
166939
167278
|
text: `<div style="padding-left:${pad23}em">${prefix}${rawText}</div>`,
|
|
166940
167279
|
isListItem: true
|
|
166941
167280
|
};
|
|
166942
167281
|
}
|
|
166943
167282
|
return {
|
|
166944
|
-
text: `${" ".repeat(
|
|
167283
|
+
text: `${" ".repeat(level2)}${prefix}${rawText}`,
|
|
166945
167284
|
isListItem: true
|
|
166946
167285
|
};
|
|
166947
167286
|
}
|
|
@@ -169216,7 +169555,7 @@ function dataLabelBox(label) {
|
|
|
169216
169555
|
const y = centred2 ? label.y - h2 / 2 : label.y - label.fontSize * ASCENT - DATA_LABEL_PAD_Y;
|
|
169217
169556
|
return { x, y, w, h: h2 };
|
|
169218
169557
|
}
|
|
169219
|
-
var
|
|
169558
|
+
var PX_PER_PT7;
|
|
169220
169559
|
var DATA_LABEL_PAD_X;
|
|
169221
169560
|
var DATA_LABEL_PAD_Y;
|
|
169222
169561
|
var DATA_LABEL_LINE_HEIGHT;
|
|
@@ -169224,9 +169563,9 @@ var ASCENT;
|
|
|
169224
169563
|
var canvasContext;
|
|
169225
169564
|
var init_chart_label_measure = __esm2({
|
|
169226
169565
|
"src/render/chart-label-measure.ts"() {
|
|
169227
|
-
|
|
169228
|
-
DATA_LABEL_PAD_X = 3 *
|
|
169229
|
-
DATA_LABEL_PAD_Y = 1.5 *
|
|
169566
|
+
PX_PER_PT7 = 4 / 3;
|
|
169567
|
+
DATA_LABEL_PAD_X = 3 * PX_PER_PT7;
|
|
169568
|
+
DATA_LABEL_PAD_Y = 1.5 * PX_PER_PT7;
|
|
169230
169569
|
DATA_LABEL_LINE_HEIGHT = 1.2207;
|
|
169231
169570
|
ASCENT = 0.952;
|
|
169232
169571
|
}
|
|
@@ -171221,8 +171560,8 @@ function buildMultiLevelCategoryLabels(categoryLabels, categoryLevels, sourceInd
|
|
|
171221
171560
|
const fontPx = axis?.fontSize !== void 0 ? chartFontPx(axis.fontSize) : DEFAULT_CHART_TEXT_PX;
|
|
171222
171561
|
const bandHeight = Math.max(fontPx, 8) + 4;
|
|
171223
171562
|
const baselineShift = labelsAbove ? -0.2 * fontPx : 0.8 * fontPx;
|
|
171224
|
-
return levels.flatMap((
|
|
171225
|
-
const values = sourceIndices2.map((sourceIndex) =>
|
|
171563
|
+
return levels.flatMap((level2, levelIndex) => {
|
|
171564
|
+
const values = sourceIndices2.map((sourceIndex) => level2[sourceIndex] ?? "");
|
|
171226
171565
|
return groupedLabels(values).flatMap((group2) => {
|
|
171227
171566
|
if (!group2.text || group2.start % skip !== 0) {
|
|
171228
171567
|
return [];
|
|
@@ -171351,7 +171690,7 @@ function chartDataInCategoryOrder(chartData, sourceIndices2) {
|
|
|
171351
171690
|
...chartData,
|
|
171352
171691
|
categories: sourceIndices2.map((sourceIndex) => chartData.categories[sourceIndex] ?? ""),
|
|
171353
171692
|
categoryLevels: chartData.categoryLevels?.map(
|
|
171354
|
-
(
|
|
171693
|
+
(level2) => sourceIndices2.map((sourceIndex) => level2[sourceIndex] ?? "")
|
|
171355
171694
|
),
|
|
171356
171695
|
series: chartData.series.map((series) => ({
|
|
171357
171696
|
...series,
|
|
@@ -175515,12 +175854,12 @@ function computeSunburstArcs(series, cx, cy, maxR, colorPalette) {
|
|
|
175515
175854
|
}
|
|
175516
175855
|
return out;
|
|
175517
175856
|
}
|
|
175518
|
-
function hierarchyKey(levels,
|
|
175519
|
-
return levels.slice(
|
|
175857
|
+
function hierarchyKey(levels, level2, index) {
|
|
175858
|
+
return levels.slice(level2).map((labels) => labels[index] ?? "").join("\0");
|
|
175520
175859
|
}
|
|
175521
175860
|
function computeHierarchicalSunburstArcs(categoryLevels, values, cx, cy, maxR, colorPalette) {
|
|
175522
|
-
const levels = categoryLevels.filter((
|
|
175523
|
-
const leafCount = Math.max(values.length, ...levels.map((
|
|
175861
|
+
const levels = categoryLevels.filter((level2) => level2.length > 0);
|
|
175862
|
+
const leafCount = Math.max(values.length, ...levels.map((level2) => level2.length), 0);
|
|
175524
175863
|
if (levels.length === 0 || leafCount === 0) {
|
|
175525
175864
|
return [];
|
|
175526
175865
|
}
|
|
@@ -175535,15 +175874,15 @@ function computeHierarchicalSunburstArcs(categoryLevels, values, cx, cy, maxR, c
|
|
|
175535
175874
|
const rootLabels = levels[levels.length - 1] ?? [];
|
|
175536
175875
|
const rootColors = /* @__PURE__ */ new Map();
|
|
175537
175876
|
const out = [];
|
|
175538
|
-
for (let
|
|
175539
|
-
const ringIndex = levels.length - 1 -
|
|
175877
|
+
for (let level2 = levels.length - 1; level2 >= 0; level2--) {
|
|
175878
|
+
const ringIndex = levels.length - 1 - level2;
|
|
175540
175879
|
const innerRadius = ringWidth * (ringIndex + 0.5);
|
|
175541
175880
|
const outerRadius = ringWidth * (ringIndex + 1.5);
|
|
175542
175881
|
let start = 0;
|
|
175543
175882
|
while (start < leafCount) {
|
|
175544
|
-
const key2 = hierarchyKey(levels,
|
|
175883
|
+
const key2 = hierarchyKey(levels, level2, start);
|
|
175545
175884
|
let end = start + 1;
|
|
175546
|
-
while (end < leafCount && hierarchyKey(levels,
|
|
175885
|
+
while (end < leafCount && hierarchyKey(levels, level2, end) === key2) {
|
|
175547
175886
|
end++;
|
|
175548
175887
|
}
|
|
175549
175888
|
const startAngle = -Math.PI / 2 + prefix[start] / total * Math.PI * 2;
|
|
@@ -175557,8 +175896,8 @@ function computeHierarchicalSunburstArcs(categoryLevels, values, cx, cy, maxR, c
|
|
|
175557
175896
|
fill: paletteColor2(rootColors.get(rootLabel) ?? start, colorPalette),
|
|
175558
175897
|
opacity: Math.max(0.1, 0.9 - ringIndex * 0.1),
|
|
175559
175898
|
level: ringIndex,
|
|
175560
|
-
label: levels[
|
|
175561
|
-
...
|
|
175899
|
+
label: levels[level2][start] ?? "",
|
|
175900
|
+
...level2 === 0 && end === start + 1 ? { pointIndex: start } : {},
|
|
175562
175901
|
...arcLabelPlacement(cx, cy, (innerRadius + outerRadius) / 2, startAngle, endAngle)
|
|
175563
175902
|
});
|
|
175564
175903
|
start = end;
|
|
@@ -176707,10 +177046,10 @@ var init_chart_treemap_squarify = __esm2({
|
|
|
176707
177046
|
}
|
|
176708
177047
|
});
|
|
176709
177048
|
function normalizedLevels(levels, pointCount2) {
|
|
176710
|
-
return levels.map((
|
|
177049
|
+
return levels.map((level2) => {
|
|
176711
177050
|
let previous = "";
|
|
176712
177051
|
return Array.from({ length: pointCount2 }, (_, index) => {
|
|
176713
|
-
const label =
|
|
177052
|
+
const label = level2[index]?.trim() ?? "";
|
|
176714
177053
|
if (label) {
|
|
176715
177054
|
previous = label;
|
|
176716
177055
|
}
|
|
@@ -185446,6 +185785,75 @@ var init_chart_3d_view_scene = __esm2({
|
|
|
185446
185785
|
init_surface_chart_3d_scene();
|
|
185447
185786
|
}
|
|
185448
185787
|
});
|
|
185788
|
+
function isSmartArt3DGlassMaterial(material) {
|
|
185789
|
+
return material === "clear";
|
|
185790
|
+
}
|
|
185791
|
+
function smartArt3DSurfaceAlpha(material, opacity2, facing) {
|
|
185792
|
+
if (!isSmartArt3DGlassMaterial(material)) {
|
|
185793
|
+
return opacity2;
|
|
185794
|
+
}
|
|
185795
|
+
const tilt = 1 - Math.max(0, Math.min(1, facing));
|
|
185796
|
+
const share = CLEAR_FACE_ALPHA + CLEAR_EDGE_GAIN * tilt ** CLEAR_EDGE_EXPONENT;
|
|
185797
|
+
return Math.max(0, Math.min(1, opacity2 * share));
|
|
185798
|
+
}
|
|
185799
|
+
function smartArt3DVertexAlphas(positions2, normals, material, opacity2, eye) {
|
|
185800
|
+
const out = new Float32Array(positions2.length / 3);
|
|
185801
|
+
for (let i2 = 0, v = 0; i2 < positions2.length; i2 += 3, v++) {
|
|
185802
|
+
let view = { x: 0, y: 0, z: 1 };
|
|
185803
|
+
if (eye) {
|
|
185804
|
+
const dx = eye.x - positions2[i2];
|
|
185805
|
+
const dy = eye.y - positions2[i2 + 1];
|
|
185806
|
+
const dz = eye.z - positions2[i2 + 2];
|
|
185807
|
+
const len = Math.hypot(dx, dy, dz) || 1;
|
|
185808
|
+
view = { x: dx / len, y: dy / len, z: dz / len };
|
|
185809
|
+
}
|
|
185810
|
+
const facing = normals[i2] * view.x + normals[i2 + 1] * view.y + normals[i2 + 2] * view.z;
|
|
185811
|
+
out[v] = smartArt3DSurfaceAlpha(material, opacity2, facing);
|
|
185812
|
+
}
|
|
185813
|
+
return out;
|
|
185814
|
+
}
|
|
185815
|
+
function orientSmartArt3DTriangles(triangles) {
|
|
185816
|
+
const { positions: p, normals: n } = triangles;
|
|
185817
|
+
for (let t = 0; t + 9 <= p.length; t += 9) {
|
|
185818
|
+
const ux = p[t + 3] - p[t];
|
|
185819
|
+
const uy = p[t + 4] - p[t + 1];
|
|
185820
|
+
const uz = p[t + 5] - p[t + 2];
|
|
185821
|
+
const vx = p[t + 6] - p[t];
|
|
185822
|
+
const vy = p[t + 7] - p[t + 1];
|
|
185823
|
+
const vz = p[t + 8] - p[t + 2];
|
|
185824
|
+
const cx = uy * vz - uz * vy;
|
|
185825
|
+
const cy = uz * vx - ux * vz;
|
|
185826
|
+
const cz = ux * vy - uy * vx;
|
|
185827
|
+
const nx = n[t] + n[t + 3] + n[t + 6];
|
|
185828
|
+
const ny = n[t + 1] + n[t + 4] + n[t + 7];
|
|
185829
|
+
const nz = n[t + 2] + n[t + 5] + n[t + 8];
|
|
185830
|
+
if (cx * nx + cy * ny + cz * nz < 0) {
|
|
185831
|
+
for (const arr of [p, n]) {
|
|
185832
|
+
for (let c = 0; c < 3; c++) {
|
|
185833
|
+
const b = arr[t + 3 + c];
|
|
185834
|
+
arr[t + 3 + c] = arr[t + 6 + c];
|
|
185835
|
+
arr[t + 6 + c] = b;
|
|
185836
|
+
}
|
|
185837
|
+
}
|
|
185838
|
+
}
|
|
185839
|
+
}
|
|
185840
|
+
}
|
|
185841
|
+
function isSmartArt3DTranslucentMesh(mesh) {
|
|
185842
|
+
return !mesh.fillNone && (mesh.opacity < 1 || isSmartArt3DGlassMaterial(mesh.solid?.material));
|
|
185843
|
+
}
|
|
185844
|
+
function smartArt3DGlassLightModel(model) {
|
|
185845
|
+
return { ...model, ambient: 1, diffuse: 0 };
|
|
185846
|
+
}
|
|
185847
|
+
var CLEAR_FACE_ALPHA;
|
|
185848
|
+
var CLEAR_EDGE_GAIN;
|
|
185849
|
+
var CLEAR_EDGE_EXPONENT;
|
|
185850
|
+
var init_smartart_3d_translucency = __esm2({
|
|
185851
|
+
"src/render/smartart-3d-translucency.ts"() {
|
|
185852
|
+
CLEAR_FACE_ALPHA = 0.2;
|
|
185853
|
+
CLEAR_EDGE_GAIN = 2;
|
|
185854
|
+
CLEAR_EDGE_EXPONENT = 1;
|
|
185855
|
+
}
|
|
185856
|
+
});
|
|
185449
185857
|
function buildTextBlockTexture(three, block) {
|
|
185450
185858
|
if (typeof document === "undefined" || block.lines.every((l) => l.text.length === 0)) {
|
|
185451
185859
|
return null;
|
|
@@ -185957,19 +186365,45 @@ function buildGradientTexture(three, gradient) {
|
|
|
185957
186365
|
texture.needsUpdate = true;
|
|
185958
186366
|
return texture;
|
|
185959
186367
|
}
|
|
186368
|
+
function withAlpha(rgb2, alpha) {
|
|
186369
|
+
const out = new Float32Array(alpha.length * 4);
|
|
186370
|
+
for (let v = 0; v < alpha.length; v++) {
|
|
186371
|
+
out.set(rgb2.subarray(v * 3, v * 3 + 3), v * 4);
|
|
186372
|
+
out[v * 4 + 3] = alpha[v];
|
|
186373
|
+
}
|
|
186374
|
+
return out;
|
|
186375
|
+
}
|
|
185960
186376
|
function buildPart(three, part, light, eye, disposables) {
|
|
185961
|
-
|
|
185962
|
-
if (positions2.length === 0) {
|
|
186377
|
+
if (part.triangles.positions.length === 0) {
|
|
185963
186378
|
return null;
|
|
185964
186379
|
}
|
|
186380
|
+
const glass = isSmartArt3DGlassMaterial(part.material);
|
|
186381
|
+
const translucent = part.opacity < 1 || glass;
|
|
186382
|
+
if (translucent) {
|
|
186383
|
+
orientSmartArt3DTriangles(part.triangles);
|
|
186384
|
+
}
|
|
186385
|
+
const { positions: positions2, normals } = part.triangles;
|
|
185965
186386
|
const gradient = part.gradient;
|
|
185966
186387
|
const flatColor = hexToRgb7(part.color);
|
|
185967
186388
|
const baseAt = (p) => gradient ? smartArt3DGradientColor(gradient, p) : flatColor;
|
|
185968
186389
|
const geometry = new three.BufferGeometry();
|
|
185969
186390
|
geometry.setAttribute("position", new three.Float32BufferAttribute(positions2, 3));
|
|
186391
|
+
const shading = shadeSmartArt3DVertices(
|
|
186392
|
+
positions2,
|
|
186393
|
+
normals,
|
|
186394
|
+
baseAt,
|
|
186395
|
+
glass ? smartArt3DGlassLightModel(light) : light,
|
|
186396
|
+
eye
|
|
186397
|
+
);
|
|
185970
186398
|
geometry.setAttribute(
|
|
185971
186399
|
"color",
|
|
185972
|
-
new three.BufferAttribute(
|
|
186400
|
+
glass ? new three.BufferAttribute(
|
|
186401
|
+
withAlpha(
|
|
186402
|
+
shading,
|
|
186403
|
+
smartArt3DVertexAlphas(positions2, normals, part.material, part.opacity, eye)
|
|
186404
|
+
),
|
|
186405
|
+
4
|
|
186406
|
+
) : new three.BufferAttribute(shading, 3)
|
|
185973
186407
|
);
|
|
185974
186408
|
const texture = gradient ? buildGradientTexture(three, gradient) : null;
|
|
185975
186409
|
if (gradient && texture) {
|
|
@@ -185987,9 +186421,13 @@ function buildPart(three, part, light, eye, disposables) {
|
|
|
185987
186421
|
color: texture ? "#ffffff" : part.color,
|
|
185988
186422
|
map: texture,
|
|
185989
186423
|
vertexColors: true,
|
|
185990
|
-
side: three.DoubleSide,
|
|
185991
|
-
transparent:
|
|
185992
|
-
|
|
186424
|
+
side: translucent ? three.FrontSide : three.DoubleSide,
|
|
186425
|
+
transparent: translucent,
|
|
186426
|
+
// A glass carries its alpha per vertex; the material then stays at 1.
|
|
186427
|
+
opacity: glass ? 1 : part.opacity,
|
|
186428
|
+
// Translucent solids are layered in paint order, like PowerPoint's
|
|
186429
|
+
// per-shape compositing, rather than hiding one another.
|
|
186430
|
+
depthWrite: !translucent
|
|
185993
186431
|
});
|
|
185994
186432
|
disposables.push(geometry, material);
|
|
185995
186433
|
return new three.Mesh(geometry, material);
|
|
@@ -186016,12 +186454,20 @@ function buildLitMeshObject(three, mesh, light, eye) {
|
|
|
186016
186454
|
for (const cap of geometry?.contourCaps ?? []) {
|
|
186017
186455
|
appendCap(three, contour, cap);
|
|
186018
186456
|
}
|
|
186457
|
+
const material = mesh.solid?.material;
|
|
186019
186458
|
const parts = [
|
|
186020
|
-
{
|
|
186459
|
+
{
|
|
186460
|
+
triangles: body,
|
|
186461
|
+
color: mesh.fill,
|
|
186462
|
+
gradient: mesh.gradient,
|
|
186463
|
+
opacity: mesh.opacity,
|
|
186464
|
+
material
|
|
186465
|
+
},
|
|
186021
186466
|
{
|
|
186022
186467
|
triangles: sides,
|
|
186023
186468
|
color: mesh.solid?.extrusionColor ?? mesh.fill,
|
|
186024
|
-
opacity: mesh.opacity
|
|
186469
|
+
opacity: mesh.opacity,
|
|
186470
|
+
material
|
|
186025
186471
|
},
|
|
186026
186472
|
{
|
|
186027
186473
|
triangles: contour,
|
|
@@ -186029,33 +186475,36 @@ function buildLitMeshObject(three, mesh, light, eye) {
|
|
|
186029
186475
|
opacity: mesh.opacity
|
|
186030
186476
|
}
|
|
186031
186477
|
];
|
|
186032
|
-
|
|
186478
|
+
parts.forEach((part, order) => {
|
|
186033
186479
|
const built = buildPart(three, part, light, localEye, disposables);
|
|
186034
186480
|
if (built) {
|
|
186035
|
-
|
|
186036
|
-
const material = built.material;
|
|
186037
|
-
material.transparent = true;
|
|
186038
|
-
material.opacity = mesh.opacity;
|
|
186039
|
-
}
|
|
186481
|
+
built.renderOrder = order;
|
|
186040
186482
|
group2.add(built);
|
|
186041
186483
|
}
|
|
186042
|
-
}
|
|
186484
|
+
});
|
|
186043
186485
|
}
|
|
186044
186486
|
for (const line4 of buildStrokeLines(three, mesh, disposables)) {
|
|
186045
186487
|
group2.add(line4);
|
|
186046
186488
|
}
|
|
186489
|
+
const labelsFrom = group2.children.length;
|
|
186047
186490
|
buildLitTextObject(three, mesh, group2, light, disposables);
|
|
186491
|
+
for (const label of group2.children.slice(labelsFrom)) {
|
|
186492
|
+
label.renderOrder = LABEL_RENDER_ORDER;
|
|
186493
|
+
}
|
|
186048
186494
|
return { group: group2, disposables };
|
|
186049
186495
|
}
|
|
186496
|
+
var LABEL_RENDER_ORDER;
|
|
186050
186497
|
var GRADIENT_TEXELS;
|
|
186051
186498
|
var init_lit_mesh_object = __esm2({
|
|
186052
186499
|
"src/smartart-3d/lit-mesh-object.ts"() {
|
|
186053
186500
|
init_smartart_3d_drawing_solid();
|
|
186054
186501
|
init_smartart_3d_ring();
|
|
186055
186502
|
init_smartart_3d_solid_geometry();
|
|
186503
|
+
init_smartart_3d_translucency();
|
|
186056
186504
|
init_smartart_3d_vertex_shading();
|
|
186057
186505
|
init_flat_mesh_object();
|
|
186058
186506
|
init_lit_text_object();
|
|
186507
|
+
LABEL_RENDER_ORDER = 3;
|
|
186059
186508
|
GRADIENT_TEXELS = 256;
|
|
186060
186509
|
}
|
|
186061
186510
|
});
|
|
@@ -186273,16 +186722,19 @@ async function mountSmartArt3DView(model, ctx) {
|
|
|
186273
186722
|
);
|
|
186274
186723
|
}
|
|
186275
186724
|
scene.add(root);
|
|
186276
|
-
|
|
186725
|
+
model.meshes.forEach((mesh, index) => {
|
|
186277
186726
|
const built = lit ? buildLitMeshObject(
|
|
186278
186727
|
three,
|
|
186279
186728
|
mesh,
|
|
186280
186729
|
resolveSmartArt3DLightModel(model.lighting, mesh.solid?.material, eye !== void 0),
|
|
186281
186730
|
eye
|
|
186282
186731
|
) : buildFlatMeshObject(three, mesh);
|
|
186732
|
+
if (lit && isSmartArt3DTranslucentMesh(mesh)) {
|
|
186733
|
+
built.group.renderOrder = index + 1;
|
|
186734
|
+
}
|
|
186283
186735
|
root.add(built.group);
|
|
186284
186736
|
disposables.push(...built.disposables);
|
|
186285
|
-
}
|
|
186737
|
+
});
|
|
186286
186738
|
const camera = buildSmartArtViewCamera(three, model.bounds, model.camera, ctx.size);
|
|
186287
186739
|
let overflow = frameSmartArtOverflow(three, root, camera, ctx.size, Boolean(model.camera));
|
|
186288
186740
|
return {
|
|
@@ -186307,6 +186759,7 @@ var init_view_scene = __esm2({
|
|
|
186307
186759
|
"src/smartart-3d/view-scene.ts"() {
|
|
186308
186760
|
init_smartart_3d_lighting();
|
|
186309
186761
|
init_smartart_3d_scene_camera();
|
|
186762
|
+
init_smartart_3d_translucency();
|
|
186310
186763
|
init_flat_mesh_object();
|
|
186311
186764
|
init_lit_mesh_object();
|
|
186312
186765
|
init_view_camera();
|
|
@@ -191499,7 +191952,7 @@ function pointInRing(p, ring) {
|
|
|
191499
191952
|
}
|
|
191500
191953
|
return inside;
|
|
191501
191954
|
}
|
|
191502
|
-
function contourRaster(values, w, h2,
|
|
191955
|
+
function contourRaster(values, w, h2, level2) {
|
|
191503
191956
|
const at = (x, y) => x < 0 || y < 0 || x >= w || y >= h2 ? 0 : values[y * w + x];
|
|
191504
191957
|
const stride = w + 2;
|
|
191505
191958
|
const hKey = (x, y) => ((y + 1) * stride + (x + 1)) * 2;
|
|
@@ -191509,7 +191962,7 @@ function contourRaster(values, w, h2, level) {
|
|
|
191509
191962
|
if (!points4.has(key2)) {
|
|
191510
191963
|
const a = at(x, y);
|
|
191511
191964
|
const b = horizontal ? at(x + 1, y) : at(x, y + 1);
|
|
191512
|
-
const t = b !== a ? (
|
|
191965
|
+
const t = b !== a ? (level2 - a) / (b - a) : 0.5;
|
|
191513
191966
|
points4.set(key2, horizontal ? { x: x + t, y } : { x, y: y + t });
|
|
191514
191967
|
}
|
|
191515
191968
|
return key2;
|
|
@@ -191533,15 +191986,15 @@ function contourRaster(values, w, h2, level) {
|
|
|
191533
191986
|
};
|
|
191534
191987
|
for (let y = -1; y < h2; y++) {
|
|
191535
191988
|
for (let x = -1; x < w; x++) {
|
|
191536
|
-
const tl = at(x, y) >=
|
|
191537
|
-
const tr = at(x + 1, y) >=
|
|
191538
|
-
const br = at(x + 1, y + 1) >=
|
|
191539
|
-
const bl = at(x, y + 1) >=
|
|
191989
|
+
const tl = at(x, y) >= level2 ? 1 : 0;
|
|
191990
|
+
const tr = at(x + 1, y) >= level2 ? 1 : 0;
|
|
191991
|
+
const br = at(x + 1, y + 1) >= level2 ? 1 : 0;
|
|
191992
|
+
const bl = at(x, y + 1) >= level2 ? 1 : 0;
|
|
191540
191993
|
const code = tl * 8 + tr * 4 + br * 2 + bl;
|
|
191541
191994
|
if (code === 0 || code === 15) {
|
|
191542
191995
|
continue;
|
|
191543
191996
|
}
|
|
191544
|
-
const centre = (at(x, y) + at(x + 1, y) + at(x + 1, y + 1) + at(x, y + 1)) / 4 >=
|
|
191997
|
+
const centre = (at(x, y) + at(x + 1, y) + at(x + 1, y + 1) + at(x, y + 1)) / 4 >= level2;
|
|
191545
191998
|
switch (code) {
|
|
191546
191999
|
case 1:
|
|
191547
192000
|
case 14:
|
|
@@ -199361,14 +199814,14 @@ function round2(value, precision) {
|
|
|
199361
199814
|
function svgDataUri(svg, filterId) {
|
|
199362
199815
|
return `url("data:image/svg+xml,${encodeURIComponent(svg)}#${filterId}")`;
|
|
199363
199816
|
}
|
|
199364
|
-
function pixelateFilterMarkup(
|
|
199365
|
-
const tile4 = round2(
|
|
199366
|
-
const dot2 = round2(
|
|
199817
|
+
function pixelateFilterMarkup(level2, filterId) {
|
|
199818
|
+
const tile4 = round2(level2, 4);
|
|
199819
|
+
const dot2 = round2(level2 * DOT_RATIO, 4);
|
|
199367
199820
|
return `<svg xmlns="http://www.w3.org/2000/svg"><filter id="${filterId}" primitiveUnits="objectBoundingBox" x="-0.5" y="-0.5" width="2" height="2" color-interpolation-filters="sRGB"><feFlood x="0" y="0" width="${dot2}" height="${dot2}" result="dot"/><feComposite in="dot" width="${tile4}" height="${tile4}" result="tile"/><feTile in="tile" result="grid"/><feComposite in="SourceGraphic" in2="grid" operator="in"/></filter></svg>`;
|
|
199368
199821
|
}
|
|
199369
|
-
var PIXELATE_FILTER_VALUES = PIXELATE_LEVELS.map((
|
|
199822
|
+
var PIXELATE_FILTER_VALUES = PIXELATE_LEVELS.map((level2, index) => {
|
|
199370
199823
|
const filterId = `pptx-pixelate-${index}`;
|
|
199371
|
-
return svgDataUri(pixelateFilterMarkup(
|
|
199824
|
+
return svgDataUri(pixelateFilterMarkup(level2, filterId), filterId);
|
|
199372
199825
|
});
|
|
199373
199826
|
function buildSteppedKeyframes(name, order, opacityFrom, opacityTo) {
|
|
199374
199827
|
const lastIndex = order.length - 1;
|
|
@@ -200677,7 +201130,7 @@ function revealedByLevel(nodes, progress) {
|
|
|
200677
201130
|
return nodes.length;
|
|
200678
201131
|
}
|
|
200679
201132
|
const allowed = new Set(uniqueLevels.slice(0, shownLevels));
|
|
200680
|
-
return levels.filter((
|
|
201133
|
+
return levels.filter((level2) => allowed.has(level2)).length;
|
|
200681
201134
|
}
|
|
200682
201135
|
function revealedByBranch(nodes, progress) {
|
|
200683
201136
|
const roots = nodeBranchRoots(nodes);
|
|
@@ -202453,8 +202906,8 @@ var DEFAULT_BUILD_LEVEL = 1;
|
|
|
202453
202906
|
function groupParagraphsByBuildLevel(levels, buildLevel = DEFAULT_BUILD_LEVEL) {
|
|
202454
202907
|
const groups = [];
|
|
202455
202908
|
for (let i2 = 0; i2 < levels.length; i2++) {
|
|
202456
|
-
const
|
|
202457
|
-
const opensGroup = groups.length === 0 ||
|
|
202909
|
+
const level2 = levels[i2] ?? 0;
|
|
202910
|
+
const opensGroup = groups.length === 0 || level2 < buildLevel;
|
|
202458
202911
|
if (opensGroup) {
|
|
202459
202912
|
groups.push([i2]);
|
|
202460
202913
|
} else {
|
|
@@ -215501,8 +215954,8 @@ function resolveParagraphBullet(firstSegment, baseFontSize = firstSegment?.style
|
|
|
215501
215954
|
return void 0;
|
|
215502
215955
|
}
|
|
215503
215956
|
var INDENT_PX_PER_LEVEL = 18;
|
|
215504
|
-
function bulletIndentPx(
|
|
215505
|
-
const lvl = typeof
|
|
215957
|
+
function bulletIndentPx(level2) {
|
|
215958
|
+
const lvl = typeof level2 === "number" && level2 > 0 ? level2 : 0;
|
|
215506
215959
|
return lvl * INDENT_PX_PER_LEVEL;
|
|
215507
215960
|
}
|
|
215508
215961
|
function resolveParagraphIndent(paraIndent, paragraphLevel) {
|
|
@@ -215700,15 +216153,15 @@ function setElementBullets(element, kind, range) {
|
|
|
215700
216153
|
}
|
|
215701
216154
|
const first = segments[0] ?? paragraph.terminator;
|
|
215702
216155
|
const info = first?.bulletInfo;
|
|
215703
|
-
const
|
|
216156
|
+
const level2 = first?.paragraphLevel ?? 0;
|
|
215704
216157
|
if (info?.autoNumType && paragraphBulletKind(segments) === "numbered") {
|
|
215705
216158
|
const startAt = info.autoNumStartAt ?? 1;
|
|
215706
|
-
const ordinal = nextAutoNumber(sequence,
|
|
216159
|
+
const ordinal = nextAutoNumber(sequence, level2, info.autoNumType, startAt) - startAt;
|
|
215707
216160
|
if (info.paragraphIndex !== ordinal) {
|
|
215708
216161
|
segments = toggleParagraphBullet(segments, "numbered", ordinal);
|
|
215709
216162
|
}
|
|
215710
216163
|
} else {
|
|
215711
|
-
breakAutoNumberRun(sequence,
|
|
216164
|
+
breakAutoNumberRun(sequence, level2);
|
|
215712
216165
|
}
|
|
215713
216166
|
next.push(...segments);
|
|
215714
216167
|
if (paragraph.terminator) {
|
|
@@ -219597,11 +220050,11 @@ function definedEntries(descriptor) {
|
|
|
219597
220050
|
([, value]) => value !== void 0
|
|
219598
220051
|
);
|
|
219599
220052
|
}
|
|
219600
|
-
function resolveNotesLevelStyle(notesStyle,
|
|
220053
|
+
function resolveNotesLevelStyle(notesStyle, level2 = 0) {
|
|
219601
220054
|
if (!notesStyle) {
|
|
219602
220055
|
return {};
|
|
219603
220056
|
}
|
|
219604
|
-
const own = notesStyle[
|
|
220057
|
+
const own = notesStyle[level2];
|
|
219605
220058
|
const fallback = notesStyle[-1];
|
|
219606
220059
|
const descriptor = {
|
|
219607
220060
|
fontFamily: own?.fontFamily ?? fallback?.fontFamily,
|
|
@@ -223426,12 +223879,12 @@ function renumberRemappedParagraphs(segments) {
|
|
|
223426
223879
|
return segment;
|
|
223427
223880
|
}
|
|
223428
223881
|
const info = segment.bulletInfo;
|
|
223429
|
-
const
|
|
223882
|
+
const level2 = segment.paragraphLevel ?? 0;
|
|
223430
223883
|
if (!info?.autoNumType || !resolveParagraphBullet(segment)?.isNumbered) {
|
|
223431
|
-
breakAutoNumberRun(sequence,
|
|
223884
|
+
breakAutoNumberRun(sequence, level2);
|
|
223432
223885
|
return segment;
|
|
223433
223886
|
}
|
|
223434
|
-
const ordinal = nextAutoNumber(sequence,
|
|
223887
|
+
const ordinal = nextAutoNumber(sequence, level2, info.autoNumType, info.autoNumStartAt ?? 1) - (info.autoNumStartAt ?? 1);
|
|
223435
223888
|
if (info.paragraphIndex === void 0 || info.paragraphIndex === ordinal) {
|
|
223436
223889
|
return segment;
|
|
223437
223890
|
}
|
|
@@ -230361,17 +230814,17 @@ function computeHierarchyLayout(nodes, box, palette, style, elementId) {
|
|
|
230361
230814
|
const renderedNodes = [];
|
|
230362
230815
|
const connectors2 = [];
|
|
230363
230816
|
let colourIdx = 0;
|
|
230364
|
-
function renderTreeNode(t, xOffset,
|
|
230817
|
+
function renderTreeNode(t, xOffset, level2) {
|
|
230365
230818
|
const w = treeWidth(t);
|
|
230366
230819
|
const nodeCx = (xOffset + w / 2) * cellW;
|
|
230367
|
-
const nodeCy =
|
|
230820
|
+
const nodeCy = level2 * cellH + cellH / 2;
|
|
230368
230821
|
const ci = colourIdx++;
|
|
230369
230822
|
const fontSize = fitFontSize(t.node.text, boxW * 0.9, boxH, 11);
|
|
230370
230823
|
let childOffset = xOffset;
|
|
230371
230824
|
for (const child27 of t.children) {
|
|
230372
230825
|
const childW = treeWidth(child27);
|
|
230373
230826
|
const childCx = (childOffset + childW / 2) * cellW;
|
|
230374
|
-
const childCy = (
|
|
230827
|
+
const childCy = (level2 + 1) * cellH + cellH / 2;
|
|
230375
230828
|
const midY = nodeCy + boxH / 2 + (childCy - boxH / 2 - (nodeCy + boxH / 2)) / 2;
|
|
230376
230829
|
connectors2.push({
|
|
230377
230830
|
key: `${elementId}-hier-conn-${t.node.id}-${child27.node.id}`,
|
|
@@ -230400,7 +230853,7 @@ function computeHierarchyLayout(nodes, box, palette, style, elementId) {
|
|
|
230400
230853
|
renderedNodes.push(nodeEntry);
|
|
230401
230854
|
let co = xOffset;
|
|
230402
230855
|
for (const child27 of t.children) {
|
|
230403
|
-
renderTreeNode(child27, co,
|
|
230856
|
+
renderTreeNode(child27, co, level2 + 1);
|
|
230404
230857
|
co += treeWidth(child27);
|
|
230405
230858
|
}
|
|
230406
230859
|
}
|
|
@@ -235749,8 +236202,8 @@ function paragraphGroupText(group2) {
|
|
|
235749
236202
|
}
|
|
235750
236203
|
function paragraphGroupLevel(group2) {
|
|
235751
236204
|
const first = group2.marker ?? group2.content[0];
|
|
235752
|
-
const
|
|
235753
|
-
return typeof
|
|
236205
|
+
const level2 = first?.paragraphLevel;
|
|
236206
|
+
return typeof level2 === "number" && level2 > 0 ? Math.min(level2, MAX_PARAGRAPH_LEVEL) : 0;
|
|
235754
236207
|
}
|
|
235755
236208
|
function readElementParagraphs(element) {
|
|
235756
236209
|
const groups = groupElementParagraphs(element);
|
|
@@ -235880,14 +236333,14 @@ function mapOutlineKey(input, rowKey) {
|
|
|
235880
236333
|
}
|
|
235881
236334
|
return none;
|
|
235882
236335
|
}
|
|
235883
|
-
function withLevel(segments,
|
|
236336
|
+
function withLevel(segments, level2) {
|
|
235884
236337
|
return segments.map((segment, index) => {
|
|
235885
236338
|
if (index > 0) {
|
|
235886
236339
|
return segment;
|
|
235887
236340
|
}
|
|
235888
236341
|
const next = { ...segment };
|
|
235889
|
-
if (
|
|
235890
|
-
next.paragraphLevel = Math.min(
|
|
236342
|
+
if (level2 > 0) {
|
|
236343
|
+
next.paragraphLevel = Math.min(level2, MAX_PARAGRAPH_LEVEL);
|
|
235891
236344
|
} else {
|
|
235892
236345
|
delete next.paragraphLevel;
|
|
235893
236346
|
}
|
|
@@ -236026,12 +236479,12 @@ function applyIndent(slides, row, delta) {
|
|
|
236026
236479
|
}
|
|
236027
236480
|
const result = editParagraphs(slides, row, (paragraphs2) => {
|
|
236028
236481
|
const current = paragraphs2[row.paragraphIndex];
|
|
236029
|
-
const
|
|
236030
|
-
if (
|
|
236482
|
+
const level2 = Math.min(Math.max(current.level + (delta > 0 ? 1 : -1), 0), MAX_PARAGRAPH_LEVEL);
|
|
236483
|
+
if (level2 === current.level) {
|
|
236031
236484
|
return null;
|
|
236032
236485
|
}
|
|
236033
236486
|
const next = [...paragraphs2];
|
|
236034
|
-
next[row.paragraphIndex] = { ...current, level };
|
|
236487
|
+
next[row.paragraphIndex] = { ...current, level: level2 };
|
|
236035
236488
|
return next;
|
|
236036
236489
|
});
|
|
236037
236490
|
return result ?? unchanged2([...slides], row);
|
|
@@ -236088,6 +236541,44 @@ function applyOutlineEdit(slides, edit, options = {}) {
|
|
|
236088
236541
|
return unchanged2([...slides], row);
|
|
236089
236542
|
}
|
|
236090
236543
|
}
|
|
236544
|
+
var NUDGE_SMALL = 1;
|
|
236545
|
+
var NUDGE_LARGE = 10;
|
|
236546
|
+
function editorNudgeDelta(key2, large) {
|
|
236547
|
+
const step = large ? NUDGE_LARGE : NUDGE_SMALL;
|
|
236548
|
+
switch (key2) {
|
|
236549
|
+
case "ArrowLeft":
|
|
236550
|
+
return { dx: -step, dy: 0 };
|
|
236551
|
+
case "ArrowRight":
|
|
236552
|
+
return { dx: step, dy: 0 };
|
|
236553
|
+
case "ArrowUp":
|
|
236554
|
+
return { dx: 0, dy: -step };
|
|
236555
|
+
case "ArrowDown":
|
|
236556
|
+
return { dx: 0, dy: step };
|
|
236557
|
+
default:
|
|
236558
|
+
return null;
|
|
236559
|
+
}
|
|
236560
|
+
}
|
|
236561
|
+
function editorSlideStep(key2, hasSelection, withModifier) {
|
|
236562
|
+
if (withModifier) {
|
|
236563
|
+
return null;
|
|
236564
|
+
}
|
|
236565
|
+
if (key2 === "PageUp") {
|
|
236566
|
+
return "prevSlide";
|
|
236567
|
+
}
|
|
236568
|
+
if (key2 === "PageDown") {
|
|
236569
|
+
return "nextSlide";
|
|
236570
|
+
}
|
|
236571
|
+
if (hasSelection) {
|
|
236572
|
+
return null;
|
|
236573
|
+
}
|
|
236574
|
+
if (key2 === "ArrowLeft" || key2 === "ArrowUp") {
|
|
236575
|
+
return "prevSlide";
|
|
236576
|
+
}
|
|
236577
|
+
if (key2 === "ArrowRight" || key2 === "ArrowDown") {
|
|
236578
|
+
return "nextSlide";
|
|
236579
|
+
}
|
|
236580
|
+
return null;
|
|
236581
|
+
}
|
|
236091
236582
|
function resolveChord(key2, shiftKey, hasSelection) {
|
|
236092
236583
|
switch (key2.toLowerCase()) {
|
|
236093
236584
|
case "z":
|
|
@@ -236229,8 +236720,6 @@ function isEditorControlTarget(target) {
|
|
|
236229
236720
|
}
|
|
236230
236721
|
return Boolean(element.closest(CONTROL_SELECTOR));
|
|
236231
236722
|
}
|
|
236232
|
-
var NUDGE_SMALL = 1;
|
|
236233
|
-
var NUDGE_LARGE = 10;
|
|
236234
236723
|
var GUARD_DEFAULTS = {
|
|
236235
236724
|
canEdit: true,
|
|
236236
236725
|
isPresenting: false,
|
|
@@ -236241,21 +236730,6 @@ var GUARD_DEFAULTS = {
|
|
|
236241
236730
|
isTextInputTarget: false,
|
|
236242
236731
|
isControlTarget: false
|
|
236243
236732
|
};
|
|
236244
|
-
function editorNudgeDelta(key2, large) {
|
|
236245
|
-
const step = large ? NUDGE_LARGE : NUDGE_SMALL;
|
|
236246
|
-
switch (key2) {
|
|
236247
|
-
case "ArrowLeft":
|
|
236248
|
-
return { dx: -step, dy: 0 };
|
|
236249
|
-
case "ArrowRight":
|
|
236250
|
-
return { dx: step, dy: 0 };
|
|
236251
|
-
case "ArrowUp":
|
|
236252
|
-
return { dx: 0, dy: -step };
|
|
236253
|
-
case "ArrowDown":
|
|
236254
|
-
return { dx: 0, dy: step };
|
|
236255
|
-
default:
|
|
236256
|
-
return null;
|
|
236257
|
-
}
|
|
236258
|
-
}
|
|
236259
236733
|
var NO_ACTION = { action: null };
|
|
236260
236734
|
function mapEditorKey(input, guard = {}) {
|
|
236261
236735
|
const state = { ...GUARD_DEFAULTS, ...guard };
|
|
@@ -236308,18 +236782,13 @@ function mapEditorKey(input, guard = {}) {
|
|
|
236308
236782
|
return chord2;
|
|
236309
236783
|
}
|
|
236310
236784
|
}
|
|
236785
|
+
const paging = editorSlideStep(key2, state.hasSelection, mod || alt);
|
|
236786
|
+
if (paging) {
|
|
236787
|
+
return { action: paging };
|
|
236788
|
+
}
|
|
236311
236789
|
if (state.hasSelection) {
|
|
236312
236790
|
const delta = editorNudgeDelta(key2, Boolean(input.shiftKey));
|
|
236313
|
-
|
|
236314
|
-
return { action: "nudge", dx: delta.dx, dy: delta.dy };
|
|
236315
|
-
}
|
|
236316
|
-
return NO_ACTION;
|
|
236317
|
-
}
|
|
236318
|
-
if (key2 === "ArrowLeft") {
|
|
236319
|
-
return { action: "prevSlide" };
|
|
236320
|
-
}
|
|
236321
|
-
if (key2 === "ArrowRight") {
|
|
236322
|
-
return { action: "nextSlide" };
|
|
236791
|
+
return delta ? { action: "nudge", dx: delta.dx, dy: delta.dy } : NO_ACTION;
|
|
236323
236792
|
}
|
|
236324
236793
|
return NO_ACTION;
|
|
236325
236794
|
}
|
|
@@ -242672,8 +243141,8 @@ var VIEWER_SHORTCUT_REFERENCE = [
|
|
|
242672
243141
|
{ actionKey: "pptx.ribbon.ungroup", shortcut: "Ctrl/Cmd+Shift+G" },
|
|
242673
243142
|
{ actionKey: "pptx.shortcuts.action.nudgeElement", shortcut: "Arrow keys" },
|
|
242674
243143
|
{ actionKey: "pptx.shortcuts.action.nudgeElementLarge", shortcut: "Shift+Arrow keys" },
|
|
242675
|
-
{ actionKey: "pptx.shortcuts.action.prevSlide", shortcut: "Left arrow" },
|
|
242676
|
-
{ actionKey: "pptx.shortcuts.action.nextSlide", shortcut: "Right arrow" },
|
|
243144
|
+
{ actionKey: "pptx.shortcuts.action.prevSlide", shortcut: "Left or Up arrow, Page Up" },
|
|
243145
|
+
{ actionKey: "pptx.shortcuts.action.nextSlide", shortcut: "Right or Down arrow, Page Down" },
|
|
242677
243146
|
{ actionKey: "pptx.shortcuts.action.zoomCanvas", shortcut: "Ctrl/Cmd+Mouse wheel" },
|
|
242678
243147
|
{ actionKey: "pptx.shortcuts.action.commitTextEdit", shortcut: "Ctrl/Cmd+Enter" },
|
|
242679
243148
|
{ actionKey: "pptx.shortcuts.action.cancelTextEdit", shortcut: "Escape" },
|