@extend-ai/react-docx 0.8.1 → 0.8.3
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/{chunk-YE7GQOST.js → chunk-4CPXLVFB.js} +5 -4
- package/dist/{chunk-YE7GQOST.js.map → chunk-4CPXLVFB.js.map} +1 -1
- package/dist/{chunk-XBI2PYTU.js → chunk-KB6YHU6O.js} +6 -5
- package/dist/chunk-KB6YHU6O.js.map +1 -0
- package/dist/{chunk-WKBPLHUA.js → chunk-THNPK4N7.js} +23 -3
- package/dist/chunk-THNPK4N7.js.map +1 -0
- package/dist/docx-import-worker.cjs +26 -5
- package/dist/docx-import-worker.cjs.map +1 -1
- package/dist/docx-import-worker.js +3 -3
- package/dist/docx_wasm_bg.wasm +0 -0
- package/dist/index.cjs +244 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +223 -37
- package/dist/index.js.map +1 -1
- package/dist/{src-2FP7IUE6.js → src-JS3OX73I.js} +3 -3
- package/dist/{src-AEHDFCS5.js → src-KC2H22CB.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-WKBPLHUA.js.map +0 -1
- package/dist/chunk-XBI2PYTU.js.map +0 -1
- /package/dist/{src-2FP7IUE6.js.map → src-JS3OX73I.js.map} +0 -0
- /package/dist/{src-AEHDFCS5.js.map → src-KC2H22CB.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -188,6 +188,10 @@ function __wbg_get_imports() {
|
|
|
188
188
|
const ret = Object.create(getObject(arg0));
|
|
189
189
|
return addHeapObject(ret);
|
|
190
190
|
},
|
|
191
|
+
__wbg_from_8a57180716c586ee: function(arg0) {
|
|
192
|
+
const ret = Array.from(getObject(arg0));
|
|
193
|
+
return addHeapObject(ret);
|
|
194
|
+
},
|
|
191
195
|
__wbg_get_52a8a619f7b88df6: function() {
|
|
192
196
|
return handleError(function(arg0, arg1) {
|
|
193
197
|
const ret = Reflect.get(getObject(arg0), getObject(arg1));
|
|
@@ -234,6 +238,10 @@ function __wbg_get_imports() {
|
|
|
234
238
|
const ret = getObject(arg0).length;
|
|
235
239
|
return ret;
|
|
236
240
|
},
|
|
241
|
+
__wbg_new_0b303268aa395a38: function() {
|
|
242
|
+
const ret = new Array();
|
|
243
|
+
return addHeapObject(ret);
|
|
244
|
+
},
|
|
237
245
|
__wbg_new_20b778a4c5c691c3: function() {
|
|
238
246
|
const ret = new Object();
|
|
239
247
|
return addHeapObject(ret);
|
|
@@ -255,6 +263,10 @@ function __wbg_get_imports() {
|
|
|
255
263
|
__wbg_prototypesetcall_956c7493c68e29b4: function(arg0, arg1, arg2) {
|
|
256
264
|
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
|
|
257
265
|
},
|
|
266
|
+
__wbg_push_ceb8ef046afb2041: function(arg0, arg1) {
|
|
267
|
+
const ret = getObject(arg0).push(getObject(arg1));
|
|
268
|
+
return ret;
|
|
269
|
+
},
|
|
258
270
|
__wbg_set_a6ba3ac0e634b822: function() {
|
|
259
271
|
return handleError(function(arg0, arg1, arg2) {
|
|
260
272
|
const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
|
|
@@ -595,7 +607,11 @@ function wasmPackageToMaps(raw) {
|
|
|
595
607
|
for (const [name, asset] of Object.entries(raw.binaryAssets ?? {})) {
|
|
596
608
|
binaryAssets.set(name, toUint8Array(asset));
|
|
597
609
|
}
|
|
598
|
-
return {
|
|
610
|
+
return {
|
|
611
|
+
parts,
|
|
612
|
+
binaryAssets,
|
|
613
|
+
warnings: Array.isArray(raw.warnings) ? [...raw.warnings] : []
|
|
614
|
+
};
|
|
599
615
|
}
|
|
600
616
|
function mapsToWasmPackage(input) {
|
|
601
617
|
const parts = {};
|
|
@@ -609,7 +625,11 @@ function mapsToWasmPackage(input) {
|
|
|
609
625
|
for (const [name, asset] of input.binaryAssets.entries()) {
|
|
610
626
|
binaryAssets[name] = asset;
|
|
611
627
|
}
|
|
612
|
-
return {
|
|
628
|
+
return {
|
|
629
|
+
parts,
|
|
630
|
+
binaryAssets,
|
|
631
|
+
...input.warnings && input.warnings.length > 0 ? { warnings: [...input.warnings] } : {}
|
|
632
|
+
};
|
|
613
633
|
}
|
|
614
634
|
async function wasmParseDocx(bytes) {
|
|
615
635
|
await initWasm();
|
|
@@ -656,8 +676,8 @@ __export(src_exports, {
|
|
|
656
676
|
});
|
|
657
677
|
async function parseDocx(input) {
|
|
658
678
|
const wasmPackage = await wasmParseDocx(input);
|
|
659
|
-
const { parts, binaryAssets } = wasmPackageToMaps(wasmPackage);
|
|
660
|
-
return { parts, binaryAssets };
|
|
679
|
+
const { parts, binaryAssets, warnings } = wasmPackageToMaps(wasmPackage);
|
|
680
|
+
return { parts, binaryAssets, ...warnings.length > 0 ? { warnings } : {} };
|
|
661
681
|
}
|
|
662
682
|
async function packageToArrayBuffer(pkg) {
|
|
663
683
|
return wasmPackageToArrayBuffer(mapsToWasmPackage(pkg));
|
|
@@ -684,7 +704,8 @@ function withPart(pkg, part) {
|
|
|
684
704
|
parts.set(part.name, part);
|
|
685
705
|
return {
|
|
686
706
|
parts,
|
|
687
|
-
binaryAssets: new Map(pkg.binaryAssets)
|
|
707
|
+
binaryAssets: new Map(pkg.binaryAssets),
|
|
708
|
+
...pkg.warnings && pkg.warnings.length > 0 ? { warnings: [...pkg.warnings] } : {}
|
|
688
709
|
};
|
|
689
710
|
}
|
|
690
711
|
var WORD_MAIN_NS, DEFAULT_DOCUMENT_XML, DEFAULT_CONTENT_TYPES_XML, DEFAULT_ROOT_RELS_XML, DEFAULT_DOCUMENT_RELS_XML;
|
|
@@ -1310,7 +1331,8 @@ __export(src_exports2, {
|
|
|
1310
1331
|
async function buildDocModel(pkg) {
|
|
1311
1332
|
const wasmPackage = mapsToWasmPackage({
|
|
1312
1333
|
parts: pkg.parts,
|
|
1313
|
-
binaryAssets: pkg.binaryAssets
|
|
1334
|
+
binaryAssets: pkg.binaryAssets,
|
|
1335
|
+
warnings: pkg.warnings
|
|
1314
1336
|
});
|
|
1315
1337
|
const model = await wasmBuildDocModelFromPackage(wasmPackage);
|
|
1316
1338
|
return normalizeDocModel(model);
|
|
@@ -16572,14 +16594,53 @@ function resolveListParagraphIndent(paragraph, numberingDefinitions) {
|
|
|
16572
16594
|
hangingTwips: nextHangingTwips
|
|
16573
16595
|
};
|
|
16574
16596
|
}
|
|
16575
|
-
function
|
|
16597
|
+
function numberingIndentCandidateWidthPx(paragraph, numberingDefinitions) {
|
|
16576
16598
|
const resolvedIndent = resolveListParagraphIndent(
|
|
16577
16599
|
paragraph,
|
|
16578
16600
|
numberingDefinitions
|
|
16579
16601
|
);
|
|
16580
16602
|
const hangingIndentPx = twipsToSignedPixels(resolvedIndent?.hangingTwips);
|
|
16581
16603
|
const firstLineIndentPx = twipsToSignedPixels(resolvedIndent?.firstLineTwips);
|
|
16582
|
-
|
|
16604
|
+
return Number.isFinite(hangingIndentPx) && Math.abs(hangingIndentPx) > 0 ? Math.abs(hangingIndentPx) : Number.isFinite(firstLineIndentPx) && firstLineIndentPx < 0 ? Math.abs(firstLineIndentPx) : void 0;
|
|
16605
|
+
}
|
|
16606
|
+
function resolvedNumberingLevelForParagraph(paragraph, numberingDefinitions) {
|
|
16607
|
+
const numbering = paragraph.style?.numbering;
|
|
16608
|
+
if (!numberingDefinitions || !numbering || !Number.isFinite(numbering.numId) || numbering.numId <= 0) {
|
|
16609
|
+
return void 0;
|
|
16610
|
+
}
|
|
16611
|
+
const effectiveNumId = effectiveNumberingNumIdForParagraph(paragraph, numberingDefinitions) ?? numbering.numId;
|
|
16612
|
+
return findNumberingLevelDefinition(
|
|
16613
|
+
numberingDefinitions,
|
|
16614
|
+
effectiveNumId,
|
|
16615
|
+
Math.max(0, Math.round(numbering.ilvl ?? 0))
|
|
16616
|
+
);
|
|
16617
|
+
}
|
|
16618
|
+
function numberingTabAdvanceWidthPx(paragraph, numberingDefinitions, numberingLabel) {
|
|
16619
|
+
if (!numberingLabel?.text || numberingLabel.imageSrc || isTableOfContentsParagraph(paragraph)) {
|
|
16620
|
+
return void 0;
|
|
16621
|
+
}
|
|
16622
|
+
const level = resolvedNumberingLevelForParagraph(
|
|
16623
|
+
paragraph,
|
|
16624
|
+
numberingDefinitions
|
|
16625
|
+
);
|
|
16626
|
+
const suffix = level?.suffix ?? "tab";
|
|
16627
|
+
if (suffix !== "tab") {
|
|
16628
|
+
return void 0;
|
|
16629
|
+
}
|
|
16630
|
+
const labelWidthPx = Math.ceil(
|
|
16631
|
+
measureTextWidthPx2(
|
|
16632
|
+
numberingLabel.text.replace(/\t/g, " ").replace(/\u00a0/g, " "),
|
|
16633
|
+
numberingLabel.style,
|
|
16634
|
+
paragraphBaseFontSizePx(paragraph)
|
|
16635
|
+
)
|
|
16636
|
+
);
|
|
16637
|
+
return (Math.floor(labelWidthPx / DEFAULT_TAB_STOP_PX) + 1) * DEFAULT_TAB_STOP_PX;
|
|
16638
|
+
}
|
|
16639
|
+
function resolveNumberingMarkerBoxWidthPx(paragraph, numberingDefinitions, numberingLabel) {
|
|
16640
|
+
const candidateWidthPx = numberingIndentCandidateWidthPx(
|
|
16641
|
+
paragraph,
|
|
16642
|
+
numberingDefinitions
|
|
16643
|
+
);
|
|
16583
16644
|
const labelTextForWidth = numberingLabel?.imageSrc ? numberingLabel.trailingText ?? "" : numberingLabel?.text ?? "";
|
|
16584
16645
|
const normalizedLabelTextForWidth = labelTextForWidth.replace(/\t/g, " ").replace(/\u00a0/g, " ");
|
|
16585
16646
|
const measuredLabelWidthPx = normalizedLabelTextForWidth.length > 0 ? Math.ceil(
|
|
@@ -16605,6 +16666,18 @@ function resolveNumberingMarkerBoxWidthPx(paragraph, numberingDefinitions, numbe
|
|
|
16605
16666
|
tocMarkerTargetWidthPx
|
|
16606
16667
|
);
|
|
16607
16668
|
if (!Number.isFinite(candidateWidthPx) || candidateWidthPx < 8) {
|
|
16669
|
+
const tabAdvanceWidthPx = numberingTabAdvanceWidthPx(
|
|
16670
|
+
paragraph,
|
|
16671
|
+
numberingDefinitions,
|
|
16672
|
+
numberingLabel
|
|
16673
|
+
);
|
|
16674
|
+
if (tabAdvanceWidthPx !== void 0) {
|
|
16675
|
+
return clampNumber(
|
|
16676
|
+
Math.round(Math.max(tabAdvanceWidthPx, minimumVisualWidthPx)),
|
|
16677
|
+
8,
|
|
16678
|
+
220
|
|
16679
|
+
);
|
|
16680
|
+
}
|
|
16608
16681
|
return minimumVisualWidthPx > 0 ? clampNumber(Math.round(minimumVisualWidthPx), 8, 220) : void 0;
|
|
16609
16682
|
}
|
|
16610
16683
|
return Math.max(
|
|
@@ -16619,11 +16692,16 @@ function numberingMarkerStyle(paragraph, numberingDefinitions, numberingLabel, b
|
|
|
16619
16692
|
numberingLabel
|
|
16620
16693
|
);
|
|
16621
16694
|
const markerGapPx = isTableOfContentsParagraph(paragraph) ? 6 : markerBoxWidthPx ? 0 : 2;
|
|
16695
|
+
const tabSynthesized = markerBoxWidthPx !== void 0 && numberingIndentCandidateWidthPx(paragraph, numberingDefinitions) === void 0 && numberingTabAdvanceWidthPx(
|
|
16696
|
+
paragraph,
|
|
16697
|
+
numberingDefinitions,
|
|
16698
|
+
numberingLabel
|
|
16699
|
+
) !== void 0;
|
|
16622
16700
|
return {
|
|
16623
16701
|
...baseStyle ?? {},
|
|
16624
16702
|
display: "inline-flex",
|
|
16625
16703
|
alignItems: "baseline",
|
|
16626
|
-
justifyContent: "flex-end",
|
|
16704
|
+
justifyContent: tabSynthesized ? "flex-start" : "flex-end",
|
|
16627
16705
|
verticalAlign: "baseline",
|
|
16628
16706
|
width: markerBoxWidthPx ? `${markerBoxWidthPx}px` : void 0,
|
|
16629
16707
|
minWidth: markerBoxWidthPx ? `${markerBoxWidthPx}px` : "1.1em",
|
|
@@ -19646,40 +19724,157 @@ function numberToLetters(value) {
|
|
|
19646
19724
|
if (!Number.isFinite(value) || value <= 0) {
|
|
19647
19725
|
return "";
|
|
19648
19726
|
}
|
|
19649
|
-
|
|
19650
|
-
|
|
19651
|
-
|
|
19652
|
-
|
|
19653
|
-
|
|
19654
|
-
|
|
19727
|
+
const rounded = Math.floor(value);
|
|
19728
|
+
const letter = String.fromCharCode(65 + (rounded - 1) % 26);
|
|
19729
|
+
return letter.repeat(Math.floor((rounded - 1) / 26) + 1);
|
|
19730
|
+
}
|
|
19731
|
+
var CARDINAL_ONES = [
|
|
19732
|
+
"zero",
|
|
19733
|
+
"one",
|
|
19734
|
+
"two",
|
|
19735
|
+
"three",
|
|
19736
|
+
"four",
|
|
19737
|
+
"five",
|
|
19738
|
+
"six",
|
|
19739
|
+
"seven",
|
|
19740
|
+
"eight",
|
|
19741
|
+
"nine",
|
|
19742
|
+
"ten",
|
|
19743
|
+
"eleven",
|
|
19744
|
+
"twelve",
|
|
19745
|
+
"thirteen",
|
|
19746
|
+
"fourteen",
|
|
19747
|
+
"fifteen",
|
|
19748
|
+
"sixteen",
|
|
19749
|
+
"seventeen",
|
|
19750
|
+
"eighteen",
|
|
19751
|
+
"nineteen"
|
|
19752
|
+
];
|
|
19753
|
+
var CARDINAL_TENS = [
|
|
19754
|
+
"",
|
|
19755
|
+
"",
|
|
19756
|
+
"twenty",
|
|
19757
|
+
"thirty",
|
|
19758
|
+
"forty",
|
|
19759
|
+
"fifty",
|
|
19760
|
+
"sixty",
|
|
19761
|
+
"seventy",
|
|
19762
|
+
"eighty",
|
|
19763
|
+
"ninety"
|
|
19764
|
+
];
|
|
19765
|
+
var ORDINAL_ONES = [
|
|
19766
|
+
"zeroth",
|
|
19767
|
+
"first",
|
|
19768
|
+
"second",
|
|
19769
|
+
"third",
|
|
19770
|
+
"fourth",
|
|
19771
|
+
"fifth",
|
|
19772
|
+
"sixth",
|
|
19773
|
+
"seventh",
|
|
19774
|
+
"eighth",
|
|
19775
|
+
"ninth",
|
|
19776
|
+
"tenth",
|
|
19777
|
+
"eleventh",
|
|
19778
|
+
"twelfth",
|
|
19779
|
+
"thirteenth",
|
|
19780
|
+
"fourteenth",
|
|
19781
|
+
"fifteenth",
|
|
19782
|
+
"sixteenth",
|
|
19783
|
+
"seventeenth",
|
|
19784
|
+
"eighteenth",
|
|
19785
|
+
"nineteenth"
|
|
19786
|
+
];
|
|
19787
|
+
var ORDINAL_TENS = [
|
|
19788
|
+
"",
|
|
19789
|
+
"",
|
|
19790
|
+
"twentieth",
|
|
19791
|
+
"thirtieth",
|
|
19792
|
+
"fortieth",
|
|
19793
|
+
"fiftieth",
|
|
19794
|
+
"sixtieth",
|
|
19795
|
+
"seventieth",
|
|
19796
|
+
"eightieth",
|
|
19797
|
+
"ninetieth"
|
|
19798
|
+
];
|
|
19799
|
+
function numberToCardinalText(value) {
|
|
19800
|
+
if (value < 20) {
|
|
19801
|
+
return CARDINAL_ONES[value];
|
|
19802
|
+
}
|
|
19803
|
+
if (value < 100) {
|
|
19804
|
+
const tens = Math.floor(value / 10);
|
|
19805
|
+
const ones = value % 10;
|
|
19806
|
+
return ones === 0 ? CARDINAL_TENS[tens] : `${CARDINAL_TENS[tens]}-${CARDINAL_ONES[ones]}`;
|
|
19807
|
+
}
|
|
19808
|
+
if (value < 1e3) {
|
|
19809
|
+
const hundreds = Math.floor(value / 100);
|
|
19810
|
+
const rest = value % 100;
|
|
19811
|
+
const head = `${CARDINAL_ONES[hundreds]} hundred`;
|
|
19812
|
+
return rest === 0 ? head : `${head} ${numberToCardinalText(rest)}`;
|
|
19813
|
+
}
|
|
19814
|
+
return String(value);
|
|
19815
|
+
}
|
|
19816
|
+
function numberToOrdinalText(value) {
|
|
19817
|
+
if (value < 20) {
|
|
19818
|
+
return ORDINAL_ONES[value];
|
|
19819
|
+
}
|
|
19820
|
+
if (value < 100) {
|
|
19821
|
+
const tens = Math.floor(value / 10);
|
|
19822
|
+
const ones = value % 10;
|
|
19823
|
+
return ones === 0 ? ORDINAL_TENS[tens] : `${CARDINAL_TENS[tens]}-${ORDINAL_ONES[ones]}`;
|
|
19824
|
+
}
|
|
19825
|
+
if (value < 1e3) {
|
|
19826
|
+
const hundreds = Math.floor(value / 100);
|
|
19827
|
+
const rest = value % 100;
|
|
19828
|
+
return rest === 0 ? `${CARDINAL_ONES[hundreds]} hundredth` : `${CARDINAL_ONES[hundreds]} hundred ${numberToOrdinalText(rest)}`;
|
|
19829
|
+
}
|
|
19830
|
+
return String(value);
|
|
19831
|
+
}
|
|
19832
|
+
function numberToOrdinalDigits(value) {
|
|
19833
|
+
const mod100 = value % 100;
|
|
19834
|
+
if (mod100 >= 11 && mod100 <= 13) {
|
|
19835
|
+
return `${value}th`;
|
|
19836
|
+
}
|
|
19837
|
+
switch (value % 10) {
|
|
19838
|
+
case 1:
|
|
19839
|
+
return `${value}st`;
|
|
19840
|
+
case 2:
|
|
19841
|
+
return `${value}nd`;
|
|
19842
|
+
case 3:
|
|
19843
|
+
return `${value}rd`;
|
|
19844
|
+
default:
|
|
19845
|
+
return `${value}th`;
|
|
19655
19846
|
}
|
|
19656
|
-
return output;
|
|
19657
19847
|
}
|
|
19658
19848
|
function formatNumberingCounter(format, value) {
|
|
19659
|
-
if (!Number.isFinite(value) || value
|
|
19849
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
19660
19850
|
return "";
|
|
19661
19851
|
}
|
|
19852
|
+
const rounded = Math.round(value);
|
|
19662
19853
|
switch ((format ?? "decimal").toLowerCase()) {
|
|
19663
19854
|
case "decimal":
|
|
19664
|
-
return String(
|
|
19855
|
+
return String(rounded);
|
|
19856
|
+
case "decimalzero":
|
|
19857
|
+
return rounded < 10 ? `0${rounded}` : String(rounded);
|
|
19665
19858
|
case "upperroman":
|
|
19666
|
-
return numberToRoman(
|
|
19859
|
+
return rounded === 0 ? String(rounded) : numberToRoman(rounded);
|
|
19667
19860
|
case "lowerroman":
|
|
19668
|
-
return numberToRoman(
|
|
19861
|
+
return rounded === 0 ? String(rounded) : numberToRoman(rounded).toLowerCase();
|
|
19669
19862
|
case "upperletter":
|
|
19670
|
-
return numberToLetters(
|
|
19863
|
+
return rounded === 0 ? String(rounded) : numberToLetters(rounded);
|
|
19671
19864
|
case "lowerletter":
|
|
19672
|
-
return numberToLetters(
|
|
19865
|
+
return rounded === 0 ? String(rounded) : numberToLetters(rounded).toLowerCase();
|
|
19673
19866
|
case "ordinal":
|
|
19867
|
+
return numberToOrdinalDigits(rounded);
|
|
19674
19868
|
case "cardinaltext":
|
|
19869
|
+
return numberToCardinalText(rounded);
|
|
19675
19870
|
case "ordinaltext":
|
|
19676
|
-
return
|
|
19871
|
+
return numberToOrdinalText(rounded);
|
|
19677
19872
|
case "bullet":
|
|
19678
19873
|
return "\u2022";
|
|
19679
19874
|
case "none":
|
|
19680
19875
|
return "";
|
|
19681
19876
|
default:
|
|
19682
|
-
return String(
|
|
19877
|
+
return String(rounded);
|
|
19683
19878
|
}
|
|
19684
19879
|
}
|
|
19685
19880
|
function formatPageFieldValue(value, format) {
|
|
@@ -19794,10 +19989,10 @@ function numberingStartValue(numbering, numId, ilvl) {
|
|
|
19794
19989
|
const instance = numbering.instances.find((item) => item.numId === numId);
|
|
19795
19990
|
const override = instance?.levelStartOverrides?.[String(ilvl)];
|
|
19796
19991
|
if (Number.isFinite(override)) {
|
|
19797
|
-
return Math.max(
|
|
19992
|
+
return Math.max(0, Math.round(override));
|
|
19798
19993
|
}
|
|
19799
19994
|
const level = findNumberingLevelDefinition(numbering, numId, ilvl);
|
|
19800
|
-
if (Number.isFinite(level?.start) && level?.start
|
|
19995
|
+
if (Number.isFinite(level?.start) && level?.start >= 0) {
|
|
19801
19996
|
return Math.round(level?.start);
|
|
19802
19997
|
}
|
|
19803
19998
|
return 1;
|
|
@@ -19868,14 +20063,27 @@ function buildParagraphNumberingLabels(model) {
|
|
|
19868
20063
|
if (!template || template.trim().length === 0) {
|
|
19869
20064
|
return;
|
|
19870
20065
|
}
|
|
20066
|
+
const restartTriggerCeiling = (levelIndex) => {
|
|
20067
|
+
const rawRestart = findNumberingLevelDefinition(
|
|
20068
|
+
numbering,
|
|
20069
|
+
numId,
|
|
20070
|
+
levelIndex
|
|
20071
|
+
)?.lvlRestart;
|
|
20072
|
+
if (rawRestart === void 0 || !Number.isFinite(rawRestart) || Math.round(rawRestart) > levelIndex) {
|
|
20073
|
+
return levelIndex - 1;
|
|
20074
|
+
}
|
|
20075
|
+
const restart = Math.round(rawRestart);
|
|
20076
|
+
return restart <= 0 ? -1 : restart - 1;
|
|
20077
|
+
};
|
|
20078
|
+
const currentRestartCeiling = restartTriggerCeiling(ilvl);
|
|
19871
20079
|
const counters = countersByNumId.get(numId) ?? [];
|
|
19872
20080
|
const sharedAbstractCounters = Number.isFinite(abstractNumId) ? abstractCountersByAbstractNumId.get(abstractNumId) ?? [] : void 0;
|
|
19873
20081
|
let parentCountersChanged = false;
|
|
19874
20082
|
for (let index = 0; index < ilvl; index += 1) {
|
|
19875
|
-
const abstractCounterValue = sharedAbstractCounters && Number.isFinite(sharedAbstractCounters[index]) ? Math.max(
|
|
20083
|
+
const abstractCounterValue = sharedAbstractCounters && Number.isFinite(sharedAbstractCounters[index]) ? Math.max(0, Math.round(sharedAbstractCounters[index])) : void 0;
|
|
19876
20084
|
if (abstractCounterValue !== void 0) {
|
|
19877
20085
|
const previousCounter = counters[index];
|
|
19878
|
-
if (!Number.isFinite(previousCounter) || Math.max(
|
|
20086
|
+
if ((!Number.isFinite(previousCounter) || Math.max(0, Math.round(previousCounter)) !== abstractCounterValue) && index <= currentRestartCeiling) {
|
|
19879
20087
|
parentCountersChanged = true;
|
|
19880
20088
|
}
|
|
19881
20089
|
counters[index] = abstractCounterValue;
|
|
@@ -19888,7 +20096,9 @@ function buildParagraphNumberingLabels(model) {
|
|
|
19888
20096
|
const currentValue = parentCountersChanged ? void 0 : counters[ilvl];
|
|
19889
20097
|
counters[ilvl] = Number.isFinite(currentValue) ? currentValue + 1 : numberingStartValue(numbering, numId, ilvl);
|
|
19890
20098
|
for (let index = ilvl + 1; index < counters.length; index += 1) {
|
|
19891
|
-
|
|
20099
|
+
if (ilvl <= restartTriggerCeiling(index)) {
|
|
20100
|
+
counters[index] = void 0;
|
|
20101
|
+
}
|
|
19892
20102
|
}
|
|
19893
20103
|
countersByNumId.set(numId, counters);
|
|
19894
20104
|
if (sharedAbstractCounters && Number.isFinite(abstractNumId)) {
|
|
@@ -19896,7 +20106,9 @@ function buildParagraphNumberingLabels(model) {
|
|
|
19896
20106
|
sharedAbstractCounters[index] = counters[index];
|
|
19897
20107
|
}
|
|
19898
20108
|
for (let index = ilvl + 1; index < sharedAbstractCounters.length; index += 1) {
|
|
19899
|
-
|
|
20109
|
+
if (ilvl <= restartTriggerCeiling(index)) {
|
|
20110
|
+
sharedAbstractCounters[index] = void 0;
|
|
20111
|
+
}
|
|
19900
20112
|
}
|
|
19901
20113
|
abstractCountersByAbstractNumId.set(
|
|
19902
20114
|
abstractNumId,
|
|
@@ -19906,12 +20118,8 @@ function buildParagraphNumberingLabels(model) {
|
|
|
19906
20118
|
const label = template.replaceAll(/%(\d+)/g, (_, rawLevel) => {
|
|
19907
20119
|
const levelIndex = Math.max(0, Number(rawLevel) - 1);
|
|
19908
20120
|
const levelValue = counters[levelIndex];
|
|
19909
|
-
const safeValue = Number.isFinite(levelValue) ? Math.max(
|
|
19910
|
-
const levelFormat = findNumberingLevelDefinition(
|
|
19911
|
-
numbering,
|
|
19912
|
-
numId,
|
|
19913
|
-
levelIndex
|
|
19914
|
-
)?.format;
|
|
20121
|
+
const safeValue = Number.isFinite(levelValue) ? Math.max(0, Math.round(levelValue)) : numberingStartValue(numbering, numId, levelIndex);
|
|
20122
|
+
const levelFormat = level?.isLgl ? "decimal" : findNumberingLevelDefinition(numbering, numId, levelIndex)?.format;
|
|
19915
20123
|
return formatNumberingCounter(levelFormat, safeValue);
|
|
19916
20124
|
});
|
|
19917
20125
|
if (!label || label.trim().length === 0) {
|