@particle-academy/holy-sheet 2.10.0 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/index.cjs +8 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
10
10
|
|
|
11
11
|
## [Unreleased]
|
|
12
12
|
|
|
13
|
+
## [2.10.1] — 2026-10-19
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **A bar or column chart's value axis starts at zero** when every plotted value
|
|
18
|
+
is zero or more. Left to the renderer, an axis over values like 90-97 started
|
|
19
|
+
near 88, so a three-point gap read as a collapse; reviewers gated an
|
|
20
|
+
agent-built deck for exactly that. A chart with a negative value, and a line
|
|
21
|
+
chart, keep the renderer's own scaling. **What to do: nothing**; bar charts
|
|
22
|
+
you already write now carry `<c:min val="0"/>` on the value axis.
|
|
23
|
+
|
|
13
24
|
## [2.10.0] — 2026-10-19
|
|
14
25
|
|
|
15
26
|
### Added
|
package/dist/index.cjs
CHANGED
|
@@ -4479,7 +4479,8 @@ var ChartXml = {
|
|
|
4479
4479
|
} else {
|
|
4480
4480
|
plot = `<c:barChart><c:barDir val="${type === "bar" ? "bar" : "col"}"/><c:grouping val="clustered"/><c:varyColors val="0"/>` + series + labels + '<c:gapWidth val="80"/><c:axId val="10"/><c:axId val="20"/></c:barChart>';
|
|
4481
4481
|
}
|
|
4482
|
-
const
|
|
4482
|
+
const zeroBase = type !== "line" && nonNegative(chart, workbook);
|
|
4483
|
+
const axesXml = type === "pie" ? "" : axes(type === "bar", chart.format, zeroBase);
|
|
4483
4484
|
const legend = chart.legend ?? (chart.series.length > 1 || type === "pie");
|
|
4484
4485
|
const title = chart.title !== null ? `<c:title><c:tx><c:rich><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr sz="1200" b="1"/></a:pPr><a:r><a:rPr lang="en-US" sz="1200" b="1"/><a:t>${text(chart.title)}</a:t></a:r></a:p></c:rich></c:tx><c:overlay val="0"/></c:title><c:autoTitleDeleted val="0"/>` : '<c:autoTitleDeleted val="1"/>';
|
|
4485
4486
|
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><c:chartSpace xmlns:c="${NS_C}" xmlns:a="${NS_A}" xmlns:r="${NS_R}"><c:roundedCorners val="0"/><c:chart>` + title + "<c:plotArea><c:layout/>" + plot + axesXml + "</c:plotArea>" + (legend ? '<c:legend><c:legendPos val="b"/><c:overlay val="0"/></c:legend>' : "") + '<c:plotVisOnly val="1"/><c:dispBlanksAs val="gap"/></c:chart><c:spPr><a:noFill/><a:ln><a:noFill/></a:ln></c:spPr>' + textProps("595959", 900) + "</c:chartSpace>";
|
|
@@ -4540,11 +4541,14 @@ function dataLabels(type, format) {
|
|
|
4540
4541
|
const pos = type === "line" ? "t" : type === "pie" ? "bestFit" : "outEnd";
|
|
4541
4542
|
return "<c:dLbls>" + (format !== null ? `<c:numFmt formatCode="${attr2(format)}" sourceLinked="0"/>` : "") + "<c:spPr><a:noFill/><a:ln><a:noFill/></a:ln></c:spPr>" + textProps("404040", 900) + `<c:dLblPos val="${pos}"/><c:showLegendKey val="0"/><c:showVal val="1"/><c:showCatName val="0"/><c:showSerName val="0"/><c:showPercent val="0"/><c:showBubbleSize val="0"/></c:dLbls>`;
|
|
4542
4543
|
}
|
|
4543
|
-
function
|
|
4544
|
+
function nonNegative(chart, workbook) {
|
|
4545
|
+
return chart.series.every((s) => values(s.values, workbook).every((v) => typeof v !== "number" || !(v < 0)));
|
|
4546
|
+
}
|
|
4547
|
+
function axes(horizontal, format, zeroBase = false) {
|
|
4544
4548
|
const catPos = horizontal ? "l" : "b";
|
|
4545
4549
|
const valPos = horizontal ? "b" : "l";
|
|
4546
4550
|
const numFmt = format !== null ? `<c:numFmt formatCode="${attr2(format)}" sourceLinked="0"/>` : '<c:numFmt formatCode="General" sourceLinked="1"/>';
|
|
4547
|
-
return `<c:catAx><c:axId val="10"/><c:scaling><c:orientation val="${horizontal ? "maxMin" : "minMax"}"/></c:scaling><c:delete val="0"/><c:axPos val="${catPos}"/><c:numFmt formatCode="General" sourceLinked="1"/><c:majorTickMark val="none"/><c:minorTickMark val="none"/><c:tickLblPos val="low"/><c:spPr><a:ln w="9525"><a:solidFill><a:srgbClr val="BFBFBF"/></a:solidFill></a:ln></c:spPr><c:crossAx val="20"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffset val="100"/><c:noMultiLvlLbl val="0"/></c:catAx><c:valAx><c:axId val="20"/><c:scaling><c:orientation val="minMax"
|
|
4551
|
+
return `<c:catAx><c:axId val="10"/><c:scaling><c:orientation val="${horizontal ? "maxMin" : "minMax"}"/></c:scaling><c:delete val="0"/><c:axPos val="${catPos}"/><c:numFmt formatCode="General" sourceLinked="1"/><c:majorTickMark val="none"/><c:minorTickMark val="none"/><c:tickLblPos val="low"/><c:spPr><a:ln w="9525"><a:solidFill><a:srgbClr val="BFBFBF"/></a:solidFill></a:ln></c:spPr><c:crossAx val="20"/><c:crosses val="autoZero"/><c:auto val="1"/><c:lblAlgn val="ctr"/><c:lblOffset val="100"/><c:noMultiLvlLbl val="0"/></c:catAx><c:valAx><c:axId val="20"/><c:scaling><c:orientation val="minMax"/>` + (zeroBase ? '<c:min val="0"/>' : "") + `</c:scaling><c:delete val="0"/><c:axPos val="${valPos}"/><c:majorGridlines><c:spPr><a:ln w="9525"><a:solidFill><a:srgbClr val="E5E7EB"/></a:solidFill></a:ln></c:spPr></c:majorGridlines>` + numFmt + `<c:majorTickMark val="none"/><c:minorTickMark val="none"/><c:tickLblPos val="nextTo"/><c:spPr><a:ln><a:noFill/></a:ln></c:spPr><c:crossAx val="10"/><c:crosses val="${horizontal ? "max" : "autoZero"}"/><c:crossBetween val="between"/></c:valAx>`;
|
|
4548
4552
|
}
|
|
4549
4553
|
function textProps(color2, size) {
|
|
4550
4554
|
return `<c:txPr><a:bodyPr/><a:lstStyle/><a:p><a:pPr><a:defRPr sz="${size}"><a:solidFill><a:srgbClr val="${color2}"/></a:solidFill></a:defRPr></a:pPr><a:endParaRPr lang="en-US"/></a:p></c:txPr>`;
|
|
@@ -6127,7 +6131,7 @@ var holy_sheet_schema_default = {
|
|
|
6127
6131
|
};
|
|
6128
6132
|
|
|
6129
6133
|
// src/agent.ts
|
|
6130
|
-
var VERSION = "2.10.
|
|
6134
|
+
var VERSION = "2.10.1";
|
|
6131
6135
|
function toU8(input) {
|
|
6132
6136
|
return input instanceof Uint8Array ? input : new Uint8Array(input);
|
|
6133
6137
|
}
|