ooxml-core 1.14.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PptxHandler-3A7VEXVK.cjs +13 -0
- package/dist/PptxHandler-7POULDRL.mjs +4 -0
- package/dist/{PptxHandler-KNBFECUE.mjs → PptxHandler-M35YFCUC.mjs} +2 -2
- package/dist/PresentationBuilder-C7NPM7OQ.mjs +4 -0
- package/dist/{PresentationBuilder-II7C4A3R.cjs → PresentationBuilder-XVRTITYR.cjs} +6 -5
- package/dist/{PresentationBuilder-5DCCFHWJ.mjs → PresentationBuilder-Y6DJK6H2.mjs} +2 -2
- package/dist/automation/index.cjs +1198 -1095
- package/dist/automation/index.mjs +1198 -1095
- package/dist/chunk-5W2QL4SB.cjs +244 -0
- package/dist/{chunk-TQE7FFNT.cjs → chunk-AHRFBMLK.cjs} +4070 -2015
- package/dist/{chunk-2D4IFQ5M.mjs → chunk-B37EVUMG.mjs} +1 -1
- package/dist/{chunk-4WZLFUUA.mjs → chunk-C2Y6SZDN.mjs} +934 -200
- package/dist/chunk-CA7KCNL3.mjs +236 -0
- package/dist/{chunk-BSUIDT6K.cjs → chunk-DWRJ62KP.cjs} +1 -0
- package/dist/{chunk-TNNXOW2O.mjs → chunk-KOX5Y5E5.mjs} +1 -1
- package/dist/{chunk-54ASP65T.mjs → chunk-LM6VBPQJ.mjs} +416 -15
- package/dist/{chunk-PC4MTLG4.cjs → chunk-OA5V3JJC.cjs} +8 -8
- package/dist/{chunk-ORH32TO3.mjs → chunk-OKGQ2X7D.mjs} +3092 -1037
- package/dist/{chunk-X7MGZQ6C.cjs → chunk-UGWY72WC.cjs} +396 -254
- package/dist/{chunk-XGXIS4PN.mjs → chunk-WBCV52YV.mjs} +3077 -1027
- package/dist/{chunk-2EBMHIGJ.mjs → chunk-WEFFRYXN.mjs} +379 -242
- package/dist/{chunk-AXF2FC4D.mjs → chunk-WSRCLCMB.mjs} +1 -0
- package/dist/{chunk-LMMP67YN.mjs → chunk-XCJRUBGJ.mjs} +1 -1
- package/dist/geometry/index.cjs +259 -0
- package/dist/geometry/index.d.ts +1 -0
- package/dist/geometry/index.d.ts.map +1 -1
- package/dist/geometry/index.mjs +255 -1
- package/dist/geometry/shape-gallery-catalog.d.ts +32 -0
- package/dist/geometry/shape-gallery-catalog.d.ts.map +1 -0
- package/dist/index.cjs +371 -112
- package/dist/index.mjs +371 -112
- package/dist/pptx/automation/index.cjs +4523 -1957
- package/dist/pptx/automation/index.d.ts +4 -4
- package/dist/pptx/automation/index.mjs +5 -5
- package/dist/pptx/chunks/{elements-tK7xnWeS.d.ts → elements-iUzpAeqR.d.ts} +232 -2
- package/dist/pptx/chunks/elements-iUzpAeqR.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-DS9Y4Ne3.d.ts → index-BWHNCVNC.d.ts} +1673 -1534
- package/dist/pptx/chunks/index-BWHNCVNC.d.ts.map +1 -0
- package/dist/pptx/chunks/{index-BSpNQuvz.d.ts → index-CiyTR6mm.d.ts} +201 -5
- package/dist/pptx/chunks/index-CiyTR6mm.d.ts.map +1 -0
- package/dist/pptx/chunks/{text-operations-BdD_UQ11.d.ts → text-operations-CfLVZ7DK.d.ts} +81 -3
- package/dist/pptx/chunks/text-operations-CfLVZ7DK.d.ts.map +1 -0
- package/dist/pptx/cli/index.cjs +4465 -1899
- package/dist/pptx/cli/index.d.ts +1 -1
- package/dist/pptx/cli/index.mjs +4 -4
- package/dist/pptx/converter/index.cjs +52 -1
- package/dist/pptx/converter/index.d.ts +1 -1
- package/dist/pptx/converter/index.mjs +2 -2
- package/dist/pptx/editor/render/collaboration-live-patch-target.cjs +4 -4
- package/dist/pptx/editor/render/collaboration-live-patch-target.mjs +2 -2
- package/dist/pptx/editor/render/collaboration-reconcile.cjs +7 -7
- package/dist/pptx/editor/render/collaboration-reconcile.mjs +2 -2
- package/dist/pptx/editor/render/collaboration-sync.cjs +14 -14
- package/dist/pptx/editor/render/collaboration-sync.d.ts.map +1 -1
- package/dist/pptx/editor/render/collaboration-sync.mjs +1 -1
- package/dist/pptx/editor/render/find-replace.cjs +15 -14
- package/dist/pptx/editor/render/find-replace.d.ts +2 -2
- package/dist/pptx/editor/render/find-replace.mjs +2 -1
- package/dist/pptx/editor/render/slide-operations.cjs +9 -8
- package/dist/pptx/editor/render/slide-operations.mjs +3 -2
- package/dist/pptx/editor/render/slide-size-rescale.cjs +3 -3
- package/dist/pptx/editor/render/slide-size-rescale.d.ts +1 -1
- package/dist/pptx/editor/render/slide-size-rescale.d.ts.map +1 -1
- package/dist/pptx/editor/render/slide-size-rescale.mjs +3 -3
- package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
- package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
- package/dist/pptx/index.cjs +5656 -2290
- package/dist/pptx/index.d.ts +5 -5
- package/dist/pptx/index.mjs +5 -5
- package/dist/teams/ics.d.ts.map +1 -1
- package/dist/teams/index.cjs +631 -635
- package/dist/teams/index.d.ts +1 -0
- package/dist/teams/index.d.ts.map +1 -1
- package/dist/teams/index.mjs +616 -636
- package/dist/teams/meetings.d.ts +11 -1
- package/dist/teams/meetings.d.ts.map +1 -1
- package/dist/teams/recurrence-calendar.d.ts +41 -0
- package/dist/teams/recurrence-calendar.d.ts.map +1 -0
- package/dist/teams/recurrence.d.ts +1 -1
- package/dist/teams/recurrence.d.ts.map +1 -1
- package/dist/teams/server-session.d.ts +19 -0
- package/dist/teams/server-session.d.ts.map +1 -1
- package/dist/xlsx/edit/pivots.d.ts.map +1 -1
- package/dist/xlsx/index.cjs +1137 -1027
- package/dist/xlsx/index.mjs +1136 -1028
- package/dist/xlsx/load/index.cjs +593 -652
- package/dist/xlsx/load/index.mjs +593 -652
- package/dist/xlsx/model-pivots.d.ts +64 -4
- package/dist/xlsx/model-pivots.d.ts.map +1 -1
- package/dist/xlsx/pivot/aggregate.d.ts +6 -3
- package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
- package/dist/xlsx/pivot/axes.d.ts +5 -0
- package/dist/xlsx/pivot/axes.d.ts.map +1 -1
- package/dist/xlsx/pivot/captions-locales.d.ts +3 -0
- package/dist/xlsx/pivot/captions-locales.d.ts.map +1 -0
- package/dist/xlsx/pivot/captions-read.d.ts +14 -0
- package/dist/xlsx/pivot/captions-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/captions.d.ts +26 -0
- package/dist/xlsx/pivot/captions.d.ts.map +1 -0
- package/dist/xlsx/pivot/columns.d.ts +9 -3
- package/dist/xlsx/pivot/columns.d.ts.map +1 -1
- package/dist/xlsx/pivot/data.d.ts +3 -2
- package/dist/xlsx/pivot/data.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-axes.d.ts +1 -1
- package/dist/xlsx/pivot/date-axes.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -1
- package/dist/xlsx/pivot/date-groups.d.ts +8 -3
- package/dist/xlsx/pivot/date-groups.d.ts.map +1 -1
- package/dist/xlsx/pivot/index.d.ts +2 -1
- package/dist/xlsx/pivot/index.d.ts.map +1 -1
- package/dist/xlsx/pivot/item-labels.d.ts +12 -0
- package/dist/xlsx/pivot/item-labels.d.ts.map +1 -0
- package/dist/xlsx/pivot/item-names-read.d.ts +8 -0
- package/dist/xlsx/pivot/item-names-read.d.ts.map +1 -0
- package/dist/xlsx/pivot/measures.d.ts +2 -8
- package/dist/xlsx/pivot/measures.d.ts.map +1 -1
- package/dist/xlsx/pivot/nested.d.ts +4 -2
- package/dist/xlsx/pivot/nested.d.ts.map +1 -1
- package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
- package/dist/xlsx/pivot/page-filter.d.ts +1 -1
- package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
- package/dist/xlsx/pivot/read.d.ts.map +1 -1
- package/dist/xlsx/pivot/subtotals.d.ts +6 -1
- package/dist/xlsx/pivot/subtotals.d.ts.map +1 -1
- package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
- package/dist/xlsx/pivot/values-axis.d.ts +7 -4
- package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/navigation.d.ts.map +1 -1
- package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
- package/dist/xlsx/ui/index.cjs +1002 -1136
- package/dist/xlsx/ui/index.mjs +1002 -1136
- package/package.json +1 -1
- package/dist/PptxHandler-5YP75BPO.cjs +0 -12
- package/dist/PptxHandler-GT5Q66TG.mjs +0 -3
- package/dist/PresentationBuilder-CVM6LJ7L.mjs +0 -3
- package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +0 -1
- package/dist/pptx/chunks/index-BSpNQuvz.d.ts.map +0 -1
- package/dist/pptx/chunks/index-DS9Y4Ne3.d.ts.map +0 -1
- package/dist/pptx/chunks/text-operations-BdD_UQ11.d.ts.map +0 -1
- package/dist/xlsx/pivot/hierarchy-first.d.ts +0 -21
- package/dist/xlsx/pivot/hierarchy-first.d.ts.map +0 -1
- package/dist/xlsx/pivot/hierarchy.d.ts +0 -8
- package/dist/xlsx/pivot/hierarchy.d.ts.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -128,9 +128,9 @@ function rgbToHsl(r, g2, b) {
|
|
|
128
128
|
const cMin = Math.min(rN, gN, bN);
|
|
129
129
|
const delta = cMax - cMin;
|
|
130
130
|
const l = (cMax + cMin) / 2;
|
|
131
|
-
let
|
|
131
|
+
let s2 = 0;
|
|
132
132
|
if (delta !== 0) {
|
|
133
|
-
|
|
133
|
+
s2 = delta / (1 - Math.abs(2 * l - 1));
|
|
134
134
|
}
|
|
135
135
|
let h2 = 0;
|
|
136
136
|
if (delta !== 0) {
|
|
@@ -145,10 +145,10 @@ function rgbToHsl(r, g2, b) {
|
|
|
145
145
|
if (h2 < 0) {
|
|
146
146
|
h2 += 360;
|
|
147
147
|
}
|
|
148
|
-
return { h: h2, s: clampUnitInterval(
|
|
148
|
+
return { h: h2, s: clampUnitInterval(s2), l: clampUnitInterval(l) };
|
|
149
149
|
}
|
|
150
|
-
function hslToRgb(h2,
|
|
151
|
-
const sC = options?.clampSaturation === false ?
|
|
150
|
+
function hslToRgb(h2, s2, l, roundChannel = Math.round, options) {
|
|
151
|
+
const sC = options?.clampSaturation === false ? s2 : clampUnitInterval(s2);
|
|
152
152
|
const lC = clampUnitInterval(l);
|
|
153
153
|
const hN = (h2 % 360 + 360) % 360;
|
|
154
154
|
const c2 = (1 - Math.abs(2 * lC - 1)) * sC;
|
|
@@ -588,9 +588,9 @@ function normalizePaletteHex(value) {
|
|
|
588
588
|
function applyThemePaletteVariant(hex, variant) {
|
|
589
589
|
const rgb = hexToRgbChannels(hex);
|
|
590
590
|
if (!rgb) return hex;
|
|
591
|
-
const { h: h2, s, l } = rgbToHsl(rgb.r, rgb.g, rgb.b);
|
|
591
|
+
const { h: h2, s: s2, l } = rgbToHsl(rgb.r, rgb.g, rgb.b);
|
|
592
592
|
const { lumMod, lumOff } = themePaletteVariantLuminance(variant);
|
|
593
|
-
const next = hslToRgb(h2,
|
|
593
|
+
const next = hslToRgb(h2, s2, l * lumMod + (lumOff ?? 0), (value) => Math.floor(value + 1e-6));
|
|
594
594
|
return `#${toHex(next.r)}${toHex(next.g)}${toHex(next.b)}`.toLowerCase();
|
|
595
595
|
}
|
|
596
596
|
function describeThemePaletteSwatch(name, variant) {
|
|
@@ -773,9 +773,9 @@ function computeLinearRegression(xVals, yVals) {
|
|
|
773
773
|
}
|
|
774
774
|
const slope = (n2 * sumXY - sumX * sumY) / denom;
|
|
775
775
|
const intercept = (sumY - slope * sumX) / n2;
|
|
776
|
-
const ssRes = yVals.reduce((
|
|
776
|
+
const ssRes = yVals.reduce((s2, y, i2) => s2 + (y - (slope * xVals[i2] + intercept)) ** 2, 0);
|
|
777
777
|
const meanY = sumY / n2;
|
|
778
|
-
const ssTot = yVals.reduce((
|
|
778
|
+
const ssTot = yVals.reduce((s2, y) => s2 + (y - meanY) ** 2, 0);
|
|
779
779
|
const rSquared = ssTot > 0 ? 1 - ssRes / ssTot : 0;
|
|
780
780
|
return { slope, intercept, rSquared };
|
|
781
781
|
}
|
|
@@ -829,7 +829,7 @@ function computeRSquared(xVals, yVals, evalFn) {
|
|
|
829
829
|
if (n2 === 0) {
|
|
830
830
|
return 0;
|
|
831
831
|
}
|
|
832
|
-
const meanY = yVals.reduce((
|
|
832
|
+
const meanY = yVals.reduce((s2, y) => s2 + y, 0) / n2;
|
|
833
833
|
let ssRes = 0;
|
|
834
834
|
let ssTot = 0;
|
|
835
835
|
for (let i2 = 0; i2 < n2; i2++) {
|
|
@@ -1471,24 +1471,24 @@ function propagateColor(node, colorIndex) {
|
|
|
1471
1471
|
for (const child3 of node.children ?? []) propagateColor(child3, colorIndex);
|
|
1472
1472
|
}
|
|
1473
1473
|
function buildHierarchyRoots(series, categoryLabels, categoryLevels2) {
|
|
1474
|
-
const colorStride = Math.max(categoryLabels.length, ...series.map((
|
|
1474
|
+
const colorStride = Math.max(categoryLabels.length, ...series.map((s2) => s2.values.length), 1);
|
|
1475
1475
|
let roots2 = series.flatMap(
|
|
1476
|
-
(
|
|
1476
|
+
(s2, index) => buildSeriesHierarchy(s2, index, categoryLabels, categoryLevels2, colorStride)
|
|
1477
1477
|
);
|
|
1478
1478
|
if (series.length > 1)
|
|
1479
|
-
roots2 = series.map((
|
|
1480
|
-
label:
|
|
1479
|
+
roots2 = series.map((s2, index) => ({
|
|
1480
|
+
label: s2.name,
|
|
1481
1481
|
weight: 0,
|
|
1482
|
-
children: buildSeriesHierarchy(
|
|
1482
|
+
children: buildSeriesHierarchy(s2, index, categoryLabels, categoryLevels2, colorStride),
|
|
1483
1483
|
colorIndex: index * colorStride,
|
|
1484
|
-
parentLabelLayout:
|
|
1484
|
+
parentLabelLayout: s2.parentLabelLayout ?? "banner"
|
|
1485
1485
|
}));
|
|
1486
1486
|
for (const root of roots2) aggregate(root);
|
|
1487
1487
|
roots2.forEach((root, index) => propagateColor(root, index));
|
|
1488
1488
|
return roots2;
|
|
1489
1489
|
}
|
|
1490
1490
|
function hierarchyBranchLabels(series, categoryLabels, categoryLevels2) {
|
|
1491
|
-
if (series.length > 1) return series.map((
|
|
1491
|
+
if (series.length > 1) return series.map((s2) => s2.name);
|
|
1492
1492
|
if (categoryLevels2 && categoryLevels2.length > 1) {
|
|
1493
1493
|
const pointCount = series[0]?.values.length ?? categoryLabels.length;
|
|
1494
1494
|
const topLevel = normalizeLevels(categoryLevels2, pointCount).at(-1) ?? [];
|
|
@@ -1564,8 +1564,8 @@ function computeSunburstArcs(series, cx2, cy, maxR) {
|
|
|
1564
1564
|
const seriesCount = Math.max(series.length, 1);
|
|
1565
1565
|
const ringWidth = maxR / (seriesCount + 0.5);
|
|
1566
1566
|
const out = [];
|
|
1567
|
-
series.forEach((
|
|
1568
|
-
const values =
|
|
1567
|
+
series.forEach((s2, si) => {
|
|
1568
|
+
const values = s2.values;
|
|
1569
1569
|
const innerRadius = ringWidth * (si + 0.5);
|
|
1570
1570
|
const outerRadius = ringWidth * (si + 1.5);
|
|
1571
1571
|
const total = values.reduce((acc, value) => acc + Math.abs(value), 0) || 1;
|
|
@@ -1880,7 +1880,7 @@ function fitModel(options, xVals, yVals) {
|
|
|
1880
1880
|
case "linear": {
|
|
1881
1881
|
const reg = computeLinearRegression(xs, ys);
|
|
1882
1882
|
const fixed = options.intercept;
|
|
1883
|
-
const slope = fixed !== void 0 ? ys.reduce((
|
|
1883
|
+
const slope = fixed !== void 0 ? ys.reduce((s2, y, i2) => s2 + (y - fixed) * xs[i2], 0) / xs.reduce((s2, x) => s2 + x * x, 0) : reg.slope;
|
|
1884
1884
|
const b = fixed ?? reg.intercept;
|
|
1885
1885
|
return {
|
|
1886
1886
|
evaluate: (x) => slope * x + b,
|
|
@@ -1931,7 +1931,7 @@ function fitModel(options, xVals, yVals) {
|
|
|
1931
1931
|
case "polynomial": {
|
|
1932
1932
|
const order = Math.min(options.order ?? 2, 6);
|
|
1933
1933
|
const coeffs = fitPolynomial(xs, ys, order);
|
|
1934
|
-
const evaluate = (x) => coeffs.reduce((
|
|
1934
|
+
const evaluate = (x) => coeffs.reduce((s2, c2, i2) => s2 + c2 * x ** i2, 0);
|
|
1935
1935
|
return {
|
|
1936
1936
|
evaluate,
|
|
1937
1937
|
equation: formatPolynomialEquation(coeffs),
|
|
@@ -2605,9 +2605,9 @@ function baseHex(color, theme) {
|
|
|
2605
2605
|
return `#${toHex(scrgbLinearToSrgb8(r))}${toHex(scrgbLinearToSrgb8(g2))}${toHex(scrgbLinearToSrgb8(b))}`;
|
|
2606
2606
|
}
|
|
2607
2607
|
case "hsl": {
|
|
2608
|
-
const [h2,
|
|
2608
|
+
const [h2, s2, l] = color.value.split(",");
|
|
2609
2609
|
const hue = parseDrawingHueDegrees(h2);
|
|
2610
|
-
const sat = parseDrawingFraction(
|
|
2610
|
+
const sat = parseDrawingFraction(s2);
|
|
2611
2611
|
const lum = parseDrawingFraction(l);
|
|
2612
2612
|
if (hue === void 0 || sat === void 0 || lum === void 0) return void 0;
|
|
2613
2613
|
const { r, g: g2, b } = hslToRgb(hue, sat, lum);
|
|
@@ -5614,7 +5614,7 @@ function chartExSummary(source) {
|
|
|
5614
5614
|
const chart = cx(root, "chart");
|
|
5615
5615
|
const region = cx(cx(chart, "plotArea"), "plotAreaRegion");
|
|
5616
5616
|
const all = region ? children(region, "series", NS.cx) : [];
|
|
5617
|
-
const primary = all.find((
|
|
5617
|
+
const primary = all.find((s2) => s2.getAttribute("layoutId") !== "paretoLine") ?? all[0];
|
|
5618
5618
|
const layoutId = primary?.getAttribute("layoutId") ?? "";
|
|
5619
5619
|
const chartType = layoutId === "waterfall" ? "waterfall" : layoutId === "clusteredColumn" ? "histogram" : layoutId === "treemap" || layoutId === "sunburst" ? layoutId : void 0;
|
|
5620
5620
|
if (!primary || !chartType) return { layoutId };
|
|
@@ -5878,7 +5878,7 @@ function bars(model, frame2, out, values) {
|
|
|
5878
5878
|
const base = frame2.value(0);
|
|
5879
5879
|
const pos = new Array(model.categories.length).fill(0);
|
|
5880
5880
|
const neg = new Array(model.categories.length).fill(0);
|
|
5881
|
-
model.series.forEach((
|
|
5881
|
+
model.series.forEach((s2, si) => {
|
|
5882
5882
|
values[si]?.forEach((v, i2) => {
|
|
5883
5883
|
if (v === null || i2 >= model.categories.length) return;
|
|
5884
5884
|
let from = 0;
|
|
@@ -5895,8 +5895,8 @@ function bars(model, frame2, out, values) {
|
|
|
5895
5895
|
const center = frame2.band(i2);
|
|
5896
5896
|
const width = model.horizontal ? Math.abs(b - a2) : barSize;
|
|
5897
5897
|
const height = model.horizontal ? barSize : Math.abs(b - a2);
|
|
5898
|
-
let color =
|
|
5899
|
-
const gradient =
|
|
5898
|
+
let color = s2.pointColors?.[i2] ?? s2.color;
|
|
5899
|
+
const gradient = s2.pointGradients?.[i2] ?? (s2.pointColors?.[i2] === void 0 ? s2.gradient : void 0);
|
|
5900
5900
|
if (gradient && (gradient.path === "circle" || gradient.path === "shape")) {
|
|
5901
5901
|
const baseId = color.match(/^url\(#(.+)\)$/)?.[1];
|
|
5902
5902
|
if (baseId) {
|
|
@@ -5913,11 +5913,11 @@ function bars(model, frame2, out, values) {
|
|
|
5913
5913
|
out.push(`<g data-chart-series="${si}" data-chart-point="${i2}">`);
|
|
5914
5914
|
if (model.horizontal)
|
|
5915
5915
|
out.push(
|
|
5916
|
-
rect(Math.min(a2, b), center + offset, Math.abs(b - a2), barSize, color,
|
|
5916
|
+
rect(Math.min(a2, b), center + offset, Math.abs(b - a2), barSize, color, s2.shadowFilter)
|
|
5917
5917
|
);
|
|
5918
5918
|
else
|
|
5919
5919
|
out.push(
|
|
5920
|
-
rect(center + offset, Math.min(a2, b), barSize, Math.abs(b - a2), color,
|
|
5920
|
+
rect(center + offset, Math.min(a2, b), barSize, Math.abs(b - a2), color, s2.shadowFilter)
|
|
5921
5921
|
);
|
|
5922
5922
|
out.push("</g>");
|
|
5923
5923
|
});
|
|
@@ -6118,9 +6118,9 @@ function resolveDrawingShadow(effects, theme) {
|
|
|
6118
6118
|
function resolveDrawingShadowXml(xml, theme) {
|
|
6119
6119
|
return xml ? resolveDrawingShadow(parseXml(xml).documentElement, theme) : void 0;
|
|
6120
6120
|
}
|
|
6121
|
-
function svgDropShadowElement(
|
|
6121
|
+
function svgDropShadowElement(s2, format) {
|
|
6122
6122
|
const num2 = format.number;
|
|
6123
|
-
return `<feDropShadow dx="${num2(
|
|
6123
|
+
return `<feDropShadow dx="${num2(s2.dx)}" dy="${num2(s2.dy)}" stdDeviation="${num2(s2.blur / 2)}" flood-color="${format.color(s2.color, "#000000")}" flood-opacity="${num2(s2.opacity)}" result="shadow"/>`;
|
|
6124
6124
|
}
|
|
6125
6125
|
|
|
6126
6126
|
// chart/render/theme-palette.ts
|
|
@@ -6337,25 +6337,25 @@ function seriesContext(chart, theme, options) {
|
|
|
6337
6337
|
) : void 0
|
|
6338
6338
|
};
|
|
6339
6339
|
}
|
|
6340
|
-
function seriesView(ctx,
|
|
6340
|
+
function seriesView(ctx, s2, index, total, categoriesOf) {
|
|
6341
6341
|
const { theme, scheme, palette, evaluateRef } = ctx;
|
|
6342
|
-
const values = resolveRef(
|
|
6343
|
-
categoriesOf(resolveRef(
|
|
6342
|
+
const values = resolveRef(s2.valuesRef, evaluateRef)?.map(toNumber) ?? s2.values.map(toNumber);
|
|
6343
|
+
categoriesOf(resolveRef(s2.categoriesRef, evaluateRef) ?? s2.categories);
|
|
6344
6344
|
const paletteColor = palette && chartPaletteSeriesColor(palette, index, total, scheme);
|
|
6345
|
-
const color =
|
|
6346
|
-
const view = { name: seriesName(
|
|
6347
|
-
const shadow = resolveDrawingShadowXml(
|
|
6345
|
+
const color = s2.fill?.kind === "none" ? "none" : ctx.drawingColor(s2.fill?.kind === "solid" ? s2.fill.color : s2.drawingColor) ?? ctx.seriesColor?.(s2, index) ?? paletteColor ?? autoSeriesColor(theme, index);
|
|
6346
|
+
const view = { name: seriesName(s2, index, evaluateRef), values, color };
|
|
6347
|
+
const shadow = resolveDrawingShadowXml(s2.effectsXml, { scheme: (name) => scheme[name] });
|
|
6348
6348
|
if (shadow) view.shadow = shadow;
|
|
6349
|
-
const resolvedGradient = ctx.gradient(
|
|
6349
|
+
const resolvedGradient = ctx.gradient(s2.fill);
|
|
6350
6350
|
if (resolvedGradient) view.gradient = resolvedGradient;
|
|
6351
6351
|
const points = Object.fromEntries(
|
|
6352
|
-
Object.entries(
|
|
6352
|
+
Object.entries(s2.pointFills ?? {}).flatMap(([key, fill]) => {
|
|
6353
6353
|
const value = ctx.gradient(fill);
|
|
6354
6354
|
return value ? [[key, value]] : [];
|
|
6355
6355
|
})
|
|
6356
6356
|
);
|
|
6357
6357
|
if (Object.keys(points).length) view.pointGradients = points;
|
|
6358
|
-
Object.assign(view, analysisView(
|
|
6358
|
+
Object.assign(view, analysisView(s2, color, ctx.drawingColor));
|
|
6359
6359
|
return view;
|
|
6360
6360
|
}
|
|
6361
6361
|
|
|
@@ -6403,7 +6403,7 @@ function hierarchyView(chart, model, evaluateRef) {
|
|
|
6403
6403
|
parentLabelLayout: chart.hierarchy?.parentLabelLayout ?? "banner",
|
|
6404
6404
|
labels: chart.hierarchy?.dataLabels !== false,
|
|
6405
6405
|
branches: hierarchyBranchLabels(
|
|
6406
|
-
model.series.map((
|
|
6406
|
+
model.series.map((s2) => ({ name: s2.name, values: s2.values.map((v) => v ?? 0) })),
|
|
6407
6407
|
model.categories,
|
|
6408
6408
|
levels.length > 1 ? levels : void 0
|
|
6409
6409
|
)
|
|
@@ -6449,8 +6449,8 @@ function valueExtent(type, grouping, series, categories) {
|
|
|
6449
6449
|
for (let i2 = 0; i2 < categories; i2++) {
|
|
6450
6450
|
let pos = 0;
|
|
6451
6451
|
let neg = 0;
|
|
6452
|
-
for (const
|
|
6453
|
-
const v =
|
|
6452
|
+
for (const s2 of series) {
|
|
6453
|
+
const v = s2.values[i2] ?? 0;
|
|
6454
6454
|
if (v >= 0) pos += v;
|
|
6455
6455
|
else neg += v;
|
|
6456
6456
|
}
|
|
@@ -6458,8 +6458,8 @@ function valueExtent(type, grouping, series, categories) {
|
|
|
6458
6458
|
max = Math.max(max, pos);
|
|
6459
6459
|
}
|
|
6460
6460
|
} else {
|
|
6461
|
-
for (const
|
|
6462
|
-
for (const v of
|
|
6461
|
+
for (const s2 of series)
|
|
6462
|
+
for (const v of s2.values)
|
|
6463
6463
|
if (v !== null) {
|
|
6464
6464
|
min = Math.min(min, v);
|
|
6465
6465
|
max = Math.max(max, v);
|
|
@@ -6480,7 +6480,7 @@ function valueAxis(model) {
|
|
|
6480
6480
|
}
|
|
6481
6481
|
function categoryTotals(model) {
|
|
6482
6482
|
return model.categories.map(
|
|
6483
|
-
(_, i2) => model.series.reduce((sum,
|
|
6483
|
+
(_, i2) => model.series.reduce((sum, s2) => sum + Math.abs(s2.values[i2] ?? 0), 0)
|
|
6484
6484
|
);
|
|
6485
6485
|
}
|
|
6486
6486
|
|
|
@@ -6543,7 +6543,7 @@ function chartExtraView(chart, model, ctx, total, categoriesOf) {
|
|
|
6543
6543
|
let index = chart.series.length;
|
|
6544
6544
|
const groups = [];
|
|
6545
6545
|
for (const group2 of chart.extraGroups ?? []) {
|
|
6546
|
-
const series = group2.series.map((
|
|
6546
|
+
const series = group2.series.map((s2) => seriesView(ctx, s2, index++, total, categoriesOf));
|
|
6547
6547
|
const view = {
|
|
6548
6548
|
type: group2.chartType,
|
|
6549
6549
|
grouping: group2.grouping ?? (group2.chartType === "column" ? "clustered" : "standard"),
|
|
@@ -6636,11 +6636,11 @@ function chartSummaryView(chart, theme, options = {}) {
|
|
|
6636
6636
|
const collect = (cats) => void rawCategories.push(cats);
|
|
6637
6637
|
const extra = chart.extraGroups ?? [];
|
|
6638
6638
|
const total = chart.series.length + extra.reduce((n2, g2) => n2 + g2.series.length, 0);
|
|
6639
|
-
const series = chart.series.map((
|
|
6639
|
+
const series = chart.series.map((s2, i2) => seriesView(ctx, s2, i2, total, collect));
|
|
6640
6640
|
const longest = Math.max(
|
|
6641
6641
|
0,
|
|
6642
|
-
...series.map((
|
|
6643
|
-
...extra.flatMap((g2) => g2.series.map((
|
|
6642
|
+
...series.map((s2) => s2.values.length),
|
|
6643
|
+
...extra.flatMap((g2) => g2.series.map((s2) => s2.values.length))
|
|
6644
6644
|
);
|
|
6645
6645
|
const firstCats = rawCategories.find((c2) => c2.length > 0) ?? [];
|
|
6646
6646
|
const categories = Array.from(
|
|
@@ -6648,28 +6648,28 @@ function chartSummaryView(chart, theme, options = {}) {
|
|
|
6648
6648
|
(_, i2) => firstCats[i2] !== void 0 ? toText(firstCats[i2] ?? null) : String(i2 + 1)
|
|
6649
6649
|
);
|
|
6650
6650
|
if (byPoint) {
|
|
6651
|
-
series.forEach((
|
|
6652
|
-
|
|
6651
|
+
series.forEach((s2, seriesIndex) => {
|
|
6652
|
+
s2.pointColors = s2.values.map((_, i2) => {
|
|
6653
6653
|
const explicit = drawingColor(chart.series[seriesIndex]?.pointColors?.[i2]);
|
|
6654
|
-
return explicit ?? (palette ? chartPaletteSeriesColor(palette, i2,
|
|
6654
|
+
return explicit ?? (palette ? chartPaletteSeriesColor(palette, i2, s2.values.length, scheme) : autoSeriesColor(theme, i2));
|
|
6655
6655
|
});
|
|
6656
6656
|
});
|
|
6657
6657
|
} else
|
|
6658
|
-
series.forEach((
|
|
6658
|
+
series.forEach((s2, seriesIndex) => {
|
|
6659
6659
|
const points = chart.series[seriesIndex]?.pointColors;
|
|
6660
|
-
if (points)
|
|
6660
|
+
if (points) s2.pointColors = s2.values.map((_, i2) => drawingColor(points[i2]) ?? s2.color);
|
|
6661
6661
|
});
|
|
6662
|
-
series.forEach((
|
|
6662
|
+
series.forEach((s2, index) => {
|
|
6663
6663
|
const source = chart.series[index];
|
|
6664
|
-
if (
|
|
6665
|
-
for (let i2 = 0; i2 <
|
|
6666
|
-
if (!source.pointColors?.[i2]) delete
|
|
6664
|
+
if (s2.gradient && !radial && s2.pointColors) {
|
|
6665
|
+
for (let i2 = 0; i2 < s2.pointColors.length; i2++)
|
|
6666
|
+
if (!source.pointColors?.[i2]) delete s2.pointColors[i2];
|
|
6667
6667
|
}
|
|
6668
6668
|
for (const [key, fill] of Object.entries(source.pointFills ?? {})) {
|
|
6669
|
-
if (fill.kind === "none") (
|
|
6669
|
+
if (fill.kind === "none") (s2.pointColors ??= [])[Number(key)] = "none";
|
|
6670
6670
|
else if (fill.kind === "solid") {
|
|
6671
6671
|
const paint2 = drawingColor(fill.color);
|
|
6672
|
-
if (paint2) (
|
|
6672
|
+
if (paint2) (s2.pointColors ??= [])[Number(key)] = paint2;
|
|
6673
6673
|
}
|
|
6674
6674
|
}
|
|
6675
6675
|
});
|
|
@@ -6697,12 +6697,12 @@ function chartSummaryView(chart, theme, options = {}) {
|
|
|
6697
6697
|
const appearance = chartAppearance(chart, theme);
|
|
6698
6698
|
if (appearance) model.appearance = appearance;
|
|
6699
6699
|
if (type === "scatter" || type === "bubble") {
|
|
6700
|
-
series.forEach((
|
|
6700
|
+
series.forEach((s2, i2) => {
|
|
6701
6701
|
const cats = rawCategories[i2] ?? [];
|
|
6702
6702
|
const numeric = cats.length > 0 && cats.every((c2) => typeof c2 === "number");
|
|
6703
|
-
|
|
6703
|
+
s2.xValues = s2.values.map((_, k) => numeric ? toNumber(cats[k] ?? null) : k + 1);
|
|
6704
6704
|
});
|
|
6705
|
-
const xs = series.flatMap((
|
|
6705
|
+
const xs = series.flatMap((s2) => s2.xValues ?? []).filter((x) => x !== null);
|
|
6706
6706
|
model.xAxis = xs.length ? niceScale(Math.min(...xs), Math.max(...xs)) : niceScale(0, 1);
|
|
6707
6707
|
}
|
|
6708
6708
|
if (type === "stock") model.stock = stockView(chart.stock, ctx);
|
|
@@ -6929,10 +6929,10 @@ function cartesianAxes(model, area, out) {
|
|
|
6929
6929
|
return frame2;
|
|
6930
6930
|
}
|
|
6931
6931
|
function plotted(model) {
|
|
6932
|
-
if (model.grouping !== "percentStacked") return model.series.map((
|
|
6932
|
+
if (model.grouping !== "percentStacked") return model.series.map((s2) => s2.values);
|
|
6933
6933
|
const totals = categoryTotals(model);
|
|
6934
6934
|
return model.series.map(
|
|
6935
|
-
(
|
|
6935
|
+
(s2) => s2.values.map((v, i2) => v === null ? null : v / (totals[i2] || 1))
|
|
6936
6936
|
);
|
|
6937
6937
|
}
|
|
6938
6938
|
function linesAndAreas(model, frame2, out) {
|
|
@@ -6941,7 +6941,7 @@ function linesAndAreas(model, frame2, out) {
|
|
|
6941
6941
|
const acc = new Array(model.categories.length).fill(0);
|
|
6942
6942
|
const area = model.type === "area";
|
|
6943
6943
|
const layers2 = [];
|
|
6944
|
-
model.series.forEach((
|
|
6944
|
+
model.series.forEach((s2, si) => {
|
|
6945
6945
|
const points = [];
|
|
6946
6946
|
const lower = [];
|
|
6947
6947
|
model.categories.forEach((_, i2) => {
|
|
@@ -6959,8 +6959,8 @@ function linesAndAreas(model, frame2, out) {
|
|
|
6959
6959
|
layers2.push({
|
|
6960
6960
|
points,
|
|
6961
6961
|
lower,
|
|
6962
|
-
color:
|
|
6963
|
-
filter:
|
|
6962
|
+
color: s2.color,
|
|
6963
|
+
filter: s2.shadowFilter ? ` filter="${s2.shadowFilter}"` : ""
|
|
6964
6964
|
});
|
|
6965
6965
|
});
|
|
6966
6966
|
for (const { points, lower, color, filter } of area ? [...layers2].reverse() : layers2) {
|
|
@@ -7012,19 +7012,19 @@ function scatter(model, area, out) {
|
|
|
7012
7012
|
};
|
|
7013
7013
|
const bubble = model.type === "bubble" ? model.bubble : void 0;
|
|
7014
7014
|
const biggest = maxBubbleSize(
|
|
7015
|
-
model.series.flatMap((
|
|
7015
|
+
model.series.flatMap((s2) => (s2.sizes ?? []).filter((v) => v !== null))
|
|
7016
7016
|
);
|
|
7017
7017
|
const median2 = medianBubbleRadius(plot.w, plot.h);
|
|
7018
7018
|
const radiusOf = (size) => bubble && !(size !== void 0 && size < 0 && !bubble.showNegativeBubbles) ? computeBubbleRadius(size, biggest, median2, bubble) : void 0;
|
|
7019
7019
|
let reach = 0;
|
|
7020
7020
|
if (bubble)
|
|
7021
|
-
for (const
|
|
7022
|
-
|
|
7023
|
-
reach = Math.max(reach, radiusOf(
|
|
7021
|
+
for (const s2 of model.series)
|
|
7022
|
+
s2.values.forEach((_, i2) => {
|
|
7023
|
+
reach = Math.max(reach, radiusOf(s2.sizes?.[i2] ?? void 0) ?? 0);
|
|
7024
7024
|
});
|
|
7025
|
-
const widen = (
|
|
7026
|
-
const pad2 = reach * (
|
|
7027
|
-
return { ...
|
|
7025
|
+
const widen = (s2, length) => {
|
|
7026
|
+
const pad2 = reach * (s2.max - s2.min || 1) / Math.max(1, length - 2 * reach);
|
|
7027
|
+
return { ...s2, min: s2.min - pad2, max: s2.max + pad2 };
|
|
7028
7028
|
};
|
|
7029
7029
|
const xView = widen(xs, plot.w);
|
|
7030
7030
|
const yView = widen(ys, plot.h);
|
|
@@ -7055,17 +7055,17 @@ function scatter(model, area, out) {
|
|
|
7055
7055
|
line(plot.x, plot.y + plot.h, plot.x + plot.w, plot.y + plot.h, xAxis.color, xAxis.width)
|
|
7056
7056
|
);
|
|
7057
7057
|
out.push(line(plot.x, plot.y, plot.x, plot.y + plot.h, yAxis.color, yAxis.width));
|
|
7058
|
-
for (const [si,
|
|
7059
|
-
|
|
7060
|
-
const x =
|
|
7058
|
+
for (const [si, s2] of model.series.entries())
|
|
7059
|
+
s2.values.forEach((v, i2) => {
|
|
7060
|
+
const x = s2.xValues?.[i2] ?? null;
|
|
7061
7061
|
if (v === null || x === null) return;
|
|
7062
|
-
const filter =
|
|
7063
|
-
const fill =
|
|
7062
|
+
const filter = s2.shadowFilter ? ` filter="${s2.shadowFilter}"` : "";
|
|
7063
|
+
const fill = s2.pointColors?.[i2] ?? s2.color;
|
|
7064
7064
|
if (!bubble) {
|
|
7065
7065
|
out.push(`<circle cx="${n(px3(x))}" cy="${n(py(v))}" r="3" fill="${fill}"${filter}/>`);
|
|
7066
7066
|
return;
|
|
7067
7067
|
}
|
|
7068
|
-
const r = radiusOf(
|
|
7068
|
+
const r = radiusOf(s2.sizes?.[i2] ?? void 0);
|
|
7069
7069
|
if (r === void 0) return;
|
|
7070
7070
|
out.push(
|
|
7071
7071
|
`<circle cx="${n(px3(x))}" cy="${n(py(v))}" r="${n(r)}" fill="${fill}" fill-opacity="0.6" data-chart-series="${si}" data-chart-point="${i2}"${filter}/>`
|
|
@@ -7239,18 +7239,18 @@ function pieSvg(model, area) {
|
|
|
7239
7239
|
const rings = model.type === "doughnut" ? model.series : model.series.slice(0, 1);
|
|
7240
7240
|
const hole = model.type === "doughnut" ? radius * 0.5 : 0;
|
|
7241
7241
|
const ringSize = (radius - hole) / Math.max(1, rings.length);
|
|
7242
|
-
rings.forEach((
|
|
7242
|
+
rings.forEach((s2, ri) => {
|
|
7243
7243
|
const outer = radius - ri * ringSize;
|
|
7244
7244
|
const inner = model.type === "doughnut" ? outer - ringSize : 0;
|
|
7245
|
-
const total =
|
|
7245
|
+
const total = s2.values.reduce((sum, v) => sum + (v !== null && v > 0 ? v : 0), 0);
|
|
7246
7246
|
if (total <= 0) return;
|
|
7247
7247
|
let angle = 0;
|
|
7248
|
-
|
|
7248
|
+
s2.values.forEach((v, i2) => {
|
|
7249
7249
|
if (v === null || v <= 0) return;
|
|
7250
7250
|
const sweep = v / total * Math.PI * 2;
|
|
7251
|
-
const color =
|
|
7251
|
+
const color = s2.pointColors?.[i2] ?? s2.color;
|
|
7252
7252
|
out.push(
|
|
7253
|
-
`<path d="${slicePath(cx2, cy, outer, inner, angle, angle + sweep)}" fill="${color}" stroke="#FFFFFF" stroke-width="1"${
|
|
7253
|
+
`<path d="${slicePath(cx2, cy, outer, inner, angle, angle + sweep)}" fill="${color}" stroke="#FFFFFF" stroke-width="1"${s2.shadowFilter ? ` filter="${s2.shadowFilter}"` : ""}/>`
|
|
7254
7254
|
);
|
|
7255
7255
|
angle += sweep;
|
|
7256
7256
|
});
|
|
@@ -7300,10 +7300,10 @@ function radarSvg(model, area) {
|
|
|
7300
7300
|
})
|
|
7301
7301
|
);
|
|
7302
7302
|
});
|
|
7303
|
-
for (const
|
|
7304
|
-
const points =
|
|
7303
|
+
for (const s2 of model.series) {
|
|
7304
|
+
const points = s2.values.slice(0, count).map((v, i2) => polar(cx2, cy, r(v ?? scale.min), angle(i2))).map(([x, y]) => `${n(x)},${n(y)}`).join(" ");
|
|
7305
7305
|
out.push(
|
|
7306
|
-
`<polygon points="${points}" fill="none" stroke="${
|
|
7306
|
+
`<polygon points="${points}" fill="none" stroke="${s2.color}" stroke-width="2"${s2.shadowFilter ? ` filter="${s2.shadowFilter}"` : ""}/>`
|
|
7307
7307
|
);
|
|
7308
7308
|
}
|
|
7309
7309
|
return out.join("");
|
|
@@ -7319,9 +7319,9 @@ var leafValues = (model) => (model.series[0]?.values ?? []).map((v) => v ?? 0);
|
|
|
7319
7319
|
function treemapSvg(model, area) {
|
|
7320
7320
|
const out = [chartAreaRect(model, "plotArea", area)];
|
|
7321
7321
|
const hierarchy = model.hierarchy;
|
|
7322
|
-
const series = model.series.map((
|
|
7323
|
-
name:
|
|
7324
|
-
values:
|
|
7322
|
+
const series = model.series.map((s2) => ({
|
|
7323
|
+
name: s2.name,
|
|
7324
|
+
values: s2.values.map((v) => v ?? 0),
|
|
7325
7325
|
// Without data labels Office draws no parent banners either, so no space is reserved.
|
|
7326
7326
|
parentLabelLayout: hierarchy?.labels === false ? "none" : hierarchy?.parentLabelLayout
|
|
7327
7327
|
}));
|
|
@@ -7371,7 +7371,7 @@ function sunburstSvg(model, area) {
|
|
|
7371
7371
|
if (maxR <= 0) return out.join("");
|
|
7372
7372
|
const levels = model.hierarchy?.levels ?? [];
|
|
7373
7373
|
const arcs = levels.length > 1 ? computeHierarchicalSunburstArcs(levels, leafValues(model), cx2, cy, maxR) : computeSunburstArcs(
|
|
7374
|
-
model.series.map((
|
|
7374
|
+
model.series.map((s2) => ({ values: s2.values.map((v) => v ?? 0) })),
|
|
7375
7375
|
cx2,
|
|
7376
7376
|
cy,
|
|
7377
7377
|
maxR
|
|
@@ -7494,9 +7494,9 @@ function legendEntries(model) {
|
|
|
7494
7494
|
{ label: "Decrease", color: model.waterfall.colors.decrease },
|
|
7495
7495
|
{ label: "Total", color: model.waterfall.colors.total }
|
|
7496
7496
|
];
|
|
7497
|
-
return [...model.series, ...(model.extraGroups ?? []).flatMap((g2) => g2.series)].map((
|
|
7498
|
-
label:
|
|
7499
|
-
color:
|
|
7497
|
+
return [...model.series, ...(model.extraGroups ?? []).flatMap((g2) => g2.series)].map((s2) => ({
|
|
7498
|
+
label: s2.name,
|
|
7499
|
+
color: s2.color
|
|
7500
7500
|
}));
|
|
7501
7501
|
}
|
|
7502
7502
|
function automaticLegend(model, area, out, options, bounds2) {
|
|
@@ -22025,7 +22025,7 @@ function partsOf(root) {
|
|
|
22025
22025
|
function pack(shapes, vertical, gap, end) {
|
|
22026
22026
|
const rects = [];
|
|
22027
22027
|
const heads = [];
|
|
22028
|
-
const across = (
|
|
22028
|
+
const across = (s2) => vertical ? boundsOf(s2.rects).w : boundsOf(s2.rects).h;
|
|
22029
22029
|
const thickness = Math.max(0, ...shapes.map(across));
|
|
22030
22030
|
for (const shape of shapes) {
|
|
22031
22031
|
const bounds2 = boundsOf(shape.rects);
|
|
@@ -22603,8 +22603,8 @@ function cellSize(cell, box) {
|
|
|
22603
22603
|
}
|
|
22604
22604
|
function metricsOf(node, box, cells, spacers, row2) {
|
|
22605
22605
|
const sizes = cells.map((c2) => cellSize(c2, box));
|
|
22606
|
-
const cellW = Math.max(...sizes.map((
|
|
22607
|
-
const cellH = Math.max(...sizes.map((
|
|
22606
|
+
const cellW = Math.max(...sizes.map((s2) => s2.w));
|
|
22607
|
+
const cellH = Math.max(...sizes.map((s2) => s2.h));
|
|
22608
22608
|
const spacer = spacers[0];
|
|
22609
22609
|
const along = spacer ? spacer.values.get(row2 ? "w" : "h") ?? 0 : node.values.get("sibSp") ?? 0;
|
|
22610
22610
|
return {
|
|
@@ -23098,11 +23098,11 @@ var NO_MERGE = {
|
|
|
23098
23098
|
carrierByTarget: /* @__PURE__ */ new Map()
|
|
23099
23099
|
};
|
|
23100
23100
|
function namesakeTarget(carrier, siblings, carrierIds) {
|
|
23101
|
-
return siblings.find((
|
|
23102
|
-
if (
|
|
23101
|
+
return siblings.find((s2) => {
|
|
23102
|
+
if (s2 === carrier || s2.alg.type !== "tx") {
|
|
23103
23103
|
return false;
|
|
23104
23104
|
}
|
|
23105
|
-
const ids = sourceIdsOf(
|
|
23105
|
+
const ids = sourceIdsOf(s2);
|
|
23106
23106
|
return ids.length === carrierIds.length && ids.every((id) => carrierIds.includes(id));
|
|
23107
23107
|
});
|
|
23108
23108
|
}
|
|
@@ -23110,7 +23110,7 @@ function computeMoveWithMerge(siblings) {
|
|
|
23110
23110
|
if (siblings.length < 2) {
|
|
23111
23111
|
return NO_MERGE;
|
|
23112
23112
|
}
|
|
23113
|
-
const byName = new Map(siblings.map((
|
|
23113
|
+
const byName = new Map(siblings.map((s2) => [s2.name, s2]));
|
|
23114
23114
|
const extraIdsByTarget = /* @__PURE__ */ new Map();
|
|
23115
23115
|
const suppressed = /* @__PURE__ */ new Set();
|
|
23116
23116
|
const carrierByTarget = /* @__PURE__ */ new Map();
|
|
@@ -27188,8 +27188,8 @@ function resolveContentSizedExtents(texts, crossExtentPx, fontSizePx, table, lin
|
|
|
27188
27188
|
// diagram/layout/smartart-layout-interpreter-axis-range.ts
|
|
27189
27189
|
function positionRange(start, count, step, total) {
|
|
27190
27190
|
const out = [];
|
|
27191
|
-
const
|
|
27192
|
-
for (let i2 = Math.max(0, start - 1); i2 < total; i2 +=
|
|
27191
|
+
const s2 = step > 0 ? step : 1;
|
|
27192
|
+
for (let i2 = Math.max(0, start - 1); i2 < total; i2 += s2) {
|
|
27193
27193
|
out.push(i2 + 1);
|
|
27194
27194
|
if (count !== void 0 && count > 0 && out.length >= count) {
|
|
27195
27195
|
break;
|
|
@@ -28287,8 +28287,8 @@ function absOf(dim) {
|
|
|
28287
28287
|
function axisAbsMax(slots, pos, ctr, size) {
|
|
28288
28288
|
let max = 0;
|
|
28289
28289
|
for (const { dims } of slots) {
|
|
28290
|
-
const
|
|
28291
|
-
const edge = Math.max(absOf(dims[pos]) +
|
|
28290
|
+
const s2 = absOf(dims[size]);
|
|
28291
|
+
const edge = Math.max(absOf(dims[pos]) + s2, absOf(dims[ctr]) + s2 / 2, s2);
|
|
28292
28292
|
if (edge > max) {
|
|
28293
28293
|
max = edge;
|
|
28294
28294
|
}
|
|
@@ -34130,12 +34130,12 @@ function padMd4Style(message) {
|
|
|
34130
34130
|
}
|
|
34131
34131
|
function applyRotatingRound(r, ops, f6, x, feedback = false) {
|
|
34132
34132
|
let target = 0;
|
|
34133
|
-
for (const [k,
|
|
34133
|
+
for (const [k, s2, addConst] of ops) {
|
|
34134
34134
|
const i1 = target + 1 & 3;
|
|
34135
34135
|
const next = r[i1];
|
|
34136
34136
|
const rotated = rotl32(
|
|
34137
34137
|
add32(r[target], f6(next, r[target + 2 & 3], r[target + 3 & 3]), x[k], addConst),
|
|
34138
|
-
|
|
34138
|
+
s2
|
|
34139
34139
|
);
|
|
34140
34140
|
r[target] = feedback ? add32(next, rotated) : rotated;
|
|
34141
34141
|
target = target + 3 & 3;
|
|
@@ -34617,13 +34617,13 @@ var LEFT_FNS2 = [f12, f22, f32, f4, f5];
|
|
|
34617
34617
|
var RIGHT_FNS2 = [f5, f4, f32, f22, f12];
|
|
34618
34618
|
function applyLane(r, ops, f6, x, startTarget) {
|
|
34619
34619
|
let target = startTarget;
|
|
34620
|
-
for (const [k,
|
|
34620
|
+
for (const [k, s2, addConst] of ops) {
|
|
34621
34621
|
const i1 = (target + 1) % 5;
|
|
34622
34622
|
const i2 = (target + 2) % 5;
|
|
34623
34623
|
const i3 = (target + 3) % 5;
|
|
34624
34624
|
const i4 = (target + 4) % 5;
|
|
34625
34625
|
const sum = r[target] + f6(r[i1], r[i2], r[i3]) + x[k] + addConst >>> 0;
|
|
34626
|
-
const newTarget = (sum <<
|
|
34626
|
+
const newTarget = (sum << s2 | sum >>> 32 - s2) + r[i4] >>> 0;
|
|
34627
34627
|
const c2 = r[i2];
|
|
34628
34628
|
r[i2] = (c2 << 10 | c2 >>> 22) >>> 0;
|
|
34629
34629
|
r[target] = newTarget;
|
|
@@ -35642,6 +35642,8 @@ __export(geometry_exports, {
|
|
|
35642
35642
|
ROTATE_STEM_PX: () => ROTATE_STEM_PX,
|
|
35643
35643
|
ROUTING_PADDING_DEFAULT: () => ROUTING_PADDING_DEFAULT,
|
|
35644
35644
|
SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS: () => SCROLLS_ACCENT_CALLOUTS_PRESET_DEFINITIONS,
|
|
35645
|
+
SHAPE_GALLERY_CATEGORIES: () => SHAPE_GALLERY_CATEGORIES,
|
|
35646
|
+
SHAPE_GALLERY_ENTRIES: () => SHAPE_GALLERY_ENTRIES,
|
|
35645
35647
|
SNAP_THRESHOLD: () => SNAP_THRESHOLD,
|
|
35646
35648
|
STAR_CONNECTION_SITES: () => STAR_CONNECTION_SITES,
|
|
35647
35649
|
STAR_TEXT_RECTS: () => STAR_TEXT_RECTS,
|
|
@@ -35737,6 +35739,9 @@ __export(geometry_exports, {
|
|
|
35737
35739
|
routeOrthogonalConnector: () => routeOrthogonalConnector,
|
|
35738
35740
|
segmentIntersection: () => segmentIntersection,
|
|
35739
35741
|
segmentIntersectsRect: () => segmentIntersectsRect,
|
|
35742
|
+
shapeGalleryCategoryKey: () => shapeGalleryCategoryKey,
|
|
35743
|
+
shapeGalleryName: () => shapeGalleryName,
|
|
35744
|
+
shapeGalleryNameKey: () => shapeGalleryNameKey,
|
|
35740
35745
|
signedArea: () => signedArea,
|
|
35741
35746
|
simplifyPath: () => simplifyPath,
|
|
35742
35747
|
snapAngle: () => snapAngle,
|
|
@@ -41740,6 +41745,260 @@ function subtractSvgPaths(path1, path2) {
|
|
|
41740
41745
|
return subtractShapes(path1, path2);
|
|
41741
41746
|
}
|
|
41742
41747
|
|
|
41748
|
+
// geometry/shape-gallery-catalog.ts
|
|
41749
|
+
var s = (preset, name) => ({ preset, name });
|
|
41750
|
+
var SHAPE_GALLERY_CATEGORIES = [
|
|
41751
|
+
{
|
|
41752
|
+
id: "lines",
|
|
41753
|
+
name: "Lines",
|
|
41754
|
+
shapes: [
|
|
41755
|
+
s("line", "Line"),
|
|
41756
|
+
s("straightConnector1", "Connector: Straight"),
|
|
41757
|
+
s("bentConnector3", "Connector: Elbow"),
|
|
41758
|
+
s("curvedConnector3", "Connector: Curved"),
|
|
41759
|
+
s("lineInv", "Line: Inverse"),
|
|
41760
|
+
s("bentConnector2", "Connector: Elbow (L)"),
|
|
41761
|
+
s("bentConnector4", "Connector: Elbow (3 segments)"),
|
|
41762
|
+
s("bentConnector5", "Connector: Elbow (4 segments)"),
|
|
41763
|
+
s("curvedConnector2", "Connector: Curved (L)"),
|
|
41764
|
+
s("curvedConnector4", "Connector: Curved (3 segments)"),
|
|
41765
|
+
s("curvedConnector5", "Connector: Curved (4 segments)")
|
|
41766
|
+
]
|
|
41767
|
+
},
|
|
41768
|
+
{
|
|
41769
|
+
id: "rectangles",
|
|
41770
|
+
name: "Rectangles",
|
|
41771
|
+
shapes: [
|
|
41772
|
+
s("rect", "Rectangle"),
|
|
41773
|
+
s("roundRect", "Rectangle: Rounded Corners"),
|
|
41774
|
+
s("snip1Rect", "Rectangle: Single Corner Snipped"),
|
|
41775
|
+
s("snip2SameRect", "Rectangle: Top Corners Snipped"),
|
|
41776
|
+
s("snip2DiagRect", "Rectangle: Diagonal Corners Snipped"),
|
|
41777
|
+
s("snipRoundRect", "Rectangle: Top Corners, One Rounded and One Snipped"),
|
|
41778
|
+
s("round1Rect", "Rectangle: Single Corner Rounded"),
|
|
41779
|
+
s("round2SameRect", "Rectangle: Top Corners Rounded"),
|
|
41780
|
+
s("round2DiagRect", "Rectangle: Diagonal Corners Rounded")
|
|
41781
|
+
]
|
|
41782
|
+
},
|
|
41783
|
+
{
|
|
41784
|
+
id: "basic",
|
|
41785
|
+
name: "Basic Shapes",
|
|
41786
|
+
shapes: [
|
|
41787
|
+
s("ellipse", "Oval"),
|
|
41788
|
+
s("triangle", "Isosceles Triangle"),
|
|
41789
|
+
s("rtTriangle", "Right Triangle"),
|
|
41790
|
+
s("parallelogram", "Parallelogram"),
|
|
41791
|
+
s("trapezoid", "Trapezoid"),
|
|
41792
|
+
s("nonIsoscelesTrapezoid", "Trapezoid: Non-Isosceles"),
|
|
41793
|
+
s("diamond", "Diamond"),
|
|
41794
|
+
s("pentagon", "Regular Pentagon"),
|
|
41795
|
+
s("hexagon", "Hexagon"),
|
|
41796
|
+
s("heptagon", "Heptagon"),
|
|
41797
|
+
s("octagon", "Octagon"),
|
|
41798
|
+
s("decagon", "Decagon"),
|
|
41799
|
+
s("dodecagon", "Dodecagon"),
|
|
41800
|
+
s("pie", "Partial Circle"),
|
|
41801
|
+
s("pieWedge", "Pie Wedge"),
|
|
41802
|
+
s("chord", "Chord"),
|
|
41803
|
+
s("teardrop", "Teardrop"),
|
|
41804
|
+
s("frame", "Frame"),
|
|
41805
|
+
s("halfFrame", "Half Frame"),
|
|
41806
|
+
s("corner", "L-Shape"),
|
|
41807
|
+
s("diagStripe", "Diagonal Stripe"),
|
|
41808
|
+
s("plus", "Cross"),
|
|
41809
|
+
s("plaque", "Plaque"),
|
|
41810
|
+
s("can", "Cylinder"),
|
|
41811
|
+
s("cube", "Cube"),
|
|
41812
|
+
s("bevel", "Bevel"),
|
|
41813
|
+
s("donut", "Donut"),
|
|
41814
|
+
s("noSmoking", '"No" Symbol'),
|
|
41815
|
+
s("blockArc", "Block Arc"),
|
|
41816
|
+
s("foldedCorner", "Folded Corner"),
|
|
41817
|
+
s("smileyFace", "Smiley Face"),
|
|
41818
|
+
s("heart", "Heart"),
|
|
41819
|
+
s("lightningBolt", "Lightning Bolt"),
|
|
41820
|
+
s("sun", "Sun"),
|
|
41821
|
+
s("moon", "Moon"),
|
|
41822
|
+
s("cloud", "Cloud"),
|
|
41823
|
+
s("arc", "Arc"),
|
|
41824
|
+
s("bracketPair", "Double Bracket"),
|
|
41825
|
+
s("bracePair", "Double Brace"),
|
|
41826
|
+
s("leftBracket", "Left Bracket"),
|
|
41827
|
+
s("rightBracket", "Right Bracket"),
|
|
41828
|
+
s("leftBrace", "Left Brace"),
|
|
41829
|
+
s("rightBrace", "Right Brace"),
|
|
41830
|
+
s("funnel", "Funnel"),
|
|
41831
|
+
s("gear6", "Gear: 6 Teeth"),
|
|
41832
|
+
s("gear9", "Gear: 9 Teeth"),
|
|
41833
|
+
s("cornerTabs", "Corner Tabs"),
|
|
41834
|
+
s("squareTabs", "Square Tabs"),
|
|
41835
|
+
s("plaqueTabs", "Plaque Tabs"),
|
|
41836
|
+
s("chartX", "Chart: X"),
|
|
41837
|
+
s("chartStar", "Chart: Star"),
|
|
41838
|
+
s("chartPlus", "Chart: Plus")
|
|
41839
|
+
]
|
|
41840
|
+
},
|
|
41841
|
+
{
|
|
41842
|
+
id: "blockArrows",
|
|
41843
|
+
name: "Block Arrows",
|
|
41844
|
+
shapes: [
|
|
41845
|
+
s("rightArrow", "Arrow: Right"),
|
|
41846
|
+
s("leftArrow", "Arrow: Left"),
|
|
41847
|
+
s("upArrow", "Arrow: Up"),
|
|
41848
|
+
s("downArrow", "Arrow: Down"),
|
|
41849
|
+
s("leftRightArrow", "Arrow: Left-Right"),
|
|
41850
|
+
s("upDownArrow", "Arrow: Up-Down"),
|
|
41851
|
+
s("quadArrow", "Arrow: Quad"),
|
|
41852
|
+
s("leftRightUpArrow", "Arrow: Left-Right-Up"),
|
|
41853
|
+
s("bentArrow", "Arrow: Bent"),
|
|
41854
|
+
s("uturnArrow", "Arrow: U-Turn"),
|
|
41855
|
+
s("leftUpArrow", "Arrow: Left-Up"),
|
|
41856
|
+
s("bentUpArrow", "Arrow: Bent-Up"),
|
|
41857
|
+
s("curvedRightArrow", "Arrow: Curved Right"),
|
|
41858
|
+
s("curvedLeftArrow", "Arrow: Curved Left"),
|
|
41859
|
+
s("curvedUpArrow", "Arrow: Curved Up"),
|
|
41860
|
+
s("curvedDownArrow", "Arrow: Curved Down"),
|
|
41861
|
+
s("stripedRightArrow", "Arrow: Striped Right"),
|
|
41862
|
+
s("notchedRightArrow", "Arrow: Notched Right"),
|
|
41863
|
+
s("homePlate", "Arrow: Pentagon"),
|
|
41864
|
+
s("chevron", "Arrow: Chevron"),
|
|
41865
|
+
s("rightArrowCallout", "Callout: Right Arrow"),
|
|
41866
|
+
s("downArrowCallout", "Callout: Down Arrow"),
|
|
41867
|
+
s("leftArrowCallout", "Callout: Left Arrow"),
|
|
41868
|
+
s("upArrowCallout", "Callout: Up Arrow"),
|
|
41869
|
+
s("leftRightArrowCallout", "Callout: Left-Right Arrow"),
|
|
41870
|
+
s("upDownArrowCallout", "Callout: Up-Down Arrow"),
|
|
41871
|
+
s("quadArrowCallout", "Callout: Quad Arrow"),
|
|
41872
|
+
s("circularArrow", "Arrow: Circular"),
|
|
41873
|
+
s("leftCircularArrow", "Arrow: Circular Left"),
|
|
41874
|
+
s("leftRightCircularArrow", "Arrow: Circular Left-Right"),
|
|
41875
|
+
s("swooshArrow", "Arrow: Swoosh")
|
|
41876
|
+
]
|
|
41877
|
+
},
|
|
41878
|
+
{
|
|
41879
|
+
id: "equation",
|
|
41880
|
+
name: "Equation Shapes",
|
|
41881
|
+
shapes: [
|
|
41882
|
+
s("mathPlus", "Plus Sign"),
|
|
41883
|
+
s("mathMinus", "Minus Sign"),
|
|
41884
|
+
s("mathMultiply", "Multiplication Sign"),
|
|
41885
|
+
s("mathDivide", "Division Sign"),
|
|
41886
|
+
s("mathEqual", "Equal Sign"),
|
|
41887
|
+
s("mathNotEqual", "Not Equal Sign")
|
|
41888
|
+
]
|
|
41889
|
+
},
|
|
41890
|
+
{
|
|
41891
|
+
id: "flowchart",
|
|
41892
|
+
name: "Flowchart",
|
|
41893
|
+
shapes: [
|
|
41894
|
+
s("flowChartProcess", "Flowchart: Process"),
|
|
41895
|
+
s("flowChartAlternateProcess", "Flowchart: Alternate Process"),
|
|
41896
|
+
s("flowChartDecision", "Flowchart: Decision"),
|
|
41897
|
+
s("flowChartInputOutput", "Flowchart: Data"),
|
|
41898
|
+
s("flowChartPredefinedProcess", "Flowchart: Predefined Process"),
|
|
41899
|
+
s("flowChartInternalStorage", "Flowchart: Internal Storage"),
|
|
41900
|
+
s("flowChartDocument", "Flowchart: Document"),
|
|
41901
|
+
s("flowChartMultidocument", "Flowchart: Multidocument"),
|
|
41902
|
+
s("flowChartTerminator", "Flowchart: Terminator"),
|
|
41903
|
+
s("flowChartPreparation", "Flowchart: Preparation"),
|
|
41904
|
+
s("flowChartManualInput", "Flowchart: Manual Input"),
|
|
41905
|
+
s("flowChartManualOperation", "Flowchart: Manual Operation"),
|
|
41906
|
+
s("flowChartConnector", "Flowchart: Connector"),
|
|
41907
|
+
s("flowChartOffpageConnector", "Flowchart: Off-page Connector"),
|
|
41908
|
+
s("flowChartPunchedCard", "Flowchart: Card"),
|
|
41909
|
+
s("flowChartPunchedTape", "Flowchart: Punched Tape"),
|
|
41910
|
+
s("flowChartSummingJunction", "Flowchart: Summing Junction"),
|
|
41911
|
+
s("flowChartOr", "Flowchart: Or"),
|
|
41912
|
+
s("flowChartCollate", "Flowchart: Collate"),
|
|
41913
|
+
s("flowChartSort", "Flowchart: Sort"),
|
|
41914
|
+
s("flowChartExtract", "Flowchart: Extract"),
|
|
41915
|
+
s("flowChartMerge", "Flowchart: Merge"),
|
|
41916
|
+
s("flowChartOnlineStorage", "Flowchart: Stored Data"),
|
|
41917
|
+
s("flowChartDelay", "Flowchart: Delay"),
|
|
41918
|
+
s("flowChartMagneticTape", "Flowchart: Sequential Access Storage"),
|
|
41919
|
+
s("flowChartMagneticDisk", "Flowchart: Magnetic Disk"),
|
|
41920
|
+
s("flowChartMagneticDrum", "Flowchart: Direct Access Storage"),
|
|
41921
|
+
s("flowChartDisplay", "Flowchart: Display"),
|
|
41922
|
+
s("flowChartOfflineStorage", "Flowchart: Offline Storage")
|
|
41923
|
+
]
|
|
41924
|
+
},
|
|
41925
|
+
{
|
|
41926
|
+
id: "starsBanners",
|
|
41927
|
+
name: "Stars and Banners",
|
|
41928
|
+
shapes: [
|
|
41929
|
+
s("irregularSeal1", "Explosion: 8 Points"),
|
|
41930
|
+
s("irregularSeal2", "Explosion: 14 Points"),
|
|
41931
|
+
s("star4", "Star: 4 Points"),
|
|
41932
|
+
s("star5", "Star: 5 Points"),
|
|
41933
|
+
s("star6", "Star: 6 Points"),
|
|
41934
|
+
s("star7", "Star: 7 Points"),
|
|
41935
|
+
s("star8", "Star: 8 Points"),
|
|
41936
|
+
s("star10", "Star: 10 Points"),
|
|
41937
|
+
s("star12", "Star: 12 Points"),
|
|
41938
|
+
s("star16", "Star: 16 Points"),
|
|
41939
|
+
s("star24", "Star: 24 Points"),
|
|
41940
|
+
s("star32", "Star: 32 Points"),
|
|
41941
|
+
s("ribbon2", "Ribbon: Tilted Up"),
|
|
41942
|
+
s("ribbon", "Ribbon: Tilted Down"),
|
|
41943
|
+
s("ellipseRibbon2", "Ribbon: Curved and Tilted Up"),
|
|
41944
|
+
s("ellipseRibbon", "Ribbon: Curved and Tilted Down"),
|
|
41945
|
+
s("leftRightRibbon", "Ribbon: Left-Right"),
|
|
41946
|
+
s("verticalScroll", "Scroll: Vertical"),
|
|
41947
|
+
s("horizontalScroll", "Scroll: Horizontal"),
|
|
41948
|
+
s("wave", "Wave"),
|
|
41949
|
+
s("doubleWave", "Double Wave")
|
|
41950
|
+
]
|
|
41951
|
+
},
|
|
41952
|
+
{
|
|
41953
|
+
id: "callouts",
|
|
41954
|
+
name: "Callouts",
|
|
41955
|
+
shapes: [
|
|
41956
|
+
s("wedgeRectCallout", "Speech Bubble: Rectangle"),
|
|
41957
|
+
s("wedgeRoundRectCallout", "Speech Bubble: Rectangle with Corners Rounded"),
|
|
41958
|
+
s("wedgeEllipseCallout", "Speech Bubble: Oval"),
|
|
41959
|
+
s("cloudCallout", "Thought Bubble: Cloud"),
|
|
41960
|
+
s("borderCallout1", "Callout: Line"),
|
|
41961
|
+
s("borderCallout2", "Callout: Bent Line"),
|
|
41962
|
+
s("borderCallout3", "Callout: Double Bent Line"),
|
|
41963
|
+
s("accentCallout1", "Callout: Line with Accent Bar"),
|
|
41964
|
+
s("accentCallout2", "Callout: Bent Line with Accent Bar"),
|
|
41965
|
+
s("accentCallout3", "Callout: Double Bent Line with Accent Bar"),
|
|
41966
|
+
s("callout1", "Callout: Line with No Border"),
|
|
41967
|
+
s("callout2", "Callout: Bent Line with No Border"),
|
|
41968
|
+
s("callout3", "Callout: Double Bent Line with No Border"),
|
|
41969
|
+
s("accentBorderCallout1", "Callout: Line with Border and Accent Bar"),
|
|
41970
|
+
s("accentBorderCallout2", "Callout: Bent Line with Border and Accent Bar"),
|
|
41971
|
+
s("accentBorderCallout3", "Callout: Double Bent Line with Border and Accent Bar")
|
|
41972
|
+
]
|
|
41973
|
+
},
|
|
41974
|
+
{
|
|
41975
|
+
id: "actionButtons",
|
|
41976
|
+
name: "Action Buttons",
|
|
41977
|
+
shapes: [
|
|
41978
|
+
s("actionButtonBackPrevious", "Action Button: Go Back or Previous"),
|
|
41979
|
+
s("actionButtonForwardNext", "Action Button: Go Forward or Next"),
|
|
41980
|
+
s("actionButtonBeginning", "Action Button: Go to Beginning"),
|
|
41981
|
+
s("actionButtonEnd", "Action Button: Go to End"),
|
|
41982
|
+
s("actionButtonHome", "Action Button: Go Home"),
|
|
41983
|
+
s("actionButtonInformation", "Action Button: Information"),
|
|
41984
|
+
s("actionButtonReturn", "Action Button: Return"),
|
|
41985
|
+
s("actionButtonMovie", "Action Button: Movie"),
|
|
41986
|
+
s("actionButtonDocument", "Action Button: Document"),
|
|
41987
|
+
s("actionButtonSound", "Action Button: Sound"),
|
|
41988
|
+
s("actionButtonHelp", "Action Button: Help"),
|
|
41989
|
+
s("actionButtonBlank", "Action Button: Custom")
|
|
41990
|
+
]
|
|
41991
|
+
}
|
|
41992
|
+
];
|
|
41993
|
+
var shapeGalleryCategoryKey = (id) => `pptx.shapes.category.${id}`;
|
|
41994
|
+
var shapeGalleryNameKey = (preset) => `pptx.shapes.name.${preset}`;
|
|
41995
|
+
var SHAPE_GALLERY_ENTRIES = SHAPE_GALLERY_CATEGORIES.flatMap(
|
|
41996
|
+
(category) => category.shapes.map((shape) => ({ ...shape, category: category.id }))
|
|
41997
|
+
);
|
|
41998
|
+
function shapeGalleryName(preset) {
|
|
41999
|
+
return SHAPE_GALLERY_ENTRIES.find((entry3) => entry3.preset === preset)?.name;
|
|
42000
|
+
}
|
|
42001
|
+
|
|
41743
42002
|
// geometry/svg-path-curves.ts
|
|
41744
42003
|
function sampleCubic(p0, p1, p2, p3, segments, out) {
|
|
41745
42004
|
for (let i2 = 1; i2 <= segments; i2++) {
|