ooxml.js 2.16.0 → 2.17.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.
@@ -107,10 +107,16 @@ function readLineSpacingMultiplier(pPr) {
107
107
  const val = pct === void 0 ? void 0 : require_typed_util.attr(pct, "val");
108
108
  return val === void 0 ? void 0 : Number(val) / 1e5;
109
109
  }
110
+ function readOutlineLevel(pPr) {
111
+ const raw = pPr === void 0 ? void 0 : require_typed_util.attr(pPr, "lvl");
112
+ if (raw === void 0 || raw === "") return;
113
+ const level = Number(raw);
114
+ return Number.isInteger(level) && level >= 0 ? level : void 0;
115
+ }
110
116
  function readParagraph(pEl, placeholderType, context, slideRels) {
111
117
  const pPr = require_typed_util.childrenWithTag(pEl, "a:pPr")[0];
112
- const level = pPr === void 0 ? 0 : Number(require_typed_util.attr(pPr, "lvl") ?? "0");
113
- const masterDefaults = require_typed_pptx_inherit.resolveDefaultRunProperties(placeholderType, level, context);
118
+ const outlineLevel = readOutlineLevel(pPr);
119
+ const masterDefaults = require_typed_pptx_inherit.resolveDefaultRunProperties(placeholderType, outlineLevel ?? 0, context);
114
120
  const pPrDefRPr = pPr === void 0 ? void 0 : require_typed_util.childrenWithTag(pPr, "a:defRPr")[0];
115
121
  const paragraphDefaults = pPrDefRPr === void 0 ? masterDefaults : mergeRunProperties(masterDefaults, require_typed_pptx_inherit.readRunPropertiesFromElement(pPrDefRPr, context));
116
122
  const runs = [];
@@ -125,6 +131,7 @@ function readParagraph(pEl, placeholderType, context, slideRels) {
125
131
  kind: "paragraph",
126
132
  runs,
127
133
  alignment: pPr === void 0 ? void 0 : readAlignment(require_typed_util.attr(pPr, "algn")),
134
+ list: outlineLevel === void 0 ? void 0 : { level: outlineLevel },
128
135
  spacingBeforePt: readAbsoluteSpacingPt(pPr === void 0 ? void 0 : require_typed_util.childrenWithTag(pPr, "a:spcBef")[0]),
129
136
  spacingAfterPt: readAbsoluteSpacingPt(pPr === void 0 ? void 0 : require_typed_util.childrenWithTag(pPr, "a:spcAft")[0]),
130
137
  lineSpacing: readLineSpacingMultiplier(pPr),
@@ -106,10 +106,16 @@ function readLineSpacingMultiplier(pPr) {
106
106
  const val = pct === void 0 ? void 0 : attr(pct, "val");
107
107
  return val === void 0 ? void 0 : Number(val) / 1e5;
108
108
  }
109
+ function readOutlineLevel(pPr) {
110
+ const raw = pPr === void 0 ? void 0 : attr(pPr, "lvl");
111
+ if (raw === void 0 || raw === "") return;
112
+ const level = Number(raw);
113
+ return Number.isInteger(level) && level >= 0 ? level : void 0;
114
+ }
109
115
  function readParagraph(pEl, placeholderType, context, slideRels) {
110
116
  const pPr = childrenWithTag(pEl, "a:pPr")[0];
111
- const level = pPr === void 0 ? 0 : Number(attr(pPr, "lvl") ?? "0");
112
- const masterDefaults = resolveDefaultRunProperties(placeholderType, level, context);
117
+ const outlineLevel = readOutlineLevel(pPr);
118
+ const masterDefaults = resolveDefaultRunProperties(placeholderType, outlineLevel ?? 0, context);
113
119
  const pPrDefRPr = pPr === void 0 ? void 0 : childrenWithTag(pPr, "a:defRPr")[0];
114
120
  const paragraphDefaults = pPrDefRPr === void 0 ? masterDefaults : mergeRunProperties(masterDefaults, readRunPropertiesFromElement(pPrDefRPr, context));
115
121
  const runs = [];
@@ -124,6 +130,7 @@ function readParagraph(pEl, placeholderType, context, slideRels) {
124
130
  kind: "paragraph",
125
131
  runs,
126
132
  alignment: pPr === void 0 ? void 0 : readAlignment(attr(pPr, "algn")),
133
+ list: outlineLevel === void 0 ? void 0 : { level: outlineLevel },
127
134
  spacingBeforePt: readAbsoluteSpacingPt(pPr === void 0 ? void 0 : childrenWithTag(pPr, "a:spcBef")[0]),
128
135
  spacingAfterPt: readAbsoluteSpacingPt(pPr === void 0 ? void 0 : childrenWithTag(pPr, "a:spcAft")[0]),
129
136
  lineSpacing: readLineSpacingMultiplier(pPr),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ooxml.js",
3
- "version": "2.16.0",
3
+ "version": "2.17.0",
4
4
  "description": "Type-safe, lossless round-trip conversion between OOXML packages (docx, pptx, xlsx) and JSON, built on Zod 4 codecs.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -78,7 +78,7 @@
78
78
  "license": "MIT",
79
79
  "packageManager": "pnpm@11.6.0",
80
80
  "dependencies": {
81
- "document-schema.js": "^3.2.0",
81
+ "document-schema.js": "^3.3.0",
82
82
  "fast-xml-parser": "^5.10.1",
83
83
  "fflate": "^0.8.3",
84
84
  "zod": "^4.4.3"